#ifndef DATA_DEFINE_H #define DATA_DEFINE_H #include "app_define.h" typedef struct __system_param_xml_ { quint8 dev_addr; quint16 save_time_interval; //数据保存间隔 quint8 tcp_type; //0-client 1-server quint16 server_port; QString server_ip; }SYSTEM_PARAM_XML; #pragma pack(1) typedef struct __batt_pack_param_set_ { quint8 pack_type; //0-other 1-halo quint8 pack_devaddr; quint16 pack_errMask1; quint16 pack_errMask2; quint8 pack_Key[16]; //secret key quint8 reserved[10]; quint16 crc16; }PACK_PARAM; typedef struct _dis_test_param_ { quint16 dis_time; quint16 dis_curr; quint16 dis_cap; quint16 sum_vol_low; quint16 cell_vol_low; quint16 dis_soc; //quint16 cell_vol_diff; //quint16 temp_high; //quint16 dis_constvol_EN; //放电恒压 //quint16 dis_curr_end; }DIS_TEST_PARAM; typedef struct _chg_test_param_ { quint16 chg_time; quint16 chg_curr; quint16 chg_cap; quint16 sum_vol_high; quint16 cell_vol_high; quint16 chg_soc; //quint16 cell_vol_diff; //quint16 temp_high; //quint16 chg_constvol_EN; //放电恒压 //quint16 chg_curr_end; }CHG_TEST_PARAM; typedef struct __test_param_ { //quint8 batt_packID[48]; //quint16 batt_pack_type; //哈啰/小遛/美团.../其它 //quint16 dev_addr; //quint16 batt_pack_addr; quint16 test_type; //放电/充电 quint16 union_test_EN; //是否组合测试 //quint16 save_time_interval; //数据保存间隔 quint16 cell_vol_diff; quint16 temp_high; quint16 constvol_EN; //恒压阶段:开启/禁止 quint16 curr_end; //恒压截止电流 DIS_TEST_PARAM disParam; CHG_TEST_PARAM chgParam; quint16 crc16; }TEST_PARAM; typedef struct _pack_passthrough_state_ { quint8 execing; //执行启动或停止中,禁止透传 quint8 passing; //透传中,禁止工作 }PASSTHROUGH_ST; //============================================================================ typedef struct _icon_state_ { quint8 usbState; quint8 bleState; quint8 wifiState; quint8 slaveState; }ICON_STATE; typedef struct _ct_date_time_ { quint8 year; quint8 month; quint8 day; quint8 hour; quint8 minute; quint8 second; }CT_DATE_TIME; typedef struct _test_time_ { quint8 hour; quint8 minute; quint8 second; }TEST_TIME; typedef struct _test_state_data_tag_ { qint32 testCap; //容量 qint32 testCapPS; //每秒容量 TEST_TIME testTime; //测试时间 quint8 workState; //状态 quint8 alarmState; //告警状态 quint8 saveDataEn; //保存数据使能位 quint8 startState; //启动状态:启动失败原因 }TEST_STATE_DATA; //============================================================================ typedef struct _max_min_vol_ { quint16 max_vol_value; quint16 max_vol_index; quint16 min_vol_value; quint16 min_vol_index; }CELL_MAX_MIN; typedef struct _fbo_data_head_start_ { CT_DATE_TIME TestStartTime; //放电开始的时间 quint8 Device; //仪表类型 quint8 DataVersion; //数据版本 quint8 DataType; //数据类型;0xFD表示放电,0xFC表示充电 quint8 HourRate; //小时率 quint8 SaveInterval; //采集间隔 quint8 MonomerVol; //单体电压类型 quint16 STDCap; //标称容量 quint16 TestCur; //测试电流 quint16 MVLLimit; //单体下限 quint16 SumVLLimit; //组端下限 quint16 BattSum; //单体数量 quint16 BattGroup; //电池组数 quint16 MVLLimitCount; //单体下限个数 }FBO_DATA_HEAD_START; typedef struct _fbo_data_head_stop_ { TEST_TIME TestTimeLong; //测试时长 quint8 StopType; //结束方式 quint8 BlockSum; //保存数据的总块数 quint8 StandBy; //保留备用 quint16 SMaxIndex[4]; //最高单体索引 quint16 SMinIndex[4]; //最低单体索引 quint16 SMaxVol[4]; //最高单体 quint16 SMinVol[4]; //最低单体 quint16 TestCap; //测试容量 }FBO_DATA_HEAD_STOP; typedef struct _test_data_info_ { FBO_DATA_HEAD_START fbo_data_head_start; FBO_DATA_HEAD_STOP fbo_data_head_stop; }TEST_DATA_INFO; #define FBO_DATA_HEAD_START_LENTH sizeof(FBO_DATA_HEAD_START) #define FBO_DATA_HEAD_STOP_LENTH sizeof(FBO_DATA_HEAD_STOP) #define FBO_DATA_HEAD_INFO_LENTH 256 typedef struct _typetag_ { quint8 TypeTag0; quint8 TypeTag1; quint8 TypeTag2; quint8 TypeTag3; }Data_Type; #define MONOMER_NUM_MAX 300 //单体总数 #define CELL_TEMP_NUM_MAX 100 //cell temp num max typedef struct _fbo_data_ { Data_Type m_DataType; quint16 crc16; TEST_TIME m_TestTime; quint8 BattGroup; quint16 BattSum; quint16 OnlineVol; quint16 SumVoltage; quint16 SumCurrent; quint16 SubCurrent[4]; quint16 AllCap; quint16 SubCap[4]; quint16 SingleVol[MONOMER_NUM_MAX]; }FBO_DATA; #pragma pack() #endif // DATA_DEFINE_H