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).
stm-spirit1-rf-driver/NanostackRfPhySpirit1.h
- Committer:
- Wolfgang Betz
- Date:
- 2016-11-23
- Revision:
- 38:5deec3ab2025
- Child:
- 41:ebaceefad0de
File content as of revision 38:5deec3ab2025:
#ifndef NANOSTACK_RF_PHY_SPIRIT1_H_
#define NANOSTACK_RF_PHY_SPIRIT1_H_
#include <stdint.h>
#include "NanostackRfPhy.h"
#include "PinNames.h"
// Arduino pin defaults for convenience
#if !defined(SPIRIT1_SPI_MOSI)
#define SPIRIT1_SPI_MOSI D11
#endif
#if !defined(SPIRIT1_SPI_MISO)
#define SPIRIT1_SPI_MISO D12
#endif
#if !defined(SPIRIT1_SPI_SCLK)
#define SPIRIT1_SPI_SCLK D13
#endif
#if !defined(SPIRIT1_DEV_IRQ)
#define SPIRIT1_DEV_IRQ D9
#endif
#if !defined(SPIRIT1_DEV_CS)
#define SPIRIT1_DEV_CS D10
#endif
#if !defined(SPIRIT1_DEV_SDN)
#define SPIRIT1_DEV_SDN D2
#endif
#if !defined(SPIRIT1_BRD_LED)
#define SPIRIT1_BRD_LED NC
#endif
class NanostackRfPhySpirit1 : public NanostackRfPhy {
public:
NanostackRfPhySpirit1(PinName spi_mosi, PinName spi_miso, PinName spi_sclk,
PinName dev_irq, PinName dev_cs, PinName dev_sdn, PinName brd_led);
~NanostackRfPhySpirit1();
int8_t rf_register();
void rf_unregister();
void get_mac_address(uint8_t *mac);
void set_mac_address(uint8_t *mac);
private:
void rf_init(void);
const PinName _spi_mosi;
const PinName _spi_miso;
const PinName _spi_sclk;
const PinName _dev_irq;
const PinName _dev_cs;
const PinName _dev_sdn;
const PinName _brd_led;
};
#endif /* NANOSTACK_RF_PHY_SPIRIT1_H_ */
X-NUCLEO-IDS01A4 Sub-1GHz RF Expansion Board