RadioLib
Universal wireless communication library for Arduino
Loading...
Searching...
No Matches
TypeDef.h
1#if !defined(_RADIOLIB_TYPES_H)
2#define _RADIOLIB_TYPES_H
3
4// user build options may override the default
5#include "BuildOptUser.h"
6#include "BuildOpt.h"
7
13
17#define RADIOLIB_SHAPING_NONE (0x00)
18
22#define RADIOLIB_SHAPING_0_3 (0x01)
23
27#define RADIOLIB_SHAPING_0_5 (0x02)
28
32#define RADIOLIB_SHAPING_0_7 (0x03)
33
37#define RADIOLIB_SHAPING_1_0 (0x04)
38
42
48
52#define RADIOLIB_ENCODING_NRZ (0x00)
53
57#define RADIOLIB_ENCODING_MANCHESTER (0x01)
58
62#define RADIOLIB_ENCODING_WHITENING (0x02)
63
67#define RADIOLIB_ENCODING_MANCHESTER_INV (0x03)
68
72
78
82#define RADIOLIB_STANDBY_DEFAULT (0x00)
83
87#define RADIOLIB_STANDBY_WARM (0x01)
88
92#define RADIOLIB_STANDBY_COLD (0x02)
93
97
103
104// common status codes
105
109#define RADIOLIB_ERR_NONE (0)
110
115#define RADIOLIB_ERR_UNKNOWN (-1)
116
117// SX127x/RFM9x status codes
118
123#define RADIOLIB_ERR_CHIP_NOT_FOUND (-2)
124
128#define RADIOLIB_ERR_MEMORY_ALLOCATION_FAILED (-3)
129
133#define RADIOLIB_ERR_PACKET_TOO_LONG (-4)
134
138#define RADIOLIB_ERR_TX_TIMEOUT (-5)
139
143#define RADIOLIB_ERR_RX_TIMEOUT (-6)
144
149#define RADIOLIB_ERR_CRC_MISMATCH (-7)
150
154#define RADIOLIB_ERR_INVALID_BANDWIDTH (-8)
155
159#define RADIOLIB_ERR_INVALID_SPREADING_FACTOR (-9)
160
164#define RADIOLIB_ERR_INVALID_CODING_RATE (-10)
165
169#define RADIOLIB_ERR_INVALID_BIT_RANGE (-11)
170
174#define RADIOLIB_ERR_INVALID_FREQUENCY (-12)
175
179#define RADIOLIB_ERR_INVALID_OUTPUT_POWER (-13)
180
184#define RADIOLIB_CHANNEL_FREE (-15)
185
189#define RADIOLIB_ERR_SPI_WRITE_FAILED (-16)
190
194#define RADIOLIB_ERR_INVALID_CURRENT_LIMIT (-17)
195
199#define RADIOLIB_ERR_INVALID_PREAMBLE_LENGTH (-18)
200
204#define RADIOLIB_ERR_INVALID_GAIN (-19)
205
210#define RADIOLIB_ERR_WRONG_MODEM (-20)
211
215#define RADIOLIB_ERR_INVALID_NUM_SAMPLES (-21)
216
220#define RADIOLIB_ERR_INVALID_RSSI_OFFSET (-22)
221
225#define RADIOLIB_ERR_INVALID_ENCODING (-23)
226
230#define RADIOLIB_ERR_LORA_HEADER_DAMAGED (-24)
231
235#define RADIOLIB_ERR_UNSUPPORTED (-25)
236
240#define RADIOLIB_ERR_INVALID_DIO_PIN (-26)
241
245#define RADIOLIB_ERR_INVALID_RSSI_THRESHOLD (-27)
246
250#define RADIOLIB_ERR_NULL_POINTER (-28)
251
255#define RADIOLIB_ERR_INVALID_IRQ (-29)
256
260#define RADIOLIB_ERR_PACKET_TOO_SHORT (-30)
261
262// RF69-specific status codes
263
267#define RADIOLIB_ERR_INVALID_BIT_RATE (-101)
268
272#define RADIOLIB_ERR_INVALID_FREQUENCY_DEVIATION (-102)
273
277#define RADIOLIB_ERR_INVALID_BIT_RATE_BW_RATIO (-103)
278
282#define RADIOLIB_ERR_INVALID_RX_BANDWIDTH (-104)
283
287#define RADIOLIB_ERR_INVALID_SYNC_WORD (-105)
288
292#define RADIOLIB_ERR_INVALID_DATA_SHAPING (-106)
293
297#define RADIOLIB_ERR_INVALID_MODULATION (-107)
298
302#define RADIOLIB_ERR_INVALID_OOK_RSSI_PEAK_TYPE (-108)
303
307#define RADIOLIB_ERR_INVALID_BIT_RATE_TOLERANCE_VALUE (-109)
308
309// APRS status codes
310
314#define RADIOLIB_ERR_INVALID_SYMBOL (-201)
315
319#define RADIOLIB_ERR_INVALID_MIC_E_TELEMETRY (-202)
320
324#define RADIOLIB_ERR_INVALID_MIC_E_TELEMETRY_LENGTH (-203)
325
329#define RADIOLIB_ERR_MIC_E_TELEMETRY_STATUS (-204)
330
331// SSDV status codes
332
336#define RADIOLIB_ERR_INVALID_SSDV_MODE (-301)
337
341#define RADIOLIB_ERR_INVALID_IMAGE_SIZE (-302)
342
346#define RADIOLIB_ERR_INVALID_IMAGE_QUALITY (-303)
347
351#define RADIOLIB_ERR_INVALID_SUBSAMPLING (-304)
352
353// RTTY status codes
354
358#define RADIOLIB_ERR_INVALID_RTTY_SHIFT (-401)
359
363#define RADIOLIB_ERR_UNSUPPORTED_ENCODING (-402)
364
365// nRF24-specific status codes
366
370#define RADIOLIB_ERR_INVALID_DATA_RATE (-501)
371
375#define RADIOLIB_ERR_INVALID_ADDRESS_WIDTH (-502)
376
380#define RADIOLIB_ERR_INVALID_PIPE_NUMBER (-503)
381
385#define RADIOLIB_ERR_ACK_NOT_RECEIVED (-504)
386
387// CC1101-specific status codes
388
392#define RADIOLIB_ERR_INVALID_NUM_BROAD_ADDRS (-601)
393
394// SX126x-specific status codes
395
399#define RADIOLIB_ERR_INVALID_CRC_CONFIGURATION (-701)
400
404#define RADIOLIB_LORA_DETECTED (-702)
405
409#define RADIOLIB_ERR_INVALID_TCXO_VOLTAGE (-703)
410
414#define RADIOLIB_ERR_INVALID_MODULATION_PARAMETERS (-704)
415
419#define RADIOLIB_ERR_SPI_CMD_TIMEOUT (-705)
420
424#define RADIOLIB_ERR_SPI_CMD_INVALID (-706)
425
434#define RADIOLIB_ERR_SPI_CMD_FAILED (-707)
435
442#define RADIOLIB_ERR_INVALID_SLEEP_PERIOD (-708)
443
449#define RADIOLIB_ERR_INVALID_RX_PERIOD (-709)
450
454#define RADIOLIB_ERR_INVALID_NTC_PARAMETERS (-710)
455
456// AX.25-specific status codes
457
463#define RADIOLIB_ERR_INVALID_CALLSIGN (-801)
464
470#define RADIOLIB_ERR_INVALID_NUM_REPEATERS (-802)
471
477#define RADIOLIB_ERR_INVALID_REPEATER_CALLSIGN (-803)
478
479// SX128x-specific status codes
480
484#define RADIOLIB_ERR_RANGING_TIMEOUT (-901)
485
486// Pager-specific status codes
487
491#define RADIOLIB_ERR_INVALID_PAYLOAD (-1001)
492
496#define RADIOLIB_ERR_ADDRESS_NOT_FOUND (-1002)
497
501#define RADIOLIB_ERR_INVALID_FUNCTION (-1003)
502
503// LoRaWAN-specific status codes
504
508#define RADIOLIB_ERR_NETWORK_NOT_JOINED (-1101)
509
513#define RADIOLIB_ERR_DOWNLINK_MALFORMED (-1102)
514
518#define RADIOLIB_ERR_INVALID_REVISION (-1103)
519
523#define RADIOLIB_ERR_INVALID_PORT (-1104)
524
528#define RADIOLIB_ERR_NO_RX_WINDOW (-1105)
529
533#define RADIOLIB_ERR_NO_CHANNEL_AVAILABLE (-1106)
534
538#define RADIOLIB_ERR_INVALID_CID (-1107)
539
543#define RADIOLIB_ERR_UPLINK_UNAVAILABLE (-1108)
544
548#define RADIOLIB_ERR_COMMAND_QUEUE_FULL (-1109)
549
553#define RADIOLIB_ERR_COMMAND_QUEUE_ITEM_NOT_FOUND (-1110)
554
558#define RADIOLIB_ERR_JOIN_NONCE_INVALID (-1111)
559
563#define RADIOLIB_ERR_MIC_MISMATCH (-1112)
564
568#define RADIOLIB_ERR_MULTICAST_FCNT_INVALID (-1113)
569
573#define RADIOLIB_ERR_DWELL_TIME_EXCEEDED (-1114)
574
578#define RADIOLIB_ERR_CHECKSUM_MISMATCH (-1115)
579
583#define RADIOLIB_ERR_NO_JOIN_ACCEPT (-1116)
584
588#define RADIOLIB_LORAWAN_SESSION_RESTORED (-1117)
589
593#define RADIOLIB_LORAWAN_NEW_SESSION (-1118)
594
598#define RADIOLIB_ERR_NONCES_DISCARDED (-1119)
599
603#define RADIOLIB_ERR_SESSION_DISCARDED (-1120)
604
608#define RADIOLIB_ERR_INVALID_MODE (-1121)
609
613#define RADIOLIB_ERR_INVALID_MULTICAST_GROUP (-1122)
614
618#define RADIOLIB_ERR_INVALID_SUBBAND (-1123)
619
624#define RADIOLIB_ERR_MAC_ANSWERS_PENDING (-1124)
625
626// LR11x0-specific status codes
627
631#define RADIOLIB_ERR_INVALID_WIFI_TYPE (-1200)
632
636#define RADIOLIB_ERR_GNSS_SUBFRAME_NOT_AVAILABLE (-1201)
637
641#define RADIOLIB_ERR_UNSUPPORTED_FIRMWARE (-1202)
642
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)
650
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))
658
659// LR2021-specific status codes
663#define RADIOLIB_ERR_FRONTEND_CALIBRATION_FAILED (-1300)
664
668#define RADIOLIB_ERR_INVALID_SIDE_DETECT (-1301)
669
670// ADS-B-specific status codes
674#define RADIOLIB_ERR_ADSB_INVALID_MSG_TYPE (-1400)
675
679#define RADIOLIB_ERR_ADSB_INVALID_CATEGORY (-1401)
680
681// SSDVClient-specific error codes
685#define RADIOLIB_ERR_SSDV_CALLSIGN_TOO_LONG (-1500)
686
691#define RADIOLIB_ERR_SSDV_CALLSIGN_INVALID (-1501)
692
696#define RADIOLIB_ERR_SSDV_NO_IMAGE (-1502)
697
701#define RADIOLIB_ERR_SSDV_INVALID_QUALITY (-1503)
702
708#define RADIOLIB_ERR_SSDV_ENCODE_FAILED (-1504)
709
713#define RADIOLIB_ERR_SSDV_NOT_INITIALIZED (-1505)
714
718#define RADIOLIB_ERR_SSDV_NO_PACKET_BUFFER (-1506)
719
723#define RADIOLIB_ERR_SSDV_ALL_SENT (-1507)
724
729#define RADIOLIB_ERR_SSDV_JPEG_TRUNCATED (-1508)
730
734#define RADIOLIB_ERR_SSDV_INTERNAL_MISMATCH (-1509)
735
740#define RADIOLIB_ERR_SSDV_INVALID_PACKET (-1510)
741
745#define RADIOLIB_ERR_SSDV_DECODE_FAILED (-1511)
746
750#define RADIOLIB_ERR_SSDV_BUFFER_TOO_SMALL (-1512)
751
755#define RADIOLIB_ERR_SSDV_NO_JPEG (-1513)
756
761#define RADIOLIB_ERR_SSDV_BUFFER_IN_USE (-1514)
762
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)
769
773
779
783typedef unsigned long RadioLibTime_t;
784
789typedef uint32_t RadioLibIrqFlags_t;
790
794
795// unit prefix macros
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))
800
804enum RadioLibTCXOVoltage_t {
805 VoltageNone = -1,
806 Voltage1V6,
807 Voltage1V7,
808 Voltage1V8,
809 Voltage2V2,
810 Voltage2V4,
811 Voltage2V7,
812 Voltage3V0,
813 Voltage3V3,
814};
815
816#endif
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