radio: one LoRaRadio adapter over per-family ops tables; lr20xx cleanup

- LoRaRadioBase -> LoRaRadio (final); SX126x/SX127x/LR1110/LR2021Radio
  replaced by const LoRaRadioOps tables (radio_ops_<family>.cpp), one
  linked per build; mains construct the radio in one line
- lr20xx: vendored Semtech SDK + HAL moved beside the driver (no app-tree
  sources), DIO1 handler split (CCN 52 -> 10), zc_lora_timing.h adopted,
  dead exports removed, header rewritten, comment diet (image-identical)
- semtech,lr2021 uses the lr1110 property names (irq-gpios, tcxo-voltage,
  rfsw-*), compiled config byte-identical
- correct the stale "LR2021 is not CAD-probed" claim
This commit is contained in:
liquidraver committed 2026-09-23 19:51:08 +02:00
1 parent 0c485b2230
commit 10b36094ae
75 files changed
+1065 -2373

No files matched your search

+4 -4
View File
@@ -15,7 +15,7 @@
#include <helpers/AdvertDataHelpers.h>
#include <helpers/TxtDataHelpers.h>
#include <helpers/MeshcoreJson.h>
#include <adapters/radio/LoRaRadioBase.h>
#include <adapters/radio/LoRaRadio.h>
#include <adapters/sensors/SimpleLPP.h>
#include <adapters/sensors/ZephyrEnvSensors.h>
#include <adapters/gps/ZephyrGPSManager.h>
@@ -30,9 +30,9 @@
#include <time.h>
#include <helpers/PacketLog.h>
/* Helper to get radio driver for stats — uses LoRaRadioBase (works for SX126x and LR1110) */
static inline mesh::LoRaRadioBase& getRadioDriver(mesh::Radio* radio) {
return *static_cast<mesh::LoRaRadioBase*>(radio);
/* Helper to get radio driver for stats — uses LoRaRadio (works for SX126x and LR1110) */
static inline mesh::LoRaRadio& getRadioDriver(mesh::Radio* radio) {
return *static_cast<mesh::LoRaRadio*>(radio);
}
LOG_MODULE_REGISTER(zephcore_room, CONFIG_ZEPHCORE_MAIN_LOG_LEVEL);