瀏覽代碼

加入powerdown指令

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 3 年之前
父節點
當前提交
857fab46f7
共有 2 個文件被更改,包括 12 次插入0 次删除
  1. 11 0
      Application/app/bms_message.c
  2. 1 0
      Application/app/protocol.h

+ 11 - 0
Application/app/bms_message.c

@@ -276,6 +276,17 @@ void process_bms_message(can_frame_t *frame, int len){
 			protocol_send_bms_info(frame->head.can_addr, frame->key, event, sizeof(event_record_t) * num + 1);
 			break;
 		}
+		case CAN_KEY_POWERDOWN: {
+			if (len < 4) {
+				return;
+			}
+			/*magic 0xFF005AA5*/
+			if (frame->data[0] == 0xA5 && frame->data[1] == 0x5A && frame->data[2] == 0x00 && frame->data[3] == 0xFF) {
+				bms_work_mode_set(WORK_MODE_PCBA_TEST, 1);
+				system_power_down();
+			}
+			break;
+		}
 		default:
 			break;
 	}

+ 1 - 0
Application/app/protocol.h

@@ -163,6 +163,7 @@ typedef struct {
 
 #define CAN_KEY_GET_EVENT 0xac /*»ñȡʼþÐÅÏ¢*/
 
+#define CAN_KEY_POWERDOWN 0xad /* power down, magic:0xFF005AA5*/
 
 #define CAN_KEY_IAP_ENTER   0xF0
 #define CAN_KEY_IAP_BEGIN   0xF1