From ff555c7a9ad7cb07363a06537d728f4965635ca9 Mon Sep 17 00:00:00 2001 From: KonradIT Date: Wed, 15 Jan 2025 23:07:49 +0100 Subject: [PATCH] Receive a heading from serial (rpi > fc) --- lib/comms/comms.cpp | 8 ++++++++ lib/comms/comms.h | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/comms/comms.cpp b/lib/comms/comms.cpp index 48dfae6..b4824b7 100644 --- a/lib/comms/comms.cpp +++ b/lib/comms/comms.cpp @@ -392,6 +392,14 @@ Message *_parsePacket(String p) return m; } + if (cmd.equalsIgnoreCase("heading")) + { + Message *m = new Message(); + m->type = MessageType::HEADING; + m->payload.heading.heading = _intParam(p, 0); + return m; + } + return NULL; } diff --git a/lib/comms/comms.h b/lib/comms/comms.h index 47451ba..2b5124a 100644 --- a/lib/comms/comms.h +++ b/lib/comms/comms.h @@ -26,7 +26,8 @@ enum MessageType SCAN_RESULT, SCAN_MAX_RESULT, CONFIG_TASK, - _MAX_MESSAGE_TYPE = CONFIG_TASK + HEADING, + _MAX_MESSAGE_TYPE = HEADING }; enum ConfigTaskType @@ -65,6 +66,11 @@ struct ConfigTask ConfigTaskType task_type; }; +struct Heading +{ + int16_t heading; +}; + struct Message { MessageType type; @@ -74,6 +80,7 @@ struct Message ConfigTask config; ScanTask scan; ScanTaskResult dump; + Heading heading; } payload; ~Message();