Prototype RF driver for STM Sub-1 GHz RF expansion board based on the SPSGRF-868 module for STM32 Nucleo.
Prototype RF Driver for STM Sub-1 GHz RF Expansion Boards based on the SPSGRF-868 and SPSGRF-915 Modules for STM32 Nucleo
Currently supported boards:
Note, in order to use expansion board X-NUCLEO-IDS01A4 in mbed you need to perform the following HW modifications on the board:
- Unmount resistor
R4 - Mount resistor
R7
Furthermore, on some Nucleo development boards (e.g. the NUCLEO_F429ZI), in order to be able to use Ethernet together with these Sub-1 GHz RF expansion boards, you need to compile this driver with macro SPIRIT1_SPI_MOSI=PB_5 defined, while the development board typically requires some HW modification as e.g. described here!
This driver can be used together with the 6LoWPAN stack (a.k.a. Nanostack).
Revision 57:8cc871dc6cac, committed 2017-04-28
- Comitter:
- Wolfgang Betz
- Date:
- Fri Apr 28 14:11:53 2017 +0200
- Parent:
- 56:f9d8d8bb503f
- Child:
- 58:4208689e447e
- Commit message:
- `UnlockedSPI` is used to be able to call SPI functions from IRQ conetxt
Changed in this revision
--- a/source/SimpleSpirit1.cpp Fri Apr 07 10:12:00 2017 +0200
+++ b/source/SimpleSpirit1.cpp Fri Apr 28 14:11:53 2017 +0200
@@ -438,6 +438,7 @@
}
/** Spirit Irq Callback **/
+/* betzw - TODO: use threaded interrupt handling when `MBED_CONF_RTOS_PRESENT` is defined (see `atmel-rf-driver`) */
void SimpleSpirit1::IrqHandler() {
st_lib_spirit_irqs x_irq_status;
--- a/stm-spirit1-rf-driver/SimpleSpirit1.h Fri Apr 07 10:12:00 2017 +0200
+++ b/stm-spirit1-rf-driver/SimpleSpirit1.h Fri Apr 28 14:11:53 2017 +0200
@@ -39,7 +39,7 @@
extern "C" void SpiritManagementSetFrequencyBase(uint32_t);
-/*** UnlockedSPI for Performance (due to singleton) ***/
+/*** UnlockedSPI for Usage in IRQ context ***/
class UnlockedSPI : public SPI {
public:
UnlockedSPI(PinName mosi, PinName miso, PinName sclk) :
X-NUCLEO-IDS01A4 Sub-1GHz RF Expansion Board