Leggja lokahönd á verkefnið og plot-a fleiri myndir

This commit is contained in:
2026-10-03 20:31:07 +00:00
parent c5616870eb
commit 93378fd928
12 changed files with 152 additions and 71 deletions
+13 -2
View File
@@ -25,12 +25,16 @@ private:
RotaryEncoderDriver& encoder;
MotorDriver& motor;
P_controller& controller;
P_controller* controller;
Digital_out led;
double reference_rpm;
// Síðasta sýni, notað fyrir CSV-útprentun
double last_actual_rpm;
double last_pwm;
public:
MotorController(
@@ -64,7 +68,12 @@ public:
bool fault_active();
void run_speed_controller();
// Skilar true þegar nýtt sýni var keyrt í gegnum stýringuna
bool run_speed_controller();
double get_reference_rpm() const { return reference_rpm; }
double get_actual_rpm() const { return last_actual_rpm; }
double get_pwm() const { return last_pwm; }
void stop_motor();
@@ -76,6 +85,8 @@ public:
void set_Ti(double value);
void set_controller(P_controller& new_controller);
void led_on();
void led_off();
+10
View File
@@ -2,10 +2,20 @@
#define OPERATIONAL_STATE_H
#include "state.h"
#include <stdint.h>
// Sett á 1 til að prenta CSV (time_ms,ref_rpm,actual_rpm,pwm) í Operational,
// t.d. fyrir step og load response. Einnig hægt með build_flags = -D LOG_CSV=1
#ifndef LOG_CSV
#define LOG_CSV 0
#endif
class OperationalState : public State
{
private:
uint32_t sample_count = 0;
public:
void enter() override;
+7 -1
View File
@@ -4,9 +4,15 @@
#include "state.h"
#include "stdint.h"
class P_controller;
class PreOperationalState : public State
{
private:
P_controller& p_controller;
P_controller& pi_controller;
bool pi_selected;
unsigned long previous_time;
bool led_state;
@@ -26,7 +32,7 @@ private:
uint8_t input_index;
public:
PreOperationalState();
PreOperationalState(P_controller& p_controller, P_controller& pi_controller);
void enter() override;
void update() override;