Bleeding edge development version of the mDot library. This version of the library is not guaranteed to be stable or well tested and should not be used in production or deployment scenarios.

Dependents:   mDot_LoRa_CLASS_C_P2P

Fork of libmDot-dev by Multi-Hackers

Warning

Using libmDot 2.0.3 and above with an existing application may require a change in the MacEvent handler!
Compile applications with mbed v121 and mbed-rtos v116 libraries.

In AT Command Firmware remove line 803.

CommandTerminal/CommandTerminal.cpp

        delete[] info->RxBuffer;

Likewise, if your application is handling events from the library asynchronously.

Committer:
Jenkins@KEILDM1.dc.multitech.prv
Date:
Tue Sep 13 09:27:54 2016 -0500
Revision:
37:85ab51620cca
Parent:
26:17479e0039f6
update from git revision 2.0.8-1-g6f2b11f

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