fota lib for mdot

Dependents:   UQ_LoraWAN

Committer:
Jenkins@KEILDM1.dc.multitech.prv
Date:
Fri Sep 14 15:39:09 2018 -0500
Revision:
3:63d10f2375ea
fota lib updates

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 1 /** __ ___ ____ _ ______ __ ____ __ ____
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 2 * / |/ /_ __/ / /_(_)__/_ __/__ ____/ / / __/_ _____ / /____ __ _ ___ / _/__ ____
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 3 * / /|_/ / // / / __/ /___// / / -_) __/ _ \ _\ \/ // (_-</ __/ -_) ' \(_-< _/ // _ \/ __/ __
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 4 * /_/ /_/\_,_/_/\__/_/ /_/ \__/\__/_//_/ /___/\_, /___/\__/\__/_/_/_/___/ /___/_//_/\__/ /_/
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 5 * Copyright (C) 2015 by Multi-Tech Systems /___/
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 6 *
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 7 *
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 8 * @author Jason Reiss
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 9 * @date 10-31-2015
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 10 * @brief lora::MacEvents provides an interface for events from the Mac layer
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 11 *
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 12 * @details
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 13 *
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 14 */
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 15
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 16 #ifndef __LORA_MAC_EVENTS_H__
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 17 #define __LORA_MAC_EVENTS_H__
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 18
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 19 #include "Lora.h"
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 20
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 21 namespace lora {
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 22
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 23 class MacEvents {
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 24
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 25 public:
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 26 virtual ~MacEvents() {};
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 27
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 28 virtual void TxStart(void) = 0;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 29 virtual void TxDone(uint8_t dr) = 0;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 30 virtual void TxTimeout(void) = 0;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 31
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 32 virtual void JoinAccept(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr) = 0;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 33 virtual void JoinFailed(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr) = 0;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 34 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;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 35 virtual void RxDone(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr, lora::DownlinkControl ctrl, uint8_t slot) = 0;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 36
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 37 virtual void Pong(int16_t m_rssi, int8_t m_snr, int16_t s_rssi, int8_t s_snr) = 0;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 38 virtual void NetworkLinkCheck(int16_t m_rssi, int8_t m_snr, int8_t s_snr, uint8_t s_gateways) = 0;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 39
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 40 virtual void RxTimeout(uint8_t slot) = 0;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 41 virtual void RxError(uint8_t slot) = 0;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 42
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 43 virtual void MissedAck(uint8_t retries) = 0;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 44
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 45 virtual uint8_t MeasureBattery() = 0;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 46
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 47 private:
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 48
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 49
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 50 };
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 51
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 52 }
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 53
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 54 #endif