34 PID_t *pid,
int pwm_channel,
int phase_pin,
37void SetPhase(
float u, uint32_t motor_phase_pin);
38bool HomeFinger(uint32_t enc, uint32_t home_target,
39 int pwm_channel,
int phase_pin);
48extern PID_t pid_thumb;
49extern PID_t pid_index;
50extern PID_t pid_middle;
52extern PID_t pid_pinkie;
Hardware configuration, calibration values, and shared data types.
void PID_Reset(PID_t *pid)
Reset a PID controller's internal state.
Definition pid.cpp:62
void SetPhase(float u, uint32_t motor_phase_pin)
Set motor direction based on signed control effort.
Definition pid.cpp:103
bool HomeFinger(uint32_t enc, uint32_t home_target, int pwm_channel, int phase_pin)
Home a single finger motor to a reference position.
Definition pid.cpp:160
void InitPIDs()
Initialize all PID controllers used by the robotic hand.
Definition pid.cpp:44
void PositionControlFinger(uint32_t enc, uint32_t target, PID_t *pid, int pwm_channel, int phase_pin, float dt)
Perform PID-based position control for a single finger motor.
Definition pid.cpp:122
PID controller state structure.
Definition pid.h:23