Mats

5 years ago

Speed control was implemented in Adafruit16CServodriver several years ago, so this is not a true representation, unless somebody removed it.

Yes its still there Mats, I suspected you had done it - but forgot to check in detail. Thanks.
I'll update the diagram to show we have 2 choices for Adafruit16CServoDriver.  I'm interested in what features you implemented with your speed control - Anything we can "push up" into AbstractServoControl could be shared with controllers which do not currently implement it.

I think the most useful part is that it publishes the inbetween values sent to the board. That makes it possible for other services, like the virtual InMoov to move smoothly. Without it the simulation would move directly to the end position.

I updated the diagram without coffee and very early in the morning - so  let me know if you see other mistakes or have more suggestions.  Thanks for your great work Mats !

The servo control and controller now communcate through the frameworks pub/sub on my branch, and I still have some outstanding work items (such as the config useServoControllerSpeedControl) ....

Taking inventory it looks like we have 4 known implementations of speed control

  • MrlComm
  • Adafruit16CServoController
  • JME Interpolator
  • TimeEncoder