参考代码
This commit is contained in:
27
app/config/board_config.c
Normal file
27
app/config/board_config.c
Normal file
@@ -0,0 +1,27 @@
|
||||
#include "board_config.h"
|
||||
|
||||
#include "driver/uart.h"
|
||||
|
||||
#define CONFIG_SYS_LOG_LEVEL SYS_LOG_LEVEL_DBG
|
||||
#define SYS_LOG_DOMAIN "CFG"
|
||||
#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 = 9, // 用于切换灯效
|
||||
.en_lev = 0, // 用于切换灯效
|
||||
},
|
||||
};
|
||||
|
||||
const cfg_board_t *g_cfg_board = &s_cfg_board_default;
|
||||
40
app/config/board_config.h
Normal file
40
app/config/board_config.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file board_config.h
|
||||
* @author LokLiang
|
||||
* @brief 统一板载硬件描述数据结构
|
||||
* @version 0.1
|
||||
* @date 2023-11-24
|
||||
*
|
||||
* @copyright Copyright (c) 2023
|
||||
*
|
||||
* 目的与作用场景:
|
||||
* 使同类型的固件适应不同的硬件版本。
|
||||
* 例如同一类型产品,即使某些功能引脚改动,依然可以根据配置文件正确引导程序,而不需要新增特定的固件版本,旧的产品依然得到长期的支持。
|
||||
*
|
||||
* 数据设置:
|
||||
* 只能在工厂中配置,除此之外不允许任何手段尝试修改。
|
||||
* 数据地址固定为分区配置中
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "drivers/chip/_hal.h"
|
||||
|
||||
typedef struct // 按键配置
|
||||
{
|
||||
uint8_t pin; // 引脚号
|
||||
uint8_t en_lev; // 触发电平
|
||||
} cfg_board_key_t;
|
||||
|
||||
typedef struct // 数据结构一旦定下不可随意变更
|
||||
{
|
||||
/* 硬件描述类 */
|
||||
hal_uart_hdl_t uart_console; // 控制台
|
||||
cfg_board_key_t key_boot; // 启动按键
|
||||
|
||||
/* 产品功能描述类 */
|
||||
|
||||
} cfg_board_t;
|
||||
|
||||
extern const cfg_board_t *g_cfg_board; // 配置数据
|
||||
40
app/config/board_config/bec_led_strip_esp32c3.h
Normal file
40
app/config/board_config/bec_led_strip_esp32c3.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#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
|
||||
40
app/config/board_config/devkit_esp32c2.h
Normal file
40
app/config/board_config/devkit_esp32c2.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#if (CONFIG_BOARD_NAME_DEVKIT_ESP32C2)
|
||||
|
||||
#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},
|
||||
.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 = 9, // 用于切换灯效
|
||||
.en_lev = 0, // 用于切换灯效
|
||||
},
|
||||
};
|
||||
|
||||
#endif
|
||||
40
app/config/board_config/devkit_esp32c3.h
Normal file
40
app/config/board_config/devkit_esp32c3.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#if (CONFIG_BOARD_NAME_DEVKIT_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 = "devkit_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 = {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, // 用于切换灯效
|
||||
.en_lev = 0, // 用于切换灯效
|
||||
},
|
||||
};
|
||||
|
||||
#endif
|
||||
40
app/config/board_config/fixedwing_new.h
Normal file
40
app/config/board_config/fixedwing_new.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#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
|
||||
40
app/config/board_config/fixedwing_old.h
Normal file
40
app/config/board_config/fixedwing_old.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user