1#if !defined(_RADIOLIB_TYPES_H)
2#define _RADIOLIB_TYPES_H
5#include "BuildOptUser.h"
17#define RADIOLIB_SHAPING_NONE (0x00)
22#define RADIOLIB_SHAPING_0_3 (0x01)
27#define RADIOLIB_SHAPING_0_5 (0x02)
32#define RADIOLIB_SHAPING_0_7 (0x03)
37#define RADIOLIB_SHAPING_1_0 (0x04)
52#define RADIOLIB_ENCODING_NRZ (0x00)
57#define RADIOLIB_ENCODING_MANCHESTER (0x01)
62#define RADIOLIB_ENCODING_WHITENING (0x02)
67#define RADIOLIB_ENCODING_MANCHESTER_INV (0x03)
82#define RADIOLIB_STANDBY_DEFAULT (0x00)
87#define RADIOLIB_STANDBY_WARM (0x01)
92#define RADIOLIB_STANDBY_COLD (0x02)
109#define RADIOLIB_ERR_NONE (0)
115#define RADIOLIB_ERR_UNKNOWN (-1)
123#define RADIOLIB_ERR_CHIP_NOT_FOUND (-2)
128#define RADIOLIB_ERR_MEMORY_ALLOCATION_FAILED (-3)
133#define RADIOLIB_ERR_PACKET_TOO_LONG (-4)
138#define RADIOLIB_ERR_TX_TIMEOUT (-5)
143#define RADIOLIB_ERR_RX_TIMEOUT (-6)
149#define RADIOLIB_ERR_CRC_MISMATCH (-7)
154#define RADIOLIB_ERR_INVALID_BANDWIDTH (-8)
159#define RADIOLIB_ERR_INVALID_SPREADING_FACTOR (-9)
164#define RADIOLIB_ERR_INVALID_CODING_RATE (-10)
169#define RADIOLIB_ERR_INVALID_BIT_RANGE (-11)
174#define RADIOLIB_ERR_INVALID_FREQUENCY (-12)
179#define RADIOLIB_ERR_INVALID_OUTPUT_POWER (-13)
184#define RADIOLIB_CHANNEL_FREE (-15)
189#define RADIOLIB_ERR_SPI_WRITE_FAILED (-16)
194#define RADIOLIB_ERR_INVALID_CURRENT_LIMIT (-17)
199#define RADIOLIB_ERR_INVALID_PREAMBLE_LENGTH (-18)
204#define RADIOLIB_ERR_INVALID_GAIN (-19)
210#define RADIOLIB_ERR_WRONG_MODEM (-20)
215#define RADIOLIB_ERR_INVALID_NUM_SAMPLES (-21)
220#define RADIOLIB_ERR_INVALID_RSSI_OFFSET (-22)
225#define RADIOLIB_ERR_INVALID_ENCODING (-23)
230#define RADIOLIB_ERR_LORA_HEADER_DAMAGED (-24)
235#define RADIOLIB_ERR_UNSUPPORTED (-25)
240#define RADIOLIB_ERR_INVALID_DIO_PIN (-26)
245#define RADIOLIB_ERR_INVALID_RSSI_THRESHOLD (-27)
250#define RADIOLIB_ERR_NULL_POINTER (-28)
255#define RADIOLIB_ERR_INVALID_IRQ (-29)
260#define RADIOLIB_ERR_PACKET_TOO_SHORT (-30)
267#define RADIOLIB_ERR_INVALID_BIT_RATE (-101)
272#define RADIOLIB_ERR_INVALID_FREQUENCY_DEVIATION (-102)
277#define RADIOLIB_ERR_INVALID_BIT_RATE_BW_RATIO (-103)
282#define RADIOLIB_ERR_INVALID_RX_BANDWIDTH (-104)
287#define RADIOLIB_ERR_INVALID_SYNC_WORD (-105)
292#define RADIOLIB_ERR_INVALID_DATA_SHAPING (-106)
297#define RADIOLIB_ERR_INVALID_MODULATION (-107)
302#define RADIOLIB_ERR_INVALID_OOK_RSSI_PEAK_TYPE (-108)
307#define RADIOLIB_ERR_INVALID_BIT_RATE_TOLERANCE_VALUE (-109)
314#define RADIOLIB_ERR_INVALID_SYMBOL (-201)
319#define RADIOLIB_ERR_INVALID_MIC_E_TELEMETRY (-202)
324#define RADIOLIB_ERR_INVALID_MIC_E_TELEMETRY_LENGTH (-203)
329#define RADIOLIB_ERR_MIC_E_TELEMETRY_STATUS (-204)
336#define RADIOLIB_ERR_INVALID_SSDV_MODE (-301)
341#define RADIOLIB_ERR_INVALID_IMAGE_SIZE (-302)
346#define RADIOLIB_ERR_INVALID_IMAGE_QUALITY (-303)
351#define RADIOLIB_ERR_INVALID_SUBSAMPLING (-304)
358#define RADIOLIB_ERR_INVALID_RTTY_SHIFT (-401)
363#define RADIOLIB_ERR_UNSUPPORTED_ENCODING (-402)
370#define RADIOLIB_ERR_INVALID_DATA_RATE (-501)
375#define RADIOLIB_ERR_INVALID_ADDRESS_WIDTH (-502)
380#define RADIOLIB_ERR_INVALID_PIPE_NUMBER (-503)
385#define RADIOLIB_ERR_ACK_NOT_RECEIVED (-504)
392#define RADIOLIB_ERR_INVALID_NUM_BROAD_ADDRS (-601)
399#define RADIOLIB_ERR_INVALID_CRC_CONFIGURATION (-701)
404#define RADIOLIB_LORA_DETECTED (-702)
409#define RADIOLIB_ERR_INVALID_TCXO_VOLTAGE (-703)
414#define RADIOLIB_ERR_INVALID_MODULATION_PARAMETERS (-704)
419#define RADIOLIB_ERR_SPI_CMD_TIMEOUT (-705)
424#define RADIOLIB_ERR_SPI_CMD_INVALID (-706)
434#define RADIOLIB_ERR_SPI_CMD_FAILED (-707)
442#define RADIOLIB_ERR_INVALID_SLEEP_PERIOD (-708)
449#define RADIOLIB_ERR_INVALID_RX_PERIOD (-709)
454#define RADIOLIB_ERR_INVALID_NTC_PARAMETERS (-710)
463#define RADIOLIB_ERR_INVALID_CALLSIGN (-801)
470#define RADIOLIB_ERR_INVALID_NUM_REPEATERS (-802)
477#define RADIOLIB_ERR_INVALID_REPEATER_CALLSIGN (-803)
484#define RADIOLIB_ERR_RANGING_TIMEOUT (-901)
491#define RADIOLIB_ERR_INVALID_PAYLOAD (-1001)
496#define RADIOLIB_ERR_ADDRESS_NOT_FOUND (-1002)
501#define RADIOLIB_ERR_INVALID_FUNCTION (-1003)
508#define RADIOLIB_ERR_NETWORK_NOT_JOINED (-1101)
513#define RADIOLIB_ERR_DOWNLINK_MALFORMED (-1102)
518#define RADIOLIB_ERR_INVALID_REVISION (-1103)
523#define RADIOLIB_ERR_INVALID_PORT (-1104)
528#define RADIOLIB_ERR_NO_RX_WINDOW (-1105)
533#define RADIOLIB_ERR_NO_CHANNEL_AVAILABLE (-1106)
538#define RADIOLIB_ERR_INVALID_CID (-1107)
543#define RADIOLIB_ERR_UPLINK_UNAVAILABLE (-1108)
548#define RADIOLIB_ERR_COMMAND_QUEUE_FULL (-1109)
553#define RADIOLIB_ERR_COMMAND_QUEUE_ITEM_NOT_FOUND (-1110)
558#define RADIOLIB_ERR_JOIN_NONCE_INVALID (-1111)
563#define RADIOLIB_ERR_MIC_MISMATCH (-1112)
568#define RADIOLIB_ERR_MULTICAST_FCNT_INVALID (-1113)
573#define RADIOLIB_ERR_DWELL_TIME_EXCEEDED (-1114)
578#define RADIOLIB_ERR_CHECKSUM_MISMATCH (-1115)
583#define RADIOLIB_ERR_NO_JOIN_ACCEPT (-1116)
588#define RADIOLIB_LORAWAN_SESSION_RESTORED (-1117)
593#define RADIOLIB_LORAWAN_NEW_SESSION (-1118)
598#define RADIOLIB_ERR_NONCES_DISCARDED (-1119)
603#define RADIOLIB_ERR_SESSION_DISCARDED (-1120)
608#define RADIOLIB_ERR_INVALID_MODE (-1121)
613#define RADIOLIB_ERR_INVALID_MULTICAST_GROUP (-1122)
618#define RADIOLIB_ERR_INVALID_SUBBAND (-1123)
624#define RADIOLIB_ERR_MAC_ANSWERS_PENDING (-1124)
631#define RADIOLIB_ERR_INVALID_WIFI_TYPE (-1200)
636#define RADIOLIB_ERR_GNSS_SUBFRAME_NOT_AVAILABLE (-1201)
641#define RADIOLIB_ERR_UNSUPPORTED_FIRMWARE (-1202)
647#define RADIOLIB_ERR_GNSS_DEMOD_OFFSET (-1210)
648#define RADIOLIB_ERR_GNSS_DEMOD(X) (RADIOLIB_ERR_GNSS_DEMOD_OFFSET + (X))
649#define RADIOLIB_GET_GNSS_DEMOD_ERROR(X) ((X) - RADIOLIB_ERR_GNSS_DEMOD_OFFSET)
655#define RADIOLIB_ERR_GNSS_SOLVER_OFFSET (-1230)
656#define RADIOLIB_ERR_GNSS_SOLVER(X) (RADIOLIB_ERR_GNSS_SOLVER_OFFSET - (X))
657#define RADIOLIB_GET_GNSS_SOLVER_ERROR(X) (-((X) - RADIOLIB_ERR_GNSS_SOLVER_OFFSET))
663#define RADIOLIB_ERR_FRONTEND_CALIBRATION_FAILED (-1300)
668#define RADIOLIB_ERR_INVALID_SIDE_DETECT (-1301)
674#define RADIOLIB_ERR_ADSB_INVALID_MSG_TYPE (-1400)
679#define RADIOLIB_ERR_ADSB_INVALID_CATEGORY (-1401)
685#define RADIOLIB_ERR_SSDV_CALLSIGN_TOO_LONG (-1500)
691#define RADIOLIB_ERR_SSDV_CALLSIGN_INVALID (-1501)
696#define RADIOLIB_ERR_SSDV_NO_IMAGE (-1502)
701#define RADIOLIB_ERR_SSDV_INVALID_QUALITY (-1503)
708#define RADIOLIB_ERR_SSDV_ENCODE_FAILED (-1504)
713#define RADIOLIB_ERR_SSDV_NOT_INITIALIZED (-1505)
718#define RADIOLIB_ERR_SSDV_NO_PACKET_BUFFER (-1506)
723#define RADIOLIB_ERR_SSDV_ALL_SENT (-1507)
729#define RADIOLIB_ERR_SSDV_JPEG_TRUNCATED (-1508)
734#define RADIOLIB_ERR_SSDV_INTERNAL_MISMATCH (-1509)
740#define RADIOLIB_ERR_SSDV_INVALID_PACKET (-1510)
745#define RADIOLIB_ERR_SSDV_DECODE_FAILED (-1511)
750#define RADIOLIB_ERR_SSDV_BUFFER_TOO_SMALL (-1512)
755#define RADIOLIB_ERR_SSDV_NO_JPEG (-1513)
761#define RADIOLIB_ERR_SSDV_BUFFER_IN_USE (-1514)
766#define RADIOLIB_ERR_HAL_OFFSET (-10000)
767#define RADIOLIB_ERR_HAL(X) (RADIOLIB_ERR_HAL_OFFSET + (X))
768#define RADIOLIB_GET_HAL_ERROR(X) ((X) - RADIOLIB_ERR_HAL_OFFSET)
796#define RADIOLIB_UNIT_KILO(X) ((uint32_t)(X) * (uint32_t)1000)
797#define RADIOLIB_UNIT_KILO_FLT(X) ((uint32_t)((float)(X) * 1000.0f))
798#define RADIOLIB_UNIT_MEGA(X) ((uint32_t)(X) * (uint32_t)1000000)
799#define RADIOLIB_UNIT_MEGA_FLT(X) ((uint32_t)((float)(X) * 1000000.0f))
804enum RadioLibTCXOVoltage_t {
unsigned long RadioLibTime_t
Type used for durations in RadioLib.
Definition TypeDef.h:783
uint32_t RadioLibIrqFlags_t
Type used for radio-agnostic IRQ flags. IRQ to enable corresponds to the bit index (RadioLibIrq_t)....
Definition TypeDef.h:789