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 33:c226804be492, committed 2016-11-21
- Comitter:
- Wolfgang Betz
- Date:
- Mon Nov 21 13:26:17 2016 +0100
- Parent:
- 32:e5272bafeeea
- Child:
- 34:edda6a7238ec
- Commit message:
- Slightly better send timeout handling
Changed in this revision
| SimpleSpirit1.cpp | Show annotated file Show diff for this revision Revisions of this file |
| mbed_driver_api.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/SimpleSpirit1.cpp Mon Nov 21 10:04:43 2016 +0100
+++ b/SimpleSpirit1.cpp Mon Nov 21 13:26:17 2016 +0100
@@ -222,6 +222,8 @@
debug("\n\r%s (%d): state=%x, _spirit_tx_started=%d\n\r", __func__, __LINE__, SPIRIT1_STATUS()>>1, _spirit_tx_started);
#endif
+ _spirit_tx_started = false; // in case of state timeout
+
csma_ca_state(S_DISABLE); // disable CSMA/CA
cmd_strobe(SPIRIT1_STROBE_RX); // Return to RX state
--- a/mbed_driver_api.cpp Mon Nov 21 10:04:43 2016 +0100
+++ b/mbed_driver_api.cpp Mon Nov 21 13:26:17 2016 +0100
@@ -138,7 +138,7 @@
data_ptr[7], data_ptr[8], data_ptr[9], data_ptr[10]);
#endif
- /*Send the packet*/
+ /*Send the packet*/
rf_device->send(data_ptr, data_length);
/* Release Lock */
X-NUCLEO-IDS01A4 Sub-1GHz RF Expansion Board