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

+1 -9
View File
@@ -277,15 +277,7 @@ static const struct device *const lora_dev = DEVICE_DT_GET(DT_ALIAS(lora0));
/* Radio is constructed with no prefs pointer; main() binds it to the mesh's
* NodePrefs via setPrefs() before observer_mesh.begin(). */
#if IS_ENABLED(CONFIG_ZEPHCORE_RADIO_LR1110)
static mesh::LR1110Radio lora_radio(lora_dev, s_board);
#elif IS_ENABLED(CONFIG_ZEPHCORE_RADIO_LR2021)
static mesh::LR2021Radio lora_radio(lora_dev, s_board);
#elif IS_ENABLED(CONFIG_ZEPHCORE_RADIO_SX127X)
static mesh::SX127xRadio lora_radio(lora_dev, s_board);
#else
static mesh::SX126xRadio lora_radio(lora_dev, s_board);
#endif
static mesh::LoRaRadio lora_radio(lora_dev, s_board);
static mesh::ObserverMesh observer_mesh(lora_radio, s_ms_clock, s_rtc_clock);
static RepeaterDataStore data_store;