2024-08-09 06:24:48 +00:00
|
|
|
|
#include "sys.h"
|
|
|
|
|
#include "CDZ_State.h"
|
|
|
|
|
//All rights reserved
|
|
|
|
|
//********************************************************************************
|
|
|
|
|
void NVIC_Configuration(void)
|
|
|
|
|
{
|
|
|
|
|
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //<2F><><EFBFBD><EFBFBD>NVIC<49>жϷ<D0B6><CFB7><EFBFBD>2:2λ<32><CEBB>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>2λ<32><CEBB>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
volatile uint32_t TickTimeCount_MS = 0;
|
|
|
|
|
|
|
|
|
|
const char ApplicationVersion[10] = Version(); //??????
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><>ʼ<EFBFBD><CABC> SysTick*/
|
|
|
|
|
void SysTick_Init(void)
|
|
|
|
|
{
|
|
|
|
|
if(SysTick_Config(SystemCoreClock / 1000))
|
|
|
|
|
{
|
|
|
|
|
/* Capture error */
|
|
|
|
|
while (1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
volatile uint8_t SystickNum = 0; //<2F><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
volatile uint32_t SystemTimeHeart = 0;
|
|
|
|
|
volatile uint32_t SystemTimeCount= 0;
|
|
|
|
|
|
|
|
|
|
void SysTick_Handler(void)
|
|
|
|
|
{
|
|
|
|
|
SystemTimeHeart++;
|
|
|
|
|
TickTimeCount_MS++;
|
|
|
|
|
if(SystemTimeHeart%1000==1)SystemTimeCount++;
|
|
|
|
|
if(!SystickNum)
|
|
|
|
|
SystickNum = 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
|
????:TickOut
|
|
|
|
|
? ?:Alex
|
|
|
|
|
??????:Tick????,??????true ????
|
|
|
|
|
????:tick??,timeout ??(??)
|
|
|
|
|
????:bool
|
|
|
|
|
? ? ?:????
|
|
|
|
|
*******************************************************************************/
|
|
|
|
|
uint8_t TickOut(uint32_t *tick,uint32_t timeout)
|
|
|
|
|
{
|
|
|
|
|
uint32_t icount = 0;
|
|
|
|
|
if(timeout == 0)
|
|
|
|
|
{
|
|
|
|
|
*tick = SystemTimeHeart; //???????
|
|
|
|
|
return TRUE;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
icount = SystemTimeHeart;
|
|
|
|
|
if(icount >= *tick) //?????
|
|
|
|
|
{
|
|
|
|
|
if( (icount - (*tick)) >= timeout)
|
|
|
|
|
{
|
|
|
|
|
return TRUE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if( (0xFFFFFFFF - (*tick) + icount) >= timeout)
|
|
|
|
|
{
|
|
|
|
|
return TRUE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return FALSE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//????
|
|
|
|
|
uint8_t TickOutCycle(uint32_t *tick,uint32_t timeout)
|
|
|
|
|
{
|
|
|
|
|
uint32_t icount = 0;
|
|
|
|
|
if(timeout == 0)
|
|
|
|
|
{
|
|
|
|
|
*tick = SystemTimeHeart; //???????
|
|
|
|
|
return TRUE;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
icount = SystemTimeHeart;
|
|
|
|
|
if(icount >= *tick) //?????
|
|
|
|
|
{
|
|
|
|
|
if( (icount - (*tick)) >= timeout)
|
|
|
|
|
{
|
|
|
|
|
*tick = SystemTimeHeart; //????
|
|
|
|
|
return TRUE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if( (0xFFFFFFFF - (*tick) + icount) >= timeout)
|
|
|
|
|
{
|
|
|
|
|
*tick = SystemTimeHeart; //????
|
|
|
|
|
return TRUE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return FALSE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TimeTaskDatas TimeTaskData;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* Function Name :
|
|
|
|
|
* Description : ????????
|
|
|
|
|
* Input : u8 time
|
|
|
|
|
* Output : none
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
void TimeTaskDispatch_Flag(void)
|
|
|
|
|
{
|
|
|
|
|
if(SystickNum == 1)
|
|
|
|
|
{
|
|
|
|
|
TimeTaskData.F_Time_Count++;
|
|
|
|
|
|
|
|
|
|
TimeTaskData.F_Time_1MS = SET;
|
|
|
|
|
|
|
|
|
|
SystickNum = 0;
|
|
|
|
|
}
|
|
|
|
|
else //??1ms??
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
if( (TimeTaskData.F_Time_Count % 5 == 0) && (TimeTaskData.F_Time_Count != 0 ) ) //5ms
|
|
|
|
|
{
|
|
|
|
|
TimeTaskData.F_Time_5MS = SET;
|
|
|
|
|
}
|
|
|
|
|
else //????5ms??
|
|
|
|
|
return;
|
|
|
|
|
if( (TimeTaskData.F_Time_Count % 10 == 0) && (TimeTaskData.F_Time_Count != 0 ) ) //10ms
|
|
|
|
|
{
|
|
|
|
|
TimeTaskData.F_Time_10MS = SET;
|
|
|
|
|
}
|
|
|
|
|
if( (TimeTaskData.F_Time_Count % 20 == 0) && (TimeTaskData.F_Time_Count != 0 ) ) //20ms
|
|
|
|
|
{
|
|
|
|
|
TimeTaskData.F_Time_20MS = SET;
|
|
|
|
|
}
|
|
|
|
|
if( (TimeTaskData.F_Time_Count % 50 == 0) && (TimeTaskData.F_Time_Count != 0 ) ) //50ms
|
|
|
|
|
{
|
|
|
|
|
TimeTaskData.F_Time_50MS = SET;
|
|
|
|
|
}
|
|
|
|
|
// else //????50ms??
|
|
|
|
|
// return;
|
|
|
|
|
if( (TimeTaskData.F_Time_Count % 100 == 0) && (TimeTaskData.F_Time_Count != 0 ) ) //100ms
|
|
|
|
|
{
|
|
|
|
|
TimeTaskData.F_Time_100MS = SET;
|
|
|
|
|
}
|
|
|
|
|
if( (TimeTaskData.F_Time_Count % 500 == 0) && (TimeTaskData.F_Time_Count != 0 ) ) //500ms
|
|
|
|
|
{
|
|
|
|
|
TimeTaskData.F_Time_500MS = SET;
|
|
|
|
|
}
|
|
|
|
|
if( (TimeTaskData.F_Time_Count % 1000 == 0) && (TimeTaskData.F_Time_Count != 0 ) ) //1000ms
|
|
|
|
|
{
|
|
|
|
|
TimeTaskData.F_Time_1000MS = SET;
|
|
|
|
|
}
|
|
|
|
|
if( (TimeTaskData.F_Time_Count % 1500 == 0) && (TimeTaskData.F_Time_Count != 0 ) ) //1500ms
|
|
|
|
|
{
|
|
|
|
|
TimeTaskData.F_Time_1500MS = SET;
|
|
|
|
|
}
|
|
|
|
|
if( (TimeTaskData.F_Time_Count % 2000 == 0) && (TimeTaskData.F_Time_Count != 0 ) ) //2000ms
|
|
|
|
|
{
|
|
|
|
|
TimeTaskData.F_Time_2000MS = SET;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(TimeTaskData.F_Time_Count >= 6000)
|
|
|
|
|
TimeTaskData.F_Time_Count = 0; //??????
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* Function Name : Wait50us
|
|
|
|
|
* Description : This function wait 10 us . 72MHz
|
|
|
|
|
* Input : u8 time
|
|
|
|
|
* Output : none
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
void Wait50us(uint8_t time)
|
|
|
|
|
{
|
|
|
|
|
uint8_t i;
|
|
|
|
|
for(;time>0;time--)
|
|
|
|
|
{
|
|
|
|
|
for(i = 50;i>0;i--)
|
|
|
|
|
{
|
|
|
|
|
__NOP(); // 1/72M=0.01389us
|
|
|
|
|
__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
|
|
|
|
|
__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
|
|
|
|
|
__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
|
|
|
|
|
__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
|
|
|
|
|
__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
|
|
|
|
|
__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/********************************************************************************************************
|
|
|
|
|
* Function Name : Delay_MS
|
|
|
|
|
* Description : ??MS ??
|
|
|
|
|
* Input : u16 time
|
|
|
|
|
* Output : none
|
|
|
|
|
*********************************************************************************************************/
|
|
|
|
|
void Delay_MS(u16 time)
|
|
|
|
|
{
|
|
|
|
|
for(;time>0;time--)
|
|
|
|
|
{
|
|
|
|
|
Wait50us(20); //1MS
|
|
|
|
|
IWDG_Feed();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* Function Name : SystemReboot
|
|
|
|
|
* Description : ????
|
|
|
|
|
* Input : none
|
|
|
|
|
* Output : none
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
void SystemReboot(void)
|
|
|
|
|
{
|
|
|
|
|
// DEPRINT("System Reset!!!\r\n");
|
|
|
|
|
// WatchDog_Switch(0); //????
|
|
|
|
|
NVIC_SystemReset();
|
|
|
|
|
}
|
|
|
|
|
uint8_t SysStoreSysParmflag =0;
|
|
|
|
|
void SysWriteSysParm(void)
|
|
|
|
|
{
|
|
|
|
|
IWDG_Feed();
|
|
|
|
|
bsp_WriteCpuFlash(SysParaPileADDR,(unsigned char *)(&SysParaPileD),sizeof(SysParaPileD)); //
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SysStoreSysParm(void)
|
|
|
|
|
{
|
|
|
|
|
static uint8_t count =0;
|
|
|
|
|
if(SysStoreSysParmflag ==1)
|
|
|
|
|
{
|
|
|
|
|
if(count++ > 5)
|
|
|
|
|
{
|
|
|
|
|
SysWriteSysParm();
|
|
|
|
|
count =0;
|
|
|
|
|
SysStoreSysParmflag =0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
count =0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SysWriteSocParm(void)
|
|
|
|
|
{
|
|
|
|
|
IWDG_Feed();
|
|
|
|
|
bsp_WriteCpuFlash(SOCParaPileADDR,(unsigned char *)(&SocCalculate),sizeof(SocCalculate)); //
|
|
|
|
|
}
|
|
|
|
|
RTCTimeS_D SysTime;
|
|
|
|
|
SysParaPile SysParaPileD;
|
|
|
|
|
Compensation_t SocCalculate;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SocParaDataInit(void)
|
|
|
|
|
{
|
|
|
|
|
uint8_t i =0;
|
|
|
|
|
memset(&SocCalculate,0,sizeof(SocCalculate));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DEPRINT("======Hai Dun soc Parameter Init!======\r\n");
|
|
|
|
|
|
|
|
|
|
bsp_ReadCpuFlash(SOCParaPileADDR,(unsigned char *)(&SocCalculate),sizeof(SocCalculate)); //<2F><>ȡ<C8A1><D7AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if( (SocCalculate.CalibrationEnable == 0x00) || (SocCalculate.CalibrationEnable == 0xff) )
|
|
|
|
|
{
|
|
|
|
|
memset(&SocCalculate,0,sizeof(SocCalculate));
|
|
|
|
|
DEPRINT("SocCalculate is default!\r\n");
|
|
|
|
|
}
|
|
|
|
|
if(SocCalculate.CalibrationEnable ==1)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Ȩֵ
|
|
|
|
|
for(i=0;i<SocCalculate.index;i++)
|
|
|
|
|
{
|
|
|
|
|
DEPRINT("SocCalculate is startVolt %f !\r\n",SocCalculate.data[i].startVolt);
|
|
|
|
|
DEPRINT("SocCalculate is endVolt %f \r\n",SocCalculate.data[i].endVolt);
|
|
|
|
|
DEPRINT("SocCalculate is startSoc %d \r\n",SocCalculate.data[i].startSoc);
|
|
|
|
|
DEPRINT("SocCalculate is endSoc %d \r\n",SocCalculate.data[i].endSoc);
|
|
|
|
|
DEPRINT("SocCalculate weight %f\r\n",SocCalculate.data[i].weight);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#include "dc300.h"
|
|
|
|
|
uint8_t ID_Flag;
|
|
|
|
|
extern u32 ChipUniqueID[3];
|
|
|
|
|
|
|
|
|
|
void SysParaDataInit(void)
|
|
|
|
|
{
|
|
|
|
|
vin_byte_t vin_code;
|
|
|
|
|
char *vin;
|
|
|
|
|
uint8_t data,check;
|
|
|
|
|
memset(&SysParaPileD,0,sizeof(SysParaPile));
|
|
|
|
|
DEPRINT("======Hai Dun Parameter Init!======\r\n");
|
|
|
|
|
bsp_ReadCpuFlash(SysParaPileADDR,(unsigned char *)(&SysParaPileD),sizeof(SysParaPile)); //<2F><>ȡ<C8A1><D7AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
if( (SysParaPileD.sn[0] == 0xff) || (SysParaPileD.sn[0] == 0) )
|
|
|
|
|
{
|
|
|
|
|
Delay_MS(10);
|
|
|
|
|
DEPRINT("bsp_ReadCpuFlash!\r\n");
|
|
|
|
|
bsp_ReadCpuFlash(SysParaPileADDR,(unsigned char *)(&SysParaPileD),sizeof(SysParaPileD)); //<2F><>ȡ<C8A1><D7AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if( (SysParaPileD.sn[0] == 0xff) || (SysParaPileD.sn[0] == 0) )
|
|
|
|
|
{
|
|
|
|
|
Delay_MS(10);
|
|
|
|
|
DEPRINT("bsp_ReadCpuFlash 1\r\n");
|
|
|
|
|
bsp_ReadCpuFlash(SysParaPileADDR,(unsigned char *)(&SysParaPileD),sizeof(SysParaPileD)); //<2F><>ȡ<C8A1><D7AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if( (SysParaPileD.sn[0] == 0xff) || (SysParaPileD.sn[0] == 0) )
|
|
|
|
|
{
|
|
|
|
|
Delay_MS(10);
|
|
|
|
|
DEPRINT("bsp_ReadCpuFlash 2\r\n");
|
|
|
|
|
bsp_ReadCpuFlash(SysParaPileADDR,(unsigned char *)(&SysParaPileD),sizeof(SysParaPileD)); //<2F><>ȡ<C8A1><D7AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if( SysParaPileD.chargerstation[0] == 0xFF )
|
|
|
|
|
{
|
|
|
|
|
memset(SysParaPileD.chargerstation,0,sizeof(SysParaPileD.chargerstation));
|
|
|
|
|
}
|
|
|
|
|
if( (SysParaPileD.sn[0] == 0xff) || (SysParaPileD.sn[0] == 0) )
|
|
|
|
|
{
|
|
|
|
|
memset(SysParaPileD.sn,0,sizeof(SysParaPileD.sn));
|
|
|
|
|
SysParaPileD.registeredFlag =0;
|
|
|
|
|
//sprintf((char *)SysParaPileD.sn,"%s",DEFAULT_SN);
|
|
|
|
|
SysParaPileD.sn[0] ='H';
|
|
|
|
|
SysParaPileD.sn[1] ='Y';
|
|
|
|
|
SysParaPileD.sn[2] ='D';
|
|
|
|
|
SysParaPileD.sn[3] ='N';
|
|
|
|
|
SysParaPileD.sn[4] = '2';
|
|
|
|
|
SysParaPileD.sn[5] = '0';
|
|
|
|
|
SysParaPileD.sn[6] = '2';
|
|
|
|
|
SysParaPileD.sn[7] = '2';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vin_code.data = ChipUniqueID[2] >>24&0xff;
|
|
|
|
|
SysParaPileD.sn[8] = vin_code.bits.vode_h >0x0A? vin_code.bits.vode_h-0x0A+0x30:vin_code.bits.vode_h +0x30;
|
|
|
|
|
SysParaPileD.sn[9] = vin_code.bits.vode_l >0x0A? vin_code.bits.vode_l -0x0A+0x30:vin_code.bits.vode_l +0x30;
|
|
|
|
|
vin_code.data = ChipUniqueID[2] >>16&0xff;
|
|
|
|
|
SysParaPileD.sn[10] = vin_code.bits.vode_h >0x0A? vin_code.bits.vode_h-0x0A+0x30:vin_code.bits.vode_h +0x30;
|
|
|
|
|
SysParaPileD.sn[11] = vin_code.bits.vode_l >0x0A? vin_code.bits.vode_l -0x0A+0x30:vin_code.bits.vode_l +0x30;
|
|
|
|
|
vin_code.data = ChipUniqueID[2] >>8&0xff;
|
|
|
|
|
SysParaPileD.sn[12] = vin_code.bits.vode_h >0x0A? vin_code.bits.vode_h-0x0A+0x30:vin_code.bits.vode_h +0x30;
|
|
|
|
|
SysParaPileD.sn[13] = vin_code.bits.vode_l >0x0A? vin_code.bits.vode_l -0x0A+0x30:vin_code.bits.vode_l +0x30;
|
|
|
|
|
|
|
|
|
|
vin_code.data = ChipUniqueID[2]&0xff;
|
|
|
|
|
SysParaPileD.sn[14] = vin_code.bits.vode_h >0x0A? vin_code.bits.vode_h-0x0A+0x30:vin_code.bits.vode_h +0x30;
|
|
|
|
|
SysParaPileD.sn[15] = vin_code.bits.vode_l >0x0A? vin_code.bits.vode_l -0x0A+0x30:vin_code.bits.vode_l +0x30;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// SysParaPileD.sn[8] = ChipUniqueID[1] >>24&0xff;
|
|
|
|
|
// SysParaPileD.sn[9] = ChipUniqueID[1] >>16&0xff;
|
|
|
|
|
// SysParaPileD.sn[10] = ChipUniqueID[1] >>8&0xff;
|
|
|
|
|
// SysParaPileD.sn[11] = ChipUniqueID[1]&0xff;
|
|
|
|
|
//
|
|
|
|
|
// SysParaPileD.sn[12] = ChipUniqueID[2] >>24&0xff;
|
|
|
|
|
// SysParaPileD.sn[13] = ChipUniqueID[2] >>16&0xff;
|
|
|
|
|
// SysParaPileD.sn[14] = ChipUniqueID[2] >>8&0xff;
|
|
|
|
|
// SysParaPileD.sn[15] = ChipUniqueID[2]&0xff;
|
|
|
|
|
|
|
|
|
|
// memcpy((char *)SysParaPileD.sn, DEFAULT_SN, 16);
|
|
|
|
|
DEPRINT("sn is default!\r\n");
|
|
|
|
|
DEPRINT_ARRAY(SysParaPileD.sn,16);
|
|
|
|
|
SysParaPileD.device_type = 0;
|
|
|
|
|
// memcpy((char *)SysParaPileD.sn, DEFAULT_SN, 16);
|
|
|
|
|
// DEPRINT("sn is default!\r\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if( (SysParaPileD.Recordindex == 0xff) || (SysParaPileD.Recordindex > RECORD_NUM) )
|
|
|
|
|
{
|
|
|
|
|
SysParaPileD.Recordindex = 0;
|
|
|
|
|
DEPRINT("sn is default!\r\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if( (SysParaPileD.bluetooth_name[0] == 0xFF) || (SysParaPileD.bluetooth_name[0] == 0x00) )//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>1234
|
|
|
|
|
{
|
|
|
|
|
memset(SysParaPileD.bluetooth_name,0,sizeof(SysParaPileD.bluetooth_name));
|
|
|
|
|
sprintf((char *)SysParaPileD.bluetooth_name,"%s",DEFAULT_BLUE_TOOTH_NAME);
|
|
|
|
|
DEPRINT("bluetooth_name is default!\r\n");
|
|
|
|
|
}
|
|
|
|
|
if( (SysParaPileD.bluetooth_passward[0] == 0xFF) || (SysParaPileD.bluetooth_passward[0] == 0x00) )
|
|
|
|
|
{
|
|
|
|
|
memset(SysParaPileD.bluetooth_passward,0,sizeof(SysParaPileD.bluetooth_passward));
|
|
|
|
|
sprintf((char *)SysParaPileD.bluetooth_passward,"%s",DEFAULT_BLUE_TOOTH_PASSWARD);
|
|
|
|
|
DEPRINT("bluetooth_passward is default!\r\n");
|
|
|
|
|
}
|
|
|
|
|
if( (SysParaPileD.manufacturer_name[0] == 0xFF) || (SysParaPileD.manufacturer_name[0] == 0x00) )
|
|
|
|
|
{
|
|
|
|
|
memset(SysParaPileD.manufacturer_name,0,sizeof(SysParaPileD.manufacturer_name));
|
|
|
|
|
sprintf((char *)SysParaPileD.manufacturer_name,"%s",DEFAULT_BLUE_TOOTH_NAME);
|
|
|
|
|
DEPRINT("bluetooth_passward is default!\r\n");
|
|
|
|
|
}
|
|
|
|
|
if( (SysParaPileD.OverTempValue[0] == 0xFFFF ) || (SysParaPileD.OverTempValue[0] == 0x00))
|
|
|
|
|
{
|
|
|
|
|
SysParaPileD.OverTempValue[0] = DEFAULT_OverTemperature1;
|
|
|
|
|
}
|
|
|
|
|
if( (SysParaPileD.OverTempValue[1] == 0xFFFF ) || (SysParaPileD.OverTempValue[1] == 0x00))
|
|
|
|
|
{
|
|
|
|
|
SysParaPileD.OverTempValue[1] = DEFAULT_OverTemperature2;
|
|
|
|
|
}
|
|
|
|
|
if( (SysParaPileD.OverTempValue[2] == 0xFFFF ) || (SysParaPileD.OverTempValue[2] == 0x00))
|
|
|
|
|
{
|
|
|
|
|
SysParaPileD.OverTempValue[2] = DEFAULT_OverTemperature3;
|
|
|
|
|
}
|
|
|
|
|
if( (SysParaPileD.VehichleInfo[0] == 0xFF ) || (SysParaPileD.VehichleInfo[0] == 0x00))
|
|
|
|
|
{
|
|
|
|
|
// memcpy(SysParaPileD.VehichleInfo,"LFV2A21K6A3092399",17);
|
|
|
|
|
|
|
|
|
|
strcpy((char*)&SysParaPileD.VehichleInfo[0],"LK6ADCE15LB408569");
|
|
|
|
|
// vin_code.data = ChipUniqueID[2] >>24&0xff;
|
|
|
|
|
// SysParaPileD.VehichleInfo[9] = vin_code.bits.vode_h >0x0A? vin_code.bits.vode_h-0x0A+0x30:vin_code.bits.vode_h +0x30;
|
|
|
|
|
// SysParaPileD.VehichleInfo[10] = vin_code.bits.vode_l >0x0A? vin_code.bits.vode_l -0x0A+0x30:vin_code.bits.vode_l +0x30;;
|
|
|
|
|
vin_code.data = ChipUniqueID[2] >>16&0xff;
|
|
|
|
|
SysParaPileD.VehichleInfo[11] = vin_code.bits.vode_h >0x0A? vin_code.bits.vode_h-0x0A+0x30:vin_code.bits.vode_h +0x30;
|
|
|
|
|
SysParaPileD.VehichleInfo[12] = vin_code.bits.vode_l >0x0A? vin_code.bits.vode_l -0x0A+0x30:vin_code.bits.vode_l +0x30;;
|
|
|
|
|
vin_code.data = ChipUniqueID[2] >>8&0xff;
|
|
|
|
|
SysParaPileD.VehichleInfo[13] = vin_code.bits.vode_h >0x0A? vin_code.bits.vode_h-0x0A+0x30:vin_code.bits.vode_h +0x30;
|
|
|
|
|
SysParaPileD.VehichleInfo[14] = vin_code.bits.vode_l >0x0A? vin_code.bits.vode_l -0x0A+0x30:vin_code.bits.vode_l +0x30;;
|
|
|
|
|
|
|
|
|
|
vin_code.data = ChipUniqueID[2]&0xff;
|
|
|
|
|
SysParaPileD.VehichleInfo[15] = vin_code.bits.vode_h >0x0A? vin_code.bits.vode_h-0x0A+0x30:vin_code.bits.vode_h +0x30;
|
|
|
|
|
SysParaPileD.VehichleInfo[16] = vin_code.bits.vode_l >0x0A? vin_code.bits.vode_l -0x0A+0x30:vin_code.bits.vode_l +0x30;;
|
|
|
|
|
vin = SysParaPileD.VehichleInfo;
|
|
|
|
|
VinCalc(vin,&check);
|
|
|
|
|
// data = VinTest();
|
|
|
|
|
SysParaPileD.VehichleInfo[8] = check +0x30;
|
|
|
|
|
SysParaPileD.device_type = 0;
|
|
|
|
|
// memset(SysParaPileD.VehichleInfo,0xFF,17);
|
|
|
|
|
}
|
|
|
|
|
memset(SysParaPileD.Reserved,0,sizeof(SysParaPileD.Reserved));
|
|
|
|
|
DEPRINT("\n\r SysParaPileD VehichleInfo %s\n\r",SysParaPileD.VehichleInfo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SYS_ENTER_CRITICAL(void)
|
|
|
|
|
{
|
|
|
|
|
// if ((critical_times++) == 0)
|
|
|
|
|
{
|
|
|
|
|
__disable_irq();//<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>ж<EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SYS_EXIT_CRITICAL(void)
|
|
|
|
|
{
|
|
|
|
|
// if (critical_times == 1)
|
|
|
|
|
{
|
|
|
|
|
// critical_times = 0;
|
|
|
|
|
__enable_irq();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
// else
|
|
|
|
|
// {
|
|
|
|
|
// critical_times--;
|
|
|
|
|
// }
|
|
|
|
|
}
|