Gear Controller¶
For the GearController is currently one applications available:
- Firmware (folder:
/gear_controller_simple)
Firmware Tasks¶
- Cyphal Publishers
- 2x Servo state messages + Gear Controller state (overall) message
- Cyphal Receiver classes to receive GearState (deprecated message type from MB) and GearCommand messages
- Hardware Interface helpers
- PWM: ramping setpoints linearly
- QDec: counting rotations when overflown, returning rad instead Zephyr driver's degree
- LED: simple blinking by PWM
- Gear Controller state machine
- setter functions to move to extend or retract positions
- 2x Axis state machines (each with one servo motor), checking if endpoints are reached individually
- Update of Servo related analog read outs
Utilized Library¶
- Cyphal Library (Registry, ...)
- Interface definition for PWM Output and QDec Input
- Servo class (consisting of 2x PWM Output, a QDec Input, a current ADC monitoring device, and a v12 getter)
- update function to read out input channels
- getter for states (e.g. isStalled, current, qdec position)
- stepper helper function for fixed gear shaft rotation amount (workqueue task)