LoRaWANCH341 Library
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
RFM95 Class Reference

Class for handling RFM95 LoRa module. More...

#include <RFM95.hpp>

Collaboration diagram for RFM95:
Collaboration graph

Public Member Functions

 RFM95 (int device_index=0)
 Constructor.
 
 RFM95 (std::unique_ptr< SPIInterface > spi_interface)
 Constructor.
 
 ~RFM95 ()
 Destructor.
 
bool begin ()
 Initialize RFM95 module.
 
void end ()
 Close the connection.
 
void setFrequency (float freq_mhz)
 Set frequency in MHz.
 
float getFrequency ()
 Get current frequency in MHz.
 
void setTxPower (int level, bool use_pa_boost=true)
 Set transmit power level.
 
int getTxPower ()
 Get current transmit power level.
 
void setSpreadingFactor (int sf)
 Set spreading factor (6-12)
 
int getSpreadingFactor ()
 Get current spreading factor.
 
void setBandwidth (float bw_khz)
 Set bandwidth in kHz (7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250, 500)
 
float getBandwidth ()
 Get current bandwidth in kHz.
 
void setCodingRate (int denominator)
 Set coding rate denominator (5-8, giving rates of 4/5, 4/6, 4/7, 4/8)
 
int getCodingRate ()
 Get current coding rate denominator.
 
void setPreambleLength (int length)
 Set preamble length (6-65535)
 
int getPreambleLength ()
 Get current preamble length.
 
void setInvertIQ (bool invert=false)
 Set IQ inversion (used for LoRaWAN downlinks)
 
bool getInvertIQ ()
 Check if IQ inversion is enabled.
 
void setSyncWord (uint8_t sync_word)
 Set sync word.
 
uint8_t getSyncWord ()
 Get current sync word.
 
void setLNA (int lna_gain=-1, bool lna_boost=true)
 Set LNA gain and boost.
 
uint8_t getLNA ()
 Get current LNA settings.
 
void setAutoAGC (bool enable)
 Enable or disable automatic gain control.
 
bool getAutoAGC ()
 Check if automatic gain control is enabled.
 
void clearIRQFlags ()
 Clear all IRQ flags.
 
uint8_t getIRQFlags ()
 Get current IRQ flags.
 
void clearIRQFlagTxDone ()
 Clear TX done flag.
 
void clearIRQFlagRxDone ()
 Clear RX done flag.
 
bool getRxDone ()
 Check if RX done flag is set.
 
bool getTxDone ()
 Check if TX done flag is set.
 
bool getRxError ()
 Check if RX error flag is set.
 
bool getValidHeader ()
 Check if valid header flag is set.
 
bool getCADDone ()
 Check if CAD done flag is set.
 
bool getCADDetected ()
 Check if CAD detected flag is set.
 
bool getPayloadCRCError ()
 Check if payload CRC error flag is set.
 
void setLoRaMode (bool enable=true)
 Enable or disable LoRa mode.
 
bool send (const std::vector< uint8_t > &data, bool invert_iq=false)
 Send data packet.
 
std::vector< uint8_t > receive (float timeout=5.0, bool invert_iq=false)
 Receive data packet.
 
void setContinuousReceive ()
 Set continuous receive mode.
 
void standbyMode ()
 Set standby mode.
 
void sleepMode ()
 Set sleep mode.
 
void resetPtrRx ()
 Reset RX pointer.
 
uint8_t getFifoRxCurrentAddr ()
 Get current RX FIFO address.
 
uint8_t getRxNbBytes ()
 Get number of received bytes.
 
std::vector< uint8_t > readPayload ()
 Read received data packet.
 
float getRSSI ()
 Get current RSSI in dBm.
 
float getSNR ()
 Get last packet SNR in dB.
 
uint8_t readRegister (uint8_t address)
 Read a register value.
 
void writeRegister (uint8_t address, uint8_t value)
 Write a register value.
 
void receiveMode ()
 Put the module in continuous receive mode.
 
void setDIOMapping (uint8_t _dio3=0x40, uint8_t _dio4=0x00)
 Configure DIO pins for TX/RX indication.
 
bool calibrateTemperature (float actual_temp)
 Calibrate temperature sensor with a reference temperature.
 
float readTemperature ()
 Read calibrated temperature.
 
bool setBeaconMode (int interval_ms, const std::vector< uint8_t > &payload)
 Configure beacon mode with automatic periodic transmission.
 
void stopBeaconMode ()
 Stop beacon mode.
 
void checkOperatingMode ()
 Check and print current operating mode.
 
void checkIRQFlags ()
 Check and print IRQ flags.
 
void printRegisters ()
 Print key registers for debugging.
 
bool testCommunication ()
 Test basic SPI communication.
 
uint8_t readVersionRegister ()
 Read VERSION register (0x42) directly.
 

Static Public Attributes

static constexpr uint8_t REG_FIFO = 0x00
 
static constexpr uint8_t REG_OP_MODE = 0x01
 
static constexpr uint8_t REG_FRF_MSB = 0x06
 
static constexpr uint8_t REG_FRF_MID = 0x07
 
static constexpr uint8_t REG_FRF_LSB = 0x08
 
static constexpr uint8_t REG_PA_CONFIG = 0x09
 
static constexpr uint8_t REG_PA_RAMP = 0x0A
 
static constexpr uint8_t REG_OCP = 0x0B
 
static constexpr uint8_t REG_LNA = 0x0C
 
static constexpr uint8_t REG_FIFO_ADDR_PTR = 0x0D
 
static constexpr uint8_t REG_FIFO_TX_BASE_ADDR = 0x0E
 
static constexpr uint8_t REG_FIFO_RX_BASE_ADDR = 0x0F
 
static constexpr uint8_t REG_FIFO_RX_CURRENT_ADDR = 0x10
 
static constexpr uint8_t REG_IRQ_FLAGS_MASK = 0x11
 
static constexpr uint8_t REG_IRQ_FLAGS = 0x12
 
static constexpr uint8_t REG_RX_NB_BYTES = 0x13
 
static constexpr uint8_t REG_PKT_SNR_VALUE = 0x19
 
static constexpr uint8_t REG_PKT_RSSI_VALUE = 0x1A
 
static constexpr uint8_t REG_MODEM_CONFIG_1 = 0x1D
 
static constexpr uint8_t REG_MODEM_CONFIG_2 = 0x1E
 
static constexpr uint8_t REG_PREAMBLE_MSB = 0x20
 
static constexpr uint8_t REG_PREAMBLE_LSB = 0x21
 
static constexpr uint8_t REG_PAYLOAD_LENGTH = 0x22
 
static constexpr uint8_t REG_MODEM_CONFIG_3 = 0x26
 
static constexpr uint8_t REG_FREQ_ERROR_MSB = 0x28
 
static constexpr uint8_t REG_FREQ_ERROR_MID = 0x29
 
static constexpr uint8_t REG_FREQ_ERROR_LSB = 0x2A
 
static constexpr uint8_t REG_RSSI_WIDEBAND = 0x2C
 
static constexpr uint8_t REG_DETECTION_OPTIMIZE = 0x31
 
static constexpr uint8_t REG_INVERTIQ = 0x33
 
static constexpr uint8_t REG_DETECTION_THRESHOLD = 0x37
 
static constexpr uint8_t REG_SYNC_WORD = 0x39
 
static constexpr uint8_t REG_INVERTIQ2 = 0x3B
 
static constexpr uint8_t REG_DIO_MAPPING_1 = 0x40
 
static constexpr uint8_t REG_DIO_MAPPING_2 = 0x41
 
static constexpr uint8_t REG_VERSION = 0x42
 
static constexpr uint8_t REG_PA_DAC = 0x4D
 
static constexpr uint8_t MODE_SLEEP = 0x00
 
static constexpr uint8_t MODE_STDBY = 0x01
 
static constexpr uint8_t MODE_TX = 0x03
 
static constexpr uint8_t MODE_RX_CONTINUOUS = 0x05
 
static constexpr uint8_t MODE_RX_SINGLE = 0x06
 
static constexpr uint8_t PA_BOOST = 0x80
 
static constexpr uint8_t IRQ_CAD_DONE_MASK = 0x01
 
static constexpr uint8_t IRQ_CAD_DETECTED_MASK = 0x02
 
static constexpr uint8_t IRQ_RX_TIMEOUT_MASK = 0x04
 
static constexpr uint8_t IRQ_TX_DONE_MASK = 0x08
 
static constexpr uint8_t IRQ_VALID_HEADER_MASK = 0x10
 
static constexpr uint8_t IRQ_PAYLOAD_CRC_ERROR_MASK = 0x20
 
static constexpr uint8_t IRQ_RX_DONE_MASK = 0x40
 
static constexpr uint8_t IRQ_TX_TIMEOUT_MASK = 0x80
 
static constexpr uint8_t DIO0_RX_DONE = 0x00
 
static constexpr uint8_t DIO0_TX_DONE = 0x40
 
static constexpr uint8_t DIO1_RX_TIMEOUT = 0x00
 
static constexpr uint8_t DIO3_TX_DONE = 0x40
 
static constexpr uint8_t DIO4_RX_DONE = 0x00
 
static constexpr uint8_t DIO_TX_PIN = 0x03
 
static constexpr uint8_t DIO_RX_PIN = 0x04
 

Private Attributes

std::unique_ptr< SPIInterfacespi
 Unique pointer to SPI interface implementation.
 

Detailed Description

Class for handling RFM95 LoRa module.

This class provides methods to configure and use the RFM95 LoRa module. It includes methods for setting frequency, transmit power, spreading factor, bandwidth, coding rate, preamble length, and other parameters. It also provides methods for sending and receiving data packets, as well as handling IRQ flags.

Constructor & Destructor Documentation

◆ RFM95() [1/2]

RFM95::RFM95 ( int  device_index = 0)

Constructor.

Parameters
device_indexIndex of CH341 device to use (default: 0)

◆ RFM95() [2/2]

RFM95::RFM95 ( std::unique_ptr< SPIInterface spi_interface)

Constructor.

Parameters
spi_interfaceUnique pointer to SPI interface implementation

◆ ~RFM95()

RFM95::~RFM95 ( )

Destructor.

Here is the call graph for this function:

Member Function Documentation

◆ begin()

bool RFM95::begin ( )

Initialize RFM95 module.

Returns
true if successful, false otherwise
Here is the call graph for this function:

◆ calibrateTemperature()

bool RFM95::calibrateTemperature ( float  actual_temp)

Calibrate temperature sensor with a reference temperature.

Parameters
actual_tempActual temperature measured with external sensor in Celsius
Returns
True if calibration successful
Here is the call graph for this function:

◆ checkIRQFlags()

void RFM95::checkIRQFlags ( )

Check and print IRQ flags.

Here is the call graph for this function:

◆ checkOperatingMode()

void RFM95::checkOperatingMode ( )

Check and print current operating mode.

Here is the call graph for this function:

◆ clearIRQFlagRxDone()

void RFM95::clearIRQFlagRxDone ( )

Clear RX done flag.

Here is the call graph for this function:

◆ clearIRQFlags()

void RFM95::clearIRQFlags ( )

Clear all IRQ flags.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clearIRQFlagTxDone()

void RFM95::clearIRQFlagTxDone ( )

Clear TX done flag.

Here is the call graph for this function:

◆ end()

void RFM95::end ( )

Close the connection.

Here is the caller graph for this function:

◆ getAutoAGC()

bool RFM95::getAutoAGC ( )

Check if automatic gain control is enabled.

Returns
True if AGC is enabled
Here is the call graph for this function:

◆ getBandwidth()

float RFM95::getBandwidth ( )

Get current bandwidth in kHz.

Returns
Bandwidth in kHz
Here is the call graph for this function:

◆ getCADDetected()

bool RFM95::getCADDetected ( )

Check if CAD detected flag is set.

Returns
True if CAD detected
Here is the call graph for this function:

◆ getCADDone()

bool RFM95::getCADDone ( )

Check if CAD done flag is set.

Returns
True if CAD done
Here is the call graph for this function:

◆ getCodingRate()

int RFM95::getCodingRate ( )

Get current coding rate denominator.

Returns
Coding rate denominator
Here is the call graph for this function:

◆ getFifoRxCurrentAddr()

uint8_t RFM95::getFifoRxCurrentAddr ( )

Get current RX FIFO address.

Returns
RX FIFO address
Here is the call graph for this function:

◆ getFrequency()

float RFM95::getFrequency ( )

Get current frequency in MHz.

Returns
Frequency in MHz
Here is the call graph for this function:

◆ getInvertIQ()

bool RFM95::getInvertIQ ( )

Check if IQ inversion is enabled.

Returns
True if IQ inversion is enabled
Here is the call graph for this function:

◆ getIRQFlags()

uint8_t RFM95::getIRQFlags ( )

Get current IRQ flags.

Returns
IRQ flags
Here is the call graph for this function:

◆ getLNA()

uint8_t RFM95::getLNA ( )

Get current LNA settings.

Returns
LNA settings
Here is the call graph for this function:

◆ getPayloadCRCError()

bool RFM95::getPayloadCRCError ( )

Check if payload CRC error flag is set.

Returns
True if payload CRC error
Here is the call graph for this function:

◆ getPreambleLength()

int RFM95::getPreambleLength ( )

Get current preamble length.

Returns
Preamble length
Here is the call graph for this function:

◆ getRSSI()

float RFM95::getRSSI ( )

Get current RSSI in dBm.

Returns
RSSI in dBm
Here is the call graph for this function:

◆ getRxDone()

bool RFM95::getRxDone ( )

Check if RX done flag is set.

Returns
True if RX done
Here is the call graph for this function:

◆ getRxError()

bool RFM95::getRxError ( )

Check if RX error flag is set.

Returns
True if RX error
Here is the call graph for this function:

◆ getRxNbBytes()

uint8_t RFM95::getRxNbBytes ( )

Get number of received bytes.

Returns
Number of bytes
Here is the call graph for this function:

◆ getSNR()

float RFM95::getSNR ( )

Get last packet SNR in dB.

Returns
SNR in dB
Here is the call graph for this function:

◆ getSpreadingFactor()

int RFM95::getSpreadingFactor ( )

Get current spreading factor.

Returns
Spreading factor
Here is the call graph for this function:

◆ getSyncWord()

uint8_t RFM95::getSyncWord ( )

Get current sync word.

Returns
Sync word
Here is the call graph for this function:

◆ getTxDone()

bool RFM95::getTxDone ( )

Check if TX done flag is set.

Returns
True if TX done
Here is the call graph for this function:

◆ getTxPower()

int RFM95::getTxPower ( )

Get current transmit power level.

Returns
Power level
Here is the call graph for this function:

◆ getValidHeader()

bool RFM95::getValidHeader ( )

Check if valid header flag is set.

Returns
True if valid header
Here is the call graph for this function:

◆ printRegisters()

void RFM95::printRegisters ( )

Print key registers for debugging.

Here is the call graph for this function:

◆ readPayload()

std::vector< uint8_t > RFM95::readPayload ( )

Read received data packet.

Returns
Received data
Here is the call graph for this function:

◆ readRegister()

uint8_t RFM95::readRegister ( uint8_t  address)

Read a register value.

Parameters
addressRegister address
Returns
Register value
Here is the caller graph for this function:

◆ readTemperature()

float RFM95::readTemperature ( )

Read calibrated temperature.

Returns
Temperature in Celsius
Here is the call graph for this function:

◆ readVersionRegister()

uint8_t RFM95::readVersionRegister ( )

Read VERSION register (0x42) directly.

Returns
VERSION register value
Here is the caller graph for this function:

◆ receive()

std::vector< uint8_t > RFM95::receive ( float  timeout = 5.0,
bool  invert_iq = false 
)

Receive data packet.

Parameters
timeoutMaximum time to wait for packet in seconds
invert_iqTrue to receive with inverted IQ
Returns
Received data or null vector if timeout or error
Here is the call graph for this function:

◆ receiveMode()

void RFM95::receiveMode ( )

Put the module in continuous receive mode.

Here is the call graph for this function:

◆ resetPtrRx()

void RFM95::resetPtrRx ( )

Reset RX pointer.

Here is the call graph for this function:

◆ send()

bool RFM95::send ( const std::vector< uint8_t > &  data,
bool  invert_iq = false 
)

Send data packet.

Parameters
dataData to send (max 255 bytes)
invert_iqTrue to send with inverted IQ (LoRaWAN downlinks)
Returns
True if send successful
Here is the call graph for this function:

◆ setAutoAGC()

void RFM95::setAutoAGC ( bool  enable)

Enable or disable automatic gain control.

Parameters
enableTrue to enable, False to disable
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setBandwidth()

void RFM95::setBandwidth ( float  bw_khz)

Set bandwidth in kHz (7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250, 500)

Parameters
bw_khzBandwidth in kHz
Here is the call graph for this function:

◆ setBeaconMode()

bool RFM95::setBeaconMode ( int  interval_ms,
const std::vector< uint8_t > &  payload 
)

Configure beacon mode with automatic periodic transmission.

Parameters
interval_msInterval between transmissions in milliseconds
payloadData to transmit in each beacon
Returns
True if successful
Here is the call graph for this function:

◆ setCodingRate()

void RFM95::setCodingRate ( int  denominator)

Set coding rate denominator (5-8, giving rates of 4/5, 4/6, 4/7, 4/8)

Parameters
denominatorCoding rate denominator
Here is the call graph for this function:

◆ setContinuousReceive()

void RFM95::setContinuousReceive ( )

Set continuous receive mode.

Here is the call graph for this function:

◆ setDIOMapping()

void RFM95::setDIOMapping ( uint8_t  _dio3 = 0x40,
uint8_t  _dio4 = 0x00 
)

Configure DIO pins for TX/RX indication.

Parameters
_dio3DIO3 mapping
_dio4DIO4 mapping
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setFrequency()

void RFM95::setFrequency ( float  freq_mhz)

Set frequency in MHz.

Parameters
freq_mhzFrequency in MHz
Here is the call graph for this function:

◆ setInvertIQ()

void RFM95::setInvertIQ ( bool  invert = false)

Set IQ inversion (used for LoRaWAN downlinks)

Parameters
invertTrue to invert IQ, False for normal operation
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setLNA()

void RFM95::setLNA ( int  lna_gain = -1,
bool  lna_boost = true 
)

Set LNA gain and boost.

Parameters
lna_gainLNA gain
lna_boostLNA boost
Here is the call graph for this function:

◆ setLoRaMode()

void RFM95::setLoRaMode ( bool  enable = true)

Enable or disable LoRa mode.

Parameters
enableTrue to enable, False to disable
Here is the call graph for this function:

◆ setPreambleLength()

void RFM95::setPreambleLength ( int  length)

Set preamble length (6-65535)

Parameters
lengthPreamble length
Here is the call graph for this function:

◆ setSpreadingFactor()

void RFM95::setSpreadingFactor ( int  sf)

Set spreading factor (6-12)

Parameters
sfSpreading factor
Here is the call graph for this function:

◆ setSyncWord()

void RFM95::setSyncWord ( uint8_t  sync_word)

Set sync word.

Parameters
sync_wordSync word
Here is the call graph for this function:

◆ setTxPower()

void RFM95::setTxPower ( int  level,
bool  use_pa_boost = true 
)

Set transmit power level.

Parameters
levelPower level in dBm (2-20 for PA_BOOST, 0-15 for RFO)
use_pa_boostUse PA_BOOST output pin
Here is the call graph for this function:

◆ sleepMode()

void RFM95::sleepMode ( )

Set sleep mode.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ standbyMode()

void RFM95::standbyMode ( )

Set standby mode.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stopBeaconMode()

void RFM95::stopBeaconMode ( )

Stop beacon mode.

Here is the call graph for this function:

◆ testCommunication()

bool RFM95::testCommunication ( )

Test basic SPI communication.

Returns
True if test successful
Here is the call graph for this function:

◆ writeRegister()

void RFM95::writeRegister ( uint8_t  address,
uint8_t  value 
)

Write a register value.

Parameters
addressRegister address
valueValue to write
Here is the caller graph for this function:

Member Data Documentation

◆ DIO0_RX_DONE

constexpr uint8_t RFM95::DIO0_RX_DONE = 0x00
staticconstexpr

◆ DIO0_TX_DONE

constexpr uint8_t RFM95::DIO0_TX_DONE = 0x40
staticconstexpr

◆ DIO1_RX_TIMEOUT

constexpr uint8_t RFM95::DIO1_RX_TIMEOUT = 0x00
staticconstexpr

◆ DIO3_TX_DONE

constexpr uint8_t RFM95::DIO3_TX_DONE = 0x40
staticconstexpr

◆ DIO4_RX_DONE

constexpr uint8_t RFM95::DIO4_RX_DONE = 0x00
staticconstexpr

◆ DIO_RX_PIN

constexpr uint8_t RFM95::DIO_RX_PIN = 0x04
staticconstexpr

◆ DIO_TX_PIN

constexpr uint8_t RFM95::DIO_TX_PIN = 0x03
staticconstexpr

◆ IRQ_CAD_DETECTED_MASK

constexpr uint8_t RFM95::IRQ_CAD_DETECTED_MASK = 0x02
staticconstexpr

◆ IRQ_CAD_DONE_MASK

constexpr uint8_t RFM95::IRQ_CAD_DONE_MASK = 0x01
staticconstexpr

◆ IRQ_PAYLOAD_CRC_ERROR_MASK

constexpr uint8_t RFM95::IRQ_PAYLOAD_CRC_ERROR_MASK = 0x20
staticconstexpr

◆ IRQ_RX_DONE_MASK

constexpr uint8_t RFM95::IRQ_RX_DONE_MASK = 0x40
staticconstexpr

◆ IRQ_RX_TIMEOUT_MASK

constexpr uint8_t RFM95::IRQ_RX_TIMEOUT_MASK = 0x04
staticconstexpr

◆ IRQ_TX_DONE_MASK

constexpr uint8_t RFM95::IRQ_TX_DONE_MASK = 0x08
staticconstexpr

◆ IRQ_TX_TIMEOUT_MASK

constexpr uint8_t RFM95::IRQ_TX_TIMEOUT_MASK = 0x80
staticconstexpr

◆ IRQ_VALID_HEADER_MASK

constexpr uint8_t RFM95::IRQ_VALID_HEADER_MASK = 0x10
staticconstexpr

◆ MODE_RX_CONTINUOUS

constexpr uint8_t RFM95::MODE_RX_CONTINUOUS = 0x05
staticconstexpr

◆ MODE_RX_SINGLE

constexpr uint8_t RFM95::MODE_RX_SINGLE = 0x06
staticconstexpr

◆ MODE_SLEEP

constexpr uint8_t RFM95::MODE_SLEEP = 0x00
staticconstexpr

◆ MODE_STDBY

constexpr uint8_t RFM95::MODE_STDBY = 0x01
staticconstexpr

◆ MODE_TX

constexpr uint8_t RFM95::MODE_TX = 0x03
staticconstexpr

◆ PA_BOOST

constexpr uint8_t RFM95::PA_BOOST = 0x80
staticconstexpr

◆ REG_DETECTION_OPTIMIZE

constexpr uint8_t RFM95::REG_DETECTION_OPTIMIZE = 0x31
staticconstexpr

◆ REG_DETECTION_THRESHOLD

constexpr uint8_t RFM95::REG_DETECTION_THRESHOLD = 0x37
staticconstexpr

◆ REG_DIO_MAPPING_1

constexpr uint8_t RFM95::REG_DIO_MAPPING_1 = 0x40
staticconstexpr

◆ REG_DIO_MAPPING_2

constexpr uint8_t RFM95::REG_DIO_MAPPING_2 = 0x41
staticconstexpr

◆ REG_FIFO

constexpr uint8_t RFM95::REG_FIFO = 0x00
staticconstexpr

◆ REG_FIFO_ADDR_PTR

constexpr uint8_t RFM95::REG_FIFO_ADDR_PTR = 0x0D
staticconstexpr

◆ REG_FIFO_RX_BASE_ADDR

constexpr uint8_t RFM95::REG_FIFO_RX_BASE_ADDR = 0x0F
staticconstexpr

◆ REG_FIFO_RX_CURRENT_ADDR

constexpr uint8_t RFM95::REG_FIFO_RX_CURRENT_ADDR = 0x10
staticconstexpr

◆ REG_FIFO_TX_BASE_ADDR

constexpr uint8_t RFM95::REG_FIFO_TX_BASE_ADDR = 0x0E
staticconstexpr

◆ REG_FREQ_ERROR_LSB

constexpr uint8_t RFM95::REG_FREQ_ERROR_LSB = 0x2A
staticconstexpr

◆ REG_FREQ_ERROR_MID

constexpr uint8_t RFM95::REG_FREQ_ERROR_MID = 0x29
staticconstexpr

◆ REG_FREQ_ERROR_MSB

constexpr uint8_t RFM95::REG_FREQ_ERROR_MSB = 0x28
staticconstexpr

◆ REG_FRF_LSB

constexpr uint8_t RFM95::REG_FRF_LSB = 0x08
staticconstexpr

◆ REG_FRF_MID

constexpr uint8_t RFM95::REG_FRF_MID = 0x07
staticconstexpr

◆ REG_FRF_MSB

constexpr uint8_t RFM95::REG_FRF_MSB = 0x06
staticconstexpr

◆ REG_INVERTIQ

constexpr uint8_t RFM95::REG_INVERTIQ = 0x33
staticconstexpr

◆ REG_INVERTIQ2

constexpr uint8_t RFM95::REG_INVERTIQ2 = 0x3B
staticconstexpr

◆ REG_IRQ_FLAGS

constexpr uint8_t RFM95::REG_IRQ_FLAGS = 0x12
staticconstexpr

◆ REG_IRQ_FLAGS_MASK

constexpr uint8_t RFM95::REG_IRQ_FLAGS_MASK = 0x11
staticconstexpr

◆ REG_LNA

constexpr uint8_t RFM95::REG_LNA = 0x0C
staticconstexpr

◆ REG_MODEM_CONFIG_1

constexpr uint8_t RFM95::REG_MODEM_CONFIG_1 = 0x1D
staticconstexpr

◆ REG_MODEM_CONFIG_2

constexpr uint8_t RFM95::REG_MODEM_CONFIG_2 = 0x1E
staticconstexpr

◆ REG_MODEM_CONFIG_3

constexpr uint8_t RFM95::REG_MODEM_CONFIG_3 = 0x26
staticconstexpr

◆ REG_OCP

constexpr uint8_t RFM95::REG_OCP = 0x0B
staticconstexpr

◆ REG_OP_MODE

constexpr uint8_t RFM95::REG_OP_MODE = 0x01
staticconstexpr

◆ REG_PA_CONFIG

constexpr uint8_t RFM95::REG_PA_CONFIG = 0x09
staticconstexpr

◆ REG_PA_DAC

constexpr uint8_t RFM95::REG_PA_DAC = 0x4D
staticconstexpr

◆ REG_PA_RAMP

constexpr uint8_t RFM95::REG_PA_RAMP = 0x0A
staticconstexpr

◆ REG_PAYLOAD_LENGTH

constexpr uint8_t RFM95::REG_PAYLOAD_LENGTH = 0x22
staticconstexpr

◆ REG_PKT_RSSI_VALUE

constexpr uint8_t RFM95::REG_PKT_RSSI_VALUE = 0x1A
staticconstexpr

◆ REG_PKT_SNR_VALUE

constexpr uint8_t RFM95::REG_PKT_SNR_VALUE = 0x19
staticconstexpr

◆ REG_PREAMBLE_LSB

constexpr uint8_t RFM95::REG_PREAMBLE_LSB = 0x21
staticconstexpr

◆ REG_PREAMBLE_MSB

constexpr uint8_t RFM95::REG_PREAMBLE_MSB = 0x20
staticconstexpr

◆ REG_RSSI_WIDEBAND

constexpr uint8_t RFM95::REG_RSSI_WIDEBAND = 0x2C
staticconstexpr

◆ REG_RX_NB_BYTES

constexpr uint8_t RFM95::REG_RX_NB_BYTES = 0x13
staticconstexpr

◆ REG_SYNC_WORD

constexpr uint8_t RFM95::REG_SYNC_WORD = 0x39
staticconstexpr

◆ REG_VERSION

constexpr uint8_t RFM95::REG_VERSION = 0x42
staticconstexpr

◆ spi

std::unique_ptr<SPIInterface> RFM95::spi
private

Unique pointer to SPI interface implementation.


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