Work on sensor

This commit is contained in:
2026-01-08 15:46:39 -05:00
parent f1b7c6fced
commit c289a641df
14 changed files with 165 additions and 67 deletions

View File

@@ -12,10 +12,12 @@ public:
DCMotorActuator();
~DCMotorActuator() override;
void actuate(uint8_t *cmd) override;
std::vector<Flatbuffers::SensorValueInstance> get_sensor_data() override;
private:
void setup_encoder();
static void pid_task(char* args);
double m_current_angle;
int64_t m_target_angle;
TaskHandle_t m_pid_task;

View File

@@ -5,10 +5,16 @@
#ifndef IACTUATOR_H
#define IACTUATOR_H
#include <vector>
#include "SensorMessageBuilder.h"
class IActuator {
public:
virtual ~IActuator() {}
virtual void actuate(uint8_t *cmd) = 0;
virtual std::vector<Flatbuffers::SensorValueInstance> get_sensor_data() = 0;
};
#endif //IACTUATOR_H

View File

@@ -15,6 +15,9 @@ class Servo1Actuator final : public IActuator {
public:
Servo1Actuator();
void actuate(std::uint8_t *cmd) override;
std::vector<Flatbuffers::SensorValueInstance> get_sensor_data() override;
private:
uint16_t m_target = 90;
};
#endif //SERVO1ACTUATOR_H