Nýtt branch og kóðar plús breytingar á fyrri kóðum fyrir part 4
This commit is contained in:
@@ -19,6 +19,7 @@ private:
|
||||
State* current_state;
|
||||
|
||||
State& initialization_state;
|
||||
State& pre_operational_state;
|
||||
State& operational_state;
|
||||
State& stopped_state;
|
||||
|
||||
@@ -37,6 +38,7 @@ public:
|
||||
MotorDriver& motor,
|
||||
P_controller& controller,
|
||||
State& initialization,
|
||||
State& pre_operational,
|
||||
State& operational,
|
||||
State& stopped
|
||||
);
|
||||
@@ -53,6 +55,8 @@ public:
|
||||
|
||||
void to_initialization();
|
||||
|
||||
void to_pre_operational();
|
||||
|
||||
void to_operational();
|
||||
|
||||
void to_stopped();
|
||||
@@ -68,6 +72,10 @@ public:
|
||||
|
||||
void reset_controller();
|
||||
|
||||
void set_Kp(double value);
|
||||
|
||||
void set_Ti(double value);
|
||||
|
||||
void led_on();
|
||||
|
||||
void led_off();
|
||||
|
||||
@@ -11,6 +11,16 @@ public:
|
||||
virtual ~P_controller() {}
|
||||
virtual double update(double ref, double actual);
|
||||
virtual void reset() {}
|
||||
|
||||
virtual void set_Kp(double value)
|
||||
{
|
||||
Kp = value;
|
||||
}
|
||||
|
||||
virtual void set_Ti(double value)
|
||||
{
|
||||
// P controller does not use Ti
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -16,6 +16,8 @@ class PI_controller : public P_controller
|
||||
PI_controller(double Kp, double Ti, double T);
|
||||
double update(double ref, double actual) override;
|
||||
void reset() override;
|
||||
|
||||
void set_Ti(double value) override;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#ifndef PRE_OPERATIONAL_STATE_H
|
||||
#define PRE_OPERATIONAL_STATE_H
|
||||
|
||||
#include "state.h"
|
||||
|
||||
class PreOperationalState : public State
|
||||
{
|
||||
private:
|
||||
unsigned long previous_time;
|
||||
bool led_state;
|
||||
|
||||
public:
|
||||
PreOperationalState();
|
||||
|
||||
void enter() override;
|
||||
void update() override;
|
||||
void command(char c) override;
|
||||
void exit() override;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user