From a592848f342f39d340bf255c6de78a83a5c22fc0 Mon Sep 17 00:00:00 2001 From: Rune Harlyk Date: Tue, 8 Jul 2025 15:20:01 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Adds=20new=20messages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- esp32/include/msgs/mode_msg.hpp | 2 +- esp32/include/msgs/servo_msg.hpp | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 esp32/include/msgs/servo_msg.hpp diff --git a/esp32/include/msgs/mode_msg.hpp b/esp32/include/msgs/mode_msg.hpp index 4e93ad4..1b2125c 100644 --- a/esp32/include/msgs/mode_msg.hpp +++ b/esp32/include/msgs/mode_msg.hpp @@ -1,7 +1,7 @@ #pragma once #include -enum class MotionState { ON, OFF }; +enum class MotionState { DEACTIVATED, IDLE, CALIBRATION, REST, STAND, CRAWL, WALK }; struct ModeMsg { MotionState mode; diff --git a/esp32/include/msgs/servo_msg.hpp b/esp32/include/msgs/servo_msg.hpp new file mode 100644 index 0000000..5a3e8df --- /dev/null +++ b/esp32/include/msgs/servo_msg.hpp @@ -0,0 +1,22 @@ +#pragma once +#include + +#ifndef NUM_SERVOS +#define NUM_SERVOS 12 +#endif + +struct ServoMsg { + float angles[NUM_SERVOS]; + friend void toJson(JsonVariant v, ServoMsg const &a) { + JsonArray arr = v.to(); + for (int i = 0; i < NUM_SERVOS; i++) { + arr.add(a.angles[i]); + } + } + void fromJson(JsonVariantConst o) { + JsonArrayConst arr = o.as(); + for (int i = 0; i < NUM_SERVOS; i++) { + angles[i] = arr[i].as(); + } + } +}; \ No newline at end of file