From 5e4543cc8e7c9ef93a10e9c4d792154f709b9e2f Mon Sep 17 00:00:00 2001 From: "snickersun@163.com" Date: Tue, 9 Jul 2024 12:20:40 +0000 Subject: [PATCH] Merge #489 into sdk602patch0626 from refs/changes/489/head MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Code review from snickersun@163.com * refs/changes/489/head: (6 commits squashed) - 更新bt.bin 2024-7-9 解决重复接收消息,发送丢包问题 - 扩大 at_cmd 栈大小,修复at_cmd指令无法执行问题。此处是合并代码时 误改回sdk版本造成的。 - Merge branch 'sdk602patch0626' of codeup.aliyun.com:64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - CustomEventPublish 统一迁移到custom_utilscpp.cpp中实现 - 修复消息内存泄漏 - Merge branch 'sdk602patch0626' of codeup.aliyun.com:64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 Signed-off-by: snickersun@163.com Reviewed-by: snickersun@163.com Merged-by: snickersun@163.com CR-link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/489 --- .../battery/service/battery_service.cpp | 27 ++----- .../brandy/brandy_standard/thread_init.c | 2 +- .../src/AlarmClockTimerConfig.cpp | 70 +++++++++---------- .../peripheral/ppg/service/ppg_service.cpp | 46 ------------ .../peripheral/ppg/service/ppg_service.h | 6 +- .../slip/cat1Service/cat1_server.cpp | 22 +++--- .../slip/cat1Service/cat1_server_hal.cpp | 52 +------------- .../peripheral/utilscpp/custom_utilscpp.cpp | 62 +++++++++++++++- .../peripheral/utilscpp/custom_utilscpp.h | 1 + .../hals/lite_input_distributer.cpp | 18 ++--- code/sdk/tools/pkg/bin/brandy/bt.bin | 4 +- 11 files changed, 128 insertions(+), 182 deletions(-) diff --git a/code/sdk/application/battery/service/battery_service.cpp b/code/sdk/application/battery/service/battery_service.cpp index 11c89da2e..33b822165 100644 --- a/code/sdk/application/battery/service/battery_service.cpp +++ b/code/sdk/application/battery/service/battery_service.cpp @@ -381,41 +381,24 @@ void ChargerEventPublish(uint16_t topic, uint32_t data) { int32 ret; uint32 size = sizeof(uint32_t); - Request *request = NULL; BroadcastApi *broadcastApi = NULL; IUnknown *api = NULL; WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish topic=%u!!", topic); - - /* alloc request */ - request = SAMGR_AllocRequestMsg(0, PLATFORM_CORE, BROADCAST_SVR_ID, size); - if (request == NULL) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SAMGR_AllocRequestMsg failed"); - return; - } - request->msgId = topic; - ret = memcpy_s(request->data, size, (const void *)&data, size); - if (ret != EOK) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish memcpy_s rateDataTmp fail! ret = %d", ret); - return; - } - request->len = size; - request->msgValue = 0; - + + Request request = {.msgId = topic, .len = size, .msgValue = 0 , .data = nullptr}; /* public request */ api = SAMGR_GetInstance()->GetFeatureApi(BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME); - if (api == NULL) { + if (api == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetFeatureApi failed"); - SAMGR_FreeRequestMsg(request); return; } ret = api->QueryInterface(api, DEFAULT_VERSION, (void **)&broadcastApi); - if (ret != 0 || broadcastApi == NULL) { + if (ret != 0 || broadcastApi == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "QueryInterface failed"); - SAMGR_FreeRequestMsg(request); return; } - broadcastApi->PublishTopic((IUnknown *)broadcastApi, request); + broadcastApi->PublishTopic((IUnknown *)broadcastApi, &request); broadcastApi->Release((IUnknown *)broadcastApi); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish end!!"); diff --git a/code/sdk/application/brandy/brandy_standard/thread_init.c b/code/sdk/application/brandy/brandy_standard/thread_init.c index ba6357925..9d89db896 100755 --- a/code/sdk/application/brandy/brandy_standard/thread_init.c +++ b/code/sdk/application/brandy/brandy_standard/thread_init.c @@ -135,7 +135,7 @@ app_task_definition_t g_app_tasks[] = { { { "bt_sdk", 0, NULL, 0, NULL, BTH_SDK_STACK_SIZE, TASK_PRIORITY_SDK, 0, 0 }, (osThreadFunc_t)bt_acore_task_main, NULL, NULL, USE_DTCM_MEM }, #ifdef SUPPORT_AT_CMD - { { "at_cmd", 0, NULL, 0, NULL, 0xC00, TASK_PRIORITY_APP, 0, 0 }, + { { "at_cmd", 0, NULL, 0, NULL, 0x1C00, TASK_PRIORITY_APP, 0, 0 }, (osThreadFunc_t)at_cmd_task_process_handler, NULL, (CreateQueueFunction_t)at_cmd_task_queue_init, USE_EXTEND_MEM }, #endif diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp b/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp index 1bab4d49a..f9f33aef3 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp @@ -129,48 +129,45 @@ extern "C" { int32 ret; - Request *request = NULL; BroadcastApi *broadcastApi = NULL; IUnknown *api = NULL; WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish topic=%u!!", topic); - /* alloc request */ - request = SAMGR_AllocRequestMsg(0, PLATFORM_CORE, BROADCAST_SVR_ID, size); - if (request == NULL) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SAMGR_AllocRequestMsg failed"); - return; - } - request->msgId = topic; + + void *publishData = nullptr; if (size > 0) { - ret = memcpy_s(request->data, size, (const void *)data, size); + publishData = malloc(size); + if (publishData == nullptr) { + return; + } + ret = memcpy_s(publishData, size, (const void *)data, size); if (ret != EOK) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish memcpy_s rateDataTmp fail! ret = %d", ret); + free(publishData); return; } } - - request->len = size; - request->msgValue = 0; - + + Request request = {.msgId = topic, .len = size, .msgValue = 0,.data = publishData}; + /* public request */ api = SAMGR_GetInstance()->GetFeatureApi(BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME); if (api == NULL) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetFeatureApi failed"); - SAMGR_FreeRequestMsg(request); + free(publishData); return; } ret = api->QueryInterface(api, DEFAULT_VERSION, (void **)&broadcastApi); if (ret != 0 || broadcastApi == NULL) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "QueryInterface failed"); - SAMGR_FreeRequestMsg(request); + free(publishData); return; } - broadcastApi->PublishTopic((IUnknown *)broadcastApi, request); + broadcastApi->PublishTopic((IUnknown *)broadcastApi, &request); broadcastApi->Release((IUnknown *)broadcastApi); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish end!!"); @@ -180,45 +177,46 @@ extern "C" { int32 ret; uint32 size = sizeof(AlarmClockEventData); - Request *request = nullptr; BroadcastApi *broadcastApi = nullptr; IUnknown *api = nullptr; WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmTimerEventPublish topic=%u!!", topic); - /* alloc request */ - request = SAMGR_AllocRequestMsg(0, PLATFORM_CORE, BROADCAST_SVR_ID, size); - if (request == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SAMGR_AllocRequestMsg failed"); - return; - } - request->msgId = topic; - ret = memcpy_s(request->data, size, (const void *)&data, size); - if (ret != EOK) + + void *publishData = nullptr; + if (size > 0) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmTimerEventPublish memcpy_s rateDataTmp fail! ret = %d", ret); - return; + publishData = malloc(size); + if (publishData == nullptr) { + return; + } + ret = memcpy_s(publishData, size, (const void *)&data, size); + if (ret != EOK) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish memcpy_s rateDataTmp fail! ret = %d", ret); + free(publishData); + return; + } } - request->len = size; - request->msgValue = 0; - + + Request request = {.msgId = topic, .len = size, .msgValue = 0,.data = publishData}; + /* public request */ api = SAMGR_GetInstance()->GetFeatureApi(BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME); if (api == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetFeatureApi failed"); - SAMGR_FreeRequestMsg(request); + free(publishData); return; } ret = api->QueryInterface(api, DEFAULT_VERSION, (void **)&broadcastApi); if (ret != 0 || broadcastApi == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "QueryInterface failed"); - SAMGR_FreeRequestMsg(request); + free(publishData); return; } - broadcastApi->PublishTopic((IUnknown *)broadcastApi, request); + broadcastApi->PublishTopic((IUnknown *)broadcastApi, &request); broadcastApi->Release((IUnknown *)broadcastApi); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmTimerEventPublish end!!"); diff --git a/code/sdk/drivers/peripheral/ppg/service/ppg_service.cpp b/code/sdk/drivers/peripheral/ppg/service/ppg_service.cpp index c9ad9231e..c198c3bd8 100644 --- a/code/sdk/drivers/peripheral/ppg/service/ppg_service.cpp +++ b/code/sdk/drivers/peripheral/ppg/service/ppg_service.cpp @@ -75,53 +75,7 @@ void set_keep_in_wear_det_mode(uint8_t mod) { keep_in_wear_det_mod = mod; } -void CustomEventPublish(uint16_t topic, uint8_t *data , uint32_t size) -{ - int32 ret; - - Request *request = NULL; - BroadcastApi *broadcastApi = NULL; - IUnknown *api = NULL; - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish topic=%u!!", topic); - - /* alloc request */ - request = SAMGR_AllocRequestMsg(0, PLATFORM_CORE, BROADCAST_SVR_ID, size); - if (request == NULL) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SAMGR_AllocRequestMsg failed"); - return; - } - request->msgId = topic; - if (size > 0) - { - ret = memcpy_s(request->data, size, (const void *)data, size); - if (ret != EOK) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish memcpy_s rateDataTmp fail! ret = %d", ret); - return; - } - } - - request->len = size; - request->msgValue = 0; - - /* public request */ - api = SAMGR_GetInstance()->GetFeatureApi(BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME); - if (api == NULL) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "GetFeatureApi failed"); - SAMGR_FreeRequestMsg(request); - return; - } - ret = api->QueryInterface(api, DEFAULT_VERSION, (void **)&broadcastApi); - if (ret != 0 || broadcastApi == NULL) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "QueryInterface failed"); - SAMGR_FreeRequestMsg(request); - return; - } - broadcastApi->PublishTopic((IUnknown *)broadcastApi, request); - broadcastApi->Release((IUnknown *)broadcastApi); - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish end!!"); - return; -} //漏光测试 errcode_t update_leaklight_event_notify(uint8_t *data) { diff --git a/code/sdk/drivers/peripheral/ppg/service/ppg_service.h b/code/sdk/drivers/peripheral/ppg/service/ppg_service.h index bf0e0a19c..ff1a26cfa 100644 --- a/code/sdk/drivers/peripheral/ppg/service/ppg_service.h +++ b/code/sdk/drivers/peripheral/ppg/service/ppg_service.h @@ -1,8 +1,8 @@ /* * @Author: penglei 1624952103@qq.com * @Date: 2024-03-27 09:07:00 - * @LastEditors: penglei 1624952103@qq.com - * @LastEditTime: 2024-06-17 17:46:26 + * @LastEditors: SnickerSun snickersun@163.com + * @LastEditTime: 2024-07-09 16:49:38 * @FilePath: /FD230/code/sdk/drivers/peripheral/ppg/service/ppg_service.h * @Description: * @@ -82,7 +82,7 @@ typedef struct { uint64_t timestamp; //上报数据时间戳, 单位ms }ppg_data_t; -void CustomEventPublish(uint16_t topic, uint8_t *data , uint32_t size); + //设置佩戴检测模式 void set_keep_in_wear_det_mode(uint8_t mod); diff --git a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_server.cpp b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_server.cpp index 91e1374cb..916fd37e3 100644 --- a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_server.cpp +++ b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_server.cpp @@ -90,7 +90,8 @@ enum UDP_COMMAND_HEAD { UDP_MSG_SEND_DMP_CM_ADDRESS = 0x18,//用于BLE发送移动入库地址 to CAT1 接收 }; -static uint8_t g_msg_format_type = 0;// 0: old format , 1: new format +/** 0: old format 1字节cmd, 1: new format 2字节cmd */ +static uint8_t g_msg_format_type = 0; static char ble_buffer[20] = {0}; @@ -1196,7 +1197,16 @@ static int udp_packet_parse(char *rx_buffer, int len) cat1_handle_version_msg(msg_buffer); restart_time_sync(); cat1_getsignal(); - if(g_msg_format_type == 0) break; + + // if(sntp_enabled()==0) + // { + // sntp_init(); + // }else{ + // sntp_stop(); + // sntp_init(); + // } + + if(g_msg_format_type == 0) break; //下面指令只有新格式才支持,因此返回 int stateOld = get_dmp_change_mode_old(); int stateNew = get_dmp_change_mode_toCat1();//0 stateOld = 0 0-1 if (stateNew == 0){//关闭入库功能 把恢复出厂标识清0 @@ -1220,13 +1230,7 @@ static int udp_packet_parse(char *rx_buffer, int len) send_dmp_factory_flag(); } } - if(sntp_enabled()==0) - { - sntp_init(); - }else{ - sntp_stop(); - sntp_init(); - } + } break; case UDP_MSG_GET_TELECON_DMP_TIMESEC://暂时不用 diff --git a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_server_hal.cpp b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_server_hal.cpp index 697a3d9a2..49c4a7ea2 100644 --- a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_server_hal.cpp +++ b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_server_hal.cpp @@ -30,57 +30,7 @@ extern "C" { #include "errno.h" #include "cat1_server_hal.h" - - -static void CustomEventPublish(uint16_t topic, uint8_t *data , uint32_t size) -{ - int32 ret; - - Request *request = NULL; - BroadcastApi *broadcastApi = NULL; - IUnknown *api = NULL; - - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish topic=%u %d %s!!", topic,size,data); - - /* alloc request */ - request = SAMGR_AllocRequestMsg(0, PLATFORM_CORE, BROADCAST_SVR_ID, size); - if (request == NULL) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SAMGR_AllocRequestMsg failed"); - return; - } - request->msgId = topic; - ret = memcpy_s(request->data, size, (const void *)data, size); - - if (ret != EOK) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish memcpy_s rateDataTmp fail! ret = %d ", ret); - return; - } - request->len = size; - request->msgValue = 0; - - - /* public request */ - - api = SAMGR_GetInstance()->GetFeatureApi(BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME); - if (api == NULL) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetFeatureApi failed"); - SAMGR_FreeRequestMsg(request); - return; - } - ret = api->QueryInterface(api, DEFAULT_VERSION, (void **)&broadcastApi); - if (ret != 0 || broadcastApi == NULL) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "QueryInterface failed"); - SAMGR_FreeRequestMsg(request); - return; - } - broadcastApi->PublishTopic((IUnknown *)broadcastApi, request); - broadcastApi->Release((IUnknown *)broadcastApi); - - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish end!!"); - - - return; -} +#include "custom_utils.h" static errcode_t calldial_event_notify(char* callno) { diff --git a/code/sdk/drivers/peripheral/utilscpp/custom_utilscpp.cpp b/code/sdk/drivers/peripheral/utilscpp/custom_utilscpp.cpp index c3922b9c0..61bc6630e 100644 --- a/code/sdk/drivers/peripheral/utilscpp/custom_utilscpp.cpp +++ b/code/sdk/drivers/peripheral/utilscpp/custom_utilscpp.cpp @@ -9,6 +9,16 @@ #include "gfx_utils/mem_check.h" + + +#include "securec.h" +#include "broadcast_service.h" +#include "broadcast_feature.h" +#include "service_id_define.h" +#include "samgr_lite.h" +// #include "thread_adapter.h" +#include "graphic_service.h" + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ @@ -40,12 +50,13 @@ extern "C" { #include "custom_utils.h" #include "cywee_service.h" +#include "wearable_log.h" + #include "upg_lzmadec.h" #include "stdio.h" #include "dfx_file_operation.h" #include "sys/stat.h" #define CUSTOM_DIAL_PATH "/user/dial/custom_dial.bin" - /***************************************************************************************************************/ #include "7zFile.h" @@ -237,6 +248,55 @@ void uapi_dump_meminfo(void) OHOS::MemCheck::GetInstance()->DumpMemInfo(); } + +void CustomEventPublish(uint16_t topic, uint8_t *data , uint32_t size) +{ + int32_t ret; + + BroadcastApi *broadcastApi = NULL; + IUnknown *api = NULL; + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish topic=%u!!", topic); + + + void *publishData = nullptr; + if (size > 0) + { + publishData = malloc(size); + if (publishData == nullptr) { + return; + } + ret = memcpy_s(publishData, size, (const void *)data, size); + if (ret != EOK) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish memcpy_s rateDataTmp fail! ret = %d", ret); + free(publishData); + return; + } + } + + Request request = {.msgId = topic, .len = size, .msgValue = 0,.data = publishData}; + + + /* public request */ + api = SAMGR_GetInstance()->GetFeatureApi(BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME); + if (api == NULL) { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "GetFeatureApi failed"); + free(publishData); + return; + } + ret = api->QueryInterface(api, DEFAULT_VERSION, (void **)&broadcastApi); + if (ret != 0 || broadcastApi == NULL) { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "QueryInterface failed"); + free(publishData); + return; + } + broadcastApi->PublishTopic((IUnknown *)broadcastApi, &request); + broadcastApi->Release((IUnknown *)broadcastApi); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish end!!"); + + return; +} + #ifdef __cplusplus } #endif /* __cplusplus */ \ No newline at end of file diff --git a/code/sdk/drivers/peripheral/utilscpp/custom_utilscpp.h b/code/sdk/drivers/peripheral/utilscpp/custom_utilscpp.h index 718a62bbc..410b68803 100644 --- a/code/sdk/drivers/peripheral/utilscpp/custom_utilscpp.h +++ b/code/sdk/drivers/peripheral/utilscpp/custom_utilscpp.h @@ -17,6 +17,7 @@ extern "C" { errcode_t uapi_dial_pkg_decompress(const char* dial_pkg_path,char* dial_bin_path); void uapi_dump_meminfo(void); +void CustomEventPublish(uint16_t topic, uint8_t *data , uint32_t size); #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/src/utils/frameworks/hals/lite_input_distributer.cpp b/code/sdk/middleware/services/gui/uikit/proprietary/src/utils/frameworks/hals/lite_input_distributer.cpp index ea249644a..157e76d95 100755 --- a/code/sdk/middleware/services/gui/uikit/proprietary/src/utils/frameworks/hals/lite_input_distributer.cpp +++ b/code/sdk/middleware/services/gui/uikit/proprietary/src/utils/frameworks/hals/lite_input_distributer.cpp @@ -170,22 +170,18 @@ void LiteInputDistributer::SendEventToPM(const RawEvent& event) userEvent = USER_EVENT_KEY; } uint32_t msgValue = (POWER_DISPLAY_POLICY << EVENT_TYPE_BITS_SIZE) | userEvent; - - Request *request = nullptr; - request = SAMGR_AllocRequestMsg(0, CORES_APPLICATION_CORE, POWER_SVR_ID, 0); - if (request == nullptr) { - return; + + Request request = { + .serviceId = UI_SVR_ID, + .msgId = msgId, + .msgValue = msgValue, + .data = nullptr; } - request->serviceId = UI_SVR_ID; - request->msgId = msgId; - request->msgValue = msgValue; - CommuFeature *feature = GET_OBJECT(api, CommuFeature, iUnknown); Identity identity = feature->id; identity.featureId = -1; - int32 ret = SAMGR_SendRequest(&identity, request, nullptr); + int32 ret = SAMGR_SendRequest(&identity, &request, nullptr); if (ret != 0) { - SAMGR_FreeRequestMsg(request); return; } } diff --git a/code/sdk/tools/pkg/bin/brandy/bt.bin b/code/sdk/tools/pkg/bin/brandy/bt.bin index 61a61d88d..b6211dad5 100755 --- a/code/sdk/tools/pkg/bin/brandy/bt.bin +++ b/code/sdk/tools/pkg/bin/brandy/bt.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:722262aca924ef0156bc2cda810f9687d668b627c7846adb03d0c30c2aff90b1 -size 425472 +oid sha256:669d20b472710c590fd6cf9fa8abd7f3e4b17ec506f430617324556776bcc492 +size 424536 -- 2.17.1