Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
Loading...
Searching...
No Matches
sx126x_params.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2021 Inria
3
* SPDX-License-Identifier: LGPL-2.1-only
4
*/
5
6
#pragma once
7
17
18
#include "board.h"
19
#include "
sx126x.h
"
20
21
#if defined(MODULE_SHIELD_LLCC68) || defined(MODULE_SHIELD_SX1262)
22
# include "arduino_iomap.h"
23
#endif
24
25
#ifdef __cplusplus
26
extern
"C"
{
27
#endif
28
29
#if defined(MODULE_SHIELD_LLCC68) || defined(MODULE_SHIELD_SX1262)
30
# define SX126X_PARAM_SPI ARDUINO_SPI_D11D12D13
31
# define SX126X_PARAM_SPI_NSS ARDUINO_PIN_7
32
# define SX126X_PARAM_RESET ARDUINO_PIN_A0
33
# define SX126X_PARAM_BUSY ARDUINO_PIN_3
34
# define SX126X_PARAM_DIO1 ARDUINO_PIN_5
35
#endif
36
43
#ifndef SX126X_PARAM_SPI
44
# define SX126X_PARAM_SPI SPI_DEV(0)
45
#endif
46
47
#ifndef SX126X_PARAM_SPI_NSS
48
# define SX126X_PARAM_SPI_NSS GPIO_PIN(0, 8)
/* D7 */
49
#endif
50
51
#ifndef SX126X_PARAM_RESET
52
# define SX126X_PARAM_RESET GPIO_PIN(0, 0)
/* A0 */
53
#endif
54
55
#ifndef SX126X_PARAM_BUSY
56
# define SX126X_PARAM_BUSY GPIO_PIN(1, 3)
/* D3 */
57
#endif
58
59
#ifndef SX126X_PARAM_DIO1
60
# define SX126X_PARAM_DIO1 GPIO_PIN(1, 4)
/* D5 */
61
#endif
62
63
#if !defined(SX126X_PARAM_REGULATOR) || defined(DOXYGEN)
68
# define SX126X_PARAM_REGULATOR SX126X_REG_MODE_DCDC
69
#endif
70
71
#ifndef SX126X_PARAM_SET_RF_MODE_CB
72
# define SX126X_PARAM_SET_RF_MODE_CB NULL
73
#endif
74
75
#ifndef SX126X_PARAM_TX_PA_MODE
76
# define SX126X_PARAM_TX_PA_MODE SX126X_RF_MODE_TX_LPA
77
#endif
78
79
#if !defined(SX126X_PARAM_DIO2_MODE) || defined(DOXYGEN)
84
# define SX126X_PARAM_DIO2_MODE SX126X_DIO2_UNUSED
85
#endif
86
87
#if !defined(SX126X_PARAM_DIO3_MODE) || defined(DOXYGEN)
92
# define SX126X_PARAM_DIO3_MODE SX126X_DIO3_UNUSED
93
#endif
94
95
#if !defined(SX126X_PARAM_TCXO_VOLTAGE) || defined(DOXYGEN)
102
# define SX126X_PARAM_TCXO_VOLTAGE SX126X_TCXO_CTRL_3_0V
103
#endif
104
105
#if !defined(SX126X_PARAM_TCXO_TIMEOUT) || defined(DOXYGEN)
110
# define SX126X_PARAM_TCXO_TIMEOUT 256
111
#endif
112
113
#if !defined(SX126X_PARAM_DIO3_ARG) || defined(DOXYGEN)
117
# define SX126X_PARAM_DIO3_ARG { .tcxo_volt = SX126X_PARAM_TCXO_VOLTAGE, \
118
.tcxo_timeout = SX126X_PARAM_TCXO_TIMEOUT }
119
#endif
120
121
#ifndef SX126X_PARAM_TYPE
122
# if IS_USED(MODULE_SX1261)
123
# define SX126X_PARAM_TYPE SX126X_TYPE_SX1261
124
# elif IS_USED(MODULE_SX1262)
125
# define SX126X_PARAM_TYPE SX126X_TYPE_SX1262
126
# elif IS_USED(MODULE_SX1268)
127
# define SX126X_PARAM_TYPE SX126X_TYPE_SX1268
128
# elif IS_USED(MODULE_LLCC68)
129
# define SX126X_PARAM_TYPE SX126X_TYPE_LLCC68
130
# elif IS_USED(MODULE_SX126X_STM32WL)
131
# define SX126X_PARAM_TYPE SX126X_TYPE_STM32WL
132
# else
133
# error "You should select at least one of the SX126x variants."
134
# endif
135
#endif
136
137
#if IS_USED(MODULE_SX126X_RF_SWITCH)
138
# define SX126X_SET_RF_MODE .set_rf_mode = SX126X_PARAM_SET_RF_MODE_CB,
139
# define SX126X_TX_PA_MODE .tx_pa_mode = SX126X_PARAM_TX_PA_MODE,
140
#else
141
# define SX126X_SET_RF_MODE
142
# define SX126X_TX_PA_MODE
143
#endif
144
145
#if IS_USED(MODULE_SX126X_DIO2) || defined(DOXYGEN)
149
# define SX126X_DIO2_MODE .dio2_mode = SX126X_PARAM_DIO2_MODE,
150
#else
151
# define SX126X_DIO2_MODE
152
#endif
153
154
#if IS_USED(MODULE_SX126X_DIO3) || defined(DOXYGEN)
158
# define SX126X_DIO3_MODE .dio3_mode = SX126X_PARAM_DIO3_MODE,
162
# define SX126X_DIO3_ARG .dio3_arg = SX126X_PARAM_DIO3_ARG,
163
#else
164
# define SX126X_DIO3_MODE
165
# define SX126X_DIO3_ARG
166
#endif
167
168
#ifndef SX126X_PARAMS
169
# define SX126X_PARAMS { .spi = SX126X_PARAM_SPI, \
170
.nss_pin = SX126X_PARAM_SPI_NSS, \
171
.reset_pin = SX126X_PARAM_RESET, \
172
.busy_pin = SX126X_PARAM_BUSY, \
173
.dio1_pin = SX126X_PARAM_DIO1, \
174
.type = SX126X_PARAM_TYPE, \
175
.regulator = SX126X_PARAM_REGULATOR, \
176
SX126X_SET_RF_MODE \
177
SX126X_TX_PA_MODE \
178
SX126X_DIO2_MODE \
179
SX126X_DIO3_MODE \
180
SX126X_DIO3_ARG \
181
}
182
#endif
183
185
189
static
const
sx126x_params_t
sx126x_params
[] =
190
{
191
SX126X_PARAMS
192
};
193
194
#ifdef __cplusplus
195
}
196
#endif
197
sx126x_params_t
Device initialization parameters.
Definition
sx126x.h:127
sx126x.h
sx126x_params
static const sx126x_params_t sx126x_params[]
Configuration struct.
Definition
sx126x_params.h:189
Generated on Tue Apr 14 2026 15:10:48 by
1.13.2