Loading...
Searching...
No Matches
sx127x_registers.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016 Unwired Devices <info@unwds.com>
3 * 2016 Inria Chile
4 * 2017 Inria
5 *
6 * This file is subject to the terms and conditions of the GNU Lesser
7 * General Public License v2.1. See the file LICENSE in the top level
8 * directory for more details.
9 */
10
11#pragma once
12
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
34
35/* Common settings */
36#define SX127X_REG_LR_OPMODE (0x01)
37#define SX127X_REG_LR_FRFMSB (0x06)
38#define SX127X_REG_LR_FRFMID (0x07)
39#define SX127X_REG_LR_FRFLSB (0x08)
40
41/* Tx settings */
42#define SX127X_REG_LR_PACONFIG (0x09)
43#define SX127X_REG_LR_PARAMP (0x0A)
44#define SX127X_REG_LR_OCP (0x0B)
45
46/* Rx settings */
47#define SX127X_REG_LR_LNA (0x0C)
48
49/* LoRa registers */
50#define SX127X_REG_LR_FIFOADDRPTR (0x0D)
51#define SX127X_REG_LR_FIFOTXBASEADDR (0x0E)
52#define SX127X_REG_LR_FIFORXBASEADDR (0x0F)
53#define SX127X_REG_LR_FIFORXCURRENTADDR (0x10)
54#define SX127X_REG_LR_IRQFLAGSMASK (0x11)
55#define SX127X_REG_LR_IRQFLAGS (0x12)
56#define SX127X_REG_LR_RXNBBYTES (0x13)
57#define SX127X_REG_LR_RXHEADERCNTVALUEMSB (0x14)
58#define SX127X_REG_LR_RXHEADERCNTVALUELSB (0x15)
59#define SX127X_REG_LR_RXPACKETCNTVALUEMSB (0x16)
60#define SX127X_REG_LR_RXPACKETCNTVALUELSB (0x17)
61#define SX127X_REG_LR_MODEMSTAT (0x18)
62#define SX127X_REG_LR_PKTSNRVALUE (0x19)
63#define SX127X_REG_LR_PKTRSSIVALUE (0x1A)
64#define SX127X_REG_LR_RSSIVALUE (0x1B)
65#define SX127X_REG_LR_HOPCHANNEL (0x1C)
66#define SX127X_REG_LR_MODEMCONFIG1 (0x1D)
67#define SX127X_REG_LR_MODEMCONFIG2 (0x1E)
68#define SX127X_REG_LR_SYMBTIMEOUTLSB (0x1F)
69#define SX127X_REG_LR_PREAMBLEMSB (0x20)
70#define SX127X_REG_LR_PREAMBLELSB (0x21)
71#define SX127X_REG_LR_PAYLOADLENGTH (0x22)
72#define SX127X_REG_LR_PAYLOADMAXLENGTH (0x23)
73#define SX127X_REG_LR_HOPPERIOD (0x24)
74#define SX127X_REG_LR_FIFORXBYTEADDR (0x25)
75#define SX127X_REG_LR_MODEMCONFIG3 (0x26)
76#define SX127X_REG_LR_FEIMSB (0x28)
77#define SX127X_REG_LR_FEIMID (0x29)
78#define SX127X_REG_LR_FEILSB (0x2A)
79#define SX127X_REG_LR_RSSIWIDEBAND (0x2C)
80#define SX127X_REG_LR_TEST2F (0x2F)
81#define SX127X_REG_LR_TEST30 (0x30)
82#define SX127X_REG_LR_DETECTOPTIMIZE (0x31)
83#define SX127X_REG_LR_INVERTIQ (0x33)
84#define SX127X_REG_LR_TEST36 (0x36)
85#define SX127X_REG_LR_DETECTIONTHRESHOLD (0x37)
86#define SX127X_REG_LR_SYNCWORD (0x39)
87#define SX127X_REG_LR_TEST3A (0x3A)
88#define SX127X_REG_LR_INVERTIQ2 (0x3B)
89
90/* I/O settings */
91#define SX127X_REG_LR_DIOMAPPING1 (0x40)
92#define SX127X_REG_LR_DIOMAPPING2 (0x41)
93
94/* Version */
95#define SX127X_REG_LR_VERSION (0x42)
96
97/* Additional settings */
98#define SX127X_REG_LR_PLLHOP (0x44)
99#define SX127X_REG_LR_TCXO (0x4B)
100#define SX127X_REG_LR_PADAC (0x4D)
101#define SX127X_REG_LR_FORMERTEMP (0x5B)
102#define SX127X_REG_LR_BITRATEFRAC (0x5D)
103#define SX127X_REG_LR_AGCREF (0x61)
104#define SX127X_REG_LR_AGCTHRESH1 (0x62)
105#define SX127X_REG_LR_AGCTHRESH2 (0x63)
106#define SX127X_REG_LR_AGCTHRESH3 (0x64)
107#define SX127X_REG_LR_PLL (0x70)
109
114#define SX127X_RNG_REG_MODEM_CONFIG1 (0x0A)
115#define SX127X_RNG_REG_MODEM_CONFIG2 (0x70)
117
122
123/* RegFifo */
124#define SX127X_REG_LR_FIFO (0x00)
125
126/* RegOpMode */
127#define SX127X_RF_LORA_OPMODE_LONGRANGEMODE_MASK (0x7F)
128#define SX127X_RF_LORA_OPMODE_LONGRANGEMODE_OFF (0x00) /* Default */
129#define SX127X_RF_LORA_OPMODE_LONGRANGEMODE_ON (0x80)
130
131#define SX127X_RF_LORA_OPMODE_ACCESSSHAREDSX127X_REG_MASK (0xBF)
132#define SX127X_RF_LORA_OPMODE_ACCESSSHAREDSX127X_REG_ENABLE (0x40)
133#define SX127X_RF_LORA_OPMODE_ACCESSSHAREDSX127X_REG_DISABLE (0x00) /* Default */
134
135#define SX127X_RF_LORA_OPMODE_FREQMODE_ACCESS_MASK (0xF7)
136#define SX127X_RF_LORA_OPMODE_FREQMODE_ACCESS_LF (0x08) /* Default */
137#define SX127X_RF_LORA_OPMODE_FREQMODE_ACCESS_HF (0x00)
138
139#define SX127X_RF_LORA_OPMODE_MASK (0xF8)
140#define SX127X_RF_LORA_OPMODE_SLEEP (0x00)
141#define SX127X_RF_LORA_OPMODE_STANDBY (0x01) /* Default */
142#define SX127X_RF_LORA_OPMODE_SYNTHESIZER_TX (0x02)
143#define SX127X_RF_LORA_OPMODE_TRANSMITTER (0x03)
144#define SX127X_RF_LORA_OPMODE_SYNTHESIZER_RX (0x04)
145#define SX127X_RF_LORA_OPMODE_RECEIVER (0x05)
146
147/* LoRa specific modes */
148#define SX127X_RF_LORA_OPMODE_RECEIVER_SINGLE (0x06)
149#define SX127X_RF_LORA_OPMODE_CAD (0x07)
150
151/* RegFrf (MHz) */
152#define SX127X_RF_LORA_FRFMSB_434_MHZ (0x6C) /* Default */
153#define SX127X_RF_LORA_FRFMID_434_MHZ (0x80) /* Default */
154#define SX127X_RF_LORA_FRFLSB_434_MHZ (0x00) /* Default */
155
156/* RegPaConfig */
157#define SX127X_RF_LORA_PACONFIG_PASELECT_MASK (0x7F)
158#define SX127X_RF_LORA_PACONFIG_PASELECT_PABOOST (0x80)
159#define SX127X_RF_LORA_PACONFIG_PASELECT_RFO (0x00) /* Default */
160
161#define SX127X_RF_LORA_PACONFIG_MAX_POWER_MASK (0x8F)
162
163#define SX127X_RF_LORA_PACONFIG_OUTPUTPOWER_MASK (0xF0)
164
165/* RegPaRamp */
166#define SX127X_RF_LORA_PARAMP_TXBANDFORCE_MASK (0xEF)
167#define SX127X_RF_LORA_PARAMP_TXBANDFORCE_BAND_SEL (0x10)
168#define SX127X_RF_LORA_PARAMP_TXBANDFORCE_AUTO (0x00) /* Default */
169
170#define SX127X_RF_LORA_PARAMP_MASK (0xF0)
171#define SX127X_RF_LORA_PARAMP_3400_US (0x00)
172#define SX127X_RF_LORA_PARAMP_2000_US (0x01)
173#define SX127X_RF_LORA_PARAMP_1000_US (0x02)
174#define SX127X_RF_LORA_PARAMP_0500_US (0x03)
175#define SX127X_RF_LORA_PARAMP_0250_US (0x04)
176#define SX127X_RF_LORA_PARAMP_0125_US (0x05)
177#define SX127X_RF_LORA_PARAMP_0100_US (0x06)
178#define SX127X_RF_LORA_PARAMP_0062_US (0x07)
179#define SX127X_RF_LORA_PARAMP_0050_US (0x08)
180#define SX127X_RF_LORA_PARAMP_0040_US (0x09) /* Default */
181#define SX127X_RF_LORA_PARAMP_0031_US (0x0A)
182#define SX127X_RF_LORA_PARAMP_0025_US (0x0B)
183#define SX127X_RF_LORA_PARAMP_0020_US (0x0C)
184#define SX127X_RF_LORA_PARAMP_0015_US (0x0D)
185#define SX127X_RF_LORA_PARAMP_0012_US (0x0E)
186#define SX127X_RF_LORA_PARAMP_0010_US (0x0F)
187
188/* RegOcp */
189#define SX127X_RF_LORA_OCP_MASK (0xDF)
190#define SX127X_RF_LORA_OCP_ON (0x20) /* Default */
191#define SX127X_RF_LORA_OCP_OFF (0x00)
192
193#define SX127X_RF_LORA_OCP_TRIM_MASK (0xE0)
194#define SX127X_RF_LORA_OCP_TRIM_045_MA (0x00)
195#define SX127X_RF_LORA_OCP_TRIM_050_MA (0x01)
196#define SX127X_RF_LORA_OCP_TRIM_055_MA (0x02)
197#define SX127X_RF_LORA_OCP_TRIM_060_MA (0x03)
198#define SX127X_RF_LORA_OCP_TRIM_065_MA (0x04)
199#define SX127X_RF_LORA_OCP_TRIM_070_MA (0x05)
200#define SX127X_RF_LORA_OCP_TRIM_075_MA (0x06)
201#define SX127X_RF_LORA_OCP_TRIM_080_MA (0x07)
202#define SX127X_RF_LORA_OCP_TRIM_085_MA (0x08)
203#define SX127X_RF_LORA_OCP_TRIM_090_MA (0x09)
204#define SX127X_RF_LORA_OCP_TRIM_095_MA (0x0A)
205#define SX127X_RF_LORA_OCP_TRIM_100_MA (0x0B) /* Default */
206#define SX127X_RF_LORA_OCP_TRIM_105_MA (0x0C)
207#define SX127X_RF_LORA_OCP_TRIM_110_MA (0x0D)
208#define SX127X_RF_LORA_OCP_TRIM_115_MA (0x0E)
209#define SX127X_RF_LORA_OCP_TRIM_120_MA (0x0F)
210#define SX127X_RF_LORA_OCP_TRIM_130_MA (0x10)
211#define SX127X_RF_LORA_OCP_TRIM_140_MA (0x11)
212#define SX127X_RF_LORA_OCP_TRIM_150_MA (0x12)
213#define SX127X_RF_LORA_OCP_TRIM_160_MA (0x13)
214#define SX127X_RF_LORA_OCP_TRIM_170_MA (0x14)
215#define SX127X_RF_LORA_OCP_TRIM_180_MA (0x15)
216#define SX127X_RF_LORA_OCP_TRIM_190_MA (0x16)
217#define SX127X_RF_LORA_OCP_TRIM_200_MA (0x17)
218#define SX127X_RF_LORA_OCP_TRIM_210_MA (0x18)
219#define SX127X_RF_LORA_OCP_TRIM_220_MA (0x19)
220#define SX127X_RF_LORA_OCP_TRIM_230_MA (0x1A)
221#define SX127X_RF_LORA_OCP_TRIM_240_MA (0x1B)
222
223/* RegLna */
224#define SX127X_RF_LORA_LNA_GAIN_MASK (0x1F)
225#define SX127X_RF_LORA_LNA_GAIN_G1 (0x20) /* Default */
226#define SX127X_RF_LORA_LNA_GAIN_G2 (0x40)
227#define SX127X_RF_LORA_LNA_GAIN_G3 (0x60)
228#define SX127X_RF_LORA_LNA_GAIN_G4 (0x80)
229#define SX127X_RF_LORA_LNA_GAIN_G5 (0xA0)
230#define SX127X_RF_LORA_LNA_GAIN_G6 (0xC0)
231
232#define SX127X_RF_LORA_LNA_BOOST_LF_MASK (0xE7)
233#define SX127X_RF_LORA_LNA_BOOST_LF_DEFAULT (0x00) /* Default */
234
235#define SX127X_RF_LORA_LNA_BOOST_HF_MASK (0xFC)
236#define SX127X_RF_LORA_LNA_BOOST_HF_OFF (0x00) /* Default */
237#define SX127X_RF_LORA_LNA_BOOST_HF_ON (0x03)
238
239/* RegFifoAddrPtr */
240#define SX127X_RF_LORA_FIFOADDRPTR (0x00) /* Default */
241
242/* RegFifoTxBaseAddr */
243#define SX127X_RF_LORA_FIFOTXBASEADDR (0x80) /* Default */
244
245/* RegFifoTxBaseAddr */
246#define SX127X_RF_LORA_FIFORXBASEADDR (0x00) /* Default */
247
248/* RegIrqFlagsMask */
249#define SX127X_RF_LORA_IRQFLAGS_RXTIMEOUT_MASK (0x80)
250#define SX127X_RF_LORA_IRQFLAGS_RXDONE_MASK (0x40)
251#define SX127X_RF_LORA_IRQFLAGS_PAYLOADCRCERROR_MASK (0x20)
252#define SX127X_RF_LORA_IRQFLAGS_VALIDHEADER_MASK (0x10)
253#define SX127X_RF_LORA_IRQFLAGS_TXDONE_MASK (0x08)
254#define SX127X_RF_LORA_IRQFLAGS_CADDONE_MASK (0x04)
255#define SX127X_RF_LORA_IRQFLAGS_FHSSCHANGEDCHANNEL_MASK (0x02)
256#define SX127X_RF_LORA_IRQFLAGS_CADDETECTED_MASK (0x01)
257
258/* RegIrqFlags */
259#define SX127X_RF_LORA_IRQFLAGS_RXTIMEOUT (0x80)
260#define SX127X_RF_LORA_IRQFLAGS_RXDONE (0x40)
261#define SX127X_RF_LORA_IRQFLAGS_PAYLOADCRCERROR (0x20)
262#define SX127X_RF_LORA_IRQFLAGS_VALIDHEADER (0x10)
263#define SX127X_RF_LORA_IRQFLAGS_TXDONE (0x08)
264#define SX127X_RF_LORA_IRQFLAGS_CADDONE (0x04)
265#define SX127X_RF_LORA_IRQFLAGS_FHSSCHANGEDCHANNEL (0x02)
266#define SX127X_RF_LORA_IRQFLAGS_CADDETECTED (0x01)
267
268/* RegModemStat (Read Only) */
269#define SX127X_RF_LORA_MODEMSTAT_RX_CR_MASK (0x1F)
270#define SX127X_RF_LORA_MODEMSTAT_MODEM_STATUS_MASK (0xE0)
271#define SX127X_RF_LORA_MODEMSTAT_MODEM_STATUS_MODEM_CLEAR (0x10) /* Default */
272#define SX127X_RF_LORA_MODEMSTAT_MODEM_STATUS_HEADER_VALID (0x08)
273#define SX127X_RF_LORA_MODEMSTAT_MODEM_STATUS_RX_ONGOING (0x04)
274#define SX127X_RF_LORA_MODEMSTAT_MODEM_STATUS_SIGNAL_SYNCHRONIZED (0x02)
275#define SX127X_RF_LORA_MODEMSTAT_MODEM_STATUS_SIGNAL_DETECTED (0x01)
276
277/* RegHopChannel (Read Only) */
278#define SX127X_RF_LORA_HOPCHANNEL_PLL_LOCK_TIMEOUT_MASK (0x7F)
279#define SX127X_RF_LORA_HOPCHANNEL_PLL_LOCK_FAIL (0x80)
280#define SX127X_RF_LORA_HOPCHANNEL_PLL_LOCK_SUCCEED (0x00) /* Default */
281
282#define SX127X_RF_LORA_HOPCHANNEL_CRCONPAYLOAD_MASK (0xBF)
283#define SX127X_RF_LORA_HOPCHANNEL_CRCONPAYLOAD_ON (0x40)
284#define SX127X_RF_LORA_HOPCHANNEL_CRCONPAYLOAD_OFF (0x00) /* Default */
285
286#define SX127X_RF_LORA_HOPCHANNEL_CHANNEL_MASK (0x3F)
287
288/* RegModemConfig1 */
289#define SX1272_RF_LORA_MODEMCONFIG1_BW_MASK (0x3F)
290#define SX1272_RF_LORA_MODEMCONFIG1_BW_125_KHZ (0x00) /* Default */
291#define SX1272_RF_LORA_MODEMCONFIG1_BW_250_KHZ (0x40)
292#define SX1272_RF_LORA_MODEMCONFIG1_BW_500_KHZ (0x80)
293
294#define SX1276_RF_LORA_MODEMCONFIG1_BW_MASK (0x0F)
295#define SX1276_RF_LORA_MODEMCONFIG1_BW_7_81_KHZ (0x00)
296#define SX1276_RF_LORA_MODEMCONFIG1_BW_10_41_KHZ (0x10)
297#define SX1276_RF_LORA_MODEMCONFIG1_BW_15_62_KHZ (0x20)
298#define SX1276_RF_LORA_MODEMCONFIG1_BW_20_83_KHZ (0x30)
299#define SX1276_RF_LORA_MODEMCONFIG1_BW_31_25_KHZ (0x40)
300#define SX1276_RF_LORA_MODEMCONFIG1_BW_41_66_KHZ (0x50)
301#define SX1276_RF_LORA_MODEMCONFIG1_BW_62_50_KHZ (0x60)
302#define SX1276_RF_LORA_MODEMCONFIG1_BW_125_KHZ (0x70) /* Default */
303#define SX1276_RF_LORA_MODEMCONFIG1_BW_250_KHZ (0x80)
304#define SX1276_RF_LORA_MODEMCONFIG1_BW_500_KHZ (0x90)
305
306#define SX1272_RF_LORA_MODEMCONFIG1_CODINGRATE_MASK (0xC7)
307#define SX1272_RF_LORA_MODEMCONFIG1_CODINGRATE_4_5 (0x08)
308#define SX1272_RF_LORA_MODEMCONFIG1_CODINGRATE_4_6 (0x10) /* Default */
309#define SX1272_RF_LORA_MODEMCONFIG1_CODINGRATE_4_7 (0x18)
310#define SX1272_RF_LORA_MODEMCONFIG1_CODINGRATE_4_8 (0x20)
311
312#define SX1276_RF_LORA_MODEMCONFIG1_CODINGRATE_MASK (0xF1)
313#define SX1276_RF_LORA_MODEMCONFIG1_CODINGRATE_4_5 (0x02)
314#define SX1276_RF_LORA_MODEMCONFIG1_CODINGRATE_4_6 (0x04) /* Default */
315#define SX1276_RF_LORA_MODEMCONFIG1_CODINGRATE_4_7 (0x06)
316#define SX1276_RF_LORA_MODEMCONFIG1_CODINGRATE_4_8 (0x08)
317
318#define SX1272_RF_LORA_MODEMCONFIG1_IMPLICITHEADER_MASK (0xFB)
319#define SX1276_RF_LORA_MODEMCONFIG1_IMPLICITHEADER_MASK (0xFE)
320#define SX127X_RF_LORA_MODEMCONFIG1_IMPLICITHEADER_ON (0x01)
321#define SX127X_RF_LORA_MODEMCONFIG1_IMPLICITHEADER_OFF (0x00) /* Default */
322
323#define SX1272_RF_LORA_MODEMCONFIG1_RXPAYLOADCRC_MASK (0xFD)
324#define SX1272_RF_LORA_MODEMCONFIG1_RXPAYLOADCRC_ON (0x02)
325#define SX1272_RF_LORA_MODEMCONFIG1_RXPAYLOADCRC_OFF (0x00) /* Default */
326
327#define SX127X_RF_LORA_MODEMCONFIG1_LOWDATARATEOPTIMIZE_MASK (0xFE)
328
329/* RegModemConfig2 */
330#define SX127X_RF_LORA_MODEMCONFIG2_SF_MASK (0x0F)
331#define SX127X_RF_LORA_MODEMCONFIG2_SF_6 (0x60)
332#define SX127X_RF_LORA_MODEMCONFIG2_SF_7 (0x70) /* Default */
333#define SX127X_RF_LORA_MODEMCONFIG2_SF_8 (0x80)
334#define SX127X_RF_LORA_MODEMCONFIG2_SF_9 (0x90)
335#define SX127X_RF_LORA_MODEMCONFIG2_SF_10 (0xA0)
336#define SX127X_RF_LORA_MODEMCONFIG2_SF_11 (0xB0)
337#define SX127X_RF_LORA_MODEMCONFIG2_SF_12 (0xC0)
338
339#define SX127X_RF_LORA_MODEMCONFIG2_TXCONTINUOUSMODE_MASK (0xF7)
340#define SX127X_RF_LORA_MODEMCONFIG2_TXCONTINUOUSMODE_ON (0x08)
341#define SX127X_RF_LORA_MODEMCONFIG2_TXCONTINUOUSMODE_OFF (0x00)
342
343#define SX1276_RF_LORA_MODEMCONFIG2_RXPAYLOADCRC_MASK (0xFB)
344#define SX1276_RF_LORA_MODEMCONFIG2_RXPAYLOADCRC_ON (0x04)
345#define SX1276_RF_LORA_MODEMCONFIG2_RXPAYLOADCRC_OFF (0x00) /* Default */
346
347#define SX127X_RF_LORA_MODEMCONFIG2_SYMBTIMEOUTMSB_MASK (0xFC)
348#define SX127X_RF_LORA_MODEMCONFIG2_SYMBTIMEOUTMSB (0x00) /* Default */
349
350/* RegSymbTimeoutLsb */
351#define SX127X_RF_LORA_SYMBTIMEOUTLSB_SYMBTIMEOUT (0x64) /* Default */
352
353/* RegPreambleLengthMsb */
354#define SX127X_RF_LORA_PREAMBLELENGTHMSB (0x00) /* Default */
355
356/* RegPreambleLengthLsb */
357#define SX127X_RF_LORA_PREAMBLELENGTHLSB (0x08) /* Default */
358
359/* RegPayloadLength */
360#define SX127X_RF_LORA_PAYLOADLENGTH (0x0E) /* Default */
361
362/* RegPayloadMaxLength */
363#define SX127X_RF_LORA_PAYLOADMAXLENGTH (0xFF) /* Default */
364
365/* RegHopPeriod */
366#define SX127X_RF_LORA_HOPPERIOD_FREQFOPPINGPERIOD (0x00) /* Default */
367
368/* RegModemConfig3 */
369#define SX127X_RF_LORA_MODEMCONFIG3_LOWDATARATEOPTIMIZE_MASK (0xF7)
370#define SX127X_RF_LORA_MODEMCONFIG3_LOWDATARATEOPTIMIZE_ON (0x08)
371#define SX127X_RF_LORA_MODEMCONFIG3_LOWDATARATEOPTIMIZE_OFF (0x00) /* Default */
372
373#define SX127X_RF_LORA_MODEMCONFIG3_AGCAUTO_MASK (0xFB)
374#define SX127X_RF_LORA_MODEMCONFIG3_AGCAUTO_ON (0x04) /* Default */
375#define SX127X_RF_LORA_MODEMCONFIG3_AGCAUTO_OFF (0x00)
376
377/* RegDetectOptimize */
378#define SX127X_RF_LORA_DETECTIONOPTIMIZE_MASK (0xF8)
379#define SX127X_RF_LORA_DETECTIONOPTIMIZE_SF7_TO_SF12 (0x03) /* Default */
380#define SX127X_RF_LORA_DETECTIONOPTIMIZE_SF6 (0x05)
381
382/* RegInvertIQ */
383#define SX127X_RF_LORA_INVERTIQ_RX_MASK (0xBF)
384#define SX127X_RF_LORA_INVERTIQ_RX_OFF (0x00)
385#define SX127X_RF_LORA_INVERTIQ_RX_ON (0x40)
386#define SX127X_RF_LORA_INVERTIQ_TX_MASK (0xFE)
387#define SX127X_RF_LORA_INVERTIQ_TX_OFF (0x01)
388#define SX127X_RF_LORA_INVERTIQ_TX_ON (0x00)
389
390/* RegDetectionThreshold */
391#define SX127X_RF_LORA_DETECTIONTHRESH_SF7_TO_SF12 (0x0A) /* Default */
392#define SX127X_RF_LORA_DETECTIONTHRESH_SF6 (0x0C)
393
394/* RegInvertIQ2 */
395#define SX127X_RF_LORA_INVERTIQ2_ON (0x19)
396#define SX127X_RF_LORA_INVERTIQ2_OFF (0x1D)
397
398/* RegDioMapping1 */
399#define SX127X_RF_LORA_DIOMAPPING1_DIO0_MASK (0x3F)
400#define SX127X_RF_LORA_DIOMAPPING1_DIO0_00 (0x00) /* Default */
401#define SX127X_RF_LORA_DIOMAPPING1_DIO0_01 (0x40)
402#define SX127X_RF_LORA_DIOMAPPING1_DIO0_10 (0x80)
403#define SX127X_RF_LORA_DIOMAPPING1_DIO0_11 (0xC0)
404
405#define SX127X_RF_LORA_DIOMAPPING1_DIO1_MASK (0xCF)
406#define SX127X_RF_LORA_DIOMAPPING1_DIO1_00 (0x00) /* Default */
407#define SX127X_RF_LORA_DIOMAPPING1_DIO1_01 (0x10)
408#define SX127X_RF_LORA_DIOMAPPING1_DIO1_10 (0x20)
409#define SX127X_RF_LORA_DIOMAPPING1_DIO1_11 (0x30)
410
411#define SX127X_RF_LORA_DIOMAPPING1_DIO2_MASK (0xF3)
412#define SX127X_RF_LORA_DIOMAPPING1_DIO2_00 (0x00) /* Default */
413#define SX127X_RF_LORA_DIOMAPPING1_DIO2_01 (0x04)
414#define SX127X_RF_LORA_DIOMAPPING1_DIO2_10 (0x08)
415#define SX127X_RF_LORA_DIOMAPPING1_DIO2_11 (0x0C)
416
417#define SX127X_RF_LORA_DIOMAPPING1_DIO3_MASK (0xFC)
418#define SX127X_RF_LORA_DIOMAPPING1_DIO3_00 (0x00) /* Default */
419#define SX127X_RF_LORA_DIOMAPPING1_DIO3_01 (0x01)
420#define SX127X_RF_LORA_DIOMAPPING1_DIO3_10 (0x02)
421#define SX127X_RF_LORA_DIOMAPPING1_DIO3_11 (0x03)
422
423/* RegDioMapping2 */
424#define SX127X_RF_LORA_DIOMAPPING2_DIO4_MASK (0x3F)
425#define SX127X_RF_LORA_DIOMAPPING2_DIO4_00 (0x00) /* Default */
426#define SX127X_RF_LORA_DIOMAPPING2_DIO4_01 (0x40)
427#define SX127X_RF_LORA_DIOMAPPING2_DIO4_10 (0x80)
428#define SX127X_RF_LORA_DIOMAPPING2_DIO4_11 (0xC0)
429
430#define SX127X_RF_LORA_DIOMAPPING2_DIO5_MASK (0xCF)
431#define SX127X_RF_LORA_DIOMAPPING2_DIO5_00 (0x00) /* Default */
432#define SX127X_RF_LORA_DIOMAPPING2_DIO5_01 (0x10)
433#define SX127X_RF_LORA_DIOMAPPING2_DIO5_10 (0x20)
434#define SX127X_RF_LORA_DIOMAPPING2_DIO5_11 (0x30)
435
436#define SX127X_RF_LORA_DIOMAPPING2_MAP_MASK (0xFE)
437#define SX127X_RF_LORA_DIOMAPPING2_MAP_PREAMBLEDETECT (0x01)
438#define SX127X_RF_LORA_DIOMAPPING2_MAP_RSSI (0x00) /* Default */
439
440/* RegPllHop */
441#define SX127X_RF_LORA_PLLHOP_FASTHOP_MASK (0x7F)
442#define SX127X_RF_LORA_PLLHOP_FASTHOP_ON (0x80)
443#define SX127X_RF_LORA_PLLHOP_FASTHOP_OFF (0x00) /* Default */
444
445/* RegTcxo */
446#define SX127X_RF_LORA_TCXO_TCXOINPUT_MASK (0xEF)
447#define SX127X_RF_LORA_TCXO_TCXOINPUT_ON (0x10)
448#define SX127X_RF_LORA_TCXO_TCXOINPUT_OFF (0x00) /* Default */
449
450/* RegPaDac */
451#define SX127X_RF_LORA_PADAC_20DBM_MASK (0xF8)
452#define SX127X_RF_LORA_PADAC_20DBM_ON (0x07)
453#define SX127X_RF_LORA_PADAC_20DBM_OFF (0x04) /* Default */
454
455/* RegBitrateFrac */
456#define RF_BITRATEFRAC_MASK (0xF0)
457
458/* RegPll */
459#define RF_PLL_BANDWIDTH_MASK (0x3F)
460#define RF_PLL_BANDWIDTH_75 (0x00)
461#define RF_PLL_BANDWIDTH_150 (0x40)
462#define RF_PLL_BANDWIDTH_225 (0x80)
463#define RF_PLL_BANDWIDTH_300 (0xC0) /* Default */
465
466/* FSK modem definitions */
467
472#define SX127X_REG_FIFO (0x00)
473
474/* Common settings */
475#define SX127X_REG_OPMODE (0x01)
476#define SX127X_REG_BITRATEMSB (0x02)
477#define SX127X_REG_BITRATELSB (0x03)
478#define SX127X_REG_FDEVMSB (0x04)
479#define SX127X_REG_FDEVLSB (0x05)
480#define SX127X_REG_FRFMSB (0x06)
481#define SX127X_REG_FRFMID (0x07)
482#define SX127X_REG_FRFLSB (0x08)
483
484/* Tx settings */
485#define SX127X_REG_PACONFIG (0x09)
486#define SX127X_REG_PARAMP (0x0A)
487#define SX127X_REG_OCP (0x0B)
488
489/* Rx settings */
490#define SX127X_REG_LNA (0x0C)
491#define SX127X_REG_RXCONFIG (0x0D)
492#define SX127X_REG_RSSICONFIG (0x0E)
493#define SX127X_REG_RSSICOLLISION (0x0F)
494#define SX127X_REG_RSSITHRESH (0x10)
495#define SX127X_REG_RSSIVALUE (0x11)
496#define SX127X_REG_RXBW (0x12)
497#define SX127X_REG_AFCBW (0x13)
498#define SX127X_REG_OOKPEAK (0x14)
499#define SX127X_REG_OOKFIX (0x15)
500#define SX127X_REG_OOKAVG (0x16)
501#define SX127X_REG_RES17 (0x17)
502#define SX127X_REG_RES18 (0x18)
503#define SX127X_REG_RES19 (0x19)
504#define SX127X_REG_AFCFEI (0x1A)
505#define SX127X_REG_AFCMSB (0x1B)
506#define SX127X_REG_AFCLSB (0x1C)
507#define SX127X_REG_FEIMSB (0x1D)
508#define SX127X_REG_FEILSB (0x1E)
509#define SX127X_REG_PREAMBLEDETECT (0x1F)
510#define SX127X_REG_RXTIMEOUT1 (0x20)
511#define SX127X_REG_RXTIMEOUT2 (0x21)
512#define SX127X_REG_RXTIMEOUT3 (0x22)
513#define SX127X_REG_RXDELAY (0x23)
514
515/* Oscillator settings */
516#define SX127X_REG_OSC (0x24)
517
518/* Packet handler settings */
519#define SX127X_REG_PREAMBLEMSB (0x25)
520#define SX127X_REG_PREAMBLELSB (0x26)
521#define SX127X_REG_SYNCCONFIG (0x27)
522#define SX127X_REG_SYNCVALUE1 (0x28)
523#define SX127X_REG_SYNCVALUE2 (0x29)
524#define SX127X_REG_SYNCVALUE3 (0x2A)
525#define SX127X_REG_SYNCVALUE4 (0x2B)
526#define SX127X_REG_SYNCVALUE5 (0x2C)
527#define SX127X_REG_SYNCVALUE6 (0x2D)
528#define SX127X_REG_SYNCVALUE7 (0x2E)
529#define SX127X_REG_SYNCVALUE8 (0x2F)
530#define SX127X_REG_PACKETCONFIG1 (0x30)
531#define SX127X_REG_PACKETCONFIG2 (0x31)
532#define SX127X_REG_PAYLOADLENGTH (0x32)
533#define SX127X_REG_NODEADRS (0x33)
534#define SX127X_REG_BROADCASTADRS (0x34)
535#define SX127X_REG_FIFOTHRESH (0x35)
536
537/* SM settings */
538#define SX127X_REG_SEQCONFIG1 (0x36)
539#define SX127X_REG_SEQCONFIG2 (0x37)
540#define SX127X_REG_TIMERRESOL (0x38)
541#define SX127X_REG_TIMER1COEF (0x39)
542#define SX127X_REG_TIMER2COEF (0x3A)
543
544/* Service settings */
545#define SX127X_REG_IMAGECAL (0x3B)
546#define SX127X_REG_TEMP (0x3C)
547#define SX127X_REG_LOWBAT (0x3D)
548
549/* Status */
550#define SX127X_REG_IRQFLAGS1 (0x3E)
551#define SX127X_REG_IRQFLAGS2 (0x3F)
552
553/* I/O settings */
554#define SX127X_REG_DIOMAPPING1 (0x40)
555#define SX127X_REG_DIOMAPPING2 (0x41)
556
557/* Version */
558#define SX127X_REG_VERSION (0x42)
559#define VERSION_SX1276 (0x12)
560#define VERSION_SX1276_WLR089 (0x13)
561#define VERSION_SX1272 (0x22)
562
563/* Additional settings */
564#define SX127X_REG_PLLHOP (0x44)
565#define SX127X_REG_TCXO (0x4B)
566#define SX1276_REG_PADAC (0x4D)
567#define SX1272_REG_PADAC (0x5A)
568#define SX127X_REG_FORMERTEMP (0x5B)
569#define SX127X_REG_BITRATEFRAC (0x5D)
570#define SX127X_REG_AGCREF (0x61)
571#define SX127X_REG_AGCTHRESH1 (0x62)
572#define SX127X_REG_AGCTHRESH2 (0x63)
573#define SX127X_REG_AGCTHRESH3 (0x64)
574#define SX127X_REG_PLL (0x70)
576
581
582/* RegOpMode */
583#define SX127X_RF_OPMODE_LONGRANGEMODE_MASK (0x7F)
584#define SX127X_RF_OPMODE_LONGRANGEMODE_OFF (0x00)
585#define SX127X_RF_OPMODE_LONGRANGEMODE_ON (0x80)
586
587#define SX127X_RF_OPMODE_MODULATIONTYPE_MASK (0x9F)
588#define SX127X_RF_OPMODE_MODULATIONTYPE_FSK (0x00) /* Default */
589#define SX127X_RF_OPMODE_MODULATIONTYPE_OOK (0x20)
590
591#define SX127X_RF_OPMODE_MODULATIONSHAPING_MASK (0xE7)
592#define SX127X_RF_OPMODE_MODULATIONSHAPING_00 (0x00) /* Default */
593#define SX127X_RF_OPMODE_MODULATIONSHAPING_01 (0x08)
594#define SX127X_RF_OPMODE_MODULATIONSHAPING_10 (0x10)
595#define SX127X_RF_OPMODE_MODULATIONSHAPING_11 (0x18)
596
597#define SX127X_RF_OPMODE_MASK (0xF8)
598#define SX127X_RF_OPMODE_SLEEP (0x00)
599#define SX127X_RF_OPMODE_STANDBY (0x01) /* Default */
600#define SX127X_RF_OPMODE_SYNTHESIZER_TX (0x02)
601#define SX127X_RF_OPMODE_TRANSMITTER (0x03)
602#define SX127X_RF_OPMODE_SYNTHESIZER_RX (0x04)
603#define SX127X_RF_OPMODE_RECEIVER (0x05)
604#define SX127X_RF_OPMODE_RECEIVER_SINGLE (0x06)
605
606/* RegBitRate (bits/sec) */
607#define SX127X_RF_BITRATEMSB_1200_BPS (0x68)
608#define SX127X_RF_BITRATELSB_1200_BPS (0x2B)
609#define SX127X_RF_BITRATEMSB_2400_BPS (0x34)
610#define SX127X_RF_BITRATELSB_2400_BPS (0x15)
611#define SX127X_RF_BITRATEMSB_4800_BPS (0x1A) /* Default */
612#define SX127X_RF_BITRATELSB_4800_BPS (0x0B) /* Default */
613#define SX127X_RF_BITRATEMSB_9600_BPS (0x0D)
614#define SX127X_RF_BITRATELSB_9600_BPS (0x05)
615#define SX127X_RF_BITRATEMSB_15000_BPS (0x08)
616#define SX127X_RF_BITRATELSB_15000_BPS (0x55)
617#define SX127X_RF_BITRATEMSB_19200_BPS (0x06)
618#define SX127X_RF_BITRATELSB_19200_BPS (0x83)
619#define SX127X_RF_BITRATEMSB_38400_BPS (0x03)
620#define SX127X_RF_BITRATELSB_38400_BPS (0x41)
621#define SX127X_RF_BITRATEMSB_76800_BPS (0x01)
622#define SX127X_RF_BITRATELSB_76800_BPS (0xA1)
623#define SX127X_RF_BITRATEMSB_153600_BPS (0x00)
624#define SX127X_RF_BITRATELSB_153600_BPS (0xD0)
625#define SX127X_RF_BITRATEMSB_57600_BPS (0x02)
626#define SX127X_RF_BITRATELSB_57600_BPS (0x2C)
627#define SX127X_RF_BITRATEMSB_115200_BPS (0x01)
628#define SX127X_RF_BITRATELSB_115200_BPS (0x16)
629#define SX127X_RF_BITRATEMSB_12500_BPS (0x0A)
630#define SX127X_RF_BITRATELSB_12500_BPS (0x00)
631#define SX127X_RF_BITRATEMSB_25000_BPS (0x05)
632#define SX127X_RF_BITRATELSB_25000_BPS (0x00)
633#define SX127X_RF_BITRATEMSB_50000_BPS (0x02)
634#define SX127X_RF_BITRATELSB_50000_BPS (0x80)
635#define SX127X_RF_BITRATEMSB_100000_BPS (0x01)
636#define SX127X_RF_BITRATELSB_100000_BPS (0x40)
637#define SX127X_RF_BITRATEMSB_150000_BPS (0x00)
638#define SX127X_RF_BITRATELSB_150000_BPS (0xD5)
639#define SX127X_RF_BITRATEMSB_200000_BPS (0x00)
640#define SX127X_RF_BITRATELSB_200000_BPS (0xA0)
641#define SX127X_RF_BITRATEMSB_250000_BPS (0x00)
642#define SX127X_RF_BITRATELSB_250000_BPS (0x80)
643#define SX127X_RF_BITRATEMSB_32768_BPS (0x03)
644#define SX127X_RF_BITRATELSB_32768_BPS (0xD1)
645
646/* RegFdev (Hz) */
647#define SX127X_RF_FDEVMSB_2000_HZ (0x00)
648#define SX127X_RF_FDEVLSB_2000_HZ (0x21)
649#define SX127X_RF_FDEVMSB_5000_HZ (0x00) /* Default */
650#define SX127X_RF_FDEVLSB_5000_HZ (0x52) /* Default */
651#define SX127X_RF_FDEVMSB_10000_HZ (0x00)
652#define SX127X_RF_FDEVLSB_10000_HZ (0xA4)
653#define SX127X_RF_FDEVMSB_15000_HZ (0x00)
654#define SX127X_RF_FDEVLSB_15000_HZ (0xF6)
655#define SX127X_RF_FDEVMSB_20000_HZ (0x01)
656#define SX127X_RF_FDEVLSB_20000_HZ (0x48)
657#define SX127X_RF_FDEVMSB_25000_HZ (0x01)
658#define SX127X_RF_FDEVLSB_25000_HZ (0x9A)
659#define SX127X_RF_FDEVMSB_30000_HZ (0x01)
660#define SX127X_RF_FDEVLSB_30000_HZ (0xEC)
661#define SX127X_RF_FDEVMSB_35000_HZ (0x02)
662#define SX127X_RF_FDEVLSB_35000_HZ (0x3D)
663#define SX127X_RF_FDEVMSB_40000_HZ (0x02)
664#define SX127X_RF_FDEVLSB_40000_HZ (0x8F)
665#define SX127X_RF_FDEVMSB_45000_HZ (0x02)
666#define SX127X_RF_FDEVLSB_45000_HZ (0xE1)
667#define SX127X_RF_FDEVMSB_50000_HZ (0x03)
668#define SX127X_RF_FDEVLSB_50000_HZ (0x33)
669#define SX127X_RF_FDEVMSB_55000_HZ (0x03)
670#define SX127X_RF_FDEVLSB_55000_HZ (0x85)
671#define SX127X_RF_FDEVMSB_60000_HZ (0x03)
672#define SX127X_RF_FDEVLSB_60000_HZ (0xD7)
673#define SX127X_RF_FDEVMSB_65000_HZ (0x04)
674#define SX127X_RF_FDEVLSB_65000_HZ (0x29)
675#define SX127X_RF_FDEVMSB_70000_HZ (0x04)
676#define SX127X_RF_FDEVLSB_70000_HZ (0x7B)
677#define SX127X_RF_FDEVMSB_75000_HZ (0x04)
678#define SX127X_RF_FDEVLSB_75000_HZ (0xCD)
679#define SX127X_RF_FDEVMSB_80000_HZ (0x05)
680#define SX127X_RF_FDEVLSB_80000_HZ (0x1F)
681#define SX127X_RF_FDEVMSB_85000_HZ (0x05)
682#define SX127X_RF_FDEVLSB_85000_HZ (0x71)
683#define SX127X_RF_FDEVMSB_90000_HZ (0x05)
684#define SX127X_RF_FDEVLSB_90000_HZ (0xC3)
685#define SX127X_RF_FDEVMSB_95000_HZ (0x06)
686#define SX127X_RF_FDEVLSB_95000_HZ (0x14)
687#define SX127X_RF_FDEVMSB_100000_HZ (0x06)
688#define SX127X_RF_FDEVLSB_100000_HZ (0x66)
689#define SX127X_RF_FDEVMSB_110000_HZ (0x07)
690#define SX127X_RF_FDEVLSB_110000_HZ (0x0A)
691#define SX127X_RF_FDEVMSB_120000_HZ (0x07)
692#define SX127X_RF_FDEVLSB_120000_HZ (0xAE)
693#define SX127X_RF_FDEVMSB_130000_HZ (0x08)
694#define SX127X_RF_FDEVLSB_130000_HZ (0x52)
695#define SX127X_RF_FDEVMSB_140000_HZ (0x08)
696#define SX127X_RF_FDEVLSB_140000_HZ (0xF6)
697#define SX127X_RF_FDEVMSB_150000_HZ (0x09)
698#define SX127X_RF_FDEVLSB_150000_HZ (0x9A)
699#define SX127X_RF_FDEVMSB_160000_HZ (0x0A)
700#define SX127X_RF_FDEVLSB_160000_HZ (0x3D)
701#define SX127X_RF_FDEVMSB_170000_HZ (0x0A)
702#define SX127X_RF_FDEVLSB_170000_HZ (0xE1)
703#define SX127X_RF_FDEVMSB_180000_HZ (0x0B)
704#define SX127X_RF_FDEVLSB_180000_HZ (0x85)
705#define SX127X_RF_FDEVMSB_190000_HZ (0x0C)
706#define SX127X_RF_FDEVLSB_190000_HZ (0x29)
707#define SX127X_RF_FDEVMSB_200000_HZ (0x0C)
708#define SX127X_RF_FDEVLSB_200000_HZ (0xCD)
709
710/* RegFrf (MHz) */
711#define SX127X_RF_FRFMSB_863_MHZ (0xD7)
712#define SX127X_RF_FRFMID_863_MHZ (0xC0)
713#define SX127X_RF_FRFLSB_863_MHZ (0x00)
714#define SX127X_RF_FRFMSB_864_MHZ (0xD8)
715#define SX127X_RF_FRFMID_864_MHZ (0x00)
716#define SX127X_RF_FRFLSB_864_MHZ (0x00)
717#define SX127X_RF_FRFMSB_865_MHZ (0xD8)
718#define SX127X_RF_FRFMID_865_MHZ (0x40)
719#define SX127X_RF_FRFLSB_865_MHZ (0x00)
720#define SX127X_RF_FRFMSB_866_MHZ (0xD8)
721#define SX127X_RF_FRFMID_866_MHZ (0x80)
722#define SX127X_RF_FRFLSB_866_MHZ (0x00)
723#define SX127X_RF_FRFMSB_867_MHZ (0xD8)
724#define SX127X_RF_FRFMID_867_MHZ (0xC0)
725#define SX127X_RF_FRFLSB_867_MHZ (0x00)
726#define SX127X_RF_FRFMSB_868_MHZ (0xD9)
727#define SX127X_RF_FRFMID_868_MHZ (0x00)
728#define SX127X_RF_FRFLSB_868_MHZ (0x00)
729#define SX127X_RF_FRFMSB_869_MHZ (0xD9)
730#define SX127X_RF_FRFMID_869_MHZ (0x40)
731#define SX127X_RF_FRFLSB_869_MHZ (0x00)
732#define SX127X_RF_FRFMSB_870_MHZ (0xD9)
733#define SX127X_RF_FRFMID_870_MHZ (0x80)
734#define SX127X_RF_FRFLSB_870_MHZ (0x00)
735
736#define SX127X_RF_FRFMSB_902_MHZ (0xE1)
737#define SX127X_RF_FRFMID_902_MHZ (0x80)
738#define SX127X_RF_FRFLSB_902_MHZ (0x00)
739#define SX127X_RF_FRFMSB_903_MHZ (0xE1)
740#define SX127X_RF_FRFMID_903_MHZ (0xC0)
741#define SX127X_RF_FRFLSB_903_MHZ (0x00)
742#define SX127X_RF_FRFMSB_904_MHZ (0xE2)
743#define SX127X_RF_FRFMID_904_MHZ (0x00)
744#define SX127X_RF_FRFLSB_904_MHZ (0x00)
745#define SX127X_RF_FRFMSB_905_MHZ (0xE2)
746#define SX127X_RF_FRFMID_905_MHZ (0x40)
747#define SX127X_RF_FRFLSB_905_MHZ (0x00)
748#define SX127X_RF_FRFMSB_906_MHZ (0xE2)
749#define SX127X_RF_FRFMID_906_MHZ (0x80)
750#define SX127X_RF_FRFLSB_906_MHZ (0x00)
751#define SX127X_RF_FRFMSB_907_MHZ (0xE2)
752#define SX127X_RF_FRFMID_907_MHZ (0xC0)
753#define SX127X_RF_FRFLSB_907_MHZ (0x00)
754#define SX127X_RF_FRFMSB_908_MHZ (0xE3)
755#define SX127X_RF_FRFMID_908_MHZ (0x00)
756#define SX127X_RF_FRFLSB_908_MHZ (0x00)
757#define SX127X_RF_FRFMSB_909_MHZ (0xE3)
758#define SX127X_RF_FRFMID_909_MHZ (0x40)
759#define SX127X_RF_FRFLSB_909_MHZ (0x00)
760#define SX127X_RF_FRFMSB_910_MHZ (0xE3)
761#define SX127X_RF_FRFMID_910_MHZ (0x80)
762#define SX127X_RF_FRFLSB_910_MHZ (0x00)
763#define SX127X_RF_FRFMSB_911_MHZ (0xE3)
764#define SX127X_RF_FRFMID_911_MHZ (0xC0)
765#define SX127X_RF_FRFLSB_911_MHZ (0x00)
766#define SX127X_RF_FRFMSB_912_MHZ (0xE4)
767#define SX127X_RF_FRFMID_912_MHZ (0x00)
768#define SX127X_RF_FRFLSB_912_MHZ (0x00)
769#define SX127X_RF_FRFMSB_913_MHZ (0xE4)
770#define SX127X_RF_FRFMID_913_MHZ (0x40)
771#define SX127X_RF_FRFLSB_913_MHZ (0x00)
772#define SX127X_RF_FRFMSB_914_MHZ (0xE4)
773#define SX127X_RF_FRFMID_914_MHZ (0x80)
774#define SX127X_RF_FRFLSB_914_MHZ (0x00)
775#define SX127X_RF_FRFMSB_915_MHZ (0xE4) /* Default */
776#define SX127X_RF_FRFMID_915_MHZ (0xC0) /* Default */
777#define SX127X_RF_FRFLSB_915_MHZ (0x00) /* Default */
778#define SX127X_RF_FRFMSB_916_MHZ (0xE5)
779#define SX127X_RF_FRFMID_916_MHZ (0x00)
780#define SX127X_RF_FRFLSB_916_MHZ (0x00)
781#define SX127X_RF_FRFMSB_917_MHZ (0xE5)
782#define SX127X_RF_FRFMID_917_MHZ (0x40)
783#define SX127X_RF_FRFLSB_917_MHZ (0x00)
784#define SX127X_RF_FRFMSB_918_MHZ (0xE5)
785#define SX127X_RF_FRFMID_918_MHZ (0x80)
786#define SX127X_RF_FRFLSB_918_MHZ (0x00)
787#define SX127X_RF_FRFMSB_919_MHZ (0xE5)
788#define SX127X_RF_FRFMID_919_MHZ (0xC0)
789#define SX127X_RF_FRFLSB_919_MHZ (0x00)
790#define SX127X_RF_FRFMSB_920_MHZ (0xE6)
791#define SX127X_RF_FRFMID_920_MHZ (0x00)
792#define SX127X_RF_FRFLSB_920_MHZ (0x00)
793#define SX127X_RF_FRFMSB_921_MHZ (0xE6)
794#define SX127X_RF_FRFMID_921_MHZ (0x40)
795#define SX127X_RF_FRFLSB_921_MHZ (0x00)
796#define SX127X_RF_FRFMSB_922_MHZ (0xE6)
797#define SX127X_RF_FRFMID_922_MHZ (0x80)
798#define SX127X_RF_FRFLSB_922_MHZ (0x00)
799#define SX127X_RF_FRFMSB_923_MHZ (0xE6)
800#define SX127X_RF_FRFMID_923_MHZ (0xC0)
801#define SX127X_RF_FRFLSB_923_MHZ (0x00)
802#define SX127X_RF_FRFMSB_924_MHZ (0xE7)
803#define SX127X_RF_FRFMID_924_MHZ (0x00)
804#define SX127X_RF_FRFLSB_924_MHZ (0x00)
805#define SX127X_RF_FRFMSB_925_MHZ (0xE7)
806#define SX127X_RF_FRFMID_925_MHZ (0x40)
807#define SX127X_RF_FRFLSB_925_MHZ (0x00)
808#define SX127X_RF_FRFMSB_926_MHZ (0xE7)
809#define SX127X_RF_FRFMID_926_MHZ (0x80)
810#define SX127X_RF_FRFLSB_926_MHZ (0x00)
811#define SX127X_RF_FRFMSB_927_MHZ (0xE7)
812#define SX127X_RF_FRFMID_927_MHZ (0xC0)
813#define SX127X_RF_FRFLSB_927_MHZ (0x00)
814#define SX127X_RF_FRFMSB_928_MHZ (0xE8)
815#define SX127X_RF_FRFMID_928_MHZ (0x00)
816#define SX127X_RF_FRFLSB_928_MHZ (0x00)
817
818/* RegPaConfig */
819#define SX127X_RF_PACONFIG_PASELECT_MASK (0x7F)
820#define SX127X_RF_PACONFIG_PASELECT_PABOOST (0x80)
821#define SX127X_RF_PACONFIG_PASELECT_RFO (0x00) /* Default */
822
823#define SX127X_RF_PACONFIG_MAX_POWER_MASK (0x8F)
824
825#define SX127X_RF_PACONFIG_OUTPUTPOWER_MASK (0xF0)
826
827/* RegPaRamp */
828#define SX127X_RF_PARAMP_LOWPNTXPLL_MASK (0xE0)
829#define SX127X_RF_PARAMP_LOWPNTXPLL_OFF (0x10) /* Default */
830#define SX127X_RF_PARAMP_LOWPNTXPLL_ON (0x00)
831
832#define SX127X_RF_PARAMP_MASK (0xF0)
833#define SX127X_RF_PARAMP_3400_US (0x00)
834#define SX127X_RF_PARAMP_2000_US (0x01)
835#define SX127X_RF_PARAMP_1000_US (0x02)
836#define SX127X_RF_PARAMP_0500_US (0x03)
837#define SX127X_RF_PARAMP_0250_US (0x04)
838#define SX127X_RF_PARAMP_0125_US (0x05)
839#define SX127X_RF_PARAMP_0100_US (0x06)
840#define SX127X_RF_PARAMP_0062_US (0x07)
841#define SX127X_RF_PARAMP_0050_US (0x08)
842#define SX127X_RF_PARAMP_0040_US (0x09) /* Default */
843#define SX127X_RF_PARAMP_0031_US (0x0A)
844#define SX127X_RF_PARAMP_0025_US (0x0B)
845#define SX127X_RF_PARAMP_0020_US (0x0C)
846#define SX127X_RF_PARAMP_0015_US (0x0D)
847#define SX127X_RF_PARAMP_0012_US (0x0E)
848#define SX127X_RF_PARAMP_0010_US (0x0F)
849
850/* RegOcp */
851#define SX127X_RF_OCP_MASK (0xDF)
852#define SX127X_RF_OCP_ON (0x20) /* Default */
853#define SX127X_RF_OCP_OFF (0x00)
854
855#define SX127X_RF_OCP_TRIM_MASK (0xE0)
856#define SX127X_RF_OCP_TRIM_045_MA (0x00)
857#define SX127X_RF_OCP_TRIM_050_MA (0x01)
858#define SX127X_RF_OCP_TRIM_055_MA (0x02)
859#define SX127X_RF_OCP_TRIM_060_MA (0x03)
860#define SX127X_RF_OCP_TRIM_065_MA (0x04)
861#define SX127X_RF_OCP_TRIM_070_MA (0x05)
862#define SX127X_RF_OCP_TRIM_075_MA (0x06)
863#define SX127X_RF_OCP_TRIM_080_MA (0x07)
864#define SX127X_RF_OCP_TRIM_085_MA (0x08)
865#define SX127X_RF_OCP_TRIM_090_MA (0x09)
866#define SX127X_RF_OCP_TRIM_095_MA (0x0A)
867#define SX127X_RF_OCP_TRIM_100_MA (0x0B) /* Default */
868#define SX127X_RF_OCP_TRIM_105_MA (0x0C)
869#define SX127X_RF_OCP_TRIM_110_MA (0x0D)
870#define SX127X_RF_OCP_TRIM_115_MA (0x0E)
871#define SX127X_RF_OCP_TRIM_120_MA (0x0F)
872#define SX127X_RF_OCP_TRIM_130_MA (0x10)
873#define SX127X_RF_OCP_TRIM_140_MA (0x11)
874#define SX127X_RF_OCP_TRIM_150_MA (0x12)
875#define SX127X_RF_OCP_TRIM_160_MA (0x13)
876#define SX127X_RF_OCP_TRIM_170_MA (0x14)
877#define SX127X_RF_OCP_TRIM_180_MA (0x15)
878#define SX127X_RF_OCP_TRIM_190_MA (0x16)
879#define SX127X_RF_OCP_TRIM_200_MA (0x17)
880#define SX127X_RF_OCP_TRIM_210_MA (0x18)
881#define SX127X_RF_OCP_TRIM_220_MA (0x19)
882#define SX127X_RF_OCP_TRIM_230_MA (0x1A)
883#define SX127X_RF_OCP_TRIM_240_MA (0x1B)
884
885/* RegLna */
886#define SX127X_RF_LNA_GAIN_MASK (0x1F)
887#define SX127X_RF_LNA_GAIN_G1 (0x20) /* Default */
888#define SX127X_RF_LNA_GAIN_G2 (0x40)
889#define SX127X_RF_LNA_GAIN_G3 (0x60)
890#define SX127X_RF_LNA_GAIN_G4 (0x80)
891#define SX127X_RF_LNA_GAIN_G5 (0xA0)
892#define SX127X_RF_LNA_GAIN_G6 (0xC0)
893
894#define SX127X_RF_LNA_BOOST_MASK (0xFC)
895#define SX127X_RF_LNA_BOOST_OFF (0x00) /* Default */
896#define SX127X_RF_LNA_BOOST_ON (0x03)
897
898/* RegRxConfig */
899#define SX127X_RF_RXCONFIG_RESTARTRXONCOLLISION_MASK (0x7F)
900#define SX127X_RF_RXCONFIG_RESTARTRXONCOLLISION_ON (0x80)
901#define SX127X_RF_RXCONFIG_RESTARTRXONCOLLISION_OFF (0x00) /* Default */
902
903#define SX127X_RF_RXCONFIG_RESTARTRXWITHOUTPLLLOCK (0x40) /* Write only */
904
905#define SX127X_RF_RXCONFIG_RESTARTRXWITHPLLLOCK (0x20) /* Write only */
906
907#define SX127X_RF_RXCONFIG_AFCAUTO_MASK (0xEF)
908#define SX127X_RF_RXCONFIG_AFCAUTO_ON (0x10)
909#define SX127X_RF_RXCONFIG_AFCAUTO_OFF (0x00) /* Default */
910
911#define SX127X_RF_RXCONFIG_AGCAUTO_MASK (0xF7)
912#define SX127X_RF_RXCONFIG_AGCAUTO_ON (0x08) /* Default */
913#define SX127X_RF_RXCONFIG_AGCAUTO_OFF (0x00)
914
915#define SX127X_RF_RXCONFIG_RXTRIGER_MASK (0xF8)
916#define SX127X_RF_RXCONFIG_RXTRIGER_OFF (0x00)
917#define SX127X_RF_RXCONFIG_RXTRIGER_RSSI (0x01)
918#define SX127X_RF_RXCONFIG_RXTRIGER_PREAMBLEDETECT (0x06) /* Default */
919#define SX127X_RF_RXCONFIG_RXTRIGER_RSSI_PREAMBLEDETECT (0x07)
920
921/* RegRssiConfig */
922#define SX127X_RF_RSSICONFIG_OFFSET_MASK (0x07)
923#define SX127X_RF_RSSICONFIG_OFFSET_P_00_DB (0x00) /* Default */
924#define SX127X_RF_RSSICONFIG_OFFSET_P_01_DB (0x08)
925#define SX127X_RF_RSSICONFIG_OFFSET_P_02_DB (0x10)
926#define SX127X_RF_RSSICONFIG_OFFSET_P_03_DB (0x18)
927#define SX127X_RF_RSSICONFIG_OFFSET_P_04_DB (0x20)
928#define SX127X_RF_RSSICONFIG_OFFSET_P_05_DB (0x28)
929#define SX127X_RF_RSSICONFIG_OFFSET_P_06_DB (0x30)
930#define SX127X_RF_RSSICONFIG_OFFSET_P_07_DB (0x38)
931#define SX127X_RF_RSSICONFIG_OFFSET_P_08_DB (0x40)
932#define SX127X_RF_RSSICONFIG_OFFSET_P_09_DB (0x48)
933#define SX127X_RF_RSSICONFIG_OFFSET_P_10_DB (0x50)
934#define SX127X_RF_RSSICONFIG_OFFSET_P_11_DB (0x58)
935#define SX127X_RF_RSSICONFIG_OFFSET_P_12_DB (0x60)
936#define SX127X_RF_RSSICONFIG_OFFSET_P_13_DB (0x68)
937#define SX127X_RF_RSSICONFIG_OFFSET_P_14_DB (0x70)
938#define SX127X_RF_RSSICONFIG_OFFSET_P_15_DB (0x78)
939#define SX127X_RF_RSSICONFIG_OFFSET_M_16_DB (0x80)
940#define SX127X_RF_RSSICONFIG_OFFSET_M_15_DB (0x88)
941#define SX127X_RF_RSSICONFIG_OFFSET_M_14_DB (0x90)
942#define SX127X_RF_RSSICONFIG_OFFSET_M_13_DB (0x98)
943#define SX127X_RF_RSSICONFIG_OFFSET_M_12_DB (0xA0)
944#define SX127X_RF_RSSICONFIG_OFFSET_M_11_DB (0xA8)
945#define SX127X_RF_RSSICONFIG_OFFSET_M_10_DB (0xB0)
946#define SX127X_RF_RSSICONFIG_OFFSET_M_09_DB (0xB8)
947#define SX127X_RF_RSSICONFIG_OFFSET_M_08_DB (0xC0)
948#define SX127X_RF_RSSICONFIG_OFFSET_M_07_DB (0xC8)
949#define SX127X_RF_RSSICONFIG_OFFSET_M_06_DB (0xD0)
950#define SX127X_RF_RSSICONFIG_OFFSET_M_05_DB (0xD8)
951#define SX127X_RF_RSSICONFIG_OFFSET_M_04_DB (0xE0)
952#define SX127X_RF_RSSICONFIG_OFFSET_M_03_DB (0xE8)
953#define SX127X_RF_RSSICONFIG_OFFSET_M_02_DB (0xF0)
954#define SX127X_RF_RSSICONFIG_OFFSET_M_01_DB (0xF8)
955
956#define SX127X_RF_RSSICONFIG_SMOOTHING_MASK (0xF8)
957#define SX127X_RF_RSSICONFIG_SMOOTHING_2 (0x00)
958#define SX127X_RF_RSSICONFIG_SMOOTHING_4 (0x01)
959#define SX127X_RF_RSSICONFIG_SMOOTHING_8 (0x02) /* Default */
960#define SX127X_RF_RSSICONFIG_SMOOTHING_16 (0x03)
961#define SX127X_RF_RSSICONFIG_SMOOTHING_32 (0x04)
962#define SX127X_RF_RSSICONFIG_SMOOTHING_64 (0x05)
963#define SX127X_RF_RSSICONFIG_SMOOTHING_128 (0x06)
964#define SX127X_RF_RSSICONFIG_SMOOTHING_256 (0x07)
965
966/* RegRssiCollision */
967#define SX127X_RF_RSSICOLISION_THRESHOLD (0x0A) /* Default */
968
969/* RegRssiThresh */
970#define SX127X_RF_RSSITHRESH_THRESHOLD (0xFF) /* Default */
971
972/* RegRxBw */
973#define SX127X_RF_RXBW_MANT_MASK (0xE7)
974#define SX127X_RF_RXBW_MANT_16 (0x00)
975#define SX127X_RF_RXBW_MANT_20 (0x08)
976#define SX127X_RF_RXBW_MANT_24 (0x10) /* Default */
977
978#define SX127X_RF_RXBW_EXP_MASK (0xF8)
979#define SX127X_RF_RXBW_EXP_0 (0x00)
980#define SX127X_RF_RXBW_EXP_1 (0x01)
981#define SX127X_RF_RXBW_EXP_2 (0x02)
982#define SX127X_RF_RXBW_EXP_3 (0x03)
983#define SX127X_RF_RXBW_EXP_4 (0x04)
984#define SX127X_RF_RXBW_EXP_5 (0x05) /* Default */
985#define SX127X_RF_RXBW_EXP_6 (0x06)
986#define SX127X_RF_RXBW_EXP_7 (0x07)
987
988/* RegAfcBw */
989#define SX127X_RF_AFCBW_MANTAFC_MASK (0xE7)
990#define SX127X_RF_AFCBW_MANTAFC_16 (0x00)
991#define SX127X_RF_AFCBW_MANTAFC_20 (0x08) /* Default */
992#define SX127X_RF_AFCBW_MANTAFC_24 (0x10)
993
994#define SX127X_RF_AFCBW_EXPAFC_MASK (0xF8)
995#define SX127X_RF_AFCBW_EXPAFC_0 (0x00)
996#define SX127X_RF_AFCBW_EXPAFC_1 (0x01)
997#define SX127X_RF_AFCBW_EXPAFC_2 (0x02)
998#define SX127X_RF_AFCBW_EXPAFC_3 (0x03) /* Default */
999#define SX127X_RF_AFCBW_EXPAFC_4 (0x04)
1000#define SX127X_RF_AFCBW_EXPAFC_5 (0x05)
1001#define SX127X_RF_AFCBW_EXPAFC_6 (0x06)
1002#define SX127X_RF_AFCBW_EXPAFC_7 (0x07)
1003
1004/* RegOokPeak */
1005#define SX127X_RF_OOKPEAK_BITSYNC_MASK (0xDF) /* Default */
1006#define SX127X_RF_OOKPEAK_BITSYNC_ON (0x20) /* Default */
1007#define SX127X_RF_OOKPEAK_BITSYNC_OFF (0x00)
1008
1009#define SX127X_RF_OOKPEAK_OOKTHRESHTYPE_MASK (0xE7)
1010#define SX127X_RF_OOKPEAK_OOKTHRESHTYPE_FIXED (0x00)
1011#define SX127X_RF_OOKPEAK_OOKTHRESHTYPE_PEAK (0x08) /* Default */
1012#define SX127X_RF_OOKPEAK_OOKTHRESHTYPE_AVERAGE (0x10)
1013
1014#define SX127X_RF_OOKPEAK_OOKPEAKTHRESHSTEP_MASK (0xF8)
1015#define SX127X_RF_OOKPEAK_OOKPEAKTHRESHSTEP_0_5_DB (0x00) /* Default */
1016#define SX127X_RF_OOKPEAK_OOKPEAKTHRESHSTEP_1_0_DB (0x01)
1017#define SX127X_RF_OOKPEAK_OOKPEAKTHRESHSTEP_1_5_DB (0x02)
1018#define SX127X_RF_OOKPEAK_OOKPEAKTHRESHSTEP_2_0_DB (0x03)
1019#define SX127X_RF_OOKPEAK_OOKPEAKTHRESHSTEP_3_0_DB (0x04)
1020#define SX127X_RF_OOKPEAK_OOKPEAKTHRESHSTEP_4_0_DB (0x05)
1021#define SX127X_RF_OOKPEAK_OOKPEAKTHRESHSTEP_5_0_DB (0x06)
1022#define SX127X_RF_OOKPEAK_OOKPEAKTHRESHSTEP_6_0_DB (0x07)
1023
1024/* RegOokFix */
1025#define SX127X_RF_OOKFIX_OOKFIXEDTHRESHOLD (0x0C) /* Default */
1026
1027/* RegOokAvg */
1028#define SX127X_RF_OOKAVG_OOKPEAKTHRESHDEC_MASK (0x1F)
1029#define SX127X_RF_OOKAVG_OOKPEAKTHRESHDEC_000 (0x00) /* Default */
1030#define SX127X_RF_OOKAVG_OOKPEAKTHRESHDEC_001 (0x20)
1031#define SX127X_RF_OOKAVG_OOKPEAKTHRESHDEC_010 (0x40)
1032#define SX127X_RF_OOKAVG_OOKPEAKTHRESHDEC_011 (0x60)
1033#define SX127X_RF_OOKAVG_OOKPEAKTHRESHDEC_100 (0x80)
1034#define SX127X_RF_OOKAVG_OOKPEAKTHRESHDEC_101 (0xA0)
1035#define SX127X_RF_OOKAVG_OOKPEAKTHRESHDEC_110 (0xC0)
1036#define SX127X_RF_OOKAVG_OOKPEAKTHRESHDEC_111 (0xE0)
1037
1038#define SX127X_RF_OOKAVG_AVERAGEOFFSET_MASK (0xF3)
1039#define SX127X_RF_OOKAVG_AVERAGEOFFSET_0_DB (0x00) /* Default */
1040#define SX127X_RF_OOKAVG_AVERAGEOFFSET_2_DB (0x04)
1041#define SX127X_RF_OOKAVG_AVERAGEOFFSET_4_DB (0x08)
1042#define SX127X_RF_OOKAVG_AVERAGEOFFSET_6_DB (0x0C)
1043
1044#define SX127X_RF_OOKAVG_OOKAVERAGETHRESHFILT_MASK (0xFC)
1045#define SX127X_RF_OOKAVG_OOKAVERAGETHRESHFILT_00 (0x00)
1046#define SX127X_RF_OOKAVG_OOKAVERAGETHRESHFILT_01 (0x01)
1047#define SX127X_RF_OOKAVG_OOKAVERAGETHRESHFILT_10 (0x02) /* Default */
1048#define SX127X_RF_OOKAVG_OOKAVERAGETHRESHFILT_11 (0x03)
1049
1050/* RegAfcFei */
1051#define SX127X_RF_AFCFEI_AGCSTART (0x10)
1052
1053#define SX127X_RF_AFCFEI_AFCCLEAR (0x02)
1054
1055#define SX127X_RF_AFCFEI_AFCAUTOCLEAR_MASK (0xFE)
1056#define SX127X_RF_AFCFEI_AFCAUTOCLEAR_ON (0x01)
1057#define SX127X_RF_AFCFEI_AFCAUTOCLEAR_OFF (0x00) /* Default */
1058
1059/* RegPreambleDetect */
1060#define SX127X_RF_PREAMBLEDETECT_DETECTOR_MASK (0x7F)
1061#define SX127X_RF_PREAMBLEDETECT_DETECTOR_ON (0x80) /* Default */
1062#define SX127X_RF_PREAMBLEDETECT_DETECTOR_OFF (0x00)
1063
1064#define SX127X_RF_PREAMBLEDETECT_DETECTORSIZE_MASK (0x9F)
1065#define SX127X_RF_PREAMBLEDETECT_DETECTORSIZE_1 (0x00)
1066#define SX127X_RF_PREAMBLEDETECT_DETECTORSIZE_2 (0x20) /* Default */
1067#define SX127X_RF_PREAMBLEDETECT_DETECTORSIZE_3 (0x40)
1068#define SX127X_RF_PREAMBLEDETECT_DETECTORSIZE_4 (0x60)
1069
1070#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_MASK (0xE0)
1071#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_0 (0x00)
1072#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_1 (0x01)
1073#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_2 (0x02)
1074#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_3 (0x03)
1075#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_4 (0x04)
1076#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_5 (0x05)
1077#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_6 (0x06)
1078#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_7 (0x07)
1079#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_8 (0x08)
1080#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_9 (0x09)
1081#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_10 (0x0A) /* Default */
1082#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_11 (0x0B)
1083#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_12 (0x0C)
1084#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_13 (0x0D)
1085#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_14 (0x0E)
1086#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_15 (0x0F)
1087#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_16 (0x10)
1088#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_17 (0x11)
1089#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_18 (0x12)
1090#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_19 (0x13)
1091#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_20 (0x14)
1092#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_21 (0x15)
1093#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_22 (0x16)
1094#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_23 (0x17)
1095#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_24 (0x18)
1096#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_25 (0x19)
1097#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_26 (0x1A)
1098#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_27 (0x1B)
1099#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_28 (0x1C)
1100#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_29 (0x1D)
1101#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_30 (0x1E)
1102#define SX127X_RF_PREAMBLEDETECT_DETECTORTOL_31 (0x1F)
1103
1104/* RegRxTimeout1 */
1105#define SX127X_RF_RXTIMEOUT1_TIMEOUTRXRSSI (0x00) /* Default */
1106
1107/* RegRxTimeout2 */
1108#define SX127X_RF_RXTIMEOUT2_TIMEOUTRXPREAMBLE (0x00) /* Default */
1109
1110/* RegRxTimeout3 */
1111#define SX127X_RF_RXTIMEOUT3_TIMEOUTSIGNALSYNC (0x00) /* Default */
1112
1113/* RegRxDelay */
1114#define SX127X_RF_RXDELAY_INTERPACKETRXDELAY (0x00) /* Default */
1115
1116/* RegOsc */
1117#define SX127X_RF_OSC_RCCALSTART (0x08)
1118
1119#define SX127X_RF_OSC_CLKOUT_MASK (0xF8)
1120#define SX127X_RF_OSC_CLKOUT_32_MHZ (0x00)
1121#define SX127X_RF_OSC_CLKOUT_16_MHZ (0x01)
1122#define SX127X_RF_OSC_CLKOUT_8_MHZ (0x02)
1123#define SX127X_RF_OSC_CLKOUT_4_MHZ (0x03)
1124#define SX127X_RF_OSC_CLKOUT_2_MHZ (0x04)
1125#define SX127X_RF_OSC_CLKOUT_1_MHZ (0x05) /* Default */
1126#define SX127X_RF_OSC_CLKOUT_RC (0x06)
1127#define SX127X_RF_OSC_CLKOUT_OFF (0x07)
1128
1129/* RegPreambleMsb/RegPreambleLsb */
1130#define SX127X_RF_PREAMBLEMSB_SIZE (0x00) /* Default */
1131#define SX127X_RF_PREAMBLELSB_SIZE (0x03) /* Default */
1132
1133/* RegSyncConfig */
1134#define SX127X_RF_SYNCCONFIG_AUTORESTARTRXMODE_MASK (0x3F)
1135#define SX127X_RF_SYNCCONFIG_AUTORESTARTRXMODE_WAITPLL_ON (0x80) /* Default */
1136#define SX127X_RF_SYNCCONFIG_AUTORESTARTRXMODE_WAITPLL_OFF (0x40)
1137#define SX127X_RF_SYNCCONFIG_AUTORESTARTRXMODE_OFF (0x00)
1138
1139#define SX127X_RF_SYNCCONFIG_PREAMBLEPOLARITY_MASK (0xDF)
1140#define SX127X_RF_SYNCCONFIG_PREAMBLEPOLARITY_55 (0x20)
1141#define SX127X_RF_SYNCCONFIG_PREAMBLEPOLARITY_AA (0x00) /* Default */
1142
1143#define SX127X_RF_SYNCCONFIG_SYNC_MASK (0xEF)
1144#define SX127X_RF_SYNCCONFIG_SYNC_ON (0x10) /* Default */
1145#define SX127X_RF_SYNCCONFIG_SYNC_OFF (0x00)
1146
1147#define SX127X_RF_SYNCCONFIG_SYNCSIZE_MASK (0xF8)
1148#define SX127X_RF_SYNCCONFIG_SYNCSIZE_1 (0x00)
1149#define SX127X_RF_SYNCCONFIG_SYNCSIZE_2 (0x01)
1150#define SX127X_RF_SYNCCONFIG_SYNCSIZE_3 (0x02)
1151#define SX127X_RF_SYNCCONFIG_SYNCSIZE_4 (0x03) /* Default */
1152#define SX127X_RF_SYNCCONFIG_SYNCSIZE_5 (0x04)
1153#define SX127X_RF_SYNCCONFIG_SYNCSIZE_6 (0x05)
1154#define SX127X_RF_SYNCCONFIG_SYNCSIZE_7 (0x06)
1155#define SX127X_RF_SYNCCONFIG_SYNCSIZE_8 (0x07)
1156
1157/* RegSyncValue1-8 */
1158#define SX127X_RF_SYNCVALUE1_SYNCVALUE (0x01) /* Default */
1159#define SX127X_RF_SYNCVALUE2_SYNCVALUE (0x01) /* Default */
1160#define SX127X_RF_SYNCVALUE3_SYNCVALUE (0x01) /* Default */
1161#define SX127X_RF_SYNCVALUE4_SYNCVALUE (0x01) /* Default */
1162#define SX127X_RF_SYNCVALUE5_SYNCVALUE (0x01) /* Default */
1163#define SX127X_RF_SYNCVALUE6_SYNCVALUE (0x01) /* Default */
1164#define SX127X_RF_SYNCVALUE7_SYNCVALUE (0x01) /* Default */
1165#define SX127X_RF_SYNCVALUE8_SYNCVALUE (0x01) /* Default */
1166
1167/* RegPacketConfig1 */
1168#define SX127X_RF_PACKETCONFIG1_PACKETFORMAT_MASK (0x7F)
1169#define SX127X_RF_PACKETCONFIG1_PACKETFORMAT_FIXED (0x00)
1170#define SX127X_RF_PACKETCONFIG1_PACKETFORMAT_VARIABLE (0x80) /* Default */
1171
1172#define SX127X_RF_PACKETCONFIG1_DCFREE_MASK (0x9F)
1173#define SX127X_RF_PACKETCONFIG1_DCFREE_OFF (0x00) /* Default */
1174#define SX127X_RF_PACKETCONFIG1_DCFREE_MANCHESTER (0x20)
1175#define SX127X_RF_PACKETCONFIG1_DCFREE_WHITENING (0x40)
1176
1177#define SX127X_RF_PACKETCONFIG1_CRC_MASK (0xEF)
1178#define SX127X_RF_PACKETCONFIG1_CRC_ON (0x10) /* Default */
1179#define SX127X_RF_PACKETCONFIG1_CRC_OFF (0x00)
1180
1181#define SX127X_RF_PACKETCONFIG1_CRCAUTOCLEAR_MASK (0xF7)
1182#define SX127X_RF_PACKETCONFIG1_CRCAUTOCLEAR_ON (0x00) /* Default */
1183#define SX127X_RF_PACKETCONFIG1_CRCAUTOCLEAR_OFF (0x08)
1184
1185#define SX127X_RF_PACKETCONFIG1_ADDRSFILTERING_MASK (0xF9)
1186#define SX127X_RF_PACKETCONFIG1_ADDRSFILTERING_OFF (0x00) /* Default */
1187#define SX127X_RF_PACKETCONFIG1_ADDRSFILTERING_NODE (0x02)
1188#define SX127X_RF_PACKETCONFIG1_ADDRSFILTERING_NODEBROADCAST (0x04)
1189
1190#define SX127X_RF_PACKETCONFIG1_CRCWHITENINGTYPE_MASK (0xFE)
1191#define SX127X_RF_PACKETCONFIG1_CRCWHITENINGTYPE_CCITT (0x00) /* Default */
1192#define SX127X_RF_PACKETCONFIG1_CRCWHITENINGTYPE_IBM (0x01)
1193
1194/* RegPacketConfig2 */
1195#define SX127X_RF_PACKETCONFIG2_WMBUS_CRC_ENABLE_MASK (0x7F)
1196#define SX127X_RF_PACKETCONFIG2_WMBUS_CRC_ENABLE (0x80)
1197#define SX127X_RF_PACKETCONFIG2_WMBUS_CRC_DISABLE (0x00) /* Default */
1198
1199#define SX127X_RF_PACKETCONFIG2_DATAMODE_MASK (0xBF)
1200#define SX127X_RF_PACKETCONFIG2_DATAMODE_CONTINUOUS (0x00)
1201#define SX127X_RF_PACKETCONFIG2_DATAMODE_PACKET (0x40) /* Default */
1202
1203#define SX127X_RF_PACKETCONFIG2_IOHOME_MASK (0xDF)
1204#define SX127X_RF_PACKETCONFIG2_IOHOME_ON (0x20)
1205#define SX127X_RF_PACKETCONFIG2_IOHOME_OFF (0x00) /* Default */
1206
1207#define SX127X_RF_PACKETCONFIG2_BEACON_MASK (0xF7)
1208#define SX127X_RF_PACKETCONFIG2_BEACON_ON (0x08)
1209#define SX127X_RF_PACKETCONFIG2_BEACON_OFF (0x00) /* Default */
1210
1211#define SX127X_RF_PACKETCONFIG2_PAYLOADLENGTH_MSB_MASK (0xF8)
1212
1213/* RegPayloadLength */
1214#define SX127X_RF_PAYLOADLENGTH_LENGTH (0x40) /* Default */
1215
1216/* RegNodeAdrs */
1217#define SX127X_RF_NODEADDRESS_ADDRESS (0x00)
1218
1219/* RegBroadcastAdrs */
1220#define SX127X_RF_BROADCASTADDRESS_ADDRESS (0x00)
1221
1222/* RegFifoThresh */
1223#define SX127X_RF_FIFOTHRESH_TXSTARTCONDITION_MASK (0x7F)
1224#define SX127X_RF_FIFOTHRESH_TXSTARTCONDITION_FIFOTHRESH (0x00) /* Default */
1225#define SX127X_RF_FIFOTHRESH_TXSTARTCONDITION_FIFONOTEMPTY (0x80)
1226
1227#define SX127X_RF_FIFOTHRESH_FIFOTHRESHOLD_MASK (0xC0)
1228#define SX127X_RF_FIFOTHRESH_FIFOTHRESHOLD_THRESHOLD (0x0F) /* Default */
1229
1230/* RegSeqConfig1 */
1231#define SX127X_RF_SEQCONFIG1_SEQUENCER_START (0x80)
1232
1233#define SX127X_RF_SEQCONFIG1_SEQUENCER_STOP (0x40)
1234
1235#define SX127X_RF_SEQCONFIG1_IDLEMODE_MASK (0xDF)
1236#define SX127X_RF_SEQCONFIG1_IDLEMODE_SLEEP (0x20)
1237#define SX127X_RF_SEQCONFIG1_IDLEMODE_STANDBY (0x00) /* Default */
1238
1239#define SX127X_RF_SEQCONFIG1_FROMSTART_MASK (0xE7)
1240#define SX127X_RF_SEQCONFIG1_FROMSTART_TOLPS (0x00) /* Default */
1241#define SX127X_RF_SEQCONFIG1_FROMSTART_TORX (0x08)
1242#define SX127X_RF_SEQCONFIG1_FROMSTART_TOTX (0x10)
1243#define SX127X_RF_SEQCONFIG1_FROMSTART_TOTX_ONFIFOLEVEL (0x18)
1244
1245#define SX127X_RF_SEQCONFIG1_LPS_MASK (0xFB)
1246#define SX127X_RF_SEQCONFIG1_LPS_SEQUENCER_OFF (0x00) /* Default */
1247#define SX127X_RF_SEQCONFIG1_LPS_IDLE (0x04)
1248
1249#define SX127X_RF_SEQCONFIG1_FROMIDLE_MASK (0xFD)
1250#define SX127X_RF_SEQCONFIG1_FROMIDLE_TOTX (0x00) /* Default */
1251#define SX127X_RF_SEQCONFIG1_FROMIDLE_TORX (0x02)
1252
1253#define SX127X_RF_SEQCONFIG1_FROMTX_MASK (0xFE)
1254#define SX127X_RF_SEQCONFIG1_FROMTX_TOLPS (0x00) /* Default */
1255#define SX127X_RF_SEQCONFIG1_FROMTX_TORX (0x01)
1256
1257/* RegSeqConfig2 */
1258#define SX127X_RF_SEQCONFIG2_FROMRX_MASK (0x1F)
1259#define SX127X_RF_SEQCONFIG2_FROMRX_TOUNUSED_000 (0x00) /* Default */
1260#define SX127X_RF_SEQCONFIG2_FROMRX_TORXPKT_ONPLDRDY (0x20)
1261#define SX127X_RF_SEQCONFIG2_FROMRX_TOLPS_ONPLDRDY (0x40)
1262#define SX127X_RF_SEQCONFIG2_FROMRX_TORXPKT_ONCRCOK (0x60)
1263#define SX127X_RF_SEQCONFIG2_FROMRX_TOSEQUENCEROFF_ONRSSI (0x80)
1264#define SX127X_RF_SEQCONFIG2_FROMRX_TOSEQUENCEROFF_ONSYNC (0xA0)
1265#define SX127X_RF_SEQCONFIG2_FROMRX_TOSEQUENCEROFF_ONPREAMBLE (0xC0)
1266#define SX127X_RF_SEQCONFIG2_FROMRX_TOUNUSED_111 (0xE0)
1267
1268#define SX127X_RF_SEQCONFIG2_FROMRXTIMEOUT_MASK (0xE7)
1269#define SX127X_RF_SEQCONFIG2_FROMRXTIMEOUT_TORXRESTART (0x00) /* Default */
1270#define SX127X_RF_SEQCONFIG2_FROMRXTIMEOUT_TOTX (0x08)
1271#define SX127X_RF_SEQCONFIG2_FROMRXTIMEOUT_TOLPS (0x10)
1272#define SX127X_RF_SEQCONFIG2_FROMRXTIMEOUT_TOSEQUENCEROFF (0x18)
1273
1274#define SX127X_RF_SEQCONFIG2_FROMRXPKT_MASK (0xF8)
1275#define SX127X_RF_SEQCONFIG2_FROMRXPKT_TOSEQUENCEROFF (0x00) /* Default */
1276#define SX127X_RF_SEQCONFIG2_FROMRXPKT_TOTX_ONFIFOEMPTY (0x01)
1277#define SX127X_RF_SEQCONFIG2_FROMRXPKT_TOLPS (0x02)
1278#define SX127X_RF_SEQCONFIG2_FROMRXPKT_TOSYNTHESIZERRX (0x03)
1279#define SX127X_RF_SEQCONFIG2_FROMRXPKT_TORX (0x04)
1280
1281/* RegTimerResol */
1282#define SX127X_RF_TIMERRESOL_TIMER1RESOL_MASK (0xF3)
1283#define SX127X_RF_TIMERRESOL_TIMER1RESOL_OFF (0x00) /* Default */
1284#define SX127X_RF_TIMERRESOL_TIMER1RESOL_000064_US (0x04)
1285#define SX127X_RF_TIMERRESOL_TIMER1RESOL_004100_US (0x08)
1286#define SX127X_RF_TIMERRESOL_TIMER1RESOL_262000_US (0x0C)
1287
1288#define SX127X_RF_TIMERRESOL_TIMER2RESOL_MASK (0xFC)
1289#define SX127X_RF_TIMERRESOL_TIMER2RESOL_OFF (0x00) /* Default */
1290#define SX127X_RF_TIMERRESOL_TIMER2RESOL_000064_US (0x01)
1291#define SX127X_RF_TIMERRESOL_TIMER2RESOL_004100_US (0x02)
1292#define SX127X_RF_TIMERRESOL_TIMER2RESOL_262000_US (0x03)
1293
1294/* RegTimer1Coef */
1295#define SX127X_RF_TIMER1COEF_TIMER1COEFFICIENT (0xF5) /* Default */
1296
1297/* RegTimer2Coef */
1298#define SX127X_RF_TIMER2COEF_TIMER2COEFFICIENT (0x20) /* Default */
1299
1300/* RegImageCal */
1301#define SX127X_RF_IMAGECAL_AUTOIMAGECAL_MASK (0x7F)
1302#define SX127X_RF_IMAGECAL_AUTOIMAGECAL_ON (0x80)
1303#define SX127X_RF_IMAGECAL_AUTOIMAGECAL_OFF (0x00) /* Default */
1304
1305#define SX127X_RF_IMAGECAL_IMAGECAL_MASK (0xBF)
1306#define SX127X_RF_IMAGECAL_IMAGECAL_START (0x40)
1307
1308#define SX127X_RF_IMAGECAL_IMAGECAL_RUNNING (0x20)
1309#define SX127X_RF_IMAGECAL_IMAGECAL_DONE (0x00) /* Default */
1310
1311#define SX127X_RF_IMAGECAL_TEMPCHANGE_HIGHER (0x08)
1312#define SX127X_RF_IMAGECAL_TEMPCHANGE_LOWER (0x00)
1313
1314#define SX127X_RF_IMAGECAL_TEMPTHRESHOLD_MASK (0xF9)
1315#define SX127X_RF_IMAGECAL_TEMPTHRESHOLD_05 (0x00)
1316#define SX127X_RF_IMAGECAL_TEMPTHRESHOLD_10 (0x02) /* Default */
1317#define SX127X_RF_IMAGECAL_TEMPTHRESHOLD_15 (0x04)
1318#define SX127X_RF_IMAGECAL_TEMPTHRESHOLD_20 (0x06)
1319
1320#define SX127X_RF_IMAGECAL_TEMPMONITOR_MASK (0xFE)
1321#define SX127X_RF_IMAGECAL_TEMPMONITOR_ON (0x00) /* Default */
1322#define SX127X_RF_IMAGECAL_TEMPMONITOR_OFF (0x01)
1323
1324/* RegLowBat */
1325#define SX127X_RF_LOWBAT_MASK (0xF7)
1326#define SX127X_RF_LOWBAT_ON (0x08)
1327#define SX127X_RF_LOWBAT_OFF (0x00) /* Default */
1328
1329#define SX127X_RF_LOWBAT_TRIM_MASK (0xF8)
1330#define SX127X_RF_LOWBAT_TRIM_1695 (0x00)
1331#define SX127X_RF_LOWBAT_TRIM_1764 (0x01)
1332#define SX127X_RF_LOWBAT_TRIM_1835 (0x02) /* Default */
1333#define SX127X_RF_LOWBAT_TRIM_1905 (0x03)
1334#define SX127X_RF_LOWBAT_TRIM_1976 (0x04)
1335#define SX127X_RF_LOWBAT_TRIM_2045 (0x05)
1336#define SX127X_RF_LOWBAT_TRIM_2116 (0x06)
1337#define SX127X_RF_LOWBAT_TRIM_2185 (0x07)
1338
1339/* RegIrqFlags1 */
1340#define SX127X_RF_IRQFLAGS1_MODEREADY (0x80)
1341#define SX127X_RF_IRQFLAGS1_RXREADY (0x40)
1342#define SX127X_RF_IRQFLAGS1_TXREADY (0x20)
1343#define SX127X_RF_IRQFLAGS1_PLLLOCK (0x10)
1344#define SX127X_RF_IRQFLAGS1_RSSI (0x08)
1345#define SX127X_RF_IRQFLAGS1_TIMEOUT (0x04)
1346#define SX127X_RF_IRQFLAGS1_PREAMBLEDETECT (0x02)
1347#define SX127X_RF_IRQFLAGS1_SYNCADDRESSMATCH (0x01)
1348
1349/* RegIrqFlags2 */
1350#define SX127X_RF_IRQFLAGS2_FIFOFULL (0x80)
1351#define SX127X_RF_IRQFLAGS2_FIFOEMPTY (0x40)
1352#define SX127X_RF_IRQFLAGS2_FIFOLEVEL (0x20)
1353#define SX127X_RF_IRQFLAGS2_FIFOOVERRUN (0x10)
1354#define SX127X_RF_IRQFLAGS2_PACKETSENT (0x08)
1355#define SX127X_RF_IRQFLAGS2_PAYLOADREADY (0x04)
1356#define SX127X_RF_IRQFLAGS2_CRCOK (0x02)
1357#define SX127X_RF_IRQFLAGS2_LOWBAT (0x01)
1358
1359/* RegDioMapping1 */
1360#define SX127X_RF_DIOMAPPING1_DIO0_MASK (0x3F)
1361#define SX127X_RF_DIOMAPPING1_DIO0_00 (0x00) /* Default */
1362#define SX127X_RF_DIOMAPPING1_DIO0_01 (0x40)
1363#define SX127X_RF_DIOMAPPING1_DIO0_10 (0x80)
1364#define SX127X_RF_DIOMAPPING1_DIO0_11 (0xC0)
1365
1366#define SX127X_RF_DIOMAPPING1_DIO1_MASK (0xCF)
1367#define SX127X_RF_DIOMAPPING1_DIO1_00 (0x00) /* Default */
1368#define SX127X_RF_DIOMAPPING1_DIO1_01 (0x10)
1369#define SX127X_RF_DIOMAPPING1_DIO1_10 (0x20)
1370#define SX127X_RF_DIOMAPPING1_DIO1_11 (0x30)
1371
1372#define SX127X_RF_DIOMAPPING1_DIO2_MASK (0xF3)
1373#define SX127X_RF_DIOMAPPING1_DIO2_00 (0x00) /* Default */
1374#define SX127X_RF_DIOMAPPING1_DIO2_01 (0x04)
1375#define SX127X_RF_DIOMAPPING1_DIO2_10 (0x08)
1376#define SX127X_RF_DIOMAPPING1_DIO2_11 (0x0C)
1377
1378#define SX127X_RF_DIOMAPPING1_DIO3_MASK (0xFC)
1379#define SX127X_RF_DIOMAPPING1_DIO3_00 (0x00) /* Default */
1380#define SX127X_RF_DIOMAPPING1_DIO3_01 (0x01)
1381#define SX127X_RF_DIOMAPPING1_DIO3_10 (0x02)
1382#define SX127X_RF_DIOMAPPING1_DIO3_11 (0x03)
1383
1384/* RegDioMapping2 */
1385#define SX127X_RF_DIOMAPPING2_DIO4_MASK (0x3F)
1386#define SX127X_RF_DIOMAPPING2_DIO4_00 (0x00) /* Default */
1387#define SX127X_RF_DIOMAPPING2_DIO4_01 (0x40)
1388#define SX127X_RF_DIOMAPPING2_DIO4_10 (0x80)
1389#define SX127X_RF_DIOMAPPING2_DIO4_11 (0xC0)
1390
1391#define SX127X_RF_DIOMAPPING2_DIO5_MASK (0xCF)
1392#define SX127X_RF_DIOMAPPING2_DIO5_00 (0x00) /* Default */
1393#define SX127X_RF_DIOMAPPING2_DIO5_01 (0x10)
1394#define SX127X_RF_DIOMAPPING2_DIO5_10 (0x20)
1395#define SX127X_RF_DIOMAPPING2_DIO5_11 (0x30)
1396
1397#define SX127X_RF_DIOMAPPING2_MAP_MASK (0xFE)
1398#define SX127X_RF_DIOMAPPING2_MAP_PREAMBLEDETECT (0x01)
1399#define SX127X_RF_DIOMAPPING2_MAP_RSSI (0x00) /* Default */
1400
1401/* RegPllHop */
1402#define SX127X_RF_PLLHOP_FASTHOP_MASK (0x7F)
1403#define SX127X_RF_PLLHOP_FASTHOP_ON (0x80)
1404#define SX127X_RF_PLLHOP_FASTHOP_OFF (0x00) /* Default */
1405
1406/* RegTcxo */
1407#define SX127X_RF_TCXO_TCXOINPUT_MASK (0xEF)
1408#define SX127X_RF_TCXO_TCXOINPUT_ON (0x10)
1409#define SX127X_RF_TCXO_TCXOINPUT_OFF (0x00) /* Default */
1410
1411/* RegPaDac */
1412#define SX127X_RF_PADAC_20DBM_MASK (0xF8)
1413#define SX127X_RF_PADAC_20DBM_ON (0x07)
1414#define SX127X_RF_PADAC_20DBM_OFF (0x04) /* Default */
1415
1416/* RegBitrateFrac */
1417#define SX127X_RF_BITRATEFRAC_MASK (0xF0)
1418
1419/* RegPll */
1420#define SX127X_RF_PLL_BANDWIDTH_MASK (0x3F)
1421#define SX127X_RF_PLL_BANDWIDTH_75 (0x00)
1422#define SX127X_RF_PLL_BANDWIDTH_150 (0x40)
1423#define SX127X_RF_PLL_BANDWIDTH_225 (0x80)
1424#define SX127X_RF_PLL_BANDWIDTH_300 (0xC0) /* Default */
1426
1427#ifdef __cplusplus
1428}
1429#endif
1430