Skip to content

Commit 62d4c69

Browse files
tagunilnashif
authored andcommitted
drivers: lora: sx127x: rework SX1276 driver to add SX1272 support
SX1272 chip is very similar to the already supported SX1276; unfortunately, Semtech provides a completely separate driver for this one. This commit marks an attempt to avoid code duplication by means of some not-very-pretty ifdefery. Signed-off-by: Ilya Tagunov <[email protected]>
1 parent 7e45092 commit 62d4c69

File tree

4 files changed

+660
-572
lines changed

4 files changed

+660
-572
lines changed

drivers/lora/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ endif()
1212
zephyr_library_sources_ifdef(CONFIG_LORA_SHELL shell.c)
1313
zephyr_library_sources_ifdef(CONFIG_HAS_SEMTECH_RADIO_DRIVERS hal_common.c)
1414
zephyr_library_sources_ifdef(CONFIG_HAS_SEMTECH_RADIO_DRIVERS sx12xx_common.c)
15-
zephyr_library_sources_ifdef(CONFIG_LORA_SX1276 sx1276.c)
15+
zephyr_library_sources_ifdef(CONFIG_LORA_SX127X sx127x.c)
1616
zephyr_library_sources_ifdef(CONFIG_LORA_SX126X sx126x.c)

drivers/lora/Kconfig.sx12xx

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# SPDX-License-Identifier: Apache-2.0
55
#
66

7+
DT_COMPAT_SEMTECH_SX1272 := semtech,sx1272
78
DT_COMPAT_SEMTECH_SX1276 := semtech,sx1276
89
DT_COMPAT_SEMTECH_SX1261 := semtech,sx1261
910
DT_COMPAT_SEMTECH_SX1262 := semtech,sx1262
@@ -20,19 +21,21 @@ if LORA_SX12XX
2021

2122
choice
2223
prompt "LoRa Radio chipset"
23-
default LORA_SX1276 if $(dt_compat_enabled,$(DT_COMPAT_SEMTECH_SX1276))
24+
default LORA_SX127X if $(dt_compat_enabled,$(DT_COMPAT_SEMTECH_SX1272))
25+
default LORA_SX127X if $(dt_compat_enabled,$(DT_COMPAT_SEMTECH_SX1276))
2426
default LORA_SX126X if $(dt_compat_enabled,$(DT_COMPAT_SEMTECH_SX1261))
2527
default LORA_SX126X if $(dt_compat_enabled,$(DT_COMPAT_SEMTECH_SX1262))
2628
help
2729
Select the LoRa modem used on your board. The default value
2830
is discovered from the device tree and should be correct for
2931
most users.
3032

31-
config LORA_SX1276
32-
bool "Semtech SX1276 driver"
33-
select HAS_SEMTECH_SX1276
33+
config LORA_SX127X
34+
bool "Semtech SX127x driver"
35+
select HAS_SEMTECH_SX1272 if $(dt_compat_enabled,$(DT_COMPAT_SEMTECH_SX1272))
36+
select HAS_SEMTECH_SX1276 if $(dt_compat_enabled,$(DT_COMPAT_SEMTECH_SX1276))
3437
help
35-
Enable LoRa driver for Semtech SX1276.
38+
Enable LoRa driver for Semtech SX1272 and SX1276.
3639

3740
config LORA_SX126X
3841
bool "Semtech SX126x driver"

0 commit comments

Comments
 (0)