optical/EMBOS/Users/Config/config.c

106 lines
2.2 KiB
C
Raw Permalink Normal View History

2025-09-04 01:45:08 +00:00
#define _IN_CONFIG_C
#include "config.h"
static const char VERSION_INFO[VERSION_LEN] =
{
#if (CUR_UPFL == GAUF_PMB1)
'P','0','-','0','1',
#elif (CUR_UPFL == GAUF_EMB1)
'E','0','-','0','1',
#else
'0','0','0','0','0',
#endif
'-',
VER_TYPE,
'-',
VER_PROD,
' ',
'V',
VER_CODE_M,
'.',
VER_CODE_S,
'.',
VER_CODE_D,
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
};
void GetCompileDateTime(char * datetime)
{
u8 i;
int month, year, day;
int hour, min, second;
const char *pMonth[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
const char Date[12] = __DATE__; // ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const char time[12] = __TIME__; // ȡ<><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
month = 1;
for (i = 0; i < 12; i++)
{
if (memcmp(Date, pMonth[i], 3) == 0)
{
month = i + 1;
break;
}
}
year = (uint8_t)atoi(Date + 9); // Date[9]Ϊ<><CEAA>λ<EFBFBD><CEBB><EFBFBD>ݣ<EFBFBD>Date[7]Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
day = (uint8_t)atoi(Date + 4);
hour = (uint8_t)atoi(time + 0);
min = (uint8_t)atoi(time + 3);
second = (uint8_t)atoi(time + 6);
if (datetime != NULL)
{
sprintf(datetime, "%02d%02d%02d%02d%02d%02d", year, month, day, hour, min, second);
}
}
void GetVersionStr(char * str)
{
if (str != NULL)
{
memcpy(str, VERSION_INFO, VERSION_LEN);
str[VERSION_LEN-1] = 0;
if (str[0] == 0xff)
{
str[0] = 0;
}
else
{
if (
str[VERSION_LEN-12] == 0xff &&
str[VERSION_LEN-11] == 0xff &&
str[VERSION_LEN-10] == 0xff &&
str[VERSION_LEN-9] == 0xff &&
str[VERSION_LEN-8] == 0xff &&
str[VERSION_LEN-7] == 0xff &&
str[VERSION_LEN-6] == 0xff &&
str[VERSION_LEN-5] == 0xff &&
str[VERSION_LEN-4] == 0xff &&
str[VERSION_LEN-3] == 0xff &&
str[VERSION_LEN-2] == 0xff &&
// str[VERSION_LEN-1] == 0xff &&
1 ) // <20><>д<EFBFBD><D0B4><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>
{
u32 wrAddr;
char * vbuf = &(str[VERSION_LEN-12]);
GetCompileDateTime(vbuf);
wrAddr = (u32)VERSION_INFO;
wrAddr += VERSION_LEN-23;
// STMFlashWrite(wrAddr, (u16*)vbuf, 12/2, 3); // д<><D0B4>flash<73><68>
}
}
}
}
void GetBuildStr(char * str)
{
sprintf(str, "Build: %s %s\r\n", __DATE__, __TIME__);
}