1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #ifndef __SOFT_HEREWIN_H
- #define __SOFT_HEREWIN_H
- #include "common.h"
- //报警信息、警告信息
- //B15:放电过流 B14:电池损坏 B13: B12:电池低温(充电/放电) B11:电池高温(充电/放电) B10:电池(单体)欠压
- //B9: 电池(单体)过压 B8: B7: B6: B5: B4: B3: B2: B1: B0: 充电过流
- #pragma pack(1)
- typedef struct
- {
- char battery_temp[3]; //每个电芯温度°C
- uint16_t battery_vol[14]; //每个电芯电压 0.001V
- uint16_t alarm_info; //报警信息
- uint16_t warn_info; //警告信息
- uint16_t total_vol; //总电压 0.01V
- uint16_t tolal_ele; //总电流 0.01A
- uint8_t SOC_info; //剩余电量%
- uint8_t SOH_info; //健康状态%
- uint8_t SOP_info; //功率状态%
- uint32_t serial_number; //序列号
- uint16_t hard_version; //硬件版本
- uint16_t soft_version; //软件版本
- uint8_t battery_num; //电芯个数
- uint16_t circulation_num; //循环次数
-
- //充电请求相关参数
- uint16_t re_vol; //请求电压
- uint16_t re_ele; //请求电流
- uint16_t max_vol; //单体最大电压
- uint16_t power_status; //充电状态
- bool get_temp_flag; //温度是单独一包,并且有偏移,没获取到温度之前会显示负数
- }herewin_bms;
- #pragma pack()
- extern herewin_bms herewin_info;
- extern Connect_check Herewin_Link;
- #define HEREWIN_HEART_ID 0x004300F0 //心跳数据包
- #define HEREWIN_VOL_ID 0x008400F0 //单体电压包
- #define HEREWIN_TEM_ID 0x008200F0 //单体温度包
- #define HEREWIN_SEARCH_ID 0x008000F0 //定值查询
- #define HEREWIN_CIRCULATION_ID 0x008600F0 //循环次数查询
- void HerewinCanRecvHookFunction(uint32_t cellCanID, uint8_t data[], uint8_t len);
- void send_msg_to_herewin(void);
- #endif
|