Files
CCU621M/app/publicdata/public_define.h
T

324 lines
11 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef _PUBLIC_DEFINE_H_
#define _PUBLIC_DEFINE_H_
/***************************************系统相关-开始*******************************/
/* 系统类型宏 */
#define SYSTEM_TYPE_CCU601E_D 0 /* STM32H5xx */
#define SYSTEM_TYPE_CCU621_M 1 /* GD32H7xx */
#define SYSTEM_TYPE_CCU601_M 2 /* 预留 */
#ifndef SYSTEM_TYPE
#define SYSTEM_TYPE SYSTEM_TYPE_CCU621_M
#endif
/* POS VTK 串口结算功能使能:1=编译 VTK 相关代码;0=完全关闭 */
#ifndef POS_VTK_EN
#define POS_VTK_EN 0
#endif
/***************************************系统相关-结束*******************************/
/***************************************充电枪相关-开始*******************************/
#ifndef GUN_MAX_CNT
#define GUN_MAX_CNT 2 //充电枪最大数量
#endif
#ifndef CAN_PLC_FLAG
#define CAN_PLC_FLAG 0 //欧标CAN转PLC使能标志 0不使能 1使能
#endif
/* 抢连接状态通信使能:1=编译 STM32072 抢连接/DI 状态 CAN 通信相关代码;0=关闭 */
#ifndef GUN_LINK_COMM_EN
#define GUN_LINK_COMM_EN 0
#endif
/***************************************充电枪相关-结束*******************************/
/***************************************调试测试相关-开始*******************************/
#ifndef MY_SHELL_EN
#define MY_SHELL_EN 1 //shell 命令功能使能
#endif
/* printf 与 shell 共用调试串口配置。
* - 取值:0/2/3/4/5/6/7(对应 E_USART_ID
* - 禁用:使用 0xFF(等效于 NULL,不进行对应串口收发配置)
*/
#ifndef DEBUG_SHELL_USART_NULL
#define DEBUG_SHELL_USART_NULL (0xFFU)
#endif
/* Shell 调试串口:不同系统硬件接线不同 */
#ifndef DEBUG_SHELL_USART_ID
#if SYSTEM_TYPE == SYSTEM_TYPE_CCU601E_D
#define DEBUG_SHELL_USART_ID (1U) /* [CCU601E_D] USART1 */
#elif SYSTEM_TYPE == SYSTEM_TYPE_CCU621_M
#define DEBUG_SHELL_USART_ID (2U) /* [CCU621_M] USART2 */
#else
#define DEBUG_SHELL_USART_ID (2U) /* 默认 */
#endif
#endif
/***************************************调试测试相关-结束*******************************/
/***************************************电表通信相关-开始*******************************/
#ifndef METER_MAX_CNT
#define METER_MAX_CNT (4) //电表最大数量
#endif
#ifndef METER_COMM_TYPE_CNT
#define METER_COMM_TYPE_CNT (3) //电表通信数据类型数量 3分别为电量、电压、电流
#endif
#ifndef METER_RECV_TIMEOUT_MS
#define METER_RECV_TIMEOUT_MS (600) //电表数据接收超时时间 600ms
#endif
#ifndef METER_COMM_MAX_CNT
#define METER_COMM_MAX_CNT (2) //单路通信口 电表最大数量 - 一路485口最大有几个电表
#endif
#ifndef METER_TIMEOUT_CNT
#define METER_TIMEOUT_CNT (20*1000) //通讯超时时间 -单位 ms
#endif
#ifndef METER_BAUD_FLAG
#define METER_BAUD_FLAG 1 //电表波特率 0-9600 1-2400
#endif
/***************************************电表通信相关-结束*******************************/
/***************************************UI显示相关-开始*******************************/
#ifndef UI_LANGUAGE_MAX_NUM
#define UI_LANGUAGE_MAX_NUM (3) //UI界面 最大支持语言数量 默认2 中文、英文
#endif
#ifndef UI_COMM_TIME_OUT_TIME
#define UI_COMM_TIME_OUT_TIME (1000 * 30) //UI界面通信超时时间 单位 ms - 65535 最大60秒
#endif
#ifndef UI_FREE_CHANGE_TIME
#define UI_FREE_CHANGE_TIME (60*5) //空闲时待机跳转屏保时间
#endif
/***************************************UI显示相关-结束*******************************/
/***************************************充电模块相关-开始*******************************/
#ifndef MDU_MAX_NUM
#define MDU_MAX_NUM 10 //最大模块数量
#endif
#ifndef MDU_PARA_READ_EN
#define MDU_PARA_READ_EN 1 //模块参数读取使能
#endif
#ifndef MDU_TEMP_READ_EN
#define MDU_TEMP_READ_EN 1 //模块温度读取使能
#endif
#ifndef MDU_UULN_EN
#define MDU_UULN_EN 0 //优优绿能模块使能 0=不编译
#endif
/***************************************充电模块相关-结束*******************************/
/***************************************平台联网相关宏定义-开始*******************************/
#ifndef MAX_BS_NUM
#define MAX_BS_NUM 2 //最大同时连接两个平台
#endif
#ifndef BS_RECV_BUF_LEN
#define BS_RECV_BUF_LEN (1024*3) //接收数据大小
#endif
/* 由于系统后续需要添加多个平台,无法实现同一份代码的兼容,因此使用宏定义预编译的方式 进行平台选择和配置。
配置原则:
(1)平台相关宏至少使能一个平台,使能平台宏跟随平台连接配置,不需要连接的平台必须关闭宏
(2)相关平台宏预编译内容包含此平台的所有变量定义、函数定义、库文件调用等,按照联网框架增加相关内容的预编译效果
(3)平台相关宏相互独立,要确保每个宏的开关不影响其他功能的使用
*/
#ifndef BS_IES_EN
#define BS_IES_EN (0) //积成平台连接使能
#endif
#ifndef BS_GWSDK_EN
#define BS_GWSDK_EN (1) //国网sdk平台连接使能
#endif
#ifndef BS_OCPP_EN
#define BS_OCPP_EN (0) //OCPP平台连接使能
#endif
/* OCPP 时间戳输出时区:0=东八区格式 +08:00;1=零时区(UTC)格式 后缀 Z。GetCurrentTime 为东八区时间 */
#ifndef OCPP_TIMESTAMP_UTC_OUTPUT
#define OCPP_TIMESTAMP_UTC_OUTPUT (1)
#endif
/* OCPP MeterValues充电数据中 是否上送需求电压 需求电流数据 (需求电压需求电流数据为非标准OCPP 1.6规定 部分客户要求上送(白俄客户))*/
#ifndef OCPP_METERVALUES_VOL_CUR_REQUEST_EN
#define OCPP_METERVALUES_VOL_CUR_REQUEST_EN (0) //
#endif
#ifndef LWIP_FTP_UPGRADE_ENABLE
#define LWIP_FTP_UPGRADE_ENABLE (0) //LwIP 网线 FTP 固件升级使能,0=关闭 1=开启
#endif
/* 4G 模块选型:0=EC200A(默认), 1=WH-GM5
根据实际硬件选型修改 FOURG_MODULE_TYPE 即可自动切换:
- EC200A:编译 ec200a_4g.c / ec200a_4g_ftp.c
- WH-GM5:编译 bs_wh_gm5.c
具体对应关系见 4g_module/4G模块AT指令配置功能说明.md */
#ifndef FOURG_MODULE_TYPE
#define FOURG_MODULE_TYPE (1) // 4G模块类型:0=EC200A, 1=WH-GM5
#endif
#if FOURG_MODULE_TYPE == 0
#ifndef EC200A_4G_EN
#define EC200A_4G_EN (1) // EC200A 4G模块使能
#endif
#ifndef WH_GM5_EN
#define WH_GM5_EN (0) // WH-GM5 4G模块使能
#endif
#elif FOURG_MODULE_TYPE == 1
#ifndef EC200A_4G_EN
#define EC200A_4G_EN (0)
#endif
#ifndef WH_GM5_EN
#define WH_GM5_EN (1) // WH-GM5 4G模块使能
#endif
#else
#error "FOURG_MODULE_TYPE invalid: must be 0 (EC200A) or 1 (WH-GM5)"
#endif
/* 平台 TLS 加密使能:1=编译基于 mbedtls 的 TLS 封装及 wss 支持;0=完全关闭,走纯明文 ws */
#ifndef BS_TLS_MBEDTLS_EN
#define BS_TLS_MBEDTLS_EN (0)
#endif
/***************************************平台联网相关宏定义-结束*******************************/
/***************************************故障信息相关-开始*******************************/
#ifndef CURR_FAULT_MAX_CNT
#define CURR_FAULT_MAX_CNT 15 //当前故障最大数量
#endif
#ifndef CURR_ALARM_MAX_CNT
#define CURR_ALARM_MAX_CNT 5 //当前告警最大数量
#endif
#ifndef HIS_FAULT_MAX_CNT
#define HIS_FAULT_MAX_CNT 300 //历史告警最大数量
#endif
#ifndef FAULT_GET_MAG_MAX_LEN
#define FAULT_GET_MAG_MAX_LEN (64) //故障信息获取最大长度
#endif
#ifndef FAULT_GUN_NOLINK_RES_TIME
#define FAULT_GUN_NOLINK_RES_TIME (5*60) //故障拔枪恢复、充电完成恢复时间 单位秒
#endif
#ifndef FUALT_INFO_PRINT_TIME
#define FUALT_INFO_PRINT_TIME (60*5) //故障信息打印周期 单位 秒
#endif
/***************************************故障信息相关-结束*******************************/
/***************************************flash存储相关-开始*******************************/
#ifndef RECORD_ZERO_SAVE
#define RECORD_ZERO_SAVE 0x7FFF //标明充电记录/告警记录为0,未存储
#endif
#ifndef RECORD_HEADER
#define RECORD_HEADER 0x55 //每条记录头字节
#endif
#ifndef FATFS_EN
#define FATFS_EN 0 // FATFS文件系统模块使能,0=不编译 1=编译
#endif
/* TF/SD 卡:diskio 驱动 + app_sdmmc / sd_cfg 等;0=整段不编译,节省 Flash/RAM */
#ifndef SD_CARD_EN
#define SD_CARD_EN 0
#endif
/* NAND Flash (外部FMC NAND) 使能:0=不编译相关驱动/初始化/测试;1=编译 */
#ifndef NAND_FLASH_EN
#define NAND_FLASH_EN 0
#endif
/* FATFS 子功能开关(原位于 BSP/app_fatfs/fatfs_features.h */
#ifndef FATFS_ENABLE_LOG
#define FATFS_ENABLE_LOG 1
#endif
#ifndef FATFS_ENABLE_CARD
#define FATFS_ENABLE_CARD 0
#endif
#ifndef FATFS_ENABLE_FAULT
#define FATFS_ENABLE_FAULT 0
#endif
#ifndef FATFS_ENABLE_ORDER
#define FATFS_ENABLE_ORDER 0
#endif
/***************************************flash存储相关-结束*******************************/
/***************************************其他功能宏定义-开始*******************************/
#ifndef TASK_RUN_PRINT_TIME
#define TASK_RUN_PRINT_TIME (60*10) //任务运行打印时间 单位秒-- 用于周期打印任务信息,证明任务运行正常
#endif
#ifndef HTTP_DEBUG_EN
#define HTTP_DEBUG_EN 0 //HTTP调试界面使能,默认使能,当不使能时HTTP相关的代码都不被编译
#endif
#ifndef TCP_DEBUG_EN
#define TCP_DEBUG_EN 1 //TCP调试服务器使能
#endif
#if TCP_DEBUG_EN
#define TCP_DEBUG_PORT 9699 //TCP服务器端口号
#define TCP_DEBUG_MAX_CLIENTS 1 //最大客户端连接数(仅支持一个客户端)
#endif
#if HTTP_DEBUG_EN
#define HTTP_DEBUG_SYSTEM_INFO (1) //系统信息显示
#define HTTP_DEBUG_SYSTEM_MONITOR (0) //线程信息监控
#define HTTP_DEBUG_CHARGING_INFO (1) //充电信息显示控制
#define HTTP_DEBUG_PARA_CFG (1) //参数配置
#define HTTP_DEBUG_FIRMWARE_UP (0) //固件升级功能
#define HTTP_DEBUG_FILE_DOWNLOAD (0) //文件交互(已禁用)
#endif
#ifndef PAPRA_SETTING_EN
#define PAPRA_SETTING_EN 0 // 网络调试助手参数读写/充电启停,0=不编译 1=编译
#endif
/* 蓝牙调试(FC41D,可选):1=编译 BLE 链路代码;0=整文件不编入有效代码,节省 Flash/RAM
* - 依赖 TCP_DEBUG_EN=1(协议/任务与 TCP 调试共用 tcp_server
* - 运行时:副板 DIP1 选物理链路 — 0=以太网 TCP 上位机,1=蓝牙上位机(仅宏为 1 时有效)
* - 无 FC41D 或未贴模组:保持 BLE_DEBUG_EN=0,拨码仅影响 TCP 模式下的预留行为 */
#ifndef BLE_DEBUG_EN
#define BLE_DEBUG_EN 1
#endif
#if (BLE_DEBUG_EN != 0) && (TCP_DEBUG_EN == 0)
#error BLE_DEBUG_EN requires TCP_DEBUG_EN
#endif
#if TCP_DEBUG_EN
#define TCP_DEBUG_PORT 9699 //TCP服务器端口号
#define TCP_DEBUG_MAX_CLIENTS 1 //最大客户端连接数(仅支持一个客户端)
#define TCP_DEBUG_SEND_INTERVAL_MS 5000 //发送hello消息间隔(毫秒)
#endif
/***************************************其他功能宏定义-结束*******************************/
#endif