This is code is part of a Technion course project in advanced IoT, implementing a device to read and transmit 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 read and transmit sensors data from a Formula racing car built by students at Technion - Israel Institute of Technology.
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_Reader"
- Select a Platform like so:
- Click button at top-left
- Add Board
- Search "B-L072Z-LRWAN1" 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
SX1276GenericLib/LoRa_TODO.txt@12:02d779e8c4f6, 2018-05-19 (annotated)
- Committer:
- wardm
- Date:
- Sat May 19 11:41:10 2018 +0000
- Revision:
- 12:02d779e8c4f6
Code for Technion Formula car sensors reader transmit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wardm | 12:02d779e8c4f6 | 1 | |
wardm | 12:02d779e8c4f6 | 2 | Move finished tasks to Done section: |
wardm | 12:02d779e8c4f6 | 3 | |
wardm | 12:02d779e8c4f6 | 4 | TODOs: |
wardm | 12:02d779e8c4f6 | 5 | - add support for Linux - add sx1276-Linux-hal.h/cpp |
wardm | 12:02d779e8c4f6 | 6 | - Add support to provide the send/receive packet buffer, |
wardm | 12:02d779e8c4f6 | 7 | no need to allocate packet data in the sx1276 driver. Can be provided |
wardm | 12:02d779e8c4f6 | 8 | Rx/Tx parameters, this avoids double memory usage |
wardm | 12:02d779e8c4f6 | 9 | - Add support for larger Lora packets (can be up to 2048 bytes) |
wardm | 12:02d779e8c4f6 | 10 | this feature is not so important, however the current implementation |
wardm | 12:02d779e8c4f6 | 11 | is very basic. |
wardm | 12:02d779e8c4f6 | 12 | - It is a little bit strange that RX/TX/Cad Timeout Timer calling the |
wardm | 12:02d779e8c4f6 | 13 | some handler OnTimeoutIrq. Maybe we just need a single timer, or |
wardm | 12:02d779e8c4f6 | 14 | it is a good idea to split the OnTimeoutIrq function into separate |
wardm | 12:02d779e8c4f6 | 15 | callbacks for RX/TX/Cad timeouts |
wardm | 12:02d779e8c4f6 | 16 | - Test if the SX1276 timeouts. Does rx/tx/sync really uses three different |
wardm | 12:02d779e8c4f6 | 17 | timers or just one at a time. |
wardm | 12:02d779e8c4f6 | 18 | - Add API to set the LNA gain |
wardm | 12:02d779e8c4f6 | 19 | |
wardm | 12:02d779e8c4f6 | 20 | |
wardm | 12:02d779e8c4f6 | 21 | |
wardm | 12:02d779e8c4f6 | 22 | Done: |
wardm | 12:02d779e8c4f6 | 23 | - Started a Generic SX1276 driver to support all SX1276 modules (May-2017 Helmut) |
wardm | 12:02d779e8c4f6 | 24 | - Migrated typedefs code into sx1276.h (7-May-2017 Helmut) |
wardm | 12:02d779e8c4f6 | 25 | - Migrated enum code into sx1276.h/radio.h (7-May-2017 Helmut) |
wardm | 12:02d779e8c4f6 | 26 | - Verify the Murata ANT Switch code |
wardm | 12:02d779e8c4f6 | 27 | - MURATA PA_BOOST case,is _antSwitchTXBoost right? (Same as STM sample code) |
wardm | 12:02d779e8c4f6 | 28 | - Check of the MURATA TCXO config is correct (implemented, check JP9 on STM L0 board) |
wardm | 12:02d779e8c4f6 | 29 | - Make the timers more generic and move the OS code into the HAL layer. (May 2017 Helmut) |
wardm | 12:02d779e8c4f6 | 30 | - Removed pull down on dio=-dio5 for L151 &LPC11U6X which make no sense to me. May 2017 Helmut |
wardm | 12:02d779e8c4f6 | 31 | - Added radio API support to receive the MaxMTUSize (May 2017 Helmut) |
wardm | 12:02d779e8c4f6 | 32 | - Added Send optional Send() parameter to include a header, |
wardm | 12:02d779e8c4f6 | 33 | this saves additional buffers. (May 2017 Helmut) |
wardm | 12:02d779e8c4f6 | 34 | - Added proper void * type from sending data, uint8_t * is not appropriate (May 2017 Helmut) |
wardm | 12:02d779e8c4f6 | 35 | - Use also void pointer for FiFo Write/Read and regular SPI Read/Write |
wardm | 12:02d779e8c4f6 | 36 | - Added return value to Init, we check for a radio availability (May 2017 Helmut) |
wardm | 12:02d779e8c4f6 | 37 | - Added a RxSignalPending which verifies if we have a signal pending in receive state. (May 2017 Helmut) |
wardm | 12:02d779e8c4f6 | 38 | - Added LoRa bandwidth mapping table, now the SetRx/Tx frequency is in Hz. (May 2017 Helmut) |
wardm | 12:02d779e8c4f6 | 39 | - Enabled MURATA_SX1276 for the MURATA_SX1276 chip (May 2017 Helmut) |
wardm | 12:02d779e8c4f6 | 40 | - Made SetRfTxPower public to allow easily power TX changes (May 2017 Helmut) |
wardm | 12:02d779e8c4f6 | 41 | - Added userData and userThisPtr into the radio events, this allows to call C++ |
wardm | 12:02d779e8c4f6 | 42 | functions and in can include a context via the userData |
wardm | 12:02d779e8c4f6 | 43 | - Add support for Cad detection before sending a packet, already done in higher |
wardm | 12:02d779e8c4f6 | 44 | level protocols |
wardm | 12:02d779e8c4f6 | 45 | - Added initial Arduino support, needs more testing/completion. |
wardm | 12:02d779e8c4f6 | 46 | - Support for Arduino completed, initial version works. |
wardm | 12:02d779e8c4f6 | 47 | - Added GetFrequency support |
wardm | 12:02d779e8c4f6 | 48 | The Murata’s Frequency shift using an TCXO us about 58 Hz |
wardm | 12:02d779e8c4f6 | 49 | The RFM95 against Murata is about 3300 Hz |
wardm | 12:02d779e8c4f6 | 50 | RFM95 against RFM95 testing will follow. |