소스 검색

fixup charge out detect

Signed-off-by: FuangCao <cavan.cao@foxmail.com>
FuangCao 5 년 전
부모
커밋
04a946f55b
6개의 변경된 파일21개의 추가작업 그리고 6개의 파일을 삭제
  1. 1 1
      Project/version.txt
  2. 0 2
      Source/app_rs485_1.c
  3. 15 0
      Source/app_rs485_1.h
  4. 3 1
      Source/shark_charge.c
  5. 1 1
      Source/shark_charge.h
  6. 1 1
      Source/sw_build_info.h

+ 1 - 1
Project/version.txt

@@ -1 +1 @@
-PS100XX_V11_11182018
+PS100XX_V11_11182029

+ 0 - 2
Source/app_rs485_1.c

@@ -158,8 +158,6 @@ static int8_t Handle_Sub_BMS_CMD_1(SUB_BMS_INFO *info, const u8 *buff, u8 length
 		{
 			memset(&info->sub_bms_cmd,0x00,sizeof(info->sub_bms_cmd));
 
-			println("pending: %x", info->update_mask);
-
 			if (info->update_mask != 0) {
 				if ((info->update_mask & SHARK_BATT_INFO_VERTION) != 0) {
 					info->sub_bms_cmd.operate = OP_READ_INFO;

+ 15 - 0
Source/app_rs485_1.h

@@ -465,5 +465,20 @@ static inline u8 shark_battery_get_rs485_state(SUB_BMS_INFO *info)
 	return info->connected ? 3 : 2;
 }
 
+static inline shark_bool shark_battery_is_discharge(SUB_BMS_INFO *info)
+{
+	return (info->packet_common.bms_status & ST_DISCHRG_CUR) != 0;
+}
+
+static inline shark_bool shark_battery_is_discharge1(void)
+{
+	return shark_battery_is_discharge(&sub_bms_info_1);
+}
+
+static inline shark_bool shark_battery_is_discharge2(void)
+{
+	return shark_battery_is_discharge(&sub_bms_info_2);
+}
+
 #endif
 

+ 3 - 1
Source/shark_charge.c

@@ -93,7 +93,9 @@ void shark_charge_poll(void)
 				break;
 
 			case CB_BAT1_BAT2_PARRALLEL:
-				if (sub_bms_info_1.packet_common.charge_flag == 0 || sub_bms_info_2.packet_common.charge_flag == 0) {
+				if (sub_bms_info_1.packet_common.charge_flag == 0 && sub_bms_info_2.packet_common.charge_flag == 0) {
+					shark_charger_disable();
+				} else if (shark_battery_is_discharge1() || shark_battery_is_discharge2()) {
 					shark_charger_disable();
 				}
 				break;

+ 1 - 1
Source/shark_charge.h

@@ -4,7 +4,7 @@
 #include "common.h"
 
 #define SHARK_CHG_DEBOUNCE			500
-#define SHARK_CHG_TIME_MIN			5000
+#define SHARK_CHG_TIME_MIN			10000
 #define SHARK_CHG_TIME_MAX			60000
 
 #define GPIO_PORT_CHG_DET			GPIOC

+ 1 - 1
Source/sw_build_info.h

@@ -1,3 +1,3 @@
 #pragma once
 
-#define CONFIG_VERSION "PS100XX_V11_11182018"
+#define CONFIG_VERSION "PS100XX_V11_11182029"