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).

Changes

RevisionDateWhoCommit message
82:a18c22d2b83a 2018-02-02 Wolfgang Betz Correct comments/documentation default tip
81:b16caa776548 2018-02-02 Wolfgang Betz Merge branch 'master' of hg::https://os.mbed.com/teams/ST/code/stm-spirit1-rf-driver
80:3f90e1d76090 2018-02-02 Wolfgang Betz Added tag v1.0.1 for changeset a9a9807bf3ed
79:efe3f52f788d 2018-02-02 Wolfgang Betz Added tag v1.0.0 for changeset 8dc65c09af67
78:65de72417cd3 2018-02-01 Wolfgang Betz Cleanup unnecessary header files
77:a9a9807bf3ed 2018-01-18 Wolfgang Betz Merge pull request #3 from SeppoTakalo/skip v1.0.1
76:f4f990741baf 2018-01-18 Seppo Takalo Skip compilation if FEATURE_NANOSTACK is not enabled
75:8dc65c09af67 2017-09-01 Wolfgang Betz Clarification on radio configuration v1.0.0
74:7672516efa2a 2017-07-21 Wolfgang Betz Minor comment corrections
73:a1342eb7974c 2017-07-21 Wolfgang Betz Comment also main class
72:413cb97ac077 2017-07-21 Wolfgang Betz Better commenting of public `SimpleSpirit1` API
71:4a7772415d9c 2017-07-18 Wolfgang Betz Optimize `BUSYWAIT_UNTIL()`
70:19b5f9b9ba80 2017-07-13 Wolfgang Betz Handle overflow situations in busy wait
69:22e9b407effa 2017-07-10 Wolfgang Betz Better handling of race condition around `_spirit_tx_started`
68:247fd6e0ab66 2017-07-06 Wolfgang Betz Better handling of persisten CCA timeouts
67:93bec0baf1de 2017-07-06 Wolfgang Betz Clarify some comments
66:1e09d233280b 2017-07-05 Wolfgang Betz Raise number of CSMA backoffs to 5 (as recommended by ARM)
65:a16f0064110a 2017-07-03 Wolfgang Betz Delay setting of `expecting_ack` to when TX was successful
64:28ef790e4ef7 2017-07-03 Wolfgang Betz Implement indications received by Kevin Bracey
63:d7530f62ed93 2017-06-26 Wolfgang Betz Correct handling of broadcast pan ids & addresses
62:44ab5af08199 2017-06-26 Wolfgang Betz Perform indentation
61:0e6aa2ea086f 2017-05-31 Wolfgang Betz Exclude nanostack integration from mbed2 compilations
60:956afcef7ef7 2017-05-31 Wolfgang Betz Set SPI speed to 10MHz (i.e. max speed allowed for Spirit1)
59:5dbfc9faf1c5 2017-05-15 Wolfgang Betz Improve comment regarding macro `HEAVY_TRACING`
58:4208689e447e 2017-05-15 Wolfgang Betz Put some more `#ifdef HEAVY_TRACING` exclusions
57:8cc871dc6cac 2017-04-28 Wolfgang Betz `UnlockedSPI` is used to be able to call SPI functions from IRQ conetxt
56:f9d8d8bb503f 2017-04-07 Wolfgang Betz Minor change in `README.md`
55:2bfbf1d07c14 2017-03-10 Wolfgang Betz Clarify development board HW mod requirement
54:0f6612d36a29 2017-03-07 Wolfgang Betz Use macro `SPIRIT1_SPI_MOSI=PB_5` for pin mods
53:b036a3a850e6 2017-02-28 Wolfgang Betz Call device driver callbacks from thread context
52:053dbc4b570f 2017-02-23 Wolfgang Betz Simplify Spirit1 Mac address specification
51:d46b4cc970c5 2017-02-22 Wolfgang Betz Comment out `DEBUG_IRQ`
50:7f70089ba05f 2017-02-14 Wolfgang Betz Add `README.md`
49:d017830c0c67 2017-02-06 Wolfgang Betz Do not read IRQ status twice
48:373e1b7e424f 2017-01-12 Wolfgang Betz Insert 'MAX_PACKET_LEN' checks when receiving
47:3a30b960a8c2 2016-12-22 Wolfgang Betz Optimize IRQ handler
46:d104e58c5caf 2016-12-19 Wolfgang Betz Remove 'RX_DONE' handling in 'IRQ_RX_FIFO_ALMOST_FULL'
45:2d01cc9bc761 2016-12-19 Wolfgang Betz Return to avoidance of FIFO overflows
44:aedd63cb0ce3 2016-12-16 Wolfgang Betz Set 'MAX_PACKET_LEN' to 128
43:a512f909514a 2016-12-16 Wolfgang Betz Backup commit!
42:92a60a905ee7 2016-12-02 Wolfgang Betz Double check for IRQ sources
41:ebaceefad0de 2016-11-30 Wolfgang Betz Add 'PB5_ETH_PATCH'
40:343254875d89 2016-11-29 Wolfgang Betz Handle RX errors immediately & use channel 1
39:75481c4c6655 2016-11-24 Wolfgang Betz Treat RX/TX race condition in favor of TX
38:5deec3ab2025 2016-11-23 Wolfgang Betz Add new interface files
37:bc043030b55a 2016-11-22 Wolfgang Betz Adapt timeout periods
36:cc14f5a17bd4 2016-11-22 Wolfgang Betz First compiling version for K64F border router
35:f3f444c379d0 2016-11-22 Wolfgang Betz Adapt 'module.json'
34:edda6a7238ec 2016-11-22 Wolfgang Betz Perform re-naming
33:c226804be492 2016-11-21 Wolfgang Betz Slightly better send timeout handling
32:e5272bafeeea 2016-11-21 Wolfgang Betz Add custom file "driverRFPhy.h"
31:a4d8072139f2 2016-11-21 Wolfgang Betz Enable standby mode
30:9c6dcfc47619 2016-11-18 Wolfgang Betz Improve RX error handling
29:fe1b113f71d0 2016-11-17 Wolfgang Betz Version ping-pong fot two Nucleo boards
28:6a71e15d5272 2016-11-17 Wolfgang Betz Backup commit
27:e68ffb6ac223 2016-11-15 Wolfgang Betz Working without tracing
26:45dae8d48029 2016-11-14 Wolfgang Betz Set SPI clock freq to 1MHz
25:2ec45788f28c 2016-11-14 Wolfgang Betz Enable the automatic RCO calibration
24:03e351bfc9c9 2016-11-10 Wolfgang Betz Relax bootup times
23:4192649f35da 2016-11-09 Wolfgang Betz Enable CSMA/CA