/***************************************************************************** * * 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 #include #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