1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
//! Registers as defined in chapter 12
#[allow(dead_code)]
#[repr(u16)]
/// Every register defined in the SX126X datasheet
/// See table 12-1 in the datasheet
pub enum Register {
/// Non-standard DIOx control
DioxOutputEnable = 0x0580,
/// Non-standard DIOx control
DioxInputEnable = 0x0583,
/// Non-standard DIOx control
DioxPullUpControl = 0x0584,
/// Non-standard DIOx control
DioxPullDownControl = 0x0585,
/// Initial value used for the whitening LFSR in
/// FSK mode; MSB. The user should not change the value of the 7
/// MSB of this register
WhiteningInitialValueMsb = 0x06B8,
/// Initial value used for the whitening LFSR in
/// FSK mode; LSB
WhiteningInitialValueLsb = 0x06B9,
/// Initial value used for the polynomial used to
/// compute the CRC in FSK mode; LSB
CrcMsbInitialValue = 0x06BC,
/// Initial value used for the polynomial used to
/// compute the CRC in FSK mode; LSB
CrcLsbInitialValue = 0x006BD,
/// Polynomial used to compute the CRC in FSK mode; MSB
CrcMsbPolynomialValue = 0x06BE,
/// Polynomial used to compute the CRC in FSK mode; LSB
CrcLsbPolynomialValue = 0x06BF,
/// 1st byte of the Sync Word in FSK mode
SyncWord0 = 0x06C0,
/// 2nd byte of the Sync Word in FSK mode
SyncWord1 = 0x06C1,
/// 3rd byte of the Sync Word in FSK mode
SyncWord2 = 0x06C2,
/// 4th byte of the Sync Word in FSK mode
SyncWord3 = 0x06C3,
/// 5th byte of the Sync Word in FSK mode
SyncWord4 = 0x06C4,
/// 6th byte of the Sync Word in FSK mode
SyncWord5 = 0x06C5,
/// 7th byte of the Sync Word in FSK mode
SyncWord6 = 0x06C6,
/// 8th byte of the Sync Word in FSK mode
SyncWord7 = 0x06C7,
/// Node Address used in FSK mode
NodeAddress = 0x06CD,
/// Broadcast Address used in FSK mode
BroadcastAddress = 0x06CE,
/// Optimize the inverted IQ operation
IqPolaritySetup = 0x0736,
/// Differantiate the LoRa signal for Public or Private Network; MSB
/// Set to 0x3444 for Public Netwok
/// Set to 0x1424 for Private Network
LoRaSyncWordMsb = 0x0740,
/// Differantiate the LoRa signal for Public or Private Network; LSB
/// Set to 0x3444 for Public Netwok
/// Set to 0x1424 for Private Network
LoRaSyncWordLsb = 0x0741,
/// Can be used to get a 32-bit random numer; 1st byte
RandomNumberGen0 = 0x0819,
/// Can be used to get a 32-bit random numer; 2nd byte
RandomNumberGen1 = 0x081A,
/// Can be used to get a 32-bit random numer; 3rd byte
RandomNumberGen2 = 0x081B,
/// Can be used to get a 32-bit random numer; 4th byte
RandomNumberGen3 = 0x081C,
/// Refer to Section 15 of the Data Sheet
TxModulaton = 0x0889,
/// Set the gain used in Rx mode:
/// Rx Power Saving gain: 0x94,
/// Rx Boosted gain: 0x96
RxGain = 0x08AC,
/// Refer to Section 15 of the Data Sheet
TxClampConfig = 0x08D8,
/// Set the Over Current Protection level.
/// The value is changed internally depending
/// on the device selected. Default values are:
/// SX1262: 0x38 (140mA)
/// SX1261; 0x18: (60mA)
OcpConfiguration = 0x08E7,
/// Enable or disable RTC Timer
RtcControl = 0x0902,
/// Value of the trimming cap on XTA pin.
/// This register should only be changed while
/// the radio is in STDBY_XOSC mode
XtaTrim = 0x0911,
/// Value of the trimming cap on XTB pin.
/// This register should only be changed while
/// the radio is in STDBY_XOSC mode
XtbTrim = 0x0912,
/// Non-standard DIO3 control
Dio3OutputVoltageControl = 0x0920,
/// Used to clear events
EventMask = 0x0944,
}