Library for LoRa communication using MultiTech MDOT.

Dependents:   mDot_test_rx adc_sensor_lora mDotEVBM2X mDot_AT_firmware ... more

Function documentation is in mDot.h

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:
jreiss
Date:
Thu Aug 18 16:07:10 2016 +0000
Revision:
15:b50f92f1c6ff
update libmDot to 2.0.3

Who changed what in which revision?

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