Hehe, that thing with goto's was pretty much a joke, for fun.
I just though some day I'm gonna use it.
No, don't look at that. That old code was actually working but was missing a lot of packets and didn't let you talk to the CHR6DM, only read it if it was set in broadcast mode. I and a guy called Lokling has written a complete protocol .h file to interface with the CHR6DM using a Arduino Mega Serial1 which works just like the PC interface program, so you can do everything with settings and read everything and such.
This is the code I'm talking about which works really really great. It is implemented as a C++ class:https://github.com/AeroQuad/AeroQuad/blob/master/CHR6DM.h
You might wanna make it a library instead. For use, read the .h file and the relevant parts of the other code on how to use it (making the object and calling the accessors/mutators).
Here's how it flies: