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.
MacEvents.h@15:b50f92f1c6ff, 2016-08-18 (annotated)
- 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?
| User | Revision | Line number | New 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 |