From a5e1ef313c4e51da1f44a256fe755dce2ec3b61a Mon Sep 17 00:00:00 2001 From: Linar Yusupov Date: Tue, 28 Jan 2025 06:07:41 +0300 Subject: [PATCH] [SX1231] a recent fix for RadioLib --- .github/workflows/adb.yml | 25 +++++++++++-------- README.md | 2 +- .../RadioLib/src/modules/RF69/RF69.cpp | 11 ++++++-- 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/.github/workflows/adb.yml b/.github/workflows/adb.yml index 47541616a..ff99f1e5c 100644 --- a/.github/workflows/adb.yml +++ b/.github/workflows/adb.yml @@ -39,21 +39,23 @@ jobs: - name: Run script run: | cd $GITHUB_WORKSPACE/software/utils ; - rm -f data/ogn.cdb data/ogn.md5 ; - rm -f data/fln.cdb data/fln.md5 ; - mkdir -p db data ; + # rm -f cdb/ogn.cdb cdb/ogn.md5 ; + # rm -f cdb/fln.cdb cdb/fln.md5 ; + mkdir -p db cdb ; sh ogn.sh ; mv ogn.db db/ ; - mv ogn.cdb data/ ; - md5sum db/ogn.db > db/ogn.md5 ; - md5sum data/ogn.cdb > data/ogn.md5 ; - chmod a-w data/ogn.cdb data/ogn.md5 ; + mv ogn.cdb cdb/ ; + # md5sum db/ogn.db > db/ogn.md5 ; + # md5sum cdb/ogn.cdb > cdb/ogn.md5 ; + # chmod a-w cdb/ogn.cdb cdb/ogn.md5 ; sh fln.sh ; mv fln.db db/ ; - mv fln.cdb data/ ; - md5sum db/fln.db > db/fln.md5 ; - md5sum data/fln.cdb > data/fln.md5 ; - chmod a-w data/fln.cdb data/fln.md5 ; + mv fln.cdb cdb/ ; + # md5sum db/fln.db > db/fln.md5 ; + # md5sum cdb/fln.cdb > cdb/fln.md5 ; + # chmod a-w cdb/fln.cdb cdb/fln.md5 ; + echo 'Use data files in "db" folder with SkyView EZ' > README.txt + echo 'Use data files in "cdb" folder with SkyView Pico, Badge or Prime Mk3 Editions' >> README.txt - uses: actions/upload-artifact@v4 with: @@ -61,5 +63,6 @@ jobs: path: | software/utils/db/ software/utils/data/ + software/utils/README.txt if-no-files-found: warn diff --git a/README.md b/README.md index 491d7ee98..6f2d1788d 100644 --- a/README.md +++ b/README.md @@ -124,7 +124,7 @@ Model(s)|Platform|First appearance|       Sta [**Academy**](https://github.com/lyusupov/SoftRF/wiki/Academy-Edition) ![](https://github.com/lyusupov/SoftRF/raw/master/documents/images/updated-icon.gif) **upgrade**|[Renesas
RA4M1](https://en.wikipedia.org/wiki/Renesas_Electronics#The_RA_MCU_family)|Q1 2024|![](https://github.com/lyusupov/SoftRF/raw/master/documents/images/icon_may_need_imp.png)| Academy|[Silicon Labs](https://en.wikipedia.org/wiki/Silicon_Labs)
[EFx32](https://en.wikipedia.org/wiki/EFM32)|Q3 2024|![](https://github.com/lyusupov/SoftRF/raw/master/documents/images/icon_in_progress.png)| Academy|[Nanjing Qinheng Microelectronics](https://www.wch-ic.com/)
[CH32V307](https://www.wch-ic.com/products/CH32V307.html)|Q3 2024|![](https://github.com/lyusupov/SoftRF/raw/master/documents/images/icon_may_need_imp.png)|[RISC-V](https://en.wikipedia.org/wiki/RISC-V)
IMAFC -[**SkyView Pico**](https://github.com/lyusupov/SoftRF/wiki/SkyView-Pico) ![](https://github.com/lyusupov/SoftRF/raw/master/documents/images/updated-icon.gif)|[Raspberry Pi
Foundation
**RP2350**](https://en.wikipedia.org/wiki/RP2350)|Q1 2025|![](https://github.com/lyusupov/SoftRF/raw/master/documents/images/icon_in_progress.png)| +[**SkyView Pico**](https://github.com/lyusupov/SoftRF/wiki/SkyView-Pico) ![](https://github.com/lyusupov/SoftRF/raw/master/documents/images/updated-icon.gif)|[Raspberry Pi
Foundation
**RP2350**](https://en.wikipedia.org/wiki/RP2350)|Q1 2025|![](https://github.com/lyusupov/SoftRF/raw/master/documents/images/icon_may_need_imp.png)| ## By sub-1 GHz radio Radio|Model(s)|First appearance|       Status       |Notes diff --git a/software/firmware/source/libraries/RadioLib/src/modules/RF69/RF69.cpp b/software/firmware/source/libraries/RadioLib/src/modules/RF69/RF69.cpp index 2bbfeb57e..506acf842 100644 --- a/software/firmware/source/libraries/RadioLib/src/modules/RF69/RF69.cpp +++ b/software/firmware/source/libraries/RadioLib/src/modules/RF69/RF69.cpp @@ -701,12 +701,15 @@ int16_t RF69::setSyncWord(uint8_t* syncWord, size_t len, uint8_t maxErrBits) { } } + // enable filtering int16_t state = enableSyncWordFiltering(maxErrBits); RADIOLIB_ASSERT(state); + // set the length + state = this->mod->SPIsetRegValue(RADIOLIB_RF69_REG_SYNC_CONFIG, len, 5, 3); + // set sync word register this->mod->SPIwriteRegisterBurst(RADIOLIB_RF69_REG_SYNC_VALUE_1, syncWord, len); - if(state == RADIOLIB_ERR_NONE) { this->syncWordLength = len; } @@ -801,7 +804,11 @@ int16_t RF69::variablePacketLengthMode(uint8_t maxLen) { int16_t RF69::enableSyncWordFiltering(uint8_t maxErrBits) { // enable sync word recognition - return(this->mod->SPIsetRegValue(RADIOLIB_RF69_REG_SYNC_CONFIG, RADIOLIB_RF69_SYNC_ON | RADIOLIB_RF69_FIFO_FILL_CONDITION_SYNC | (this->syncWordLength - 1) << 3 | maxErrBits, 7, 0)); + int16_t state = this->mod->SPIsetRegValue(RADIOLIB_RF69_REG_SYNC_CONFIG, RADIOLIB_RF69_SYNC_ON | RADIOLIB_RF69_FIFO_FILL_CONDITION_SYNC, 7, 6); + RADIOLIB_ASSERT(state); + + // set maximum error bits + return(this->mod->SPIsetRegValue(RADIOLIB_RF69_REG_SYNC_CONFIG, maxErrBits, 3, 0)); } int16_t RF69::disableSyncWordFiltering() {