|
@@ -179,6 +179,8 @@ static void Main_Task(void* arg)
|
|
|
NetSocDisplay(LED_SOC_2,LED_TURN_OFF);
|
|
|
NetSocDisplay(LED_SOC_3,LED_TURN_OFF);
|
|
|
FaultDisplay(LED_TURN_OFF);
|
|
|
+ uint32_t bitmap;
|
|
|
+ uint32_t mask;
|
|
|
NVIC_EnableIRQ(PadWakeup1_IRQn);
|
|
|
slpManSetPmuSleepMode(true,SLP_HIB_STATE,false);
|
|
|
slpManApplyPlatVoteHandle("MainSlp",&MainSlpHandler);
|
|
@@ -289,11 +291,15 @@ static void Main_Task(void* arg)
|
|
|
printf("Main_Sleep\n");
|
|
|
#endif
|
|
|
FaultDisplay(LED_TURN_ON);
|
|
|
- slpManDeepSlpTimerStart(deepslpTimerID,300000);
|
|
|
+ slpManGetDrvBitmap(&bitmap,&mask);
|
|
|
+ #ifdef USING_PRINTF
|
|
|
+ printf("which bitmap can go check :%x,%x \n",bitmap,mask);
|
|
|
+ #endif
|
|
|
slpManSlpState_t slpstate = slpManPlatGetSlpState();
|
|
|
#ifdef USING_PRINTF
|
|
|
printf("which slpstate can go now :%d \n",slpstate);
|
|
|
#endif
|
|
|
+ slpManDeepSlpTimerStart(deepslpTimerID,300000);
|
|
|
while(1)
|
|
|
{
|
|
|
osDelay(30000/portTICK_PERIOD_MS);
|
|
@@ -398,7 +404,7 @@ uint8_t* Uart_Receive_func(Uart_Receive_Type Uart_Receive_Msg,uint8_t* Uart_Rece
|
|
|
}
|
|
|
printf("crcchk:%x,%x\n ",CRC_chk_buffer,CRC_Rece_buffer);
|
|
|
#endif
|
|
|
- memset(Uart_Rece_buffer,0xff,Data_Len);
|
|
|
+ memset(Uart_Rece_buffer,0x00,Data_Len);
|
|
|
return Uart_Rece_buffer;
|
|
|
}
|
|
|
}
|
|
@@ -427,8 +433,8 @@ static void Uart_Task(void* arg)
|
|
|
Uart_Receive_Type Uart_Receive_Msg;
|
|
|
memset(&battbuffer[0],0x00,100);
|
|
|
PROC_UART_STATE_SWITCH(PROCESS_UART_STATE_IDLE);
|
|
|
- slpManApplyPlatVoteHandle("UARTSLP",&UartSlpHandler);
|
|
|
- slpManPlatVoteDisableSleep(UartSlpHandler, SLP_SLP2_STATE);
|
|
|
+ //slpManApplyPlatVoteHandle("UARTSLP",&UartSlpHandler);
|
|
|
+ //slpManPlatVoteDisableSleep(UartSlpHandler, SLP_SLP2_STATE);
|
|
|
Uart_Receive_Msg.Bms_Address = 0x01;
|
|
|
Uart_Receive_Msg.Bms_Read_Funcode = 0x03;
|
|
|
uint8_t *Uart_Rece_buffer = NULL;
|
|
@@ -440,18 +446,19 @@ static void Uart_Task(void* arg)
|
|
|
{
|
|
|
case PROCESS_UART_STATE_IDLE:
|
|
|
{
|
|
|
- NetSocDisplay(LED_SOC_1,LED_TURN_OFF);
|
|
|
+ NetSocDisplay(LED_SOC_1,LED_TURN_OFF);
|
|
|
+ osDelay(10);
|
|
|
Rece_index = 0;
|
|
|
break;
|
|
|
}
|
|
|
case PROCESS_UART_STATE_CHECK:
|
|
|
{
|
|
|
- Uart_Rece_buffer = (uint8_t *)malloc(Uart_Rece_LEN);
|
|
|
Uart_Receive_Msg.Reg_Begin_H = 0x00;
|
|
|
Uart_Receive_Msg.Reg_Begin_L= 0x02+Batt_Cell_Num;
|
|
|
Uart_Receive_Msg.Reg_Num_H = 0x00;
|
|
|
Uart_Receive_Msg.Reg_Num_L = 0x01;
|
|
|
Data_Len = Uart_Receive_Msg.Reg_Num_L*2+5;
|
|
|
+ Uart_Rece_buffer = (uint8_t *)malloc(Data_Len);
|
|
|
memset(Uart_Rece_buffer,0x00,Data_Len);
|
|
|
Uart_Rece_buffer = Uart_Receive_func(Uart_Receive_Msg,Uart_Rece_buffer,Data_Len);
|
|
|
Uart_Rece_BattI = *(Uart_Rece_buffer+3+0)<<8 |*(Uart_Rece_buffer+3+1);
|
|
@@ -579,7 +586,10 @@ static void Uart_Task(void* arg)
|
|
|
}
|
|
|
case PROCESS_UART_STATE_SLEEP:
|
|
|
{
|
|
|
- slpManPlatVoteEnableSleep(UartSlpHandler, SLP_SLP2_STATE);
|
|
|
+ //slpManPlatVoteEnableSleep(UartSlpHandler, SLP_SLP2_STATE);
|
|
|
+ #ifdef USING_PRINTF
|
|
|
+ printf("PROCESS_UART_STATE_SLEEP\n");
|
|
|
+ #endif
|
|
|
while(1)
|
|
|
{
|
|
|
osDelay(30000/portTICK_PERIOD_MS);
|
|
@@ -622,8 +632,8 @@ static void Can_Task(void* arg)
|
|
|
HAL_Can_Init(param);
|
|
|
int send_index = 0;
|
|
|
uint16_t Batt_Cell_addU = 0x0000;
|
|
|
- slpManApplyPlatVoteHandle("CanSlp",&CanSlpHandler);
|
|
|
- slpManPlatVoteDisableSleep(CanSlpHandler, SLP_SLP2_STATE);
|
|
|
+ //slpManApplyPlatVoteHandle("CanSlp",&CanSlpHandler);
|
|
|
+ //slpManPlatVoteDisableSleep(CanSlpHandler, SLP_SLP2_STATE);
|
|
|
volatile bool Can_Flag=false;
|
|
|
PROC_CAN_STATE_SWITCH(PROCESS_CAN_STATE_IDLE);
|
|
|
while(1)
|
|
@@ -800,7 +810,10 @@ static void Can_Task(void* arg)
|
|
|
}
|
|
|
case PROCESS_CAN_STATE_SLEEP:
|
|
|
{
|
|
|
- slpManPlatVoteEnableSleep(CanSlpHandler, SLP_SLP2_STATE);
|
|
|
+ //slpManPlatVoteEnableSleep(CanSlpHandler, SLP_SLP2_STATE);
|
|
|
+ #ifdef USING_PRINTF
|
|
|
+ printf("PROCESS_CAN_STATE_SLEEP\n");
|
|
|
+ #endif
|
|
|
while(1)
|
|
|
{
|
|
|
osDelay(30000/portTICK_PERIOD_MS);
|
|
@@ -957,13 +970,14 @@ static void Tcp_Task(void* arg)
|
|
|
hints.ai_protocol = IPPROTO_TCP;
|
|
|
psEventQueueHandle = xQueueCreate(APP_EVENT_QUEUE_SIZE, sizeof(eventCallbackMessage_t*));
|
|
|
int NB_send_len=59+Batt_Cell_Num_2+Batt_Temp_Num;//设定tcp发送的最大数值,以电池数据为上线
|
|
|
- slpManApplyPlatVoteHandle("TcpSlp",&TcpSlpHandler);
|
|
|
- slpManPlatVoteDisableSleep(TcpSlpHandler, SLP_SLP2_STATE);
|
|
|
+ //slpManApplyPlatVoteHandle("TcpSlp",&TcpSlpHandler);
|
|
|
+ //slpManPlatVoteDisableSleep(TcpSlpHandler, SLP_SLP2_STATE);
|
|
|
PROC_TCP_STATE_SWITCH(PROCESS_TCP_STATE_IDLE);
|
|
|
uint8_t Tcp_Index = 0;
|
|
|
uint8_t* TcpSendBuffer=NULL;
|
|
|
volatile bool Tcp_Flag=false;
|
|
|
eventCallbackMessage_t *queueItem = NULL;
|
|
|
+ registerPSEventCallback(NB_GROUP_ALL_MASK, socketRegisterPSUrcCallback);
|
|
|
while(true)
|
|
|
{
|
|
|
switch(gProcess_Tcp_Task)
|
|
@@ -1050,7 +1064,7 @@ static void Tcp_Task(void* arg)
|
|
|
{
|
|
|
printf("%x ",battbuffer[i]);
|
|
|
}
|
|
|
- printf("\n ");
|
|
|
+ printf("\n");
|
|
|
#endif
|
|
|
TcpsendID = send(sockfd, TcpSendBuffer, NB_send_len, 0 );
|
|
|
//发送失败暂时不写
|
|
@@ -1060,7 +1074,7 @@ static void Tcp_Task(void* arg)
|
|
|
{
|
|
|
printf("%x ",*(TcpSendBuffer+i));
|
|
|
}
|
|
|
- printf("\n ");
|
|
|
+ printf("\n");
|
|
|
#endif
|
|
|
Tcp_Index=2;
|
|
|
break;
|
|
@@ -1083,9 +1097,12 @@ static void Tcp_Task(void* arg)
|
|
|
}
|
|
|
case PROCESS_TCP_STATE_SLEEP:
|
|
|
{
|
|
|
- slpManPlatVoteEnableSleep(TcpSlpHandler, SLP_SLP2_STATE);
|
|
|
+ //slpManPlatVoteEnableSleep(TcpSlpHandler, SLP_SLP2_STATE);
|
|
|
closesocket(sockfd);
|
|
|
deregisterPSEventCallback(socketRegisterPSUrcCallback);//注销NB网络事件函数
|
|
|
+ #ifdef USING_PRINTF
|
|
|
+ printf("PROCESS_TCP_STATE_SLEEP\n");
|
|
|
+ #endif
|
|
|
while(1)
|
|
|
{
|
|
|
osDelay(30000/portTICK_PERIOD_MS);
|
|
@@ -1152,7 +1169,6 @@ void Can_Task_Init()
|
|
|
void Tcp_Task_Init()
|
|
|
{
|
|
|
osThreadAttr_t task_attr;
|
|
|
- registerPSEventCallback(NB_GROUP_ALL_MASK, socketRegisterPSUrcCallback);
|
|
|
memset(&task_attr,0,sizeof(task_attr));
|
|
|
memset(gProcess_Tcp_TaskStack, 0xA5, PROC_TCP_TASK_STACK_SIZE);
|
|
|
task_attr.name = "Tcp_Task";
|