tinygo.org/x/drivers@v0.27.1-0.20240509133757-7dbca2a54349/sx126x/registers.go (about) 1 package sx126x 2 3 const ( 4 // SX126X physical layer properties 5 SX126X_FREQUENCY_STEP_SIZE = 0.9536743164 6 SX126X_MAX_PACKET_LENGTH = 255 7 SX126X_CRYSTAL_FREQ = 32.0 8 SX126X_DIV_EXPONENT = 25 9 10 // SX126X SPI commands 11 // operational modes commands 12 SX126X_CMD_NOP = 0x00 13 SX126X_CMD_SET_SLEEP = 0x84 14 SX126X_CMD_SET_STANDBY = 0x80 15 SX126X_CMD_SET_FS = 0xC1 16 SX126X_CMD_SET_TX = 0x83 17 SX126X_CMD_SET_RX = 0x82 18 SX126X_CMD_STOP_TIMER_ON_PREAMBLE = 0x9F 19 SX126X_CMD_SET_RX_DUTY_CYCLE = 0x94 20 SX126X_CMD_SET_CAD = 0xC5 21 SX126X_CMD_SET_TX_CONTINUOUS_WAVE = 0xD1 22 SX126X_CMD_SET_TX_INFINITE_PREAMBLE = 0xD2 23 SX126X_CMD_SET_REGULATOR_MODE = 0x96 24 SX126X_CMD_CALIBRATE = 0x89 25 SX126X_CMD_CALIBRATE_IMAGE = 0x98 26 SX126X_CMD_SET_PA_CONFIG = 0x95 27 SX126X_CMD_SET_RX_TX_FALLBACK_MODE = 0x93 28 29 // register and buffer access commands 30 SX126X_CMD_WRITE_REGISTER = 0x0D 31 SX126X_CMD_READ_REGISTER = 0x1D 32 SX126X_CMD_WRITE_BUFFER = 0x0E 33 SX126X_CMD_READ_BUFFER = 0x1E 34 35 // DIO and IRQ control 36 SX126X_CMD_SET_DIO_IRQ_PARAMS = 0x08 37 SX126X_CMD_GET_IRQ_STATUS = 0x12 38 SX126X_CMD_CLEAR_IRQ_STATUS = 0x02 39 SX126X_CMD_SET_DIO2_AS_RF_SWITCH_CTRL = 0x9D 40 SX126X_CMD_SET_DIO3_AS_TCXO_CTRL = 0x97 41 42 // RF, modulation and packet commands 43 SX126X_CMD_SET_RF_FREQUENCY = 0x86 44 SX126X_CMD_SET_PACKET_TYPE = 0x8A 45 SX126X_CMD_GET_PACKET_TYPE = 0x11 46 SX126X_CMD_SET_TX_PARAMS = 0x8E 47 SX126X_CMD_SET_MODULATION_PARAMS = 0x8B 48 SX126X_CMD_SET_PACKET_PARAMS = 0x8C 49 SX126X_CMD_SET_CAD_PARAMS = 0x88 50 SX126X_CMD_SET_BUFFER_BASE_ADDRESS = 0x8F 51 SX126X_CMD_SET_LORA_SYMB_NUM_TIMEOUT = 0x0A 52 53 // status commands 54 SX126X_CMD_GET_STATUS = 0xC0 55 SX126X_CMD_GET_RSSI_INST = 0x15 56 SX126X_CMD_GET_RX_BUFFER_STATUS = 0x13 57 SX126X_CMD_GET_PACKET_STATUS = 0x14 58 SX126X_CMD_GET_DEVICE_ERRORS = 0x17 59 SX126X_CMD_CLEAR_DEVICE_ERRORS = 0x07 60 SX126X_CMD_GET_STATS = 0x10 61 SX126X_CMD_RESET_STATS = 0x00 62 63 // SX126X register map 64 SX126X_REG_WHITENING_INITIAL_MSB = 0x06B8 65 SX126X_REG_WHITENING_INITIAL_LSB = 0x06B9 66 SX126X_REG_CRC_INITIAL_MSB = 0x06BC 67 SX126X_REG_CRC_INITIAL_LSB = 0x06BD 68 SX126X_REG_CRC_POLYNOMIAL_MSB = 0x06BE 69 SX126X_REG_CRC_POLYNOMIAL_LSB = 0x06BF 70 SX126X_REG_SYNC_WORD_0 = 0x06C0 71 SX126X_REG_SYNC_WORD_1 = 0x06C1 72 SX126X_REG_SYNC_WORD_2 = 0x06C2 73 SX126X_REG_SYNC_WORD_3 = 0x06C3 74 SX126X_REG_SYNC_WORD_4 = 0x06C4 75 SX126X_REG_SYNC_WORD_5 = 0x06C5 76 SX126X_REG_SYNC_WORD_6 = 0x06C6 77 SX126X_REG_SYNC_WORD_7 = 0x06C7 78 SX126X_REG_NODE_ADDRESS = 0x06CD 79 SX126X_REG_BROADCAST_ADDRESS = 0x06CE 80 SX126X_REG_LORA_SYNC_WORD_MSB = 0x0740 81 SX126X_REG_LORA_SYNC_WORD_LSB = 0x0741 82 SX126X_REG_RANDOM_NUMBER_0 = 0x0819 83 SX126X_REG_RANDOM_NUMBER_1 = 0x081A 84 SX126X_REG_RANDOM_NUMBER_2 = 0x081B 85 SX126X_REG_RANDOM_NUMBER_3 = 0x081C 86 SX126X_REG_RX_GAIN = 0x08AC 87 SX126X_REG_OCP_CONFIGURATION = 0x08E7 88 SX126X_REG_XTA_TRIM = 0x0911 89 SX126X_REG_XTB_TRIM = 0x0912 90 91 // undocumented registers 92 SX126X_REG_SENSITIVITY_CONFIG = 0x0889 // SX1268 datasheet v1.1, section 15.1 93 SX126X_REG_TX_CLAMP_CONFIG = 0x08D8 // SX1268 datasheet v1.1, section 15.2 94 SX126X_REG_RTC_STOP = 0x0920 // SX1268 datasheet v1.1, section 15.3 95 SX126X_REG_RTC_EVENT = 0x0944 // SX1268 datasheet v1.1, section 15.3 96 SX126X_REG_IQ_CONFIG = 0x0736 // SX1268 datasheet v1.1, section 15.4 97 SX126X_REG_RX_GAIN_RETENTION_0 = 0x029F // SX1268 datasheet v1.1, section 9.6 98 SX126X_REG_RX_GAIN_RETENTION_1 = 0x02A0 // SX1268 datasheet v1.1, section 9.6 99 SX126X_REG_RX_GAIN_RETENTION_2 = 0x02A1 // SX1268 datasheet v1.1, section 9.6 100 101 // SX126X SPI command variables 102 //SX126X_CMD_SET_SLEEP MSB LSB DESCRIPTION 103 SX126X_SLEEP_START_COLD = 0b00000000 // 2 2 sleep mode: cold start, configuration is lost (default) 104 SX126X_SLEEP_START_WARM = 0b00000100 // 2 2 warm start, configuration is retained 105 SX126X_SLEEP_RTC_OFF = 0b00000000 // 0 0 wake on RTC timeout: disabled 106 SX126X_SLEEP_RTC_ON = 0b00000001 // 0 0 enabled 107 108 //SX126X_CMD_SET_STANDBY 109 SX126X_STANDBY_RC = 0x00 // 7 0 standby mode: 13 MHz RC oscillator 110 SX126X_STANDBY_XOSC = 0x01 // 7 0 32 MHz crystal oscillator 111 112 //SX126X_CMD_SET_RX 113 SX126X_RX_TIMEOUT_NONE = 0x000000 // 23 0 Rx timeout duration: no timeout (Rx single mode) 114 SX126X_RX_TIMEOUT_INF = 0xFFFFFF // 23 0 infinite (Rx continuous mode) 115 116 //SX126X_CMD_SET_TX 117 SX126X_TX_TIMEOUT_NONE = 0x000000 // 23 0 Tx timeout duration: no timeout (Tx single mode) 118 119 //SX126X_CMD_STOP_TIMER_ON_PREAMBLE 120 SX126X_STOP_ON_PREAMBLE_OFF = 0x00 // 7 0 stop timer on: sync word or header (default) 121 SX126X_STOP_ON_PREAMBLE_ON = 0x01 // 7 0 preamble detection 122 123 //SX126X_CMD_SET_REGULATOR_MODE 124 SX126X_REGULATOR_LDO = 0x00 // 7 0 set regulator mode: LDO (default) 125 SX126X_REGULATOR_DC_DC = 0x01 // 7 0 DC-DC 126 127 //SX126X_CMD_CALIBRATE 128 SX126X_CALIBRATE_IMAGE_OFF = 0b00000000 // 6 6 image calibration: disabled 129 SX126X_CALIBRATE_IMAGE_ON = 0b01000000 // 6 6 enabled 130 SX126X_CALIBRATE_ADC_BULK_P_OFF = 0b00000000 // 5 5 ADC bulk P calibration: disabled 131 SX126X_CALIBRATE_ADC_BULK_P_ON = 0b00100000 // 5 5 enabled 132 SX126X_CALIBRATE_ADC_BULK_N_OFF = 0b00000000 // 4 4 ADC bulk N calibration: disabled 133 SX126X_CALIBRATE_ADC_BULK_N_ON = 0b00010000 // 4 4 enabled 134 SX126X_CALIBRATE_ADC_PULSE_OFF = 0b00000000 // 3 3 ADC pulse calibration: disabled 135 SX126X_CALIBRATE_ADC_PULSE_ON = 0b00001000 // 3 3 enabled 136 SX126X_CALIBRATE_PLL_OFF = 0b00000000 // 2 2 PLL calibration: disabled 137 SX126X_CALIBRATE_PLL_ON = 0b00000100 // 2 2 enabled 138 SX126X_CALIBRATE_RC13M_OFF = 0b00000000 // 1 1 13 MHz RC osc. calibration: disabled 139 SX126X_CALIBRATE_RC13M_ON = 0b00000010 // 1 1 enabled 140 SX126X_CALIBRATE_RC64K_OFF = 0b00000000 // 0 0 64 kHz RC osc. calibration: disabled 141 SX126X_CALIBRATE_RC64K_ON = 0b00000001 // 0 0 enabled 142 SX126X_CALIBRATE_ALL = 0b01111111 // 6 0 calibrate all blocks 143 144 //SX126X_CMD_CALIBRATE_IMAGE 145 SX126X_CAL_IMG_430_MHZ_1 = 0x6B 146 SX126X_CAL_IMG_430_MHZ_2 = 0x6F 147 SX126X_CAL_IMG_470_MHZ_1 = 0x75 148 SX126X_CAL_IMG_470_MHZ_2 = 0x81 149 SX126X_CAL_IMG_779_MHZ_1 = 0xC1 150 SX126X_CAL_IMG_779_MHZ_2 = 0xC5 151 SX126X_CAL_IMG_863_MHZ_1 = 0xD7 152 SX126X_CAL_IMG_863_MHZ_2 = 0xDB 153 SX126X_CAL_IMG_902_MHZ_1 = 0xE1 154 SX126X_CAL_IMG_902_MHZ_2 = 0xE9 155 156 //SX126X_CMD_SET_PA_CONFIG 157 SX126X_PA_CONFIG_HP_MAX = 0x07 158 SX126X_PA_CONFIG_PA_LUT = 0x01 159 SX126X_PA_CONFIG_SX1262_8 = 0x00 160 161 //SX126X_CMD_SET_RX_TX_FALLBACK_MODE 162 SX126X_RX_TX_FALLBACK_MODE_FS = 0x40 // 7 0 after Rx/Tx go to: FS mode 163 SX126X_RX_TX_FALLBACK_MODE_STDBY_XOSC = 0x30 // 7 0 standby with crystal oscillator 164 SX126X_RX_TX_FALLBACK_MODE_STDBY_RC = 0x20 // 7 0 standby with RC oscillator (default) 165 166 //SX126X_CMD_SET_DIO_IRQ_PARAMS 167 SX126X_IRQ_TIMEOUT = 0b1000000000 // 9 9 Rx or Tx timeout 168 SX126X_IRQ_CAD_DETECTED = 0b0100000000 // 8 8 channel activity detected 169 SX126X_IRQ_CAD_DONE = 0b0010000000 // 7 7 channel activity detection finished 170 SX126X_IRQ_CRC_ERR = 0b0001000000 // 6 6 wrong CRC received 171 SX126X_IRQ_HEADER_ERR = 0b0000100000 // 5 5 LoRa header CRC error 172 SX126X_IRQ_HEADER_VALID = 0b0000010000 // 4 4 valid LoRa header received 173 SX126X_IRQ_SYNC_WORD_VALID = 0b0000001000 // 3 3 valid sync word detected 174 SX126X_IRQ_PREAMBLE_DETECTED = 0b0000000100 // 2 2 preamble detected 175 SX126X_IRQ_RX_DONE = 0b0000000010 // 1 1 packet received 176 SX126X_IRQ_TX_DONE = 0b0000000001 // 0 0 packet transmission completed 177 SX126X_IRQ_ALL = 0b1111111111 // 9 0 all interrupts 178 SX126X_IRQ_NONE = 0b0000000000 // 9 0 no interrupts 179 180 //SX126X_CMD_SET_DIO2_AS_RF_SWITCH_CTRL 181 SX126X_DIO2_AS_IRQ = 0x00 // 7 0 DIO2 configuration: IRQ 182 SX126X_DIO2_AS_RF_SWITCH = 0x01 // 7 0 RF switch control 183 184 //SX126X_CMD_SET_DIO3_AS_TCXO_CTRL 185 SX126X_DIO3_OUTPUT_1_6 = 0x00 // 7 0 DIO3 voltage output for TCXO: 1.6 V 186 SX126X_DIO3_OUTPUT_1_7 = 0x01 // 7 0 1.7 V 187 SX126X_DIO3_OUTPUT_1_8 = 0x02 // 7 0 1.8 V 188 SX126X_DIO3_OUTPUT_2_2 = 0x03 // 7 0 2.2 V 189 SX126X_DIO3_OUTPUT_2_4 = 0x04 // 7 0 2.4 V 190 SX126X_DIO3_OUTPUT_2_7 = 0x05 // 7 0 2.7 V 191 SX126X_DIO3_OUTPUT_3_0 = 0x06 // 7 0 3.0 V 192 SX126X_DIO3_OUTPUT_3_3 = 0x07 // 7 0 3.3 V 193 194 //SX126X_CMD_SET_PACKET_TYPE 195 SX126X_PACKET_TYPE_GFSK = 0x00 // 7 0 packet type: GFSK 196 SX126X_PACKET_TYPE_LORA = 0x01 // 7 0 LoRa 197 198 //SX126X_CMD_SET_TX_PARAMS 199 SX126X_PA_RAMP_10U = 0x00 // 7 0 ramp time: 10 us 200 SX126X_PA_RAMP_20U = 0x01 // 7 0 20 us 201 SX126X_PA_RAMP_40U = 0x02 // 7 0 40 us 202 SX126X_PA_RAMP_80U = 0x03 // 7 0 80 us 203 SX126X_PA_RAMP_200U = 0x04 // 7 0 200 us 204 SX126X_PA_RAMP_800U = 0x05 // 7 0 800 us 205 SX126X_PA_RAMP_1700U = 0x06 // 7 0 1700 us 206 SX126X_PA_RAMP_3400U = 0x07 // 7 0 3400 us 207 208 //SX126X_CMD_SET_MODULATION_PARAMS 209 SX126X_GFSK_FILTER_NONE = 0x00 // 7 0 GFSK filter: none 210 SX126X_GFSK_FILTER_GAUSS_0_3 = 0x08 // 7 0 Gaussian, BT = 0.3 211 SX126X_GFSK_FILTER_GAUSS_0_5 = 0x09 // 7 0 Gaussian, BT = 0.5 212 SX126X_GFSK_FILTER_GAUSS_0_7 = 0x0A // 7 0 Gaussian, BT = 0.7 213 SX126X_GFSK_FILTER_GAUSS_1 = 0x0B // 7 0 Gaussian, BT = 1 214 SX126X_GFSK_RX_BW_4_8 = 0x1F // 7 0 GFSK Rx bandwidth: 4.8 kHz 215 SX126X_GFSK_RX_BW_5_8 = 0x17 // 7 0 5.8 kHz 216 SX126X_GFSK_RX_BW_7_3 = 0x0F // 7 0 7.3 kHz 217 SX126X_GFSK_RX_BW_9_7 = 0x1E // 7 0 9.7 kHz 218 SX126X_GFSK_RX_BW_11_7 = 0x16 // 7 0 11.7 kHz 219 SX126X_GFSK_RX_BW_14_6 = 0x0E // 7 0 14.6 kHz 220 SX126X_GFSK_RX_BW_19_5 = 0x1D // 7 0 19.5 kHz 221 SX126X_GFSK_RX_BW_23_4 = 0x15 // 7 0 23.4 kHz 222 SX126X_GFSK_RX_BW_29_3 = 0x0D // 7 0 29.3 kHz 223 SX126X_GFSK_RX_BW_39_0 = 0x1C // 7 0 39.0 kHz 224 SX126X_GFSK_RX_BW_46_9 = 0x14 // 7 0 46.9 kHz 225 SX126X_GFSK_RX_BW_58_6 = 0x0C // 7 0 58.6 kHz 226 SX126X_GFSK_RX_BW_78_2 = 0x1B // 7 0 78.2 kHz 227 SX126X_GFSK_RX_BW_93_8 = 0x13 // 7 0 93.8 kHz 228 SX126X_GFSK_RX_BW_117_3 = 0x0B // 7 0 117.3 kHz 229 SX126X_GFSK_RX_BW_156_2 = 0x1A // 7 0 156.2 kHz 230 SX126X_GFSK_RX_BW_187_2 = 0x12 // 7 0 187.2 kHz 231 SX126X_GFSK_RX_BW_234_3 = 0x0A // 7 0 234.3 kHz 232 SX126X_GFSK_RX_BW_312_0 = 0x19 // 7 0 312.0 kHz 233 SX126X_GFSK_RX_BW_373_6 = 0x11 // 7 0 373.6 kHz 234 SX126X_GFSK_RX_BW_467_0 = 0x09 // 7 0 467.0 kHz 235 SX126X_LORA_BW_7_8 = 0x00 // 7 0 LoRa bandwidth: 7.8 kHz 236 SX126X_LORA_BW_10_4 = 0x08 // 7 0 10.4 kHz 237 SX126X_LORA_BW_15_6 = 0x01 // 7 0 15.6 kHz 238 SX126X_LORA_BW_20_8 = 0x09 // 7 0 20.8 kHz 239 SX126X_LORA_BW_31_25 = 0x02 // 7 0 31.25 kHz 240 SX126X_LORA_BW_41_7 = 0x0A // 7 0 41.7 kHz 241 SX126X_LORA_BW_62_5 = 0x03 // 7 0 62.5 kHz 242 SX126X_LORA_BW_125_0 = 0x04 // 7 0 125.0 kHz 243 SX126X_LORA_BW_250_0 = 0x05 // 7 0 250.0 kHz 244 SX126X_LORA_BW_500_0 = 0x06 // 7 0 500.0 kHz 245 246 //SX126X_CMD_SET_PACKET_PARAMS 247 SX126X_GFSK_PREAMBLE_DETECT_OFF = 0x00 // 7 0 GFSK minimum preamble length before reception starts: detector disabled 248 SX126X_GFSK_PREAMBLE_DETECT_8 = 0x04 // 7 0 8 bits 249 SX126X_GFSK_PREAMBLE_DETECT_16 = 0x05 // 7 0 16 bits 250 SX126X_GFSK_PREAMBLE_DETECT_24 = 0x06 // 7 0 24 bits 251 SX126X_GFSK_PREAMBLE_DETECT_32 = 0x07 // 7 0 32 bits 252 SX126X_GFSK_ADDRESS_FILT_OFF = 0x00 // 7 0 GFSK address filtering: disabled 253 SX126X_GFSK_ADDRESS_FILT_NODE = 0x01 // 7 0 node only 254 SX126X_GFSK_ADDRESS_FILT_NODE_BROADCAST = 0x02 // 7 0 node and broadcast 255 SX126X_GFSK_PACKET_FIXED = 0x00 // 7 0 GFSK packet type: fixed (payload length known in advance to both sides) 256 SX126X_GFSK_PACKET_VARIABLE = 0x01 // 7 0 variable (payload length added to packet) 257 SX126X_GFSK_CRC_OFF = 0x01 // 7 0 GFSK packet CRC: disabled 258 SX126X_GFSK_CRC_1_BYTE = 0x00 // 7 0 1 byte 259 SX126X_GFSK_CRC_2_BYTE = 0x02 // 7 0 2 byte 260 SX126X_GFSK_CRC_1_BYTE_INV = 0x04 // 7 0 1 byte, inverted 261 SX126X_GFSK_CRC_2_BYTE_INV = 0x06 // 7 0 2 byte, inverted 262 SX126X_GFSK_WHITENING_OFF = 0x00 // 7 0 GFSK data whitening: disabled 263 SX126X_GFSK_WHITENING_ON = 0x01 // 7 0 enabled 264 265 //SX126X_CMD_SET_CAD_PARAMS 266 SX126X_CAD_ON_1_SYMB = 0x00 // 7 0 number of symbols used for CAD: 1 267 SX126X_CAD_ON_2_SYMB = 0x01 // 7 0 2 268 SX126X_CAD_ON_4_SYMB = 0x02 // 7 0 4 269 SX126X_CAD_ON_8_SYMB = 0x03 // 7 0 8 270 SX126X_CAD_ON_16_SYMB = 0x04 // 7 0 16 271 SX126X_CAD_GOTO_STDBY = 0x00 // 7 0 after CAD is done, always go to STDBY_RC mode 272 SX126X_CAD_GOTO_RX = 0x01 // 7 0 after CAD is done, go to Rx mode if activity is detected 273 274 //SX126X_CMD_GET_STATUS 275 SX126X_STATUS_MODE_STDBY_RC = 0b00100000 // 6 4 current chip mode: STDBY_RC 276 SX126X_STATUS_MODE_STDBY_XOSC = 0b00110000 // 6 4 STDBY_XOSC 277 SX126X_STATUS_MODE_FS = 0b01000000 // 6 4 FS 278 SX126X_STATUS_MODE_RX = 0b01010000 // 6 4 RX 279 SX126X_STATUS_MODE_TX = 0b01100000 // 6 4 TX 280 SX126X_STATUS_DATA_AVAILABLE = 0b00000100 // 3 1 command status: packet received and data can be retrieved 281 SX126X_STATUS_CMD_TIMEOUT = 0b00000110 // 3 1 SPI command timed out 282 SX126X_STATUS_CMD_INVALID = 0b00001000 // 3 1 invalid SPI command 283 SX126X_STATUS_CMD_FAILED = 0b00001010 // 3 1 SPI command failed to execute 284 SX126X_STATUS_TX_DONE = 0b00001100 // 3 1 packet transmission done 285 SX126X_STATUS_SPI_FAILED = 0b11111111 // 7 0 SPI transaction failed 286 287 //SX126X_CMD_GET_PACKET_STATUS 288 SX126X_GFSK_RX_STATUS_PREAMBLE_ERR = 0b10000000 // 7 7 GFSK Rx status: preamble error 289 SX126X_GFSK_RX_STATUS_SYNC_ERR = 0b01000000 // 6 6 sync word error 290 SX126X_GFSK_RX_STATUS_ADRS_ERR = 0b00100000 // 5 5 address error 291 SX126X_GFSK_RX_STATUS_CRC_ERR = 0b00010000 // 4 4 CRC error 292 SX126X_GFSK_RX_STATUS_LENGTH_ERR = 0b00001000 // 3 3 length error 293 SX126X_GFSK_RX_STATUS_ABORT_ERR = 0b00000100 // 2 2 abort error 294 SX126X_GFSK_RX_STATUS_PACKET_RECEIVED = 0b00000010 // 2 2 packet received 295 SX126X_GFSK_RX_STATUS_PACKET_SENT = 0b00000001 // 2 2 packet sent 296 297 //SX126X_CMD_GET_DEVICE_ERRORS 298 SX126X_PA_RAMP_ERR = 0b100000000 // 8 8 device errors: PA ramping failed 299 SX126X_PLL_LOCK_ERR = 0b001000000 // 6 6 PLL failed to lock 300 SX126X_XOSC_START_ERR = 0b000100000 // 5 5 crystal oscillator failed to start 301 SX126X_IMG_CALIB_ERR = 0b000010000 // 4 4 image calibration failed 302 SX126X_ADC_CALIB_ERR = 0b000001000 // 3 3 ADC calibration failed 303 SX126X_PLL_CALIB_ERR = 0b000000100 // 2 2 PLL calibration failed 304 SX126X_RC13M_CALIB_ERR = 0b000000010 // 1 1 RC13M calibration failed 305 SX126X_RC64K_CALIB_ERR = 0b000000001 // 0 0 RC64K calibration failed 306 307 // SX126X SPI register variables 308 //SX126X_REG_LORA_SYNC_WORD_MSB + LSB 309 SX126X_SYNC_WORD_PUBLIC = 0x34 // actually 0x3444 NOTE: The low nibbles in each byte (0x_4_4) are masked out since apparently, they're reserved. 310 SX126X_SYNC_WORD_PRIVATE = 0x12 // actually 0x1424 You couldn't make this up if you tried. 311 312 SX126X_LORA_MAC_PUBLIC_SYNCWORD = 0x3444 313 SX126X_LORA_MAC_PRIVATE_SYNCWORD = 0x1424 314 )