🚌 Adds eventbus with bluetooth adapter

This commit is contained in:
Rune Harlyk
2025-07-08 01:25:35 +02:00
parent 01d46f283b
commit 06b05b2dc1
12 changed files with 532 additions and 1 deletions
+17
View File
@@ -0,0 +1,17 @@
#pragma once
#include <ArduinoJson.h>
struct CommandMsg {
float x, y;
friend void toJson(JsonVariant v, CommandMsg const &c) {
JsonArray arr = v.to<JsonArray>();
arr.add(c.x);
arr.add(c.y);
}
void fromJson(JsonVariantConst o) {
JsonArrayConst arr = o.as<JsonArrayConst>();
x = arr[0].as<float>();
y = arr[1].as<float>();
}
};
+18
View File
@@ -0,0 +1,18 @@
#pragma once
#include <ArduinoJson.h>
struct ImuMsg {
float ypr[3];
friend void toJson(JsonVariant v, ImuMsg const &a) {
JsonArray arr = v.to<JsonArray>();
arr.add(a.ypr[0]);
arr.add(a.ypr[1]);
arr.add(a.ypr[2]);
}
void fromJson(JsonVariantConst o) {
JsonArrayConst arr = o.as<JsonArrayConst>();
ypr[0] = arr[0].as<float>();
ypr[1] = arr[1].as<float>();
ypr[2] = arr[2].as<float>();
}
};
+10
View File
@@ -0,0 +1,10 @@
#pragma once
#include <ArduinoJson.h>
enum class MotionState { ON, OFF };
struct ModeMsg {
MotionState mode;
friend void toJson(JsonVariant v, ModeMsg const &m) { v.set(static_cast<int>(m.mode)); }
void fromJson(JsonVariantConst o) { mode = (MotionState)o.as<int>(); }
};
+4
View File
@@ -0,0 +1,4 @@
#define TOPIC_LIST \
X(Imu, ImuMsg) \
X(Mode, ModeMsg) \
X(Command, CommandMsg)