39 lines
817 B
C
39 lines
817 B
C
/*
|
|
* File: LoraWatchdog.h
|
|
* Author: JF
|
|
*
|
|
*
|
|
*/
|
|
|
|
#ifndef LORAWATCHDOG_H
|
|
#define LORAWATCHDOG_H
|
|
#include "define.h"
|
|
|
|
#define LORA_WATCHDOG_MODULE_RESET_TIMEOUT 3600000 //1h Time without comm. before we reset the LoRa module
|
|
#define LORA_WATCHDOG_REBOOT_TIMEOUT 1200000 //20 minutes Time to reboot after we reset the LoRa module
|
|
#define LORA_WATCHDOG_MODULE_OFF_TIMEOUT 4000 //Keep the LoRa module off for 2 seconds when reseting it.
|
|
|
|
enum eLoraWDSMStates
|
|
{
|
|
LORA_WATCHDOG_OK_STATE,
|
|
LORA_WATCHDOG_RESET_LORA_MODULE_STATE,
|
|
LORA_WATCHDOG_WAIT_FOR_RECONNECT_STATE
|
|
};
|
|
|
|
enum eLoraWDEvents
|
|
{
|
|
LORA_SM_TICK_EVENT,
|
|
LORA_SM_KICK_EVENT
|
|
};
|
|
|
|
|
|
void InitLoraWatchdog();
|
|
void TickLoraWatchdog();
|
|
void LoraWatchdogStateMachine(int Event);
|
|
void KickLoraWatchdog();
|
|
|
|
|
|
|
|
#endif /* HARAKIRIRELAY_H */
|
|
|