fota lib for mdot

Dependents:   UQ_LoraWAN

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MacEvents.h Source File

MacEvents.h

00001 /**   __  ___     ____  _    ______        __     ____         __                  ____
00002  *   /  |/  /_ __/ / /_(_)__/_  __/__ ____/ /    / __/_ _____ / /____ __ _  ___   /  _/__  ____
00003  *  / /|_/ / // / / __/ /___// / / -_) __/ _ \  _\ \/ // (_-</ __/ -_)  ' \(_-<  _/ // _ \/ __/ __
00004  * /_/  /_/\_,_/_/\__/_/    /_/  \__/\__/_//_/ /___/\_, /___/\__/\__/_/_/_/___/ /___/_//_/\__/ /_/
00005  * Copyright (C) 2015 by Multi-Tech Systems        /___/
00006  *
00007  *
00008  * @author Jason Reiss
00009  * @date   10-31-2015
00010  * @brief  lora::MacEvents provides an interface for events from the Mac layer
00011  *
00012  * @details
00013  *
00014  */
00015 
00016 #ifndef __LORA_MAC_EVENTS_H__
00017 #define __LORA_MAC_EVENTS_H__
00018 
00019 #include "Lora.h"
00020 
00021 namespace lora {
00022 
00023     class MacEvents {
00024 
00025         public:
00026             virtual ~MacEvents() {};
00027 
00028             virtual void TxStart(void) = 0;
00029             virtual void TxDone(uint8_t dr) = 0;
00030             virtual void TxTimeout(void) = 0;
00031 
00032             virtual void JoinAccept(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr) = 0;
00033             virtual void JoinFailed(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr) = 0;
00034             virtual void PacketRx(uint8_t port, uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr, lora::DownlinkControl ctrl, uint8_t slot, uint8_t retries=0, uint32_t address=0, bool dupRx=false) = 0;
00035             virtual void RxDone(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr, lora::DownlinkControl ctrl, uint8_t slot) = 0;
00036 
00037             virtual void Pong(int16_t m_rssi, int8_t m_snr, int16_t s_rssi, int8_t s_snr) = 0;
00038             virtual void NetworkLinkCheck(int16_t m_rssi, int8_t m_snr, int8_t s_snr, uint8_t s_gateways) = 0;
00039 
00040             virtual void RxTimeout(uint8_t slot) = 0;
00041             virtual void RxError(uint8_t slot) = 0;
00042 
00043             virtual void MissedAck(uint8_t retries) = 0;
00044 
00045             virtual uint8_t MeasureBattery() = 0;
00046 
00047         private:
00048 
00049 
00050     };
00051 
00052 }
00053 
00054 #endif