|
|
@@ -14,41 +14,46 @@
|
|
|
* xxx_under_temp: 表示过低温(温度过低)
|
|
|
*/
|
|
|
typedef struct {
|
|
|
- uint32_t charger_over_voltage:1;
|
|
|
- uint32_t discharger_lower_voltage:1; //关闭大电流输出
|
|
|
- uint32_t small_current_short:1;
|
|
|
- uint32_t load_current_short:1; //大电短路保护
|
|
|
+ union {
|
|
|
+ uint32_t i_status;
|
|
|
+ struct {
|
|
|
+ uint32_t charger_over_voltage:1;
|
|
|
+ uint32_t discharger_lower_voltage:1; //关闭大电流输出
|
|
|
+ uint32_t small_current_short:1;
|
|
|
+ uint32_t load_current_short:1; //大电短路保护
|
|
|
|
|
|
- uint32_t charger_current:1; //不需要
|
|
|
- uint32_t discharger_current:1;
|
|
|
- uint32_t charger_over_current:1;
|
|
|
- uint32_t discharger_over_current:1;
|
|
|
+ uint32_t charger_current:1; //不需要
|
|
|
+ uint32_t discharger_current:1;
|
|
|
+ uint32_t charger_over_current:1;
|
|
|
+ uint32_t discharger_over_current:1;
|
|
|
|
|
|
- uint32_t res1 :1;//ST_TOTAL_CHRG
|
|
|
- uint32_t charger_cells_vol_diff_over:1; //充电cell的电压差异超过阈值
|
|
|
- uint32_t power_save:1;
|
|
|
- uint32_t powerdown_lower_voltage:1;
|
|
|
+ uint32_t res1 :1;//ST_TOTAL_CHRG
|
|
|
+ uint32_t charger_cells_vol_diff_over:1; //充电cell的电压差异超过阈值
|
|
|
+ uint32_t power_save:1;
|
|
|
+ uint32_t powerdown_lower_voltage:1;
|
|
|
|
|
|
- uint32_t charger_lower_temp:1;
|
|
|
- uint32_t discharger_lower_temp:1;
|
|
|
- uint32_t charger_over_temp:1;
|
|
|
- uint32_t discharger_over_temp:1;
|
|
|
+ uint32_t charger_lower_temp:1;
|
|
|
+ uint32_t discharger_lower_temp:1;
|
|
|
+ uint32_t charger_over_temp:1;
|
|
|
+ uint32_t discharger_over_temp:1;
|
|
|
|
|
|
- uint32_t sigle_cell_lower_voltage:1; //关闭大电流输出
|
|
|
- uint32_t sigle_cell_over_voltage:1;
|
|
|
- uint32_t discharger_shutpower_voltage:1; //关闭动力
|
|
|
- uint32_t discharger_cell_shutpower_voltage:1; //关闭动力
|
|
|
+ uint32_t sigle_cell_lower_voltage:1; //关闭大电流输出
|
|
|
+ uint32_t sigle_cell_over_voltage:1;
|
|
|
+ uint32_t discharger_shutpower_voltage:1; //关闭动力
|
|
|
+ uint32_t discharger_cell_shutpower_voltage:1; //关闭动力
|
|
|
|
|
|
- uint32_t hall_is_detected:1;
|
|
|
- uint32_t lower_temp_deny_charger:1;
|
|
|
- uint32_t lower_temp_deny_discharger:1;
|
|
|
- uint32_t over_temp_deny_charger:1;
|
|
|
- uint32_t over_temp_deny_discharger:1;
|
|
|
-
|
|
|
- uint32_t is_work_temp_normal:1;
|
|
|
- uint32_t small_current_real_short:1; //真实短路
|
|
|
+ uint32_t hall_is_detected:1;
|
|
|
+ uint32_t lower_temp_deny_charger:1;
|
|
|
+ uint32_t lower_temp_deny_discharger:1;
|
|
|
+ uint32_t over_temp_deny_charger:1;
|
|
|
+ uint32_t over_temp_deny_discharger:1;
|
|
|
|
|
|
+ uint32_t is_work_temp_normal:1;
|
|
|
+ uint32_t small_current_real_short:1; //真实短路
|
|
|
+ };
|
|
|
+ };
|
|
|
uint8_t internal_resistance[CELLS_NUM]; //cell's internal resistance
|
|
|
+ uint32_t pd_time;
|
|
|
}bms_health_t;
|
|
|
|
|
|
typedef struct {
|