From 5a675a42c98351e68dc4981b145e5b65902e20c3 Mon Sep 17 00:00:00 2001 From: abscosmos Date: Tue, 15 Sep 2026 16:35:12 -0500 Subject: [PATCH 1/2] Correctly check for normal vs. extended register range Previously had incorrect operator precedence, fixed & moved to separate static function. --- src/cc1120.cpp | 4 ++-- src/cc1120.h | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/cc1120.cpp b/src/cc1120.cpp index d8b0e45..9fedb59 100644 --- a/src/cc1120.cpp +++ b/src/cc1120.cpp @@ -49,7 +49,7 @@ rfStatus_t CC1120::writeRegister(uint16_t address, uint8_t buffer) digitalWrite(pin_cs, LOW); // normal register range - if (address & 0x3f == address) { + if (CC1120::registerInNormalRange(address)) { uint8_t header = ((uint8_t) address) | SINGLE_REGISTER_WRITE; SPI.transfer(header); } @@ -73,7 +73,7 @@ rfStatus_t CC1120::readRegister(uint16_t address, uint8_t *buffer) digitalWrite(pin_cs, LOW); // normal register range - if (address & 0x3f == address) { + if (CC1120::registerInNormalRange(address))) { uint8_t header = ((uint8_t) address) | SINGLE_REGISTER_READ; SPI.transfer(header); } diff --git a/src/cc1120.h b/src/cc1120.h index bfa24c3..b41acdc 100644 --- a/src/cc1120.h +++ b/src/cc1120.h @@ -34,6 +34,10 @@ class CC1120 { /* @brief Gets the current status */ private: + static inline bool registerInNormalRange(uint16_t address) { + return (address & 0x3f) == address; + } + SPIClass& spi; SPISettings spiSettings = SPISettings(10000000, SPI_MSBFIRST, SPI_MODE0); // copied from E22 Driver, need to verify From d8a0af84d6edfa5985db2989a77a71f70a67018a Mon Sep 17 00:00:00 2001 From: abscosmos Date: Tue, 15 Sep 2026 16:48:07 -0500 Subject: [PATCH 2/2] Remove extra closing paren --- src/cc1120.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cc1120.cpp b/src/cc1120.cpp index 9fedb59..5daf91c 100644 --- a/src/cc1120.cpp +++ b/src/cc1120.cpp @@ -73,7 +73,7 @@ rfStatus_t CC1120::readRegister(uint16_t address, uint8_t *buffer) digitalWrite(pin_cs, LOW); // normal register range - if (CC1120::registerInNormalRange(address))) { + if (CC1120::registerInNormalRange(address)) { uint8_t header = ((uint8_t) address) | SINGLE_REGISTER_READ; SPI.transfer(header); }