RadioLib Universal wireless communication library for Arduino

List of all members
STM32WLx_Module Class Reference

`#include <STM32WLx_Module.h>`

Inheritance diagram for STM32WLx_Module:

## Additional Inherited Members
Public Types inherited from Module
enum | OpMode_t { MODE_END_OF_TABLE = 0 , MODE_IDLE , MODE_RX , MODE_TX }
typedef int16_t(* | SPIparseStatusCb_t) (uint8_t in)
| SPI status parsing callback typedef.
Public Member Functions inherited from Module
| Module (RadioLibHal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio=RADIOLIB_NC)
| Module constructor. More...
| Module (const Module &mod)
| Copy constructor. More...
Module & | operator= (const Module &mod)
| Overload for assignment operator. More...
void | init ()
| Initialize low-level module control.
void | term ()
| Terminate low-level module control.
int16_t | SPIgetRegValue (uint16_t reg, uint8_t msb=7, uint8_t lsb=0)
| SPI read method that automatically masks unused bits. This method is the preferred SPI read mechanism. More...
int16_t | SPIsetRegValue (uint16_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF)
| Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism. More...
void | SPIreadRegisterBurst (uint16_t reg, size_t numBytes, uint8_t *inBytes)
| SPI burst read method. More...
uint8_t | SPIreadRegister (uint16_t reg)
| SPI basic read method. Use of this method is reserved for special cases, SPIgetRegValue should be used instead. More...
void | SPIwriteRegisterBurst (uint16_t reg, uint8_t *data, size_t numBytes)
| SPI burst write method. More...
void | SPIwriteRegister (uint16_t reg, uint8_t data)
| SPI basic write method. Use of this method is reserved for special cases, SPIsetRegValue should be used instead. More...
void | SPItransfer (uint8_t cmd, uint16_t reg, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes)
| SPI single transfer method. More...
int16_t | SPIcheckStream ()
| Method to check the result of last SPI stream transfer. More...
int16_t | SPIreadStream (uint8_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
| Method to perform a read transaction with SPI stream. More...
int16_t | SPIreadStream (uint8_t *cmd, uint8_t cmdLen, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
| Method to perform a read transaction with SPI stream. More...
int16_t | SPIwriteStream (uint8_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
| Method to perform a write transaction with SPI stream. More...
int16_t | SPIwriteStream (uint8_t *cmd, uint8_t cmdLen, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
| Method to perform a write transaction with SPI stream. More...
int16_t | SPItransferStream (uint8_t *cmd, uint8_t cmdLen, bool write, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes, bool waitForGpio, uint32_t timeout)
| SPI single transfer method for modules with stream-type SPI interface (SX126x, SX128x etc.). More...
uint32_t | getCs () const
| Access method to get the pin number of SPI chip select. More...
uint32_t | getIrq () const
| Access method to get the pin number of interrupt/GPIO. More...
uint32_t | getRst () const
| Access method to get the pin number of hardware reset pin. More...
uint32_t | getGpio () const
| Access method to get the pin number of second interrupt/GPIO. More...
void | setRfSwitchPins (uint32_t rxEn, uint32_t txEn)
| Some modules contain external RF switch controlled by pins. This function gives RadioLib control over those pins to automatically switch between various modes: When idle both pins will be LOW, during TX the `txEn` pin will be HIGH, during RX the `rxPin` will be HIGH. More...
void | setRfSwitchTable (const uint32_t(&pins)[RFSWITCH_MAX_PINS], const RfSwitchMode_t table[])
| Some modules contain external RF switch controlled by pins. This function gives RadioLib control over those pins to automatically switch between various modes. More...
const RfSwitchMode_t * | findRfSwitchMode (uint8_t mode) const
| Find a mode in the RfSwitchTable. More...
void | setRfSwitchState (uint8_t mode)
| Set RF switch state. More...
void | waitForMicroseconds (uint32_t start, uint32_t len)
| Wait for time to elapse, either using the microsecond timer, or the TimerFlag. Note that in interrupt timing mode, it is up to the user to set up the timing interrupt! More...
void | regdump (uint16_t start, size_t len)
| Function to dump device registers as hex into the debug port. More...
Static Public Member Functions inherited from Module
static uint8_t | flipBits (uint8_t b)
| Function to reflect bits within a byte.
static uint16_t | flipBits16 (uint16_t i)
| Function to reflect bits within an integer.
static void | hexdump (uint8_t *data, size_t len, uint32_t offset=0, uint8_t width=1, bool be=false)
| Function to dump data as hex into the debug port. More...
Public Attributes inherited from Module
RadioLibHal * | hal = NULL
| Hardware abstraction layer to be used.
uint8_t | SPIreadCommand = 0b00000000
| Basic SPI read command. Defaults to 0x00.
uint8_t | SPIwriteCommand = 0b10000000
| Basic SPI write command. Defaults to 0x80.
uint8_t | SPInopCommand = 0x00
| Basic SPI no-operation command. Defaults to 0x00.
uint8_t | SPIstatusCommand = 0x00
| Basic SPI status read command. Defaults to 0x00.
uint8_t | SPIaddrWidth = 8
| SPI address width. Defaults to 8, currently only supports 8 and 16-bit addresses.
bool | SPIstreamType = false
| Whether the SPI interface is stream-type (e.g. SX126x) or register-type (e.g. SX127x). Defaults to register-type SPI interfaces.
int16_t | SPIstreamError = RADIOLIB_ERR_UNKNOWN
| The last recorded SPI stream error.
SPIparseStatusCb_t | SPIparseStatusCb = nullptr
| Callback to function that will parse the module-specific status codes to RadioLib status codes. Typically used for modules with SPI stream-type interface (e.g. SX126x/SX128x).
Static Public Attributes inherited from Module
static const size_t | RFSWITCH_MAX_PINS = 3
| The maximum number of pins supported by the RF switch code. More...

## Detailed Description

This is a subclass of Module to be used with the STM32WLx driver.

It is used to override some callbacks, allowing access to some of the radio control signals that are wired to internal registers instead of actual GPIO pins.

The documentation for this class was generated from the following files:

- src/modules/SX126x/STM32WLx_Module.h
- src/modules/SX126x/STM32WLx_Module.cpp