添加 Kconfig 样例,添加基础的板及配置

This commit is contained in:
LokLiang
2025-02-20 12:55:19 +08:00
parent 6e18d7a3d7
commit 73df531ac3
10 changed files with 124 additions and 172 deletions

View File

@@ -7,21 +7,8 @@
#define CONS_ABORT()
#include "sys_log.h"
static cfg_board_t const s_cfg_board_default = {
/* 控制台串口 */
.uart_console = {
.pin_txd = {43, _GPIO_DIR_OUT, _GPIO_PUD_PULL_UP},
.pin_rxd = {44, _GPIO_DIR_IN, _GPIO_PUD_PULL_UP},
.id = UART_NUM_0,
.irq_prior = 0,
.br = 115200,
},
/* 启动按键 */
.key_boot = {
.pin = 0, // 用于切换灯效
.en_lev = 0, // 用于切换灯效
},
};
#include "board_config/devkit_esp32c2.h"
#include "board_config/devkit_esp32c3.h"
#include "board_config/devkit_esp32s3.h"
const cfg_board_t *g_cfg_board = &s_cfg_board_default;

View File

@@ -1,40 +0,0 @@
#if (CONFIG_BOARD_NAME_BEC_LED_STRIP_ESP32C3)
#define CONFIG_IDF_TARGET "esp32c3" /* 警告:请使用命令 idf.py set-target <参数> 选择对应的平台 */
static cfg_board_t const s_cfg_board_default = {
.firmware_str = PRODUCT_TYPE,
.platform_str = CONFIG_IDF_TARGET,
.board_name = "bec_led_strip_esp32c3",
/* 控制台串口 */
.uart_console = {
.pin_txd = {43, _GPIO_DIR_OUT, _GPIO_PUD_PULL_UP},
.pin_rxd = {44, _GPIO_DIR_IN, _GPIO_PUD_PULL_UP},
.id = UART_NUM_0,
.irq_prior = 0,
.br = 115200,
},
/* 数据透传串口 */
.uart_fc = {
.pin_txd = {3, _GPIO_DIR_OUT, _GPIO_PUD_PULL_UP},
.pin_rxd = {5, _GPIO_DIR_IN, _GPIO_PUD_PULL_UP},
.id = UART_NUM_1,
.irq_prior = 24,
.br = 115200,
},
.led_spi = {
.spi_id = SPI2_HOST, // 模拟 PWM 用的 SPI
.pin = 18, // 模拟 PWM 输出引脚
},
/* 启动按键 */
.key_boot = {
.pin = 7, // 用于切换灯效
.en_lev = 1, // 用于切换灯效
},
};
#endif

View File

@@ -3,10 +3,6 @@
#define CONFIG_IDF_TARGET "esp32c2" /* 警告:请使用命令 idf.py set-target <参数> 选择对应的平台 */
static cfg_board_t const s_cfg_board_default = {
.firmware_str = PRODUCT_TYPE,
.platform_str = CONFIG_IDF_TARGET,
.board_name = "devkit_esp32c2",
/* 控制台串口 */
.uart_console = {
.pin_txd = {43, _GPIO_DIR_OUT, _GPIO_PUD_PULL_UP},
@@ -16,20 +12,6 @@ static cfg_board_t const s_cfg_board_default = {
.br = 115200,
},
/* 数据透传串口 */
.uart_fc = {
.pin_txd = {7, _GPIO_DIR_OUT, _GPIO_PUD_PULL_UP},
.pin_rxd = {6, _GPIO_DIR_IN, _GPIO_PUD_PULL_UP},
.id = UART_NUM_1,
.irq_prior = 24,
.br = 115200,
},
.led_spi = {
.spi_id = SPI2_HOST, // 模拟 PWM 用的 SPI
.pin = 1, // 模拟 PWM 输出引脚
},
/* 启动按键 */
.key_boot = {
.pin = 9, // 用于切换灯效

View File

@@ -3,10 +3,6 @@
#define CONFIG_IDF_TARGET "esp32c3" /* 警告:请使用命令 idf.py set-target <参数> 选择对应的平台 */
static cfg_board_t const s_cfg_board_default = {
.firmware_str = PRODUCT_TYPE,
.platform_str = CONFIG_IDF_TARGET,
.board_name = "devkit_esp32c3",
/* 控制台串口 */
.uart_console = {
.pin_txd = {43, _GPIO_DIR_OUT, _GPIO_PUD_PULL_UP},
@@ -16,20 +12,6 @@ static cfg_board_t const s_cfg_board_default = {
.br = 115200,
},
/* 数据透传串口 */
.uart_fc = {
.pin_txd = {7, _GPIO_DIR_OUT, _GPIO_PUD_PULL_UP},
.pin_rxd = {6, _GPIO_DIR_IN, _GPIO_PUD_PULL_UP},
.id = UART_NUM_1,
.irq_prior = 24,
.br = 115200,
},
.led_spi = {
.spi_id = SPI2_HOST, // 模拟 PWM 用的 SPI
.pin = 10, // 模拟 PWM 输出引脚
},
/* 启动按键 */
.key_boot = {
.pin = 9, // 用于切换灯效

View File

@@ -0,0 +1,22 @@
#if (CONFIG_BOARD_NAME_DEVKIT_ESP32S3)
#define CONFIG_IDF_TARGET "esp32s3" /* 警告:请使用命令 idf.py set-target <参数> 选择对应的平台 */
static cfg_board_t const s_cfg_board_default = {
/* 控制台串口 */
.uart_console = {
.pin_txd = {255, _GPIO_DIR_OUT, _GPIO_PUD_PULL_UP},
.pin_rxd = {255, _GPIO_DIR_IN, _GPIO_PUD_PULL_UP},
.id = UART_NUM_0,
.irq_prior = 0,
.br = 115200,
},
/* 启动按键 */
.key_boot = {
.pin = 0, // 用于切换灯效
.en_lev = 0, // 用于切换灯效
},
};
#endif

View File

@@ -1,40 +0,0 @@
#if (CONFIG_BOARD_NAME_FIXEDWING_NEW)
#define CONFIG_IDF_TARGET "esp32c2" /* 警告:请使用命令 idf.py set-target <参数> 选择对应的平台 */
static cfg_board_t const s_cfg_board_default = {
.firmware_str = PRODUCT_TYPE,
.platform_str = CONFIG_IDF_TARGET,
.board_name = "fixedwing_new",
/* 控制台串口 */
.uart_console = {
.pin_txd = {43, _GPIO_DIR_OUT, _GPIO_PUD_PULL_UP},
.pin_rxd = {44, _GPIO_DIR_IN, _GPIO_PUD_PULL_UP},
.id = UART_NUM_0,
.irq_prior = 0,
.br = 115200,
},
/* 数据透传串口 */
.uart_fc = {
.pin_txd = {7, _GPIO_DIR_OUT, _GPIO_PUD_PULL_UP},
.pin_rxd = {6, _GPIO_DIR_IN, _GPIO_PUD_PULL_UP},
.id = UART_NUM_1,
.irq_prior = 24,
.br = 115200,
},
.led_spi = {
.spi_id = SPI2_HOST, // 模拟 PWM 用的 SPI
.pin = 1, // 模拟 PWM 输出引脚
},
/* 启动按键 */
.key_boot = {
.pin = 3, // 用于切换灯效
.en_lev = 1, // 用于切换灯效
},
};
#endif

View File

@@ -1,40 +0,0 @@
#if (CONFIG_BOARD_NAME_FIXEDWING_OLD)
#define CONFIG_IDF_TARGET "esp32c2" /* 警告:请使用命令 idf.py set-target <参数> 选择对应的平台 */
static cfg_board_t const s_cfg_board_default = {
.firmware_str = PRODUCT_TYPE,
.platform_str = CONFIG_IDF_TARGET,
.board_name = "fixedwing_old",
/* 控制台串口 */
.uart_console = {
.pin_txd = {43, _GPIO_DIR_OUT, _GPIO_PUD_PULL_UP},
.pin_rxd = {44, _GPIO_DIR_IN, _GPIO_PUD_PULL_UP},
.id = UART_NUM_0,
.irq_prior = 0,
.br = 115200,
},
/* 数据透传串口 */
.uart_fc = {
.pin_txd = {8, _GPIO_DIR_OUT, _GPIO_PUD_PULL_UP},
.pin_rxd = {7, _GPIO_DIR_IN, _GPIO_PUD_PULL_UP},
.id = UART_NUM_1,
.irq_prior = 24,
.br = 115200,
},
.led_spi = {
.spi_id = SPI2_HOST, // 模拟 PWM 用的 SPI
.pin = 1, // 模拟 PWM 输出引脚
},
/* 启动按键 */
.key_boot = {
.pin = 3, // 用于切换灯效
.en_lev = 1, // 用于切换灯效
},
};
#endif

35
app/config/version.h Normal file
View File

@@ -0,0 +1,35 @@
#pragma once
/* MCU 平台 */
#define DEVICE_TYPE CONFIG_IDF_TARGET
/* 固件版本号 */
#if (CONFIG_PRODUCT_ID_DEV)
#define PRODUCT_ID "SB-DEV"
#define BOARD_CONFIG_DATA_VER 0x0101 /* 对应 cfg_board_t::version */
#define APP_CONFIG_DATA_VER 0 /* 对应 cfg_app_t::version */
#define LEDSTRIP_CONFIG_DATA_VER 0x00000001 /* 对应 cfg_led_strip_t ::version */
#define FW_VERSION_MAIN 0
#define FW_VERSION_MINOR 0
#define FW_VERSION_BUILD 1
#elif (CONFIG_PRODUCT_ID_SBLED1)
#define PRODUCT_ID "SBLED1"
#define BOARD_CONFIG_DATA_VER 0x0101 /* 对应 cfg_board_t::version */
#define APP_CONFIG_DATA_VER 0 /* 对应 cfg_app_t::version */
#define LEDSTRIP_CONFIG_DATA_VER 0x00000001 /* 对应 cfg_led_strip_t ::version */
#define FW_VERSION_MAIN 6
#define FW_VERSION_MINOR 1
#define FW_VERSION_BUILD 2
#else
#error 未定义配置
#endif
#include "./version_build.h"

13
app/led_strip/Kconfig Normal file
View File

@@ -0,0 +1,13 @@
config LED_STRIP_MAX_LEDS
depends on CAP_LED_STRIP
int "最大灯珠数"
range 1 164
default 88
config LED_STRIP_DEFAULT_LEDS
depends on CAP_LED_STRIP
int "默认灯珠数"
range 1 LED_STRIP_MAX_LEDS
default LED_STRIP_MAX_LEDS

51
main/Kconfig.projbuild Normal file
View File

@@ -0,0 +1,51 @@
menu "APP 配置"
# 已有开发板
choice BOARD_NAME
bool "选择开发板的固定硬件配置"
default BOARD_NAME_DEVKIT_ESP32C3
help
这些配置仅方便于开发时,根据实际配置打印相应的二进制数据,以便于生成合并到量产包的文件。
在量产的产品中由于已存在有效的配置数据,这些选项不影响实际产品。
config BOARD_NAME_DEVKIT_ESP32C2
bool "ESP32C2 开发板"
config BOARD_NAME_DEVKIT_ESP32C3
bool "ESP32C3 开发板"
config BOARD_NAME_DEVKIT_ESP32S3
bool "ESP32S3 开发板"
endchoice
# 选择产品描述符
choice PRODUCT_ID
bool "选择产品描述符"
default PRODUCT_ID_DEV
help
六个字符的唯一产品标识,在手机 APP 端连接时的识别符
手机 APP 根据此识别符确定该产品功能
config PRODUCT_ID_DEV
bool "识别号: SB-DEV 开发中"
help
未定义的具体产品描述符
endchoice
menuconfig CAP_LED_STRIP
depends on PRODUCT_ID_DEV || PRODUCT_ID_SBLED1
bool "编译灯带模块"
default n
rsource "../app/led_strip/Kconfig"
config BUILD_BLE
bool "编译BLE模块"
default y
config BUILD_WIFI
bool "编译WIFI模块"
default y if PRODUCT_ID_SBFWC2
default n
endmenu