Skip to content

Commit 02453fa

Browse files
committed
drivers: lorawan: Add missing Bandwidth and Spreading Factor values
Add missing values and replace arbitrary BW enum with actual value Signed-off-by: Camille BAUD <mail@massdriver.space>
1 parent bbff45f commit 02453fa

File tree

2 files changed

+59
-10
lines changed

2 files changed

+59
-10
lines changed

drivers/lora/lora_basics_modem/lbm_common.c

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,15 +96,51 @@ int lbm_lora_config(const struct device *dev, struct lora_modem_config *lora_con
9696
}
9797

9898
switch (lora_config->bandwidth) {
99+
case BW_7_KHZ:
100+
params.mod_params.bw = RAL_LORA_BW_007_KHZ;
101+
break;
102+
case BW_10_KHZ:
103+
params.mod_params.bw = RAL_LORA_BW_010_KHZ;
104+
break;
105+
case BW_15_KHZ:
106+
params.mod_params.bw = RAL_LORA_BW_015_KHZ;
107+
break;
108+
case BW_20_KHZ:
109+
params.mod_params.bw = RAL_LORA_BW_020_KHZ;
110+
break;
111+
case BW_31_KHZ:
112+
params.mod_params.bw = RAL_LORA_BW_031_KHZ;
113+
break;
114+
case BW_41_KHZ:
115+
params.mod_params.bw = RAL_LORA_BW_041_KHZ;
116+
break;
117+
case BW_62_KHZ:
118+
params.mod_params.bw = RAL_LORA_BW_062_KHZ;
119+
break;
99120
case BW_125_KHZ:
100121
params.mod_params.bw = RAL_LORA_BW_125_KHZ;
101122
break;
123+
case BW_200_KHZ:
124+
params.mod_params.bw = RAL_LORA_BW_200_KHZ;
125+
break;
102126
case BW_250_KHZ:
103127
params.mod_params.bw = RAL_LORA_BW_250_KHZ;
104128
break;
129+
case BW_400_KHZ:
130+
params.mod_params.bw = RAL_LORA_BW_400_KHZ;
131+
break;
105132
case BW_500_KHZ:
106133
params.mod_params.bw = RAL_LORA_BW_500_KHZ;
107134
break;
135+
case BW_800_KHZ:
136+
params.mod_params.bw = RAL_LORA_BW_800_KHZ;
137+
break;
138+
case BW_1000_KHZ:
139+
params.mod_params.bw = RAL_LORA_BW_1000_KHZ;
140+
break;
141+
case BW_1600_KHZ:
142+
params.mod_params.bw = RAL_LORA_BW_1600_KHZ;
143+
break;
108144
default:
109145
ret = -EINVAL;
110146
goto release;

include/zephyr/drivers/lora.h

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,21 @@ extern "C" {
3838
* higher data rates but typically reduce sensitivity and range.
3939
*/
4040
enum lora_signal_bandwidth {
41-
BW_125_KHZ = 0, /**< 125 kHz */
42-
BW_250_KHZ, /**< 250 kHz */
43-
BW_500_KHZ, /**< 500 kHz */
41+
BW_7_KHZ = 7, /**< 7.81 kHz */
42+
BW_10_KHZ = 10, /**< 10.42 kHz */
43+
BW_15_KHZ = 15, /**< 15.63 kHz */
44+
BW_20_KHZ = 20, /**< 20.83 kHz */
45+
BW_31_KHZ = 31, /**< 31.25 kHz */
46+
BW_41_KHZ = 41, /**< 41.67 kHz */
47+
BW_62_KHZ = 62, /**< 62.5 kHz */
48+
BW_125_KHZ = 125, /**< 125 kHz */
49+
BW_200_KHZ = 200, /**< 203 kHz */
50+
BW_250_KHZ = 250, /**< 250 kHz */
51+
BW_400_KHZ = 400, /**< 406 kHz */
52+
BW_500_KHZ = 500, /**< 500 kHz */
53+
BW_800_KHZ = 800, /**< 812 kHz */
54+
BW_1000_KHZ = 1000, /**< 1000 kHz */
55+
BW_1600_KHZ = 1600, /**< 1625 kHz */
4456
};
4557

4658
/**
@@ -52,13 +64,14 @@ enum lora_signal_bandwidth {
5264
* symbol). Higher values result in lower data rates but increased range and robustness.
5365
*/
5466
enum lora_datarate {
55-
SF_6 = 6, /**< Spreading factor 6 (fastest, shortest range) */
56-
SF_7, /**< Spreading factor 7 */
57-
SF_8, /**< Spreading factor 8 */
58-
SF_9, /**< Spreading factor 9 */
59-
SF_10, /**< Spreading factor 10 */
60-
SF_11, /**< Spreading factor 11 */
61-
SF_12, /**< Spreading factor 12 (slowest, longest range) */
67+
SF_5 = 5, /**< Spreading factor 5 (fastest, shortest range) */
68+
SF_6 = 6, /**< Spreading factor 6 */
69+
SF_7 = 7, /**< Spreading factor 7 */
70+
SF_8 = 8, /**< Spreading factor 8 */
71+
SF_9 = 9, /**< Spreading factor 9 */
72+
SF_10 = 10, /**< Spreading factor 10 */
73+
SF_11 = 11, /**< Spreading factor 11 */
74+
SF_12 = 12, /**< Spreading factor 12 (slowest, longest range) */
6275
};
6376

6477
/**

0 commit comments

Comments
 (0)