Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
sx126x_params.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2021 Inria
3
*
4
* This file is subject to the terms and conditions of the GNU Lesser
5
* General Public License v2.1. See the file LICENSE in the top level
6
* directory for more details.
7
*/
8
9
#pragma once
10
21
#include "board.h"
22
#include "
sx126x.h
"
23
24
#if defined(MODULE_SHIELD_LLCC68) || defined(MODULE_SHIELD_SX1262)
25
# include "arduino_iomap.h"
26
#endif
27
28
#ifdef __cplusplus
29
extern
"C"
{
30
#endif
31
32
#if defined(MODULE_SHIELD_LLCC68) || defined(MODULE_SHIELD_SX1262)
33
# define SX126X_PARAM_SPI ARDUINO_SPI_D11D12D13
34
# define SX126X_PARAM_SPI_NSS ARDUINO_PIN_7
35
# define SX126X_PARAM_RESET ARDUINO_PIN_A0
36
# define SX126X_PARAM_BUSY ARDUINO_PIN_3
37
# define SX126X_PARAM_DIO1 ARDUINO_PIN_5
38
#endif
39
46
#ifndef SX126X_PARAM_SPI
47
# define SX126X_PARAM_SPI SPI_DEV(0)
48
#endif
49
50
#ifndef SX126X_PARAM_SPI_NSS
51
# define SX126X_PARAM_SPI_NSS GPIO_PIN(0, 8)
/* D7 */
52
#endif
53
54
#ifndef SX126X_PARAM_RESET
55
# define SX126X_PARAM_RESET GPIO_PIN(0, 0)
/* A0 */
56
#endif
57
58
#ifndef SX126X_PARAM_BUSY
59
# define SX126X_PARAM_BUSY GPIO_PIN(1, 3)
/* D3 */
60
#endif
61
62
#ifndef SX126X_PARAM_DIO1
63
# define SX126X_PARAM_DIO1 GPIO_PIN(1, 4)
/* D5 */
64
#endif
65
66
#ifndef SX126X_PARAM_REGULATOR
67
# define SX126X_PARAM_REGULATOR SX126X_REG_MODE_DCDC
68
#endif
69
70
#ifndef SX126X_PARAM_SET_RF_MODE_CB
71
# define SX126X_PARAM_SET_RF_MODE_CB NULL
72
#endif
73
74
#ifndef SX126X_PARAM_TX_PA_MODE
75
# define SX126X_PARAM_TX_PA_MODE SX126X_RF_MODE_TX_LPA
76
#endif
77
78
#ifndef SX126X_PARAM_TYPE
79
# if IS_USED(MODULE_SX1261)
80
# define SX126X_PARAM_TYPE SX126X_TYPE_SX1261
81
# elif IS_USED(MODULE_SX1262)
82
# define SX126X_PARAM_TYPE SX126X_TYPE_SX1262
83
# elif IS_USED(MODULE_SX1268)
84
# define SX126X_PARAM_TYPE SX126X_TYPE_SX1268
85
# elif IS_USED(MODULE_LLCC68)
86
# define SX126X_PARAM_TYPE SX126X_TYPE_LLCC68
87
# elif IS_USED(MODULE_SX126X_STM32WL)
88
# define SX126X_PARAM_TYPE SX126X_TYPE_STM32WL
89
# else
90
# error "You should select at least one of the SX126x variants."
91
# endif
92
#endif
93
94
#if IS_USED(MODULE_SX126X_RF_SWITCH)
95
# define SX126X_SET_RF_MODE .set_rf_mode = SX126X_PARAM_SET_RF_MODE_CB,
96
# define SX126X_TX_PA_MODE .tx_pa_mode = SX126X_PARAM_TX_PA_MODE
97
#else
98
# define SX126X_SET_RF_MODE
99
# define SX126X_TX_PA_MODE
100
#endif
101
102
#ifndef SX126X_PARAMS
103
# define SX126X_PARAMS { .spi = SX126X_PARAM_SPI, \
104
.nss_pin = SX126X_PARAM_SPI_NSS, \
105
.reset_pin = SX126X_PARAM_RESET, \
106
.busy_pin = SX126X_PARAM_BUSY, \
107
.dio1_pin = SX126X_PARAM_DIO1, \
108
.type = SX126X_PARAM_TYPE, \
109
.regulator = SX126X_PARAM_REGULATOR, \
110
SX126X_SET_RF_MODE \
111
SX126X_TX_PA_MODE}
112
#endif
113
119
static
const
sx126x_params_t
sx126x_params
[] =
120
{
121
SX126X_PARAMS
122
};
123
124
#ifdef __cplusplus
125
}
126
#endif
127
sx126x_params_t
Device initialization parameters.
Definition:
sx126x.h:84
sx126x.h
sx126x_params
static const sx126x_params_t sx126x_params[]
Configuration struct.
Definition:
sx126x_params.h:119
Generated on Sat Jun 28 2025 19:41:33 by
1.9.1