From 4d384e23a02dcddd3e17b0fc57d70008d3ff9741 Mon Sep 17 00:00:00 2001 From: SnickerSun Date: Sat, 13 Apr 2024 11:01:45 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E5=A4=8DConfigModel=E5=AD=97=E7=AC=A6?= =?utf8?q?=E4=B8=B2=E6=95=B0=E6=8D=AE=E5=AD=98=E5=82=A8=E8=8E=B7=E5=8F=96?= =?utf8?q?=E5=87=BD=E6=95=B0=20=E6=B7=BB=E5=8A=A0startup=5Fpost=5Finit=20?= =?utf8?q?=EF=BC=8C=E6=A0=B9=E6=8D=AE=E9=85=8D=E7=BD=AE=E4=BF=A1=E6=81=AF?= =?utf8?q?=EF=BC=8C=E5=BC=80=E5=90=AF=E5=92=8C=E5=85=B3=E9=97=AD=E5=AF=B9?= =?utf8?q?=E5=BA=94=E7=9A=84=E6=9C=8D=E5=8A=A1=EF=BC=8C=E8=AE=BE=E5=A4=87?= =?utf8?q?=E7=94=B5=E6=BA=90=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../brandy/brandy_standard/thread_pri_init.c | 17 +++-- .../nativeui/config/include/ConfigModel.h | 10 +-- .../nativeui/config/src/ConfigModel.cpp | 19 +++--- .../language/src/LanguageSwitchModel.cpp | 4 +- .../system/src/SystemAboutTheWatchView.cpp | 23 +++++-- .../nativeui/system/src/Systemupgrade.cpp | 10 +-- .../brandy_evb/board_config/board_evb.h | 8 ++- code/sdk/drivers/peripheral/lcd/lcd_private.c | 2 +- .../peripheral/slip/cat1Service/cat1_ctl.cpp | 12 ++-- .../slip/cat1Service/cat1_server.cpp | 10 +-- .../drivers/peripheral/utils/custom_utils.c | 66 +++++++++++++++++-- .../brandy/nv/nv_config/cfg/acore/app.json | 2 +- .../chips/brandy/pm/include/pm_definition.h | 1 + 13 files changed, 131 insertions(+), 53 deletions(-) diff --git a/code/sdk/application/brandy/brandy_standard/thread_pri_init.c b/code/sdk/application/brandy/brandy_standard/thread_pri_init.c index f1b1af17e..4b14ac0c8 100755 --- a/code/sdk/application/brandy/brandy_standard/thread_pri_init.c +++ b/code/sdk/application/brandy/brandy_standard/thread_pri_init.c @@ -363,9 +363,7 @@ static void thread_main(const void *unused) #ifdef ENABLE_SLIP slip_uart_init(); #endif -#ifdef SUPPORT_CAT1_SERVICE - cat1_server_init(); -#endif + #ifdef ENABLE_CYWEE uapi_cywee_service_init(); @@ -373,13 +371,24 @@ static void thread_main(const void *unused) #ifdef SUPPORT_BLE_SERVICE if(start_ble_service_on_bootup_flag()) - svr_bluetooth_init(); + { + PRINT("start custom protocol classic bt ble service !\r\n"); + openBle(); + + } #endif #ifdef SUPPORT_ALIPAY_SEC uapi_alipay_svr_init(); #endif // ble_hid_server_init(); + +#ifdef SUPPORT_CAT1_SERVICE + cat1_server_init(); +#endif + + startup_post_init(); + set_startup_finish_flag(); diff --git a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h index 93346b529..de5abd701 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h @@ -116,11 +116,11 @@ namespace OHOS void SetLanguage(int languageid); int GetLanguage(); void SetLanguageCode(char *languagecode); - const char *GetLanguageCode(void); + std::string GetLanguageCode(void); - char *Getimei(); - char *GetpyVer(); - char *GetmoderVer(); + std::string Getimei(); + std::string GetpyVer(); + std::string GetmoderVer(); void Setimei(char *str); void SetpyVer(char *str); @@ -139,7 +139,7 @@ namespace OHOS private: configmodel_item configmodel_item_key_name[CONFIGMODEL_ITEM_MAX] = { - {ConfigDataType::DATATYPE_BOOL, "ClassicBT_Service_On", "true" },//CONFIGMODEL_ITEM_CLASSIC_BT_SERVICE_ON, //关机前经典蓝牙服务状态,启动时仍然恢复其当时状态 + {ConfigDataType::DATATYPE_BOOL, "ClassicBT_Service_On", "false" },//CONFIGMODEL_ITEM_CLASSIC_BT_SERVICE_ON, //关机前经典蓝牙服务状态,启动时仍然恢复其当时状态 {ConfigDataType::DATATYPE_INT, "ScreenBrightness", "255" },//CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE, {ConfigDataType::DATATYPE_INT, "ScreenOffTimeoutValue", "5000" },//CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE, 自动息屏时间,默认5秒 5000ms {ConfigDataType::DATATYPE_BOOL, "Cat1_Service_On", "false" },//CONFIGMODEL_ITEM_CAT1_SERVICE_ON, // 关机前Cat1 Service启动着,则重启仍然启动,反之亦然 diff --git a/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp index 02859fc74..e64594fb3 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp @@ -11,6 +11,7 @@ namespace OHOS ConfigModel::~ConfigModel() { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " ConfigModel::~ConfigModel"); + //手表全生命周期存在,所以不考虑析构释放内存 } ConfigModel *ConfigModel::GetInstance() @@ -525,23 +526,23 @@ namespace OHOS set_condigData_String(CONFIGMODEL_ITEM_LANGUAGE_CODE,languagecode); } - const char *ConfigModel::GetLanguageCode(void) + std::string ConfigModel::GetLanguageCode(void) { - return get_configData_string(CONFIGMODEL_ITEM_LANGUAGE_CODE).c_str(); + return get_configData_string(CONFIGMODEL_ITEM_LANGUAGE_CODE); } - char *ConfigModel::Getimei() + std::string ConfigModel::Getimei() { - return (char*)get_configData_string(CONFIGMODEL_ITEM_CAT1_IMEI).c_str(); + return get_configData_string(CONFIGMODEL_ITEM_CAT1_IMEI); } - char *ConfigModel::GetpyVer() + std::string ConfigModel::GetpyVer() { - return (char*)get_configData_string(CONFIGMODEL_ITEM_CAT1_PYVER).c_str(); + return get_configData_string(CONFIGMODEL_ITEM_CAT1_PYVER); } - char *ConfigModel::GetmoderVer() + std::string ConfigModel::GetmoderVer() { - return (char*)get_configData_string(CONFIGMODEL_ITEM_CAT1_MODEMVER).c_str(); + return get_configData_string(CONFIGMODEL_ITEM_CAT1_MODEMVER); } void ConfigModel::Setimei(char *str) @@ -689,7 +690,7 @@ uint32_t ConfigModelInit(void) */ bool start_ble_service_on_bootup_flag(void) { - return OHOS::ConfigModel::GetInstance()->GetCat1_4Gability(); + return OHOS::ConfigModel::GetInstance()->GetClassicBlueToothState(); } /*** * Cat1服务是否开启 diff --git a/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchModel.cpp index 0875e9a82..10932b2de 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchModel.cpp @@ -14,10 +14,10 @@ namespace OHOS LanguageSwitchModel::LanguageSwitchModel() { p_ConfigModel = ConfigModel::GetInstance(); - if (p_ConfigModel->GetLanguageCode() != nullptr) + // if (p_ConfigModel->GetLanguageCode().c_str() != nullptr) { //printf("%s\n", p_ConfigModel->GetLanguageCode()); - CurLanguageCode = const_cast(p_ConfigModel->GetLanguageCode()); + CurLanguageCode = const_cast(p_ConfigModel->GetLanguageCode().c_str()); } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemAboutTheWatchView.cpp b/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemAboutTheWatchView.cpp index b8769e1b6..27c59e575 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemAboutTheWatchView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemAboutTheWatchView.cpp @@ -269,7 +269,12 @@ namespace OHOS .text = "", .lineBreakMode = UILabel::LINE_BREAK_ELLIPSIS, }; - Config.text = ConfigModel::GetInstance()->Getimei(); + Config.text = const_cast(ConfigModel::GetInstance()->Getimei().c_str()); + + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Imei %s , %s \r\n",Config.text,ConfigModel::GetInstance()->Getimei().c_str()); + + + AlgorithmVersion = InitLabel(Config); if (AlgorithmVersion == nullptr) { @@ -299,7 +304,7 @@ namespace OHOS /* -------------------------------------------------------------------------- */ uint8_t btaddr[6] ={0}; uint8_t btaddr_str[64]={0}; - uint32_t len = 64; + uint32_t len = 6; errcode_t ret = uapi_get_nv_btaddr((uint8_t*)btaddr,&len); sprintf((char*)btaddr_str , "%02X:%02X:%02X:%02X:%02X:%02X",btaddr[0],btaddr[1],btaddr[2],btaddr[3],btaddr[4],btaddr[5]); @@ -344,8 +349,8 @@ namespace OHOS SystemAboutTheWatchScrollView->Add(LANAddressTitle); /* -------------------------------------------------------------------------- */ - uint8_t ble_name[20] = {0}; - uint32_t ble_name_len ; + uint8_t ble_name[20] = {0}; + uint32_t ble_name_len = sizeof(ble_name) ; ret = uapi_get_nv_btname(ble_name, &ble_name_len); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"get btname %s ,ret 0x%X\n",ble_name,ret); @@ -434,7 +439,9 @@ namespace OHOS .text = "HarmonyOS Sans", .lineBreakMode = UILabel::LINE_BREAK_WRAP, }; - Config.text=ConfigModel::GetInstance()->GetmoderVer(); + Config.text=const_cast(ConfigModel::GetInstance()->GetmoderVer().c_str()); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "modemver %s , %s \r\n",Config.text,ConfigModel::GetInstance()->GetmoderVer().c_str()); + CAT1mode = InitLabel(Config); if (CAT1mode == nullptr) { @@ -469,10 +476,12 @@ namespace OHOS .height = 30, .fontSize = 26, .lineHeigh = 30, - .text = "HarmonyOS Sans", + .text = "PyVer_3", .lineBreakMode = UILabel::LINE_BREAK_WRAP, }; - Config.text=ConfigModel::GetInstance()->GetpyVer(); + Config.text=const_cast(ConfigModel::GetInstance()->GetpyVer().c_str()); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "pyver %s , %s \r\n",Config.text,ConfigModel::GetInstance()->GetpyVer().c_str()); + pymode = InitLabel(Config); if (CAT1mode == nullptr) { diff --git a/code/sdk/application/wearable/fd230app/nativeui/system/src/Systemupgrade.cpp b/code/sdk/application/wearable/fd230app/nativeui/system/src/Systemupgrade.cpp index 4770968cd..89b506d71 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/system/src/Systemupgrade.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/system/src/Systemupgrade.cpp @@ -394,8 +394,8 @@ namespace OHOS { if(is_new_cat1_version) { - char *imei_str= ConfigModel::GetInstance()->Getimei(); - char * version_buf=ConfigModel::GetInstance()->GetmoderVer(); + char *imei_str= const_cast(ConfigModel::GetInstance()->Getimei().c_str()); + char * version_buf=const_cast(ConfigModel::GetInstance()->GetmoderVer().c_str()); sprintf((char *)uri,"http://icfota.snicker.com.cn:8089/fd230ota.jsp?product=FD230&pkgver=%s&imei=%s",version_buf,imei_str); cat1_ota_update((char *)"0"); container_updating->SetVisible(true); @@ -453,8 +453,8 @@ namespace OHOS } - char *imei_str= ConfigModel::GetInstance()->Getimei(); - char * version_buf=ConfigModel::GetInstance()->GetmoderVer(); + char *imei_str= const_cast(ConfigModel::GetInstance()->Getimei().c_str()); + char * version_buf=const_cast(ConfigModel::GetInstance()->GetmoderVer().c_str()); sprintf((char *)uri, "http://icfota.snicker.com.cn:8089/fd230ota.jsp?product=FD230&pkgver=%s&imei=%s", version_buf,imei_str); @@ -810,7 +810,7 @@ namespace OHOS } display_api->set_screen_set_keepon_timeout(-1); memset(uri,0,256); - char *imei_str= ConfigModel::GetInstance()->Getimei(); + char *imei_str= const_cast(ConfigModel::GetInstance()->Getimei().c_str()); sprintf((char *)uri,"http://icfota.snicker.com.cn:8089/fd230ota.jsp?product=FD230&pkgver=%s&imei=%s",version_buf,imei_str); custom_start_ota_download_ui_1(uri,(uint8_t*)Path,true); diff --git a/code/sdk/drivers/boards/brandy_evb/board_config/board_evb.h b/code/sdk/drivers/boards/brandy_evb/board_config/board_evb.h index 6075ca642..822ed8685 100755 --- a/code/sdk/drivers/boards/brandy_evb/board_config/board_evb.h +++ b/code/sdk/drivers/boards/brandy_evb/board_config/board_evb.h @@ -176,12 +176,12 @@ const hal_pio_config_t g_pio_function_config[PIN_MAX_NUMBER] = { #else { HAL_PIO_FUNC_TE, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L22 MIPI TE #endif - { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_NONE, HAL_PIO_IE_DISABLE }, // S_AGPIO_L23 CAT_1_PWR_ON 控制CAT_1开机脚,或者控制 CAT1电源 拉高有效 + { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L23 CAT_1_PWR_ON 控制CAT_1开机脚,或者控制 CAT1电源 拉高有效 { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L24 LCM_EN { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L25 //////////// audio pa reset { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L26 心率复位 PPG reset { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L27 LCM reset - { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_NONE, HAL_PIO_IE_DISABLE }, // S_AGPIO_L28 CAT_1复位 CAT1_RESET_N 拉低有效 + { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L28 CAT_1复位 CAT1_RESET_N 拉低有效 { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L29 charge done info 检测是否充满电 { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L30 KP_MKIN1 唤醒 CAT1 ,输出 { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L31 KP_MKOUIT1 唤醒 蓝牙 ,输入 @@ -237,7 +237,9 @@ const hal_pio_config_t g_pio_function_config[PIN_MAX_NUMBER] = { */ -#define DEFAULT_POWERON_CAT1 0 +//默认开启Cat1 然后再根据配置决定是否关闭. +#define DEFAULT_POWERON_CAT1 1 + //需要配置默认输出的,以及需要配置默认输入中断函数的。 const hal_gpio_config_t g_gpio_function_config[PIN_MAX_NUMBER] = { diff --git a/code/sdk/drivers/peripheral/lcd/lcd_private.c b/code/sdk/drivers/peripheral/lcd/lcd_private.c index 0554c31b1..1e45a1e0b 100644 --- a/code/sdk/drivers/peripheral/lcd/lcd_private.c +++ b/code/sdk/drivers/peripheral/lcd/lcd_private.c @@ -27,7 +27,7 @@ static void lcd_drv_power_on(void) uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_HIGH); uapi_tcxo_delay_ms(10); /* delay 10 ms */ } -#define USE_OUTPUT_CTL 1 +#define USE_OUTPUT_CTL 0 static void lcd_drv_power_off(void) { #if USE_OUTPUT_CTL diff --git a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ctl.cpp b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ctl.cpp index 0da45797b..4ff317831 100644 --- a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ctl.cpp +++ b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ctl.cpp @@ -80,21 +80,21 @@ void uapi_cat1_stop_volte_voice(void) void uapi_cat1_remove_audio_vote(void) { - uint8_t cnt = pm_veto_get_id_cnt(PM_ID_AUDIO); + uint8_t cnt = pm_veto_get_id_cnt(PM_ID_CAT1); if (cnt == 1) { - uapi_pm_remove_sleep_veto(PM_ID_AUDIO); + uapi_pm_remove_sleep_veto(PM_ID_CAT1); } else { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"CAT1 SERVICE MCU has delete pm_id_audio vote\r\n"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"CAT1 SERVICE MCU has delete pm_id_cat1 vote\r\n"); } WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"\r\nCAT1 SERVICE MCU SLEEP SUCCESS\r\n"); } void uapi_cat1_add_audio_vote(void) { - uint8_t cnt = pm_veto_get_id_cnt(PM_ID_AUDIO); + uint8_t cnt = pm_veto_get_id_cnt(PM_ID_CAT1); if (cnt == 0) { - uapi_pm_add_sleep_veto(PM_ID_AUDIO); + uapi_pm_add_sleep_veto(PM_ID_CAT1); } else { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"CAT1 SERVICE MCU has got pm_id_audio vote\r\n"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"CAT1 SERVICE MCU has got pm_id_cat1 vote\r\n"); } WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"\r\nCAT1 SERVICE MCU WAKEUP SUCCESS\r\n"); } diff --git a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_server.cpp b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_server.cpp index 1e10f1121..04f9297b5 100644 --- a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_server.cpp +++ b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_server.cpp @@ -585,11 +585,11 @@ errcode_t cat1_server_init(void) g_timer_time_sync = osTimerNew((osTimerFunc_t)time_sync_func, osTimerPeriodic, NULL, NULL); - if ( poweron_cat1_on_bootup_flag() ) - { - uapi_cat1_power_on(1); - uapi_cat1_reset(0); - } + // if ( poweron_cat1_on_bootup_flag() ) + // { + // uapi_cat1_power_on(1); + // uapi_cat1_reset(0); + // } if (g_timer_time_sync == NULL) printf("g_timer_time_sync create failed\n"); diff --git a/code/sdk/drivers/peripheral/utils/custom_utils.c b/code/sdk/drivers/peripheral/utils/custom_utils.c index ede379521..891d41e2d 100644 --- a/code/sdk/drivers/peripheral/utils/custom_utils.c +++ b/code/sdk/drivers/peripheral/utils/custom_utils.c @@ -150,6 +150,47 @@ bool is_doing_shutdown_or_reboot(void) { return doing_shutdown_or_reboot; } + +void startup_post_init_task(void) +{ + + PRINT("startup_post_init_task !\r\n"); + + LOS_Msleep(5000); + if ( poweron_cat1_on_bootup_flag() ) + { + PRINT("PowerOn Cat1 !\r\n"); + + uapi_cat1_power_on(1); + uapi_cat1_reset(0); + }else{ + PRINT("PowerOff Cat1 !\r\n"); + + uapi_cat1_power_on(0); + uapi_cat1_reset(1); + } + +} + +void startup_post_init(void) +{ + PRINT("startup_post_init !\r\n"); + app_task_definition_t taskcfg={0}; + taskcfg.create_queue_handle = NULL; + taskcfg.attr.name="startup_post_init_task"; + taskcfg.attr.priority = osPriorityNormal; + taskcfg.attr.stack_size = 0x1000; + taskcfg.func = startup_post_init_task; + taskcfg.use_mem = USE_EXTEND_MEM; + + errcode_t ret=uapi_create_osThread_custom(&taskcfg); + if(ret != ERRCODE_SUCC) + { + PRINT("create shutdown_reboot_prejobs thread failed %d!\r\n",ret); + + } +} + #include "upg.h" #include "upg_porting.h" errcode_t uaip_cmd_update_request(void) @@ -600,7 +641,6 @@ errcode_t init_btaddr_btname(void) { errcode_t ret ; - srand(time(0)); uint8_t bd_addr[BD_ADDR_LEN]={0}; uint8_t name[BTSDK_DEVNAME_LEN]={0}; uint32_t addrlen = sizeof(bd_addr); @@ -610,6 +650,7 @@ errcode_t init_btaddr_btname(void) printf("uapi_get_nv_btaddr failed ret %d , addrlen %d\n",ret,addrlen); return ERRCODE_FAIL; } + //如果 281106856959 if ( bd_addr[5] == 0x59 && bd_addr[4] == 0x69 && @@ -618,11 +659,25 @@ errcode_t init_btaddr_btname(void) bd_addr[1] == 0x11 && bd_addr[0] == 0x28 ) { + + uint8_t soc_id[20]; // 20 is soc id length + uapi_soc_read_id(soc_id, 20); // 20 is soc id length + uint16_t sum = 0x0; + printf("[soc id:]\r\n"); + for (uint8_t i = 0; i < 20; i += 2) { // 20 is soc id length, 2 means use 16bits + uint16_t ptmp16= *((uint16_t *)&soc_id[i]); + sum += ptmp16; + printf("0x%04X ", ptmp16); + if ((i + 2) % 8 == 0) { printf("\r\n"); } // 2&8 will word wrap + } + printf("get socid sum 0x%04X\r\n",sum); + srand(sum); //默认是:281106856959 printf("是默认值,修改地址\n"); - bd_addr[5] = rand() % 0xFF; - bd_addr[4] = rand() % 0xFF; bd_addr[3] = rand() % 0xFF; + bd_addr[4] = rand() % 0xFF; + bd_addr[5] = rand() % 0xFF; + printf("uapi_set_nv_btaddr : ******%02x%02x%02x\n", bd_addr[3], bd_addr[4], bd_addr[5]); ret = uapi_set_nv_btaddr(bd_addr, addrlen); @@ -634,7 +689,8 @@ errcode_t init_btaddr_btname(void) } - + +#if 0 uint32_t namelen = sizeof(name); ret = uapi_get_nv_btname(name,&namelen); if (ret != ERRCODE_SUCC) { @@ -642,7 +698,6 @@ errcode_t init_btaddr_btname(void) printf("uapi_get_nv_btname failed ret %d , namelen %d\n",ret,namelen); return ERRCODE_FAIL; } - if ( strcmp((char*)name,"WatchSoar") == 0) { //默认是:WatchSoar @@ -656,6 +711,7 @@ errcode_t init_btaddr_btname(void) return ERRCODE_FAIL; } } +#endif return ERRCODE_SUCC; } diff --git a/code/sdk/middleware/chips/brandy/nv/nv_config/cfg/acore/app.json b/code/sdk/middleware/chips/brandy/nv/nv_config/cfg/acore/app.json index 52dc09067..1e6fff5e1 100755 --- a/code/sdk/middleware/chips/brandy/nv/nv_config/cfg/acore/app.json +++ b/code/sdk/middleware/chips/brandy/nv/nv_config/cfg/acore/app.json @@ -41,7 +41,7 @@ "key_status": "alive", "structure_type": "btsrv_local_device_info_t", "attributions": 1, - "value": [[40,17,6,133,105, 89],0,0,["W","a","t","c","h","S","o","a","r",0]] + "value": [[40,17,6,133,105, 89],0,0,["W","a","t","c","h","D","e","m","o",0]] }, "btsrv_paired_device_info":{ "key_id": "0x2102", diff --git a/code/sdk/middleware/chips/brandy/pm/include/pm_definition.h b/code/sdk/middleware/chips/brandy/pm/include/pm_definition.h index bc2d0d9f0..16c84a7e4 100755 --- a/code/sdk/middleware/chips/brandy/pm/include/pm_definition.h +++ b/code/sdk/middleware/chips/brandy/pm/include/pm_definition.h @@ -42,6 +42,7 @@ typedef enum { PM_ID_HEART,//新增,心率芯片 PM_ID_MOTOR,//新增,马达 PM_ID_GSENSOR,//新增,加速计 + PM_ID_CAT1,//Cat1 communication PM_ID_MAX, } pm_id_t; -- 2.17.1