libmDot0mbed5
Fork of libmDot-mbed5 by
MacEvents.h@26:17479e0039f6, 2016-08-30 (annotated)
- Committer:
- Jenkins@KEILDM1.dc.multitech.prv
- Date:
- Tue Aug 30 11:48:00 2016 -0500
- Revision:
- 26:17479e0039f6
- Parent:
- 19:f3a46d2bb9b3
- Child:
- 37:85ab51620cca
update from git revision 2.0.6-5-g26d9b3f
Who changed what in which revision?
User | Revision | Line number | New 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 | 26:17479e0039f6 | 42 | virtual void MissedAck(uint8_t retries); |
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 |