This is code is part of a Technion course project in advanced IoT, implementing a device to receive and present sensors data from a Formula racing car built by students at Technion - Israel Institute of Technology.
Fork of DISCO-L072CZ-LRWAN1_LoRa_PingPong by
This is code is part of a Technion course project in advanced IoT, implementing a device to receive sensors data from another L072CZ-LRWAN1 installed on a Formula racing car (built by students at Technion - Israel Institute of Technology), and sends it to a GUI presenting the data (GUI project: github.com/ward-mattar/TechnionFormulaGUI).
How to install
- Create an account on Mbed: https://os.mbed.com/account/signup/
- Import project into Compiler
- In the Program Workspace select "Formula_Nucleo_Receiver"
- Select a Platform like so:
- Click button at top-left
- Add Board
- Search "NUCLEO F103RB" and then "Add to your Mbed Compiler"
- Finally click "Compile", if the build was successful, the binary would download automatically
- To install it on device simply plug it in to a PC, open device drive and drag then drop binary file in it
Diff: SX1276GenericLib/LoRa_TODO.txt
- Revision:
- 12:046346a16ff4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SX1276GenericLib/LoRa_TODO.txt Sat May 19 15:42:38 2018 +0000 @@ -0,0 +1,50 @@ + +Move finished tasks to Done section: + +TODOs: +- add support for Linux - add sx1276-Linux-hal.h/cpp +- Add support to provide the send/receive packet buffer, + no need to allocate packet data in the sx1276 driver. Can be provided + Rx/Tx parameters, this avoids double memory usage +- Add support for larger Lora packets (can be up to 2048 bytes) + this feature is not so important, however the current implementation + is very basic. +- It is a little bit strange that RX/TX/Cad Timeout Timer calling the + some handler OnTimeoutIrq. Maybe we just need a single timer, or + it is a good idea to split the OnTimeoutIrq function into separate + callbacks for RX/TX/Cad timeouts +- Test if the SX1276 timeouts. Does rx/tx/sync really uses three different + timers or just one at a time. +- Add API to set the LNA gain + + + +Done: +- Started a Generic SX1276 driver to support all SX1276 modules (May-2017 Helmut) +- Migrated typedefs code into sx1276.h (7-May-2017 Helmut) +- Migrated enum code into sx1276.h/radio.h (7-May-2017 Helmut) +- Verify the Murata ANT Switch code +- MURATA PA_BOOST case,is _antSwitchTXBoost right? (Same as STM sample code) +- Check of the MURATA TCXO config is correct (implemented, check JP9 on STM L0 board) +- Make the timers more generic and move the OS code into the HAL layer. (May 2017 Helmut) +- Removed pull down on dio=-dio5 for L151 &LPC11U6X which make no sense to me. May 2017 Helmut +- Added radio API support to receive the MaxMTUSize (May 2017 Helmut) +- Added Send optional Send() parameter to include a header, + this saves additional buffers. (May 2017 Helmut) +- Added proper void * type from sending data, uint8_t * is not appropriate (May 2017 Helmut) +- Use also void pointer for FiFo Write/Read and regular SPI Read/Write +- Added return value to Init, we check for a radio availability (May 2017 Helmut) +- Added a RxSignalPending which verifies if we have a signal pending in receive state. (May 2017 Helmut) +- Added LoRa bandwidth mapping table, now the SetRx/Tx frequency is in Hz. (May 2017 Helmut) +- Enabled MURATA_SX1276 for the MURATA_SX1276 chip (May 2017 Helmut) +- Made SetRfTxPower public to allow easily power TX changes (May 2017 Helmut) +- Added userData and userThisPtr into the radio events, this allows to call C++ + functions and in can include a context via the userData +- Add support for Cad detection before sending a packet, already done in higher + level protocols +- Added initial Arduino support, needs more testing/completion. +- Support for Arduino completed, initial version works. +- Added GetFrequency support + The Murata’s Frequency shift using an TCXO us about 58 Hz + The RFM95 against Murata is about 3300 Hz + RFM95 against RFM95 testing will follow.