@Nicolas and @Djavan I am stumped on getting the wifi packets right to the Mambo (and also the Bebop, I tried there and failed as well). As you know, my BLE Mambo interface works well and I can control the mambo using BLE. I’ve been trying to get the wifi interface working and the only thing I can get the Mambo to do is to turn its eyes red and refuse to take off. I’ve read the bybop code and the arsdkparser to ensure that my parser is doing the same thing but it comes down to a clear mis-understanding between the documentation on packets for wifi and what the Mambo actually wants. So I need some help! Thank you in advance!!
Here is my send command:
(4, 11, 1, 10, 2, 0, 1)
It is sent using:
self.udp_send_sock.sendto(packet, (self.drone_ip, self.udp_send_port))
My understanding of your protocol documentation says this packet means:
4 is the data type (and 4 specifically means a command that should be ACK’d by the drone and is used for all commands except PCMD)
11 is the buffer id for sending with an ack requested
1 is the sequence id for this buffer (e.g. first packet I sent)
10 is the full size of the frame
2 is the id of mini drone.xml project
0 is the id for the Piloting class
1 is the id for the takeoff command
These are packed using <BBBIBBH, which is how you packed in your bybop code. The Mambo is getting the data but it doesn’t do anything with it other than turn its eyes red. The batteries are full. I can immediately disconnect from the laptop and fly it just fine from the iPhone app. I assume I’m missing something in my understanding of the packet but I cannot find it in your code or the documentation. Help?