Safe Sprinkler
Master/slave irrigation system (ESP-NOW + LoRaWAN)
Loading...
Searching...
No Matches
Functions
communication_manager.h File Reference
#include "general/message_protocol.h"
#include "master/config_serializer.h"
#include "master/fifo.h"
#include "master/lora_msg_protocol.h"
#include "master/main_master.h"
#include <stdint.h>
Include dependency graph for communication_manager.h:

Go to the source code of this file.

Functions

void process_esp_msg (void)
 Process one ESP-NOW message from the message FIFO.
 
void queue_lora_registration (uint8_t slave_idx)
 Queue a LoRa registration message for a slave.
 
void queue_lora_periodic (void)
 Queue a LoRa periodic status message for all registered slaves.
 
void queue_lora_alarm (uint8_t slave_id)
 Queue a LoRa alarm message for a slave.
 
void send_lora (void)
 Send one LoRa message from the lora_fifo.
 

Function Documentation

◆ process_esp_msg()

void process_esp_msg ( void  )

Process one ESP-NOW message from the message FIFO.

Reads from message_fifo, deserializes, and updates s_data or triggers LoRa queue. Call from main loop or task when messages are available.

◆ queue_lora_alarm()

void queue_lora_alarm ( uint8_t  slave_id)

Queue a LoRa alarm message for a slave.

Parameters
slave_idIdentifier of the slave that triggered the alarm

◆ queue_lora_periodic()

void queue_lora_periodic ( void  )

Queue a LoRa periodic status message for all registered slaves.

Serializes all slaves from s_data and pushes one message to lora_fifo.

◆ queue_lora_registration()

void queue_lora_registration ( uint8_t  slave_idx)

Queue a LoRa registration message for a slave.

Serializes the slave at slave_idx from s_data and pushes to lora_fifo.

Parameters
slave_idxIndex into s_data (0 .. MAX_SLAVE_NUM-1)

◆ send_lora()

void send_lora ( void  )

Send one LoRa message from the lora_fifo.

Pops one packet from lora_fifo, serializes it, and sends via LoRaWAN. Call when LoRa is idle and lora_fifo has data.