Initial commit: CCU621_M firmware project with BLE debug link support.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-08 17:28:36 +08:00
commit 9ceb218f80
1597 changed files with 724159 additions and 0 deletions
+159
View File
@@ -0,0 +1,159 @@
#ifndef COLLECT_TASK_H
#define COLLECT_TASK_H
#include "publicdata/type.h"
#include "publicdata/publicdata.h"
/* CC1电压阈值*/
#define GUNLINK_CC1_VOLT_LO (3.2f)
#define GUNLINK_CC1_VOLT_HI (4.8f)
/*结构定义及变量声明*/
typedef union{ //整桩相关的遥信联合体,2bit表示一个状态,预留16bit
U32_T u32_yx_sys_data;
struct
{
U32_T yx_emergency:2; //急停状态
U32_T yx_door:2; //门禁状态
U32_T yx_water:2; //水浸状态
U32_T yx_smoke:2; //烟感状态
U32_T yx_bus_KM:2; //母联直流接触器状态
U32_T yx_spd:2; //防雷器状态
U32_T yx_KM:2; //交流输入接触器状态
U32_T yx_QF:2; //交流输入断路器状态
U32_T reserve:16; //预留,16bit
}bit_yx_sys_data;
}SYS_YX_DATA;
typedef union{ //充电枪相关的遥信联合体,2bit表示一个状态,预留18bit
U32_T u32_yx_gun_data;
struct
{
U32_T yx_gun_lock:2; //充电枪电子锁状态
U32_T yx_switch:2; //直流输出接触器状态+
U32_T yx_relief_swich:2; //泄放回路接触器状态
U32_T yx_fuse:2; //直流回路熔断器状态
U32_T yx_gun_power:2; //充电枪辅助电源状态
U32_T yx_gun_homing:2; //充电枪归位状态
U32_T reserve:20; //预留,18bit
}bit_yx_gun_data;
}GUN_YX_DATA;
typedef struct //整桩遥信、遥测结构体
{
/****遥信****/
SYS_YX_DATA yx_sys_data; //整桩相关的遥信数据
/****遥测****/
F32_T f32_yc_sys_temp1; //环境温度1
F32_T f32_yc_sys_temp2; //环境温度2
}SYS_RT_DATA;
typedef struct //充电枪遥信、遥测结构体
{
U8_T u8_gunlink_state; //充电枪连接状态,0 枪未连接,1 枪已连接
/****遥信****/
GUN_YX_DATA yx_gun_data; //充电枪相关的遥信数据
/****遥测****/
F32_T f32_yc_gun_vol_pos; //直流母线正对地电压
F32_T f32_yc_gun_vol_neg; //直流母线负对地电压
F32_T f32_yc_gun_curr; //直流回路测量电流
F32_T f32_yc_bat_vol_pos; //接触器外侧正对地电压
F32_T f32_yc_bat_vol_neg; //接触器外侧负对地电压
F32_T f32_yc_gun_temp_pos; //充电枪正极温度
F32_T f32_yc_gun_temp_neg; //充电枪负极温度
}GUN_RT_DATA;
/*充电枪遥测遥信宏定义*/
typedef enum
{
/*充电枪遥信状态宏定义*/
YX_GUN_LINK, //枪连接状态
YX_GUN_LOCK, //枪电子锁
YX_GUN_DC_KM, //直流输出接触器状态
YX_GUN_DC_KM_POS = YX_GUN_DC_KM, //CCU601E_D 兼容: 正母线
YX_GUN_DC_KM_NEG , //CCU601E_D 兼容: 负母线
YX_GUN_RELIF, //泄放继电器状态
YX_GUN_DC_FUSE, //直流熔断器状态
YX_GUN_AUXPOWER, //低压辅源状态
YX_GUN_HOMING, //充电枪归位
}E_YX_GUN;
typedef enum
{
/*充电枪遥测宏定义*/
ADC_GUN_VOLT_PLUS, //直流母线正对地电压
ADC_GUN_VOLT_MINUS, //直流母线负对地电压
ADC_GUN_MVI, //直流回路测量电流
ADC_GUN_BAT, //接触器外侧正对地电压
ADC_GUN_TEMP_PLUS, //充电枪正极温度
ADC_GUN_TEMP_MINUS, //充电枪负极温度
}E_YC_GUN;
/*整桩遥信宏定义*/
typedef enum
{
/*整桩遥信状态宏定义*/
YX_PILE_EMERGENCY, //急停
YX_PILE_DOOR, //门禁
YX_PILE_WARTER, //水浸
YX_PILE_SPD, //防雷状态
YX_PILE_SMOKE, //烟感
YX_PILE_BUS_KM, //母联接触器
YX_PILE_KM, //交流输入接触器
YX_PILE_QF, //交流输入断路器
}E_YX_SYS;
/*整桩遥测宏定义*/
typedef enum
{
/*整桩遥测宏定义*/
ADC_PILE_TEMP1, //桩温1
ADC_PILE_TEMP2, //桩温2
}E_YC_SYS;
#define LED_DO_NUM (4) //LED DO控制数量
/*------ Exported struct(结构体定义) --------------------*/
typedef enum
{
E_ADC_TYPE_GUN_LINK_1=0, //0 A枪连接;
E_ADC_TYPE_GUN_LINK_2, //1 B枪连接;
E_ADC_TYPE_GUN_TEMP_A1, //2 A枪温+
E_ADC_TYPE_GUN_TEMP_A2, //3 A枪温-
E_ADC_TYPE_GUN_TEMP_B1, //4 B枪温正;
E_ADC_TYPE_GUN_TEMP_B2, //5 B枪温-
E_ADC_TYPE_FAN_IN_TEMP, //6 进风口温度
E_ADC_TYPE_FAN_OUT_TEMP, //7 出风口温度
E_ADC_TYPE_GUN_DC_VOL_A1, //8 A枪DC 正极电压采集值
E_ADC_TYPE_GUN_DC_VOL_A2, //9 A枪DC 负极电压采集值
E_ADC_TYPE_GUN_DC_VOL_B1, //10 B枪DC 正极电压采集值
E_ADC_TYPE_GUN_DC_VOL_B2, //11 B枪DC 负极电压采集值
E_ADC_TYPE_GUN_MVI_A, //12 A枪直流回路测量电流(待对接)
E_ADC_TYPE_GUN_MVI_B, //13 B枪直流回路测量电流(待对接)
E_ADC_TYPE_GUN_BAT_VOL_A1, //14 A枪接触器外侧正对地电压采集值
E_ADC_TYPE_GUN_BAT_VOL_B1, //16 B枪接触器外侧正对地电压采集值
}E_ADC_TYPE;
/*------ Exported function prototypes (函数声明) -------*/
U8_T u8_get_yxyc_data(SYS_RT_DATA *pile_data ,GUN_RT_DATA *gun_data ,U8_T u8_gunNo); //获取数据采集结构体
U8_T u8_get_gun_yx_data(E_YX_GUN gun_yx_type ,U8_T u8_gunNo); //获取枪遥信遥测数据
F32_T f32_get_gun_yc_data(E_YC_GUN gun_yc_type ,U8_T u8_gunNo); //获取枪adc采集数据
U8_T u8_get_sys_yx_data(E_YX_SYS sys_yx_type); //获取桩遥信遥测数据
F32_T f32_get_sys_yc_data(E_YC_SYS sys_yc_type); //获取桩adc采集数据
U8_T u8_get_gunLink(U8_T u8_gunNo); //获取枪连接状态
float f_get_gun_data(E_ADC_TYPE e_type);
void v_collect_task(void *arg);
U8_T u8_coll_get_gun_num(void);
#endif