Mambo state information


#21

@Nicolas Where is the documentation on talking to the mambo? I’ve gone through the samples and I found the parameters sent to the mambo but I cannot see where they are listening back from the FPV. Since I can’t hear anything back following the directions in the protocol documentation, I’m stumped. It will only listen to my first command and then it stops since I’m not sending ACKS to its data. But that is because it is being silent!


#22

Hi,

Since you got a proper response from the handshake, you should be getting data on UDP port 43210.

If you want a reference, I did a python implementation of the SDK (without video) while writing the protocol documentation, which can properly connect to a Mambo FPV via wifi. It might be a good starting point to check what is different in your implementation.

Regards,
Nicolas.


#23

@Nicolas Thank you! The key was one line. You are using:

    self._recv_sock.bind(('0.0.0.0', self._d2c_port))

and I was doing:

    self.udp_receive_sock.connect((self.drone_ip, self.udp_receive_port))

When I switched to your bind call, I am suddenly getting data back! Hooray!


#24

@Nicolas I am seeing a very odd behavior in the wifi control. When I send it a command, it will go into some sort of emergency mode where the eyes turn red and it simply stops. Usually it doesn’t even success in takeoff but just turns the motors on. Once it took off then entered emergency mode mid-air and simply fell out of the sky. The BLE controller would simply hover if it disconnected so I assume this is something I am doing wrong in my communications but I have no idea what it would be. Can you enlighten me? I’ve been reading your bybop code to see if we do anything different in our communication and I do not believe that we are. Btw, it is not low battery (usual red eye issue) because if you connect using the iPhone or even my BLE controller, it flies just fine on the same battery. It is only my wifi program that is having this trouble. And it isn’t distance or signal strength. Today it was literally sitting ON my laptop so it was inches from the wifi!


#25

@Nicolas Is there a way to change the update interval of the sensors? We are getting speed_x, speed_y, speed_z only every 500 ms, which is a huge interval for control. I am sure it is being computed internally more frequently. If there is a way to ask for feedback more frequently, perhaps in the json string, I would be very grateful.


#26

Bumping. @Nicolas or @Djavan. I updated to the new firmware today and it is pushing new state info that isn’t in the xml file but it still seems to be pushing at 2Hz. Can we somehow ask the mambo for at least 5 Hz?? It is really hard to do anything with 2 Hz :frowning:


#27

speaking of state… it would be really nice if the Mambo (it would be even nicer if it were all mini drones) correctly sent the ARCOMMANDS_MINIDRONE_PILOTINGSTATE_FLYINGSTATECHANGED_STATE_FLYING flyingState event.

I remember reporting this quite some time ago. All we get is the HOVERING state.


#28

I just wish we could get data more frequently. They haven’t even answered if it is possible :frowning: I’m sure it is computed internally more than 2 Hz! 5 Hz please??? 2 is too slow for decisions!


#29

I find the rate to be just fine over wifi. I’m guessing you’re struggling with BLE throughput.


#30

No. It is sending the estimated speed into at only 2Hz. twice a second. Are you getting it more often? I’m saving the timestamp in milliseconds and it is definitely 500ms or 1/2 second.


#31

Yeah, my results match. It would be nice to see it update more often. the refresh rate is considerably faster on the bebop.

12-23 12:41:10.244 8314-8610/.debug V/: onCommandReceived=ARCONTROLLER_DICTIONARY_KEY_MINIDRONE_NAVIGATIONDATASTATE_DRONEQUATERNION
12-23 12:41:10.698 8314-8610/.debug V/: onCommandReceived=ARCONTROLLER_DICTIONARY_KEY_MINIDRONE_NAVIGATIONDATASTATE_DRONEQUATERNION
12-23 12:41:11.192 8314-8610/.debug V/: onCommandReceived=ARCONTROLLER_DICTIONARY_KEY_MINIDRONE_NAVIGATIONDATASTATE_DRONEQUATERNION
12-23 12:41:11.693 8314-8610/.debug V/: onCommandReceived=ARCONTROLLER_DICTIONARY_KEY_MINIDRONE_NAVIGATIONDATASTATE_DRONEQUATERNION
12-23 12:41:12.202 8314-8610/.debug V/: onCommandReceived=ARCONTROLLER_DICTIONARY_KEY_MINIDRONE_NAVIGATIONDATASTATE_DRONEQUATERNION
12-23 12:41:12.706 8314-8610/.debug V/: onCommandReceived=ARCONTROLLER_DICTIONARY_KEY_MINIDRONE_NAVIGATIONDATASTATE_DRONEQUATERNION

and

12-23 12:41:10.180 8314-8610/.debug V/: onCommandReceived=ARCONTROLLER_DICTIONARY_KEY_MINIDRONE_NAVIGATIONDATASTATE_DRONESPEED
12-23 12:41:10.651 8314-8610/.debug V/: onCommandReceived=ARCONTROLLER_DICTIONARY_KEY_MINIDRONE_NAVIGATIONDATASTATE_DRONESPEED
12-23 12:41:11.145 8314-8610/.debug V/: onCommandReceived=ARCONTROLLER_DICTIONARY_KEY_MINIDRONE_NAVIGATIONDATASTATE_DRONESPEED
12-23 12:41:11.661 8314-8610/.debug V/: onCommandReceived=ARCONTROLLER_DICTIONARY_KEY_MINIDRONE_NAVIGATIONDATASTATE_DRONESPEED
12-23 12:41:12.146 8314-8610/.debug V/: onCommandReceived=ARCONTROLLER_DICTIONARY_KEY_MINIDRONE_NAVIGATIONDATASTATE_DRONESPEED
12-23 12:41:12.650 8314-8610/.debug V/: onCommandReceived=ARCONTROLLER_DICTIONARY_KEY_MINIDRONE_NAVIGATIONDATASTATE_DRONESPEED

#32

Exactly. I have been begging for a faster update on the mambo but no luck yet. Not sure if they have seen the thread.