SX1262 calibration in RC mode
This commit is contained in:
parent
06de901623
commit
bbc267ac80
Binary file not shown.
29
sx126x.cpp
29
sx126x.cpp
|
@ -365,17 +365,27 @@ int sx126x::begin(long frequency)
|
|||
}
|
||||
}
|
||||
|
||||
loraMode();
|
||||
// cannot access registers in sleep mode on sx1262, set to idle instead
|
||||
idle();
|
||||
if (_rxen != -1) {
|
||||
pinMode(_rxen, OUTPUT);
|
||||
}
|
||||
|
||||
// Put in STDBY_RC mode before calibration
|
||||
uint8_t mode_byte = 0x00;
|
||||
executeOpcode(OP_STANDBY_6X, &mode_byte, 1);
|
||||
|
||||
// calibrate RC64k, RC13M, PLL, ADC and image
|
||||
uint8_t calibrate = 0x7F;
|
||||
executeOpcode(OP_CALIBRATE_6X, &calibrate, 1);
|
||||
|
||||
#if HAS_TCXO
|
||||
enableTCXO();
|
||||
#endif
|
||||
|
||||
if (_rxen != -1) {
|
||||
pinMode(_rxen, OUTPUT);
|
||||
}
|
||||
loraMode();
|
||||
idle();
|
||||
|
||||
// Set sync word
|
||||
setSyncWord(SYNC_WORD_6X);
|
||||
|
||||
#if DIO2_AS_RF_SWITCH
|
||||
// enable dio2 rf switch
|
||||
|
@ -385,13 +395,6 @@ int sx126x::begin(long frequency)
|
|||
|
||||
rxAntEnable();
|
||||
|
||||
// Set sync word
|
||||
setSyncWord(SYNC_WORD_6X);
|
||||
|
||||
// calibrate RC64k, RC13M, PLL, ADC and image
|
||||
uint8_t calibrate = 0x7F;
|
||||
executeOpcode(OP_CALIBRATE_6X, &calibrate, 1);
|
||||
|
||||
setFrequency(frequency);
|
||||
|
||||
// set output power to 2 dBm
|
||||
|
|
Loading…
Reference in New Issue