1#ifndef LORA_MSG_SERIALIZER_H
2#define LORA_MSG_SERIALIZER_H
15#define LORA_REG_MSG_SIZE 42
19#define LORA_PERIODIC_HEADER_SIZE 2
20#define LORA_PERIODIC_SLAVE_SIZE 3
21#define LORA_PERIODIC_MAX_SIZE (LORA_PERIODIC_HEADER_SIZE + MAX_SLAVE_NUM * LORA_PERIODIC_SLAVE_SIZE)
24#define LORA_ALARM_MSG_SIZE 2
uint8_t lora_serialize_registration(uint8_t *buffer, uint8_t slave_id, const char *name, int32_t longitude, int32_t latitude)
Serialize a registration message into a compact byte buffer.
int lora_send_alarm(uint8_t slave_id)
Send an alarm message via LoRaWAN.
uint8_t lora_serialize_periodic(uint8_t *buffer, const slave_data *slaves, uint8_t slave_count)
Serialize a periodic status message for all registered slaves.
uint8_t lora_serialize_alarm(uint8_t *buffer, uint8_t slave_id)
Serialize an alarm message.
int lora_send_periodic(const slave_data *slaves, uint8_t slave_count)
Send periodic status for all slaves via LoRaWAN.
int lora_send_registration(uint8_t slave_id, const char *name, int32_t longitude, int32_t latitude)
Send a registration message via LoRaWAN.