Originally Posted by Lorenzo29
How do you log navdata... ?
I have a projet to stabilyze horizontaly a FPV cam by reading the pitch navdata info and then setting a tilt servo with the arduino...
I went through the AR.drone sdk, and I examined a code in java from mapgps... So I have some clue about it, but if you already did the routine in your code to read and exploit the navdata, I would be very interesting to have some info to find it in your code...
check linux/drdat.c in drs003.zip, it knows how to get command data from 'at2so', navdata and video data from drone that runs 1.5.1 . 1.4.6/7 interface is not implemented, but no problem.
In a nutshell (1.5.1): Make a UDP socket and send a little endian binary 1 to the navdata port of the drone (4 bytes), it will send navdata back to the port where the 1 came from. If you send a binary 2, it will broadcast navdata to multicast address 126.96.36.199:5554 so you can have multiple observers. Same applies to the video port 5556.
On 1.4.6/7 the destination port of nav/vid-data is 5554/6, which is not a problem if you are on a computer different from drone. On the drone these port numbers are occupied by the firmware.
The problem you will be facing is that you can't really talk to the 16Mhz Arduino at 115200 unless you spoon feed it 1 byte at a time (see NOTES USART). Best solution is to change the crystal. Second best would be to have the rx2atp/at2so pair change speed of the tty to something the Arduino receiver can handle.
Have you tried rev 0.03 yet?