Most users of the moteus brushless motor controller will perform
diagnostics and monitoring over CAN-FD, using something like
tview,
the moteus python
library or
the moteus C++
library.
These options are great, since CAN-FD works over long distances,
allows multiple devices to be multiplexed and is relatively immune to
EMI or other electrical disturbances. The biggest downside is that at
best, you can capture telemetry a few thousand times a second. For
instance here, 2.5kHz is the maximum achievable update
rate
with a pi3hat and a single moteus.
What should you do when you want to monitor events that happen faster than that? Well, moteus has a solution for that too, and while it isn’t nearly as convenient, it does get the job done for many uses. It is called “high rate debug output” and lets moteus emit small amounts of telemetry data at every single control cycle, so up to 30kHz. In this post I’ll show how to configure and use it, how to capture the resulting output, and how to plot it or otherwise make use of it.