diff --git a/drivers/wireless/lpwan/Kconfig b/drivers/wireless/lpwan/Kconfig index 8348e4cfc20..0b3a9fc4379 100644 --- a/drivers/wireless/lpwan/Kconfig +++ b/drivers/wireless/lpwan/Kconfig @@ -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 diff --git a/drivers/wireless/lpwan/sx127x/Kconfig b/drivers/wireless/lpwan/sx127x/Kconfig new file mode 100644 index 00000000000..4b73457b36c --- /dev/null +++ b/drivers/wireless/lpwan/sx127x/Kconfig @@ -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 diff --git a/drivers/wireless/lpwan/sx127x/sx127x.c b/drivers/wireless/lpwan/sx127x/sx127x.c index 635af9f8dbf..8acf14b26c3 100644 --- a/drivers/wireless/lpwan/sx127x/sx127x.c +++ b/drivers/wireless/lpwan/sx127x/sx127x.c @@ -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