Skip to content

Commit 9383d0b

Browse files
authored
Apply SX1262 register 0x8B5 patch for improved GC1109 RX sensitivity (#9571)
* Apply SX1262 register 0x8B5 patch for improved GC1109 RX sensitivity Sets the LSB of undocumented SX1262 register 0x8B5 on Heltec V4 and Wireless Tracker V2 boards with the GC1109 FEM. This patch was recommended by Heltec/Semtech and tested in MeshCore PR #1398, where it significantly reduced packet loss on the Heltec V4. * Use higher level function * Add .venv/ to .gitignore
1 parent 8feb34e commit 9383d0b

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ __pycache__
3333
*~
3434

3535
venv/
36+
.venv/
3637
release/
3738
.vscode/extensions.json
3839
/compile_commands.json

src/mesh/SX126xInterface.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,17 @@ template <typename T> bool SX126xInterface<T>::init()
194194
LOG_INFO("Set RX gain to power saving mode (boosted mode off); result: %d", result);
195195
}
196196

197+
#ifdef USE_GC1109_PA
198+
// Undocumented SX1262 register patch recommended by Heltec/Semtech for improved RX sensitivity
199+
// on boards with the GC1109 FEM. Sets bit 0 of register 0x8B5.
200+
// Reference: https://github.com/meshcore-dev/MeshCore/pull/1398
201+
if (module.SPIsetRegValue(0x8B5, 0x01, 0, 0) == RADIOLIB_ERR_NONE) {
202+
LOG_INFO("Applied SX1262 register 0x8B5 patch for GC1109 RX improvement");
203+
} else {
204+
LOG_WARN("Failed to apply SX1262 register 0x8B5 patch for GC1109");
205+
}
206+
#endif
207+
197208
#if 0
198209
// Read/write a register we are not using (only used for FSK mode) to test SPI comms
199210
uint8_t crcLSB = 0;

0 commit comments

Comments
 (0)