3 Commits
3 changed files with 44 additions and 13 deletions
+4 -4
View File
@@ -18,9 +18,9 @@ private:
State* current_state; State* current_state;
State* initialization_state; State& initialization_state;
State* operational_state; State& operational_state;
State* stopped_state; State& stopped_state;
RotaryEncoderDriver& encoder; RotaryEncoderDriver& encoder;
MotorDriver& motor; MotorDriver& motor;
@@ -38,7 +38,7 @@ public:
P_controller& controller, P_controller& controller,
State& initialization, State& initialization,
State& operational, State& operational,
state& stopped State& stopped
); );
+7 -7
View File
@@ -33,7 +33,8 @@ MotorController motor_controller(
motor, motor,
controller, controller,
initialization_state, initialization_state,
operational_state operational_state,
stopped_state
); );
@@ -52,12 +53,11 @@ int main()
sei(); sei();
// motor_controller.set_states(
motor_controller.set_states( // &initialization_state,
&initialization_state, // &operational_state,
&operational_state, // &stopped_state
&stopped_state // );
);
motor_controller.begin(); motor_controller.begin();
+32 -1
View File
@@ -9,7 +9,8 @@ MotorController::MotorController(
MotorDriver& motor, MotorDriver& motor,
P_controller& controller, P_controller& controller,
State& initialization, State& initialization,
State& operational State& operational,
State& stopped
) )
: current_state(nullptr), : current_state(nullptr),
initialization_state(initialization), initialization_state(initialization),
@@ -23,9 +24,22 @@ MotorController::MotorController(
{ {
initialization_state.set_context(this); initialization_state.set_context(this);
operational_state.set_context(this); operational_state.set_context(this);
stopped_state.set_context(this);
} }
// void MotorController::set_states(
// State* initialization,
// State* operational,
// State* stopped
// )
// initialization_state = initialization;
// operational_state = operational;
// stopped_state = stopped;
void MotorController::begin() void MotorController::begin()
{ {
led.init(); led.init();
@@ -106,6 +120,8 @@ void MotorController::reset_speed_measurement()
encoder.reset_speed_measurement(); encoder.reset_speed_measurement();
} }
<<<<<<< HEAD
=======
void MotorController::led_on() void MotorController::led_on()
{ {
@@ -117,6 +133,7 @@ void MotorController::led_off()
{ {
led.set_lo(); led.set_lo();
} }
>>>>>>> 1d93605cc37a81ea974c12e62c082be19acdb715
void MotorController::to_stopped() void MotorController::to_stopped()
{ {
transition_to(stopped_state); transition_to(stopped_state);
@@ -126,3 +143,17 @@ bool MotorController::fault_active()
{ {
return motor.fault_active(); return motor.fault_active();
} }
<<<<<<< HEAD
void MotorController::led_on()
{
led.set_hi();
}
void MotorController::led_off()
{
led.set_lo();
}
=======
>>>>>>> 1d93605cc37a81ea974c12e62c082be19acdb715