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:
67:93bec0baf1de
Parent:
66:1e09d233280b
Child:
68:247fd6e0ab66
--- a/source/SimpleSpirit1.cpp	Wed Jul 05 14:02:16 2017 +0200
+++ b/source/SimpleSpirit1.cpp	Thu Jul 06 11:13:31 2017 +0200
@@ -449,7 +449,7 @@
 	/* get interrupt source from radio */
 	irq_get_status(&x_irq_status);
 
-	/* The IRQ_TX_DATA_SENT notifies the packet received. Puts the SPIRIT1 in RX */
+	/* The IRQ_TX_DATA_SENT notifies the packet has been sent. Puts the SPIRIT1 in RX */
 	if(x_irq_status.IRQ_TX_DATA_SENT) { /* betzw - NOTE: MUST be handled before `IRQ_RX_DATA_READY` for Nanostack integration!
 	                                                     Logically, Nanostack only expects the "DONE" after "SUCCESS" (if it gets
 	                                                     DONE before SUCCESS, it assumes you're not going to bother to send SUCCESS).
@@ -496,7 +496,7 @@
 	}
 #endif // !RX_FIFO_THR_WA
 
-	/* Transmission error */
+	/* TX FIFO underflow/overflow error */
 	if(x_irq_status.IRQ_TX_FIFO_ERROR) {
 #ifdef DEBUG_IRQ
 		uint32_t *tmp = (uint32_t*)&x_irq_status;