116 lines
2.8 KiB
C
116 lines
2.8 KiB
C
/*****************************************************************************
|
|
*
|
|
* MSO Corporation
|
|
*
|
|
* File : app_ver.c
|
|
* Compiler : IAR C 6.30C Kickstart
|
|
* Revision : $Revision: 1.0 $
|
|
* Date : $Date: 2014 / 01 / 04
|
|
* Updated by : $Author: Jongkwang Woo
|
|
*
|
|
* Support mail : spirit0305@naver.com
|
|
*
|
|
* Target platform : BMCU(Based STM32F407) support
|
|
*
|
|
* AppNote : BMCU Application
|
|
*
|
|
* Description : BMCU F/W version app routines
|
|
*
|
|
****************************************************************************/
|
|
|
|
#define _APP_VER_
|
|
|
|
#include <includes.h>
|
|
#include <string.h>
|
|
#include "app_ver.h"
|
|
|
|
#define APP_VER_CRITICAL 4
|
|
#define APP_VER_MAJOR 0
|
|
#define APP_VER_MINOR 0
|
|
#define APP_VER_COMPILE 1
|
|
|
|
void GetAppVersion(u8 *ver)
|
|
{
|
|
ver[0] = APP_VER_CRITICAL;
|
|
ver[1] = APP_VER_MAJOR;
|
|
ver[2] = APP_VER_MINOR;
|
|
ver[3] = APP_VER_COMPILE;
|
|
}
|
|
|
|
#ifdef CONSOLE_DEBUG
|
|
|
|
void APPVerDisplay(void)
|
|
{
|
|
u8 ver[4];
|
|
|
|
GetAppVersion(ver);
|
|
|
|
printf(" %s [OPERATING] VER %d.%d.%d.%d [HW1:STM32+PL455, R401-JKW] [%s %s]",
|
|
BD_MODEL,
|
|
ver[0],
|
|
ver[1],
|
|
ver[2],
|
|
ver[3],
|
|
__DATE__,
|
|
__TIME__
|
|
);
|
|
}
|
|
|
|
u16 GetAppVersionStr(u8 *vStr)
|
|
{
|
|
sprintf((char *)vStr, "%d.%d.%d.%d",
|
|
APP_VER_CRITICAL,
|
|
APP_VER_MAJOR,
|
|
APP_VER_MINOR,
|
|
APP_VER_COMPILE
|
|
);
|
|
return strlen((char *)vStr);
|
|
}
|
|
|
|
void GET_BUILD_DATETIME(u8 *datetime)
|
|
{
|
|
u8 date_str[12];
|
|
u8 time_str[12];
|
|
|
|
sprintf((char *)date_str, "%s", __DATE__);
|
|
sprintf((char *)time_str, "%s", __TIME__);
|
|
|
|
memcpy(&datetime[0], &date_str[7], 4); //year
|
|
|
|
if (memcmp(&date_str[0], "Jan", 3) == 0) //month
|
|
memcpy(&datetime[4], "01", 2);
|
|
else if (memcmp(&date_str[0], "Feb", 3) == 0)
|
|
memcpy(&datetime[4], "02", 2);
|
|
else if (memcmp(&date_str[0], "Mar", 3) == 0)
|
|
memcpy(&datetime[4], "03", 2);
|
|
else if (memcmp(&date_str[0], "Apr", 3) == 0)
|
|
memcpy(&datetime[4], "04", 2);
|
|
else if (memcmp(&date_str[0], "May", 3) == 0)
|
|
memcpy(&datetime[4], "05", 2);
|
|
else if (memcmp(&date_str[0], "Jun", 3) == 0)
|
|
memcpy(&datetime[4], "06", 2);
|
|
else if (memcmp(&date_str[0], "Jul", 3) == 0)
|
|
memcpy(&datetime[4], "07", 2);
|
|
else if (memcmp(&date_str[0], "Aug", 3) == 0)
|
|
memcpy(&datetime[4], "08", 2);
|
|
else if (memcmp(&date_str[0], "Sep", 3) == 0)
|
|
memcpy(&datetime[4], "09", 2);
|
|
else if (memcmp(&date_str[0], "Oct", 3) == 0)
|
|
memcpy(&datetime[4], "10", 2);
|
|
else if (memcmp(&date_str[0], "Nov", 3) == 0)
|
|
memcpy(&datetime[4], "11", 2);
|
|
else if (memcmp(&date_str[0], "Dec", 3) == 0)
|
|
memcpy(&datetime[4], "12", 2);
|
|
|
|
memcpy(&datetime[6], &date_str[4], 2); //date
|
|
if (datetime[6] == ' ')
|
|
datetime[6] = '0';
|
|
|
|
memcpy(&datetime[ 8], &time_str[0], 2); //hour
|
|
memcpy(&datetime[10], &time_str[3], 2); //min
|
|
memcpy(&datetime[12], &time_str[6], 2); //sec
|
|
}
|
|
|
|
#endif // #ifdef CONSOLE_DEBUG
|
|
|