Bebop 2 sensor parsing


@Nicolas or @Djavan. What xml files is the Bebop 2 using for its commands and sensors? I assumed ardrone3.xml and common.xml but it seems to be sending me additional data that I can’t find in an xml file. Specifically with project id of 21 and 22. I don’t see those in the xml files so I assume I’m missing something in my understanding. I looked at this:

But that only references an enum ARCONTROLLER_DICTIONARY_KEY_ENUM and not which xml files these come from. Is the latest SDK missing an xml file or am I misunderstanding what all the data is that is coming in?



Bumping this as I still don’t know what those extra sensors are since they don’t match any of the XML files. Thanks!


Hum …

I’m pretty sure that there is no command with either 21 or 22 in the project_id field.

A first guess would be that you’re off by one byte in your input and you’re either reading a byte from the ARNetwork header, or directly the class_id instead of the project_id of the command. 22 would be a valid class_id for commands received from the drone (ardrone3.xml, MediaStreamingState class is 22).



@Nicolas Thank you. I’ve spent awhile staring at your ByBop code and my code side by side, to figure out how they were parsing differently. I fixed a few off by one errors in my packets, which is good. For the odd packets I’m seeing now, they are always coming after a ping packet (buffer id of 0). So I receive the ping, I parse it, and then the next part of the packet is a frame that seems to contain only a counter that increments with each ping. Does this make sense? If so, I’m going to simply ignore the rest of the packet when it comes with a ping at the front.


@Nicolas I found my bug! It turns out that the ACK packets tend to come with extra data (more frames in the packet). I had a bug on the parsing of multiple frames. All fixed now :slight_smile: I’m going to test the bebop code tomorrow for actual flying. My wifi code is working great for the mambo and I’m hoping to release the whole thing soon.