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).
Diff: SimpleSpirit1.h
- Revision:
- 23:4192649f35da
- Parent:
- 22:9165bd73c61e
- Child:
- 24:03e351bfc9c9
--- a/SimpleSpirit1.h Wed Nov 09 11:21:55 2016 +0100
+++ b/SimpleSpirit1.h Wed Nov 09 14:02:18 2016 +0100
@@ -271,6 +271,17 @@
timer_set_rx_timeout_counter(0);
}
+ /** CSMA/CA Instance Methods **/
+ void csma_ca_state(SpiritFunctionalState xNewState) {
+ SpiritCsma(xNewState);
+ }
+
+ void csma_ca_init(CsmaInit* pxCsmaInit) {
+ csma_ca_state(S_DISABLE); // Disabled at init
+ SpiritCsmaInit(pxCsmaInit);
+ SpiritCsmaSeedReloadMode(S_DISABLE); // always disable seed reload
+ }
+
/** Command Instance Methods**/
void cmd_strobe(uint8_t cmd) {
SpiritCmdStrobeCommand((SpiritCmd)cmd);
@@ -403,7 +414,7 @@
/** Perform a Clear-Channel Assessment (CCA) to find out if there is
a packet in the air or not.
- Returns 0 if packet has been seen.
+ Returns 1 if packet has been seen.
*/
int channel_clear(void);
X-NUCLEO-IDS01A4 Sub-1GHz RF Expansion Board