|
@@ -30,10 +30,10 @@ void BattWorkDelayFunc(UINT8 battWorkCurrentState)
|
|
|
BattWorkStateDelay = battWorkCurrentState;
|
|
|
}
|
|
|
}
|
|
|
- else if(battWorkCurrentState==BATT_DISCHARGE_SYM)
|
|
|
+ else if(battWorkCurrentState==BATT_DISCHARGE_SYM)
|
|
|
{
|
|
|
workDelayCounter++;
|
|
|
- if(workDelayCounter>=3)
|
|
|
+ if(workDelayCounter>=1)
|
|
|
{
|
|
|
workDelayCounter==0;
|
|
|
BattWorkStateDelay = battWorkCurrentState;
|
|
@@ -1265,18 +1265,23 @@ void Fota_Func(UINT8 *DataPtr,INT32 connectId)
|
|
|
memset(Fota_S.Fota_Recv_Data,0x00,100);
|
|
|
memcpy(Fota_S.Fota_Recv_Data,(DataPtr+42),*(DataPtr+41));
|
|
|
Fota_S.Fota_CRC = Fota_crc_chk(Fota_S.Fota_Recv_Data,Fota_S.Fota_Recv_Data_Len);
|
|
|
- Data_Read_Buffer = malloc(Fota_S.Fota_Recv_Data_Len+1);
|
|
|
+ Data_Read_Buffer = malloc(Fota_S.Fota_Recv_Data_Len);
|
|
|
if(Fota_S.Fota_CRC == *(DataPtr+Fota_S.Fota_Recv_Data_Len+42)||Data_Read_Buffer!=PNULL)
|
|
|
{
|
|
|
+ UINT8 Fota_Recv_Data_Len_4 = 0;
|
|
|
if(Fota_S.Fota_Recv_Data_Len%4!=0)
|
|
|
{
|
|
|
- Fota_S.Fota_Recv_Data_Len = Fota_S.Fota_Recv_Data_Len + 4-(Fota_S.Fota_Recv_Data_Len%4);
|
|
|
+ Fota_Recv_Data_Len_4 = Fota_S.Fota_Recv_Data_Len + 4-(Fota_S.Fota_Recv_Data_Len%4);
|
|
|
}
|
|
|
- BSP_QSPI_Write_Safe(Fota_S.Fota_Recv_Data,Fota_S.Fota_Flash_Addres+Fota_S.Fota_Current_Addres,Fota_S.Fota_Recv_Data_Len);
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Fota_Recv_Data_Len_4 = Fota_S.Fota_Recv_Data_Len;
|
|
|
+ }
|
|
|
+ BSP_QSPI_Write_Safe(Fota_S.Fota_Recv_Data,Fota_S.Fota_Flash_Addres+Fota_S.Fota_Current_Addres,Fota_Recv_Data_Len_4);
|
|
|
memset(Data_Read_Buffer,0x00,Fota_S.Fota_Recv_Data_Len);
|
|
|
BSP_QSPI_Read_Safe(Data_Read_Buffer,Fota_S.Fota_Flash_Addres+Fota_S.Fota_Current_Addres,Fota_S.Fota_Recv_Data_Len);
|
|
|
Data_Read_Crc = Fota_crc_chk(Data_Read_Buffer,Fota_S.Fota_Recv_Data_Len);
|
|
|
- #ifdef USING_PRINTF
|
|
|
+ #ifdef USING_PRINTF1
|
|
|
printf("Data_Read_Buffer:\n");
|
|
|
for(int i=0;i<Fota_S.Fota_Recv_Data_Len;i++)
|
|
|
{
|
|
@@ -1291,7 +1296,7 @@ void Fota_Func(UINT8 *DataPtr,INT32 connectId)
|
|
|
else
|
|
|
{
|
|
|
Fota_Answer[3] = 0x02;
|
|
|
- BSP_QSPI_Erase_Safe(Fota_S.Fota_Flash_Addres+Fota_S.Fota_Current_Addres,Fota_S.Fota_Recv_Data_Len);
|
|
|
+ BSP_QSPI_Erase_Safe(Fota_S.Fota_Flash_Addres+Fota_S.Fota_Current_Addres,Fota_Recv_Data_Len_4);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
@@ -1392,11 +1397,16 @@ void Fota_Func(UINT8 *DataPtr,INT32 connectId)
|
|
|
Data_Read_Buffer = malloc(Fota_S.Fota_Recv_Data_Len);
|
|
|
if(Fota_S.Fota_CRC == *(DataPtr+Fota_S.Fota_Recv_Data_Len+42)||Data_Read_Buffer!=PNULL)
|
|
|
{
|
|
|
+ UINT8 Fota_Recv_Data_Len_4 = 0;
|
|
|
if(Fota_S.Fota_Recv_Data_Len%4!=0)
|
|
|
{
|
|
|
- Fota_S.Fota_Recv_Data_Len = Fota_S.Fota_Recv_Data_Len + 4-(Fota_S.Fota_Recv_Data_Len%4);
|
|
|
+ Fota_Recv_Data_Len_4 = Fota_S.Fota_Recv_Data_Len + 4-(Fota_S.Fota_Recv_Data_Len%4);
|
|
|
}
|
|
|
- BSP_QSPI_Write_Safe(Fota_S.Fota_Recv_Data,Fota_S.Fota_Flash_Addres+Fota_S.Fota_Current_Addres,Fota_S.Fota_Recv_Data_Len);
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Fota_Recv_Data_Len_4 = Fota_S.Fota_Recv_Data_Len;
|
|
|
+ }
|
|
|
+ BSP_QSPI_Write_Safe(Fota_S.Fota_Recv_Data,Fota_S.Fota_Flash_Addres+Fota_S.Fota_Current_Addres,Fota_Recv_Data_Len_4);
|
|
|
|
|
|
BSP_QSPI_Read_Safe(Data_Read_Buffer,Fota_S.Fota_Flash_Addres+Fota_S.Fota_Current_Addres,Fota_S.Fota_Recv_Data_Len);
|
|
|
Data_Read_Crc = Fota_crc_chk(Data_Read_Buffer,Fota_S.Fota_Recv_Data_Len);
|
|
@@ -1416,7 +1426,7 @@ void Fota_Func(UINT8 *DataPtr,INT32 connectId)
|
|
|
else
|
|
|
{
|
|
|
Fota_Answer[3] = 0x02;
|
|
|
- BSP_QSPI_Erase_Safe(Fota_S.Fota_Flash_Addres+Fota_S.Fota_Current_Addres,Fota_S.Fota_Recv_Data_Len);
|
|
|
+ BSP_QSPI_Erase_Safe(Fota_S.Fota_Flash_Addres+Fota_S.Fota_Current_Addres,Fota_Recv_Data_Len_4);
|
|
|
}
|
|
|
}
|
|
|
else
|