Nýtt branch og kóðar plús breytingar á fyrri kóðum fyrir part 4

This commit is contained in:
2026-10-01 12:55:11 +00:00
parent bf389cd012
commit a5c2da8bae
10 changed files with 144 additions and 1 deletions
+8
View File
@@ -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();
+10
View File
@@ -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
+2
View File
@@ -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
+21
View File
@@ -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