Skip to content

Commit 0c49eac

Browse files
committed
docs(sx127x): enhance documentation and update default configurations
Updated the SX127X demo documentation to include an overview, default configuration settings, short-range FSK testing recommendations, and troubleshooting tips. The default TX power has been changed from 14 dBm to 17 dBm, and CRC is now enabled by default. These changes aim to improve user experience and ensure robust communication for the SX127X radio driver Signed-off-by: Arjav Patel <arjav1528@gmail.com>
1 parent 574fc64 commit 0c49eac

8 files changed

Lines changed: 67 additions & 14 deletions

File tree

Documentation/applications/examples/sx127x_demo/index.rst

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,68 @@
33
============================
44

55
This example demonstrates the use of the ``SX127X`` radio.
6+
7+
Overview
8+
========
9+
10+
The ``sx127x_demo`` application exercises the `SX127X` low-power wide-area
11+
network (LPWAN) radio driver in both transmit and receive modes. It is
12+
typically enabled via a board defconfig together with
13+
``CONFIG_LPWAN_SX127X`` and the appropriate SPI and GPIO wiring for the
14+
target module.
15+
16+
Default configuration
17+
=====================
18+
19+
Unless explicitly overridden in the board or application configuration,
20+
the SX127X driver uses the following relevant defaults:
21+
22+
* RF frequency: ``CONFIG_LPWAN_SX127X_RFFREQ_DEFAULT`` (board-specific,
23+
for example 433 MHz, 868 MHz or 915 MHz).
24+
* TX power: ``CONFIG_LPWAN_SX127X_TXPOWER_DEFAULT``.
25+
The global default is **17 dBm**, which provides a stronger and more
26+
reliable link than the previous 14 dBm default.
27+
* CRC: ``CONFIG_LPWAN_SX127X_CRCON``.
28+
The global default is **1** (CRC enabled), so payloads are protected
29+
by a checksum and corrupted frames are rejected.
30+
31+
Individual boards may override these values in their ``defconfig`` files.
32+
For example, some boards tested with integrated SX1276 modules may set
33+
``CONFIG_LPWAN_SX127X_TXPOWER_DEFAULT=20`` and adjust
34+
``CONFIG_LPWAN_SX127X_RFFREQ_DEFAULT`` to match the module’s band.
35+
36+
Short-range FSK testing
37+
=======================
38+
39+
When running short-range FSK tests (for example, two modules placed
40+
around one meter apart on a lab bench), the following settings are
41+
recommended:
42+
43+
* Keep ``CONFIG_LPWAN_SX127X_TXPOWER_DEFAULT`` at **17 dBm** or higher
44+
(some modules work well at 20 dBm) to avoid marginal RSSI values that
45+
can lead to intermittent reception.
46+
* Ensure ``CONFIG_LPWAN_SX127X_CRCON=1`` on both transmitter and
47+
receiver so corrupted frames are discarded instead of being printed
48+
with incorrect data.
49+
50+
These defaults are based on empirical testing reported by users and are
51+
intended to provide robust communication without requiring additional
52+
per-board tuning.
53+
54+
Troubleshooting
55+
===============
56+
57+
If the receiver occasionally shows no data, truncated data, or payloads
58+
that do not match what was transmitted, check the following:
59+
60+
* Verify that the RF frequency and modulation settings are identical on
61+
both sides.
62+
* Inspect the reported RSSI and SNR values; very low RSSI at short
63+
distance can indicate insufficient TX power or antenna issues.
64+
* Confirm that CRC is enabled and that both peers are configured
65+
consistently (either both with CRC enabled or both with it disabled,
66+
though enabling CRC is recommended).
67+
68+
Adjusting TX power or antenna placement and ensuring consistent CRC
69+
settings on the link typically resolves data integrity problems seen in
70+
simple FSK tests.

boards/xtensa/esp32/esp32-devkitc/configs/bmp280/defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ CONFIG_ARCH_BUTTONS=y
1616
CONFIG_ARCH_CHIP="esp32"
1717
CONFIG_ARCH_CHIP_ESP32=y
1818
CONFIG_ARCH_CHIP_ESP32WROVER=y
19-
CONFIG_ARCH_IRQBUTTONS=y
2019
CONFIG_ARCH_STACKDUMP=y
2120
CONFIG_ARCH_XTENSA=y
2221
CONFIG_BOARD_LOOPSPERMSEC=16717

boards/xtensa/esp32/esp32-devkitc/configs/buttons/defconfig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ CONFIG_ARCH_BUTTONS=y
1616
CONFIG_ARCH_CHIP="esp32"
1717
CONFIG_ARCH_CHIP_ESP32=y
1818
CONFIG_ARCH_CHIP_ESP32WROVER=y
19-
CONFIG_ARCH_IRQBUTTONS=y
2019
CONFIG_ARCH_STACKDUMP=y
2120
CONFIG_ARCH_XTENSA=y
2221
CONFIG_BOARD_LOOPSPERMSEC=16717
@@ -32,7 +31,6 @@ CONFIG_INIT_ENTRYPOINT="nsh_main"
3231
CONFIG_INIT_STACKSIZE=3072
3332
CONFIG_INPUT=y
3433
CONFIG_INPUT_BUTTONS=y
35-
CONFIG_INPUT_BUTTONS_LOWER=y
3634
CONFIG_INTELHEX_BINARY=y
3735
CONFIG_LINE_MAX=64
3836
CONFIG_MM_REGIONS=3

boards/xtensa/esp32/esp32-ethernet-kit/configs/buttons/defconfig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ CONFIG_ARCH_BUTTONS=y
1515
CONFIG_ARCH_CHIP="esp32"
1616
CONFIG_ARCH_CHIP_ESP32=y
1717
CONFIG_ARCH_CHIP_ESP32WROVER=y
18-
CONFIG_ARCH_IRQBUTTONS=y
1918
CONFIG_ARCH_STACKDUMP=y
2019
CONFIG_ARCH_XTENSA=y
2120
CONFIG_BOARD_LOOPSPERMSEC=16717
@@ -31,7 +30,6 @@ CONFIG_INIT_ENTRYPOINT="nsh_main"
3130
CONFIG_INIT_STACKSIZE=3072
3231
CONFIG_INPUT=y
3332
CONFIG_INPUT_BUTTONS=y
34-
CONFIG_INPUT_BUTTONS_LOWER=y
3533
CONFIG_INTELHEX_BINARY=y
3634
CONFIG_LINE_MAX=64
3735
CONFIG_MM_REGIONS=3

boards/xtensa/esp32/esp32-lyrat/configs/buttons/defconfig

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,13 @@ CONFIG_ARCH_BUTTONS=y
1616
CONFIG_ARCH_CHIP="esp32"
1717
CONFIG_ARCH_CHIP_ESP32=y
1818
CONFIG_ARCH_CHIP_ESP32WROVER=y
19-
CONFIG_ARCH_IRQBUTTONS=y
2019
CONFIG_ARCH_STACKDUMP=y
2120
CONFIG_ARCH_XTENSA=y
2221
CONFIG_BOARD_LOOPSPERMSEC=16717
2322
CONFIG_BUILTIN=y
2423
CONFIG_ESP32_GPIO_IRQ=y
2524
CONFIG_ESP32_TOUCH=y
2625
CONFIG_ESP32_TOUCH_FILTER=y
27-
CONFIG_ESP32_TOUCH_IRQ=y
2826
CONFIG_ESP32_UART0=y
2927
CONFIG_EXAMPLES_BUTTONS=y
3028
CONFIG_FS_PROCFS=y
@@ -35,7 +33,6 @@ CONFIG_INIT_ENTRYPOINT="nsh_main"
3533
CONFIG_INIT_STACKSIZE=3072
3634
CONFIG_INPUT=y
3735
CONFIG_INPUT_BUTTONS=y
38-
CONFIG_INPUT_BUTTONS_LOWER=y
3936
CONFIG_INTELHEX_BINARY=y
4037
CONFIG_LINE_MAX=64
4138
CONFIG_MM_REGIONS=3

boards/xtensa/esp32/esp32-wrover-kit/configs/buttons/defconfig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ CONFIG_ARCH_BUTTONS=y
1616
CONFIG_ARCH_CHIP="esp32"
1717
CONFIG_ARCH_CHIP_ESP32=y
1818
CONFIG_ARCH_CHIP_ESP32WROVER=y
19-
CONFIG_ARCH_IRQBUTTONS=y
2019
CONFIG_ARCH_STACKDUMP=y
2120
CONFIG_ARCH_XTENSA=y
2221
CONFIG_BOARD_LOOPSPERMSEC=16717
@@ -32,7 +31,6 @@ CONFIG_INIT_ENTRYPOINT="nsh_main"
3231
CONFIG_INIT_STACKSIZE=3072
3332
CONFIG_INPUT=y
3433
CONFIG_INPUT_BUTTONS=y
35-
CONFIG_INPUT_BUTTONS_LOWER=y
3634
CONFIG_INTELHEX_BINARY=y
3735
CONFIG_LINE_MAX=64
3836
CONFIG_MM_REGIONS=3

boards/xtensa/esp32/esp32-wrover-kit/configs/lua/defconfig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ CONFIG_ARCH_BUTTONS=y
2121
CONFIG_ARCH_CHIP="esp32"
2222
CONFIG_ARCH_CHIP_ESP32=y
2323
CONFIG_ARCH_CHIP_ESP32WROVER=y
24-
CONFIG_ARCH_IRQBUTTONS=y
2524
CONFIG_ARCH_STACKDUMP=y
2625
CONFIG_ARCH_XTENSA=y
2726
CONFIG_BOARD_LOOPSPERMSEC=16717
@@ -50,7 +49,6 @@ CONFIG_INIT_ENTRYPOINT="nsh_main"
5049
CONFIG_INIT_STACKSIZE=3072
5150
CONFIG_INPUT=y
5251
CONFIG_INPUT_BUTTONS=y
53-
CONFIG_INPUT_BUTTONS_LOWER=y
5452
CONFIG_INTELHEX_BINARY=y
5553
CONFIG_INTERPRETERS_LUA=y
5654
CONFIG_LINE_MAX=64

drivers/wireless/lpwan/sx127x/Kconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ config LPWAN_SX127X_SPIFREQ
1717

1818
config LPWAN_SX127X_TXPOWER_DEFAULT
1919
int "SX127X default TX power"
20-
default 14
20+
default 17
2121

2222
config LPWAN_SX127X_PREAMBLE_DEFAULT
2323
int "SX127X default preamble length"
@@ -34,7 +34,7 @@ config LPWAN_SX127X_MODULATION_DEFAULT
3434
config LPWAN_SX127X_CRCON
3535
int "SX127X CRC ON"
3636
range 0 1
37-
default 0
37+
default 1
3838

3939
config LPWAN_SX127X_RXSUPPORT
4040
bool "SX127X RX support"

0 commit comments

Comments
 (0)