# RadioLib: Class Hierarchy

Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:

AFSKClient | Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direct mode transmission using DIO pins
BellClient | Client for Bell modem communication. The public interface is the same as Arduino Serial
APRSClient | Client for APRS communication
ArduinoHal |
Stm32wlxHal | Hardware Abstraction Layer for STM32WL
AX25Client | Client for AX25 communication
AX25Frame | Abstraction of AX.25 frame format
BellModem_t | Definition of the Bell-compatible modem
DataRate_t | Common data rate structure
FSK4Client | Client for FSK-4 communication. The public interface is the same as Arduino Serial
FSKRate_t | Data rate structure interpretation in case FSK is used
ITA2String | ITA2-encoded string
LoRaRate_t | Data rate structure interpretation in case LoRa is used
LoRaWANBand_t | Structure to save information about LoRaWAN band
LoRaWANBandNum_t | IDs of all currently supported bands
LoRaWANChannel_t | Structure to save information about LoRaWAN channels. To save space, adjacent channels are saved in "spans"
LoRaWANChannelSpan_t | Structure to save information about LoRaWAN channels. To save space, adjacent channels are saved in "spans"
LoRaWANEvent_t | Structure to save extra information about uplink/downlink event
LoRaWANJoinEvent_t | Structure to save extra information about activation event
LoRaWANMacCommand_t | Structure to save information about MAC command
LoRaWANMacCommandQueue_t | Structure to hold information about a queue of MAC commands
LoRaWANMacSpec_t | MAC command specification structure
LoRaWANNode | LoRaWAN-compatible node (class A device)
LR11x0VersionInfo_t | Structure to report information about versions of the LR11x0 hardware and firmware
LR11x0WifiResult_t | Structure to save result of passive WiFi scan. This result only saves the basic information
LR11x0WifiResultFull_t | Structure to save result of passive WiFi scan. This result saves additional information alongside that in LR11x0WifiResult_t
LR11x0WifiResultExtended_t | Structure to save result of passive WiFi scan. This result saves additional information alongside that in LR11x0WifiResultFull_t. Only scans performed with RADIOLIB_LR11X0_WIFI_ACQ_MODE_FULL_BEACON acquisition mode can yield this result!
Module | Implements all common low-level methods to control the wireless module. Every module class contains one private instance of this class
STM32WLx_Module |
PagerClient | Client for Pager communication
PhysicalLayer | Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN. Also extracts some common module-independent methods. Using this interface class allows to use the protocols on various modules without much code duplicity. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class
CC1101 | Control class for CC1101 module
ExternalRadio | Class to interface with external radio hardware
LR11x0 | Base class for LR11x0 series. All derived classes for LR11x0 (e.g. LR1110 or LR1120) inherit from this base class. This class should not be instantiated directly from user code, only from its derived classes
LR1110 | Derived class for LR1110 modules
LR1120 | Derived class for LR1120 modules
LR1121 | Derived class for LR1121 modules
RF69 | Control class for RF69 module. Also serves as base class for SX1231
SX1231 | Control class for SX1231 module. Overrides some methods from RF69 due to different register values
SX1233 | Control class for SX1233 module. Overrides some methods from SX1231/RF69 due to different register values
SX126x | Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes
SX1262 | Derived class for SX1262 modules
LLCC68 | Derived class for LLCC68 modules
STM32WLx | Derived class for STM32WL modules
SX1261 | Derived class for SX1261 modules
SX1268 | Derived class for SX1268 modules
SX127x | Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes
SX1272 | Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic hardware and only differ in parameter ranges
SX1273 | Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter ranges
SX1278 | Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names)
SX1276 | Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter ranges
SX1277 | Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter ranges
SX1279 | Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter ranges
SX128x | Base class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes
SX1281 | Derived class for SX1281 modules
SX1280 | Derived class for SX1280 modules
SX1282 | Derived class for SX1282 modules
Si443x | Base class for Si443x series. All derived classes for Si443x (e.g. Si4431 or Si4432) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes
Si4432 | Derived class for Si4432 modules
Si4430 | Derived class for Si4430 modules
Si4431 | Derived class for Si4431 modules
nRF24 | Control class for nRF24 module
RadioLibAES128 | Class to perform AES encryption, decryption and CMAC
RadioLibBCH | Class to calculate Bose–Chaudhuri–Hocquenghem (BCH) class of forward error correction codes. In theory, this should be able to calculate an arbitrary BCH(N, K) code, but so far it was only tested for BCH(31, 21)
RadioLibCRC | Class to calculate CRCs of varying formats
RadioLibHal | Hardware abstraction library base interface
RadioLibPrint | Printing class, based on Arduino Print class with additional encodings
BellClient | Client for Bell modem communication. The public interface is the same as Arduino Serial
HellClient | Client for Hellschreiber transmissions
MorseClient | Client for Morse Code communication. The public interface is the same as Arduino Serial
RTTYClient | Client for RTTY communication. The public interface is the same as Arduino Serial
RFM22 | Only exists as alias for Si4432, since there seems to be no difference between RFM22 and Si4432 modules
RFM23 | Only exists as alias for Si4431, since there seems to be no difference between RFM23 and Si4431 modules
RFM95 | Only exists as alias for SX1276, since there seems to be no difference between RFM95 and SX1276 modules
RFM96 | Only exists as alias for SX1276, since there seems to be no difference between RFM96 and SX1276 modules
RFM97 | Only exists as alias for SX1277, since there seems to be no difference between RFM97 and SX1277 modules
RFM98 | Only exists as alias for SX1278, since there seems to be no difference between RFM98 and SX1278 modules
Module::RfSwitchMode_t | Description of RF switch pin states for a single mode. See setRfSwitchTable for details
Module::SPIConfig_t | SPI configuration structure
SSTVClient | Client for SSTV transmissions
SSTVMode_t | Structure to save data about supported SSTV modes
tone_t | Structure to save data about tone