✨ Moves servo event to main
This commit is contained in:
@@ -20,9 +20,6 @@
|
|||||||
#define FACTORY_SERVO_OSCILLATOR_FREQUENCY 27000000
|
#define FACTORY_SERVO_OSCILLATOR_FREQUENCY 27000000
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define EVENT_SERVO_CONFIGURATION_SETTINGS "servoPWM"
|
|
||||||
#define EVENT_SERVO_STATE "servoState"
|
|
||||||
|
|
||||||
enum class SERVO_CONTROL_STATE { DEACTIVATED, PWM, ANGLE };
|
enum class SERVO_CONTROL_STATE { DEACTIVATED, PWM, ANGLE };
|
||||||
|
|
||||||
class ServoController : public StatefulService<ServoSettings> {
|
class ServoController : public StatefulService<ServoSettings> {
|
||||||
@@ -32,16 +29,9 @@ class ServoController : public StatefulService<ServoSettings> {
|
|||||||
_persistence(ServoSettings::read, ServoSettings::update, this, SERVO_SETTINGS_FILE) {}
|
_persistence(ServoSettings::read, ServoSettings::update, this, SERVO_SETTINGS_FILE) {}
|
||||||
|
|
||||||
void begin() {
|
void begin() {
|
||||||
// socket.onEvent(EVENT_SERVO_CONFIGURATION_SETTINGS,
|
|
||||||
// [&](JsonVariant &root, int originId) { servoEvent(root, originId); });
|
|
||||||
// socket.onEvent(EVENT_SERVO_STATE, [&](JsonVariant &root, int originId) { stateUpdate(root, originId); });
|
|
||||||
_persistence.readFromFS();
|
_persistence.readFromFS();
|
||||||
|
|
||||||
initializePCA();
|
initializePCA();
|
||||||
// socket.onEvent(EVENT_SERVO_STATE, [&](JsonVariant &root, int originId) {
|
|
||||||
// is_active = root["active"] | false;
|
|
||||||
// is_active ? activate() : deactivate();
|
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void pcaWrite(int index, int value) {
|
void pcaWrite(int index, int value) {
|
||||||
|
|||||||
@@ -76,6 +76,8 @@ void setupServer() {
|
|||||||
#define MODE_EVENT "mode"
|
#define MODE_EVENT "mode"
|
||||||
#define WALK_GAIT_EVENT "walk_gait"
|
#define WALK_GAIT_EVENT "walk_gait"
|
||||||
#define EVENT_I2C_SCAN "i2cScan"
|
#define EVENT_I2C_SCAN "i2cScan"
|
||||||
|
#define EVENT_SERVO_CONFIGURATION_SETTINGS "servoPWM"
|
||||||
|
#define EVENT_SERVO_STATE "servoState"
|
||||||
|
|
||||||
void setupEventSocket() {
|
void setupEventSocket() {
|
||||||
// Motion events
|
// Motion events
|
||||||
@@ -96,6 +98,17 @@ void setupEventSocket() {
|
|||||||
peripherals.getI2CResult(results);
|
peripherals.getI2CResult(results);
|
||||||
socket.emit(EVENT_I2C_SCAN, results);
|
socket.emit(EVENT_I2C_SCAN, results);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Servo controller events
|
||||||
|
socket.onEvent(EVENT_SERVO_CONFIGURATION_SETTINGS,
|
||||||
|
[&](JsonVariant &root, int originId) { servoController.servoEvent(root, originId); });
|
||||||
|
socket.onEvent(EVENT_SERVO_STATE,
|
||||||
|
[&](JsonVariant &root, int originId) { servoController.stateUpdate(root, originId); });
|
||||||
|
|
||||||
|
socket.onEvent(EVENT_SERVO_STATE, [&](JsonVariant &root, int originId) {
|
||||||
|
const bool is_active = root["active"] | false;
|
||||||
|
is_active ? servoController.activate() : servoController.deactivate();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void IRAM_ATTR SpotControlLoopEntry(void *) {
|
void IRAM_ATTR SpotControlLoopEntry(void *) {
|
||||||
|
|||||||
Reference in New Issue
Block a user