15#if defined(ARDUINO_TEENSY36) || defined(ARDUINO_TEENSY41)
40 Leg(
bool is_left,
ExoData* exo_data);
50 void check_calibration();
62 void update_motor_cmds();
67 void set_controller(
int joint,
int controller);
72 void clear_step_time_estimate();
78 void disable_motors();
80 float get_Kt_for_joint(uint8_t
id);
87 void _check_thresholds();
96 float _calc_percent_gait();
105 float _calc_percent_stance();
114 float _calc_percent_swing();
122 float _update_expected_duration();
130 float _update_expected_stance_duration();
138 float _update_expected_swing_duration();
147 bool _check_ground_strike();
156 bool _check_toe_on();
157 bool _check_toe_off();
178 bool _prev_heel_contact_state;
179 bool _prev_toe_contact_state;
181 bool _prev_toe_contact_state_toe_off;
182 bool _prev_toe_contact_state_toe_on;
184 static const uint8_t _num_steps_avg = 3;
185 unsigned int _step_times[_num_steps_avg];
187 unsigned int _stance_times[_num_steps_avg];
188 unsigned int _swing_times[_num_steps_avg];
190 unsigned int _ground_strike_timestamp;
191 unsigned int _prev_ground_strike_timestamp;
192 unsigned int _expected_step_duration;
194 unsigned int _toe_strike_timestamp;
195 unsigned int _prev_toe_strike_timestamp;
196 unsigned int _expected_stance_duration;
197 unsigned int _toe_off_timestamp;
198 unsigned int _prev_toe_off_timestamp;
199 unsigned int _expected_swing_duration;
Declares for the different controllers the exo can use. Controllers should inherit from _Controller c...
Declares a class used to interface with a force sensitive resistor.
Declares a class for controlling and reading sensors for a joint.
Declares the functions needed and defines mapping between the INI keys and the exo components.
Stores the different status messages for the system.
Class to store all the data related to the exo.
Definition ExoData.h:38
Given stance and ankle angle data, return the current estimate of inclination.
Definition InclinationDetector.h:19
class to store information related to the leg.
Definition LegData.h:30