Quellcode durchsuchen

增加转发ID为0x635和0x615,由MC和PBU发送给CDL的数据,用于实现TE的升级。

dail.zhou vor 5 Jahren
Ursprung
Commit
d466f82730

+ 17 - 4
MOTINOVA_CDL_App/Inc/can.h

@@ -60,6 +60,8 @@ extern CAN_HandleTypeDef hcan;
 #define ID_MC_TO_HMI          0x714	
 #define ID_MC_TO_CDL          0x715	
 
+#define ID_MC_TE_TO_CDL       0x615
+	 
 #define ID_BMS_BC             0x720
 #define ID_BMS_TO_MC          0x721	
 #define ID_BMS_TO_PBU         0x723	
@@ -71,6 +73,8 @@ extern CAN_HandleTypeDef hcan;
 #define ID_PBU_TO_BMS         0x732	
 #define ID_PBU_TO_HMI         0x734	
 #define ID_PBU_TO_CDL         0x735
+
+#define ID_PBU_TE_TO_CDL      0x635
 	 
 #define ID_HMI_BC             0x740
 #define ID_HMI_TO_MC          0x741	
@@ -84,11 +88,14 @@ extern CAN_HandleTypeDef hcan;
 #define ID_CDL_TO_PBU         0x753	
 #define ID_CDL_TO_HMI         0x754	 
 
-#define ID_TO_CDL_FILTER       0x705
-#define ID_TO_CDL_MASK         0x70F
+#define ID_CDL_TO_MC_TE       0x651
+#define ID_CDL_TO_PBU_TE      0x653
+
+#define ID_TO_CDL_FILTER      (uint16_t)(0x705 & 0x605)
+#define ID_TO_CDL_MASK        (uint16_t)(0x70F & 0x60F)
 
-#define ID_BC_FILTER          0x700
-#define ID_BC_MASK            0x70F
+#define ID_BC_FILTER          (uint16_t)(0x700 & 0x700)
+#define ID_BC_MASK            (uint16_t)(0x70F & 0x60F)
 
 typedef struct
 {
@@ -117,11 +124,17 @@ extern CAN_Buf_TypeDef CAN_RxBuf_Struct_MC_BC;
 extern uint8_t CAN_RxBuf_MC_TO_CDL[BUFF_SIZE];
 extern CAN_Buf_TypeDef CAN_RxBuf_Struct_MC_TO_CDL;
 
+extern uint8_t CAN_RxBuf_MC_TE_TO_CDL[BUFF_SIZE];
+extern CAN_Buf_TypeDef CAN_RxBuf_Struct_MC_TE_TO_CDL;
+
 extern uint8_t CAN_RxBuf_PBU_BC[BUFF_SIZE];
 extern CAN_Buf_TypeDef CAN_RxBuf_Struct_PBU_BC;
 extern uint8_t CAN_RxBuf_PBU_TO_CDL[BUFF_SIZE];
 extern CAN_Buf_TypeDef CAN_RxBuf_Struct_PBU_TO_CDL;
 
+extern uint8_t CAN_RxBuf_PBU_TE_TO_CDL[BUFF_SIZE];
+extern CAN_Buf_TypeDef CAN_RxBuf_Struct_PBU_TE_TO_CDL;
+
 extern uint8_t CAN_RxBuf_BMS_BC[BUFF_SIZE];
 extern CAN_Buf_TypeDef CAN_RxBuf_Struct_BMS_BC;
 extern uint8_t CAN_RxBuf_BMS_TO_CDL[BUFF_SIZE];

BIN
MOTINOVA_CDL_App/MDK-ARM/bin/MOTINOVA_CDL_APP_1r0r1_20180902.bin


+ 39 - 17
MOTINOVA_CDL_App/Src/can.c

@@ -46,25 +46,31 @@
 CanTxMsgTypeDef CAN_TxMessaage;
 CanRxMsgTypeDef CAN_RxMessaage;
 
- uint8_t CAN_RxBuf_MC_BC[BUFF_SIZE];
- CAN_Buf_TypeDef CAN_RxBuf_Struct_MC_BC = {0,255,0,0,0,0,CAN_RxBuf_MC_BC,0,FALSE};
- uint8_t CAN_RxBuf_MC_TO_CDL[BUFF_SIZE];
- CAN_Buf_TypeDef CAN_RxBuf_Struct_MC_TO_CDL = {0,255,0,0,0,0,CAN_RxBuf_MC_TO_CDL,0,FALSE};
+uint8_t CAN_RxBuf_MC_BC[BUFF_SIZE];
+CAN_Buf_TypeDef CAN_RxBuf_Struct_MC_BC = {0,255,0,0,0,0,CAN_RxBuf_MC_BC,0,FALSE};
+uint8_t CAN_RxBuf_MC_TO_CDL[BUFF_SIZE];
+CAN_Buf_TypeDef CAN_RxBuf_Struct_MC_TO_CDL = {0,255,0,0,0,0,CAN_RxBuf_MC_TO_CDL,0,FALSE};
 
- uint8_t CAN_RxBuf_PBU_BC[BUFF_SIZE];
- CAN_Buf_TypeDef CAN_RxBuf_Struct_PBU_BC = {0,255,0,0,0,0,CAN_RxBuf_PBU_BC,0,FALSE};
- uint8_t CAN_RxBuf_PBU_TO_CDL[BUFF_SIZE];
- CAN_Buf_TypeDef CAN_RxBuf_Struct_PBU_TO_CDL = {0,255,0,0,0,0,CAN_RxBuf_PBU_TO_CDL,0,FALSE};
+uint8_t CAN_RxBuf_MC_TE_TO_CDL[BUFF_SIZE];
+CAN_Buf_TypeDef CAN_RxBuf_Struct_MC_TE_TO_CDL = {0,255,0,0,0,0,CAN_RxBuf_MC_TO_CDL,0,FALSE};
 
- uint8_t CAN_RxBuf_BMS_BC[BUFF_SIZE];
- CAN_Buf_TypeDef CAN_RxBuf_Struct_BMS_BC = {0,255,0,0,0,0,CAN_RxBuf_BMS_BC,0,FALSE};
- uint8_t CAN_RxBuf_BMS_TO_CDL[BUFF_SIZE];
- CAN_Buf_TypeDef CAN_RxBuf_Struct_BMS_TO_CDL = {0,255,0,0,0,0,CAN_RxBuf_BMS_TO_CDL,0,FALSE};
+uint8_t CAN_RxBuf_PBU_BC[BUFF_SIZE];
+CAN_Buf_TypeDef CAN_RxBuf_Struct_PBU_BC = {0,255,0,0,0,0,CAN_RxBuf_PBU_BC,0,FALSE};
+uint8_t CAN_RxBuf_PBU_TO_CDL[BUFF_SIZE];
+CAN_Buf_TypeDef CAN_RxBuf_Struct_PBU_TO_CDL = {0,255,0,0,0,0,CAN_RxBuf_PBU_TO_CDL,0,FALSE};
 
- uint8_t CAN_RxBuf_HMI_BC[BUFF_SIZE];
- CAN_Buf_TypeDef CAN_RxBuf_Struct_HMI_BC = {0,255,0,0,0,0,CAN_RxBuf_HMI_BC,0,FALSE};
- uint8_t CAN_RxBuf_HMI_TO_CDL[BUFF_SIZE];
- CAN_Buf_TypeDef CAN_RxBuf_Struct_HMI_TO_CDL = {0,255,0,0,0,0,CAN_RxBuf_HMI_TO_CDL,0,FALSE};
+uint8_t CAN_RxBuf_PBU_TE_TO_CDL[BUFF_SIZE];
+CAN_Buf_TypeDef CAN_RxBuf_Struct_PBU_TE_TO_CDL = {0,255,0,0,0,0,CAN_RxBuf_PBU_TO_CDL,0,FALSE};
+
+uint8_t CAN_RxBuf_BMS_BC[BUFF_SIZE];
+CAN_Buf_TypeDef CAN_RxBuf_Struct_BMS_BC = {0,255,0,0,0,0,CAN_RxBuf_BMS_BC,0,FALSE};
+uint8_t CAN_RxBuf_BMS_TO_CDL[BUFF_SIZE];
+CAN_Buf_TypeDef CAN_RxBuf_Struct_BMS_TO_CDL = {0,255,0,0,0,0,CAN_RxBuf_BMS_TO_CDL,0,FALSE};
+
+uint8_t CAN_RxBuf_HMI_BC[BUFF_SIZE];
+CAN_Buf_TypeDef CAN_RxBuf_Struct_HMI_BC = {0,255,0,0,0,0,CAN_RxBuf_HMI_BC,0,FALSE};
+uint8_t CAN_RxBuf_HMI_TO_CDL[BUFF_SIZE];
+CAN_Buf_TypeDef CAN_RxBuf_Struct_HMI_TO_CDL = {0,255,0,0,0,0,CAN_RxBuf_HMI_TO_CDL,0,FALSE};
 /* USER CODE END 0 */
 
 CAN_HandleTypeDef hcan;
@@ -196,6 +202,14 @@ void HAL_CAN_RxCpltCallback(CAN_HandleTypeDef *CanHandle)
 			CAN_Rx_ISR(&CAN_RxBuf_Struct_MC_TO_CDL,CanHandle->pRxMsg->DLC);
 			break;
 		}
+		//MC_TE发送给CDL的数据
+		case ID_MC_TE_TO_CDL:
+		{
+		  CAN_RxBuf_Struct_MC_TE_TO_CDL.ucBufID = CanHandle->pRxMsg->StdId;
+			CAN_Rx_ISR(&CAN_RxBuf_Struct_MC_TE_TO_CDL,CanHandle->pRxMsg->DLC);
+			break;
+		}
+		
 		//PBU广播的数据
 		case ID_PBU_BC:
 		{
@@ -210,6 +224,14 @@ void HAL_CAN_RxCpltCallback(CAN_HandleTypeDef *CanHandle)
 			CAN_Rx_ISR(&CAN_RxBuf_Struct_PBU_TO_CDL,CanHandle->pRxMsg->DLC);
 			break;
 		}
+		//PBU_TE发送给CDL的数据
+		case ID_PBU_TE_TO_CDL:
+		{
+		  CAN_RxBuf_Struct_PBU_TE_TO_CDL.ucBufID = CanHandle->pRxMsg->StdId;
+			CAN_Rx_ISR(&CAN_RxBuf_Struct_PBU_TE_TO_CDL,CanHandle->pRxMsg->DLC);
+			break;
+		}
+		
 		//BMS广播的数据
 		case ID_BMS_BC:
 		{
@@ -297,7 +319,7 @@ void CANFilterConfig_Scale32_IdMask_StandardIdOnly(void)
 {
   CAN_FilterConfTypeDef  sFilterConfig;  
   
-	//设置过滤器组0,指定接收发送给PBU的数据
+	//设置过滤器组0,指定接收发送给CDL的数据
   sFilterConfig.FilterNumber = 0;             
   sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;   
   sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT; 

+ 5 - 0
MOTINOVA_CDL_App/Src/main.c

@@ -138,10 +138,15 @@ int main(void)
 		//CANÊý¾Ý½âÎö
 		CAN_RxData_Process(&CAN_RxBuf_Struct_MC_BC, 200);
 		CAN_RxData_Process(&CAN_RxBuf_Struct_MC_TO_CDL, 200);
+		CAN_RxData_Process(&CAN_RxBuf_Struct_MC_TE_TO_CDL, 200);
+		
 		CAN_RxData_Process(&CAN_RxBuf_Struct_PBU_BC, 200);
 		CAN_RxData_Process(&CAN_RxBuf_Struct_PBU_TO_CDL, 200);
+		CAN_RxData_Process(&CAN_RxBuf_Struct_PBU_TE_TO_CDL, 200);
+		
 		CAN_RxData_Process(&CAN_RxBuf_Struct_BMS_BC, 200);
 		CAN_RxData_Process(&CAN_RxBuf_Struct_BMS_TO_CDL, 200);
+		
 		CAN_RxData_Process(&CAN_RxBuf_Struct_HMI_BC, 200);
 		CAN_RxData_Process(&CAN_RxBuf_Struct_HMI_TO_CDL, 200);
 		

+ 1 - 1
MOTINOVA_CDL_App/Src/uart_process.c

@@ -51,7 +51,7 @@ static void UART_DataProcess(uint8_t Mode, uint16_t Command, uint8_t* Data)
 			memcpy(InputKey, Data + 12, 8);
 			CheckCodeCal(InputCode, InputKey, OutputCode);
 			memcpy(SendData, OutputCode, 12);
-			memcpy(SendData + 12, (uint8_t*)"V1.0.1_20190902", 15);
+			memcpy(SendData + 12, (uint8_t*)"V1.1.0_20191012", 15);
 			
 			SendCmdData(&UART_TxBuff_Struct3, MODE_REPORT, 0x551B, SendData);
 			break;