libmDot0mbed5

Fork of libmDot-mbed5 by MultiTech

Committer:
efersko
Date:
Thu Jul 13 19:03:33 2017 +0000
Revision:
60:d58af0eae613
Parent:
37:85ab51620cca
No change

Who changed what in which revision?

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