khang_91

Committer:
nguyenhoang9x5555
Date:
Tue Jun 23 07:26:42 2020 +0000
Revision:
183:16414698889c
Parent:
172:7ec44396a51b
Child:
179:578d8030ba57
phienbanthunghiem

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
Jenkins@KEILDM1.dc.multitech.prv 114:8462870088eb 28 virtual void TxStart(void) = 0;
Mike Fiore 16:b630e18103e5 29 virtual void TxDone(uint8_t dr) = 0;
Mike Fiore 16:b630e18103e5 30 virtual void TxTimeout(void) = 0;
Mike Fiore 16:b630e18103e5 31
Mike Fiore 16:b630e18103e5 32 virtual void JoinAccept(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr) = 0;
Mike Fiore 16:b630e18103e5 33 virtual void JoinFailed(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr) = 0;
Jenkins@KEILDM1.dc.multitech.prv 137:893a90334924 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;
Mike Fiore 16:b630e18103e5 35 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 36
Jenkins@KEILDM1.dc.multitech.prv 172:7ec44396a51b 37 virtual void BeaconRx(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr) = 0;
Jenkins@KEILDM1.dc.multitech.prv 172:7ec44396a51b 38 virtual void BeaconLost() = 0;
Jenkins@KEILDM1.dc.multitech.prv 172:7ec44396a51b 39
Mike Fiore 16:b630e18103e5 40 virtual void Pong(int16_t m_rssi, int8_t m_snr, int16_t s_rssi, int8_t s_snr) = 0;
Mike Fiore 16:b630e18103e5 41 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 172:7ec44396a51b 42 virtual void ServerTime(uint32_t seconds, uint8_t sub_seconds) = 0;
Mike Fiore 16:b630e18103e5 43
Mike Fiore 16:b630e18103e5 44 virtual void RxTimeout(uint8_t slot) = 0;
Mike Fiore 16:b630e18103e5 45 virtual void RxError(uint8_t slot) = 0;
Mike Fiore 16:b630e18103e5 46
Jenkins@KEILDM1.dc.multitech.prv 37:85ab51620cca 47 virtual void MissedAck(uint8_t retries) = 0;
Jenkins@KEILDM1.dc.multitech.prv 26:17479e0039f6 48
Mike Fiore 16:b630e18103e5 49 virtual uint8_t MeasureBattery() = 0;
Mike Fiore 16:b630e18103e5 50
Mike Fiore 16:b630e18103e5 51 private:
Mike Fiore 16:b630e18103e5 52
Mike Fiore 16:b630e18103e5 53
Mike Fiore 16:b630e18103e5 54 };
Mike Fiore 16:b630e18103e5 55
Mike Fiore 16:b630e18103e5 56 }
Mike Fiore 16:b630e18103e5 57
Mike Fiore 16:b630e18103e5 58 #endif