PX4 / sapog

Sapog - advanced multiplatform ESC firmware
https://kb.zubax.com/x/cYAh
BSD 3-Clause "New" or "Revised" License
204 stars 142 forks source link

Maximum RPM Command Rate #45

Closed alspitz closed 4 years ago

alspitz commented 4 years ago

Does Sapog have any limitations on maximum RPM command rate over UAVCAN?

In the PX4 Firmware, there is a hardcoded 200 Hz limit in the uavcan code. I am able to send commands at around 500 Hz to four Kotleta20 ESCs, but when I attempt to send RPM commands at 1000 Hz, the ESCs will reboot after about 10 seconds of operation. After reboot, they work again for about 10 seconds, then reboot again. Occasionally, only one of the four ESCs on my quadrotor will reboot.

Is there a maximum rate at which Sapog can handle incoming commands without rebooting?

pavel-kirienko commented 4 years ago

Does Sapog have any limitations on maximum RPM command rate over UAVCAN?

Not explicitly, no. The implicit limit is due to the limited processing power available. By sending commands at 1000 Hz, you exhaust the available computing resources, causing CPU starvation in low-priority threads. Eventually, this leads to the watchdog timing out (the timeout is 10 seconds).

Things should improve after #42 is done. We could use help with that, by the way.