/* * Copyright (C) 2021 Inria * * This file is subject to the terms and conditions of the GNU Lesser * General Public License v2.1. See the file LICENSE in the top level * directory for more details. */ /** * @ingroup drivers_sx126x * * @{ * @file * @brief Default configuration * * @author Alexandre Abadie */ #ifndef SX126X_PARAMS_H #define SX126X_PARAMS_H #include "board.h" #include "sx126x.h" #include "sx126x_driver.h" #ifdef __cplusplus extern "C" { #endif /** * @name Set default configuration parameters * * Default values are adapted for mbed shield used with to nucleo64 boards * @{ */ #ifndef SX126X_PARAM_SPI #define SX126X_PARAM_SPI SPI_DEV(0) #endif #ifndef SX126X_PARAM_SPI_NSS #define SX126X_PARAM_SPI_NSS GPIO_PIN(0, 8) /* D7 */ #endif #ifndef SX126X_PARAM_RESET #define SX126X_PARAM_RESET GPIO_PIN(0, 0) /* A0 */ #endif #ifndef SX126X_PARAM_BUSY #define SX126X_PARAM_BUSY GPIO_PIN(1, 3) /* D3 */ #endif #ifndef SX126X_PARAM_DIO1 #define SX126X_PARAM_DIO1 GPIO_PIN(1, 4) /* D5 */ #endif #ifndef SX126X_PARAM_REGULATOR #define SX126X_PARAM_REGULATOR SX126X_REG_MODE_DCDC #endif #ifndef SX126X_PARAM_SET_RF_MODE_CB #define SX126X_PARAM_SET_RF_MODE_CB NULL #endif #ifndef SX126X_PARAM_TX_PA_MODE #define SX126X_PARAM_TX_PA_MODE SX126X_RF_MODE_TX_LPA #endif #ifndef SX126X_PARAM_TYPE # if IS_USED(MODULE_SX1261) # define SX126X_PARAM_TYPE SX126X_TYPE_SX1261 # elif IS_USED(MODULE_SX1262) # define SX126X_PARAM_TYPE SX126X_TYPE_SX1262 # elif IS_USED(MODULE_SX1268) # define SX126X_PARAM_TYPE SX126X_TYPE_SX1268 # elif IS_USED(MODULE_LLCC68) # define SX126X_PARAM_TYPE SX126X_TYPE_LLCC68 # elif IS_USED(MODULE_SX126X_STM32WL) # define SX126X_PARAM_TYPE SX126X_TYPE_STM32WL # else # error "You should select at least one of the SX126x variants." # endif #endif #if IS_USED(MODULE_SX126X_RF_SWITCH) #define SX126X_SET_RF_MODE .set_rf_mode = SX126X_PARAM_SET_RF_MODE_CB, #define SX126X_TX_PA_MODE .tx_pa_mode = SX126X_PARAM_TX_PA_MODE #else #define SX126X_SET_RF_MODE #define SX126X_TX_PA_MODE #endif #define SX126X_PARAMS { .spi = SX126X_PARAM_SPI, \ .nss_pin = SX126X_PARAM_SPI_NSS, \ .reset_pin = SX126X_PARAM_RESET, \ .busy_pin = SX126X_PARAM_BUSY, \ .dio1_pin = SX126X_PARAM_DIO1, \ .type = SX126X_PARAM_TYPE, \ .regulator = SX126X_PARAM_REGULATOR, \ SX126X_SET_RF_MODE \ SX126X_TX_PA_MODE} /**@}*/ /** * @brief Configuration struct */ static const sx126x_params_t sx126x_params[] = { SX126X_PARAMS }; #ifdef __cplusplus } #endif #endif /* SX126X_PARAMS_H */ /** @} */