aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/hott/messages.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/hott/messages.h')
-rw-r--r--src/drivers/hott/messages.h34
1 files changed, 7 insertions, 27 deletions
diff --git a/src/drivers/hott/messages.h b/src/drivers/hott/messages.h
index dce90f273..451bee91c 100644
--- a/src/drivers/hott/messages.h
+++ b/src/drivers/hott/messages.h
@@ -119,23 +119,16 @@ struct eam_module_msg {
uint8_t checksum; /**< Lower 8-bits of all bytes summed. */
};
-/**
- * The maximum buffer size required to store an Electric Air Module message.
- */
-#define EAM_MESSAGE_BUFFER_SIZE sizeof(union { \
- struct eam_module_msg eam; \
-})
-
/* General Air Module (GAM) constants. */
#define GAM_SENSOR_ID 0x8d
#define GAM_SENSOR_TEXT_ID 0xd0
struct gam_module_msg {
- uint8_t start_byte; // start byte constant value 0x7c
+ uint8_t start; // start byte constant value 0x7c
uint8_t gam_sensor_id; // EAM sensort id. constat value 0x8d
uint8_t warning_beeps; // 1=A 2=B ... 0x1a=Z 0 = no alarm
- uint8_t sensor_id; // constant value 0xd0
+ uint8_t sensor_text_id; // constant value 0xd0
uint8_t alarm_invers1; // alarm bitmask. Value is displayed inverted
uint8_t alarm_invers2; // alarm bitmask. Value is displayed inverted
uint8_t cell1; // cell 1 voltage lower value. 0.02V steps, 124=2.48V
@@ -180,14 +173,6 @@ struct gam_module_msg {
uint8_t checksum; // checksum
};
-/**
- * The maximum buffer size required to store a General Air Module message.
- */
-#define GAM_MESSAGE_BUFFER_SIZE sizeof(union { \
- struct gam_module_msg gam; \
-})
-
-
/* GPS sensor constants. */
#define GPS_SENSOR_ID 0x8a
#define GPS_SENSOR_TEXT_ID 0xa0
@@ -247,20 +232,15 @@ struct gps_module_msg {
uint8_t checksum; /**< Byte 45: Parity Byte */
};
-/**
- * The maximum buffer size required to store a HoTT message.
- */
-#define GPS_MESSAGE_BUFFER_SIZE sizeof(union { \
- struct gps_module_msg gps; \
-})
-
-#define MESSAGE_BUFFER_SIZE GPS_MESSAGE_BUFFER_SIZE
+// The maximum size of a message.
+#define MAX_MESSAGE_BUFFER_SIZE 45
-void sub_messages_init(void);
-void pub_messages_init(void);
+void init_sub_messages(void);
+void init_pub_messages(void);
void build_gam_request(uint8_t *buffer, size_t *size);
void publish_gam_message(const uint8_t *buffer);
void build_eam_response(uint8_t *buffer, size_t *size);
+void build_gam_response(uint8_t *buffer, size_t *size);
void build_gps_response(uint8_t *buffer, size_t *size);
float _get_distance_to_next_waypoint(double lat_now, double lon_now, double lat_next, double lon_next);
void convert_to_degrees_minutes_seconds(double lat, int *deg, int *min, int *sec);