feat: KT mBMS 펌웨어 3종(HW1/2/3) 및 통합 빌드 환경 초기 커밋 (V4.0.0.1)
This commit is contained in:
135
APP_R3221/App/Source/app_ver.c
Normal file
135
APP_R3221/App/Source/app_ver.c
Normal file
@@ -0,0 +1,135 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* @file app_ver.c
|
||||
* @author AMG Energy Solution Team
|
||||
* @version V1.0.0
|
||||
* @date 07-Feb-2022
|
||||
* @brief This file provides all the code of the application version.
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
|
||||
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
|
||||
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
|
||||
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*
|
||||
* <h2><center>© COPYRIGHT 2022 AMG</center></h2>
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
/** @addtogroup mBMS2
|
||||
* @{
|
||||
*/
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include <includes.h>
|
||||
#include <string.h>
|
||||
#include "app_ver.h"
|
||||
|
||||
/* Private typedef -----------------------------------------------------------*/
|
||||
/* Private define ------------------------------------------------------------*/
|
||||
#define APP_VER_CRITICAL 4
|
||||
#define APP_VER_MAJOR 0
|
||||
#define APP_VER_MINOR 0
|
||||
#define APP_VER_COMPILE 1
|
||||
/* Private macro -------------------------------------------------------------*/
|
||||
/* Private variables ---------------------------------------------------------*/
|
||||
/* Private prototype functions -----------------------------------------------*/
|
||||
/* Private functions ---------------------------------------------------------*/
|
||||
|
||||
void GetAppVersion(uint8_t *ver)
|
||||
{
|
||||
ver[0] = APP_VER_CRITICAL;
|
||||
ver[1] = APP_VER_MAJOR;
|
||||
ver[2] = APP_VER_MINOR;
|
||||
ver[3] = APP_VER_COMPILE;
|
||||
}
|
||||
|
||||
void GetAppSecretId(uint8_t *secret)
|
||||
{
|
||||
secret[0] = DEV_SECRET_SIG; // 0x57 ('W')
|
||||
secret[1] = DEV_HW_TYPE; // 0x22 (V2)
|
||||
secret[2] = DEV_BUILD_REV; // 0x01 (R401)
|
||||
}
|
||||
|
||||
#ifdef CONSOLE_DEBUG
|
||||
|
||||
void APPVerDisplay(void)
|
||||
{
|
||||
uint8_t ver[4];
|
||||
|
||||
GetAppVersion(ver);
|
||||
|
||||
printf(" %s [OPERATING] VER %d.%d.%d.%d (%s, R401-JKW) [%s %s]",
|
||||
BD_MODEL,
|
||||
ver[0],
|
||||
ver[1],
|
||||
ver[2],
|
||||
ver[3],
|
||||
DEV_HW_STRING,
|
||||
__DATE__,
|
||||
__TIME__
|
||||
);
|
||||
}
|
||||
|
||||
uint16_t GetAppVersionStr(uint8_t *vStr)
|
||||
{
|
||||
sprintf((char *)vStr, "%d.%d.%d.%d (%s)",
|
||||
APP_VER_CRITICAL,
|
||||
APP_VER_MAJOR,
|
||||
APP_VER_MINOR,
|
||||
APP_VER_COMPILE,
|
||||
DEV_HW_STRING
|
||||
);
|
||||
return strlen((char *)vStr);
|
||||
}
|
||||
|
||||
void GET_BUILD_DATETIME(uint8_t *datetime)
|
||||
{
|
||||
uint8_t date_str[12];
|
||||
uint8_t 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
|
||||
|
||||
/*******************(C)COPYRIGHT 2022 AMG ********************END OF FILE******/
|
||||
Reference in New Issue
Block a user