Files
chrg/apps/chrg/applications/bsp/chrg_gpio.h
T
yhf 9f63dfeaf5 chore: 统一项目版本至V1.1.24并完善版本管理
1.  新增`apps/chrg/applications/utils/chrg_def.h`统一管理版本号,定义CHRG_VERSION相关宏与版本字符串
2.  更新所有业务源文件和头文件的文件头版本号为V1.1.24
3.  修改`chrg_comm.c`移除硬编码版本号,改用统一定义的CHRG_FIRMWARE_VERSION
4.  更新`main.c`添加版本头文件并打印应用版本字符串
5.  更新`修改日志.md`添加V1.1.24版本记录,说明版本管理规则
6.  新增编译日志记录本次版本统一构建结果
7.  补充AGENTS.md中的版本管理规范
8.  新增一批产品测试文档与彩页文件
2026-09-15 21:33:14 +08:00

148 lines
4.5 KiB
C

/****************************************************************************
文件名称 : chrg_gpio.h
完成日期 :
当前版本号 : V1.1.24
主要功能 :
GPIO口宏定义。
版本历史 : 创建原始版本
说明 :
******************************************************************************/
#ifndef __CHRG_GPIO_H__
#define __CHRG_GPIO_H__
#include <rtthread.h>
#include <drv_gpio.h>
// LED 灯脚
#define GPO_PIN_LED1 GET_PIN(C, 13) // LED1
#define GPO_PIN_LED2 GET_PIN(C, 14) // LED2
#define GPO_PIN_LED3 GET_PIN(C, 15) // LED3
// 北向 source/sink 通信口选通
#define GPO_PIN_UART_SW1 GET_PIN(C, 0) // 通道1组
#define GPO_PIN_UART_SW2 GET_PIN(A, 0) // 通道2组
#define GPO_PIN_UART_SW3 GET_PIN(A, 6) // 通道3组
#define GPO_PIN_UART_SW4 GET_PIN(B, 12) // 通道4组
// 北向继电器1组
#define GPO_PIN_CH1_P0 GET_PIN(C, 3) // P0 connect K1/K3 for sink
#define GPO_PIN_CH1_P1 GET_PIN(C, 2) // P1 connect K2/K4 for source
#define GPO_PIN_CH1_P2 GET_PIN(C, 1) // P2 connect K5 for GND/PGND
// 北向继电器2组
#define GPO_PIN_CH2_P0 GET_PIN(A, 5) // P0 //SINK D+D- CC
#define GPO_PIN_CH2_P1 GET_PIN(A, 4) // P1 //SOURCE D+D- CC
#define GPO_PIN_CH2_P2 GET_PIN(A, 1) // P2
// 北向继电器3组
#define GPO_PIN_CH3_P0 GET_PIN(C, 5) // P0 //SINK D+D- CC
#define GPO_PIN_CH3_P1 GET_PIN(C, 4) // P1 //SOURCE D+D- CC
#define GPO_PIN_CH3_P2 GET_PIN(A, 7) // P2
// 北向继电器4组
#define GPO_PIN_CH4_P0 GET_PIN(B, 15) // P0 //SINK D+D- CC
#define GPO_PIN_CH4_P1 GET_PIN(B, 14) // P1 //SOURCE D+D- CC
#define GPO_PIN_CH4_P2 GET_PIN(B, 13) // P2
// 北向通信口选通 U14
#define GPO_PIN_NOR_SW_A GET_PIN(B, 0)
#define GPO_PIN_NOR_SW_B GET_PIN(B, 1)
// 南向1级通信口选通 U23
#define GPO_PIN_SOU_SW_LV1_A GET_PIN(C, 8)
#define GPO_PIN_SOU_SW_LV1_B GET_PIN(C, 9)
// 南向2级通信口选通 左半 U24
#define GPO_PIN_SOU_SW_LV2_A1 GET_PIN(A, 15)
#define GPO_PIN_SOU_SW_LV2_B1 GET_PIN(C, 10)
// 南向2级通信口选通 右半 U25
#define GPO_PIN_SOU_SW_LV2_A2 GET_PIN(C, 11)
#define GPO_PIN_SOU_SW_LV2_B2 GET_PIN(C, 12)
typedef enum {
IDX_GPO_LED1 = 0, // 绿灯
IDX_GPO_LED2,
IDX_GPO_LED3,
IDX_GPO_UART_SW1, // source/sink U1 A
IDX_GPO_UART_SW2, // source/sink U12 A
IDX_GPO_UART_SW3, // source/sink U23 A
IDX_GPO_UART_SW4, // source/sink U34 A
IDX_GPO_CH1_P0, // 继电器1组 K1/K3
IDX_GPO_CH1_P1, // 继电器1组 K2/K4
IDX_GPO_CH1_P2, // 继电器1组 K5
IDX_GPO_CH2_P0, // 继电器2组 K1/K3
IDX_GPO_CH2_P1, // 继电器2组 K2/K4
IDX_GPO_CH2_P2, // 继电器2组 K5
IDX_GPO_CH3_P0, // 继电器3组 K1/K3
IDX_GPO_CH3_P1, // 继电器3组 K2/K4
IDX_GPO_CH3_P2, // 继电器3组 K5
IDX_GPO_CH4_P0, // 继电器4组 K1/K3
IDX_GPO_CH4_P1, // 继电器4组 K2/K4
IDX_GPO_CH4_P2, // 继电器4组 K5
IDX_GPO_NOR_SW_A, // U14 北向A
IDX_GPO_NOR_SW_B, // U14 北向B
IDX_GPO_SOU_SW_LV1_A, // U23 南向1级A
IDX_GPO_SOU_SW_LV1_B, // U23 南向1级B
IDX_GPO_SOU_SW_LV2_A1, // U24 南向2级左A
IDX_GPO_SOU_SW_LV2_B1, // U24 南向2级左B
IDX_GPO_SOU_SW_LV2_A2, // U25 南向2级右A
IDX_GPO_SOU_SW_LV2_B2, // U25 南向2级右B
TOTAL_IOS
} eIDX_IO;
struct chrg_io_t {
rt_base_t base; // 管脚号
rt_ssize_t mode; // 方向 输出/输入
rt_uint8_t value; // 当前值 (输入时不配置)
};
extern struct chrg_io_t chrgios[TOTAL_IOS];
/*****************************************************************
函数名称: chrg_gpio_mode_set
函数描述: 修改 PIN 引脚方向。
输入参数: idx 引脚索引, mode : 输出/输入
输出参数: -
返回说明: <0: 异常,=0: 正常
其它说明: -
*****************************************************************/
extern int chrg_gpio_mode_set (eIDX_IO idx, rt_uint8_t mode);
/*****************************************************************
函数名称: chrg_gpio_get
函数描述: 读取引脚当前值。
输入参数: idx 引脚索引
输出参数: -
返回说明: <0: 异常,=0: 低电平, =1: 高电平
其它说明: -
*****************************************************************/
extern int chrg_gpio_get (eIDX_IO idx);
/*****************************************************************
函数名称: chrg_gpio_set
函数描述: 设置输出引脚高低电平。
输入参数: idx 引脚索引, value 高/低电平
输出参数: -
返回说明: <0: 异常,=0: 正常
其它说明: -
*****************************************************************/
extern int chrg_gpio_set (eIDX_IO idx, rt_uint8_t value);
#endif