diff --git a/Boards.h b/Boards.h index 89f1ecda..55526eaa 100644 --- a/Boards.h +++ b/Boards.h @@ -831,6 +831,8 @@ #define EEPROM_OFFSET EEPROM_SIZE-EEPROM_RESERVED #define BLE_MANUFACTURER "RAK Wireless" #define BLE_MODEL "RAK4640" + + #define OCP_TUNED 0x38 // 140mA limit for SX1262 at 22dBm const int pin_btn_usr1 = 9; @@ -869,6 +871,8 @@ #define EEPROM_OFFSET EEPROM_SIZE-EEPROM_RESERVED #define BLE_MANUFACTURER "RAK Wireless" #define BLE_MODEL "RAK3401" + + #define OCP_TUNED 0x38 // 140mA limit for SX1262 at 22dBm // RAK13302 SKY66122-11 FEM: +8 dBm PA gain (constant per datasheet), // 30 dBm (1 W) max output. Gain values from Meshtastic config. diff --git a/sx126x.cpp b/sx126x.cpp index 77b4f392..da638b75 100644 --- a/sx126x.cpp +++ b/sx126x.cpp @@ -474,6 +474,7 @@ int sx126x::begin(uint32_t frequency) { setTxPower(2); enableCrc(); writeRegister(REG_LNA_6X, 0x96); // Set LNA boost + writeRegister(0x0902, 0x00); // RTC STOP (Semtech Errata 15.3) uint8_t basebuf[2] = {0}; // Set base addresses executeOpcode(OP_BUFFER_BASE_ADDR_6X, basebuf, 2); @@ -823,10 +824,10 @@ void sx126x::enableTCXO() { if (_tcxoVoltageOverride != 0xFF) { mode = _tcxoVoltageOverride; } else { - #if BOARD_MODEL == BOARD_RAK4631 || BOARD_MODEL == BOARD_HELTEC32_V3 || BOARD_MODEL == BOARD_XIAO_S3 + #if BOARD_MODEL == BOARD_HELTEC32_V3 || BOARD_MODEL == BOARD_XIAO_S3 mode = MODE_TCXO_3_3V_6X; - #elif BOARD_MODEL == BOARD_RAK3401 - // RAK13302 specifies DIO3 TCXO at 1.8V (SX126X_DIO3_TCXO_VOLTAGE 1.8) + #elif BOARD_MODEL == BOARD_RAK4631 || BOARD_MODEL == BOARD_RAK3401 + // RAK4631 and RAK13302 specify DIO3 TCXO at 1.8V mode = MODE_TCXO_1_8V_6X; #elif BOARD_MODEL == BOARD_TBEAM mode = MODE_TCXO_1_8V_6X;