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 37:bc043030b55a, committed 2016-11-22
- Comitter:
- Wolfgang Betz
- Date:
- Tue Nov 22 17:30:54 2016 +0100
- Parent:
- 36:cc14f5a17bd4
- Child:
- 38:5deec3ab2025
- Commit message:
- Adapt timeout periods
Changed in this revision
--- a/source/SimpleSpirit1.cpp Tue Nov 22 14:05:39 2016 +0100 +++ b/source/SimpleSpirit1.cpp Tue Nov 22 17:30:54 2016 +0100 @@ -17,7 +17,7 @@ #define st_lib_spirit_irqs SpiritIrqs -#define STATE_TIMEOUT (1000) +#define STATE_TIMEOUT (100) // betzw: switching force & back from standby is on some devices quite unstable #define USE_STANDBY_STATE
--- a/stm-spirit1-rf-driver/SimpleSpirit1.h Tue Nov 22 14:05:39 2016 +0100
+++ b/stm-spirit1-rf-driver/SimpleSpirit1.h Tue Nov 22 17:30:54 2016 +0100
@@ -58,7 +58,7 @@
static SimpleSpirit1 *_singleton;
/** Communication Interface Instance Variables **/
- UnlockedSPI _spi; // betzw - NOTE: Arduino pins are valid only for NUCLEO-F401RE
+ UnlockedSPI _spi; // betzw - NOTE: Morpho/Zio pins are valid only for NUCLEO-F401RE
// mosi: PA_7 (D11)
// miso: PA_6 (D12)
// sclk: PB_3 (D3) or
@@ -85,7 +85,7 @@
}
void start_rx_timeout(void) {
- _rx_receiving_timeout.attach_us(Callback<void()>(this, &SimpleSpirit1::rx_timeout_handler), 500 * 1000); // 500ms
+ _rx_receiving_timeout.attach_us(Callback<void()>(this, &SimpleSpirit1::rx_timeout_handler), 100 * 1000); // 100ms
}
void stop_rx_timeout(void) {
X-NUCLEO-IDS01A4 Sub-1GHz RF Expansion Board