drivers/sx127x: Move Kconfig and add bitrate options

This commit moves sx127x Kconfig to lpwan/sx127x/ to follow the
same logic used by sx126x and adds the configuration to support
different bitrate (the default 4800 is fine tuned for LORA).

Signed-off-by: Alan C. Assis <acassis@gmail.com>
This commit is contained in:
Alan Carvalho de Assis
2026-01-04 10:24:39 -03:00
committed by Alan C. Assis
parent 258e81f248
commit 667165db46
3 changed files with 134 additions and 71 deletions

View File

@@ -28,76 +28,6 @@ config LPWAN_SX127X
---help---
This options adds driver support for the Samtech SX127X chip.
if LPWAN_SX127X
config LPWAN_SX127X_RFFREQ_DEFAULT
int "SX127X default RF frequency"
default 433000000
config LPWAN_SX127X_SPIFREQ
int "SX127X SPI frequency"
default 1000000
---help---
SX127X SPI frequency up to 10MHz
config LPWAN_SX127X_TXPOWER_DEFAULT
int "SX127X default TX power"
default 14
config LPWAN_SX127X_PREAMBLE_DEFAULT
int "SX127X default preamble length"
default 8
config LPWAN_SX127X_MODULATION_DEFAULT
int "SX127X default modulation scheme"
default 3 if LPWAN_SX127X_LORA
default 1 if LPWAN_SX127X_FSKOOK
range 1 3
---help---
1 - FSK, 2 - OOK, 3 - LORA
config LPWAN_SX127X_CRCON
int "SX127X CRC ON"
range 0 1
default 0
config LPWAN_SX127X_RXSUPPORT
bool "SX127X RX support"
default n
if LPWAN_SX127X_RXSUPPORT
config LPWAN_SX127X_RXFIFO_LEN
int "SX127X RX FIFO length"
default 5
config LPWAN_SX127X_RXFIFO_DATA_LEN
int "SX127X RX FIFO data length"
default 64
endif #LPWAN_SX127X_RXSUPPORT
config LPWAN_SX127X_TXSUPPORT
bool "SX127X TX support"
default n
config LPWAN_SX127X_LORA
bool "SX127X LORA support"
default y
if LPWAN_SX127X_LORA
config LPWAN_SX127X_LORA_IMPHEADER
int "SX127X LORA implicit header ON"
range 0 1
default 0
endif # LPWAN_SX127X_LORA
config LPWAN_SX127X_FSKOOK
bool "SX127X FSK/OOK support"
default n
endif # WL_SX127X
source "drivers/wireless/lpwan/sx127x/Kconfig"
endif # DRIVERS_LPWAN

View File

@@ -0,0 +1,95 @@
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
if LPWAN_SX127X
config LPWAN_SX127X_RFFREQ_DEFAULT
int "SX127X default RF frequency"
default 433000000
config LPWAN_SX127X_SPIFREQ
int "SX127X SPI frequency"
default 1000000
---help---
SX127X SPI frequency up to 10MHz
config LPWAN_SX127X_TXPOWER_DEFAULT
int "SX127X default TX power"
default 14
config LPWAN_SX127X_PREAMBLE_DEFAULT
int "SX127X default preamble length"
default 8
config LPWAN_SX127X_MODULATION_DEFAULT
int "SX127X default modulation scheme"
default 3 if LPWAN_SX127X_LORA
default 1 if LPWAN_SX127X_FSKOOK
range 1 3
---help---
1 - FSK, 2 - OOK, 3 - LORA
config LPWAN_SX127X_CRCON
int "SX127X CRC ON"
range 0 1
default 0
config LPWAN_SX127X_RXSUPPORT
bool "SX127X RX support"
default n
if LPWAN_SX127X_RXSUPPORT
config LPWAN_SX127X_RXFIFO_LEN
int "SX127X RX FIFO length"
default 5
config LPWAN_SX127X_RXFIFO_DATA_LEN
int "SX127X RX FIFO data length"
default 64
endif #LPWAN_SX127X_RXSUPPORT
config LPWAN_SX127X_TXSUPPORT
bool "SX127X TX support"
default n
config LPWAN_SX127X_LORA
bool "SX127X LORA support"
default y
if LPWAN_SX127X_LORA
config LPWAN_SX127X_LORA_IMPHEADER
int "SX127X LORA implicit header ON"
range 0 1
default 0
endif # LPWAN_SX127X_LORA
config LPWAN_SX127X_FSKOOK
bool "SX127X FSK/OOK support"
default n
if LPWAN_SX127X_FSKOOK
choice
prompt "SX127X Bitrate"
default LPWAN_SX127X_FSKOOK_4800
config LPWAN_SX127X_FSKOOK_4800
bool "4800 BPS"
config LPWAN_SX127X_FSKOOK_38400
bool "38400 BPS"
config LPWAN_SX127X_FSKOOK_76800
bool "76800 BPS"
endchoice
endif # LPWAN_SX127X_FSKOOK
endif # WL_SX127X

View File

@@ -77,6 +77,8 @@
#define SX127X_FREQ_CALIBRATION (CONFIG_LPWAN_SX127X_RFFREQ_DEFAULT)
#ifdef CONFIG_LPWAN_SX127X_FSKOOK_4800
/* FSK default frequency deviation is 5kHz */
#define SX127X_FDEV_DEFAULT (5000)
@@ -90,6 +92,42 @@
#define SX127X_FSKOOK_RXBW_DEFAULT FSKOOK_BANDWIDTH_15P6KHZ
#define SX127X_FSKOOK_AFCBW_DEFAULT FSKOOK_BANDWIDTH_20P8KHZ
#endif /* CONFIG_LPWAN_SX127X_FSKOOK_4800 */
#ifdef CONFIG_LPWAN_SX127X_FSKOOK_38400
/* FSK frequency deviation for 38400 is 20kHz */
#define SX127X_FDEV_DEFAULT (20000)
/* FSK/OOK bitrate default */
#define SX127X_FOM_BITRATE_DEFAULT (38400)
/* FSK/OOK bandwidth for 38400 */
#define SX127X_FSKOOK_RXBW_DEFAULT FSKOOK_BANDWIDTH_250KHZ
#define SX127X_FSKOOK_AFCBW_DEFAULT FSKOOK_BANDWIDTH_250KHZ
#endif /* CONFIG_LPWAN_SX127X_FSKOOK_38400 */
#ifdef CONFIG_LPWAN_SX127X_FSKOOK_76800
/* FSK frequency deviation for 76800 is 75kHz */
#define SX127X_FDEV_DEFAULT (75000)
/* FSK/OOK bitrate default */
#define SX127X_FOM_BITRATE_DEFAULT (76800)
/* FSK/OOK bandwidth for 76800 */
#define SX127X_FSKOOK_RXBW_DEFAULT FSKOOK_BANDWIDTH_250KHZ
#define SX127X_FSKOOK_AFCBW_DEFAULT FSKOOK_BANDWIDTH_250KHZ
#endif /* CONFIG_LPWAN_SX127X_FSKOOK_76800 */
/* Default LORA bandwidth */
#define SX127X_LRM_BW_DEFAULT LORA_BANDWIDTH_7P8KHZ