HOMEDIR=$PWD
DEFAULT_BUILD_TYPE=release
DEFAULT_TARGET_PACK_NAME=pack_brandy_native_js
+DEFAULT_CUSTOM_FW_VERSION=1.0.0
TARGET_PACK_NAME=$DEFAULT_TARGET_PACK_NAME
RELEASE_BUILD=$DEFAULT_BUILD_TYPE
{
cd $HOMEDIR/code/sdk/
- echo ./build.py -nhso $CLEAN -$RELEASE_BUILD -build_time=$DATE $TARGET_PACK_NAME 2>&1
- ./build.py -nhso $CLEAN -$RELEASE_BUILD -build_time=$DATE $TARGET_PACK_NAME 2>&1
+ echo ./build.py -nhso $CLEAN -$RELEASE_BUILD -build_time=$DATE -custom_fw_version=$DEFAULT_CUSTOM_FW_VERSION $TARGET_PACK_NAME 2>&1
+ ./build.py -nhso $CLEAN -$RELEASE_BUILD -build_time=$DATE -custom_fw_version=$DEFAULT_CUSTOM_FW_VERSION $TARGET_PACK_NAME 2>&1
+ #./build.py -nhso $CLEAN -$RELEASE_BUILD -build_time=$DATE $TARGET_PACK_NAME 2>&1
ret_code=$?
if [ $ret_code == 0 ]
then
//关于本机内容\r
static void aboutDeviceCmd(uint16_t cmd,uint8_t *crcnum,uint16_t len,uint8_t *totaldata,uint8_t crcvalue)\r
{\r
+\r
+ uint8_t _major,_mid,_minor;\r
+ uapi_get_fw_version(&_major,&_mid,&_minor);\r
cJSON *dataJSON = cJSON_CreateObject();\r
cJSON_AddNumberToObject(dataJSON,"code",1);\r
- cJSON_AddNumberToObject(dataJSON,"major",0);\r
- cJSON_AddNumberToObject(dataJSON,"mid",3);\r
- cJSON_AddNumberToObject(dataJSON,"minor",2);\r
+ cJSON_AddNumberToObject(dataJSON,"major",_major);\r
+ cJSON_AddNumberToObject(dataJSON,"mid",_mid);\r
+ cJSON_AddNumberToObject(dataJSON,"minor",_minor);\r
unsigned char addr[6];\r
bluetooth_get_local_addr(&addr[0],6);\r
char mac_data[24];\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "adv_data_info.adv_length.adv_data_len:%d\r\n",adv_data_len);\r
adv_data[adv_data_len++] = 0x05;//未知 app\r
adv_data[adv_data_len++] = 0x05;\r
- const char str[20];\r
- sprintf(str,"%s",get_version_string());\r
- // printf("str:%s\r\n",str);//V1.1\r
- uint8_t ver1 = 0;//预留\r
- uint8_t ver2 = 0;\r
- uint8_t ver3 = 0;\r
- ver2 = char_to_dec(str[1]);\r
- ver3 = char_to_dec(str[3]);\r
- adv_data[adv_data_len++] = 0x00;\r
- adv_data[adv_data_len++] = ver2;\r
- adv_data[adv_data_len++] = ver3;\r
+\r
+ uint8_t _major,_mid,_minor;\r
+ uapi_get_fw_version(&_major,&_mid,&_minor);\r
+ adv_data[adv_data_len++] = _major;\r
+ adv_data[adv_data_len++] = _mid;\r
+ adv_data[adv_data_len++] = _minor;\r
\r
if(adv_data_len > BLE_ADV_DATA_MAX_LENGTH)\r
{\r
battery_point_val[1] = 0;//当前表盘几\r
battery_point_val[2] = 1;\r
\r
- const char str[20];\r
- sprintf(str,"%s",get_version_string());\r
- // printf("str:%s\r\n",str);//V1.1.1\r
- uint8_t ver1 = 0;//预留\r
- uint8_t ver2 = 0;\r
- uint8_t ver3 = 0;\r
- if(strlen(str) == 4)\r
- {\r
- ver2 = char_to_dec(str[1]);\r
- ver3 = char_to_dec(str[3]);\r
- }else if(strlen(str) == 6)\r
- {\r
- ver1= char_to_dec(str[1]);\r
- ver2 = char_to_dec(str[3]);\r
- ver3 = char_to_dec(str[5]);\r
- }\r
- \r
+ uint8_t _major,_mid,_minor;\r
+ uapi_get_fw_version(&_major,&_mid,&_minor);\r
\r
- battery_point_val[3] = ver1;//固件版本号\r
- battery_point_val[4] = ver2;\r
- battery_point_val[5] = ver3;\r
+ battery_point_val[3] = _major;//固件版本号\r
+ battery_point_val[4] = _mid;\r
+ battery_point_val[5] = _minor;\r
\r
bd_addr_t addr_info;\r
ret = gap_ble_get_local_addr(&addr_info);\r
output_path = sdk_target_env.get_output_path()
self.compile_target(sdk_target, sdk_target_env)
self.sdk.copy_depends('%s/cmake_trace.txt' % output_path)
- self.sdk.sdk_build(self.build_time, self.no_hso, self.build_level)
+ self.sdk.sdk_build(self.build_time, self.no_hso, self.build_level,self.custom_fw_version)
self.sdk = None
return
self.add_cmake_param('-DPY_PATH=%s' % self.python_path)
if self.build_time != '':
self.add_cmake_param('-DBUILD_TIME=%s' % self.build_time)
-
+ if self.custom_fw_version != '':
+ self.add_cmake_param('-DCUSTOM_FW_VERSION=%s' % self.custom_fw_version)
def pre_sdk(self, output_path, env):
if not self.sdk:
return
"""
accept string only
"""
+ print(param)
self.cmake_cmd.append(param)
def add_cmake_def(self, env, item):
self.generator = "Ninja"
self.dump = False
self.build_time = ''
+ self.custom_fw_version = ''
self.parse_cmd(param_list)
def parse_cmd(self, param_list):
self.extr_defines.extend(param[5:].split(','))
elif param.startswith('-build_time='):
self.build_time = param[12:].split(',')[0]
+ elif param.startswith('-custom_fw_version='):
+ self.custom_fw_version = param[19:].split(',')[0]
elif param.startswith('-component='):
self.component.extend(param[11:].split(','))
elif param.startswith('-out_libs='):
rm_pyc(os.path.join(output_root, 'sdk', 'build'))
rm_pyc(os.path.join(output_root, 'sdk', 'tools', 'pkg'))
- def sdk_build(self, build_time, nhso, build_level):
+ def sdk_build(self, build_time, nhso, build_level, custom_fw_version):
org_pwd = os.getcwd()
os.chdir(self.sdk_root_path)
build_targets = self.env.get('pkg_target_name', cmake_type=False)
sdk_build_cmd = ['./build.py', target]
if build_time != '':
sdk_build_cmd.append("-build_time=%s" %build_time)
+ if custom_fw_version != '':
+ sdk_build_cmd.append("-custom_fw_version=%s" %custom_fw_version)
if nhso == True:
sdk_build_cmd.append("-nhso")
if build_level == 'release':
char str[VER_STR_MAX];
#if !(defined BUILD_TIME)
#warning no BUILD_TIME
- (void)sprintf_s(str, VER_STR_MAX, "%s",
+ (void)sprintf_s(str, VER_STR_MAX, "V%s",
get_version_string());
#else
- (void)sprintf_s(str, VER_STR_MAX, "%s_%s",
+ (void)sprintf_s(str, VER_STR_MAX, "V%s_%s",
get_version_string(), BUILD_TIME);
#endif
return ERRCODE_SUCC;
}
+errcode_t uapi_get_fw_version(uint8_t *_major, uint8_t *_mid,uint8_t *_minor)
+{
+ if (_major==NULL || _mid == NULL || _minor == NULL)
+ return ERRCODE_FAIL;
+
+ const char* version = get_version_string();
+ uint8_t tmpverlen = strlen(version);
+ if (tmpverlen>20) return ERRCODE_FAIL;
+ char * tmpver = (char*) malloc(tmpverlen);
+ if (tmpver==NULL)
+ {
+ *_major = 1;
+ *_mid = 0;
+ *_minor = 0;
+
+ }else{
+ memcpy_s(tmpver,tmpverlen,version,tmpverlen);
+ char *pchStrTmpIn = NULL;
+ char *tokbuf=NULL;
+ tokbuf=strtok_r(tmpver,".",&pchStrTmpIn);
+ if(tokbuf!=NULL)
+ *_major = atoi(tokbuf);
+ tokbuf=strtok_r(NULL,".",&pchStrTmpIn);
+ if(tokbuf!=NULL)
+ *_mid = atoi(tokbuf);
+ tokbuf=strtok_r(NULL,".",&pchStrTmpIn);
+ if(tokbuf!=NULL)
+ *_minor = atoi(tokbuf);
+ printf("major %d,mid %d , minor %d\n",*_major,*_mid,*_minor);
+
+ free(tmpver);
+ tmpver=NULL;
+ }
+
+
+ return ERRCODE_SUCC;
+}
#include "vibrator.h"
void vibrator_cyclicity(uint16_t duty , uint16_t cycle_time_ms,uint16_t duration_time_ms)
errcode_t uapi_terminate_thread(void* thread_id);
errcode_t uapi_get_buildversion(uint8_t *para, uint32_t para_len);
+
+//获取固件版本号
+errcode_t uapi_get_fw_version(uint8_t *_major, uint8_t *_mid,uint8_t *_minor);
+
/**
* @}
*/
set(PRIVATE_DEFINES
)
-set(PUBLIC_DEFINES
-)
+
+if (DEFINED CUSTOM_FW_VERSION)
+ set(PUBLIC_DEFINES
+ FIRMWARE_VERSION_STRING="${CUSTOM_FW_VERSION}"
+ )
+else()
+ set(PUBLIC_DEFINES
+ )
+endif()
+
# use this when you want to add ccflags like -include xxx
set(COMPONENT_PUBLIC_CCFLAGS