#include "arch_port.h"
#include "flash_porting.h"
#include "clocks_switch.h"
-#include "pm_clocks.h"
#include "pmu_pg.h"
#include "efuse.h"
#if defined(__LITEOS__)
#define IMG_SEC 0
#define IMG_HIFI 1
#define SW_PRINT_DELAY 200ULL
-
-#define CSR_WST_VAL 0x4
-#define CSR_WST_POS 0xb
-#define XIP_CACHE_INTR_MASK 0xa3006128
-#define XIP_CACHE_WRITE_DATA_DELAY_INTR_MASK 0x8
-#define XIP_CACHE_ENABLE_WRITE_INTR_MASK 0x1
+#define CSR_WST_VAL 0x4 // 向寄存器目标位写入的值(0b100)
+#define CSR_WST_POS 0xb // 寄存器偏移,结合CSR_WST_VAL改变11、12、13位的值
+#define CSR_WST_MASK 0xffffc7ff
extern uint32_t __l2m_gpu_text_start;
extern uint32_t __l2m_gpu_text_load;
extern uint32_t __l2m_gpu_data_start;
extern uint32_t __l2m_gpu_data_load;
extern uint32_t __l2m_gpu_data_end;
-#ifndef CONFIG_PSRAM_SUPPORT
extern uint32_t __l2m_dsp_text_start;
extern uint32_t __l2m_dsp_text_load;
extern uint32_t __l2m_dsp_text_end;
extern uint32_t __l2m_dsp_data_start;
extern uint32_t __l2m_dsp_data_load;
extern uint32_t __l2m_dsp_data_end;
-#endif
extern char __heap_start;
extern void *g_intheap_size;
static void copy_from_flash_to_l2ram(void)
{
+ errno_t ret;
uint32_t size = (uint32_t)(&__l2m_gpu_text_end) - (uint32_t)(&__l2m_gpu_text_start);
- (void)memcpy_s((void *)((uint32_t)(&__l2m_gpu_text_start)), size, (void *)(uint32_t)(&__l2m_gpu_text_load), size);
+ ret = memcpy_s((void *)((uint32_t)(&__l2m_gpu_text_start)), size, (void *)(uint32_t)(&__l2m_gpu_text_load), size);
+ if (ret != EOK) {
+ PRINT("l2m gpu text memcpy fail."NEWLINE);
+ }
size = (uint32_t)(&__l2m_gpu_data_end) - (uint32_t)(&__l2m_gpu_data_start);
- (void)memcpy_s((void *)((uint32_t)(&__l2m_gpu_data_start)), size, (void *)(uint32_t)(&__l2m_gpu_data_load), size);
+ ret = memcpy_s((void *)((uint32_t)(&__l2m_gpu_data_start)), size, (void *)(uint32_t)(&__l2m_gpu_data_load), size);
+ if (ret != EOK) {
+ PRINT("l2m gpu data memcpy fail."NEWLINE);
+ }
size = (uint32_t)(&__l2m_gpu_bss_end) - (uint32_t)(&__l2m_gpu_bss_start);
- (void)memset_s((void *)((uint32_t)(&__l2m_gpu_bss_start)), size, 0, size);
-
-#ifndef CONFIG_PSRAM_SUPPORT
+ ret = memset_s((void *)((uint32_t)(&__l2m_gpu_bss_start)), size, 0, size);
+ if (ret != EOK) {
+ PRINT("l2m gpu bss memset fail."NEWLINE);
+ }
#if DSP_L2RAM_AREA_SIZE < DSP_L2RAM_AREA_TOTAL
size = (uint32_t)(&__l2m_dsp_text_end) - (uint32_t)(&__l2m_dsp_text_start);
- (void)memcpy_s((void *)((uint32_t)(&__l2m_dsp_text_start)), size, (void *)(uint32_t)(&__l2m_dsp_text_load), size);
+ ret = memcpy_s((void *)((uint32_t)(&__l2m_dsp_text_start)), size, (void *)(uint32_t)(&__l2m_dsp_text_load), size);
+ if (ret != EOK) {
+ PRINT("l2m dsp text memcpy fail."NEWLINE);
+ }
size = (uint32_t)(&__l2m_dsp_data_end) - (uint32_t)(&__l2m_dsp_data_start);
- (void)memcpy_s((void *)((uint32_t)(&__l2m_dsp_data_start)), size, (void *)(uint32_t)(&__l2m_dsp_data_load), size);
+ ret = memcpy_s((void *)((uint32_t)(&__l2m_dsp_data_start)), size, (void *)(uint32_t)(&__l2m_dsp_data_load), size);
+ if (ret != EOK) {
+ PRINT("l2m dsp data memcpy fail."NEWLINE);
+ }
size = (uint32_t)(&__l2m_dsp_bss_end) - (uint32_t)(&__l2m_dsp_bss_start);
- (void)memset_s((void *)((uint32_t)(&__l2m_dsp_bss_start)), size, 0, size);
-#endif
+ ret = memset_s((void *)((uint32_t)(&__l2m_dsp_bss_start)), size, 0, size);
+ if (ret != EOK) {
+ PRINT("l2m dsp bss memset fail."NEWLINE);
+ }
#endif
}
hal_register_exception_dump_callback(log_exception_dump);
uapi_partition_init();
+ PRINT("partition init success"NEWLINE);
}
static void pio_func_init(void)
{
hal_xip_init();
hal_xip_config_interrupt_type(XIP_0, XIP_INTR_NMI);
- write_csr(0x7d0, read_csr(0x7d0) | (CSR_WST_VAL << CSR_WST_POS));
- // Mask interrupts caused by CACHE2AHBM module state machine timeout
- reg16_clrbit(XIP_CACHE_INTR_MASK, XIP_CACHE_WRITE_DATA_DELAY_INTR_MASK);
- reg16_clrbit(XIP_CACHE_INTR_MASK, XIP_CACHE_ENABLE_WRITE_INTR_MASK);
+ write_csr(0x7d0, (read_csr(0x7d0) & CSR_WST_MASK) | (CSR_WST_VAL << CSR_WST_POS)); // 调整写cache的阈值,防止opi xip报nmi中断
}
static void chip_enable_ulp_ram(void)
writew(0x5700450c, 0x1);
}
-static void clocks_set_xip_div(void)
-{
- // xip cache div = 2
- writew(0xa3006014, 0x1); // sync mode = 1, high freq
- regw_clrbits(0xa3006000, 0x24, 0x0, 0x1); // close xip cache clk en
- regw_clrbits(0xa3006000, 0x24, 0x3, 0x1); // close xip cache div en
- regw_setbits(0xa3006000, 0x24, 0x4, 0x2, 0x2); // xip cache div = 2 from xip_opi
- regw_setbits(0xa3006000, 0x24, 0x3, 0x1, 0x1); // open xip cache div en
- regw_setbits(0xa3006000, 0x24, 0x0, 0x1, 0x1); // open xip cache clk en
-}
-
static void chip_init(void)
{
chip_enable_ulp_ram();
uapi_dma_init();
uapi_dma_open();
- clocks_set_xip_div();
- uapi_clocks_init();
+ cpu_trace_enable_mcpu_repeat();
uapi_pm_control(PM_SDIO_POWER_UP_AND_RUN);
}
#include "time.h"
#include "log_panic.h"
#include "nandflash_config.h"
-#ifdef SUPPORT_AUTO_OTA
-#include "auto_ota_service.h"
-#endif
#define EMMC_BASE_ADDR 0x52062000
#define TASK_PRIORITY_DFX_MSG (osPriority_t)(18)
#define TASK_PRIORITY_TRANSMIT (osPriority_t)(20)
#define TASK_PRIORITY_SAVE_FILE (osPriority_t)(36)
-#define TASK_PRIORITY_AUTO_OTA (osPriority_t)(36)
#define BTH_SDK_STACK_SIZE 0xC00
#define AT_GRAPHIC_STACK_SIZE 0xC00
#define AT_OHOSFWK_STACK_SIZE 0xC00
#define APP_MAIN_STACK_SIZE 0xC00
#define SAVE_FILE_STACK_SIZE 0xC00
-#define AUTO_OTA_STACK_SIZE 0xC00
#define TIME_MAX 64
#define USEC_TO_MILLI 1000
{ { "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
#endif
{ { "save_file", 0, NULL, 0, NULL, SAVE_FILE_STACK_SIZE, TASK_PRIORITY_SAVE_FILE, 0, 0 },
(osThreadFunc_t)save_file_main, NULL, NULL, USE_EXTEND_MEM },
-#ifdef SUPPORT_AUTO_OTA
- { { "auto_ota", 0, NULL, 0, NULL, AUTO_OTA_STACK_SIZE, TASK_PRIORITY_AUTO_OTA, 0, 0 },
- (osThreadFunc_t)auto_ota_task_main, NULL, NULL, USE_EXTEND_MEM },
-#endif
};
osSemaphoreId_t get_save_file_semaphore(void)
add_subdirectory_if_exist(ohos_startup)
add_subdirectory_if_exist(xts_adapt)
add_subdirectory_if_exist(alipay)
-if("SUPPORT_AUTO_OTA" IN_LIST DEFINES)
- add_subdirectory_if_exist(auto_ota)
-endif()
\ No newline at end of file
#include "osal_task.h"\r
#include "alipay_feature.h"\r
#include "securec.h"\r
-#ifdef SUPPORT_AT_OHOSFWK\r
-#include "BluetoothWrapper.h"\r
+#ifdef JS_ENABLE\r
+#include "msg_center_msg.h"\r
#endif\r
+#include "wearable_log.h"\r
+#ifdef SUPPORT_ALIPAY_SEC\r
+#include "bleService.h"\r
+#include "alipay_bluetooth.h"\r
\r
-/* Gatt service UUID */\r
-#define ALIPAYY_SERVICE_ID 0x0238\r
-/* Gatt Characteristic UUID */\r
-#define ALIPAYY_CHARACTERISTIC_ID 0x024A\r
-/* Client Characteristic Configuration UUID */\r
-#define ALIPAYY_BLE_UUID_CLIENT_CHARACTERISTIC_CONF 0x2902\r
-/* Gatt Characteristic max length */\r
-#define ALIPAY_CHARACTERISTIC_MAX_LENGTH 256\r
-#define ALIPAY_BLE_ADV_ID 1\r
-#define ALIPAY_BLE_ADV_DATA_MAX_LENGTH 31\r
-#define ALIPAY_BLE_ADV_BLE_NAME_MAX_LENGTH 13 // 31-4-2-3-9 = 13\r
-#define ALIPAY_BLE_NAME_LENGTH 20\r
-#define ALIPAY_BLE_ADV_MAC_HEAD_LENTH 4\r
-#define ALIPAY_BLE_ADV_MAC_LENTH 10\r
-#define ALIPAY_BLE_ADV_TYPE_LENTH 3\r
-#define ALIPAY_BLE_ADV_UUID_LENTH 4\r
-#define ALIPAY_BLE_DEFAULT_NAME "WatchDemo"\r
-#define ALIPAY_BLE_DEFAULT_NAME_LEN 9\r
-#define ALIPAY_DESC_HANDLE_NUM 2\r
-\r
+static uint8_t alipay_scan_data[16] ={0};\r
// Alipay 蓝牙模块全局变量\r
static gap_ble_callbacks_t g_alipay_gapble_cbs;\r
static gatts_callbacks_t g_alipay_gatts_cbs;\r
static bool g_alipay_adv_start_state = false;\r
static uint16_t g_alipay_server_id = 1;\r
-static uint16_t g_alipay_characteristic_handle = 0;\r
-static uint16_t g_alipay_descriptor_handle[ALIPAY_DESC_HANDLE_NUM] = { 0 };\r
-static uint16_t g_alipay_svr_handle = 0;\r
+static uint16_t g_alipay_server_handle = 0;\r
static uint16_t g_alipay_conn_id = 0;\r
static uint8_t g_alipay_character_buf[ALIPAY_CHARACTERISTIC_MAX_LENGTH] = {0};\r
static bool g_alipay_ble_init_flag = false;\r
static const uint8_t alipay_adv_type[ALIPAY_BLE_ADV_TYPE_LENTH] = {2, 1, 2};\r
static const uint8_t alipay_adv_uuid[ALIPAY_BLE_ADV_UUID_LENTH] = {0x3, 0x3, 0x02, 0x38};\r
\r
-static bool svr_alipay_get_adv_start_state(void)\r
+bool svr_alipay_get_adv_start_state(void)\r
{\r
return g_alipay_adv_start_state;\r
}\r
-static void svr_alipay_set_adv_start_state(bool state)\r
+void svr_alipay_set_adv_start_state(bool state)\r
{\r
g_alipay_adv_start_state = state;\r
}\r
{\r
gap_ble_stop_adv(ALIPAY_BLE_ADV_ID);\r
}\r
-\r
+void svr_alipay_ble_adv_start_t(void)\r
+{\r
+ gap_ble_start_adv(ALIPAY_BLE_ADV_ID);\r
+}\r
/* adapt ios adv data. */\r
static void svr_alipay_ble_adv_data_set(int adv_id)\r
{\r
- uint8_t ble_name[ALIPAY_BLE_NAME_LENGTH] = {0};\r
- uint8_t ble_name_len = ALIPAY_BLE_NAME_LENGTH;\r
- uint8_t adv_data[ALIPAY_BLE_ADV_DATA_MAX_LENGTH] = {0};\r
+ uint8_t ble_name[32] = {0};\r
+ uint8_t ble_name_len = 32;\r
+ uint8_t adv_data[31] = {0};\r
uint8_t adv_data_len = 0;\r
- uint8_t ble_data_name[ALIPAY_BLE_ADV_BLE_NAME_MAX_LENGTH + 1 ] = {0}; // +TYPE LENGTH\r
+ uint8_t scan_data_len = 0;\r
+ uint8_t ble_data_name[13 + 1 ] = {0}; // +TYPE LENGTH\r
uint8_t ble_data_mac_switch[BD_ADDR_LEN] = {0};\r
- uint8_t adv_mac_head[ALIPAY_BLE_ADV_MAC_LENTH] = {0x9, 0x16, 0x02, 0x38};\r
+ uint8_t adv_mac_head[10] = {0x9, 0x16, 0x02, 0x38};\r
gap_ble_config_adv_data_t adv_data_info;\r
memset_s(&adv_data_info, sizeof(gap_ble_config_adv_data_t), 0, sizeof(gap_ble_config_adv_data_t));\r
+ unsigned char addr[6] = {0};\r
+ unsigned int len = 6;\r
+ errcode_t ret = 0;\r
+\r
+\r
+ bd_addr_t addr_info;\r
+ memset(addr,0,6);\r
+ bluetooth_get_local_addr(&addr[0],len);\r
+ char watchName[32];\r
+ memset_s(watchName, sizeof(watchName), 0, sizeof(watchName));\r
+ (void)sprintf_s(watchName, sizeof(watchName), "%s",ALIPAY_BLE_DEFAULT_NAME);\r
+ // (void)sprintf_s(watchName, sizeof(watchName), "%s",BLE_DEFAULT_NAME);\r
+\r
+ ret = bluetooth_set_local_name((unsigned char*)watchName, strlen((char*)watchName) + 1);\r
+ if (ret == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bt SetLocalName ret = 0x%x", ret);\r
+ }\r
\r
- int32_t ret = gap_ble_get_local_name(ble_name, &ble_name_len);\r
+ \r
+ ret = bluetooth_get_local_name(ble_name, &ble_name_len);\r
if (ret != 0) {\r
- ALIPAY_PRINT_ERR(0, "gap_ble_get_local_name fail, name:%s,len:%u,ret:%u.", ble_name, ble_name_len, ret);\r
- memset_s(ble_name, ALIPAY_BLE_NAME_LENGTH, 0, ALIPAY_BLE_NAME_LENGTH);\r
- memcpy_s(ble_name, ALIPAY_BLE_NAME_LENGTH, ALIPAY_BLE_DEFAULT_NAME, ALIPAY_BLE_DEFAULT_NAME_LEN);\r
- ble_name_len = ALIPAY_BLE_DEFAULT_NAME_LEN + 1;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_get_local_name fail, name:%s,len:%u,ret:%u.", ble_name, ble_name_len, ret);\r
+ memset_s(ble_name, 32, 0, 32);\r
+ memcpy_s(ble_name, 32,ALIPAY_BLE_DEFAULT_NAME, 32);\r
+ ble_name_len = 32 + 1; \r
}\r
- ALIPAY_PRINT_DEBUG(0, "gap_ble_get_local_name name:%s,len:%u,ret:%u.", ble_name, ble_name_len, ret);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_get_local_name name:%s,len:%u,ret:%u.", ble_name, ble_name_len, ret);\r
\r
- bd_addr_t addr_info;\r
- ret = gap_ble_get_local_addr(&addr_info);\r
- ALIPAY_PRINT_DEBUG(0, "gap_ble_get_local_addr, ret:%u.", ret);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_get_local_addr, ret:%u.", ret);\r
memcpy_s(adv_data, sizeof(alipay_adv_type), alipay_adv_type, sizeof(alipay_adv_type));\r
adv_data_len = sizeof(alipay_adv_type);\r
\r
- if (ble_name_len > ALIPAY_BLE_ADV_BLE_NAME_MAX_LENGTH) {\r
- ble_name_len = ALIPAY_BLE_ADV_BLE_NAME_MAX_LENGTH;\r
+ if (ble_name_len > 13) {\r
+ ble_name_len = 13;\r
}\r
ble_data_name[0] = ble_name_len;\r
ble_data_name[1] = 0x9;\r
memcpy_s(adv_data + adv_data_len, ble_name_len + 1, ble_data_name, ble_name_len + 1);\r
\r
adv_data_len = adv_data_len + ble_name_len + 1;\r
- memcpy_s(adv_data + adv_data_len, sizeof(alipay_adv_uuid), alipay_adv_uuid, sizeof(alipay_adv_uuid));\r
- adv_data_len = adv_data_len + sizeof(alipay_adv_uuid);\r
+ // memcpy_s(adv_data + adv_data_len, sizeof(alipay_adv_uuid), alipay_adv_uuid, sizeof(alipay_adv_uuid));//这是tx power\r
+ // adv_data_len = adv_data_len + sizeof(alipay_adv_uuid);\r
+\r
int k = BD_ADDR_LEN;\r
for (int i = 0; i < BD_ADDR_LEN; i++) {\r
- ble_data_mac_switch[--k] = addr_info.addr[i];\r
+ ble_data_mac_switch[--k] = addr[i];\r
}\r
- ALIPAY_PRINT_DEBUG(0, "ble_info:%02x:%02x:%02x:%02x:%02x:%02x", ble_data_mac_switch[0], ble_data_mac_switch[1],\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ble_info:%02x:%02x:%02x:%02x:%02x:%02x", ble_data_mac_switch[0], ble_data_mac_switch[1],\r
ble_data_mac_switch[2], ble_data_mac_switch[3], ble_data_mac_switch[4], ble_data_mac_switch[5]);\r
- memcpy_s(adv_mac_head + ALIPAY_BLE_ADV_MAC_HEAD_LENTH, BD_ADDR_LEN, ble_data_mac_switch, BD_ADDR_LEN);\r
+ memcpy_s(adv_mac_head + 4, BD_ADDR_LEN, ble_data_mac_switch, BD_ADDR_LEN);\r
\r
memcpy_s(adv_data + adv_data_len, sizeof(adv_mac_head), adv_mac_head, sizeof(adv_mac_head));\r
adv_data_len = adv_data_len + sizeof(adv_mac_head);\r
\r
- adv_data_info.adv_data = adv_data;\r
- adv_data_info.adv_length = adv_data_len;\r
- ALIPAY_PRINT_DEBUG(0, "adv_data_info.adv_length:%u.", adv_data_len);\r
-\r
- gap_ble_set_adv_data(adv_id, &adv_data_info);\r
+ memset(alipay_scan_data,0,16);\r
+ \r
+ alipay_scan_data[0] = 0x09;//长度\r
+ alipay_scan_data[1] = 0xff;//数据类型 manufactory data\r
+ alipay_scan_data[2] = 'J';\r
+ alipay_scan_data[3] = 'H';\r
+ alipay_scan_data[4] = ble_data_mac_switch[0];\r
+ alipay_scan_data[5] = ble_data_mac_switch[1];\r
+ alipay_scan_data[6] = ble_data_mac_switch[2];\r
+ alipay_scan_data[7] = ble_data_mac_switch[3];\r
+ alipay_scan_data[8] = ble_data_mac_switch[4];\r
+ alipay_scan_data[9] = ble_data_mac_switch[5];\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "adv_data_info.adv_length.scan_data_len:%d\r\n",scan_data_len);\r
+ scan_data_len = 10;\r
+ if (scan_data_len > 16){\r
+ scan_data_len = 16;\r
+ }\r
+ adv_data_info.scan_rsp_data = alipay_scan_data;//扫描数据\r
+ adv_data_info.scan_rsp_length = scan_data_len;//扫描长度\r
+ adv_data_info.adv_data = adv_data;//广播数据 \r
+ adv_data_info.adv_length = adv_data_len;//广播长度\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "adv_data_info.adv_length:%u. scan_data_len:%d\r\n", adv_data_len,scan_data_len);\r
+ ret = gap_ble_set_adv_data(adv_id, &adv_data_info);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "alipay avd:%x\r\n", ret);\r
return;\r
}\r
\r
gap_ble_set_adv_param(adv_id, &adv_para);\r
gap_ble_set_local_appearance(GAP_BLE_APPEARANCE_TYPE_GENERIC_WATCH);\r
svr_alipay_ble_adv_data_set(adv_id);\r
- bool ret = gap_ble_start_adv(adv_id);\r
+ errcode_t ret = gap_ble_start_adv(adv_id);\r
if (ret) {\r
- ALIPAY_PRINT_ERR(0, "svr_alipay_ble_adv_start bt gap_ble_start_adv ret = 0x%x", ret);\r
+ ALIPAY_PRINT_ERR(0, "svr_alipay_ble_adv_start bt gap_ble_start_adv errror ret = 0x%x", ret);\r
}\r
- ALIPAY_PRINT_DEBUG(0, "svr_alipay_ble_adv_start bt gap_ble_start_adv ret = 0x%x", ret);\r
+ ALIPAY_PRINT_ERR(0, "svr_alipay_ble_adv_start bt gap_ble_start_adv ret = 0x%x", ret);\r
}\r
-\r
+// extern void svr_alipay_reset_init(void);\r
static void svr_alipay_ble_connstate_change_cb(unsigned short conn_id, bd_addr_t *addr, gap_ble_conn_state_t conn_state,\r
gap_ble_pair_state_t pair_state, gap_ble_disc_reason_t disc_reason)\r
+\r
{\r
- ALIPAY_PRINT_DEBUG(0, "BleConnStateChangeCallback conn_id 0x%x, conn_state 0x%x, pair_state 0x%x", conn_id,\r
+ ALIPAY_PRINT_ERR(0, "BleConnStateChangeCallback conn_id 0x%x, conn_state 0x%x, pair_state 0x%x", conn_id,\r
conn_state, pair_state);\r
- if (GAP_BLE_STATE_DISCONNECTED == conn_state) {\r
- g_alipay_conn_id = 0;\r
+ g_alipay_conn_id = conn_id;\r
+ if (GAP_BLE_STATE_DISCONNECTED == conn_state) { // restart ble adv when disconnected\r
+ #ifdef JS_ENABLE\r
+ /* 通知msg_center,ble状态仍用bt状态,此处不区分 */\r
+ SendMsgToMsgCenterService(BT_DISCONNECTED_TO_MSGCENTER, 0, NULL, 0);\r
+ #endif\r
+ // svr_alipay_ble_adv_start();\r
+ // svr_alipay_reset_init();\r
+ gap_ble_start_adv(ALIPAY_BLE_ADV_ID);\r
} else {\r
- g_alipay_conn_id = conn_id;\r
+ svr_alipay_set_adv_start_state(false);\r
+ #ifdef JS_ENABLE\r
+ SendMsgToMsgCenterService(BT_CONNECTED_TO_MSGCENTER, 0, NULL, 0);\r
+ #endif\r
}\r
}\r
\r
static void svr_alipay_ble_adv_start_cb(uint8_t adv_id, adv_status_t status)\r
{\r
- if (adv_id == ALIPAY_BLE_ADV_ID) {\r
- ALIPAY_PRINT_DEBUG(0, "BleAdvStartCallback adv_id: %d, status:%d\n", adv_id, status);\r
- svr_alipay_set_adv_start_state(true);\r
- }\r
+ ALIPAY_PRINT_DEBUG(0, "BleAdvStartCallback adv_id: %d, status:%d\n", adv_id, status);\r
+ svr_alipay_set_adv_start_state(true);\r
}\r
\r
static void svr_alipay_ble_set_adv_data_cb(uint8_t adv_id, errcode_t status)\r
ALIPAY_PRINT_DEBUG(0, "BleAdvSetDataCallback adv_id: %d, status:%d\n", adv_id, status);\r
}\r
\r
-static void svr_alipay_ble_terminate_adv_cb(uint8_t adv_id, adv_status_t status)\r
-{\r
- if (adv_id == ALIPAY_BLE_ADV_ID) {\r
- ALIPAY_PRINT_DEBUG(0, "BleTerminateAdvCallback adv_id: %d, status:%d\n", adv_id, status);\r
- svr_alipay_set_adv_start_state(false);\r
- }\r
-}\r
-\r
static void svr_alipay_ble_adv_stop_cb(uint8_t adv_id, adv_status_t status)\r
{\r
- if (adv_id == ALIPAY_BLE_ADV_ID) {\r
- ALIPAY_PRINT_DEBUG(0, "BleAdvStopCallback adv_id: %d, status:%d\n", adv_id, status);\r
- svr_alipay_set_adv_start_state(false);\r
- }\r
+ ALIPAY_PRINT_DEBUG(0, "BleAdvStopCallback adv_id: %d, status:%d\n", adv_id, status);\r
}\r
-\r
+// static uint16_t alipay_server_handle = 0;\r
static void svr_alipay_bt_gatts_service_add_cb(uint8_t server_id, bt_uuid_t *uuid, uint16_t srv_handle,\r
errcode_t status)\r
{\r
- if ((uuid->uuid_len == sizeof(uint16_t)) && (*((uint16_t *)uuid->uuid) == ALIPAYY_SERVICE_ID)) {\r
- ALIPAY_PRINT_DEBUG(0, "BtGattsServiceAddCallback 0x%x 0x%x 0x%x 0x%x",\r
- status, server_id, srv_handle, *((uint16_t *)uuid->uuid));\r
+ // alipay_server_handle = srv_handle;\r
+ ALIPAY_PRINT_DEBUG(0, "BtGattsServiceAddCallback 0x%x 0x%x 0x%x 0x%x", status, server_id, srv_handle,\r
+ *((uint16_t *)uuid->uuid));\r
+ int ret;\r
+ // if ((uuid->uuid_len == sizeof(uint16_t)) && (*((uint16_t *)uuid->uuid) == ALIPAYY_SERVICE_ID)) \r
+ {\r
uint16_t id = ALIPAYY_CHARACTERISTIC_ID;\r
gatts_add_chara_info_t character;\r
uint16_t value = 0;\r
character.value_len = ALIPAY_CHARACTERISTIC_MAX_LENGTH;\r
character.value = g_alipay_character_buf;\r
\r
- int ret = gatts_add_characteristic(server_id, srv_handle, &character);\r
+ ret = gatts_add_characteristic(server_id, srv_handle, &character);\r
if (ret != ERRCODE_SUCC) {\r
ALIPAY_PRINT_ERR(0, "gatts_add_characteristic fail, ret:%u.\r\n", ret);\r
}\r
- g_alipay_svr_handle = srv_handle;\r
}\r
}\r
\r
static void svr_alipay_bt_gatts_characteristic_add_cb(uint8_t server_id, bt_uuid_t *uuid, uint16_t srv_handle,\r
gatts_add_character_result_t *result, errcode_t status)\r
{\r
- if ((uuid->uuid_len == sizeof(uint16_t)) && (*((uint16_t *)uuid->uuid) == ALIPAYY_CHARACTERISTIC_ID)) {\r
- ALIPAY_PRINT_DEBUG(0, "BtGattsCharacteristicAddCallback 0x%x 0x%x 0x%x 0x%x 0x%x",\r
- status, server_id, srv_handle, result->handle, result->value_handle);\r
+ ALIPAY_PRINT_DEBUG(0, "BtGattsCharacteristicAddCallback 0x%x 0x%x 0x%x 0x%x 0x%x", status, server_id, srv_handle,\r
+ result->handle, result->value_handle);\r
+\r
+ g_alipay_server_handle = result->value_handle;\r
+\r
+ // if ((uuid->uuid_len == sizeof(uint16_t)) && (*((uint16_t *)uuid->uuid) == ALIPAYY_CHARACTERISTIC_ID)) \r
+ {\r
uint8_t bas_ccc_val[] = {\r
0x01,\r
0x00\r
if (ret != ERRCODE_SUCC) {\r
ALIPAY_PRINT_ERR(0, "gatts_start_service fail, ret:%u.\r\n", ret);\r
}\r
- g_alipay_characteristic_handle = result->value_handle;\r
}\r
}\r
-\r
+//添加alipay 特征和描述符\r
+void svr_alipay_bt_gatts_characteristic_add_dec(uint8_t server_id,uint16_t srv_handle)\r
+{\r
+ int ret = 0;\r
+ uint16_t id = ALIPAYY_CHARACTERISTIC_ID;\r
+ gatts_add_chara_info_t character;\r
+ uint16_t value = 0;\r
+\r
+ memset_s(&character, sizeof(gatts_add_chara_info_t), 0, sizeof(gatts_add_chara_info_t));\r
+ character.chara_uuid.uuid_len = sizeof(id);\r
+ memcpy_s(character.chara_uuid.uuid, sizeof(character.chara_uuid.uuid), (char *)&id, sizeof(id));\r
+ character.permissions = GATT_ATTRIBUTE_PERMISSION_READ | GATT_ATTRIBUTE_PERMISSION_WRITE;\r
+ character.properties =\r
+ GATT_CHARACTER_PROPERTY_BIT_READ | GATT_CHARACTER_PROPERTY_BIT_WRITE | GATT_CHARACTER_PROPERTY_BIT_NOTIFY;\r
+ character.value_len = ALIPAY_CHARACTERISTIC_MAX_LENGTH;\r
+ character.value = g_alipay_character_buf;\r
+\r
+ ret = gatts_add_characteristic(server_id, srv_handle, &character);\r
+ if (ret != ERRCODE_SUCC) {\r
+ ALIPAY_PRINT_ERR(0, "gatts_add_characteristic fail, ret:%u.\r\n", ret);\r
+ }\r
+ uint8_t bas_ccc_val[] = {\r
+ 0x01,\r
+ 0x00\r
+ };\r
+ bt_uuid_t ccc_uuid = { 0 };\r
+ bts_data_to_uuid_len2(0x2902, &ccc_uuid);\r
+ gatts_add_desc_info_t descriptor;\r
+ descriptor.desc_uuid = ccc_uuid;\r
+ descriptor.permissions = GATT_ATTRIBUTE_PERMISSION_READ | GATT_ATTRIBUTE_PERMISSION_WRITE;\r
+ descriptor.value_len = (uint16_t)sizeof(bas_ccc_val);\r
+ descriptor.value = bas_ccc_val;\r
+\r
+ ret = gatts_add_descriptor(server_id, srv_handle, &descriptor);\r
+ if (ret != ERRCODE_SUCC) {\r
+ ALIPAY_PRINT_ERR(0, "gatts_add_descriptor fail, ret:%u.\r\n", ret);\r
+ }\r
+ bd_addr_t addr_info;\r
+ gatts_add_desc_info_t descriptor_ap;\r
+ gap_ble_get_local_addr(&addr_info);\r
+ bts_data_to_uuid_len2(0x4b02, &ccc_uuid);\r
+ descriptor_ap.desc_uuid = ccc_uuid;\r
+ descriptor_ap.permissions = GATT_ATTRIBUTE_PERMISSION_READ | GATT_ATTRIBUTE_PERMISSION_WRITE;\r
+ descriptor_ap.value_len = BD_ADDR_LEN;\r
+ uint8_t ble_data_mac_switch[BD_ADDR_LEN] = {0};\r
+ int k = BD_ADDR_LEN;\r
+ for (int i = 0; i < BD_ADDR_LEN; i++) {\r
+ ble_data_mac_switch[--k] = addr_info.addr[i];\r
+ }\r
+ descriptor_ap.value = ble_data_mac_switch;\r
+ ret = gatts_add_descriptor(server_id, srv_handle, &descriptor_ap);\r
+ if (ret != ERRCODE_SUCC) {\r
+ ALIPAY_PRINT_ERR(0, "gatts_add_descriptor second fail, ret:%u.\r\n", ret);\r
+ }\r
+}\r
static void svr_alipay_bt_gatts_descriptor_add_cb(uint8_t server_id, bt_uuid_t *uuid, uint16_t srv_handle,\r
uint16_t desc_handle, errcode_t status)\r
{\r
- if (g_alipay_svr_handle == srv_handle) {\r
- ALIPAY_PRINT_DEBUG(0, "BtGattsDescriptorAddCallback 0x%x 0x%x 0x%x 0x%x", status, server_id, srv_handle,\r
- desc_handle);\r
- static uint8_t desc_handle_count = 0;\r
- desc_handle_count = desc_handle_count % ALIPAY_DESC_HANDLE_NUM;\r
- g_alipay_descriptor_handle[desc_handle_count] = desc_handle;\r
- desc_handle_count++;\r
- }\r
+ ALIPAY_PRINT_DEBUG(0, "BtGattsDescriptorAddCallback 0x%x 0x%x 0x%x 0x%x", status, server_id, srv_handle,\r
+ desc_handle);\r
}\r
\r
static void svr_alipay_bt_gatts_service_start_cb(uint8_t server_id, uint16_t srv_handle, errcode_t status)\r
{\r
- if (g_alipay_svr_handle == srv_handle) {\r
- ALIPAY_PRINT_DEBUG(0, "BtGattsServiceStartCallback 0x%x 0x%x 0x%x", status, server_id, srv_handle);\r
- }\r
+ ALIPAY_PRINT_DEBUG(0, "BtGattsServiceStartCallback 0x%x 0x%x 0x%x", status, server_id, srv_handle);\r
}\r
\r
static void svr_alipay_bt_gatts_service_stop_cb(uint8_t server_id, uint16_t srv_handle, errcode_t status)\r
static void svr_alipay_bt_gatts_req_write_cb(uint8_t server_id, uint16_t conn_id, gatts_req_write_cb_t *write_cb_para,\r
errcode_t status)\r
{\r
- if ((g_alipay_characteristic_handle == write_cb_para->handle) ||\r
- (g_alipay_descriptor_handle[0] == write_cb_para->handle) ||\r
- (g_alipay_descriptor_handle[1] == write_cb_para->handle)) {\r
- ALIPAY_PRINT_DEBUG(0, "write callback,handle:%u str:%s len:%u",\r
- write_cb_para->handle, write_cb_para->value, write_cb_para->length);\r
- uint8_t *msg_data = write_cb_para->value;\r
- errcode_t ret = svr_alipay_msg_write(ALIPAY_MSG_BT, msg_data, write_cb_para->length, false);\r
- if (ret != ERRCODE_SUCC) {\r
- ALIPAY_PRINT_ERR(0, "svr_alipay_msg_write fail, ret:%u.\r\n", ret);\r
- }\r
+ ALIPAY_PRINT_ERR(0, "write callback,str:%s len:%u", write_cb_para->value, write_cb_para->length);\r
+ uint8_t *msg_data = write_cb_para->value;\r
+ errcode_t ret = svr_alipay_msg_write(ALIPAY_MSG_BT, msg_data, write_cb_para->length, false);\r
+ if (ret != ERRCODE_SUCC) {\r
+ ALIPAY_PRINT_ERR(0, "svr_alipay_msg_write fail, ret:%u.\r\n", ret);\r
}\r
return;\r
}\r
void svr_alipay_bt_gatts_noyify(uint8_t *data, uint16_t data_len)\r
{\r
gatts_ntf_ind_t data_info;\r
- data_info.attr_handle = g_alipay_characteristic_handle;\r
+ data_info.attr_handle = alipay_handle;\r
data_info.value = data;\r
data_info.value_len = data_len;\r
\r
- errcode_t ret = gatts_notify_indicate(g_alipay_server_id, g_alipay_conn_id, &data_info);\r
- ALIPAY_PRINT_DEBUG(0, "gatts_notify_indicate ret:0x%x. serverid:%u,conn_id:%u,handle:%u.", ret, g_alipay_server_id,\r
- g_alipay_conn_id, g_alipay_characteristic_handle);\r
+ errcode_t ret = gatts_notify_indicate(g_ble_server_id, g_ble_conn_id, &data_info);\r
+ ALIPAY_PRINT_ERR(0, "gatts_notify_indicate ret:0x%x. serverid:%u,conn_id:%u,handle:%u.", ret, g_ble_server_id,\r
+ g_ble_conn_id, alipay_handle);\r
}\r
\r
static void svr_alipay_btcallback_reg(void)\r
g_alipay_gapble_cbs.start_adv_cb = svr_alipay_ble_adv_start_cb;\r
g_alipay_gapble_cbs.stop_adv_cb = svr_alipay_ble_adv_stop_cb;\r
g_alipay_gapble_cbs.set_adv_data_cb = svr_alipay_ble_set_adv_data_cb;\r
- g_alipay_gapble_cbs.terminate_adv_cb = svr_alipay_ble_terminate_adv_cb;\r
-#ifndef SUPPORT_AT_OHOSFWK\r
gap_ble_register_callbacks(&g_alipay_gapble_cbs);\r
-#else\r
- wrapper_gap_ble_register_callbacks(&g_alipay_gapble_cbs);\r
-#endif\r
\r
g_alipay_gatts_cbs.add_service_cb = svr_alipay_bt_gatts_service_add_cb;\r
g_alipay_gatts_cbs.add_characteristic_cb = svr_alipay_bt_gatts_characteristic_add_cb;\r
g_alipay_gatts_cbs.read_request_cb = svr_alipay_bt_gatts_req_read_cb;\r
g_alipay_gatts_cbs.write_request_cb = svr_alipay_bt_gatts_req_write_cb;\r
g_alipay_gatts_cbs.mtu_changed_cb = NULL;\r
-#ifndef SUPPORT_AT_OHOSFWK\r
gatts_register_callbacks(&g_alipay_gatts_cbs);\r
-#else\r
- wrapper_gatts_register_callbacks(&g_alipay_gatts_cbs);\r
-#endif\r
}\r
+//gatts_unregister_server\r
\r
void svr_alipay_bt_init_gatts(void)\r
{\r
- uint16_t service_id = ALIPAYY_SERVICE_ID;\r
- uint8_t server_id = 0;\r
- bt_uuid_t uuid;\r
int ret;\r
-\r
- uuid.uuid_len = sizeof(service_id);\r
- memcpy_s(uuid.uuid, sizeof(uuid.uuid), (char *)&service_id, sizeof(service_id));\r
-#ifndef SUPPORT_AT_OHOSFWK\r
- ret = gatts_register_server(&uuid, &server_id); /* 注册gatt server */\r
-#else\r
- ret = wrapper_gatts_register_server(&uuid, &server_id); /* 注册gatt server */\r
-#endif\r
+ bt_uuid_t alipay_service_uuid = {0};\r
+ bts_data_to_uuid_len2(ALIPAYY_SERVICE_ID, &alipay_service_uuid);\r
+ //只有一个服务,永远是1\r
+ ret = gatts_add_service(1, &alipay_service_uuid, true);\r
if (ret != ERRCODE_SUCC) {\r
- ALIPAY_PRINT_ERR(0, "gatts_register_server ret:%u.\r\n", ret);\r
- }\r
- ALIPAY_PRINT_DEBUG(0, "gatts_register_server ret: 0x%x server_id = 0x%x", ret, server_id);\r
- g_alipay_server_id = server_id;\r
- uuid.uuid_len = sizeof(service_id);\r
- memcpy_s(uuid.uuid, sizeof(uuid.uuid), (char *)&service_id, sizeof(service_id));\r
-#ifndef SUPPORT_AT_OHOSFWK\r
- ret = gatts_add_service(server_id, &uuid, true);\r
-#else\r
- ret = wrapper_gatts_add_service(server_id, &uuid, true);\r
-#endif\r
- if (ret != ERRCODE_SUCC) {\r
- ALIPAY_PRINT_ERR(0, "gatts_add_service ret:%u.\r\n", ret);\r
+ ALIPAY_PRINT_ERR(0, "svr_alipay_bt_init_gatts ret:%u.\r\n", ret);\r
}\r
+\r
return;\r
+ // uint16_t id = ALIPAYY_SERVICE_ID;\r
+ // uint16_t srevr_id = ALIPAYY_SERVICE_ID;\r
+ // uint16_t ser_id = 0x1fff;\r
+ // uint8_t serverId = 0;\r
+ // bt_uuid_t uuid;\r
+ // errcode_t ret = 0;\r
+ // uuid.uuid_len = (uint8_t)sizeof(srevr_id);\r
+ // memcpy_s(uuid.uuid, sizeof(uuid.uuid), (char *)&srevr_id, sizeof(srevr_id));\r
+ // ret = gatts_register_server(&uuid, &serverId); /* 注册gatt server */\r
+ // WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "gatts_register_server ret: 0x%x serverId = 0x%x uuid.uuid_len:%d", ret, serverId,uuid.uuid_len);\r
+ // g_alipay_server_id = serverId;\r
+ // // svr_alipay_bt_init_gatts();\r
+ // bt_uuid_t ble_service_uuid = {0};\r
+ // bts_data_to_uuid_len2(id, &ble_service_uuid);\r
+ // ret = gatts_add_service(serverId, &ble_service_uuid, true);\r
+ // return;\r
+\r
+}\r
+void alipay_unregist_server(void)\r
+{\r
+ svr_alipay_ble_adv_stop();\r
+ gatts_delete_all_services(g_alipay_server_id);\r
+ gatts_unregister_server(g_alipay_server_id);\r
+ g_alipay_ble_init_flag = false;\r
+ g_alipay_server_id = 1;\r
+ g_alipay_server_handle = 0;\r
+ g_alipay_conn_id = 0;\r
}\r
\r
void svr_alipay_bluetooth_init(void)\r
{\r
-#ifndef SUPPORT_AT_OHOSFWK\r
bool ret = enable_bt_stack();\r
if (ret != ERRCODE_SUCC) {\r
ALIPAY_PRINT_ERR(0, "enable_bt_stack ret:%u.\r\n", ret);\r
}\r
-#endif\r
if (g_alipay_ble_init_flag == true) {\r
- return;\r
+ // return;\r
}\r
svr_alipay_btcallback_reg();\r
svr_alipay_bt_init_gatts();\r
+ svr_alipay_ble_adv_start();\r
g_alipay_ble_init_flag = true;\r
return;\r
}\r
+#endif
\ No newline at end of file
+++ /dev/null
-#===============================================================================
-# @brief cmake make file
-# Copyright (c) 2023 @CompanyNameMagicTag
-#===============================================================================
-set(COMPONENT_NAME "auto_ota")
-
-set(SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/auto_ota_service.c
-)
-
-set(PUBLIC_HEADER
- ${CMAKE_CURRENT_SOURCE_DIR}
-)
-
-set(PRIVATE_HEADER
- ${ROOT_DIR}/protocol/bt/host/bt/bts/sdk/inc
- ${ROOT_DIR}/protocol/bt/host/bt/bts/sdk/inc/stack_api
- ${ROOT_DIR}/protocol/bt/host/bt/bts/sdk/src/inc
- ${ROOT_DIR}/protocol/bt/host/bt/bts/host/inc
- ${ROOT_DIR}/protocol/bt/host/bt/bts/service/wear/gdk/inc
- ${ROOT_DIR}/protocol/bt/host/bt/bts/sdk/src/stack_api
- ${ROOT_DIR}/protocol/bt/host/bt/bts/bg_common/include/log
- ${ROOT_DIR}/protocol/bt/host/bt/bts/bg_common/include/sdk_common
- ${ROOT_DIR}/protocol/bt/host/bt/bts/bg_common/include/host
- ${ROOT_DIR}/protocol/bt/host/bt/bts/bg_common/include/hci
- ${ROOT_DIR}/protocol/bt/host/bt/bts/bg_common/include/gdk_common
- ${ROOT_DIR}/protocol/bt/host/bt/bts/bg_common/include/ahi_common
- ${ROOT_DIR}/protocol/bt/host/bt/bts/bg_common/include/ahi_a
- ${ROOT_DIR}/protocol/bt/host/bt/bts/brandy_service/service/src
- ${ROOT_DIR}/protocol/bt/host/bt/bts/brandy_service/service/src/base
- ${ROOT_DIR}/protocol/bt/host/bt/bts/bt_sample/sample_common
-)
-
-set(PRIVATE_DEFINES
-)
-
-set(PUBLIC_DEFINES
-)
-
-# use this when you want to add ccflags like -include xxx
-set(COMPONENT_PUBLIC_CCFLAGS
-)
-
-set(COMPONENT_CCFLAGS
- -Wno-implicit-function-declaration
- -Wno-unused-parameter
- -Wno-int-conversion
-)
-
-set(WHOLE_LINK
- true
-)
-
-set(MAIN_COMPONENT
- false
-)
-
-build_component()
+++ /dev/null
-/**
- * Copyright (c) CompanyNameMagicTag 2021-2022. All rights reserved.
- * Description: Power display service.
- * Author:
- * Create:
- */
-
-#include <soc_osal.h>
-#include <osal_list.h>
-#include <securec.h>
-#include "cmsis_os2.h"
-#include "systick.h"
-#include "soc_errno.h"
-#include "common_def.h"
-#include "bts_def.h"
-#include "bts_br_gap.h"
-#include "oal_interface.h"
-#include "wearable_log.h"
-#include "local_device_manager.h"
-#include "remote_device_manager.h"
-#include "spp_service.h"
-#include "bts_spp.h"
-#include "btsrv_log.h"
-#include "bts_feature.h"
-#include "auto_ota_service.h"
-#include "msg_center_ota.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define AUTO_OTA_RETRY_TIMES 5
-#define AUTO_OTA_SEM_TIMEOUT (60*60*1000) /* 等待信号量超时时间,考虑资源大包传输时间长场景 */
-#define AUTO_OTA_DELAY_MS 100
-#define AUTO_OTA_SPP_TASK_STACK_SIZE 2048
-#define AUTO_OTA_SPP_TASK_PRI 20
-#define ADDR_MAC_LEN 6
-#define AUTO_OTA_RECORD_DEV_MAX_NUM 200 /* 设计成客户可定制 */
-#define AUTO_OTA_SCAN_WAIT_TIME (25*1000) /* 客户可定制 */
-#define AUTO_OTA_UPDATE_RSSI_WAIT_TIME (20*1000) /* 客户可定制 */
-#define AUTO_OTA_INQUERY_DEV_NUM 20 /* 客户可定制 */
-#define AUTO_OTA_OPRATE_DELAY_MS (2*1000) /* 客户可定制 */
-#define AUTO_OTA_ACL_CONN_DELAY (6*1000) /* 客户可定制 */
-#define AUTO_OTA_SPP_RECONN_TIMEOUT 10000 /* 客户可定制 */
-#define AUTO_OTA_WAIT_PREPARE_TIMEOUT (2 * 1000) /* 客户可定制, 用于更换升级包场景 */
-#define AUTO_OTA_DEV_NAME_PREFIX "Watch" /* 客户基于自己产品定义修改bt name前缀,用于黑名单管理 */
-#define AUTO_OTA_DEV_NAME_PREFIX_LEN 5
-#define AUTO_OTA_DST_UPG_VER_PATH "/user/dst_ver.txt"
-
-bool g_auto_ota_found_list_init = false;
-struct osal_list_head g_auto_ota_found_dev_list_head;
-osSemaphoreId_t g_auto_ota_transmit_done_sem = NULL;
-uint8_t g_auto_ota_upload_mode = 0; /* 默认是0,不阻塞auto_ota */
-uint8_t g_auto_ota_mac_tmp[ADDR_MAC_LEN] = {0};
-static bool g_anti_back_link_flag = false;
-
-typedef struct auto_ota_record_dev {
- uint8_t addr[ADDR_MAC_LEN]; /* mac地址 */
- uint8_t has_been_updated; /* 标记是否已经升级 */
- uint8_t reserved; /* 对齐 */
-} auto_ota_record_dev_t;
-
-static auto_ota_record_dev_t g_auto_ota_record_dev[AUTO_OTA_RECORD_DEV_MAX_NUM];
-
-typedef struct {
- struct osal_list_head node;
- bd_addr_t bd_addr;
- uint8_t name[BD_NAME_LEN];
- int32_t cod;
- int32_t rssi;
-} auto_ota_found_dev_list_node;
-
-typedef struct {
- uint32_t sample_mode;
- spp_create_socket_para_t socket_params;
- bd_addr_t addr;
-} auto_ota_spp_connect_task_params;
-
-/* 数据管理 */
-void auto_ota_dev_init(void)
-{
- for (uint8_t i = 0; i < AUTO_OTA_RECORD_DEV_MAX_NUM; i++) {
- (void)memset_s(&g_auto_ota_record_dev[i], sizeof(auto_ota_record_dev_t), 0, sizeof(auto_ota_record_dev_t));
- }
- return;
-}
-
-void auto_ota_dev_add(uint8_t *addr)
-{
- for (uint16_t i = 0; i < AUTO_OTA_RECORD_DEV_MAX_NUM; i++) {
- if (g_auto_ota_record_dev[i].has_been_updated == 0) {
- (void)memcpy_s(g_auto_ota_record_dev[i].addr, ADDR_MAC_LEN, addr, ADDR_MAC_LEN);
- g_auto_ota_record_dev[i].has_been_updated = 1;
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "to add record dev_mac : ****%02x%02x%02x%02x\r\n",
- g_auto_ota_record_dev[i].addr[3], g_auto_ota_record_dev[i].addr[2], g_auto_ota_record_dev[i].addr[1],
- g_auto_ota_record_dev[i].addr[0]);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "alloc index = %d\r\n", i);
- return;
- }
- }
-}
-
-bool auto_ota_dev_del(uint8_t *addr)
-{
- for (uint16_t i = 0; i < AUTO_OTA_RECORD_DEV_MAX_NUM; i++) {
- if (g_auto_ota_record_dev[i].has_been_updated == 1 &&
- memcmp(g_auto_ota_record_dev[i].addr, addr, ADDR_MAC_LEN) == 0) {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "found! to del record dev_mac : ****%02x%02x%02x%02x\r\n",
- g_auto_ota_record_dev[i].addr[3], g_auto_ota_record_dev[i].addr[2], g_auto_ota_record_dev[i].addr[1],
- g_auto_ota_record_dev[i].addr[0]);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "free index = %d\r\n", i);
- (void)memset_s(g_auto_ota_record_dev[i].addr, ADDR_MAC_LEN, 0, ADDR_MAC_LEN);
- g_auto_ota_record_dev[i].has_been_updated = 0;
- return true;
- }
- }
-
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "dev_del: no found dev_mac.\r\n");
- return false;
-}
-
-bool auto_ota_dev_found(uint8_t *addr)
-{
- for (uint16_t i = 0; i < AUTO_OTA_RECORD_DEV_MAX_NUM; i++) {
- if (g_auto_ota_record_dev[i].has_been_updated == 1 &&
- memcmp(g_auto_ota_record_dev[i].addr, addr, ADDR_MAC_LEN) == 0) {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "no need to record dev_mac: ****%02x%02x%02x%02x\r\n",
- g_auto_ota_record_dev[i].addr[3], g_auto_ota_record_dev[i].addr[2], g_auto_ota_record_dev[i].addr[1],
- g_auto_ota_record_dev[i].addr[0]);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "taken index = %d\r\n", i);
- return true;
- }
- }
- return false;
-}
-
-void auto_ota_dev_show(void)
-{
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "auto_ota total dev info :");
- for (uint16_t i = 0; i < AUTO_OTA_RECORD_DEV_MAX_NUM; i++) {
- if (g_auto_ota_record_dev[i].has_been_updated == 1) {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "already record dev_mac : ****%02x%02x%02x%02x\r\n",
- g_auto_ota_record_dev[i].addr[3], g_auto_ota_record_dev[i].addr[2], g_auto_ota_record_dev[i].addr[1],
- g_auto_ota_record_dev[i].addr[0]);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "taken index = %d\r\n", i);
- }
- }
-}
-
-/* 黑名单处理 */
-static bool auto_ota_dev_check_dev_name(unsigned char *dev_name)
-{
- if (strncmp((const char *)dev_name, AUTO_OTA_DEV_NAME_PREFIX, AUTO_OTA_DEV_NAME_PREFIX_LEN) == 0) {
- return true;
- } else {
- return false;
- }
-}
-
-/* 重置发现设备链表 */
-void auto_ota_reset_found_dev_list(void)
-{
- if (!g_auto_ota_found_list_init) {
- g_auto_ota_found_list_init = true;
- OSAL_INIT_LIST_HEAD(&g_auto_ota_found_dev_list_head);
- return;
- }
-
- while (osal_list_empty(&g_auto_ota_found_dev_list_head) == false) {
- struct osal_list_head *node = g_auto_ota_found_dev_list_head.next;
- osal_list_del(node);
- oal_mem_free(node);
- }
-}
-
-bool auto_ota_bt_start_discovery(void)
-{
- auto_ota_reset_found_dev_list();
- (void)gap_br_set_inquiry_paramters(0, AUTO_OTA_INQUERY_DEV_NUM);
- for (uint8_t i = 0; i < AUTO_OTA_RETRY_TIMES; i++) {
- bool res = gap_br_start_discovery();
- if (res != true) {
- osDelay(AUTO_OTA_DELAY_MS);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "gap_br_start_discovery fail.\r\n");
- continue;
- } else {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "gap_br_start_discovery succ.\r\n");
- return true;
- }
- }
- return false;
-}
-
-/* 新增节点 */
-static void auto_ota_add_node_to_found_dev_list(const bd_addr_t *bd_addr, const uint8_t *name, int32_t cod, int32_t rssi)
-{
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "auto_ota_add_node, addr: ****%02x%02x%02x%02x, name: %s",
- bd_addr->addr[3], bd_addr->addr[2], bd_addr->addr[1], bd_addr->addr[0], name); /* addr下标 0 1 2 3 */
-
- auto_ota_found_dev_list_node *node =
- (auto_ota_found_dev_list_node *)(void *)oal_mem_alloc(sizeof(auto_ota_found_dev_list_node));
- if (node == NULL) {
- return;
- }
- (void)memset_s(node, sizeof(auto_ota_found_dev_list_node), 0, sizeof(auto_ota_found_dev_list_node));
-
- if (memcpy_s(&node->bd_addr, sizeof(node->bd_addr), bd_addr, sizeof(bd_addr_t)) != EOK) {
- oal_mem_free(node);
- return;
- }
-
- if (memcpy_s(node->name, sizeof(node->name), name, BD_NAME_LEN) != EOK) {
- oal_mem_free(node);
- return;
- }
-
- node->cod = cod;
- node->rssi = rssi;
- osal_list_add_tail((struct osal_list_head *)node, &g_auto_ota_found_dev_list_head);
-}
-
-static void auto_ota_sort_found_dev_list(void)
-{
- struct osal_list_head *list_head = &g_auto_ota_found_dev_list_head;
-
- for (struct osal_list_head *node1 = list_head->next; node1 != NULL && node1 != list_head; node1 = node1->next) {
- auto_ota_found_dev_list_node *dev_info1 = (auto_ota_found_dev_list_node *)node1;
- for (struct osal_list_head *node2 = node1->next; node2 != NULL && node2 != list_head; node2 = node2->next) {
- auto_ota_found_dev_list_node *dev_info2 = (auto_ota_found_dev_list_node *)node2;
-
- /* rssi大的在前 */
- if (dev_info1->rssi >= dev_info2->rssi) {
- continue;
- }
-
- /* 交换两个节点的信息 */
- auto_ota_found_dev_list_node tmp_node;
- uint32_t ret =
- (uint32_t)memcpy_s(&tmp_node, sizeof(tmp_node), dev_info1, sizeof(auto_ota_found_dev_list_node));
- ret |= (uint32_t)memcpy_s(&dev_info1->bd_addr,
- sizeof(auto_ota_found_dev_list_node) - sizeof(struct osal_list_head),
- &dev_info2->bd_addr,
- sizeof(auto_ota_found_dev_list_node) - sizeof(struct osal_list_head));
- ret |= (uint32_t)memcpy_s(&dev_info2->bd_addr,
- sizeof(auto_ota_found_dev_list_node) - sizeof(struct osal_list_head),
- &tmp_node.bd_addr,
- sizeof(auto_ota_found_dev_list_node) - sizeof(struct osal_list_head));
- if (ret != EOK) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "swap fail %x\n", ret);
- }
- }
- }
-}
-
-/* 异步返回,更新RSSI */
-static void auto_ota_update_found_dev_node_rssi(const bd_addr_t *bd_addr, int32_t rssi)
-{
- struct osal_list_head *list_head = &g_auto_ota_found_dev_list_head;
- struct osal_list_head *node = list_head->next;
-
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER,"will update rssi, addr: ****%02x%02x%02x%02x, rssi = %d\n",
- bd_addr->addr[3], bd_addr->addr[2], bd_addr->addr[1], bd_addr->addr[0], rssi); /* addr下标 0 1 2 3 */
-
- while (node != NULL && node != list_head) {
- auto_ota_found_dev_list_node *dev_info = (auto_ota_found_dev_list_node *)node;
- if (memcmp(dev_info->bd_addr.addr, bd_addr->addr, BD_ADDR_LEN) == 0) {
- dev_info->rssi = rssi;
- return;
- }
-
- node = node->next;
- }
-}
-
-static void auto_ota_gap_read_remote_rssi_event_callback(const bd_addr_t *bd_addr, int rssi, int status)
-{
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER,
- " addr: ****%02x%02x%02x%02x rssi: %d status: %d\n",
- bd_addr->addr[3], bd_addr->addr[2], /* addr下标 2 3 */
- bd_addr->addr[1], bd_addr->addr[0], rssi, status); /* addr下标 0 1 */
-
- if (status == ERRCODE_BT_SUCCESS) {
- auto_ota_update_found_dev_node_rssi(bd_addr, rssi);
- }
-}
-
-static bool auto_ota_get_top_dev_to_connect(void)
-{
- struct osal_list_head *list_head = &g_auto_ota_found_dev_list_head;
- uint8_t blank_addr[ADDR_MAC_LEN] = {0};
-
- for (struct osal_list_head *node = list_head->next; node != NULL && node != list_head; node = node->next) {
- auto_ota_found_dev_list_node *dev_info = (auto_ota_found_dev_list_node *)node;
- if (memcmp(dev_info->bd_addr.addr, blank_addr, ADDR_MAC_LEN) == 0) {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "ignore zero addr, name: %s\n", dev_info->name);
- continue;
- }
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER,
- "plan to connect addr: ****%02x%02x%02x%02x name: \"%s\" cod: %x rssi: %d\n",
- dev_info->bd_addr.addr[3], dev_info->bd_addr.addr[2], /* addr下标 3 2 */
- dev_info->bd_addr.addr[1], dev_info->bd_addr.addr[0], /* addr下标 1 0 */
- dev_info->name,
- dev_info->cod,
- dev_info->rssi);
-
- for (uint8_t i = 0; i < AUTO_OTA_RETRY_TIMES; i++) {
- if (gap_connect_remote_device(&(dev_info->bd_addr)) != true) {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "to connect acl fail\r\n");
- osDelay(100);
- } else {
- osDelay(AUTO_OTA_ACL_CONN_DELAY);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "to connect acl succ\r\n");
- return true;
- }
- }
- }
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "no found_device\n");
- return false;
-}
-
-static void auto_ota_discovery_result_callback(const bd_addr_t *bd_addr)
-{
- unsigned char length = BD_NAME_LEN;
- unsigned char *device_name = (unsigned char *)(void *)oal_mem_alloc(length);
- if (device_name == NULL) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "gap_discovery_result_callback malloc error!\n");
- return;
- }
- (void)memset_s(device_name, length, 0, length);
-
- bool ret1 = gap_get_device_name(bd_addr, device_name, &length);
- int cod = gap_get_device_class(bd_addr);
- bool ret2 = gap_read_remote_rssi_value(bd_addr);
-
- if (auto_ota_dev_found(bd_addr->addr) != true && auto_ota_dev_check_dev_name(device_name) == true) {
- auto_ota_add_node_to_found_dev_list(bd_addr, device_name, cod, 0);
- }
-
- return;
-}
-
-static bool auto_ota_upg_check(void)
-{
- errcode_t ret = ERRCODE_SUCC;
-
- /* 目标版本从文件读取,方便客户每次推送不同版本 */
- FILE *fp = NULL;
-
- fp = fopen(AUTO_OTA_DST_UPG_VER_PATH, "rb");
- if (fp == NULL) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "open %s fail.\r\n", AUTO_OTA_DST_UPG_VER_PATH);
- return false;
- }
-
- fseek(fp, 0L, SEEK_END);
- long file_len = ftell(fp);
- char *dst_ver = (char *)malloc(sizeof(char) * (file_len + 1));
- if (dst_ver == NULL) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "malloc fail, file_len = %d.\r\n", file_len);
- return false;
- }
-
- fseek(fp, 0L, SEEK_SET);
- if (fread(dst_ver, file_len, 1, fp) != 1) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "fread fail, file_len = %d.\r\n", file_len);
- free(dst_ver);
- dst_ver = NULL;
- return false;
- }
- fclose(fp);
- dst_ver[file_len] = '\0';
-
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "dst_ver = %s, file_len = %d.\r\n", dst_ver, file_len);
-
- ret = msg_center_send_data(MSGCENTER_CMD_OTA, MSGCENTER_TYPE_ID_OTA_UPG_CHECK, dst_ver, strlen(dst_ver));
- if (ret != ERRCODE_SUCC) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "send upgrade version check fail, ret = %d\r\n", ret);
- free(dst_ver);
- dst_ver = NULL;
- return false;
- }
-
- free(dst_ver);
- dst_ver = NULL;
- return true;
-}
-
-static int auto_ota_spp_client_connect_task_body(void *data)
-{
- auto_ota_spp_connect_task_params *task_params = (auto_ota_spp_connect_task_params *)data;
- spp_create_socket_para_t *socket_param = &task_params->socket_params;
-
- int ret = spp_connect(socket_param, &task_params->addr);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "spp_connect ret: %x\n", ret);
-
- oal_mem_free(data);
- return OSAL_SUCCESS;
-}
-
-/* client连接server */
-bool auto_ota_spp_connect(const char *spp_uuid, const bd_addr_t *addr)
-{
- uint8_t uuid_len = (uint8_t)strlen(spp_uuid);
- auto_ota_spp_connect_task_params *task_params =
- (auto_ota_spp_connect_task_params *)oal_mem_alloc(sizeof(auto_ota_spp_connect_task_params));
-
- if (generate_uuid_from_string(spp_uuid, uuid_len + 1, &task_params->socket_params.uuid) != EXT_ERR_SUCCESS) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "generate uuid fail\n");
- return false;
- }
-
- task_params->sample_mode = 0;
- task_params->socket_params.socket_type = SPP_SOCKET_RFCOMM;
- task_params->socket_params.is_encrypt = true;
- (void)memcpy_s(&(task_params->addr.addr), BD_ADDR_LEN, addr->addr, BD_ADDR_LEN);
-
- osal_task *task = osal_kthread_create(auto_ota_spp_client_connect_task_body, task_params,
- "auto_ota_spp_client_connect_task", AUTO_OTA_SPP_TASK_STACK_SIZE);
- if (task == NULL) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "create task fail\n");
- return false;
- }
- int ret = osal_kthread_set_priority(task, AUTO_OTA_SPP_TASK_PRI);
- if (ret != OSAL_SUCCESS) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "set pri error: %08x\n", ret);
- }
-
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "create task success.\n");
-
- bool is_connected = false;
- uint64_t start_time = uapi_tcxo_get_ms();
- uint64_t current_time;
- while (is_connected == false) {
- is_connected = is_spp_connected(0);
- osDelay(AUTO_OTA_OPRATE_DELAY_MS);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "spp reconnecting.\r\n");
- current_time = uapi_tcxo_get_ms();
- if (current_time - start_time > AUTO_OTA_SPP_RECONN_TIMEOUT || is_connected == true) {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "spp connect %s.\r\n", is_connected == true ? "Succ" : "Fail");
- break;
- }
- }
-
- /* 升级版本号校验 */
- bool res = auto_ota_upg_check();
- if (res != true) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "auto_ota_upg_check fail.\n");
- return false;
- }
-
- return true;
-}
-
-static void auto_ota_acl_state_changed_callback(const bd_addr_t *bd_addr, gap_acl_state_t state, unsigned int reason)
-{
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "acl cb, state %d, reason %x", state, reason);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "addr: ****%02x%02x%02x%02x",
- bd_addr->addr[3], bd_addr->addr[2], bd_addr->addr[1], bd_addr->addr[0]); /* mac下标 0 1 2 3 */
- char uuid[] = {"1101"};
- if (state == GAP_ACL_STATE_CONNECTED) {
- if (g_anti_back_link_flag == true) {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "anti back link addr: ****%02x%02x%02x%02x",
- bd_addr->addr[3], bd_addr->addr[2], bd_addr->addr[1], bd_addr->addr[0]); /* mac下标 0 1 2 3 */
- return;
- }
- bool res = auto_ota_spp_connect(uuid, bd_addr);
- if (res != true) {
- (void)osSemaphoreRelease(g_auto_ota_transmit_done_sem);
- return;
- }
- /* spp trans回调中释放信号量最准确,故此处临时记录mac地址 */
- (void)memcpy_s(g_auto_ota_mac_tmp, ADDR_MAC_LEN, (const char *)bd_addr->addr, ADDR_MAC_LEN);
- g_anti_back_link_flag = true;
- }
-}
-
-void auto_ota_gap_register_callbacks(void)
-{
- gap_call_backs_t cb = {
- NULL,
- auto_ota_acl_state_changed_callback,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- auto_ota_discovery_result_callback,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- auto_ota_gap_read_remote_rssi_event_callback,
- NULL
- };
- (void)gap_register_callbacks(&cb);
-}
-
-errcode_t auto_ota_enable_bt(void)
-{
-#if defined(SW_UART_DEBUG) || defined(SW_RTT_DEBUG)
- g_bth_log_type_level = 0xFF2; /* BTSRV_LOG_UART_INFO */
-#endif
- bts_feature_t feature = {0};
- feature.bt_auto_reconnect_closed = 1;
-
- auto_ota_gap_register_callbacks();
- bts_set_features(&feature); /* 关闭client回链 */
- errcode_t res = enable_bt_stack();
- if (res != 0) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "bt enable fail, ret = %d\r\n", res);
- return ERRCODE_FAIL;
- } else {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "bt enable ok\r\n");
- return ERRCODE_SUCC;
- }
-}
-
-void auto_ota_task_init(void)
-{
- g_auto_ota_transmit_done_sem = osSemaphoreNew(1, 0, NULL);
- if (!g_auto_ota_transmit_done_sem) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "sem creat fail!\r\n");
- return;
- }
-}
-
-void auto_ota_task_main(void)
-{
- errcode_t ret;
-
- auto_ota_dev_init();
- auto_ota_task_init();
-
- if (auto_ota_enable_bt() != ERRCODE_SUCC) {
- return;
- }
-
- while (1) {
- if (g_auto_ota_upload_mode == 1) {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "enter upload fwpkg mode, auto_ota not run!\r\n");
- osDelay(AUTO_OTA_WAIT_PREPARE_TIMEOUT);
- continue;
- }
-
- /* 保证最开始不会有配对信息回连,可能导致B核wait等回连 */
- if (gap_remove_all_pairs() != true) {
- osDelay(AUTO_OTA_DELAY_MS);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "remove all pairs fail, auto retry...\r\n");
- continue;
- }
- osDelay(AUTO_OTA_OPRATE_DELAY_MS);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "gap_remove_all_pairs ok\r\n");
-
- /* scan */
- if (auto_ota_bt_start_discovery() != true) {
- osDelay(AUTO_OTA_DELAY_MS);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "start discovery fail, auto retry...\r\n");
- continue;
- }
-
- osDelay(AUTO_OTA_SCAN_WAIT_TIME); /* 保证能扫到设备 */
-
- (void)gap_br_cancel_discovery();
- osDelay(AUTO_OTA_UPDATE_RSSI_WAIT_TIME);
- auto_ota_sort_found_dev_list(); /* 根据rssi降序排序 */
- /* connect */
- if (auto_ota_get_top_dev_to_connect() != true) {
- osDelay(AUTO_OTA_DELAY_MS);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "connect fail, auto retry...\r\n");
- continue;
- }
-
- osSemaphoreAcquire(g_auto_ota_transmit_done_sem, AUTO_OTA_SEM_TIMEOUT);
-
- /* clean, spp资源内部释放 */
- spp_disconnect(0);
- /* 删除配对时会disconnect ACL */
- if (gap_remove_all_pairs() != true) {
- osDelay(AUTO_OTA_DELAY_MS);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "remove all pairs fail, auto retry...\r\n");
- continue;
- }
- osDelay(AUTO_OTA_OPRATE_DELAY_MS);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "gap_remove_all_pairs ok\r\n");
-
- osDelay(AUTO_OTA_DELAY_MS);
- auto_ota_dev_show();
- memset_s(g_auto_ota_mac_tmp, sizeof(g_auto_ota_mac_tmp), 0, sizeof(g_auto_ota_mac_tmp));
- g_anti_back_link_flag = false;
- osDelay(AUTO_OTA_DELAY_MS);
- }
-
- return;
-}
-
-#ifdef __cplusplus
-}
-#endif
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
- * Description: broadcast service api
- * Author: CompanyName
- * Create: 2021-11-11
- */
-
-#ifndef AUTO_OTA_SERVICE_H
-#define AUTO_OTA_SERVICE_H
-
-#include "stdint.h"
-
-#ifdef __cplusplus
-#if __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-#endif /* __cplusplus */
-
-void auto_ota_dev_add(uint8_t *addr);
-bool auto_ota_dev_del(uint8_t *addr);
-void auto_ota_dev_show(void);
-void auto_ota_task_main(void);
-
-#ifdef __cplusplus
-#if __cplusplus
-}
-#endif /* __cplusplus */
-#endif /* __cplusplus */
-#endif /* AUTO_OTA_SERVICE_H */
${CMAKE_CURRENT_SOURCE_DIR}/nativelauncher/include/slices/main
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/screennotify/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/include
+
)
set(PRIVATE_HEADER
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_card/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/add_card/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial/include
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial_style/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/key/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/phone/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/player/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/include/AlipayList
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/include/AlipayTrans
-
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/themestyle/include
-
+
${UI_SAMPLE_ROOT}/components
${CMAKE_CURRENT_SOURCE_DIR}/../service/smart_voice/smart_voice_service/interfaces/innerkits/native_c/include
${CMAKE_CURRENT_SOURCE_DIR}/../service/smart_voice/voice_engine_hal/interfaces/innerkits/native_c/include
${CMAKE_CURRENT_SOURCE_DIR}/../../battery
${CMAKE_CURRENT_SOURCE_DIR}/../../../drivers/drivers/driver/rtc_unified
${CMAKE_CURRENT_SOURCE_DIR}/../../../kernel/liteos/liteos_v207.1.0/Huawei_LiteOS/compat/linux/include/uapi/linux/
+
${ROOT_DIR}/middleware/services/gui/uikit/proprietary/src/utils/innerkits
${ROOT_DIR}/middleware/services/gui/uikit/proprietary/include
${ROOT_DIR}/middleware/services/gui/uikit/proprietary/src/ui/frameworks
${ROOT_DIR}/middleware/services/gui/uikit/utils/interfaces/kits
${ROOT_DIR}/middleware/services/gui/uikit/utils/interfaces/kits/gfx_utils
${ROOT_DIR}/middleware/services/gui/uikit/utils/interfaces/innerkits
- ${ROOT_DIR}/middleware/services/gui/uikit/ui/interfaces/innerkits
- ${ROOT_DIR}/middleware/services/gui/uikit/ui/frameworks
${ROOT_DIR}/middleware/services/gui/uikit/surface/interfaces/kits
${ROOT_DIR}/middleware/services/gui/uikit/ui/interfaces/kits
${ROOT_DIR}/middleware/services/gui/uikit/ui/interfaces/kits/components
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/BluetoothPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/BluetoothHeadsetEvent.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/BluetoothModel.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/BluetoothWrapper.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/MainBluetoothView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/BluetoothEarPhoneView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/TipsConnFailMessageView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial/src/SetDialModel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial/src/SetDialPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial/src/SetDialView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial_style/src/SetDialStyleModel.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial_style/src/SetDialStylePresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial_style/src/SetDialStyleView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/key/src/KeyInputListener.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/screennotify/src/ui_screennotify.cpp
static constexpr const char *PNG_APPLIST_AIVOICE_IMAGE = APP_LIST_PATH "/aivoice.bin"; // AI Voice(人工智能语音)
static constexpr const char *PNG_APPLIST_SLEEP_IMAGE = APP_LIST_PATH "/sleeping.bin"; // 睡眠
- // AppList hexagon icon
- static constexpr const char *PNG_APPLIST_DEFAULT_IMG = APP_RES_PATH"/regular_hexagon.bin";
- static constexpr const char *PNG_APPLIST_NOTSETUSE_IMG = APP_RES_PATH"/regular_hexagon_inverse.bin";
-
/* ---------------------------------- 快速训练 ---------------------------------- */
static constexpr const char *PNG_TRAING_BOUTTONMORE_IMAGE = APP_RES_PATH "/Training/More.bin";
static constexpr const char *PNG_TRAING_BUTTONGRONG_IMAGE = APP_RES_PATH "/Training/Bouttonground.bin";
/*
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-04-08 16:43:48
- * @LastEditors: SnickerSun snickersun@163.com
- * @LastEditTime: 2024-07-02 19:45:18
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-05-06 16:52:38
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/applist/include/AppItemView.h
*/
//UILabel label_;
//AppItem itemInfo_ = { VIEW_INVALID, nullptr, nullptr, nullptr, nullptr };
UILabelExt labelExt_;
- AppItem itemInfo_ = { VIEW_INVALID, nullptr, nullptr, nullptr,nullptr,STR_EXERCISE_GENERAL, nullptr };
+ AppItem itemInfo_ = { VIEW_INVALID, nullptr, nullptr, nullptr,STR_EXERCISE_GENERAL, nullptr };
};
class HexagonsItemView : public UIImageView {
private:
HexagonsItemView(const HexagonsItemView &);
HexagonsItemView &operator = (const HexagonsItemView &);
- AppItem itemInfo_ = { VIEW_INVALID, nullptr, nullptr, nullptr,nullptr,STR_EXERCISE_GENERAL, nullptr };
+ AppItem itemInfo_ = { VIEW_INVALID, nullptr, nullptr, nullptr,STR_EXERCISE_GENERAL, nullptr };
};
}
/*
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-04-08 16:43:48
- * @LastEditors: SnickerSun snickersun@163.com
- * @LastEditTime: 2024-07-02 20:03:25
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-05-06 16:57:20
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/applist/include/ApplistModel.h
*/
/*
#include"language/font/ui_resource_string.h"
#include "ohos_types.h"
-#include "ThemeStyleModel.h"
#define APP_MAX_NUM 50
namespace OHOS {
AppViewId id;
const char *iconLarge;
const char *iconSmall;
- const char *iconHexagon;
const char *label;
uint16_t TextId;
const char *uid;
} AppItem;
-
-#define AppListStyle ThemeStyle
-
-// typedef enum : uint16_t
-// {
-// APPLIST_STYLE, // 列表显示
-// HEXAGONS_STYLE, // 蜂窝显示
-// FOOTBALL_STYLE, //足球
-// MAX_THEME_STYLE,
-// } AppListStyle;
class ApplistPresenter;
class ApplistModel {
public:
int GetHeadItemY(void);
void ApplistUpdate(void);
void SetPresenter(ApplistPresenter *p);
- AppListStyle GetCurrentStyle(void);
-
+ bool GetIsUseListStyle(void);
private:
ApplistModel();
ApplistModel(const ApplistModel &);
virtual ~ApplistModel();
ApplistPresenter *presenter{nullptr};
- AppItem applist[APP_MAX_NUM] = { VIEW_INVALID, nullptr, nullptr, nullptr,nullptr,STR_EXERCISE_GENERAL, nullptr };
+ AppItem applist[APP_MAX_NUM] = { VIEW_INVALID, nullptr, nullptr, nullptr,STR_EXERCISE_GENERAL, nullptr };
BundleInfo *bundleInfos = nullptr;
int32 bundleLen = 0;
uint8 appLen = 0;
#include "applist/include/ApplistPresenter.h"
#include "SetDesktopModel.h"
#include "themestyle/include/ThemeStyleModel.h"
-#include "set_desktop/include/SetDesktopView.h"
+
namespace OHOS
{
/**- APPLSIT
* - 设置
*/
const AppItem g_nativeAppList[] = {
- {VIEW_BLOODOXY, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG,"血氧", STR_BLOOD_OXYGEN, nullptr},
- {VIEW_HEART, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_DEFAULT_IMG,"心率", STR_HEART_RATE, nullptr},
- {VIEW_TRAINING, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_DEFAULT_IMG,"训练", STR_TRAINING, nullptr},
- {VIEW_TRAINING_RECORD, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG,"训练记录", STR_TRAINING_RECORD, nullptr},
- {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_DEFAULT_IMG,"指南针", STR_COMPASS, nullptr},
- {VIEW_MAIN_PHONE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE,PNG_APPLIST_DEFAULT_IMG,"电话", STR_PHONE, nullptr},
- {VIEW_CALLER_LOG, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_DEFAULT_IMG,"常用联系人", STR_FAVORITE_CONTACTS, nullptr},
- {VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_DEFAULT_IMG,"天气", STR_WEATHER, nullptr},
- {VIEW_GOAL, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_DEFAULT_IMG,"活动", STR_ACTIVITY, nullptr},
- {VIEW_SET_DIAL, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_DEFAULT_IMG,"更换表盘", STR_WATCH_FACE, nullptr},
- {VIEW_THEME_STYLE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_DEFAULT_IMG,"显示方式", STR_DISPLAY_MODE, nullptr},
- {VIEW_ADD_CARD, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_DEFAULT_IMG,"卡片管理", STR_CARD_MANAGEMENT, nullptr},
- {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG,"睡眠", STR_SLEEP, nullptr},
- {VIEW_RECORD, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG,"录音", STR_RECORD, nullptr},
- {VIEW_RESPIRATORY_TRAINING, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"呼吸训练", STR_BREATH_TRAINING, nullptr},
- {VIEW_TAKEPHOTOS, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_TACKEPHOTOS_IMAGE,PNG_APPLIST_DEFAULT_IMG, "遥控拍照", STR_REMOTE_SHOOTING, nullptr},
+ {VIEW_BLOODOXY, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_SPO2_IMAGE, "血氧", STR_BLOOD_OXYGEN, nullptr},
+ {VIEW_HEART, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_HEART_IMAGE, "心率", STR_HEART_RATE, nullptr},
+ {VIEW_TRAINING, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_TRAINING_IMAGE, "训练", STR_TRAINING, nullptr},
+ {VIEW_TRAINING_RECORD, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_TRAINING_RECORD_IMAGE, "训练记录", STR_TRAINING_RECORD, nullptr},
+ {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_COMPASS_IMAGE, "指南针", STR_COMPASS, nullptr},
+ {VIEW_MAIN_PHONE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, "电话", STR_PHONE, nullptr},
+ {VIEW_CALLER_LOG, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_CALLLOG_IMAGE, "常用联系人", STR_FAVORITE_CONTACTS, nullptr},
+ {VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_WEATHER_IMAGE, "天气", STR_WEATHER, nullptr},
+ {VIEW_GOAL, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_GOAL_IMAGE, "活动", STR_ACTIVITY, nullptr},
+ {VIEW_SET_DIAL, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_CHANGEDIAL_IMAGE, "更换表盘", STR_WATCH_FACE, nullptr},
+ {VIEW_THEME_STYLE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_THEME_IMAGE, "显示方式", STR_DISPLAY_MODE, nullptr},
+ {VIEW_ADD_CARD, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_CARDSET_IMAGE, "卡片管理", STR_CARD_MANAGEMENT, nullptr},
+ {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_SLEEP_IMAGE, "睡眠", STR_SLEEP, nullptr},
+ {VIEW_RECORD, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_RECORD_IMAGE, "录音", STR_RECORD, nullptr},
+ {VIEW_RESPIRATORY_TRAINING, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_BREATHE_IMAGE, "呼吸训练", STR_BREATH_TRAINING, nullptr},
+ {VIEW_TAKEPHOTOS, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_TACKEPHOTOS_IMAGE, "遥控拍照", STR_REMOTE_SHOOTING, nullptr},
#ifdef SUPPORT_ALIPAY_SEC
- {VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_DEFAULT_IMG,"支付宝", STR_ALIPAY, nullptr},
+ {VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_ALIPAY_IMAGE, "支付宝", STR_ALIPAY, nullptr},
#endif
- {VIEW_MAIN_COUNTDOWN, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_DEFAULT_IMG,"计时器", STR_TIMER, nullptr},
- {VIEW_FIND_PHONE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_FINDPHONE_IMAGE,PNG_APPLIST_DEFAULT_IMG, "查找手机", STR_FIND_PHONE, nullptr},
- {VIEW_BRIGHTNESSLEVEL, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE,PNG_APPLIST_DEFAULT_IMG, "亮度调节", STR_BRIGHTNESS_ADJUSTMENT, nullptr},
- {VIEW_SOUND_VIBRATION, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"声音", STR_SOUND, nullptr},
- {VIEW_CLASSIC_BLUETOOTH, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_DEFAULT_IMG,"蓝牙", STR_BLUETOOTH, nullptr},
- {VIEW_DNOTDISTURB, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DEFAULT_IMG,"勿扰模式", STR_DO_NOT_DISTURB, nullptr},
- {VIEW_MESSAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"消息通知", STR_MESSAGE_NOTIFICATION, nullptr},
- {VIEW_SAVEELE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"省电模式", STR_POWER_SAVE_MODE, nullptr},
- {VIEW_FLASHLIGHT, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_DEFAULT_IMG,"手电筒", STR_FLASHLIGHT, nullptr},
- {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG,"设置", STR_SETTINGS, nullptr},
- //{VIEW_AI_VOICE, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"AI Voice", STR_AI_VOICE, nullptr},
+ {VIEW_MAIN_COUNTDOWN, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_COUNTDOWN_IMAGE, "计时器", STR_TIMER, nullptr},
+ {VIEW_FIND_PHONE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_FINDPHONE_IMAGE, "查找手机", STR_FIND_PHONE, nullptr},
+ {VIEW_BRIGHTNESSLEVEL, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, "亮度调节", STR_BRIGHTNESS_ADJUSTMENT, nullptr},
+ {VIEW_SOUND_VIBRATION, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_VOICE_IMAGE, "声音", STR_SOUND, nullptr},
+ {VIEW_CLASSIC_BLUETOOTH, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_BLUETOOTH_IMAGE, "蓝牙", STR_BLUETOOTH, nullptr},
+ {VIEW_DNOTDISTURB, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DISTURB_IMAGE, "勿扰模式", STR_DO_NOT_DISTURB, nullptr},
+ {VIEW_MESSAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_MESSAGE_IMAGE, "消息通知", STR_MESSAGE_NOTIFICATION, nullptr},
+ {VIEW_SAVEELE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_SAVEELE_IMAGE, "省电模式", STR_POWER_SAVE_MODE, nullptr},
+ {VIEW_FLASHLIGHT, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_FLASHLIGHT_IMAGE, "手电筒", STR_FLASHLIGHT, nullptr},
+ {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, "设置", STR_SETTINGS, nullptr},
+ //{VIEW_AI_VOICE, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_AIVOICE_IMAGE, "AI Voice", STR_AI_VOICE, nullptr},
#if 0
/*屏蔽Slice*/
- {VIEW_LANGUAGE_SWITCH, PNG_CONNECT_PHONE_IMAGE, PNG_CONNECT_PHONE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"语言切换", nullptr},
- {VIEW_MAIN_TEMP, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_DEFAULT_IMG,"体温", nullptr},
- {VIEW_OFFLINEVOICE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_DEFAULT_IMG,"语音助手", nullptr},
- {VIEW_UISAMPLE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"示例", nullptr},
- {VIEW_MESSAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG,"信息通知", nullptr},
- {VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_DEFAULT_IMG,"室内步行", nullptr},
- {VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_DEFAULT_IMG,"室内步行",STR_ACTIVITY, nullptr},
+ {VIEW_LANGUAGE_SWITCH, PNG_CONNECT_PHONE_IMAGE, PNG_CONNECT_PHONE_IMAGE, "语言切换", nullptr},
+ {VIEW_MAIN_TEMP, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_TEMP_IMAGE, "体温", nullptr},
+ {VIEW_OFFLINEVOICE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_VOCASSIST_IMAGE, "语音助手", nullptr},
+ {VIEW_UISAMPLE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_UI_SAMPLE_IMAGE, "示例", nullptr},
+ {VIEW_MESSAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, "信息通知", nullptr},
+ {VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, "室内步行", nullptr},
+ {VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, "室内步行",STR_ACTIVITY, nullptr},
#endif
};
applist[appLen].id = VIEW_EXTERN_APP;
applist[appLen].iconLarge = bundleInfos[len].smallIconPath;
applist[appLen].iconSmall = bundleInfos[len].smallIconPath;
- applist[appLen].iconHexagon = bundleInfos[len].bigIconPath;
applist[appLen].label = bundleInfos[len].label;
applist[appLen].uid = bundleInfos[len].bundleName;
presenter = p;
}
- AppListStyle ApplistModel::GetCurrentStyle(void)
+ bool ApplistModel::GetIsUseListStyle(void)
{
- uint8_t currenStyle = SetDesktopView::GetInstance()->GetCurrentSelectedStyle();
- if (currenStyle == 1) { // 1: hexagons desktop style
- return HEXAGONS_STYLE;
- } else if (currenStyle == 2) { // 2: football desktop style
- return FOOTBALL_STYLE;
- } else {
- return APPLIST_STYLE;
- }
+ return (ThemeStyleModel::GetInstance().GetAppListDisplayStyle() == APPLIST_STYLE);
}
}
bool ApplistPresenter::GetIsUseListStyle(void)
{
- return model->GetCurrentStyle() == APPLIST_STYLE;
+ return model->GetIsUseListStyle();
}
ApplistView* ApplistPresenter::GetAppListView()
+++ /dev/null
-/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: BluetoothWrapper\r
- * Author:\r
- * Create: 2021-10-13\r
- */\r
-#ifndef BLUETOOTH_WRAPPER_H\r
-#define BLUETOOTH_WRAPPER_H\r
-\r
-#include "common_def.h"\r
-#include "bts_def.h"\r
-#include "bts_gatt_stru.h"\r
-#include "bts_gatt_server.h"\r
-#include "bts_le_gap.h"\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-errcode_t wrapper_gap_ble_register_callbacks(gap_ble_callbacks_t *func);\r
-errcode_t wrapper_gatts_register_callbacks(gatts_callbacks_t *func);\r
-void wrapper_ble_register(void);\r
-errcode_t wrapper_gatts_register_server(bt_uuid_t *app_uuid, uint8_t *server_id);\r
-errcode_t wrapper_gatts_add_service(uint8_t server_id, bt_uuid_t *service_uuid, bool is_primary);\r
-void wrapper_gatts_service_start(void);\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
-\r
-#endif
\ No newline at end of file
+++ /dev/null
-/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: BluetoothModel view\r
- * Author:\r
- * Create: 2021-10-13\r
- */\r
-\r
-#include <list>\r
-#include "BluetoothWrapper.h"\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-static bool gatts_register_flag = false;\r
-static uint8_t gatts_server_id = 0;\r
-std::list<gap_ble_callbacks_t> g_gap_ble_callback_list;\r
-std::list<gatts_callbacks_t> g_gatts_callback_list;\r
-std::list<bt_uuid_t> g_uuid_list;\r
-std::list<uint16_t> g_svr_handle_list;\r
-\r
-errcode_t wrapper_gap_ble_register_callbacks(gap_ble_callbacks_t *func)\r
-{\r
- g_gap_ble_callback_list.push_back(*func);\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-errcode_t wrapper_gatts_register_callbacks(gatts_callbacks_t *func)\r
-{\r
- g_gatts_callback_list.push_back(*func);\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-void wrapper_gap_ble_enable_callback(errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.ble_enable_cb != nullptr) {\r
- callback.ble_enable_cb(status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_disable_callback(errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.ble_disable_cb != nullptr) {\r
- callback.ble_disable_cb(status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_start_adv_callback(uint8_t adv_id, adv_status_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.start_adv_cb) {\r
- callback.start_adv_cb(adv_id, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_stop_adv_callback(uint8_t adv_id, adv_status_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.stop_adv_cb) {\r
- callback.stop_adv_cb(adv_id, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_set_adv_data_callback(uint8_t adv_id, errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.set_adv_data_cb) {\r
- callback.set_adv_data_cb(adv_id, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_set_adv_param_callback(uint8_t adv_id, errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.set_adv_param_cb) {\r
- callback.set_adv_param_cb(adv_id, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_scan_result_callback(gap_scan_result_data_t *scan_result_data)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.scan_result_cb) {\r
- callback.scan_result_cb(scan_result_data);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_set_scan_param_callback(errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.set_scan_param_cb) {\r
- callback.set_scan_param_cb(status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_connect_state_changed_callback(uint16_t conn_id, bd_addr_t *addr, gap_ble_conn_state_t conn_state,\r
- gap_ble_pair_state_t pair_state, gap_ble_disc_reason_t disc_reason)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.conn_state_change_cb) {\r
- callback.conn_state_change_cb(conn_id, addr, conn_state, pair_state, disc_reason);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_paired_complete_callback(uint16_t conn_id, const bd_addr_t *addr, errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.pair_result_cb) {\r
- callback.pair_result_cb(conn_id, addr, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_terminate_adv_callback(uint8_t adv_id, adv_status_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.terminate_adv_cb) {\r
- callback.terminate_adv_cb(adv_id, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_read_rssi_callback(uint16_t conn_id, int8_t rssi, errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.read_rssi_cb) {\r
- callback.read_rssi_cb(conn_id, rssi, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_auth_complete_callback(uint16_t conn_id, const bd_addr_t *addr,\r
- errcode_t status, const ble_auth_info_evt_t* evt)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.auth_complete_cb) {\r
- callback.auth_complete_cb(conn_id, addr, status, evt);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_connect_param_update_callback(uint16_t conn_id, errcode_t status,\r
- const gap_ble_conn_param_update_t *param)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.conn_param_update_cb) {\r
- callback.conn_param_update_cb(conn_id, status, param);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gatts_add_service_callback(uint8_t server_id, bt_uuid_t *uuid, uint16_t handle, errcode_t status)\r
-{\r
- g_svr_handle_list.push_back(handle);\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.add_service_cb) {\r
- callback.add_service_cb(server_id, uuid, handle, status);\r
- }\r
- }\r
-}\r
-void wrapper_gatts_add_characteristic_callback(uint8_t server_id, bt_uuid_t *uuid, uint16_t service_handle,\r
- gatts_add_character_result_t *result, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.add_characteristic_cb) {\r
- callback.add_characteristic_cb(server_id, uuid, service_handle, result, status);\r
- }\r
- }\r
-}\r
-void wrapper_gatts_add_descriptor_callback(uint8_t server_id, bt_uuid_t *uuid, uint16_t service_handle,\r
- uint16_t handle, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.add_descriptor_cb) {\r
- callback.add_descriptor_cb(server_id, uuid, service_handle, handle, status);\r
- }\r
- }\r
-}\r
-void wrapper_gatts_start_service_callback(uint8_t server_id, uint16_t handle, errcode_t status)\r
-{\r
- bool skip_flag = true;\r
- for (auto svr_handle : g_svr_handle_list) {\r
- if (svr_handle == handle) {\r
- skip_flag = false;\r
- }\r
- }\r
- if (!skip_flag) {\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.start_service_cb) {\r
- callback.start_service_cb(server_id, handle, status);\r
- }\r
- }\r
- wrapper_gatts_service_start();\r
- }\r
-}\r
-void wrapper_gatts_stop_service_callback(uint8_t server_id, uint16_t handle, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.stop_service_cb) {\r
- callback.stop_service_cb(server_id, handle, status);\r
- }\r
- }\r
-}\r
-void wrapper_gatts_delete_all_service_callback(uint8_t server_id, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.delete_service_cb) {\r
- callback.delete_service_cb(server_id, status);\r
- }\r
- } \r
-}\r
-void wrapper_gatts_read_request_callback(uint8_t server_id, uint16_t conn_id, gatts_req_read_cb_t *read_cb_para, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.read_request_cb) {\r
- callback.read_request_cb(server_id, conn_id, read_cb_para, status);\r
- }\r
- }\r
-}\r
-void wrapper_gatts_write_request_callback(uint8_t server_id, uint16_t conn_id, gatts_req_write_cb_t *write_cb_para, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.write_request_cb) {\r
- callback.write_request_cb(server_id, conn_id, write_cb_para, status);\r
- }\r
- }\r
-}\r
-void wrapper_gatts_mtu_changed_callback(uint8_t server_id, uint16_t conn_id, uint16_t mtu_size, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.mtu_changed_cb) {\r
- callback.mtu_changed_cb(server_id, conn_id, mtu_size, status);\r
- }\r
- }\r
-}\r
-\r
-static gap_ble_callbacks_t g_wrapper_gap_ble_callbacks = {\r
- .ble_enable_cb = wrapper_gap_ble_enable_callback,\r
- .ble_disable_cb = wrapper_gap_ble_disable_callback,\r
- .set_adv_data_cb = wrapper_gap_ble_set_adv_data_callback,\r
- .set_adv_param_cb = wrapper_gap_ble_set_adv_param_callback,\r
- .set_scan_param_cb = wrapper_gap_ble_set_scan_param_callback,\r
- .start_adv_cb = wrapper_gap_ble_start_adv_callback,\r
- .stop_adv_cb = wrapper_gap_ble_stop_adv_callback,\r
- .scan_result_cb = wrapper_gap_ble_scan_result_callback,\r
- .conn_state_change_cb = wrapper_gap_ble_connect_state_changed_callback,\r
- .pair_result_cb = wrapper_gap_ble_paired_complete_callback,\r
- .read_rssi_cb = wrapper_gap_ble_read_rssi_callback,\r
- .terminate_adv_cb = wrapper_gap_ble_terminate_adv_callback,\r
- .auth_complete_cb = wrapper_gap_ble_auth_complete_callback,\r
- .conn_param_update_cb = wrapper_gap_ble_connect_param_update_callback, \r
-};\r
-\r
-static gatts_callbacks_t g_wrapper_gatts_callbacks = {\r
- .add_service_cb = wrapper_gatts_add_service_callback,\r
- .add_characteristic_cb = wrapper_gatts_add_characteristic_callback,\r
- .add_descriptor_cb = wrapper_gatts_add_descriptor_callback,\r
- .start_service_cb = wrapper_gatts_start_service_callback,\r
- .stop_service_cb = wrapper_gatts_stop_service_callback,\r
- .delete_service_cb = wrapper_gatts_delete_all_service_callback,\r
- .read_request_cb = wrapper_gatts_read_request_callback,\r
- .write_request_cb = wrapper_gatts_write_request_callback,\r
- .mtu_changed_cb = wrapper_gatts_mtu_changed_callback, \r
-};\r
-\r
-void wrapper_ble_register(void)\r
-{\r
- gap_ble_register_callbacks(&g_wrapper_gap_ble_callbacks);\r
- gatts_register_callbacks(&g_wrapper_gatts_callbacks);\r
-}\r
-\r
-\r
-errcode_t wrapper_gatts_register_server(bt_uuid_t *app_uuid, uint8_t *server_id)\r
-{\r
- errcode_t ret = ERRCODE_SUCC;\r
- if (gatts_register_flag) {\r
- *server_id = gatts_server_id;\r
- ret = ERRCODE_SUCC;\r
- } else {\r
- gatts_register_flag = true;\r
- ret = gatts_register_server(app_uuid, server_id);\r
- gatts_server_id = *server_id;\r
- }\r
- return ret;\r
-}\r
-\r
-errcode_t wrapper_gatts_add_service(uint8_t server_id, bt_uuid_t *service_uuid, bool is_primary)\r
-{\r
- g_uuid_list.push_back(*service_uuid);\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-void wrapper_gatts_service_start(void)\r
-{\r
- if (!g_uuid_list.empty()) {\r
- bt_uuid_t &uuid = g_uuid_list.front();\r
- // 服务异步添加,需要保证当前服务start后,再添加下一个服务\r
- (void)gatts_add_service(gatts_server_id, &uuid, true);\r
- g_uuid_list.pop_front();\r
- } else {\r
- g_svr_handle_list.clear();\r
- }\r
-}\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
#include "wearable_log.h"\r
#include "UiConfig.h"\r
#include "ConnectPhonePresenter.h"\r
-#include "custom_utils.h"\r
+\r
namespace OHOS {\r
static ConnectOpenView *g_pConnectOpenView{nullptr};\r
ConnectOpenView::ConnectOpenView()\r
return;\r
}\r
watchNameLabel->SetPosition(0, 165, HORIZONTAL_RESOLUTION, 45); // 0:x 244:y 454:width 45:height\r
- uint8_t btname[32]={0};\r
- uint32_t len=sizeof(btname);\r
- uapi_get_nv_btname(btname,&len);\r
- watchNameLabel->SetText((char*)btname);\r
+ watchNameLabel->SetText(ConnectPhonePresenter::GetInstance()->getWatchName());\r
watchNameLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40); // 40:font data\r
watchNameLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE);\r
watchNameLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER,\r
#include "bts_le_gap.h"\r
#include "drag_event.h"\r
#include "cmsis_os.h"\r
+#include "tcxo.h"\r
#include "UiConfig.h"\r
#include "wearable_log.h"\r
\r
unsigned int connedDevicesNum = 0;\r
\r
bool ret = gap_get_paired_devices_num(&connedDevicesNum);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Setup GapGetPariedDevicesNum ret = %d, num = %d", ret, connedDevicesNum);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Setup GetPariedDevicesNum ret = %d, num = %d", ret, connedDevicesNum);\r
\r
if (connedDevicesNum != 0) {\r
gap_paired_device_info_t *devInfo = (gap_paired_device_info_t *)malloc(sizeof(gap_paired_device_info_t) * connedDevicesNum);\r
- if (devInfo == nullptr) {\r
+ if (devInfo == NULL) {\r
return;\r
}\r
ret = gap_get_paired_devices_list(devInfo, (int *)&connedDevicesNum);\r
}\r
free(devInfo);\r
}\r
-\r
- (void)gap_ble_remove_all_pairs();\r
}\r
\r
void ConnectPhonePresenter::ConfirmOnClick()\r
{\r
bool ret;\r
+\r
+ memset_s(watchName, sizeof(watchName), 0, sizeof(watchName));\r
+ (void)sprintf_s(watchName, sizeof(watchName), "Watch%x", ((uint32_t)uapi_tcxo_get_us() & 0xFFFF));\r
+\r
+ ret = bluetooth_set_local_name((unsigned char*)watchName, strlen((char*)watchName) + 1);\r
+ if (ret == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConnectPhonePresenter: bt SetLocalName ret = 0x%x", ret);\r
+ }\r
+\r
ret = gap_br_set_bt_scan_mode(GAP_SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE, 60); // start scan\r
- if (!ret) {\r
+ if (ret == false) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConnectPhonePresenter bt gap_br_set_bt_scan_mode ret = 0x%x", ret);\r
}\r
+#ifndef SUPPORT_ALIPAY_SEC\r
BleAdvStart();\r
+#endif\r
}\r
\r
bool ConnectPhonePresenter::OnDrag(UIView& view, const DragEvent& event)\r
return true;\r
}\r
\r
+char* ConnectPhonePresenter::getWatchName()\r
+{\r
+ return watchName;\r
}\r
+\r
+}
\ No newline at end of file
private:
void SetNumImg(UIImageView* img, const ImageInfo *info);
void FillIntegerPart(uint16_t intVal);
- void FillDecimalPart(float data);
+ void FillDecimalPart(uint16_t intVal);
void HandlePosition();
bool CreateImageViews(float data);
* @brief This function is invoked when the function SetHorCurrentPage() is called.
*/
void OnActive(void) override;
-
- void OnInactive(void) override;
-
+
private:
bool resLoadStatus{false};
-
private:
void ProcessData(DialDataType type, DialView* view);
std::unordered_map<int16_t, DialView*> dataTypeMap_;
{
return;
}
- int32_t playerState;
- PlayersModel::GetInstance()->GetPlayerCtr()->GetPlayerState(playerState);
- state_ = playersView->GetPlayerButtonState();
- if ((playerState != PLAYER_STARTED) && (state_ == UICheckBox::UICheckBoxState::SELECTED)) {
- playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);
- } else if ((playerState == PLAYER_STARTED) && (state_ == UICheckBox::UICheckBoxState::UNSELECTED)) {
- playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::SELECTED);
- }
- if (state_ == UICheckBox::UICheckBoxState::SELECTED) {
+ state_ = playersView->GetPlayerButtonState();
+ if (state_ == UICheckBox::UICheckBoxState::SELECTED)
+ {
+ int32_t playerState;
+ PlayersModel::GetInstance()->GetPlayerCtr()->GetPlayerState(playerState);
+ if (playerState != PLAYER_STARTED)
+ {
+ playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);
+ return;
+ }
PlayersModel::GetInstance()->GetPlayerCtr()->GetCurrentTime(playerCurrentTime_);
PlayersModel::GetInstance()->GetDuration(playerMusicDuration_);
if (playerMusicDuration_ != 0)
currentIndex_++;
}
-static uint8_t GetValueLength(uint16_t value)
-{
- uint8_t length = 1;
- if (value > 0) {
- length = log10(value) + 1;
- }
- return length;
-}
-
void DialDigitalImgView::FillIntegerPart(uint16_t intVal)
{
- uint8_t length = GetValueLength(intVal);
+ uint8_t length = log10(intVal) + 1;
if (length < allocIntegerLen_) {
for (uint8_t i = 0; i < (allocIntegerLen_ - length); i++) {
SetNumImg(imgs_[currentIndex_], numInfo_[0]);
}
}
-void DialDigitalImgView::FillDecimalPart(float data)
+void DialDigitalImgView::FillDecimalPart(uint16_t intVal)
{
- uint8_t startIndex = GetValueLength(static_cast<uint16_t>(abs(data))) + 1;
- char dataStr[10] = {'\0'}; // 10: max number of digits.
- sprintf_s(dataStr, 10, "%f", data); // 10: size of dataStr
-
- for (uint8_t i = 0; i < decimalPrecision_; i++) {
- uint8_t index = startIndex + i;
- if ((index < 10) && (dataStr[index] != '\0')) { // 10: size of dataStr
- uint8_t val = dataStr[index] - '0';
- SetNumImg(imgs_[currentIndex_], numInfo_[val]);
- } else {
+ uint8_t length = log10(intVal) + 1;
+ if (length < decimalPrecision_) {
+ for (uint8_t i = 0; i < (decimalPrecision_ - length); i++) {
SetNumImg(imgs_[currentIndex_], numInfo_[0]);
}
}
+ for (uint8_t i = 0; i < length; i++) {
+ uint8_t curNum = static_cast<uint16_t>(intVal / (pow(10, length - i - 1))) % 10; // 10: conversion
+ SetNumImg(imgs_[currentIndex_], numInfo_[curNum]);
+ }
}
void DialDigitalImgView::HandlePosition()
for (uint8_t i = 0; i < currentIndex_; i++) {
parent_->Add(imgs_[i]);
imgs_[i]->SetPosition(curX, alignPos_.y);
- imgs_[i]->Invalidate();
curX += imgs_[i]->GetWidth() + space_;
}
}
bool DialDigitalImgView::CreateImageViews(float data)
{
uint8_t imgCnt = 0;
- uint16_t integer = static_cast<uint16_t>(abs(data));
-
- uint8_t actualIntegerLen = GetValueLength(integer);
+ uint32_t integer = static_cast<uint32_t>(abs(data));
+ uint8_t actualIntegerLen = log10(integer) + 1;
if (integerLength_ == 0) {
imgCnt = actualIntegerLen;
if (imgCnt_ != 0) {
for (uint8_t i = 0; i < imgCnt_; i++) {
if (parent_ != nullptr) {
- imgs_[i]->Invalidate();
parent_->Remove(imgs_[i]);
}
}
if (decimalPrecision_ != 0 && decimalPointInfo_ != nullptr) {
SetNumImg(imgs_[currentIndex_], decimalPointInfo_);
- FillDecimalPart(data);
+ // 10: conversion
+ uint16_t decimalVal = static_cast<uint16_t>((abs(data) - intVal) * (pow(10, decimalPrecision_)));
+ FillDecimalPart(decimalVal);
}
HandlePosition();
value_ = data;
kaleidoscope_->StartRotateAnimator();
}
}
-
-void DialViewGroup::OnInactive(void)
-{
- if (video_ != nullptr) {
- if (!video_->IsStopped()) {
- video_->StopPlay();
- }
- } else if (kaleidoscope_ != nullptr) {
- kaleidoscope_->StopRotateAnimator();
- kaleidoscope_->ClearFocus();
- }
-}
}
\r
if (memcpy_s(info->dialName, DIAL_NAME_MAX_LEN, dialHeader->dialName, DIAL_NAME_MAX_LEN) != EOK) {\r
GRAPHIC_LOGE("[%s: %d]memcpy_s dial name fail!\n", __FUNCTION__, __LINE__);\r
- UIFree(dialHeader);\r
+ free(dialHeader);\r
return false;\r
}\r
\r
if (memcpy_s(info->description, DIAL_DESCRIPTION_MAX_LEN,\r
dialHeader->description, DIAL_DESCRIPTION_MAX_LEN) != EOK) {\r
GRAPHIC_LOGE("[%s: %d]memcpy_s dial description fail!\n", __FUNCTION__, __LINE__);\r
- UIFree(dialHeader);\r
+ free(dialHeader);\r
return false;\r
}\r
\r
info->imgId = dialHeader->previewImgId | dirId_;\r
info->offset = dialHeader->imageOffset;\r
\r
- UIFree(dialHeader);\r
+ free(dialHeader);\r
return true;\r
}\r
\r
{
int32 ret;
uint32 size = sizeof(hfp_hf_calls_info_t);
+ Request *request = nullptr;
BroadcastApi *broadcastApi = nullptr;
IUnknown *api = nullptr;
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HfpIncomingEventPublish topic=%u!!", topic);
- void *publishData = malloc(size);
- if (publishData == nullptr) {
+ /* 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;
}
- ret = memcpy_s(publishData, size, (const void *)&callsInfo, size);
+ request->msgId = topic;
+ ret = memcpy_s(request->data, size, (const void *)&callsInfo, size);
if (ret != EOK) {
- free(publishData);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HfpIncomingEventPublish memcpy_s fail! ret = %d", ret);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HfpIncomingEventPublish memcpy_s rateDataTmp fail! ret:%d", ret);
return;
}
-
- Request request = {
- .msgId = topic,
- .len = size,
- .msgValue = 0,
- .data = publishData,
- };
+ request->len = size;
+ request->msgValue = 0;
/* public request */
api = SAMGR_GetInstance()->GetFeatureApi(BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME);
if (api == nullptr) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetFeatureApi failed");
- free(publishData);
+ SAMGR_FreeRequestMsg(request);
return;
}
ret = api->QueryInterface(api, DEFAULT_VERSION, (void **)&broadcastApi);
if (ret != 0 || broadcastApi == nullptr) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "QueryInterface failed");
- free(publishData);
+ SAMGR_FreeRequestMsg(request);
return;
}
- broadcastApi->PublishTopic((IUnknown *)broadcastApi, &request);
+ broadcastApi->PublishTopic((IUnknown *)broadcastApi, request);
broadcastApi->Release((IUnknown *)broadcastApi);
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HfpIncomingEventPublish end!!");
if (request == nullptr) {
return FALSE;
}
+ SAMGR_FreeRequestMsg(request);
return TRUE;
}
typedef enum {
APPLIST_STYLE, //列表显示
HEXAGONS_STYLE, //蜂窝显示
- FOOTBALL_STYLE
} DesktopStyle;
namespace OHOS {
namespace OHOS {
static const char *SET_DESKTOP_LIST = "setdesktopList";
static const char *SET_DESKTOP_HEXAGONS = "setdesktopHexagons";
-static const char *SET_DESKTOP_FOOTBALL = "setdesktopFootball";
class SetDesktopView;
class SetDesktopModel;
bool OnDrag(UIView& view, const DragEvent& event) override;
bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
- uint8_t GetCurrentStyle(void);
+ bool GetHexagonsStyleState(void);
private:
};
void OnSetUpView() override;
void OnTearDownView() override;
void OnStop() override;
- void UpdateSelectedStyle(uint8_t selectedStyle);
- uint8_t GetCurrentSelectedStyle(void);
-
+ void UpdateSelectedStyle(bool hexagonsSelected);
private:
- void InitFootballItem();
UILabel titleText;
UIToggleButton hexagonsBtn;
UIToggleButton listBtn;
- UIToggleButton footballBtn_;
UIImageView hexagonsImage;
UIImageView listImage;
- UIImageView footballImage_;
UILabel listText;
UILabel hexagonsText;
- UILabel footballText_;
};
}
#endif // SET_DESKTOP_VIEW_H
(void)UtilsGetValue("applist_style", temp, STYLE_VALUE_LEN);
if (strcmp(temp, "hexagons") == 0) {
style = HEXAGONS_STYLE;
- } else if (strcmp(temp, "football") == 0) {
- style = FOOTBALL_STYLE;
} else {
style = APPLIST_STYLE;
}
(void)UtilsSetValue("applist_style", "list");
} else if (style == HEXAGONS_STYLE) {
(void)UtilsSetValue("applist_style", "hexagons");
- } else if (style == FOOTBALL_STYLE) {
- (void)UtilsSetValue("applist_style", "football");
}
}
SetDesktopModel::GetInstance().SetDesktopStyle(HEXAGONS_STYLE);
} else if (strcmp(view.GetViewId(), SET_DESKTOP_LIST) == 0) {
SetDesktopModel::GetInstance().SetDesktopStyle(APPLIST_STYLE);
- } else if (strcmp(view.GetViewId(), SET_DESKTOP_FOOTBALL) == 0) {
- SetDesktopModel::GetInstance().SetDesktopStyle(FOOTBALL_STYLE);
}
//uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();
//NativeAbility::GetInstance().ChangeSlice(preSlice);
NativeAbility::GetInstance().Back();
return true;
}
- uint8_t SetDesktopPresenter::GetCurrentStyle(void)
+ bool SetDesktopPresenter::GetHexagonsStyleState(void)
{
- DesktopStyle style = SetDesktopModel::GetInstance().GetDesktopStyle();
- if (style == HEXAGONS_STYLE) {
- return 1; // 1: hexagons style enum index
- } else if (style == FOOTBALL_STYLE) {
- return 2; // 2: football style enum index
- }
- return 0;
+ return (SetDesktopModel::GetInstance().GetDesktopStyle() == HEXAGONS_STYLE);
}
-
bool SetDesktopPresenter::OnKeyAct(UIView &view, const KeyEvent &event)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDesktopPresenter::OnKeyAct");
titleText.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
container_->Add(&titleText);
- listImage.SetPosition(0, 135, 190, 190);
+ listImage.SetPosition(25, 135, 190, 190);
listImage.SetSrc(PNG_SET_DESKTOP_BG_IMAGE);
container_->Add(&listImage);
- listBtn.SetPosition(22, 157, 148, 148);
+ listBtn.SetPosition(47, 157, 148, 148);
listBtn.SetImages(PNG_SET_DESKTOP_LIST_IMAGE, PNG_SET_DESKTOP_LIST_IMAGE);
listBtn.SetViewId(SET_DESKTOP_LIST);
container_->Add(&listBtn);
- listText.SetPosition(61, 328, 200, 60);
+ listText.SetPosition(96, 328, 200, 60);
listText.SetText("列表");
listText.SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
listText.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
listText.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
container_->Add(&listText);
- hexagonsImage.SetPosition(150, 135, 190, 190);
+ hexagonsImage.SetPosition(247, 135, 190, 190);
hexagonsImage.SetSrc(PNG_SET_DESKTOP_BG_IMAGE);
container_->Add(&hexagonsImage);
- hexagonsBtn.SetPosition(172, 157, 148, 148);
+ hexagonsBtn.SetPosition(267, 157, 148, 148);
hexagonsBtn.SetImages(PNG_SET_DESKTOP_HEXAGONS_IMAGE, PNG_SET_DESKTOP_HEXAGONS_IMAGE);
hexagonsBtn.SetViewId(SET_DESKTOP_HEXAGONS);
container_->Add(&hexagonsBtn);
- hexagonsText.SetPosition(218, 328, 200, 60);
+ hexagonsText.SetPosition(305, 328, 200, 60);
hexagonsText.SetText("蜂窝");
hexagonsText.SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
hexagonsText.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
hexagonsText.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
container_->Add(&hexagonsText);
- InitFootballItem();
listBtn.SetOnClickListener(presenter_);
hexagonsBtn.SetOnClickListener(presenter_);
- footballBtn_.SetOnClickListener(presenter_);
- UpdateSelectedStyle(presenter_->GetCurrentStyle());
+ UpdateSelectedStyle(presenter_->GetHexagonsStyleState());
}
void SetDesktopView::OnTearDownView()
}
}
-void SetDesktopView::UpdateSelectedStyle(uint8_t selectedStyle)
+void SetDesktopView::UpdateSelectedStyle(bool hexagonsSelected)
{
- hexagonsImage.SetVisible(false);
- hexagonsBtn.SetState(false);
- listImage.SetVisible(false);
- listBtn.SetState(false);
- footballImage_.SetVisible(false);
- footballBtn_.SetState(false);
-
- if (selectedStyle == 1) { // 1: select hexagons style
- hexagonsImage.SetVisible(true);
- hexagonsBtn.SetState(true);
- } else if (selectedStyle == 2) { // 2: select football style
- footballImage_.SetVisible(true);
- footballBtn_.SetState(true);
- } else {
- listImage.SetVisible(true);
- listBtn.SetState(true);
- }
-}
-
-void SetDesktopView::InitFootballItem()
-{
- footballImage_.SetPosition(300, 135, 190, 190);
- footballImage_.SetSrc(PNG_SET_DESKTOP_BG_IMAGE);
- container_->Add(&footballImage_);
-
- footballBtn_.SetPosition(322, 157, 148, 148);
- footballBtn_.SetImages(PNG_SET_DESKTOP_HEXAGONS_IMAGE, PNG_SET_DESKTOP_HEXAGONS_IMAGE);
- footballBtn_.SetViewId(SET_DESKTOP_FOOTBALL);
- container_->Add(&footballBtn_);
-
- footballText_.SetPosition(368, 328, 200, 60);
- footballText_.SetText("足球");
- footballText_.SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
- footballText_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
- footballText_.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- container_->Add(&footballText_);
-}
-
-uint8_t SetDesktopView::GetCurrentSelectedStyle()
-{
- return presenter_->GetCurrentStyle();
+ listImage.SetVisible(!hexagonsSelected);
+ hexagonsImage.SetVisible(hexagonsSelected);
+ hexagonsBtn.SetState(hexagonsSelected);
+ listBtn.SetState(!hexagonsSelected);
}
}
#include "SetDialModel.h"
#include "Presenter.h"
#include "components/ui_view.h"
-#include "components/ui_roller_view.h"
#include "KeyInputListener.h"
#include "ModelListenerSample.h"
class SetDialModel;
class SetDialPresenter : public Presenter<SetDialView>,
public UIView::OnClickListener, public ModelListenerSample,
- public UICoverflowView::OnCoverflowScrollListener,
- public UIRollerView::OnScrollListener {
+ public UICoverflowView::OnCoverflowScrollListener {
public:
SetDialPresenter();
~SetDialPresenter() override;
void OnTickEvent() override;
void Notify() override {}
bool OnScroll() override;
- void OnScroll(UIRollerView* roller, std::string currentItemName, float currentItemAngle) override;
bool OnClick(UIView &view, const ClickEvent &event) override;
void ResetTickTimer(void);
private:
#include "View.h"
#include "components/ui_view_group.h"
#include "components/ui_coverflow_view.h"
-#include "components/ui_roller_view.h"
#include "window/window.h"
#include "BaseView.h"
#include "ChangeSliceListener.h"
static constexpr uint8_t DIVISOR_TWO = 2;
class SetDialPresenter;
-enum class DialStyle {
- COVERFLOW = 0,
- ROLLER,
- STYLE_NUM
-};
-
class SetDialView : public View<SetDialPresenter> {
public:
SetDialView();
void OnTearDownView() override;
void OnStop() override;
void CoverflowViewScroll(void);
- void RollerViewScroll(std::string currentItemName, float currentItemAngle);
uint8_t GetCoverflowPage(void);
private:
void SetUpCoverflowView(void);
- void SetUpRollerView(void);
UICoverflowView coverflow_;
- UIRollerView rollerView_;
- int16_t rollerItemNum_ = 0;
UILabel label_;
uint8_t lastIndex_;
};
return true;
}
- void SetDialPresenter::OnScroll(UIRollerView* roller, std::string currentItemName, float currentItemAngle)
- {
- view_->RollerViewScroll(currentItemName, currentItemAngle);
- }
-
size_t SetDialPresenter::GetDialCount(void)
{
return model->GetDialCount();
#include <string>
#include "SetDialView.h"
#include "SetDialPresenter.h"
-#include "SetDialStyleModel.h"
namespace OHOS {
SetDialView::SetDialView()
View<SetDialPresenter>::OnStart();
SetContainerView(new UIViewGroup());
container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- if (SetDialStyleModel::GetInstance().GetStyle() == DialStyle::COVERFLOW) {
- SetUpCoverflowView();
- } else {
- SetUpRollerView();
- }
+ SetUpCoverflowView();
}
void SetDialView::SetUpCoverflowView(void)
coverflow_.SetIntercept(true);
coverflow_.SetOnCoverflowListener(presenter_);
coverflow_.SetOnClickListener(presenter_);
- coverflow_.SetThrowDrag(true);
std::vector<SetDialInfo> &dialInfo = presenter_->GetDialInfo();
for (auto iter : dialInfo) {
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialView::SetUpCoverflowView %s",
label_.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
label_.SetText(dialInfo[lastIndex_].dialName.c_str());
label_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
-
+
container_->Add(&coverflow_);
container_->Add(&label_);
}
-void SetDialView::SetUpRollerView(void)
-{
- rollerView_.SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- rollerView_.SetItemSize(150, 150); // 150: item size
- rollerView_.SetThrowDrag(true);
- rollerView_.SetItemPadding(80); // 80: item padding
- container_->Add(&rollerView_);
-
- std::vector<SetDialInfo> &dialInfo = presenter_->GetDialInfo();
- for (auto iter : dialInfo) {
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialView::SetUpRollerView %s",
- iter.dialName.c_str());
- bool succ = rollerView_.AddItem(iter.dialName, iter.preImageInfo);
- rollerItemNum_ += succ ? 1 : 0;
- }
- float scalerCoef = 0.55;
- uint16_t w = Screen::GetInstance().GetWidth();
- uint16_t h = Screen::GetInstance().GetHeight();
- rollerView_.SetItemSize(w * scalerCoef, h * scalerCoef);
- lastIndex_ = presenter_->GetPageIndex();
- rollerView_.SetCurrentItem(dialInfo[lastIndex_].dialName);
- rollerView_.SetOnClickListener(presenter_);
- rollerView_.SetOnScrollListener(presenter_);
-
- label_.SetPosition(127, 50, 200, 50);
- label_.SetTextColor(Color::White());
- label_.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- label_.SetText(dialInfo[lastIndex_].dialName.c_str());
- label_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
- container_->Add(&label_);
-}
-
void SetDialView::OnSetUpView()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialView::OnSetUpView");
presenter_->ResetTickTimer();
}
-void SetDialView::RollerViewScroll(std::string currentItemName, float currentItemAngle)
-{
- const float baseAngle = 360.0;
- const float halfBaseAngle = 180.0;
- if (FloatMoreEqual(currentItemAngle, halfBaseAngle)) {
- currentItemAngle -= baseAngle;
- }
- if (currentItemAngle < 0) {
- currentItemAngle = -currentItemAngle;
- }
- float maxAngle = baseAngle / rollerItemNum_;
- float coef = 1.0 - 1.0 / (maxAngle) * currentItemAngle;
- label_.SetStyle(STYLE_TEXT_OPA, coef * OPA_OPAQUE);
- label_.SetText(currentItemName.c_str());
- std::vector<SetDialInfo> &dialInfo = presenter_->GetDialInfo();
- for (uint8_t i = 0; i < dialInfo.size(); ++i) {
- if (dialInfo[i].dialName == currentItemName) {
- lastIndex_ = i;
- }
- }
- presenter_->ResetTickTimer();
-}
-
uint8_t SetDialView::GetCoverflowPage(void)
{
return lastIndex_;
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
- * Description: SetDialStyleModel.h
- * Author:
- * Create: 2024-06-06
- */
-
-#ifndef SET_DIAL_STYLE_MODEL_H
-#define SET_DIAL_STYLE_MODEL_H
-#include "SetDialView.h"
-#include "components/ui_view.h"
-
-namespace OHOS {
-class SetDialStyleModel {
-public:
- static SetDialStyleModel& GetInstance()
- {
- static SetDialStyleModel model;
- return model;
- }
-
- void SetStyle(DialStyle style);
- DialStyle GetStyle();
-
-private:
- constexpr static uint8_t MAX_LEN = 32;
- const char key_[MAX_LEN] = "set_dial_style";
- struct {
- const DialStyle style;
- const char value[MAX_LEN];
- } values_[static_cast<int>(DialStyle::STYLE_NUM)] = {
- {DialStyle::COVERFLOW, "DialStyle::COVERFLOW"},
- {DialStyle::ROLLER, "DialStyle::ROLLER"},
- };
- SetDialStyleModel();
- ~SetDialStyleModel();
- SetDialStyleModel(const SetDialStyleModel&) = delete;
- SetDialStyleModel& operator=(const SetDialStyleModel&) = delete;
-};
-} // OHOS
-#endif
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
- * Description: SetDialStylePresenter.h
- * Author:
- * Create: 2024-06-06
- */
-
-#ifndef SET_DIAL_STYLE_PRESENTER_H
-#define SET_DIAL_STYLE_PRESENTER_H
-#include "SetDialView.h"
-#include "components/ui_view.h"
-#include "Presenter.h"
-
-namespace OHOS {
-class SetDialStyleModel;
-class SetDialStyleView;
-class SetDialStylePresenter : public Presenter<SetDialStyleView, SetDialStyleModel>,
- public UIView::OnClickListener,
- public UIView::OnDragListener {
-public:
- SetDialStylePresenter();
- ~SetDialStylePresenter();
- SetDialStylePresenter(const SetDialStylePresenter&) = delete;
- SetDialStylePresenter& operator=(const SetDialStylePresenter&) = delete;
- bool OnClick(UIView &view, const ClickEvent &event) override;
- bool OnDrag(UIView& view, const DragEvent& event) override;
- DialStyle GetCurrentStyle() const
- {
- return curStyle_;
- }
-
-private:
- DialStyle curStyle_ = DialStyle::COVERFLOW;
-};
-
-} // OHOS
-#endif
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
- * Description: SetDialStyleView.h
- * Author:
- * Create: 2024-06-06
- */
-
-#ifndef SET_DIAL_STYLE_VIEW_H
-#define SET_DIAL_STYLE_VIEW_H
-#include "components/ui_view.h"
-#include "components/ui_label.h"
-#include "components/ui_view_group.h"
-#include "components/ui_toggle_button.h"
-#include "SetDialView.h"
-#include "View.h"
-
-namespace OHOS {
-class SetDialStylePresenter;
-class SetDialStyleView : public View<SetDialStylePresenter> {
-public:
- SetDialStyleView();
- ~SetDialStyleView() override;
- SetDialStyleView(const SetDialStyleView &) = delete;
- SetDialStyleView& operator=(const SetDialStyleView &) = delete;
-
- void OnStart() override;
- void OnSetUpView() override;
- void OnStop() override;
- void OnClick(UIView &view);
-
-private:
- UILabel labelCover_;
- UILabel labelRoller_;
- UIToggleButton btnCover_;
- UIToggleButton btnRoller_;
- struct {
- UIToggleButton *btn;
- DialStyle style;
- } styleTable_[static_cast<int>(DialStyle::STYLE_NUM)] = {
- {&btnCover_, DialStyle::COVERFLOW},
- {&btnRoller_, DialStyle::ROLLER},
- };
-};
-} // OHOS
-#endif
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
- * Description: SetDialStyleModel.cpp
- * Author:
- * Create: 2024-06-06
- */
-
-#include "SetDialStyleModel.h"
-#include "kv_store.h"
-
-namespace OHOS {
-void SetDialStyleModel::SetStyle(DialStyle style)
-{
- int len = sizeof(values_) / sizeof(values_[0]);
- for (int i = 0; i < len; ++i) {
- if (values_[i].style == style) {
- UtilsSetValue(key_, values_[i].value);
- break;
- }
- }
-}
-
-DialStyle SetDialStyleModel::GetStyle()
-{
- int len = sizeof(values_) / sizeof(values_[0]);
- char temp[MAX_LEN];
- UtilsGetValue(key_, temp, MAX_LEN);
- for (int i = 0; i < len; ++i) {
- if (strcmp(temp, values_[i].value) == 0) {
- return values_[i].style;
- }
- }
- return DialStyle::COVERFLOW;
-}
-
-SetDialStyleModel::SetDialStyleModel()
-{
-}
-
-SetDialStyleModel::~SetDialStyleModel()
-{
-}
-} // OHOS
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
- * Description: SetDialStylePresenter.cpp
- * Author:
- * Create: 2024-06-06
- */
-
-#include "SetDialStyleView.h"
-#include "SetDialStyleModel.h"
-#include "SetDialStylePresenter.h"
-
-namespace OHOS {
-SetDialStylePresenter::SetDialStylePresenter()
-{
- Attach(&SetDialStyleModel::GetInstance());
-}
-
-SetDialStylePresenter::~SetDialStylePresenter()
-{
-}
-
-bool SetDialStylePresenter::OnClick(UIView &view, const ClickEvent &event)
-{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialStylePresenter::OnClick");
- view_->OnClick(view);
- return true;
-}
-
-bool SetDialStylePresenter::OnDrag(UIView& view, const DragEvent& event)
-{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialStylePresenter::OnDrag");
- UNUSED(view);
- if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) &&
- (event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) {
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnDrag ChangeSlice");
- uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();
- NativeAbility::GetInstance().ChangeSlice(preSlice);
- }
- return true;
-}
-} // OHOS
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
- * Description: SetDialStyleView.cpp
- * Author:
- * Create: 2024-06-06
- */
-
-#include "SetDialStyleView.h"
-#include "SetDialStyleModel.h"
-#include "SetDialStylePresenter.h"
-
-namespace OHOS {
-SetDialStyleView::SetDialStyleView()
-{
-}
-
-SetDialStyleView::~SetDialStyleView()
-{
-}
-
-void SetDialStyleView::OnStart()
-{
- View<SetDialStylePresenter>::OnStart();
- SetContainerView(new UIViewGroup);
- if (container_ == nullptr) {
- return;
- }
- container_->SetDraggable(true);
- container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- container_->SetOnDragListener(presenter_);
- container_->SetTouchable(true);
-}
-
-void SetDialStyleView::OnSetUpView()
-{
- if (container_ == nullptr) {
- return;
- }
- View<SetDialStylePresenter>::OnSetUpView();
- labelCover_.SetPosition(96, 328, 200, 60);
- labelCover_.SetText("Coverflow");
- container_->Add(&labelCover_);
-
- labelRoller_.SetPosition(305, 328, 200, 60);
- labelRoller_.SetText("Roller");
- container_->Add(&labelRoller_);
-
- btnCover_.SetPosition(47, 157, 148, 148);
- container_->Add(&btnCover_);
- btnRoller_.SetPosition(267, 157, 148, 148);
- container_->Add(&btnRoller_);
-
- const DialStyle style = SetDialStyleModel::GetInstance().GetStyle();
- int len = sizeof(styleTable_) / sizeof(styleTable_[0]);
- for (int i = 0; i < len; ++i) {
- if (style == styleTable_[i].style) {
- styleTable_[i].btn->SetState(true);
- } else {
- styleTable_[i].btn->SetState(false);
- }
- }
-
- btnCover_.SetOnClickListener(presenter_);
- btnRoller_.SetOnClickListener(presenter_);
-}
-
-void SetDialStyleView::OnStop()
-{
- View<SetDialStylePresenter>::OnStop();
- if (container_ != nullptr) {
- container_->RemoveAll();
- delete container_;
- container_ = nullptr;
- }
-}
-
-void SetDialStyleView::OnClick(UIView &view)
-{
- const UIToggleButton *ptr = dynamic_cast<UIToggleButton*>(&view);
- if (ptr == nullptr) {
- return;
- }
- int len = sizeof(styleTable_) / sizeof(styleTable_[0]);
- for (int i = 0; i < len; ++i) {
- if (ptr == styleTable_[i].btn) {
- styleTable_[i].btn->SetState(true);
- SetDialStyleModel::GetInstance().SetStyle(styleTable_[i].style);
- } else {
- styleTable_[i].btn->SetState(false);
- }
- }
-}
-} // OHOS
\ No newline at end of file
/*
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-14 09:40:13
- * @LastEditors: SnickerSun snickersun@163.com
- * @LastEditTime: 2024-07-02 20:02:35
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-06-18 14:42:57
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/themestyle/include/ThemeStyleModel.h
*/
#ifndef SET_THEMESTYLE_MODEL_H
static constexpr const char *THEMESTYLE_KEY = "applist_style";
static constexpr const char *THEMESTYLE_VALUE_LIST = "list";
static constexpr const char *THEMESTYLE_VALUE_HEXAGONS = "hexagons";
- static constexpr const char *THEMESTYLE_VALUE_FOOTBALL = "football";
typedef enum : uint16_t
{
APPLIST_STYLE, // 列表显示
HEXAGONS_STYLE, // 蜂窝显示
- FOOTBALL_STYLE, //足球
MAX_THEME_STYLE,
} ThemeStyle;
const std::map<ThemeStyle, std::string> ThemeStyleMap = {
{ThemeStyle::APPLIST_STYLE, THEMESTYLE_VALUE_LIST},
{ThemeStyle::HEXAGONS_STYLE, THEMESTYLE_VALUE_HEXAGONS},
- {ThemeStyle::FOOTBALL_STYLE, THEMESTYLE_VALUE_FOOTBALL},
// 在此处添加更多的映射关系
};
const std::unordered_map<std::string, ThemeStyle> ReverseThemeStyleMap = {
{THEMESTYLE_VALUE_LIST, ThemeStyle::APPLIST_STYLE},
{THEMESTYLE_VALUE_HEXAGONS, ThemeStyle::HEXAGONS_STYLE},
- {THEMESTYLE_VALUE_FOOTBALL, ThemeStyle::FOOTBALL_STYLE},
// 在此处添加更多的映射关系
};
std::bind(&OHOS::DisplayBrightnessModel::UpdateBrightnessValueOfSlider, OHOS::DisplayBrightnessModel::GetInstance()));
break;
}
+ SAMGR_FreeRequestMsg(request);
#endif
/* -------------------------------------------------------------------------- */
WEARABLE_LOGI(WEARABLE_LOG_MODULE_UI_SERVICE, "UiServiceMsgId = %d",request->msgId);
break;
}
}
+ //释放请求消息
+ SAMGR_FreeRequestMsg(request);
/* -------------------------------------------------------------------------- */
}
//发送msg
static int32_t SendMsg(int32_t msgId, uint32_t msgValue, void *data, int32_t dataLen)
{
- int32_t ret;
- void *sendData = nullptr;
- if (dataLen > 0) {
- sendData = malloc(dataLen);
- if (sendData == nullptr) {
- return FALSE;
- }
- ret = memcpy_s(sendData, dataLen, data, dataLen);
- if (ret != EOK) {
- free(sendData);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uiservice sendMsg memcpy_s fail! ret = %d", ret);
- return FALSE;
- }
+ Request *request = SAMGR_AllocRequestMsg(0, PLATFORM_CORE, UI_SVR_ID, dataLen);
+ if (request == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_UI_SERVICE, "SAMGR_AllocRequestMsg failed");
+ return FALSE;
+ }
+ request->msgId = msgId;
+ request->msgValue = msgValue;
+ if (data != nullptr) {
+ (void)memcpy_s(request->data, dataLen, data, dataLen);
}
- Request request = {
- .msgId = msgId,
- .len = dataLen,
- .msgValue = msgValue,
- .data = sendData,
- };
-
- ret = SAMGR_SendRequest(IUNKNOWN_GetIdentity(GET_IUNKNOWN(g_uiService)), &request, nullptr);
+ int32_t ret = SAMGR_SendRequest(IUNKNOWN_GetIdentity(GET_IUNKNOWN(g_uiService)), request, nullptr);
if (ret != 0) {
- if (sendData != nullptr) {
- free(sendData);
- }
WEARABLE_LOGE(WEARABLE_LOG_MODULE_UI_SERVICE, "SendMsg failed ret = %d ", ret);
return FALSE;
}
void TransitionStart(TransitionCallback* transition, uint32_t duration);
bool SaveTargetSnapshot(UIView* view);
ImageInfo RectifySnapshot(ImageInfo& dstInfo);
- bool isTransAnimInterrupted_ = false;
};
} // namespace OHOS
#endif // SLICE_TRANSITION_H
*/
void Ability::ChangeSlice(const uint16_t targetSliceId, TransitionType type, const uint16_t priority)
{
- if (GetCurSliceId() == targetSliceId) {
- return;
- }
if (osal_atomic_read(&transitionCount_) <= 0) {
osal_atomic_inc(&transitionCount_);
// onStop释放当前页面需要和当前页面的事件监听异步执行,否则会出现自己杀掉自己的情况
bool SliceTransition::SetTransitionType(TransitionType type)
{
- isTransAnimInterrupted_ = false;
- if ((animator_ != nullptr) && (animator_->GetState() != Animator::STOP)) {
- animator_->Stop();
- isTransAnimInterrupted_ = true;
- }
transitionCallback_ = TransitionManager::GetInstance().GetTransition(type);
if (transitionCallback_ == nullptr) {
return false;
}
ImageInfo info = {{0}};
- if (RootView::GetInstance()->isSystemViewEmpty() && !view->IsVideoContained() && !isTransAnimInterrupted_) {
+ if (RootView::GetInstance()->isSystemViewEmpty() && !view->IsVideoContained()) {
if (!Screen::GetInstance().GetCurrentScreenBitmap(info)) {
return false;
}
void SliceTransition::StopAnimator()
{
- if (animator_ != nullptr) {
- animator_->Stop();
- }
+ animator_->Stop();
NativeAbility::GetInstance().OnTransitionEnd();
- if (transitionCallback_ != nullptr) {
- if (transitionCallback_->enableCurrentSnapshot_) {
- RootView::GetInstance()->Remove(currentSnapshot_);
- }
+ if (transitionCallback_->enableCurrentSnapshot_) {
+ RootView::GetInstance()->Remove(currentSnapshot_);
+ }
- if (transitionCallback_->enableTargetSnapshot_) {
- RootView::GetInstance()->Remove(targetSnapshot_);
- targetView_->SetVisible(true);
- }
+ if (transitionCallback_->enableTargetSnapshot_) {
+ RootView::GetInstance()->Remove(targetSnapshot_);
+ targetView_->SetVisible(true);
}
ClearTransitionResource();
}
target_->Scale(targetScale, focusIndex_);
focusView_->SetOpaScale(OPA_OPAQUE - opa);
}
-
-void BackToHexagonsTransition::OnTransitionEnd()
-{
- if ((target_ != nullptr) && (focusView_ != nullptr)) {
- target_->Scale(TARGET_SCALE_END, focusIndex_);
- focusView_->SetOpaScale(OPA_OPAQUE);
- }
-}
} // namespace OHOS
~BackToHexagonsTransition() override {}
void OnTransitionStart(UIImageView* current, UIView* target) override;
void TransitionAlg(uint32_t time) override;
- void OnTransitionEnd() override;
private:
UIImageView* current_ = nullptr;
UICustomHexagonsList* target_ = nullptr;
current_->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
Vector2<int16_t> delta = Vector2<int16_t>(current_->GetWidth() / 2, current_->GetHeight() / 2) -
current_->GetCurrentPosition(focusIndex_);
- opaStart_ = focusView_->GetOpaScale();
+ opaStart_ = current->GetOpaScale();
scaleStart_ = current_->GetGlobalScale();
Rect rect = focusView_->GetRect();
float xScale = target_->GetWidth() * 1.0f / rect.GetWidth();
${CMAKE_CURRENT_SOURCE_DIR}/nativelauncher/include
${CMAKE_CURRENT_SOURCE_DIR}/nativelauncher/include/slices/main
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/screennotify/include
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/include
)
set(PRIVATE_HEADER
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_card/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/add_card/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial/include
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial_style/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/key/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/player/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/applist/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/BluetoothPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/BluetoothHeadsetEvent.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/BluetoothModel.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/BluetoothWrapper.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/MainBluetoothView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/BluetoothEarPhoneView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/TipsConnFailMessageView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial/src/SetDialModel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial/src/SetDialPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial/src/SetDialView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial_style/src/SetDialStyleModel.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial_style/src/SetDialStylePresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial_style/src/SetDialStyleView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/key/src/KeyInputListener.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/compass/src/CompassControlView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/compass/src/CompassCalibrationView.cpp
VIEW_SET_CARD,
VIEW_ADD_CARD,
VIEW_SET_DIAL,
- VIEW_SET_DIAL_STYLE,
VIEW_MAX_INTER_APP, // 在此之前添加native应用ID.
VIEW_EXTERN_APP = 0xFFFE, // 三方应用
VIEW_INVALIDE_APP = 0xFFFF,
void InitSetCardSlice(void);
void InitAddCardSlice(void);
void InitSetDialSlice(void);
- void InitSetDialStyleSlice(void);
private:
void InitAllNativeSlices(void);
static constexpr const char *PNG_ALIPAY_PAY_ICON_WHITE = APP_RES_PATH"/ALIPAY_PAY_ICON_WHITE.bin";
static constexpr const char *PNG_ALIPAY_PAY_ICON_GREY = APP_RES_PATH"/ALIPAY_PAY_ICON_GREY.bin";
- // AppList hexagon icon
- static constexpr const char *PNG_APPLIST_DEFAULT_IMG = APP_RES_PATH"/regular_hexagon.bin";
- static constexpr const char *PNG_APPLIST_NOTSETUSE_IMG = APP_RES_PATH"/regular_hexagon_inverse.bin";
// 室内步行
static constexpr const char *PNG_APPLIST_WALK_IMAGE = APP_RES_PATH"/APPLIST_WALK.bin"; // Applist图标
#include "AddCardPresenter.h"
#include "SetDialView.h"
#include "SetDialPresenter.h"
-#include "SetDialStylePresenter.h"
-#include "SetDialStyleView.h"
#ifdef JS_ENABLE
#include "product_adapter.h"
#endif
{VIEW_SET_CARD, &NativeLauncher::InitSetCardSlice},
{VIEW_ADD_CARD, &NativeLauncher::InitAddCardSlice},
{VIEW_SET_DIAL, &NativeLauncher::InitSetDialSlice},
- {VIEW_SET_DIAL_STYLE, &NativeLauncher::InitSetDialStyleSlice},
};
static const ViewIdToString VIEW_MAPPER[] = {
{VIEW_SET_CARD, "SetCard"},
{VIEW_ADD_CARD, "AddCard"},
{VIEW_SET_DIAL, "SetDial"},
- {VIEW_SET_DIAL_STYLE, "SetDialStyle"},
};
NativeLauncher::NativeLauncher() {}
NativeAbility::GetInstance().AddSliceProxy(VIEW_SET_DIAL, setDialView);
}
-void NativeLauncher::InitSetDialStyleSlice(void)
-{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "NativeLauncher::InitSetDialStyleSlice");
- SliceProxy *setDialStyleView = new AbilitySliceProxy<SetDialStyleView, SetDialStylePresenter>;
- if (setDialStyleView == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "setDialStyleView");
- return;
- }
- NativeAbility::GetInstance().AddSliceProxy(VIEW_SET_DIAL_STYLE, setDialStyleView);
-}
}
{\r
int32 ret;\r
uint32 size = sizeof(AlarmClockEventData);\r
+ Request *request = nullptr;\r
BroadcastApi *broadcastApi = nullptr;\r
IUnknown *api = nullptr;\r
\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmTimerEventPublish topic=%u!!", topic);\r
\r
- void *publishData = malloc(size);\r
- if (publishData == nullptr) {\r
+ /* alloc request */\r
+ request = SAMGR_AllocRequestMsg(0, PLATFORM_CORE, BROADCAST_SVR_ID, size);\r
+ if (request == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SAMGR_AllocRequestMsg failed");\r
return;\r
}\r
- ret = memcpy_s(publishData, size, (const void *)&data, size);\r
+ request->msgId = topic;\r
+ ret = memcpy_s(request->data, size, (const void *)&data, size);\r
if (ret != EOK) {\r
- free(publishData);\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmTimerEventPublish memcpy_s fail! ret = %d", ret);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmTimerEventPublish memcpy_s rateDataTmp fail! ret = %d", ret);\r
return;\r
}\r
-\r
- Request request = {\r
- .msgId = topic,\r
- .len = size,\r
- .msgValue = 0,\r
- .data = publishData,\r
- };\r
+ request->len = size;\r
+ request->msgValue = 0;\r
\r
/* public request */\r
api = SAMGR_GetInstance()->GetFeatureApi(BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME);\r
if (api == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetFeatureApi failed");\r
- free(publishData);\r
+ SAMGR_FreeRequestMsg(request);\r
return;\r
}\r
ret = api->QueryInterface(api, DEFAULT_VERSION, (void **)&broadcastApi);\r
if (ret != 0 || broadcastApi == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "QueryInterface failed");\r
- free(publishData);\r
+ SAMGR_FreeRequestMsg(request);\r
return;\r
}\r
- broadcastApi->PublishTopic((IUnknown *)broadcastApi, &request);\r
+ broadcastApi->PublishTopic((IUnknown *)broadcastApi, request);\r
broadcastApi->Release((IUnknown *)broadcastApi);\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmTimerEventPublish end!!");\r
\r
int32_t AlipayGetAidCode(int8_t *aidStr);\r
void AlipayUnbind(void);\r
bool AlipayStartBind(void);\r
- bool AlipayFinishBind(void);\r
bool AlipayStartSwitchTimer(uint16_t time);\r
void AlipayStopBindTimer(void);\r
void AlipayStopSwitchTimer();\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_BIND_ANI_VIEW]");\r
ChangeView(ALIPAY_BIND_ANI_VIEW, ALIPAY_BIND_EXIT_VIEW);\r
} else if (&view == container[ALIPAY_LIST_VIEW] || &view == container[ALIPAY_BIND_VIEW]) {\r
- if (&view == container[ALIPAY_BIND_VIEW]) {\r
- AlipayModel::GetInstance()->AlipayFinishBind();\r
- }\r
AlipayModel::GetInstance()->AlipayStopSwitchTimer();\r
+ AlipayModel::GetInstance()->AlipayStopBindTimer();\r
NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
-\r
} else if (&view == container[ALIPAY_TRANS_LIST_VIEW]) {\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_TRANS_LIST_VIEW]");\r
ChangeView(ALIPAY_TRANS_LIST_VIEW, ALIPAY_LIST_VIEW);\r
return;\r
} else if (ALIPAY_INTER_STATUS_BINDING_OK == status && reFlag == 1) {\r
AlipayModel::GetInstance()->AlipaySetRefreshFlag(0);\r
- AlipayModel::GetInstance()->AlipayFinishBind();\r
+ AlipayModel::GetInstance()->AlipayStopBindTimer();\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindCallBackProc ALIPAY_INTER_STATUS_BINDING_OK");\r
AlipayModel::GetInstance()->AlipaySetBindFlag(true);\r
+ \r
AlipayMainView::GetInstance()->ChangeView(currentView, ALIPAY_BIND_RES_VIEW);\r
} else if (ALIPAY_INTER_STATUS_BINDING_FAIL == status && reFlag == 1) {\r
AlipayModel::GetInstance()->AlipayStopBindTimer();\r
return true;\r
}\r
\r
-bool AlipayModel::AlipayFinishBind(void)\r
-{\r
- AlipayStopBindTimer();\r
- alipayApi->bind_finish();\r
- return true;\r
-}\r
-\r
void AlipaySwitchTimerCallBackProc(void *argument)\r
{\r
UNUSED(argument);\r
void AlipayPresenter::ClickExitAlipay(UIView &view)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickExitAlipay start");\r
- AlipayModel::GetInstance()->AlipayFinishBind();\r
uint16 preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
NativeAbility::GetInstance().ChangeSlice(preSlice);\r
return;\r
AppItem itemInfo_ = { VIEW_INVALID, nullptr, nullptr, nullptr, nullptr };
};
-class FootballItemView : public UIImageView {
-public:
- explicit FootballItemView() {}
- ~FootballItemView() {}
- void SetItemInfo(const AppItem &itemInfo);
- AppViewId GetViewId();
- const char *GetAppUid();
-private:
- FootballItemView(const FootballItemView &);
- FootballItemView &operator = (const FootballItemView &);
- AppItem itemInfo_ = { VIEW_INVALID, nullptr, nullptr, nullptr, nullptr };
-};
}
#endif
AppViewId id;
const char *iconLarge;
const char *iconSmall;
- const char *iconHexagon;
const char *label;
const char *uid;
} AppItem;
-enum AppListStyle {
- APPLIST_STYLE,
- HEXAGONS_STYLE,
- FOOTBALL_STYLE
-};
-
class ApplistPresenter;
class ApplistModel {
public:
int GetHeadItemY(void);
void ApplistUpdate(void);
void SetPresenter(ApplistPresenter *p);
- AppListStyle GetCurrentStyle(void);
-
+ bool GetIsUseListStyle(void);
private:
ApplistModel();
ApplistModel(const ApplistModel &);
int GetHeadItemY(void);
uint8_t GetListItemNum(void);
ApplistView* GetAppListView();
- AppListStyle GetCurrentStyle(void);
+ bool GetIsUseListStyle(void);
private:
AppItemView *itemViewSele{nullptr};
#define APPLIST_VIEW_H
#include "View.h"
-#include "animator/animator_manager.h"
#include "components/root_view.h"
#include "components/ui_view_group.h"
#include "components/ui_scroll_view.h"
#include "components/ui_label.h"
#include "components/ui_list.h"
#include "components/ui_custom_hexagons_list.h"
-#include "components/ui_icosahedron_view.h"
-#include "gfx_utils/list.h"
#include "window/window.h"
#include "ohos_types.h"
#include "BaseView.h"
bool continueDrag{false};
};
-class FootballAnimatorCallback : public AnimatorCallback {
-public:
- explicit FootballAnimatorCallback(UIView* view, int16_t startPos, int16_t endPos)
- : startPos_(startPos),
- endPos_(endPos),
- startTime_(0),
- animator_(new Animator(this, view, 1000, false)) {} // 1000:duration of animator_, in milliseconds.
-
- ~FootballAnimatorCallback() override
- {
- if (animator_ != nullptr) {
- delete animator_;
- animator_ = nullptr;
- }
- }
-
- void Callback(UIView* view) override;
-
- Animator* GetAnimator() const
- {
- return animator_;
- }
-
- void SetStartTime(uint32_t time)
- {
- isStartAnim_ = false;
- startTime_ = time;
- }
-protected:
- int16_t startPos_;
- int16_t endPos_;
- uint32_t startTime_;
- bool isStartAnim_ = false;
- Animator* animator_;
-};
-
class ApplistPresenter;
class ApplistView : public View<ApplistPresenter> {
public:
void AddAppItemToList(const AppItem &item);
void ClearAppItemToList();
void RefreshAppList(void);
-
private:
- /* for list style */
+ void HexagonsStyleOnStart();
void ListStyleOnStart();
+ void HexagonsStyleOnSetUpView();
void ListStyleOnSetUpView();
+ void HexagonsStyleOnStop();
void ListStyleOnStop();
+
+ /* for list style */
ApplistAdapter *listAdapter_{nullptr};
UIList *contentList_{nullptr};
UIView::OnDragListener *dragListener{nullptr};
/* for hexagons style */
- void HexagonsStyleOnStart();
- void HexagonsStyleOnSetUpView();
- void HexagonsStyleOnStop();
UICustomHexagonsList* hexagonsList_{nullptr};
- List<HexagonsItemView*> listHexagonsView_;
+ std::list<HexagonsItemView*> listHexagonsView_;
uint16_t imgSize_ = 0;
uint16_t imgDistance_ = 0;
-
- /* for football style */
- void FootballStyleOnStart();
- void FootballStyleOnSetUpView();
- void FootballStyleOnStop();
- UIIcosahedronView* footballList_ = nullptr;
- List<FootballItemView*> footballItemList_;
- ImageInfo* footballDefaultImg_ = nullptr;
- FootballAnimatorCallback* callback_ = nullptr;
- Animator* enterAnimator_ = nullptr;
};
}
#endif // APPLIST_VIEW_H
\ No newline at end of file
{
return itemInfo_.uid;
}
-
- void FootballItemView::SetItemInfo(const AppItem &itemInfo)
- {
- itemInfo_ = itemInfo;
- }
-
- AppViewId FootballItemView::GetViewId()
- {
- return itemInfo_.id;
- }
-
- const char *FootballItemView::GetAppUid()
- {
- return itemInfo_.uid;
- }
}
#include "UiConfig.h"
#include "ApplistModel.h"
#include "ApplistPresenter.h"
-#include "SetDesktopView.h"
+#include "SetDesktopModel.h"
namespace OHOS {
const AppItem g_nativeAppList[] = {
- {VIEW_MAIN_ALARM, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_DEFAULT_IMG, "闹钟", nullptr},
- {VIEW_BLOODOXY_SAMPLE, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血氧饱和度", nullptr},
- {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "设置", nullptr},
- {VIEW_CALLER_SAMPLE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "通话记录", nullptr},
- {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "指南针", nullptr},
- {VIEW_OFFLINEVOICE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_DEFAULT_IMG, "语音助手", nullptr},
- {VIEW_MAIN_TEMP, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_DEFAULT_IMG, "体温", nullptr},
- {VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_DEFAULT_IMG, "室内步行", nullptr},
- {VIEW_UISAMPLE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "示例", nullptr},
+ {VIEW_MAIN_ALARM, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_ALARM_IMAGE, "闹钟", nullptr},
+ {VIEW_BLOODOXY_SAMPLE, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_SPO2_IMAGE, "血氧饱和度", nullptr},
+ {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, "设置", nullptr},
+ {VIEW_CALLER_SAMPLE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, "通话记录", nullptr},
+ {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_COMPASS_IMAGE, "指南针", nullptr},
+ {VIEW_OFFLINEVOICE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_VOCASSIST_IMAGE, "语音助手", nullptr},
+ {VIEW_MAIN_TEMP, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_TEMP_IMAGE, "体温", nullptr},
+ {VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, "室内步行", nullptr},
+ {VIEW_UISAMPLE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_UI_SAMPLE_IMAGE, "示例", nullptr},
#ifdef SUPPORT_ALIPAY_SEC
- {VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_DEFAULT_IMG, "支付宝", nullptr},
+ {VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_ALIPAY_IMAGE, "支付宝", nullptr},
#endif
+
};
ApplistModel &ApplistModel::GetInstance(void)
VIEW_EXTERN_APP,
bundleInfos[len].smallIconPath,
bundleInfos[len].smallIconPath,
- bundleInfos[len].bigIconPath,
bundleInfos[len].label,
bundleInfos[len].bundleName
};
presenter = p;
}
- AppListStyle ApplistModel::GetCurrentStyle(void)
+ bool ApplistModel::GetIsUseListStyle(void)
{
- uint8_t currenStyle = SetDesktopView::GetInstance()->GetCurrentSelectedStyle();
- if (currenStyle == 1) { // 1: hexagons desktop style
- return HEXAGONS_STYLE;
- } else if (currenStyle == 2) { // 2: football desktop style
- return FOOTBALL_STYLE;
- } else {
- return APPLIST_STYLE;
- }
+ return (SetDesktopModel::GetInstance().GetDesktopStyle() == APPLIST_STYLE);
}
}
AppViewId viewId = VIEW_INVALID;
char *uid = nullptr;
TransitionType type = TransitionType::TRANSITION_INVALID;
- AppListStyle style = GetCurrentStyle();
- if (style == AppListStyle::FOOTBALL_STYLE) {
- FootballItemView *itemView = dynamic_cast<FootballItemView *>(&view);
+ if (GetIsUseListStyle()) {
+ AppItemView *itemView = dynamic_cast<AppItemView *>(&view);
+ if (itemView == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "itemView is nullptr", viewId);
+ return false;
+ }
viewId = itemView->GetViewId();
uid = (char *)itemView->GetAppUid();
- } else if (style == AppListStyle::HEXAGONS_STYLE) {
+ } else {
HexagonsItemView *itemView = dynamic_cast<HexagonsItemView *>(&view);
UIHexagonsList* hexagonsView = dynamic_cast<UIHexagonsList *>(itemView->GetParent());
if (hexagonsView == nullptr || itemView == nullptr) {
hexagonsView->SetDraggable(false);
hexagonsView->Scale(1.0f, itemView->GetViewIndex()); // switch focus to click view
type = TransitionType::TRANSITION_HEXAGONS;
- } else {
- AppItemView *itemView = dynamic_cast<AppItemView *>(&view);
- if (itemView == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "itemView is nullptr", viewId);
- return false;
- }
- viewId = itemView->GetViewId();
- uid = (char *)itemView->GetAppUid();
}
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnClick viewid = %d", viewId);
if (viewId < VIEW_MAX_INTER_APP) {
return model->GetAppListNum();
}
- AppListStyle ApplistPresenter::GetCurrentStyle(void)
+ bool ApplistPresenter::GetIsUseListStyle(void)
{
- return model->GetCurrentStyle();
+ return model->GetIsUseListStyle();
}
ApplistView* ApplistPresenter::GetAppListView()
#include "ApplistView.h"
#include "ApplistPresenter.h"
#include "AppItemView.h"
-#include "common/image_cache_manager.h"
-#include "hal_tick.h"
namespace OHOS {
static constexpr int16 NUM_2 = 2;
delete hexagonsList_;
hexagonsList_ = nullptr;
}
- if (callback_ != nullptr) {
- delete callback_;
- callback_ = nullptr;
- }
- enterAnimator_ = nullptr;
}
void ApplistView::OnStart()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::OnStart ");
View<ApplistPresenter>::OnStart();
- AppListStyle style = presenter_->GetCurrentStyle();
- if (style == AppListStyle::FOOTBALL_STYLE) {
- FootballStyleOnStart();
- } else if (style == AppListStyle::HEXAGONS_STYLE) {
- HexagonsStyleOnStart();
- } else {
+ if (presenter_->GetIsUseListStyle()) {
ListStyleOnStart();
- }
-}
-
-void ApplistView::FootballStyleOnStart()
-{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::FootballStyleOnStart ");
- if (footballList_ == nullptr) {
- footballList_ = new UIIcosahedronView();
- }
- footballList_->SetThrowDrag(true);
- if (footballDefaultImg_ == nullptr) {
- footballDefaultImg_ = ImageCacheManager::GetInstance().LoadSingleRes(PNG_APPLIST_NOTSETUSE_IMG);
- if (footballDefaultImg_ == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "load res faild");
- return;
- }
- }
- if (callback_ == nullptr) {
- callback_ = new FootballAnimatorCallback(footballList_, 30, 250); // 30: Initial Size 250: Final display size
- }
- footballList_->SetDefaultImage(footballDefaultImg_);
- footballList_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- enterAnimator_ = callback_->GetAnimator();
- SetContainerView(footballList_);
- if (callback_ != nullptr) {
- callback_->SetStartTime(HALTick::GetInstance().GetTime());
+ } else {
+ HexagonsStyleOnStart();
}
}
if (hexagonsList_ == nullptr) {
hexagonsList_ = new UICustomHexagonsList();
}
- hexagonsList_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ hexagonsList_->SetPosition(0, 0,
+ Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight()); // 2, two
imgDistance_ = hexagonsList_->GetWidth() * 0.25991; // 0.25991, empirical coefficient
imgSize_ = hexagonsList_->GetWidth() * 0.23348; // 0.23348, empirical coefficient
hexagonsList_->SetImageDistance(imgDistance_);
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::OnSetUpView");
View<ApplistPresenter>::OnSetUpView();
- AppListStyle style = presenter_->GetCurrentStyle();
- if (style == AppListStyle::FOOTBALL_STYLE) {
- FootballStyleOnSetUpView();
- } else if (style == AppListStyle::HEXAGONS_STYLE) {
- HexagonsStyleOnSetUpView();
- } else {
+ if (presenter_->GetIsUseListStyle()) {
ListStyleOnSetUpView();
- }
-}
-
-void ApplistView::FootballStyleOnSetUpView()
-{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::HexagonsStyleOnSetUpView");
- if (enterAnimator_ != nullptr) {
- enterAnimator_->Start();
+ } else {
+ HexagonsStyleOnSetUpView();
}
}
void ApplistView::HexagonsStyleOnSetUpView()
{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::HexagonsStyleOnSetUpView");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::HexagonsStyleOnSetUpView ");
}
void ApplistView::ListStyleOnSetUpView()
void ApplistView::OnStop()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::OnStop");
- AppListStyle style = presenter_->GetCurrentStyle();
- if (style == AppListStyle::FOOTBALL_STYLE) {
- FootballStyleOnStop();
- } else if (style == AppListStyle::HEXAGONS_STYLE) {
- HexagonsStyleOnStop();
- } else {
+ if (presenter_->GetIsUseListStyle()) {
ListStyleOnStop();
+ } else {
+ HexagonsStyleOnStop();
}
View<ApplistPresenter>::OnStop();
if (container_ != nullptr) {
return;
}
-void ApplistView::FootballStyleOnStop()
-{
- if (enterAnimator_ != nullptr) {
- enterAnimator_->Stop();
- }
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::FootballStyleOnStop");
- if (footballDefaultImg_ != nullptr) {
- ImageCacheManager::GetInstance().UnloadSingleRes(PNG_APPLIST_NOTSETUSE_IMG);
- footballDefaultImg_ = nullptr;
- }
- if (footballList_ != nullptr) {
- footballList_->RemoveAll();
- }
- ListNode<FootballItemView*>* viewNode = footballItemList_.Head();
- while (viewNode != footballItemList_.End()) {
- delete(viewNode->data_);
- viewNode = viewNode->next_;
- }
- footballItemList_.Clear();
-}
-
void ApplistView::HexagonsStyleOnStop()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::HexagonsStyleOnStop");
if (hexagonsList_ != nullptr) {
hexagonsList_->RemoveAll();
}
- ListNode<HexagonsItemView*>* viewNode = listHexagonsView_.Head();
- while (viewNode != listHexagonsView_.End()) {
- delete(viewNode->data_);
- viewNode = viewNode->next_;
+ for (auto iter : listHexagonsView_) {
+ delete iter;
}
- listHexagonsView_.Clear();
+ listHexagonsView_.clear();
}
void ApplistView::ListStyleOnStop()
void ApplistView::AddAppItemToList(const AppItem &item)
{
- AppListStyle style = presenter_->GetCurrentStyle();
- if (style == AppListStyle::FOOTBALL_STYLE) {
- FootballItemView* itemView = new FootballItemView();
- itemView->SetItemInfo(item);
- itemView->SetSrc(item.iconHexagon);
- itemView->SetTouchable(true);
- itemView->SetOnClickListener(presenter_);
- footballList_->Add(itemView);
- footballItemList_.PushBack(itemView);
- } else if (style == AppListStyle::HEXAGONS_STYLE) {
+ if (presenter_->GetIsUseListStyle()) {
+ listAdapter_->AddListItem(item);
+ } else {
HexagonsItemView *itemView = new HexagonsItemView();
itemView->SetItemInfo(item);
itemView->SetSrc(item.iconSmall);
itemView->SetTouchable(true);
itemView->SetOnClickListener(presenter_);
+
hexagonsList_->Add(itemView);
- listHexagonsView_.PushBack(itemView);
- } else {
- listAdapter_->AddListItem(item);
+ listHexagonsView_.push_back(itemView);
}
}
void ApplistView::ClearAppItemToList()
{
- AppListStyle style = presenter_->GetCurrentStyle();
- if (style == FOOTBALL_STYLE) {
- FootballStyleOnStop();
- } else if (style == AppListStyle::HEXAGONS_STYLE) {
- HexagonsStyleOnStop();
- } else {
+ if (presenter_->GetIsUseListStyle()) {
listAdapter_->ClearItem();
+ } else {
+ if (hexagonsList_ != nullptr) {
+ hexagonsList_->RemoveAll();
+ }
+ for (auto iter : listHexagonsView_) {
+ delete iter;
+ }
+ listHexagonsView_.clear();
}
}
void ApplistView::RefreshAppList(void)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::RefreshAppList");
- AppListStyle style = presenter_->GetCurrentStyle();
- if (style == AppListStyle::FOOTBALL_STYLE) {
- footballList_->RefreshIcosahedron();
- } else if (style == AppListStyle::HEXAGONS_STYLE) {
- hexagonsList_->LayoutChildren(true);
- } else {
+ if (presenter_->GetIsUseListStyle()) {
contentList_->RefreshList();
+ } else {
+ hexagonsList_->LayoutChildren(true);
}
}
-
-void FootballAnimatorCallback::Callback(UIView *view)
-{
- if (HALTick::GetInstance().GetElapseTime(startTime_) < 300) {
- return;
- }
- if (!isStartAnim_) {
- animator_->Stop();
- animator_->Start();
- isStartAnim_ = true;
- }
- UIIcosahedronView* footView = dynamic_cast<UIIcosahedronView*>(view);
- int16_t el = EasingEquation::LinearEaseNone(startPos_, endPos_, animator_->GetRunTime(), animator_->GetTime());
- footView->SetSideLength(el);
- footView->RefreshIcosahedron();
- const Vector3<float> rotateStart(Screen::GetInstance().GetWidth() / 2.0, // 2.0: divisor
- Screen::GetInstance().GetHeight() / 2.0, 0); // 2.0: divisor
- const Vector3<float> rotateEnd(0, 0, 0);
- // 270 : stop angle
- int16_t angle = EasingEquation::LinearEaseNone(0, 270, animator_->GetRunTime(), animator_->GetTime());
- footView->RotatePlanes(angle, rotateStart, rotateEnd);
-}
}
void SetAdvStartState(bool state);\r
int ConnectRemoteDevice(const bd_addr_t *addr);\r
bool ConnectRemoteCheck(const bd_addr_t *addr);\r
- char* getWatchName(void);\r
-\r
private:\r
BluetoothModel();\r
int16_t callerid{0};\r
void SetUpListCase();\r
void SetUpConnedDevicesList();\r
bool FindNameByAddr(BluetoothCaseInfo &listInfo, BluetoothCaseInfo *caseInfo);\r
- void InitBluetoothInfo(void);\r
bool aclConnected{false};\r
BluetoothCaseInfo tempMacValue{};\r
bd_addr_t lastConnedAddr{};\r
bool tagReturnToDeviceListView{false};\r
bool tagScanDeviceClicked{false};\r
bool advStartState{false};\r
- char watchName[BD_NAME_LEN] = { 0 };\r
};\r
\r
#ifdef __cplusplus\r
+++ /dev/null
-/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: BluetoothWrapper\r
- * Author:\r
- * Create: 2021-10-13\r
- */\r
-#ifndef BLUETOOTH_WRAPPER_H\r
-#define BLUETOOTH_WRAPPER_H\r
-\r
-#include "common_def.h"\r
-#include "bts_def.h"\r
-#include "bts_gatt_stru.h"\r
-#include "bts_gatt_server.h"\r
-#include "bts_le_gap.h"\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-errcode_t wrapper_gap_ble_register_callbacks(gap_ble_callbacks_t *func);\r
-errcode_t wrapper_gatts_register_callbacks(gatts_callbacks_t *func);\r
-void wrapper_ble_register(void);\r
-errcode_t wrapper_gatts_register_server(bt_uuid_t *app_uuid, uint8_t *server_id);\r
-errcode_t wrapper_gatts_add_service(uint8_t server_id, bt_uuid_t *service_uuid, bool is_primary);\r
-void wrapper_gatts_service_start(void);\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
-\r
-#endif
\ No newline at end of file
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothEarPhoneView::BtEnable Bt is Discovering");\r
return;\r
} else {\r
- results = gap_br_set_bt_scan_mode(GAP_SCAN_MODE_NONE, 0);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "gap_br_set_bt_scan_mode results %d", results);\r
- results = gap_br_set_inquiry_paramters(DEVICE_MAJOR_CLASS_AUDIO_VIDEO, 0);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "gap_br_set_inquiry_paramters results %d", results);\r
results = gap_br_start_discovery();\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "gap_br_start_discovery results %d", results);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothEarPhoneView::BtEnable StartBtDiscovery results %d", results);\r
}\r
if (g_stopScanHandle != nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothEarPhoneView::BtEnable g_stopScanHandle != nullptr");\r
*/\r
#include <cstdint>\r
#include "BluetoothModel.h"\r
-#include "BluetoothWrapper.h"\r
#include "BluetoothPresenter.h"\r
#include "ConnectPhonePresenter.h"\r
#include "BluetoothView.h"\r
#include "alipay_feature.h"\r
#endif\r
#include "bts_a2dp_sink.h"\r
-#include "bts_feature.h"\r
#include "bt_audio_hal_interface.h"\r
#include "audio_manager_c_wrapper.h"\r
#include "bts_avrcp_target.h"\r
#include "msg_center_msg.h"\r
-#include "dfx_channel.h"\r
-#include "tcxo.h"\r
\r
namespace OHOS {\r
\r
osal_timer g_a2dp_stream_accept_timer = {nullptr, nullptr, 0, 0};\r
#define A2DP_STREAM_ACCEPT_TIMER_PERIOD 500\r
AudioFormatConfig g_audio_format_config = {AUDIO_DEFAULT, 0, 0};\r
-static uint16_t g_sample_svr_handle = 0;\r
-static uint16_t g_sample_characteristic_handle = 0;\r
-static uint16_t g_diag_characteristic_handle = 0;\r
-constexpr uint16_t g_sample_adv_id = 2;\r
-static bd_addr_t g_bd_addr = { 0 };\r
\r
void BluetoothModel::SetBluetoothCalleridStatus(int16_t value)\r
{\r
return &instance;\r
}\r
\r
-char* BluetoothModel::getWatchName(void)\r
-{\r
- return watchName;\r
-}\r
-\r
-void BluetoothModel::InitBluetoothInfo(void)\r
-{\r
- errcode_t ret;\r
- unsigned char nameLen = BD_NAME_LEN;\r
- memset_s(watchName, sizeof(watchName), 0, sizeof(watchName));\r
- ret = bluetooth_get_local_name((unsigned char *)watchName, &nameLen);\r
- // 为了实验室测试需要,客户需要自己修改\r
- if ((nameLen == strlen("WatchDemo") + 1) && (strcmp("WatchDemo", watchName) == 0)) {\r
- uint32_t currentUs = uapi_tcxo_get_us();\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "currentUs 0x%x", currentUs);\r
- // 设置蓝牙名称\r
- (void)sprintf_s(watchName, sizeof(watchName), "Watch%x", (currentUs & 0xFFFF));\r
- ret = bluetooth_set_local_name((unsigned char*)watchName, strlen((char*)watchName) + 1);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bluetooth_set_local_name %s ret = %u", watchName, ret);\r
-\r
- // 设置蓝牙地址\r
- bd_addr_t addr = {{0x0, 0x0, 0x33, 0x44, 0x55, 0x66} ,0};\r
- addr.addr[0] = currentUs & 0xFF;\r
- addr.addr[1] = (currentUs & 0XFF00) >> 8;\r
- ret = bluetooth_set_local_addr(addr.addr, BD_ADDR_LEN);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bluetooth_set_local_addr [0x%x:0x%x] ret = %u", addr.addr[0], addr.addr[1], ret);\r
- } else {\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "watchName: %s", watchName);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "nameLen: %u", nameLen);\r
- }\r
-}\r
-\r
void BluetoothModel::Init()\r
{\r
-#ifndef SUPPORT_AUTO_OTA\r
- errcode_t ret;\r
-\r
- // 设置自动回连,ios一键双连依赖此配置\r
- bts_feature_t bts_feature = { 0 };\r
- bts_feature.bt_auto_reconnect_closed = 0;\r
- ret = bts_set_features(&bts_feature);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bt bts_set_features ret = %u", ret);\r
-\r
- ret = enable_bt_stack();\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bt enable_bt_stack ret = %u", ret);\r
-\r
- // 设置安全连接\r
- gap_ble_sec_params_t sec_param = { 1, GAP_BLE_IO_CAPABILITY_NOINPUTNOOUTPUT, 1, GAP_BLE_GAP_SECURITY_MODE1_LEVEL3 };\r
- ret = gap_ble_set_sec_param(&sec_param);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bt gap_ble_set_sec_param ret = %u", ret);\r
+ bool ret = enable_bt_stack();\r
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bt enable_bt_stack ret = %d", ret);\r
\r
- InitBluetoothInfo();\r
BtInitCallBacks();\r
- wrapper_ble_register();\r
#ifdef SUPPORT_ALIPAY_SEC\r
svr_alipay_bluetooth_init();\r
-#endif\r
+#else\r
BtInitCallBacksEx();\r
BtInitGatts();\r
+#endif\r
BtInitSpp();\r
\r
SetUpListCase();\r
SetUpConnedDevicesList();\r
-#endif\r
}\r
\r
void BluetoothModel::SetCaseListClear()\r
void BtGapDiscoveryStateChangedCallback(int status)\r
{\r
UNUSED(status);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "bt BtGapDiscoveryStateChangedCallback %d", status);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bt BtGapDiscoveryStateChangedCallback %d", status);\r
}\r
\r
static void ChangeScanView()\r
// 回调:扫描结果处理/发现结果上报\r
void BtGapDiscoveryResultCallback(const bd_addr_t *bdAddr)\r
{\r
- if ((gap_get_device_class(bdAddr) & DEVICE_MAJOR_CLASS_PHONE) != 0) {\r
+ if ((gap_get_device_class(bdAddr) & 0x200) != 0) {\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BtGapDiscoveryResultCallback: Mobile Phone Device");\r
return;\r
}\r
if (GAP_BLE_STATE_DISCONNECTED == connState) { // restart ble adv when disconnected\r
/* 通知msg_center,ble状态仍用bt状态,此处不区分 */\r
SendMsgToMsgCenterService(BT_DISCONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
+ BleAdvStart();\r
} else {\r
+ BluetoothModel::GetInstance()->SetAdvStartState(false);\r
SendMsgToMsgCenterService(BT_CONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
- (void)memcpy_s(&g_bd_addr, sizeof(bd_addr_t), addr, sizeof(bd_addr_t));\r
}\r
}\r
\r
static void BleAdvStartCallback(uint8_t advId, adv_status_t status)\r
{\r
- if (g_sample_adv_id == advId) {\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BleAdvStartCallback advId: %d, status:%d\n", advId, status);\r
- BluetoothModel::GetInstance()->SetAdvStartState(true);\r
- }\r
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BleAdvStartCallback advId: %d, status:%d\n", advId, status);\r
+ BluetoothModel::GetInstance()->SetAdvStartState(true);\r
}\r
\r
static void BleAdvStopCallback(uint8_t advId, adv_status_t status)\r
{\r
- if (g_sample_adv_id == advId) {\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BleAdvStopCallback advId: %d, status:%d\n", advId, status);\r
- BluetoothModel::GetInstance()->SetAdvStartState(false);\r
- }\r
-}\r
-\r
-static void BleAdvTerminateCallback(uint8_t advId, adv_status_t status)\r
-{\r
- if (g_sample_adv_id == advId) {\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BleAdvTerminateCallback advId: %d, status:%d\n", advId, status);\r
- BluetoothModel::GetInstance()->SetAdvStartState(false);\r
- // 此处开广播是为了实验室测试需要,客户需要自己修改\r
- BleAdvStart();\r
- }\r
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BleAdvStopCallback advId: %d, status:%d\n", advId, status);\r
}\r
\r
static void BtGattsServiceAddCallback(uint8_t serverId, bt_uuid_t *uuid, uint16_t srvcHandle, errcode_t status)\r
{\r
+ int ret;\r
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtGattsServiceAddCallback 0x%x 0x%x 0x%x",\r
+ status, serverId, srvcHandle);\r
+\r
if ((uuid->uuid_len == sizeof(uint16_t)) && (*((uint16_t*)uuid->uuid) == 0x1FF0)) {\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtGattsServiceAddCallback 0x%x 0x%x 0x%x",\r
- status, serverId, srvcHandle);\r
- uint16_t sample_id = 0x1FF1;\r
- uint16_t diag_id = 0x1FF2;\r
+ uint16_t id = 0x1FF1;\r
gatts_add_chara_info_t character;\r
uint16_t value = 0;\r
\r
memset_s(&character, sizeof(gatts_add_chara_info_t), 0, sizeof(gatts_add_chara_info_t));\r
- character.chara_uuid.uuid_len = sizeof(sample_id);\r
- memcpy_s(character.chara_uuid.uuid, sizeof(character.chara_uuid.uuid), (char *)&sample_id, sizeof(sample_id));\r
+ character.chara_uuid.uuid_len = sizeof(id);\r
+ memcpy_s(character.chara_uuid.uuid, sizeof(character.chara_uuid.uuid), (char *)&id, sizeof(id));\r
character.permissions = GATT_ATTRIBUTE_PERMISSION_WRITE;\r
- character.properties = GATT_CHARACTER_PROPERTY_BIT_WRITE_NO_RSP;\r
- character.value_len = (uint16_t)sizeof(value);\r
- character.value = (uint8_t *)(&value);\r
- int ret = gatts_add_characteristic(serverId, srvcHandle, &character);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "gatts_add_characteristic sample ret 0x%x", ret);\r
-\r
- memset_s(&character, sizeof(gatts_add_chara_info_t), 0, sizeof(gatts_add_chara_info_t));\r
- character.chara_uuid.uuid_len = sizeof(diag_id);\r
- memcpy_s(character.chara_uuid.uuid, sizeof(character.chara_uuid.uuid), (char *)&diag_id, sizeof(diag_id));\r
- character.permissions = GATT_ATTRIBUTE_PERMISSION_WRITE | GATT_ATTRIBUTE_PERMISSION_READ;\r
- character.properties = GATT_CHARACTER_PROPERTY_BIT_WRITE | GATT_CHARACTER_PROPERTY_BIT_READ;\r
+ character.properties = GATT_CHARACTER_PROPERTY_BIT_WRITE;\r
character.value_len = (uint16_t)sizeof(value);\r
character.value = (uint8_t *)(&value);\r
\r
ret = gatts_add_characteristic(serverId, srvcHandle, &character);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "gatts_add_characteristic diag ret 0x%x", ret);\r
-\r
- g_sample_svr_handle = srvcHandle;\r
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "gatts_add_characteristic ret 0x%x", ret);\r
}\r
}\r
\r
static void BtGattsCharacteristicAddCallback(uint8_t serverId, bt_uuid_t *uuid, uint16_t srvcHandle, gatts_add_character_result_t *result, errcode_t status)\r
{\r
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtGattsCharacteristicAddCallback 0x%x 0x%x 0x%x",\r
+ status, serverId, srvcHandle);\r
+\r
if ((uuid->uuid_len == sizeof(uint16_t)) && (*((uint16_t*)uuid->uuid) == 0x1FF1)) {\r
- g_sample_characteristic_handle = result->value_handle;\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtGattsCharacteristicAddCallback 0x%x 0x%x 0x%x 0x%x",\r
- status, serverId, srvcHandle, g_sample_characteristic_handle);\r
- }\r
- if ((uuid->uuid_len == sizeof(uint16_t)) && (*((uint16_t*)uuid->uuid) == 0x1FF2)) {\r
- g_diag_characteristic_handle = result->value_handle;\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtGattsCharacteristicAddCallback 0x%x 0x%x 0x%x 0x%x",\r
- status, serverId, srvcHandle, g_diag_characteristic_handle);\r
- }\r
- if (g_sample_characteristic_handle != 0 && g_diag_characteristic_handle !=0) {\r
int ret = gatts_start_service(serverId, srvcHandle);\r
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "gatts_start_service ret 0x%x", ret);\r
}\r
\r
static void BtGattsDescriptorAddCallback(uint8_t serverId, bt_uuid_t *uuid, uint16_t srvcHandle, uint16_t descriptorHandle, errcode_t status)\r
{\r
- if (g_sample_svr_handle == srvcHandle) {\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtGattsDescriptorAddCallback 0x%x 0x%x 0x%x 0x%x",\r
- status, serverId, srvcHandle, descriptorHandle);\r
- }\r
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtGattsDescriptorAddCallback 0x%x 0x%x 0x%x 0x%x",\r
+ status, serverId, srvcHandle, descriptorHandle);\r
}\r
\r
static void BtGattsServiceStartCallback(uint8_t serverId, uint16_t srvcHandle, errcode_t status)\r
{\r
- if (g_sample_svr_handle == srvcHandle) {\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtGattsServiceStartCallback 0x%x 0x%x 0x%x", status, serverId, srvcHandle);\r
- }\r
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtGattsServiceStartCallback 0x%x 0x%x 0x%x", status, serverId, srvcHandle);\r
}\r
\r
static void BtGattsServiceStopCallback(uint8_t serverId, uint16_t srvcHandle, errcode_t status)\r
\r
static void BtGattsRequestWriteCallback(uint8_t serverId, uint16_t connId, gatts_req_write_cb_t *writeCbPara, errcode_t status)\r
{\r
- if (g_sample_characteristic_handle == writeCbPara->handle) {\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtGattsRequestWriteCallback");\r
- if (writeCbPara->length == 9) {\r
- uint8_t ctkd[] = {'o', 'p', 'e', 'n', ' ', 'c', 't', 'k', 'd'};\r
- if (memcmp(ctkd, writeCbPara->value, writeCbPara->length) == 0) {\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "enable ctkd");\r
- // 一键双连使能(依赖安全连接参数配置)\r
- errcode_t ret = gap_ble_set_ctkd_enable(true);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "gap_ble_set_ctkd_enable ret = %u", ret);\r
-\r
- // 发起ble配对\r
- ret = gap_ble_pair_remote_device(&g_bd_addr);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "gap_ble_pair_remote_device ret = %u ", ret);\r
- }\r
- } else if (writeCbPara->length == 10) {\r
- uint8_t ctkd[] = {'c', 'l', 'o', 's', 'e', ' ', 'c', 't', 'k', 'd'};\r
- if (memcmp(ctkd, writeCbPara->value, writeCbPara->length) == 0) {\r
- // 一键双连去使能\r
- errcode_t ret = gap_ble_set_ctkd_enable(false);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "gap_ble_set_ctkd_disable ret = %u", ret);\r
- }\r
- }\r
- } else if (g_diag_characteristic_handle == writeCbPara->handle) {\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "diag_gatt_write_req_cbk");\r
- diag_gatt_write_req_cbk(serverId, connId, writeCbPara, status);\r
- }\r
-}\r
-\r
-static void BtGattsMtuChangedCallback(uint8_t serverId, uint16_t connId, uint16_t mtuSize, errcode_t status)\r
-{\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtGattsMtuChangedCallback connId = %u mtuSize = %u", connId, mtuSize);\r
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtGattsRequestWriteCallback");\r
}\r
\r
static void BtA2dpSnkAcceptTimerStop(void)\r
g_gapBleCallbacks.conn_state_change_cb = BleConnStateChangeCallback;\r
g_gapBleCallbacks.start_adv_cb = BleAdvStartCallback;\r
g_gapBleCallbacks.stop_adv_cb = BleAdvStopCallback;\r
- g_gapBleCallbacks.terminate_adv_cb = BleAdvTerminateCallback;\r
- wrapper_gap_ble_register_callbacks(&g_gapBleCallbacks);\r
+ gap_ble_register_callbacks(&g_gapBleCallbacks);\r
\r
g_btGattsCallbacks.add_service_cb = BtGattsServiceAddCallback;\r
g_btGattsCallbacks.add_characteristic_cb = BtGattsCharacteristicAddCallback;\r
g_btGattsCallbacks.delete_service_cb = BtGattsServiceDeleteCallback;\r
g_btGattsCallbacks.read_request_cb = BtGattsRequestReadCallback;\r
g_btGattsCallbacks.write_request_cb = BtGattsRequestWriteCallback;\r
- g_btGattsCallbacks.mtu_changed_cb = BtGattsMtuChangedCallback;\r
- wrapper_gatts_register_callbacks(&g_btGattsCallbacks);\r
+ g_btGattsCallbacks.mtu_changed_cb = nullptr;\r
+ gatts_register_callbacks(&g_btGattsCallbacks);\r
}\r
\r
void BtInitGatts(void)\r
\r
uuid.uuid_len = sizeof(ser_id);\r
memcpy_s(uuid.uuid, sizeof(uuid.uuid), (char *)&ser_id, sizeof(ser_id));\r
- ret = wrapper_gatts_register_server(&uuid, &serverId); /* 注册gatt server */\r
+ ret = gatts_register_server(&uuid, &serverId); /* 注册gatt server */\r
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "gatts_register_server ret: 0x%x serverId = 0x%x", ret, serverId);\r
\r
uuid.uuid_len = sizeof(id);\r
memcpy_s(uuid.uuid, sizeof(uuid.uuid), (char *)&id, sizeof(id));\r
- ret = wrapper_gatts_add_service(serverId, &uuid, true);\r
+ ret = gatts_add_service(serverId, &uuid, true);\r
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "gatts_add_service ret: 0x%x", ret);\r
-\r
- wrapper_gatts_service_start();\r
}\r
\r
static uint8_t Char2Num(int8_t c)\r
\r
void BleAdvStart(void)\r
{\r
- int advId = g_sample_adv_id;\r
+ int advId = 1;\r
if (BluetoothModel::GetInstance()->GetAdvStartState()) {\r
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BleAdvStart already started");\r
gap_ble_stop_adv(advId);\r
+++ /dev/null
-/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: BluetoothModel view\r
- * Author:\r
- * Create: 2021-10-13\r
- */\r
-\r
-#include <list>\r
-#include "BluetoothWrapper.h"\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-static bool gatts_register_flag = false;\r
-static uint8_t gatts_server_id = 0;\r
-std::list<gap_ble_callbacks_t> g_gap_ble_callback_list;\r
-std::list<gatts_callbacks_t> g_gatts_callback_list;\r
-std::list<bt_uuid_t> g_uuid_list;\r
-std::list<uint16_t> g_svr_handle_list;\r
-\r
-errcode_t wrapper_gap_ble_register_callbacks(gap_ble_callbacks_t *func)\r
-{\r
- g_gap_ble_callback_list.push_back(*func);\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-errcode_t wrapper_gatts_register_callbacks(gatts_callbacks_t *func)\r
-{\r
- g_gatts_callback_list.push_back(*func);\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-void wrapper_gap_ble_enable_callback(errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.ble_enable_cb != nullptr) {\r
- callback.ble_enable_cb(status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_disable_callback(errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.ble_disable_cb != nullptr) {\r
- callback.ble_disable_cb(status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_start_adv_callback(uint8_t adv_id, adv_status_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.start_adv_cb) {\r
- callback.start_adv_cb(adv_id, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_stop_adv_callback(uint8_t adv_id, adv_status_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.stop_adv_cb) {\r
- callback.stop_adv_cb(adv_id, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_set_adv_data_callback(uint8_t adv_id, errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.set_adv_data_cb) {\r
- callback.set_adv_data_cb(adv_id, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_set_adv_param_callback(uint8_t adv_id, errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.set_adv_param_cb) {\r
- callback.set_adv_param_cb(adv_id, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_scan_result_callback(gap_scan_result_data_t *scan_result_data)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.scan_result_cb) {\r
- callback.scan_result_cb(scan_result_data);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_set_scan_param_callback(errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.set_scan_param_cb) {\r
- callback.set_scan_param_cb(status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_connect_state_changed_callback(uint16_t conn_id, bd_addr_t *addr, gap_ble_conn_state_t conn_state,\r
- gap_ble_pair_state_t pair_state, gap_ble_disc_reason_t disc_reason)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.conn_state_change_cb) {\r
- callback.conn_state_change_cb(conn_id, addr, conn_state, pair_state, disc_reason);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_paired_complete_callback(uint16_t conn_id, const bd_addr_t *addr, errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.pair_result_cb) {\r
- callback.pair_result_cb(conn_id, addr, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_terminate_adv_callback(uint8_t adv_id, adv_status_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.terminate_adv_cb) {\r
- callback.terminate_adv_cb(adv_id, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_read_rssi_callback(uint16_t conn_id, int8_t rssi, errcode_t status)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.read_rssi_cb) {\r
- callback.read_rssi_cb(conn_id, rssi, status);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_auth_complete_callback(uint16_t conn_id, const bd_addr_t *addr,\r
- errcode_t status, const ble_auth_info_evt_t* evt)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.auth_complete_cb) {\r
- callback.auth_complete_cb(conn_id, addr, status, evt);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gap_ble_connect_param_update_callback(uint16_t conn_id, errcode_t status,\r
- const gap_ble_conn_param_update_t *param)\r
-{\r
- for (auto callback : g_gap_ble_callback_list) {\r
- if (callback.conn_param_update_cb) {\r
- callback.conn_param_update_cb(conn_id, status, param);\r
- }\r
- }\r
-}\r
-\r
-void wrapper_gatts_add_service_callback(uint8_t server_id, bt_uuid_t *uuid, uint16_t handle, errcode_t status)\r
-{\r
- g_svr_handle_list.push_back(handle);\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.add_service_cb) {\r
- callback.add_service_cb(server_id, uuid, handle, status);\r
- }\r
- }\r
-}\r
-void wrapper_gatts_add_characteristic_callback(uint8_t server_id, bt_uuid_t *uuid, uint16_t service_handle,\r
- gatts_add_character_result_t *result, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.add_characteristic_cb) {\r
- callback.add_characteristic_cb(server_id, uuid, service_handle, result, status);\r
- }\r
- }\r
-}\r
-void wrapper_gatts_add_descriptor_callback(uint8_t server_id, bt_uuid_t *uuid, uint16_t service_handle,\r
- uint16_t handle, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.add_descriptor_cb) {\r
- callback.add_descriptor_cb(server_id, uuid, service_handle, handle, status);\r
- }\r
- }\r
-}\r
-void wrapper_gatts_start_service_callback(uint8_t server_id, uint16_t handle, errcode_t status)\r
-{\r
- bool skip_flag = true;\r
- for (auto svr_handle : g_svr_handle_list) {\r
- if (svr_handle == handle) {\r
- skip_flag = false;\r
- }\r
- }\r
- if (!skip_flag) {\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.start_service_cb) {\r
- callback.start_service_cb(server_id, handle, status);\r
- }\r
- }\r
- wrapper_gatts_service_start();\r
- }\r
-}\r
-void wrapper_gatts_stop_service_callback(uint8_t server_id, uint16_t handle, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.stop_service_cb) {\r
- callback.stop_service_cb(server_id, handle, status);\r
- }\r
- }\r
-}\r
-void wrapper_gatts_delete_all_service_callback(uint8_t server_id, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.delete_service_cb) {\r
- callback.delete_service_cb(server_id, status);\r
- }\r
- } \r
-}\r
-void wrapper_gatts_read_request_callback(uint8_t server_id, uint16_t conn_id, gatts_req_read_cb_t *read_cb_para, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.read_request_cb) {\r
- callback.read_request_cb(server_id, conn_id, read_cb_para, status);\r
- }\r
- }\r
-}\r
-void wrapper_gatts_write_request_callback(uint8_t server_id, uint16_t conn_id, gatts_req_write_cb_t *write_cb_para, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.write_request_cb) {\r
- callback.write_request_cb(server_id, conn_id, write_cb_para, status);\r
- }\r
- }\r
-}\r
-void wrapper_gatts_mtu_changed_callback(uint8_t server_id, uint16_t conn_id, uint16_t mtu_size, errcode_t status)\r
-{\r
- for (auto callback : g_gatts_callback_list) {\r
- if (callback.mtu_changed_cb) {\r
- callback.mtu_changed_cb(server_id, conn_id, mtu_size, status);\r
- }\r
- }\r
-}\r
-\r
-static gap_ble_callbacks_t g_wrapper_gap_ble_callbacks = {\r
- .ble_enable_cb = wrapper_gap_ble_enable_callback,\r
- .ble_disable_cb = wrapper_gap_ble_disable_callback,\r
- .set_adv_data_cb = wrapper_gap_ble_set_adv_data_callback,\r
- .set_adv_param_cb = wrapper_gap_ble_set_adv_param_callback,\r
- .set_scan_param_cb = wrapper_gap_ble_set_scan_param_callback,\r
- .start_adv_cb = wrapper_gap_ble_start_adv_callback,\r
- .stop_adv_cb = wrapper_gap_ble_stop_adv_callback,\r
- .scan_result_cb = wrapper_gap_ble_scan_result_callback,\r
- .conn_state_change_cb = wrapper_gap_ble_connect_state_changed_callback,\r
- .pair_result_cb = wrapper_gap_ble_paired_complete_callback,\r
- .read_rssi_cb = wrapper_gap_ble_read_rssi_callback,\r
- .terminate_adv_cb = wrapper_gap_ble_terminate_adv_callback,\r
- .auth_complete_cb = wrapper_gap_ble_auth_complete_callback,\r
- .conn_param_update_cb = wrapper_gap_ble_connect_param_update_callback, \r
-};\r
-\r
-static gatts_callbacks_t g_wrapper_gatts_callbacks = {\r
- .add_service_cb = wrapper_gatts_add_service_callback,\r
- .add_characteristic_cb = wrapper_gatts_add_characteristic_callback,\r
- .add_descriptor_cb = wrapper_gatts_add_descriptor_callback,\r
- .start_service_cb = wrapper_gatts_start_service_callback,\r
- .stop_service_cb = wrapper_gatts_stop_service_callback,\r
- .delete_service_cb = wrapper_gatts_delete_all_service_callback,\r
- .read_request_cb = wrapper_gatts_read_request_callback,\r
- .write_request_cb = wrapper_gatts_write_request_callback,\r
- .mtu_changed_cb = wrapper_gatts_mtu_changed_callback, \r
-};\r
-\r
-void wrapper_ble_register(void)\r
-{\r
- gap_ble_register_callbacks(&g_wrapper_gap_ble_callbacks);\r
- gatts_register_callbacks(&g_wrapper_gatts_callbacks);\r
-}\r
-\r
-\r
-errcode_t wrapper_gatts_register_server(bt_uuid_t *app_uuid, uint8_t *server_id)\r
-{\r
- errcode_t ret = ERRCODE_SUCC;\r
- if (gatts_register_flag) {\r
- *server_id = gatts_server_id;\r
- ret = ERRCODE_SUCC;\r
- } else {\r
- gatts_register_flag = true;\r
- ret = gatts_register_server(app_uuid, server_id);\r
- gatts_server_id = *server_id;\r
- }\r
- return ret;\r
-}\r
-\r
-errcode_t wrapper_gatts_add_service(uint8_t server_id, bt_uuid_t *service_uuid, bool is_primary)\r
-{\r
- g_uuid_list.push_back(*service_uuid);\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-void wrapper_gatts_service_start(void)\r
-{\r
- if (!g_uuid_list.empty()) {\r
- bt_uuid_t &uuid = g_uuid_list.front();\r
- // 服务异步添加,需要保证当前服务start后,再添加下一个服务\r
- (void)gatts_add_service(gatts_server_id, &uuid, true);\r
- g_uuid_list.pop_front();\r
- } else {\r
- g_svr_handle_list.clear();\r
- }\r
-}\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
bool OnDrag(UIView& view, const DragEvent& event) override;\r
void ConfirmOnClick();\r
void RemovePair();\r
+ char* getWatchName();\r
+\r
private:\r
+ char watchName[32];\r
};\r
} // namespace OHOS\r
#endif
\ No newline at end of file
#include "wearable_log.h"\r
#include "UiConfig.h"\r
#include "ConnectPhonePresenter.h"\r
-#include "BluetoothModel.h"\r
\r
namespace OHOS {\r
static ConnectOpenView *g_pConnectOpenView{nullptr};\r
return;\r
}\r
watchNameLabel->SetPosition(0, 165, HORIZONTAL_RESOLUTION, 45); // 0:x 244:y 454:width 45:height\r
- watchNameLabel->SetText(BluetoothModel::GetInstance()->getWatchName());\r
+ watchNameLabel->SetText(ConnectPhonePresenter::GetInstance()->getWatchName());\r
watchNameLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40); // 40:font data\r
watchNameLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE);\r
watchNameLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER,\r
#include "bts_le_gap.h"\r
#include "drag_event.h"\r
#include "cmsis_os.h"\r
+#include "tcxo.h"\r
#include "UiConfig.h"\r
#include "wearable_log.h"\r
\r
unsigned int connedDevicesNum = 0;\r
\r
bool ret = gap_get_paired_devices_num(&connedDevicesNum);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Setup GapGetPariedDevicesNum ret = %d, num = %d", ret, connedDevicesNum);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Setup GetPariedDevicesNum ret = %d, num = %d", ret, connedDevicesNum);\r
\r
if (connedDevicesNum != 0) {\r
gap_paired_device_info_t *devInfo = (gap_paired_device_info_t *)malloc(sizeof(gap_paired_device_info_t) * connedDevicesNum);\r
}\r
free(devInfo);\r
}\r
-\r
- (void)gap_ble_remove_all_pairs();\r
}\r
\r
void ConnectPhonePresenter::ConfirmOnClick()\r
{\r
bool ret;\r
+\r
+ memset_s(watchName, sizeof(watchName), 0, sizeof(watchName));\r
+ (void)sprintf_s(watchName, sizeof(watchName), "Watch%x", ((uint32_t)uapi_tcxo_get_us() & 0xFFFF));\r
+\r
+ ret = bluetooth_set_local_name((unsigned char*)watchName, strlen((char*)watchName) + 1);\r
+ if (!ret) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConnectPhonePresenter: bt SetLocalName ret = 0x%x", ret);\r
+ }\r
+\r
ret = gap_br_set_bt_scan_mode(GAP_SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE, 60); // start scan\r
if (!ret) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConnectPhonePresenter bt gap_br_set_bt_scan_mode ret = 0x%x", ret);\r
}\r
+#ifndef SUPPORT_ALIPAY_SEC\r
BleAdvStart();\r
+#endif\r
}\r
\r
bool ConnectPhonePresenter::OnDrag(UIView& view, const DragEvent& event)\r
return true;\r
}\r
\r
+char* ConnectPhonePresenter::getWatchName()\r
+{\r
+ return watchName;\r
}\r
+\r
+}
\ No newline at end of file
private:
void SetNumImg(UIImageView* img, const ImageInfo *info);
void FillIntegerPart(uint16_t intVal);
- void FillDecimalPart(float data);
+ void FillDecimalPart(uint16_t intVal);
void HandlePosition();
bool CreateImageViews(float data);
*/
void OnActive(void) override;
- void OnInactive(void) override;
-
private:
void ProcessData(DialDataType type, DialView* view);
std::unordered_map<int16_t, DialView*> dataTypeMap_;
if (playbackProgress == nullptr) {
return;
}
- int32_t playerState;
- PlayersModel::GetInstance()->GetPlayerCtr()->GetPlayerState(playerState);
state_ = playersView->GetPlayerButtonState();
- if ((playerState != PLAYER_STARTED) && (state_ == UICheckBox::UICheckBoxState::SELECTED)) {
- playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);
- } else if ((playerState == PLAYER_STARTED) && (state_ == UICheckBox::UICheckBoxState::UNSELECTED)) {
- playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::SELECTED);
- }
if (state_ == UICheckBox::UICheckBoxState::SELECTED) {
+ int32_t playerState;
+ PlayersModel::GetInstance()->GetPlayerCtr()->GetPlayerState(playerState);
+ if (playerState != PLAYER_STARTED) {
+ playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);
+ return;
+ }
PlayersModel::GetInstance()->GetPlayerCtr()->GetCurrentTime(playerCurrentTime_);
PlayersModel::GetInstance()->GetDuration(playerMusicDuration_);
if (playerMusicDuration_ != 0) {
currentIndex_++;
}
-static uint8_t GetValueLength(uint16_t value)
-{
- uint8_t length = 1;
- if (value > 0) {
- length = log10(value) + 1;
- }
- return length;
-}
-
void DialDigitalImgView::FillIntegerPart(uint16_t intVal)
{
- uint8_t length = GetValueLength(intVal);
+ uint8_t length = log10(intVal) + 1;
if (length < allocIntegerLen_) {
for (uint8_t i = 0; i < (allocIntegerLen_ - length); i++) {
SetNumImg(imgs_[currentIndex_], numInfo_[0]);
}
}
-void DialDigitalImgView::FillDecimalPart(float data)
+void DialDigitalImgView::FillDecimalPart(uint16_t intVal)
{
- uint8_t startIndex = GetValueLength(static_cast<uint16_t>(abs(data))) + 1;
- char dataStr[10] = {'\0'}; // 10: max number of digits.
- sprintf_s(dataStr, 10, "%f", data); // 10: size of dataStr
-
- for (uint8_t i = 0; i < decimalPrecision_; i++) {
- uint8_t index = startIndex + i;
- if ((index < 10) && (dataStr[index] != '\0')) { // 10: size of dataStr
- uint8_t val = dataStr[index] - '0';
- SetNumImg(imgs_[currentIndex_], numInfo_[val]);
- } else {
+ uint8_t length = log10(intVal) + 1;
+ if (length < decimalPrecision_) {
+ for (uint8_t i = 0; i < (decimalPrecision_ - length); i++) {
SetNumImg(imgs_[currentIndex_], numInfo_[0]);
}
}
+ for (uint8_t i = 0; i < length; i++) {
+ uint8_t curNum = static_cast<uint16_t>(intVal / (pow(10, length - i - 1))) % 10; // 10: conversion
+ SetNumImg(imgs_[currentIndex_], numInfo_[curNum]);
+ }
}
void DialDigitalImgView::HandlePosition()
for (uint8_t i = 0; i < currentIndex_; i++) {
parent_->Add(imgs_[i]);
imgs_[i]->SetPosition(curX, alignPos_.y);
- imgs_[i]->Invalidate();
curX += imgs_[i]->GetWidth() + space_;
}
}
bool DialDigitalImgView::CreateImageViews(float data)
{
uint8_t imgCnt = 0;
- uint16_t integer = static_cast<uint16_t>(abs(data));
-
- uint8_t actualIntegerLen = GetValueLength(integer);
+ uint32_t integer = static_cast<uint32_t>(abs(data));
+ uint8_t actualIntegerLen = log10(integer) + 1;
if (integerLength_ == 0) {
imgCnt = actualIntegerLen;
if (imgCnt_ != 0) {
for (uint8_t i = 0; i < imgCnt_; i++) {
if (parent_ != nullptr) {
- imgs_[i]->Invalidate();
parent_->Remove(imgs_[i]);
}
}
if (decimalPrecision_ != 0 && decimalPointInfo_ != nullptr) {
SetNumImg(imgs_[currentIndex_], decimalPointInfo_);
- FillDecimalPart(data);
+ // 10: conversion
+ uint16_t decimalVal = static_cast<uint16_t>((abs(data) - intVal) * (pow(10, decimalPrecision_)));
+ FillDecimalPart(decimalVal);
}
HandlePosition();
value_ = data;
kaleidoscope_->StartRotateAnimator();
}
}
-
-void DialViewGroup::OnInactive(void)
-{
- if (video_ != nullptr) {
- if (!video_->IsStopped()) {
- video_->StopPlay();
- }
- } else if (kaleidoscope_ != nullptr) {
- kaleidoscope_->StopRotateAnimator();
- kaleidoscope_->ClearFocus();
- }
-}
}
\r
if (memcpy_s(info->dialName, DIAL_NAME_MAX_LEN, dialHeader->dialName, DIAL_NAME_MAX_LEN) != EOK) {\r
GRAPHIC_LOGE("[%s: %d]memcpy_s dial name fail!\n", __FUNCTION__, __LINE__);\r
- UIFree(dialHeader);\r
+ free(dialHeader);\r
return false;\r
}\r
\r
if (memcpy_s(info->description, DIAL_DESCRIPTION_MAX_LEN,\r
dialHeader->description, DIAL_DESCRIPTION_MAX_LEN) != EOK) {\r
GRAPHIC_LOGE("[%s: %d]memcpy_s dial description fail!\n", __FUNCTION__, __LINE__);\r
- UIFree(dialHeader);\r
+ free(dialHeader);\r
return false;\r
}\r
\r
info->imgId = dialHeader->previewImgId | dirId_;\r
info->offset = dialHeader->imageOffset;\r
\r
- UIFree(dialHeader);\r
+ free(dialHeader);\r
return true;\r
}\r
\r
{
int32 ret;
uint32 size = sizeof(hfp_hf_calls_info_t);
+ Request *request = nullptr;
BroadcastApi *broadcastApi = nullptr;
IUnknown *api = nullptr;
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HfpIncomingEventPublish topic=%u!!", topic);
- void *publishData = malloc(size);
- if (publishData == nullptr) {
+ /* 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;
}
- ret = memcpy_s(publishData, size, (const void *)&callsInfo, size);
+ request->msgId = topic;
+ ret = memcpy_s(request->data, size, (const void *)&callsInfo, size);
if (ret != EOK) {
- free(publishData);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HfpIncomingEventPublish memcpy_s fail! ret = %d", ret);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HfpIncomingEventPublish memcpy_s rateDataTmp fail! ret:%d", ret);
return;
}
-
- Request request = {
- .msgId = topic,
- .len = size,
- .msgValue = 0,
- .data = publishData,
- };
+ request->len = size;
+ request->msgValue = 0;
/* public request */
api = SAMGR_GetInstance()->GetFeatureApi(BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME);
if (api == nullptr) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetFeatureApi failed");
- free(publishData);
+ SAMGR_FreeRequestMsg(request);
return;
}
ret = api->QueryInterface(api, DEFAULT_VERSION, (void **)&broadcastApi);
if (ret != 0 || broadcastApi == nullptr) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "QueryInterface failed");
- free(publishData);
+ SAMGR_FreeRequestMsg(request);
return;
}
- broadcastApi->PublishTopic((IUnknown *)broadcastApi, &request);
+ broadcastApi->PublishTopic((IUnknown *)broadcastApi, request);
broadcastApi->Release((IUnknown *)broadcastApi);
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HfpIncomingEventPublish end!!");
if (request == nullptr) {\r
return FALSE;\r
}\r
+ SAMGR_FreeRequestMsg(request);\r
return TRUE;\r
}\r
\r
typedef enum {
APPLIST_STYLE,
HEXAGONS_STYLE,
- FOOTBALL_STYLE
} DesktopStyle;
namespace OHOS {
namespace OHOS {
static const char *SET_DESKTOP_LIST = "setdesktopList";
static const char *SET_DESKTOP_HEXAGONS = "setdesktopHexagons";
-static const char *SET_DESKTOP_FOOTBALL = "setdesktopFootball";
class SetDesktopView;
class SetDesktopModel;
bool OnClick(UIView &view, const ClickEvent &event) override;
bool OnDrag(UIView& view, const DragEvent& event) override;
- uint8_t GetCurrentStyle(void);
+ bool GetHexagonsStyleState(void);
private:
};
}
void OnSetUpView() override;
void OnTearDownView() override;
void OnStop() override;
- void UpdateSelectedStyle(uint8_t selectedStyle);
- uint8_t GetCurrentSelectedStyle(void);
-
+ void UpdateSelectedStyle(bool hexagonsSelected);
private:
- void InitFootballItem();
UILabel titleText;
UIToggleButton hexagonsBtn;
UIToggleButton listBtn;
- UIToggleButton footballBtn_;
UIImageView hexagonsImage;
UIImageView listImage;
- UIImageView footballImage_;
UILabel listText;
UILabel hexagonsText;
- UILabel footballText_;
};
}
#endif // SET_DESKTOP_VIEW_H
(void)UtilsGetValue("applist_style", temp, STYLE_VALUE_LEN);
if (strcmp(temp, "hexagons") == 0) {
style = HEXAGONS_STYLE;
- } else if (strcmp(temp, "football") == 0) {
- style = FOOTBALL_STYLE;
} else {
style = APPLIST_STYLE;
}
(void)UtilsSetValue("applist_style", "list");
} else if (style == HEXAGONS_STYLE) {
(void)UtilsSetValue("applist_style", "hexagons");
- } else if (style == FOOTBALL_STYLE) {
- (void)UtilsSetValue("applist_style", "football");
}
}
SetDesktopModel::GetInstance().SetDesktopStyle(HEXAGONS_STYLE);
} else if (strcmp(view.GetViewId(), SET_DESKTOP_LIST) == 0) {
SetDesktopModel::GetInstance().SetDesktopStyle(APPLIST_STYLE);
- } else if (strcmp(view.GetViewId(), SET_DESKTOP_FOOTBALL) == 0) {
- SetDesktopModel::GetInstance().SetDesktopStyle(FOOTBALL_STYLE);
}
uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();
NativeAbility::GetInstance().ChangeSlice(preSlice);
return true;
}
- uint8_t SetDesktopPresenter::GetCurrentStyle(void)
+ bool SetDesktopPresenter::GetHexagonsStyleState(void)
{
- DesktopStyle style = SetDesktopModel::GetInstance().GetDesktopStyle();
- if (style == HEXAGONS_STYLE) {
- return 1; // 1: hexagons style enum index
- } else if (style == FOOTBALL_STYLE) {
- return 2; // 2: football style enum index
- }
- return 0;
+ return (SetDesktopModel::GetInstance().GetDesktopStyle() == HEXAGONS_STYLE);
}
}
titleText.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
container_->Add(&titleText);
- listImage.SetPosition(0, 135, 190, 190);
+ listImage.SetPosition(25, 135, 190, 190);
listImage.SetSrc(PNG_SET_DESKTOP_BG_IMAGE);
container_->Add(&listImage);
- listBtn.SetPosition(22, 157, 148, 148);
+ listBtn.SetPosition(47, 157, 148, 148);
listBtn.SetImages(PNG_SET_DESKTOP_LIST_IMAGE, PNG_SET_DESKTOP_LIST_IMAGE);
listBtn.SetViewId(SET_DESKTOP_LIST);
container_->Add(&listBtn);
- listText.SetPosition(61, 328, 200, 60);
+ listText.SetPosition(96, 328, 200, 60);
listText.SetText("列表");
listText.SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
listText.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
listText.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
container_->Add(&listText);
- hexagonsImage.SetPosition(150, 135, 190, 190);
+ hexagonsImage.SetPosition(247, 135, 190, 190);
hexagonsImage.SetSrc(PNG_SET_DESKTOP_BG_IMAGE);
container_->Add(&hexagonsImage);
- hexagonsBtn.SetPosition(172, 157, 148, 148);
+ hexagonsBtn.SetPosition(267, 157, 148, 148);
hexagonsBtn.SetImages(PNG_SET_DESKTOP_HEXAGONS_IMAGE, PNG_SET_DESKTOP_HEXAGONS_IMAGE);
hexagonsBtn.SetViewId(SET_DESKTOP_HEXAGONS);
container_->Add(&hexagonsBtn);
- hexagonsText.SetPosition(218, 328, 200, 60);
+ hexagonsText.SetPosition(305, 328, 200, 60);
hexagonsText.SetText("蜂窝");
hexagonsText.SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
hexagonsText.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
hexagonsText.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
container_->Add(&hexagonsText);
- InitFootballItem();
listBtn.SetOnClickListener(presenter_);
hexagonsBtn.SetOnClickListener(presenter_);
- footballBtn_.SetOnClickListener(presenter_);
- UpdateSelectedStyle(presenter_->GetCurrentStyle());
+ UpdateSelectedStyle(presenter_->GetHexagonsStyleState());
}
void SetDesktopView::OnTearDownView()
}
}
-void SetDesktopView::UpdateSelectedStyle(uint8_t selectedStyle)
+void SetDesktopView::UpdateSelectedStyle(bool hexagonsSelected)
{
- hexagonsImage.SetVisible(false);
- hexagonsBtn.SetState(false);
- listImage.SetVisible(false);
- listBtn.SetState(false);
- footballImage_.SetVisible(false);
- footballBtn_.SetState(false);
-
- if (selectedStyle == 1) { // 1: select hexagons style
- hexagonsImage.SetVisible(true);
- hexagonsBtn.SetState(true);
- } else if (selectedStyle == 2) { // 2: select football style
- footballImage_.SetVisible(true);
- footballBtn_.SetState(true);
- } else {
- listImage.SetVisible(true);
- listBtn.SetState(true);
- }
-}
-
-void SetDesktopView::InitFootballItem()
-{
- footballImage_.SetPosition(300, 135, 190, 190);
- footballImage_.SetSrc(PNG_SET_DESKTOP_BG_IMAGE);
- container_->Add(&footballImage_);
-
- footballBtn_.SetPosition(322, 157, 148, 148);
- footballBtn_.SetImages(PNG_SET_DESKTOP_HEXAGONS_IMAGE, PNG_SET_DESKTOP_HEXAGONS_IMAGE);
- footballBtn_.SetViewId(SET_DESKTOP_FOOTBALL);
- container_->Add(&footballBtn_);
-
- footballText_.SetPosition(368, 328, 200, 60);
- footballText_.SetText("足球");
- footballText_.SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
- footballText_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
- footballText_.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- container_->Add(&footballText_);
-}
-
-uint8_t SetDesktopView::GetCurrentSelectedStyle()
-{
- return presenter_->GetCurrentStyle();
+ listImage.SetVisible(!hexagonsSelected);
+ hexagonsImage.SetVisible(hexagonsSelected);
+ hexagonsBtn.SetState(hexagonsSelected);
+ listBtn.SetState(!hexagonsSelected);
}
}
#include "SetDialModel.h"
#include "Presenter.h"
#include "components/ui_view.h"
-#include "components/ui_roller_view.h"
#include "KeyInputListener.h"
#include "ModelListenerSample.h"
class SetDialModel;
class SetDialPresenter : public Presenter<SetDialView>,
public UIView::OnClickListener, public ModelListenerSample,
- public UICoverflowView::OnCoverflowScrollListener,
- public UIRollerView::OnScrollListener {
+ public UICoverflowView::OnCoverflowScrollListener {
public:
SetDialPresenter();
~SetDialPresenter() override;
void OnTickEvent() override;
void Notify() override {}
bool OnScroll() override;
- void OnScroll(UIRollerView* roller, std::string currentItemName, float currentItemAngle) override;
bool OnClick(UIView &view, const ClickEvent &event) override;
void ResetTickTimer(void);
private:
#include "View.h"
#include "components/ui_view_group.h"
#include "components/ui_coverflow_view.h"
-#include "components/ui_roller_view.h"
#include "window/window.h"
#include "BaseView.h"
#include "ChangeSliceListener.h"
static constexpr uint8_t DIVISOR_TWO = 2;
class SetDialPresenter;
-enum class DialStyle {
- COVERFLOW = 0,
- ROLLER,
- STYLE_NUM
-};
-
class SetDialView : public View<SetDialPresenter> {
public:
SetDialView();
void OnTearDownView() override;
void OnStop() override;
void CoverflowViewScroll(void);
- void RollerViewScroll(std::string currentItemName, float currentItemAngle);
uint8_t GetCoverflowPage(void);
private:
void SetUpCoverflowView(void);
- void SetUpRollerView(void);
UICoverflowView coverflow_;
- UIRollerView rollerView_;
- int16_t rollerItemNum_ = 0;
UILabel label_;
uint8_t lastIndex_;
};
return true;
}
- void SetDialPresenter::OnScroll(UIRollerView* roller, std::string currentItemName, float currentItemAngle)
- {
- view_->RollerViewScroll(currentItemName, currentItemAngle);
- }
-
size_t SetDialPresenter::GetDialCount(void)
{
return model->GetDialCount();
#include <string>
#include "SetDialView.h"
#include "SetDialPresenter.h"
-#include "SetDialStyleModel.h"
namespace OHOS {
SetDialView::SetDialView()
View<SetDialPresenter>::OnStart();
SetContainerView(new UIViewGroup());
container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- if (SetDialStyleModel::GetInstance().GetStyle() == DialStyle::COVERFLOW) {
- SetUpCoverflowView();
- } else {
- SetUpRollerView();
- }
+ SetUpCoverflowView();
}
void SetDialView::SetUpCoverflowView(void)
coverflow_.SetIntercept(true);
coverflow_.SetOnCoverflowListener(presenter_);
coverflow_.SetOnClickListener(presenter_);
- coverflow_.SetThrowDrag(true);
std::vector<SetDialInfo> &dialInfo = presenter_->GetDialInfo();
for (auto iter : dialInfo) {
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialView::SetUpCoverflowView %s",
label_.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
label_.SetText(dialInfo[lastIndex_].dialName.c_str());
label_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
-
+
container_->Add(&coverflow_);
container_->Add(&label_);
}
-void SetDialView::SetUpRollerView(void)
-{
- rollerView_.SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- rollerView_.SetItemSize(150, 150); // 150: item size
- rollerView_.SetThrowDrag(true);
- rollerView_.SetItemPadding(80); // 80: item padding
- container_->Add(&rollerView_);
-
- std::vector<SetDialInfo> &dialInfo = presenter_->GetDialInfo();
- for (auto iter : dialInfo) {
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialView::SetUpRollerView %s",
- iter.dialName.c_str());
- bool succ = rollerView_.AddItem(iter.dialName, iter.preImageInfo);
- rollerItemNum_ += succ ? 1 : 0;
- }
- float scalerCoef = 0.55;
- uint16_t w = Screen::GetInstance().GetWidth();
- uint16_t h = Screen::GetInstance().GetHeight();
- rollerView_.SetItemSize(w * scalerCoef, h * scalerCoef);
- lastIndex_ = presenter_->GetPageIndex();
- rollerView_.SetCurrentItem(dialInfo[lastIndex_].dialName);
- rollerView_.SetOnClickListener(presenter_);
- rollerView_.SetOnScrollListener(presenter_);
-
- label_.SetPosition(127, 50, 200, 50);
- label_.SetTextColor(Color::White());
- label_.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- label_.SetText(dialInfo[lastIndex_].dialName.c_str());
- label_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
- container_->Add(&label_);
-}
-
void SetDialView::OnSetUpView()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialView::OnSetUpView");
presenter_->ResetTickTimer();
}
-void SetDialView::RollerViewScroll(std::string currentItemName, float currentItemAngle)
-{
- const float baseAngle = 360.0;
- const float halfBaseAngle = 180.0;
- if (FloatMoreEqual(currentItemAngle, halfBaseAngle)) {
- currentItemAngle -= baseAngle;
- }
- if (currentItemAngle < 0) {
- currentItemAngle = -currentItemAngle;
- }
- float maxAngle = baseAngle / rollerItemNum_;
- float coef = 1.0 - 1.0 / (maxAngle) * currentItemAngle;
- label_.SetStyle(STYLE_TEXT_OPA, coef * OPA_OPAQUE);
- label_.SetText(currentItemName.c_str());
- std::vector<SetDialInfo> &dialInfo = presenter_->GetDialInfo();
- for (uint8_t i = 0; i < dialInfo.size(); ++i) {
- if (dialInfo[i].dialName == currentItemName) {
- lastIndex_ = i;
- }
- }
- presenter_->ResetTickTimer();
-}
-
uint8_t SetDialView::GetCoverflowPage(void)
{
return lastIndex_;
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
- * Description: SetDialStyleModel.h
- * Author:
- * Create: 2024-06-06
- */
-
-#ifndef SET_DIAL_STYLE_MODEL_H
-#define SET_DIAL_STYLE_MODEL_H
-#include "SetDialView.h"
-#include "components/ui_view.h"
-
-namespace OHOS {
-class SetDialStyleModel {
-public:
- static SetDialStyleModel& GetInstance()
- {
- static SetDialStyleModel model;
- return model;
- }
-
- void SetStyle(DialStyle style);
- DialStyle GetStyle();
-
-private:
- constexpr static uint8_t MAX_LEN = 32;
- const char key_[MAX_LEN] = "set_dial_style";
- struct {
- const DialStyle style;
- const char value[MAX_LEN];
- } values_[static_cast<int>(DialStyle::STYLE_NUM)] = {
- {DialStyle::COVERFLOW, "DialStyle::COVERFLOW"},
- {DialStyle::ROLLER, "DialStyle::ROLLER"},
- };
- SetDialStyleModel();
- ~SetDialStyleModel();
- SetDialStyleModel(const SetDialStyleModel&) = delete;
- SetDialStyleModel& operator=(const SetDialStyleModel&) = delete;
-};
-} // OHOS
-#endif
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
- * Description: SetDialStylePresenter.h
- * Author:
- * Create: 2024-06-06
- */
-
-#ifndef SET_DIAL_STYLE_PRESENTER_H
-#define SET_DIAL_STYLE_PRESENTER_H
-#include "SetDialView.h"
-#include "components/ui_view.h"
-#include "Presenter.h"
-
-namespace OHOS {
-class SetDialStyleModel;
-class SetDialStyleView;
-class SetDialStylePresenter : public Presenter<SetDialStyleView, SetDialStyleModel>,
- public UIView::OnClickListener,
- public UIView::OnDragListener {
-public:
- SetDialStylePresenter();
- ~SetDialStylePresenter();
- SetDialStylePresenter(const SetDialStylePresenter&) = delete;
- SetDialStylePresenter& operator=(const SetDialStylePresenter&) = delete;
- bool OnClick(UIView &view, const ClickEvent &event) override;
- bool OnDrag(UIView& view, const DragEvent& event) override;
- DialStyle GetCurrentStyle() const
- {
- return curStyle_;
- }
-
-private:
- DialStyle curStyle_ = DialStyle::COVERFLOW;
-};
-
-} // OHOS
-#endif
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
- * Description: SetDialStyleView.h
- * Author:
- * Create: 2024-06-06
- */
-
-#ifndef SET_DIAL_STYLE_VIEW_H
-#define SET_DIAL_STYLE_VIEW_H
-#include "components/ui_view.h"
-#include "components/ui_label.h"
-#include "components/ui_view_group.h"
-#include "components/ui_toggle_button.h"
-#include "SetDialView.h"
-#include "View.h"
-
-namespace OHOS {
-class SetDialStylePresenter;
-class SetDialStyleView : public View<SetDialStylePresenter> {
-public:
- SetDialStyleView();
- ~SetDialStyleView() override;
- SetDialStyleView(const SetDialStyleView &) = delete;
- SetDialStyleView& operator=(const SetDialStyleView &) = delete;
-
- void OnStart() override;
- void OnSetUpView() override;
- void OnStop() override;
- void OnClick(UIView &view);
-
-private:
- UILabel labelCover_;
- UILabel labelRoller_;
- UIToggleButton btnCover_;
- UIToggleButton btnRoller_;
- struct {
- UIToggleButton *btn;
- DialStyle style;
- } styleTable_[static_cast<int>(DialStyle::STYLE_NUM)] = {
- {&btnCover_, DialStyle::COVERFLOW},
- {&btnRoller_, DialStyle::ROLLER},
- };
-};
-} // OHOS
-#endif
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
- * Description: SetDialStyleModel.cpp
- * Author:
- * Create: 2024-06-06
- */
-
-#include "SetDialStyleModel.h"
-#include "kv_store.h"
-
-namespace OHOS {
-void SetDialStyleModel::SetStyle(DialStyle style)
-{
- int len = sizeof(values_) / sizeof(values_[0]);
- for (int i = 0; i < len; ++i) {
- if (values_[i].style == style) {
- UtilsSetValue(key_, values_[i].value);
- break;
- }
- }
-}
-
-DialStyle SetDialStyleModel::GetStyle()
-{
- int len = sizeof(values_) / sizeof(values_[0]);
- char temp[MAX_LEN];
- UtilsGetValue(key_, temp, MAX_LEN);
- for (int i = 0; i < len; ++i) {
- if (strcmp(temp, values_[i].value) == 0) {
- return values_[i].style;
- }
- }
- return DialStyle::COVERFLOW;
-}
-
-SetDialStyleModel::SetDialStyleModel()
-{
-}
-
-SetDialStyleModel::~SetDialStyleModel()
-{
-}
-} // OHOS
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
- * Description: SetDialStylePresenter.cpp
- * Author:
- * Create: 2024-06-06
- */
-
-#include "SetDialStyleView.h"
-#include "SetDialStyleModel.h"
-#include "SetDialStylePresenter.h"
-
-namespace OHOS {
-SetDialStylePresenter::SetDialStylePresenter()
-{
- Attach(&SetDialStyleModel::GetInstance());
-}
-
-SetDialStylePresenter::~SetDialStylePresenter()
-{
-}
-
-bool SetDialStylePresenter::OnClick(UIView &view, const ClickEvent &event)
-{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialStylePresenter::OnClick");
- view_->OnClick(view);
- return true;
-}
-
-bool SetDialStylePresenter::OnDrag(UIView& view, const DragEvent& event)
-{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialStylePresenter::OnDrag");
- UNUSED(view);
- if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) &&
- (event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) {
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnDrag ChangeSlice");
- uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();
- NativeAbility::GetInstance().ChangeSlice(preSlice);
- }
- return true;
-}
-} // OHOS
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
- * Description: SetDialStyleView.cpp
- * Author:
- * Create: 2024-06-06
- */
-
-#include "SetDialStyleView.h"
-#include "SetDialStyleModel.h"
-#include "SetDialStylePresenter.h"
-
-namespace OHOS {
-SetDialStyleView::SetDialStyleView()
-{
-}
-
-SetDialStyleView::~SetDialStyleView()
-{
-}
-
-void SetDialStyleView::OnStart()
-{
- View<SetDialStylePresenter>::OnStart();
- SetContainerView(new UIViewGroup);
- if (container_ == nullptr) {
- return;
- }
- container_->SetDraggable(true);
- container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- container_->SetOnDragListener(presenter_);
- container_->SetTouchable(true);
-}
-
-void SetDialStyleView::OnSetUpView()
-{
- if (container_ == nullptr) {
- return;
- }
- View<SetDialStylePresenter>::OnSetUpView();
- labelCover_.SetPosition(96, 328, 200, 60);
- labelCover_.SetText("Coverflow");
- container_->Add(&labelCover_);
-
- labelRoller_.SetPosition(305, 328, 200, 60);
- labelRoller_.SetText("Roller");
- container_->Add(&labelRoller_);
-
- btnCover_.SetPosition(47, 157, 148, 148);
- container_->Add(&btnCover_);
- btnRoller_.SetPosition(267, 157, 148, 148);
- container_->Add(&btnRoller_);
-
- const DialStyle style = SetDialStyleModel::GetInstance().GetStyle();
- int len = sizeof(styleTable_) / sizeof(styleTable_[0]);
- for (int i = 0; i < len; ++i) {
- if (style == styleTable_[i].style) {
- styleTable_[i].btn->SetState(true);
- } else {
- styleTable_[i].btn->SetState(false);
- }
- }
-
- btnCover_.SetOnClickListener(presenter_);
- btnRoller_.SetOnClickListener(presenter_);
-}
-
-void SetDialStyleView::OnStop()
-{
- View<SetDialStylePresenter>::OnStop();
- if (container_ != nullptr) {
- container_->RemoveAll();
- delete container_;
- container_ = nullptr;
- }
-}
-
-void SetDialStyleView::OnClick(UIView &view)
-{
- const UIToggleButton *ptr = dynamic_cast<UIToggleButton*>(&view);
- if (ptr == nullptr) {
- return;
- }
- int len = sizeof(styleTable_) / sizeof(styleTable_[0]);
- for (int i = 0; i < len; ++i) {
- if (ptr == styleTable_[i].btn) {
- styleTable_[i].btn->SetState(true);
- SetDialStyleModel::GetInstance().SetStyle(styleTable_[i].style);
- } else {
- styleTable_[i].btn->SetState(false);
- }
- }
-}
-} // OHOS
\ No newline at end of file
settings[index++] = {VIEW_SET_DESKTOP, PNG_SETTTING_DESKTOP_IMAGE, "桌面", true};
settings[index++] = {VIEW_SET_DIAL, PNG_SETTTING_DESKTOP_IMAGE, "表盘", true};
settings[index++] = {VIEW_SET_CARD, PNG_SETTTING_DESKTOP_IMAGE, "卡片", true};
- settings[index++] = {VIEW_SET_DIAL_STYLE, PNG_SETTTING_DESKTOP_IMAGE, "表盘风格", true};
usedLen = index;
}
uapi_pm_remove_sleep_veto(PM_ID_SCREEN);
break;
}
+ SAMGR_FreeRequestMsg(request);
}
BOOL ServiceMessageHandle(Service *service, Request *request)
static int32_t SendMsg(int32_t msgId, uint32_t msgValue, void *data, int32_t dataLen)
{
- int32_t ret;
- void *sendData = nullptr;
- if (dataLen > 0) {
- sendData = malloc(dataLen);
- if (sendData == nullptr) {
- return FALSE;
- }
- ret = memcpy_s(sendData, dataLen, data, dataLen);
- if (ret != EOK) {
- free(sendData);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uiservice sendMsg memcpy_s fail! ret = %d", ret);
- return FALSE;
- }
+ Request *request = SAMGR_AllocRequestMsg(0, PLATFORM_CORE, UI_SVR_ID, dataLen);
+ if (request == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_UI_SERVICE, "SAMGR_AllocRequestMsg failed");
+ return FALSE;
+ }
+ request->msgId = msgId;
+ request->msgValue = msgValue;
+ if (data != nullptr) {
+ (void)memcpy_s(request->data, dataLen, data, dataLen);
}
- Request request = {
- .msgId = msgId,
- .len = dataLen,
- .msgValue = msgValue,
- .data = sendData,
- };
-
- ret = SAMGR_SendRequest(IUNKNOWN_GetIdentity(GET_IUNKNOWN(g_uiService)), &request, nullptr);
+ int32_t ret = SAMGR_SendRequest(IUNKNOWN_GetIdentity(GET_IUNKNOWN(g_uiService)), request, nullptr);
if (ret != 0) {
- if (sendData != nullptr) {
- free(sendData);
- }
WEARABLE_LOGE(WEARABLE_LOG_MODULE_UI_SERVICE, "SendMsg failed ret = %d ", ret);
return FALSE;
}
#include "phoneaddressmodel.h"
#include "LanguageInit.h"
#include "ConfigModel.h"
+#include "uiservice/include/ui_service.h"
// #include "TraingCardPresenter.h"
#ifdef FD230
-#include "uiservice/include/ui_service.h"
#include "TraingModel.h"
#include "WeatherModel.h"
#include "SleepModel.h"
data->sedent_time = p_ConfigModel->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_REMINDERTIME);
data->frequenc = p_ConfigModel->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_INTERVAL);
+
return;
}
void ble_set_dial_by_id(uint16_t id)
{
- #ifdef FD230
return OHOS::SetDialModel::GetInstance().UpdateDialSetting(id);
-#endif
}
uint16_t ble_get_dial_id(void)
{
-#ifdef FD230
return OHOS::SetDialModel::GetInstance().GetCurrentDialID();
-#else
- return 0;
-#endif
}
bool ble_is_dial_install_by_id(uint16_t id)
{
-#ifdef FD230
return OHOS::SetDialModel::GetInstance().IsDialInstalled(id);
-#else
- return false;
-#endif
}
int ble_get_dial_num(void)
{
-#ifdef FD230
return OHOS::SetDialModel::GetInstance().GetDialCount();
-#else
- return 1;
-#endif
}
bool ble_delete_dial(uint16_t id)
{
-
-#ifdef FD230
if(id==OHOS::SetDialModel::GetInstance().GetCurrentDialID())
return false;
else
return OHOS::SetDialModel::GetInstance().UninstallDial(id);
-#else
- return false;
-#endif
}
int get_all_dial_id( char * buf)
{
-#ifdef FD230
return OHOS::SetDialModel::GetInstance().GetAllDialIDs(buf);
-#else
-return 0;
-#endif
}
bool dial_file_save(void )
{
-#ifdef FD230
return OHOS::SetDialModel::GetInstance().saveDialfile();
-#else
- return true;
-#endif
}
void install_Register_dial( char * name,uint16_t id)
{
-#ifdef FD230
return OHOS::SetDialModel::GetInstance().RegisterDial(id,name);
-#endif
}
OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
p_ConfigModel->SetVibrationReminder(falg);
uapi_vibrationModeSet(falg);
- #ifdef FD230
SendMsgToUIService(UI_UPDATE_VIBRATION_MODE,0,nullptr,0);
- #endif
return ;
}
OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
p_ConfigModel->SetSilentMode(falg);
uapi_setSilentMode(falg);
- #ifdef FD230
SendMsgToUIService(UI_UPDATE_SILENT_MODE,0,nullptr,0);
- #endif
return;
}
/*设置自动获取实时数据开关*/
data = maxbrightness;
p_ConfigModel->SetBrightness(data);
uapi_setScreenBrightness(data);
-#ifdef FD230
SendMsgToUIService(UI_UPDATE_BRIGHTNESS_VALUE,0,nullptr,0);
-#endif
return;
}
void Set_DmpChangeMode(int state)
{
OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
p_ConfigModel->SetScreenDuration(data);
-#ifdef FD230
SendMsgToUIService(UI_UPDATE_SCREEN_DURATION,0,nullptr,0);
-#endif
return;
}
{
OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
p_ConfigModel->SetRaiseToWake(value);
-#ifdef FD230
SendMsgToUIService(UI_UPDATE_RAISETOBRIGHTNESS,0,nullptr,0);
-#endif
return;
}
OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
p_ConfigModel->SetSystemVolume(value);
uapi_systemVolumeSet(value);
-#ifdef FD230
SendMsgToUIService(UI_UPDATE_SYSTEM_VOLUME,0,nullptr,0);
-#endif
return;
}
OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
p_ConfigModel->SetCallVolume(value);
uapi_callVolumeSet(value);
-#ifdef FD230
SendMsgToUIService(UI_UPDATE_CALL_VOLUME,0,nullptr,0);
-#endif
return;
}
void ble_UpdateMainWeatherData(void)
{
-#ifdef FD230
SendMsgToUIService(UI_UPDATE_WEATHER_DATA,0,nullptr,0);
-#endif
}
message_infor_t message_infor_s;
void read_message_data(void)
req, req->msgId, req->len, req->data);
int32_t ret = SAMGR_SendRequest(id, req, NULL);
if (ret != OHOS_SUCCESS) {
- if (req->data != NULL) {
- free(req->data);
- }
WEARABLE_LOGE(WEARABLE_LOG_MODULE_BROADCASE_SERVICE, "SAMGR_SendRequest failed. ret=%d ", ret);
return FALSE;
}
continue;
}
- /* 在当前核内给对应服务发送消息 */
- Request tmpReq = {
- .msgId = req->msgId,
- .len = req->len,
- .msgValue = req->msgValue,
- .data = NULL,
- };
- if (tmpReq.len != 0) {
- tmpReq.data = malloc(tmpReq.len);
- if (tmpReq.data != NULL) {
- (void)memcpy_s(tmpReq.data, tmpReq.len, req->data, req->len);
- } else {
- break;
- }
+ /* 在当前核内给对应服务发送消息。(共享内存时,消息分配,相当于零拷贝) zero-copy */
+ Request *tmpReq = SAMGR_ZeroCopyMsg(req);
+ if (tmpReq == NULL) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_BROADCASE_SERVICE, "SAMGR_AllocRequestMsg failed! subIdx=%u, len=%u",
+ subIdx, req->len);
+ break;
}
- SendLocalMessage(subscriber->identity, &tmpReq);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_BROADCASE_SERVICE, "subIdx=%u, topicIdx=%u, tmpReq=0x%p",
+ subIdx, topicIdx, tmpReq);
+
+ SendLocalMessage(subscriber->identity, tmpReq);
}
}
- if (req->data != NULL) {
- free(req->data);
- }
MUTEX_Unlock(topicSubscriberInfo->mutex);
return TRUE;
}
int16_t topicIdx = GetTopicIndex(topicTable->topics, topicTable->count, req->msgId);
if (topicIdx == INVALID_INDEX) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_BROADCASE_SERVICE, "topic not exist! msgId=%u", req->msgId);
- if (req->data != NULL) {
- free(req->data);
- }
+ SAMGR_FreeRequestMsg(req);
return ret;
}
WEARABLE_LOGD(WEARABLE_LOG_MODULE_BROADCASE_SERVICE, "topic=%u, topicIdx=%u", req->msgId, topicIdx);
if (isInnerCore) {
SendInnerMessage(topicSubscriberInfo, topicIdx, req);
}
+
+ SAMGR_FreeRequestMsg(req);
return OHOS_SUCCESS;
}
set(PUBLIC_HEADER
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include/vendor_app
- ${CMAKE_CURRENT_SOURCE_DIR}/include/ota
)
set(PRIVATE_HEADER
${ROOT_DIR}/middleware/utils/fs/include/fs
${ROOT_DIR}/include/middleware/services/bts/br
${ROOT_DIR}/include/middleware/services/bts/common
- ${ROOT_DIR}/application/auto_ota
)
if("JS_ENABLE" IN_LIST DEFINES)
)
endif()
-if("SUPPORT_AUTO_OTA_SERVER" IN_LIST DEFINES)
-set(SOURCES
- ${SOURCES}
- ${CMAKE_CURRENT_SOURCE_DIR}/src/ota/msg_center_ota.cpp
-)
-endif()
-
set(COMPONENT_PUBLIC_CCFLAGS
)
} msg_center_alipay_type_id_t;
-typedef enum msg_center_ota_type_id {
- MSGCENTER_TYPE_ID_OTA_UPG_START = 0x1,
- MSGCENTER_TYPE_ID_OTA_UPG_CHECK = 0x2,
- MSGCENTER_TYPE_ID_OTA_UPG_CHECK_RESULT = 0x3,
-
-} msg_center_ota_type_id_t;
-
typedef enum msg_center_cmd_id {
MSGCENTER_CMD_XIAODU = 0x1,
MSGCENTER_CMD_NAVIGATION = 0x2,
MSGCENTER_CMD_VECTOR_NAVI = 0x3,
MSGCENTER_CMD_ALIPAY = 0x4,
- MSGCENTER_CMD_OTA = 0x5,
MSGCENTER_CMD_MAX
} msg_center_cmd_id_t;
errcode_t msg_center_send_data(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
void msg_center_split_file(char *origin_file, int size, char *flist);
void msg_center_combine_file(char *flist, char *target_file_name);
-diag_frame_fid_t msg_center_get_trans_channel(void);
+diag_frame_fid_t msg_center_get_trans_channel();
void msg_center_set_trans_channel(diag_frame_fid_t select);
#ifdef __cplusplus
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
- * Description: broadcast service api
- * Author: CompanyName
- * Create: 2021-11-11
- */
-
-#ifndef MSG_CENTER_OTA_H
-#define MSG_CENTER_OTA_H
-
-#include "msg_center_protocol.h"
-
-#ifdef __cplusplus
-#if __cplusplus
-extern "C" {
-#endif
-#endif
-
-errcode_t msg_center_ota_rec_upg_start(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
-errcode_t msg_center_ota_rec_upg_check(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
-errcode_t msg_center_ota_rec_upg_check_result(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
-void msg_center_ota_upgrade_start(void);
-
-#ifdef __cplusplus
-#if __cplusplus
-}
-#endif
-#endif
-#endif /* MSG_CENTER_OTA_H */
#include "wearable_log.h"
#include "baidu_app.h"
#include "alipay_app.h"
-#include "msg_center_ota.h"
#ifdef __cplusplus
extern "C" {
{ MSGCENTER_CMD_ALIPAY, MSGCENTER_TYPE_ID_ALIPAY_CLOSE, msg_center_alipay_close},
{ MSGCENTER_CMD_ALIPAY, MSGCENTER_TYPE_ID_ALIPAY_TIME_SYNC, msg_center_alipay_time_sync},
#endif
-#ifdef SUPPORT_AUTO_OTA_SERVER
- { MSGCENTER_CMD_OTA, MSGCENTER_TYPE_ID_OTA_UPG_START, msg_center_ota_rec_upg_start},
- { MSGCENTER_CMD_OTA, MSGCENTER_TYPE_ID_OTA_UPG_CHECK, msg_center_ota_rec_upg_check},
- { MSGCENTER_CMD_OTA, MSGCENTER_TYPE_ID_OTA_UPG_CHECK_RESULT, msg_center_ota_rec_upg_check_result},
-#endif
};
msg_center_cmd_map_t *msg_center_get_cmd_tbl_ops(uint8_t idx)
void MsgCenterNotifystepProc(const Topic topic, Request* req)
{
unused(req);
-#ifdef FD230
if(OHOS::GoalView::GetInstance())
{
OHOS::GoalView::GetInstance()->GoalViewrefresh();
}
-#endif
// The alarm notification is not displayed if the incoming call notification is already being processed
// cywee_save_data();
{
unused(topic);
}
-#ifdef FD230
+
static SLEEP_T sleep_data = {0};
static NAP_T nap_data = {0};
-#endif
static int state_num = 0;
void MsgCenterNotifyInactivityProc(const Topic topic, Request *req)
case INACTIVITY_MODE_SLEEPING_OUTPUT:
uapi_get_timestampe_ss(×tamp);
-
-#ifdef FD230
-
if(state_num < 20)
{
sleep_data.sleep_status[state_num].timestamp = timestamp;
{
sleep_data.wake_up_timestamp = timestamp;
}
-#endif
break;
//小睡
if(cywee_Inactivity_Info->status == 6) //0进入睡眠 1潜睡 2深睡 3清醒 4结束睡眠 6入睡 7出睡最后一笔输出 8未出睡最后一笔输出 12快速动眼 13取消入睡
{
uapi_get_timestampe_ss(×tamp);
-#ifdef FD230
nap_data.fall_asleep_timestamp = timestamp;
-#endif
}
else if(cywee_Inactivity_Info->status == 14)
{
uapi_get_timestampe_ss(×tamp);
-#ifdef FD230
nap_data.wake_up_timestamp = timestamp;
-#endif
}
break;
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "memcpy_s cywee_Inactivity_Accumulate_Time_Info failed, ret = %d", rets);
return;
}
-#ifdef FD230
+
if(nap_data.wake_up_timestamp != 0)
{
nap_data.total_time = cywee_Inactivity_Accumulate_Time_Info->total_time;
set_sleep_data(&sleep_data);
memset(&sleep_data,0,sizeof(SLEEP_T));
state_num = 0;
-#endif
free(cywee_Inactivity_Accumulate_Time_Info);
cywee_Inactivity_Accumulate_Time_Info = NULL;
}
#include "bleEvent.h"
#include "components/ui_label_ext.h"
#include "uicomponents/UIComponents.h"
-#ifdef FD230
#include "message/include/MessageModel.h"
-#endif
#include "message_notification.h"
#include "string"
#include "vibrator_service.h"
return nullptr;
}
MessageGroupView->SetOnDragListener(dragListener);
- #ifdef FD230
/*获取最新message*/
MessageData *data = MessageModel::GetInstance().GetNewestData();
if (data != nullptr)
timeStr = data->labelTime;
messageStr = data->labelDetails;
}
- #endif
/*初始化label*/
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitView");
/* -------------------------------------------------------------------------- */
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "messageLabel is ok");
/*加载清除按键*/
-#ifdef FD230
InitButtonExt(deleteButton, 0, 366, 466, 100, DELETEBUTTON, STR_CLOSE, 30);
-#else
- deleteButton = new UILabelButtonExt();
- if (deleteButton == nullptr)
- {
- return nullptr; // 内存分配失败,返回
- }
- deleteButton->SetPosition(0, 366);
- deleteButton->Resize(466,100);
- deleteButton->SetViewId(DELETEBUTTON);
- deleteButton->SetText("Close");
- deleteButton->SetStyle(STYLE_TEXT_FONT, 30);
- deleteButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
- deleteButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
- deleteButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff191919, UIButton::PRESSED);
- deleteButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
- deleteButton->SetVisible(true);
-#endif
const char *buttonImgSrc = "/user/res/466x100button.bin";
deleteButton->SetImageSrc(buttonImgSrc, buttonImgSrc);
UIView::OnTouchListener *TouchListener = static_cast<UIView::OnTouchListener *>(&MessageViewEventListener::GetInstance());
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
- * Description: ota upgrade handle.
- * This file should be changed only infrequently and with great care.
- */
-#include "build_version.h"
-#include "securec.h"
-#include "soc_osal.h"
-#include "diag_service.h"
-#include "upg.h"
-#include "upg_common_porting.h"
-#include "upg_definitions.h"
-#include "diag_common.h"
-#include "transmit_st.h"
-#include "transmit_item.h"
-#include "transmit_write_read.h"
-#include "dfx_resource_id.h"
-#include "dfx_file_operation.h"
-#include "msg_center_protocol.h"
-#include "wearable_log.h"
-#include "upg_porting.h"
-#ifdef SUPPORT_AUTO_OTA
-#include "auto_ota_service.h"
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef SUPPORT_AUTO_OTA
-extern osSemaphoreId_t g_auto_ota_transmit_done_sem;
-extern uint8_t g_auto_ota_mac_tmp[];
-#endif
-#ifndef unused
-#define unused(var) (void)(var)
-#endif
-
-/* 固定升级包文件长度, "/user/update.fwpkg"*/
-#define UPGRADE_FILE_LEN 19
-
-static errcode_t msg_center_ota_upgrade_request_call_back(bool is_finished, uintptr_t usr_data)
-{
- unused(usr_data);
- errcode_t ret = ERRCODE_SUCC;
- /* 目的端升级路径,建议固定 */
- uint32_t package_len = 0;
- const char *file_name = "/user/update.fwpkg";
- FILE *fp = fopen(file_name, "rb");
- if (fp == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "open %s fail.\r\n", file_name);
- return ERRCODE_FAIL;
- }
- fseek(fp, 0L, SEEK_END);
- package_len = ftell(fp);
- fclose(fp);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "send file_len = %d\n", package_len);
-
- // 文件传输结果判断
- if (is_finished) {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "transmit success\n");
- // 文件传输成功,向Watch发送请求升级指令
- ret = msg_center_send_data(MSGCENTER_CMD_OTA, MSGCENTER_TYPE_ID_OTA_UPG_START, &package_len, sizeof(package_len));
- if (ret != ERRCODE_SUCC) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "send upgrade command fail, ret = %d\r\n", ret);
- return ERRCODE_FAIL;
- }
-#ifdef SUPPORT_AUTO_OTA
- auto_ota_dev_add(g_auto_ota_mac_tmp);
- (void)osSemaphoreRelease(g_auto_ota_transmit_done_sem);
-#endif
- return ret;
- } else {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "transmit fail\n");
-#ifdef SUPPORT_AUTO_OTA
- (void)osSemaphoreRelease(g_auto_ota_transmit_done_sem);
-#endif
- return ret;
- }
-}
-
-static errcode_t msg_center_src_send_file_start(transmit_type_t transmit_type, diag_addr dst, uint32_t total_size,
- const char *file_name, bool re_transmit, transmit_result_hook handler)
-{
- diag_option_t option = DIAG_OPTION_INIT_VAL;
- option.peer_addr = dst;
-
- switch (transmit_type) {
- case TRANSMIT_TYPE_SAVE_FILE:
- case TRANSMIT_TYPE_SAVE_OTA_IMG:
- case TRANSMIT_TYPE_WRITE_MEMORY:
- case TRANSMIT_TYPE_WRITE_FLASH:
- break;
- default:
- return ERRCODE_INVALID_PARAM;
- }
-
- transmit_item_t *item = transmit_item_init(0);
- if (item == NULL) {
- return ERRCODE_FAIL;
- }
-
- transmit_item_init_file_name(item, file_name, strlen(file_name));
- transmit_item_init_permanent(item, false);
- transmit_item_init_local_start(item, true);
- transmit_item_init_local_src(item, true);
- transmit_item_init_remote_type(item, transmit_type);
- transmit_item_init_local_type(item, TRANSMIT_LOCAL_TYPE_READ_FILE);
- transmit_item_init_read_handler(item, file_read_data, (uintptr_t)item);
- transmit_item_init_option(item, &option);
- transmit_item_init_down_machine(item, false);
- transmit_item_init_total_size(item, total_size);
- transmit_item_init_result_handler(item, handler, (uintptr_t)item);
- transmit_item_init_re_trans(item, re_transmit);
-
- if (transmit_item_init_is_success(item) == false) {
- transmit_item_deinit(item);
- return ERRCODE_FAIL;
- }
-
-#if (CONFIG_DFX_SUPPORT_FILE_SYSTEM == DFX_YES)
- item->file_fd = dfx_file_open_for_read(item->file_name);
- if (item->file_fd < 0) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "[ERR][transmit src]file : %s open failed, fd = %d\r\n",
- item->file_name, item->file_fd);
- item->file_fd = 0;
- transmit_item_deinit(item);
- return ERRCODE_FAIL;
- }
-#endif
-
- transmit_item_enable(item);
- return ERRCODE_SUCC;
-}
-
-void msg_center_ota_upgrade_start(void)
-{
- const char *file_name = "/user/update.fwpkg";
- uint32_t total_size;
- errcode_t ret;
- FILE *fp = fopen(file_name, "rb");
- if (fp == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "open %s fail.\r\n", file_name);
- return;
- }
- fseek(fp, 0L, SEEK_END);
- total_size = ftell(fp);
- fclose(fp);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "read file size = %d\r\n", total_size);
-
- ret = msg_center_src_send_file_start(TRANSMIT_TYPE_SAVE_FILE, DIAG_FRAME_FID_PHONE, total_size, file_name,
- false, msg_center_ota_upgrade_request_call_back);
- if (ret != ERRCODE_SUCC) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "transmit_src_send_file_start fail, ret = %d\r\n", ret);
- return;
- }
-
- return;
-}
-
-errcode_t msg_center_ota_rec_upg_start(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)
-{
- errcode_t ret = ERRCODE_SUCC;
- uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);
- /* 收到升级指令 */
- upg_prepare_info_t info;
- info.package_len = *(uint32_t *)tlv_payload;
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "upg_prepare running......, rec file_len = %d\r\n", info.package_len);
- ret = uapi_upg_prepare(&info);
- if (ret != ERRCODE_SUCC) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "upg_prepare err, ret = 0x%x\r\n", ret);
- return ret;
- }
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "upg_prepare success!!!!\r\n");
-
- ret = uapi_upg_request_upgrade(false);
- if (ret != ERRCODE_SUCC) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "upg_request err, ret = 0x%x\r\n", ret);
- return ret;
- }
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "upg request success!!!!\r\n");
-
- ret = uapi_upg_start();
- if (ret != ERRCODE_SUCC) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "upg_request start, ret = 0x%x\r\n", ret);
- return ret;
- }
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "upg start success!!!!\r\n");
-
- upg_reboot();
- return ERRCODE_SUCC;
-}
-
-/* 客户逻辑实现 */
-__attribute__((weak)) errcode_t msg_center_ota_upg_version_check(char *dst_ver, char *src_ver)
-{
- unused(dst_ver);
- unused(src_ver);
- /* 客户版本号校验逻辑 */
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "upg version check default pass!\r\n");
- /* 客户检查本地剩余空间是否足够容纳升级包大小 */
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "upg space check default pass!\r\n");
- return ERRCODE_SUCC;
-}
-
-__attribute__((weak)) char * msg_center_ota_get_src_ver(void)
-{
- char *src_ver = "XXX_YYY";
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "get src version : %s\r\n", src_ver);
- return src_ver;
-}
-
-errcode_t msg_center_ota_rec_upg_check(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)
-{
- uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);
- uint16_t payload_len = usr_len - tl_len;
- uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);
- errcode_t ret = ERRCODE_SUCC;
- errcode_t res = ERRCODE_SUCC;
- uint8_t check_succ = 1;
- uint8_t check_fail = 0;
-
- char *dst_ver = (char *)malloc(payload_len + 1);
- if (dst_ver == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "rec_dst_version: malloc failed.\r\n");
- return ERRCODE_FAIL;
- }
-
- (void)memcpy_s(dst_ver, payload_len, tlv_payload, payload_len);
- dst_ver[payload_len] = '\0';
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "rec_dst_version: %s\r\n", dst_ver);
-
- ret = msg_center_ota_upg_version_check(dst_ver, msg_center_ota_get_src_ver());
- if (ret != ERRCODE_SUCC) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "upg version check fail, no need upg!\r\n");
- res = msg_center_send_data(cmd_id, MSGCENTER_TYPE_ID_OTA_UPG_CHECK_RESULT, &check_fail, sizeof(check_fail));
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "send upg check fail, result = %d\r\n", res);
- free(dst_ver);
- dst_ver = NULL;
- return ret;
- }
-
- free(dst_ver);
- dst_ver = NULL;
- res = msg_center_send_data(cmd_id, MSGCENTER_TYPE_ID_OTA_UPG_CHECK_RESULT, &check_succ, sizeof(check_succ));
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "send upg check succ, result = %d\r\n", res);
-
- return ERRCODE_SUCC;
-}
-
-errcode_t msg_center_ota_rec_upg_check_result(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)
-{
- uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);
- uint16_t payload_len = usr_len - tl_len;
- uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);
- errcode_t ret = ERRCODE_SUCC;
- uint8_t upg_check_result = *tlv_payload;
-
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "upg_check_result = %d\r\n", upg_check_result);
- if (upg_check_result) {
- msg_center_ota_upgrade_start();
- } else {
-#ifdef SUPPORT_AUTO_OTA
- (void)osSemaphoreRelease(g_auto_ota_transmit_done_sem);
-#endif
- }
-
- return ERRCODE_SUCC;
-}
-
-#ifdef __cplusplus
-}
-#endif
\ No newline at end of file
#include "baidumap_msg_center.h"
#include "baidumap.h"
#include "soc_osal.h"
-#include "watchdog.h"
#ifdef __cplusplus
extern "C" {
fseek(fp, 0L, SEEK_SET);
if (fread(file_content, file_len, 1, fp) != 1) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "%s: fread fail, file_len = %d.\r\n", vector_navi_get_str(type), file_len);
- free(file_content);
- file_content = nullptr;
return;
}
fclose(fp);
}
display_api->set_screen_set_keepon_timeout(600000); // 600000ms
#endif
- uapi_watchdog_kick();
char *data = (char *)malloc(payload_len + 1);
if (data == nullptr) {
#define COMBINE_FILE_PATH "/user/test/ssb_c.bin"\r
#endif\r
\r
-#ifdef SUPPORT_AUTO_OTA\r
-extern uint8_t g_auto_ota_upload_mode;\r
-#ifndef ONE_ADDR_LEN\r
-#define ONE_ADDR_LEN 2\r
-#endif\r
-#ifndef ADDR_MAC_LEN\r
-#define ADDR_MAC_LEN 6\r
-#endif\r
-#endif\r
-\r
const uint8_t g_decrypt_aes_salt[AES_SALT_LENGTH] = { 0x0 };\r
const uint8_t g_decrypt_aes_iv[AES_IV_LENGTH] = { 0x0 };\r
// The length of the GID must be 32 bytes and cannot be changed.\r
}\r
#endif\r
\r
-#ifdef JS_ENABLE\r
-static uint32_t mcu_get_trans_channel_test(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(para_len);\r
- unused(para);\r
- msg_center_get_trans_channel();\r
-\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-static uint32_t mcu_set_trans_channel_test(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(para_len);\r
- char *ptr = (char *)para;\r
- uint32_t select = strtoul(ptr, NULL, 10); /* 10进制 */\r
- msg_center_set_trans_channel(select);\r
-\r
- return ERRCODE_SUCC;\r
-}\r
-#endif\r
-\r
-#ifdef SUPPORT_AUTO_OTA\r
-static uint32_t mcu_auto_ota_block(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(para_len);\r
- unused(para);\r
- g_auto_ota_upload_mode = 1;// 阻塞等待升级包上传\r
- wstp_print("auto_ota block!\r\n");\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-static uint32_t mcu_auto_ota_run(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(para_len);\r
- unused(para);\r
- g_auto_ota_upload_mode = 0; // 升级包上传完成后auto_ota继续执行\r
- wstp_print("auto_ota run!\r\n");\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-static uint32_t mcu_auto_ota_del_mac(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(para_len);\r
- wstp_print("para = %s\r\n", para);\r
- uint8_t addr[ADDR_MAC_LEN] = {0};\r
- char tmp[ONE_ADDR_LEN + 1] = {0};\r
- char *p = (char *)para;\r
-\r
- for (uint8_t i = 0; i < ADDR_MAC_LEN; i++) {\r
- memcpy_s(tmp, ONE_ADDR_LEN + 1, p, ONE_ADDR_LEN);\r
- tmp[ONE_ADDR_LEN] = '\0';\r
- addr[i] = strtol(tmp, NULL, 16); // 16进制\r
- p = p + ONE_ADDR_LEN;\r
- }\r
-\r
- wstp_print("mcu_auto_ota_del_mac, mac = %02x%02x%02x%02x%02x%02x\r\n", addr[5], addr[4], addr[3], addr[2], addr[1],\r
- addr[0]);\r
- bool res = auto_ota_dev_del(addr);\r
- wstp_print("auto_ota_dev_del, res = %d\r\n", res);\r
-\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-static uint32_t mcu_auto_ota_add_mac(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(para_len);\r
- wstp_print("enter mcu_auto_ota_add_mac\r\n");\r
- wstp_print("para = %s\r\n", para);\r
- uint8_t addr[ADDR_MAC_LEN] = {0};\r
- char tmp[ONE_ADDR_LEN + 1] = {0};\r
- char *p = (char *)para;\r
-\r
- for (uint8_t i = 0; i < ADDR_MAC_LEN; i++) {\r
- memcpy_s(tmp, ONE_ADDR_LEN + 1, p, ONE_ADDR_LEN);\r
- tmp[ONE_ADDR_LEN] = '\0';\r
- addr[i] = strtol(tmp, NULL, 16); // 16进制\r
- p = p + ONE_ADDR_LEN;\r
- }\r
-\r
- wstp_print("mcu_auto_ota_add_mac, mac = %02x%02x%02x%02x%02x%02x\r\n", addr[5], addr[4], addr[3], addr[2], addr[1],\r
- addr[0]);\r
- auto_ota_dev_add(addr);\r
-\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-static uint32_t mcu_auto_ota_show_mac(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(para_len);\r
- unused(para);\r
- wstp_print("enter mcu_auto_ota_show_mac\r\n");\r
-\r
- auto_ota_dev_show();\r
-\r
- return ERRCODE_SUCC;\r
-}\r
-#endif\r
-\r
static const app_process_table g_app_funcs[] = {\r
{ RESET, mcu_os_sys_reset },\r
{ FSTEST, mcu_fs_test },\r
#ifdef SUPPORT_FILE_SPLIT_COMBINE\r
{ FILESPLIT, mcu_file_spilt_test },\r
{ FILECOMBINE, mcu_file_combine_test },\r
-#endif\r
-#ifdef JS_ENABLE\r
- { GETTRANSCHAN, mcu_get_trans_channel_test },\r
- { SETTRANSCHAN, mcu_set_trans_channel_test },\r
-#endif\r
-#ifdef SUPPORT_AUTO_OTA\r
- { AUTOOTABLOCK, mcu_auto_ota_block },\r
- { AUTOOTARUN, mcu_auto_ota_run },\r
- { AUTOOTADELMAC, mcu_auto_ota_del_mac },\r
- { AUTOOTAADDMAC, mcu_auto_ota_add_mac },\r
- { AUTOOTASHOWMAC, mcu_auto_ota_show_mac },\r
#endif\r
{ CAT1PWRON, cat1_power_on},\r
{ CAT1RESET, cat1_reset},\r
}\r
#endif\r
\r
-#ifdef JS_ENABLE\r
-static uint32_t app_get_trans_channel_test(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(str_cmd);\r
- if (para == NULL) {\r
- return ERRCODE_FAIL;\r
- }\r
- app_pkg_msg_send(GETTRANSCHAN, DIAG_CONTROL_FALSE, para, para_len);\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-static uint32_t app_set_trans_channel_test(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(str_cmd);\r
- if (para == NULL) {\r
- return ERRCODE_FAIL;\r
- }\r
- app_pkg_msg_send(SETTRANSCHAN, DIAG_CONTROL_FALSE, para, para_len);\r
- return ERRCODE_SUCC;\r
-}\r
-#endif\r
-\r
-#ifdef SUPPORT_AUTO_OTA\r
-static uint32_t app_auto_ota_block(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(str_cmd);\r
- if (para == NULL) {\r
- return ERRCODE_FAIL;\r
- }\r
- app_pkg_msg_send(AUTOOTABLOCK, DIAG_CONTROL_FALSE, para, para_len);\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-static uint32_t app_auto_ota_run(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(str_cmd);\r
- if (para == NULL) {\r
- return ERRCODE_FAIL;\r
- }\r
- app_pkg_msg_send(AUTOOTARUN, DIAG_CONTROL_FALSE, para, para_len);\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-static uint32_t app_auto_ota_del_mac(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(str_cmd);\r
- if (para == NULL) {\r
- return ERRCODE_FAIL;\r
- }\r
- app_pkg_msg_send(AUTOOTADELMAC, DIAG_CONTROL_FALSE, para, para_len);\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-static uint32_t app_auto_ota_add_mac(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(str_cmd);\r
- if (para == NULL) {\r
- return ERRCODE_FAIL;\r
- }\r
- app_pkg_msg_send(AUTOOTAADDMAC, DIAG_CONTROL_FALSE, para, para_len);\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-static uint32_t app_auto_ota_show_mac(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
- unused(str_cmd);\r
- if (para == NULL) {\r
- return ERRCODE_FAIL;\r
- }\r
- app_pkg_msg_send(AUTOOTASHOWMAC, DIAG_CONTROL_FALSE, para, para_len);\r
- return ERRCODE_SUCC;\r
-}\r
-#endif\r
-\r
static const at_cmd_table_t g_app_cmd[] = {\r
/* 无参数无特殊处理AT命令 */\r
{ "AT^HEAPINFO", parse_heap_info_handle, "" },\r
#ifdef SUPPORT_FILE_SPLIT_COMBINE\r
{ "AT^FILESPLIT", app_file_split_test, "" }, /* 注意,执行此操作前提是传入待分隔文件 */\r
{ "AT^FILECOMBINE", app_file_combine_test, "" },\r
-#endif\r
-#ifdef JS_ENABLE\r
- { "AT^GETTRANSCHAN", app_get_trans_channel_test, "" },\r
- { "AT^SETTRANSCHAN", app_set_trans_channel_test, "" },\r
-#endif\r
-#ifdef SUPPORT_AUTO_OTA\r
- { "AT^AUTOOTABLOCK", app_auto_ota_block, "" },\r
- { "AT^AUTOOTARUN", app_auto_ota_run, "" },\r
- { "AT^AUTOOTADELMAC", app_auto_ota_del_mac, "" },\r
- { "AT^AUTOOTAADDMAC", app_auto_ota_add_mac, "" },\r
- { "AT^AUTOOTASHOWMAC", app_auto_ota_show_mac, "" },\r
#endif\r
{ "AT^CAT1PWRON", app_cat1pwron, "" },\r
{ "AT^CAT1RESET", app_cat1reset, ""},\r
ALIPAYVERIFY = 0x4A,\r
ALIPAYRESET = 0x4B,\r
FORCEDEEPSLEEP = 0x4C,\r
- GETTRANSCHAN = 0x4D,\r
- SETTRANSCHAN = 0x4E,\r
- AUTOOTABLOCK = 0x4F,\r
- AUTOOTARUN = 0x50,\r
- AUTOOTADELMAC = 0x51,\r
- AUTOOTAADDMAC = 0x52,\r
- AUTOOTASHOWMAC = 0x53,\r
- ADCMANUDATA = 0x54,\r
- CAT1PWRON = 0x55,\r
- CAT1RESET = 0x56,\r
+ ADCMANUDATA = 0x4D,\r
+ CAT1PWRON = 0x4E,\r
+ CAT1RESET = 0x4F,\r
\r
MSG_ID_MAX_BUTT,\r
} app_msg_id;\r
#include "clocks_switch_priv.h"
#include "main.h"
#include "hal_uart_v120_regs_op.h"
-#include "hal_pmu_vdd.h"
#ifdef CFG_DRIVERS_NANDFLASH
#include "nandflash_config.h"
#endif
-#define CFG_PMU_PROTECT_WDT_RESET 1
-
#define FLASH_INIT_DATA 0xff
#define FLASH_CHECK_LEN 16
#define FLASH_FIRST_PAGE 0
extern uint32_t __rtt_bss_start;
#endif
-#if CFG_PMU_PROTECT_WDT_RESET == 1
-void software_delay_us(uint32_t delay)
-{
-#define SOFT_DELAY_COUNT 40
- volatile uint32_t val = delay;
- volatile uint32_t count;
-
- while (--val > 0) {
- count = SOFT_DELAY_COUNT;
- while (count-- > 0) {
- ;
- }
- }
-}
-
-static void clear_wdt_reset_cause(void)
-{
- for (uint16_t i = 0; i < UINT16_MAX; i++) {
- writew(0x57004304, 0x1);
- if (reg16_getbit(0x57004300, 0) == 0) {
- break;
- }
- }
-}
-
-static void pmu_protect_config_and_reset(bool rom_codeloadered)
-{
- // codeloader
- if (rom_codeloadered == true) {
- writew(0x5702c010, 0x0);
- return;
- }
-
- // wdt reset
- if (reg16_getbit(0x57004300, 0) == 1) {
- if (readw(0x5702c010) == 0x5a00) {
- clear_wdt_reset_cause();
- writew(0x5702c010, 0x0);
- }
- return;
- }
-
- if (readw(0x5702c010) == 0x5a00) {
- writew(0x5702c010, 0x0);
- return;
- }
-
- PRINT("first reset, 0x%x \r\n", readw(0x5702c010));
-
- writew(0x5702c010, 0x5a00);
- uapi_tcxo_delay_ms(10ULL);
-
- writew(0x52000700, 0x0); // disable nmi int
- watchdog_turnon_clk();
- uapi_watchdog_init(CHIP_WDT_TIMEOUT_2S);
- uapi_watchdog_enable(WDT_MODE_RESET);
-
- pmu_vdd0p8_power_vset(HAL_PMU_VDD0P8_1P0_1P100V);
- writew(0x57028104, 0xF);
- writew(0x57028184, 0x1);
-
- hal_pmu_intldo1_set_voltage(HAL_PMU_INTLDO1_LEVEL_1P92V);
-
- writew(0x5700412c, 0x1e); // set short_pd and softtime_adj
- writew(0x57004138, 0x1e);
-
- // DBB CCRG 16M
- writew(0x5500060c, 0x103); // cpu 8 div
- writew(0x5500060c, 0x113);
- writew(0x55000614, 0x13); // perp ls 16M
- writew(0x55000618, 0x13); // perp uart 16M
- writew(0x5500061c, 0x13); // perp spi 16M
- writew(0x55000620, 0x13); // combus ch0 16M
- writew(0x55000624, 0x13); // combus ch0 16M
- writew(0x5500062c, 0x13); // membus 16M
- writew(0x55000630, 0x13); // xip opi 16M
- writew(0x55000634, 0x13); // xip qspi 16M
- hal_clocks_set_aon_bus_div(4); // aon bus 8M
-
- writew(0x57004130, 0x1822); // 1.9->2.0v
- reg16_setbit(0x57004124, POS_14); // vo_det 0->1
- writew(0x57004108, 0x14C0); // detect threshodd 1.85->1.7v
- uapi_tcxo_delay_ms(100UL);
-
- // 32k -> 1M 2s -> 64ms
- writew(0x57000060, 0x1820);
- writew(0x57000064, 0x601);
- writew(0x57000068, 0x1601);
-
- writew(0x57004110, 0x3);
- software_delay_us(5UL);
- writew(0x57004110, 0x7);
-
- // wait wdt reset
- while (1) {
- }
-}
-#endif
-
void main(void)
{
errno_t ret = 0;
uapi_systick_init();
watchdog_init();
hal_xip_init();
-
+ hw_init();
#ifdef SW_UART_DEBUG
sw_debug_uart_init(UART_L_BAUDRATE);
PRINT("SSb Debug uart init succ\r\n");
#endif
-
-#if CFG_PMU_PROTECT_WDT_RESET == 1
- pmu_protect_config_and_reset(rom_codeloadered);
-#endif
- hw_init();
uapi_ulp_systick_self_verification();
show_reboot_info();
'x_dpal', 'x_vfs', 'x_disk', 'x_fat', 'drv_mmc','fs_yaffs2', 'x_vfs_private',
'pm_service', 'pm_brandy', 'cmn_header', 'at_cmd', 'graphic_at_service', 'app_at_service',
'audio_at_service', 'media_at_service', 'bt_manager_at_service',
- "audio_proc", "audio_dump", "audio_probe", "gpu_proc", 'bts_header'],
+ "audio_proc", "audio_dump", "audio_probe", "gpu_proc"],
'ram_component_set': ['bgh', 'media_mini', 'gpu', 'graphic_lvgl_mini', 'dfx_set'],
'image_analysis': True,
'dsp_version': 'mini',
'ram_component': ["algorithm", "dfx_port_brandy", "dfx_update", 'dfx_nv', "osal", "arch_port", "-:testsuite",
"liteos_port", 'lcd', 'qspi_display', 'dfx_file_operation',
'psram', 'hal_mipi', 'mipi_tx', 'non_os', 'touch',
- 'ulp_aon', 'hal_l2ram', 'bt_manager_at_service',
+ 'ulp_aon', 'hal_l2ram',
'x_dpal', 'x_vfs', 'x_disk', 'x_fat', 'drv_mmc', 'fs_yaffs2', 'x_vfs_private',
'pm_service', 'pm_brandy', 'cmn_header','at_cmd', 'graphic_at_service', 'app_at_service', 'ohosfwk_at_service',
"audio_proc", "audio_dump", "audio_probe", "power_manager", "gpu_proc", 'bts_header',
<REQ STRUCTURE="audio_vqe_param_struct" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="audio_vqe_param_struct" TYPE="Auto" RESULT_CODE="" />
</CMD>
- <CMD ID="0x2f05" NAME="audio_aef_3a_save" DESCRIPTION="" PLUGIN="0x100,0x102(2),0x259" TYPE="REQ_IND">
- <REQ STRUCTURE="audio_vqe_param_struct" TYPE="Auto" PARAM_VALUE="" />
- <IND STRUCTURE="audio_vqe_param_struct" TYPE="Auto" RESULT_CODE="" />
- </CMD>
<CMD ID="0x2505" NAME="audio_aef_sws" DESCRIPTION="" PLUGIN="0x100,0x102(2),0x259" TYPE="REQ_IND">
<REQ STRUCTURE="audio_sws_mobile_para" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="audio_sws_mobile_para" TYPE="Auto" RESULT_CODE="" />
'efuse_v120': ['efuse', 'hal_efuse_v120', 'efuse_porting'],
'efuse_v100': ['efuse', 'hal_efuse_v100', 'efuse_porting'],
'efuse_v130': ['efuse', 'hal_efuse_v130', 'efuse_port'],
- 'ohos_set' : ['bootstrap', 'samgr', 'ams', 'bms', 'bms_sign_mode', 'ace', 'ace_adapt', 'permission', 'appverify', 'jerryscript','js_player', 'js_audio_capturer', 'i18n',
+ 'ohos_set' : ['bootstrap', 'samgr', 'ams', 'bms', 'bms_sign_mode', 'ace', 'ace_adapt', 'permission', 'appverify', 'jerryscript','js_player', 'js_audio_captuer', 'i18n',
'resmgr', 'syspara', 'utils_kv_store', 'native_file', 'storage_jsapi', 'brightness'],
'wearable_set' : ['nativeabilityfwk', 'ai_voice_service', 'ai_voice_engine_hal', 'ai_voice_audio_stream_wrapper', 'ohos_deps',
'broadcast', 'msg_center', 'msg_center_adapt', 'ohos_startup'],
PSRAM_HEAP : ORIGIN = PSRAM_HEAP_ADDR, LENGTH = PSRAM_HEAP_LENGTH
L2M_GPU_PROGRAM : ORIGIN = L2M_GPU_RAM_SHARE_MCU_ORIGIN, LENGTH = L2M_GPU_RAM_MCU_SHARE_LENGTH
-#ifndef CONFIG_PSRAM_SUPPORT
L2M_DSP_PROGRAM : ORIGIN = L2M_DSP_RAM_RESERVED_ORIGIN, LENGTH = L2M_DSP_RAM_RESERVED_LENGTH + L2M_DSP_RAM_MCU_SHARE_LENGTH + L2M_DSP_RAM_DSP_SHARE_LENGTH
-#endif
+
ITCM : ORIGIN = APP_ITCM_ORIGIN + APP_VECTORS_LENGTH, LENGTH = APP_ITCM_LENGTH - APP_VECTORS_LENGTH
DTCM : ORIGIN = APP_RAM_ORIGIN, LENGTH = APP_RAM_LENGTH
__l2m_gpu_data_end = .;
} > L2M_GPU_PROGRAM AT > FLASH_PROGRAM
__l2m_gpu_data_size = __l2m_gpu_data_end - __l2m_gpu_data_start;
-#ifndef CONFIG_PSRAM_SUPPORT
#if DSP_L2RAM_AREA_SIZE > 0
.l2m_dsp_text :
{
} > L2M_DSP_PROGRAM AT > FLASH_PROGRAM
__l2m_dsp_data_size = __l2m_dsp_data_end - __l2m_dsp_data_start;
#endif
-#endif
+}
+
+SECTIONS
+{
+ .flash_text :
+ {
+ . = ALIGN(8);
+ /* open_source */
+ *open_source/sdio*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+
+ *utils/sec_boot*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *utils/dfx/dfx_reboot/cpu_utils/libcpu_utils*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *utils/dfx/libdfx_panic*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *utils/dfx/libdfx_log*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *utils/dfx/libdfx*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *common/testsuite*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *utils/algorithm*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *utils/partition/libpartition*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *open_source/lzma/liblzma*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *libhal_uart*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *driver/uart/uart_cmsis/libuart_cmsis*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *drivers/chips/brandy/libbrandy_pmu*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ . = ALIGN(8);
+ } > FLASH_PROGRAM
+
+ .flash_data :
+ {
+ . = ALIGN(8);
+ KEEP(*( SORT (.liteos.table.*)))
+ . = ALIGN(8);
+ } > FLASH_PROGRAM
}
SECTIONS
__ramtext_begin__ = .;
KEEP (*(.flash_version))
+
+ /* Drivers */
+
/* middleware/utils */
*utils/connectivity*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
*utils/lib_utils*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
*utils/cpu_utils*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
*utils/cpu_load*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
*utils/preserve*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
- *utils/sec_boot*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
- *utils/dfx*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
- *utils/algorithm*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
- *utils/partition/libpartition*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
- *utils/update*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
-
- /* middleware/chips */
- *middleware/chips/brandy*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
/* Kernel */
*kernel/osal*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
- *kernel/dpal*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
- *kernel/non_os*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
- /* Drivers */
*libhal*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
*driver/uart*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
*driver/eflash*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
*driver*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
*drivers/boards*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
*drivers/chips*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
-
+ *kernel/non_os*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
/* platfrom */
*application/brandy*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
SORT(*libriscv.a:*.o*) (*.text *.text* .rodata .rodata* .srodata .srodata*)
#endif
- /* open_source */
- *open_source/sdio*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
- *liblzma*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
-
- SORT(*libc.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*libcmsis.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*libcsysdeps.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*libdriverbase.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*libinit.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*libinterrupt.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*liblinux.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*libm.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*libposix.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*libsec.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*libtargets.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ *libsec.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *libposix.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *libcsysdeps.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*libsegger*.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*libgfx_rm.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
- SORT(*libclang_rt.builtins-riscv32.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ *utils/update*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
+ *middleware/chips/brandy/update*.a:*.o* (.text .text* .rodata .rodata* .srodata .srodata*)
KEEP (*(.gdb_debug))
. = ALIGN(8);
/* TODO: add close component code here begin */
/* new liteos libs config */
+ SORT(*libc.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ SORT(*libcmsis.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ SORT(*libcsysdeps.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ SORT(*libdriverbase.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ SORT(*libinit.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ SORT(*libinterrupt.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ SORT(*liblinux.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ SORT(*libm.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ SORT(*libposix.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ SORT(*libsec:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ SORT(*libtargets.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+
+ SORT(*libsegger*.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ SORT(*libgfx_rm.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
+ SORT(*libclang_rt.builtins-riscv32.a:*.o*) (.text .text* .rodata .rodata* .srodata .srodata*)
*(.ramtext)
*(.text)
*(.text*)
void dma_port_add_sleep_veto(void)
{
+ uapi_pm_add_sleep_veto(PM_ID_DMA);
return;
}
void dma_port_remove_sleep_veto(void)
{
+ uapi_pm_remove_sleep_veto(PM_ID_DMA);
return;
}
#define I2C_3_SCL_PIN S_MGPIO17
#define I2C_3_SDA_PIN S_MGPIO18
-#define I2C_DMA_TIMEOUT_MS 100
-
typedef struct {
volatile uint32_t con; /*!< I2c control register. <i>Offset: 00h</i>. */
volatile uint32_t tar; /*!< I2c target address register. <i>Offset: 04h</i>. */
}
*crc_fail += 1;
}
-
-td_void probe_add_msg_int_fail(audio_core_id core_id)
-{
- volatile td_u32 *msg_int_fail = TD_NULL;
-
- if (g_probe_ctx == TD_NULL) {
- return;
- }
-
- if (core_id == AUDIO_CORE_DSP0) {
- msg_int_fail = &(g_probe_ctx->core_status[DSP_CORE0].msg_int_fail);
- } else {
- msg_int_fail = &(g_probe_ctx->core_status[DSP_CORE1].msg_int_fail);
- }
- *msg_int_fail += 1;
-}
-
-td_void probe_add_msg_int_retrigger(audio_core_id core_id)
-{
- volatile td_u32 *msg_int_retrigger = TD_NULL;
-
- if (g_probe_ctx == TD_NULL) {
- return;
- }
-
- if (core_id == AUDIO_CORE_DSP0) {
- msg_int_retrigger = &(g_probe_ctx->core_status[DSP_CORE0].msg_int_retrigger);
- } else {
- msg_int_retrigger = &(g_probe_ctx->core_status[DSP_CORE1].msg_int_retrigger);
- }
- *msg_int_retrigger += 1;
-}
td_void probe_add_msg_underflow(audio_core_id core_id);
td_void probe_add_msg_crc_fail(audio_core_id core_id);
-td_void probe_add_msg_int_fail(audio_core_id core_id);
-td_void probe_add_msg_int_retrigger(audio_core_id core_id);
-
#endif
param = (sap_ao_open *)arg;
attr = ¶m->attr;
+ ret = drv_ao_load_aef();
+ if (ret != AUDIO_SUCCESS) {
+ sap_err_log_fun(drv_ao_load_aef, ret);
+ return ret;
+ }
+
ret = drv_msg_ao_open(&ao_handle, param->snd_id, attr);
if (ret != AUDIO_SUCCESS) {
sap_err_log_fun(drv_msg_ao_open, ret);
}
#endif
- ret = drv_ao_load_aef();
- if (ret != AUDIO_SUCCESS) {
- sap_err_log_fun(drv_ao_load_aef, ret);
- return ret;
- }
-
audio_unused(cmd);
audio_unused(file);
return AUDIO_SUCCESS;
td_u32 msg_ack_timeout;
td_u32 msg_underflow;
td_u32 msg_crc_fail;
-
- /* msg int status */
- td_u32 msg_int_fail;
- td_u32 msg_int_retrigger;
} probe_status_info;
typedef struct {
#if defined(CONFIG_I2C_SUPPORT_DMA) && (CONFIG_I2C_SUPPORT_DMA == 1)
#include "dma.h"
#include "hal_dma.h"
-#include "pm_definition.h"
-#include "pm_veto.h"
#endif /* CONFIG_I2C_SUPPORT_DMA */
#include "i2c_porting.h"
/* if the lenth is 0 here, send stop byte straightforward */
if (buffer_wrap.len != 0) {
- uapi_pm_add_sleep_veto(PM_ID_I2C_DMA);
ret = i2c_transmit_dma(bus, &buffer_wrap);
if (ret != ERRCODE_SUCC) {
- uapi_pm_remove_sleep_veto(PM_ID_I2C_DMA);
return ret;
}
/* wait for trans */
- if (osal_sem_down_timeout(&(g_dma_trans[bus].dma_sem), I2C_DMA_TIMEOUT_MS) != OSAL_SUCCESS) {
- uapi_dma_end_transfer(g_dma_trans[bus].write_channel - 1);
- uapi_pm_remove_sleep_veto(PM_ID_I2C_DMA);
+ if (osal_sem_down(&(g_dma_trans[bus].dma_sem)) != OSAL_SUCCESS) {
g_dma_trans[bus].write_channel = 0;
return ERRCODE_I2C_DMA_TRANSFER_ERROR;
}
- uapi_pm_remove_sleep_veto(PM_ID_I2C_DMA);
g_dma_trans[bus].write_channel = 0;
if (!g_dma_trans[bus].trans_succ) {
return ERRCODE_I2C_DMA_TRANSFER_ERROR;
/* 从模式在这里接收信号量,主模式在发送读命令之后接收信号量 */
if (!i2c_ctrl->master_flag) {
- if (osal_sem_down_timeout(&(g_dma_trans[bus].dma_sem), I2C_DMA_TIMEOUT_MS) != OSAL_SUCCESS) {
- uapi_dma_end_transfer(g_dma_trans[bus].write_channel - 1);
+ if (osal_sem_down(&(g_dma_trans[bus].dma_sem)) != OSAL_SUCCESS) {
g_dma_trans[bus].write_channel = 0;
return ERRCODE_I2C_DMA_TRANSFER_ERROR;
}
}
/* 发送len - 1个命令的dma中断 */
- if (osal_sem_down_timeout(&(g_dma_trans[bus].dma_sem), I2C_DMA_TIMEOUT_MS) != OSAL_SUCCESS) {
- uapi_dma_end_transfer(g_dma_trans[bus].write_channel - 1);
- uapi_dma_end_transfer(g_dma_trans[bus].read_channel - 1);
+ if (osal_sem_down(&(g_dma_trans[bus].dma_sem)) != OSAL_SUCCESS) {
g_dma_trans[bus].write_channel = 0;
g_dma_trans[bus].read_channel = 0;
return ERRCODE_I2C_DMA_TRANSFER_ERROR;
buffer_wrap.len = 1;
hal_funcs->ctrl(bus, I2C_CTRL_FLUSH_RX_FIFO, (uintptr_t)&buffer_wrap);
/* 等待接收数据的dma中断释放信号量 */
- if (osal_sem_down_timeout(&(g_dma_trans[bus].dma_sem), I2C_DMA_TIMEOUT_MS) != OSAL_SUCCESS) {
- uapi_dma_end_transfer(g_dma_trans[bus].read_channel - 1);
+ if (osal_sem_down(&(g_dma_trans[bus].dma_sem)) != OSAL_SUCCESS) {
g_dma_trans[bus].read_channel = 0;
(void)hal_funcs->ctrl(bus, I2C_CTRL_READ_RESTORE, (uintptr_t)NULL);
return ERRCODE_I2C_DMA_TRANSFER_ERROR;
#if defined(CONFIG_I2C_SUPPORT_POLL_AND_DMA_AUTO_SWITCH) && (CONFIG_I2C_SUPPORT_POLL_AND_DMA_AUTO_SWITCH == 1)
if (buffer_wrap.len > CONFIG_I2C_POLL_AND_DMA_AUTO_SWITCH_THRESHOLD) {
uapi_i2c_set_dma_mode(bus, true);
- uapi_pm_add_sleep_veto(PM_ID_I2C_DMA);
errcode_t ret = i2c_read_by_dma(bus, dev_addr, &buffer_wrap);
if (ret != ERRCODE_SUCC) {
- uapi_pm_remove_sleep_veto(PM_ID_I2C_DMA);
i2c_mutex_unlock(bus);
return ret;
}
ret = i2c_read_do_send_cmd(bus, &buffer_wrap);
- uapi_pm_remove_sleep_veto(PM_ID_I2C_DMA);
i2c_mutex_unlock(bus);
return ret;
}
uapi_i2c_set_dma_mode(bus, false);
#else
if (g_i2c_ctrl[bus].operate_type == I2C_DATA_OPERATION_TYPE_DMA) {
- uapi_pm_add_sleep_veto(PM_ID_I2C_DMA);
errcode_t ret = i2c_read_by_dma(bus, dev_addr, &buffer_wrap);
if (ret != ERRCODE_SUCC) {
- uapi_pm_remove_sleep_veto(PM_ID_I2C_DMA);
i2c_mutex_unlock(bus);
return ret;
}
ret = i2c_read_do_send_cmd(bus, &buffer_wrap);
- uapi_pm_remove_sleep_veto(PM_ID_I2C_DMA);
i2c_mutex_unlock(bus);
return ret;
}
#if defined(CONFIG_I2C_SUPPORT_POLL_AND_DMA_AUTO_SWITCH) && (CONFIG_I2C_SUPPORT_POLL_AND_DMA_AUTO_SWITCH == 1)
if (buffer_wrap.len > CONFIG_I2C_POLL_AND_DMA_AUTO_SWITCH_THRESHOLD) {
uapi_i2c_set_dma_mode(bus, true);
- uapi_pm_add_sleep_veto(PM_ID_I2C_DMA);
ret = i2c_read_by_dma(bus, I2C_DEFAULT_DEV_ADDRESS, &buffer_wrap);
- uapi_pm_remove_sleep_veto(PM_ID_I2C_DMA);
i2c_mutex_unlock(bus);
return ret;
}
uapi_i2c_set_dma_mode(bus, false);
#else
if (g_i2c_ctrl[bus].operate_type == I2C_DATA_OPERATION_TYPE_DMA) {
- uapi_pm_add_sleep_veto(PM_ID_I2C_DMA);
ret = i2c_read_by_dma(bus, I2C_DEFAULT_DEV_ADDRESS, &buffer_wrap);
- uapi_pm_remove_sleep_veto(PM_ID_I2C_DMA);
i2c_mutex_unlock(bus);
return ret;
}
#include "dma.h"
#include "hal_dma.h"
#include "securec.h"
-#include "pm_definition.h"
-#include "pm_veto.h"
#define DMA_SPI_TRANSFER_WIDTH_WORD 4
#define DMA_SPI_TRANSFER_WIDTH_HALF_WORD 2
g_dma_trans_tx[bus].channel = channel + 1;
g_dma_trans_tx[bus].trans_succ = false;
- uapi_pm_add_sleep_veto(PM_ID_SPI_DMA);
if (uapi_dma_start_transfer(channel) != ERRCODE_SUCC) {
- uapi_pm_remove_sleep_veto(PM_ID_SPI_DMA);
g_dma_trans_tx[bus].channel = 0;
return ERRCODE_SPI_DMA_CONFIG_ERROR;
}
if (osal_sem_down_timeout(&(g_dma_trans_tx[bus].dma_sem), timeout) != OSAL_SUCCESS) {
- uapi_dma_end_transfer(channel);
- uapi_pm_remove_sleep_veto(PM_ID_SPI_DMA);
g_dma_trans_tx[bus].channel = 0;
return ERRCODE_SPI_DMA_TRANSFER_ERROR;
}
- uapi_pm_remove_sleep_veto(PM_ID_SPI_DMA);
g_dma_trans_tx[bus].channel = 0;
if (!g_dma_trans_tx[bus].trans_succ) {
transfer_config->src = data_addr;
}
-static errcode_t spi_read_dma(spi_bus_t bus, const spi_xfer_data_t *data, uint32_t timeout)
+static errcode_t spi_read_dma(spi_bus_t bus, const spi_xfer_data_t *data)
{
dma_ch_user_peripheral_config_t transfer_config = { 0 };
uint8_t channel = DMA_CHANNEL_NONE;
g_dma_trans_rx[bus].channel = channel + 1;
g_dma_trans_rx[bus].trans_succ = false;
- uapi_pm_add_sleep_veto(PM_ID_SPI_DMA);
if (uapi_dma_start_transfer(channel) != ERRCODE_SUCC) {
- uapi_pm_remove_sleep_veto(PM_ID_SPI_DMA);
g_dma_trans_rx[bus].channel = 0;
return ERRCODE_SPI_DMA_CONFIG_ERROR;
}
- if (osal_sem_down_timeout(&(g_dma_trans_rx[bus].dma_sem), timeout) != OSAL_SUCCESS) {
- uapi_dma_end_transfer(channel);
- uapi_pm_remove_sleep_veto(PM_ID_SPI_DMA);
+ if (osal_sem_down(&(g_dma_trans_rx[bus].dma_sem)) != OSAL_SUCCESS) {
g_dma_trans_rx[bus].channel = 0;
return ERRCODE_SPI_DMA_TRANSFER_ERROR;
}
- uapi_pm_remove_sleep_veto(PM_ID_SPI_DMA);
g_dma_trans_rx[bus].channel = 0;
if (!g_dma_trans_rx[bus].trans_succ) {
uapi_dma_end_transfer(channel_tx);
}
-static errcode_t spi_writeread_dma(spi_bus_t bus, const spi_xfer_data_t *data, uint32_t timeout)
+static errcode_t spi_writeread_dma(spi_bus_t bus, const spi_xfer_data_t *data)
{
uint8_t channel_rx = 0;
uint8_t channel_tx = 0;
return ERRCODE_SPI_DMA_CONFIG_ERROR;
}
- uapi_pm_add_sleep_veto(PM_ID_SPI_DMA);
if (uapi_dma_start_transfer(channel_rx) != ERRCODE_SUCC) {
- uapi_pm_remove_sleep_veto(PM_ID_SPI_DMA);
g_dma_trans_rx[bus].channel = 0;
return ERRCODE_SPI_DMA_CONFIG_ERROR;
}
if (spi_write_dma_config(bus, &channel_tx, data) != ERRCODE_SUCC) {
uapi_dma_end_transfer(channel_rx);
- uapi_pm_remove_sleep_veto(PM_ID_SPI_DMA);
return ERRCODE_SPI_DMA_CONFIG_ERROR;
}
if (uapi_dma_start_transfer(channel_tx) != ERRCODE_SUCC) {
uapi_dma_end_transfer(channel_rx);
- uapi_pm_remove_sleep_veto(PM_ID_SPI_DMA);
g_dma_trans_tx[bus].channel = 0;
return ERRCODE_SPI_DMA_CONFIG_ERROR;
}
- if (osal_sem_down_timeout(&(g_dma_trans_tx[bus].dma_sem), timeout) != OSAL_SUCCESS) {
+ if (osal_sem_down(&(g_dma_trans_tx[bus].dma_sem)) != OSAL_SUCCESS) {
spi_writeread_dma_clear_trans(bus, channel_tx, channel_rx);
- uapi_pm_remove_sleep_veto(PM_ID_SPI_DMA);
return ERRCODE_SPI_DMA_TRANSFER_ERROR;
}
- if (osal_sem_down_timeout(&(g_dma_trans_rx[bus].dma_sem), timeout) != OSAL_SUCCESS) {
+ if (osal_sem_down(&(g_dma_trans_rx[bus].dma_sem)) != OSAL_SUCCESS) {
spi_writeread_dma_clear_trans(bus, channel_tx, channel_rx);
- uapi_pm_remove_sleep_veto(PM_ID_SPI_DMA);
return ERRCODE_SPI_DMA_TRANSFER_ERROR;
}
- uapi_pm_remove_sleep_veto(PM_ID_SPI_DMA);
g_dma_trans_tx[bus].channel = 0;
g_dma_trans_rx[bus].channel = 0;
if (spi_get_attr_tmod(bus) == HAL_SPI_TRANS_MODE_RX) {
return spi_read_by_writeread(bus, data, timeout);
}
- return spi_read_dma(bus, data, timeout);
+ return spi_read_dma(bus, data);
}
#endif /* NOT CONFIG_SPI_SUPPORT_POLL_AND_DMA_AUTO_SWITCH */
if (data->rx_bytes > CONFIG_SPI_AUTO_SWITCH_DMA_THRESHOLD ||
data->tx_bytes > CONFIG_SPI_AUTO_SWITCH_DMA_THRESHOLD) {
uapi_spi_set_dma_mode(bus, true, NULL);
- ret = spi_writeread_dma(bus, data, timeout_tmp);
+ ret = spi_writeread_dma(bus, data);
spi_mutex_unlock(bus);
return ret;
}
#else
#if defined(CONFIG_SPI_SUPPORT_DMA) && (CONFIG_SPI_SUPPORT_DMA == 1)
if (g_dma_trans_tx[bus].is_enable && g_dma_trans_rx[bus].is_enable) {
- ret = spi_writeread_dma(bus, data, timeout_tmp);
+ ret = spi_writeread_dma(bus, data);
spi_mutex_unlock(bus);
return ret;
}
#if defined(CONFIG_SPI_SUPPORT_POLL_AND_DMA_AUTO_SWITCH) && (CONFIG_SPI_SUPPORT_POLL_AND_DMA_AUTO_SWITCH == 1)
if (data->rx_bytes > CONFIG_SPI_AUTO_SWITCH_DMA_THRESHOLD) {
uapi_spi_set_dma_mode(bus, true, NULL);
- ret = spi_read_dma(bus, data, timeout_tmp);
+ ret = spi_read_dma(bus, data);
spi_mutex_unlock(bus);
return ret;
}
#else
#if defined(CONFIG_SPI_SUPPORT_DMA) && (CONFIG_SPI_SUPPORT_DMA == 1)
if (g_dma_trans_rx[bus].is_enable) {
- ret = spi_read_dma(bus, data, timeout_tmp);
+ ret = spi_read_dma(bus, data);
spi_mutex_unlock(bus);
return ret;
}
#if defined(CONFIG_UART_SUPPORT_DMA)
#include "dma_porting.h"
#include "dma.h"
-#include "pm_definition.h"
-#include "pm_veto.h"
#endif
/**
static uart_tx_state_t *g_uart_tx_state[UART_BUS_MAX_NUM];
#if defined(CONFIG_UART_SUPPORT_DMA)
-#define UART_DMA_TRANSFER_TIMEOUT_MS 1000
+#define DMA_UART_TRANSFER_TIMEOUT_MS 1000
#define UART_DMA_TRANS_MEMORY_TO_PERIPHERAL_DMA 1
#define UART_DMA_TRANS_PERIPHERAL_TO_MEMORY_DMA 2
#define UART_DMA_TRANSFER_DIR_MEM_TO_PERIPHERAL 0
g_dma_trans[bus].channel = dma_ch + 1;
g_dma_trans[bus].trans_succ = false;
- uapi_pm_add_sleep_veto(PM_ID_UART_DMA);
if (uapi_dma_start_transfer(dma_ch) != ERRCODE_SUCC) {
- uapi_pm_remove_sleep_veto(PM_ID_UART_DMA);
g_dma_trans[bus].channel = 0;
return UART_DMA_START_TRANSFER_FAIL;
}
- if (osal_sem_down_timeout(&(g_dma_trans[bus].dma_sem), UART_DMA_TRANSFER_TIMEOUT_MS) != OSAL_SUCCESS) {
- uapi_dma_end_transfer(dma_ch);
- uapi_pm_remove_sleep_veto(PM_ID_UART_DMA);
+ if (osal_sem_down_timeout(&(g_dma_trans[bus].dma_sem), DMA_UART_TRANSFER_TIMEOUT_MS) != OSAL_SUCCESS) {
g_dma_trans[bus].channel = 0;
return UART_DMA_TRANSFER_TIMEOUT;
}
- uapi_pm_remove_sleep_veto(PM_ID_UART_DMA);
g_dma_trans[bus].channel = 0;
if (!g_dma_trans[bus].trans_succ) {
g_dma_trans[bus].channel = dma_ch + 1;
g_dma_trans[bus].trans_succ = false;
- uapi_pm_add_sleep_veto(PM_ID_UART_DMA);
if (uapi_dma_start_transfer(dma_ch) != ERRCODE_SUCC) {
- uapi_pm_remove_sleep_veto(PM_ID_UART_DMA);
g_dma_trans[bus].channel = 0;
return -1;
}
- if (osal_sem_down_timeout(&(g_dma_trans[bus].dma_sem), UART_DMA_TRANSFER_TIMEOUT_MS) != OSAL_SUCCESS) {
- uapi_dma_end_transfer(dma_ch);
- uapi_pm_remove_sleep_veto(PM_ID_UART_DMA);
+ if (osal_sem_down(&(g_dma_trans[bus].dma_sem)) != OSAL_SUCCESS) {
g_dma_trans[bus].channel = 0;
return -1;
}
- uapi_pm_remove_sleep_veto(PM_ID_UART_DMA);
g_dma_trans[bus].channel = 0;
if (!g_dma_trans[bus].trans_succ) {
} else {
hal_dma_lli_free(ch);
uapi_reg_setbit(&tmp_dma_regs->dma_ch_en, (uint32_t)tmp_dma_ch + HAL_DMA_CH_EN_WE_OFFSET);
- g_hal_dma_channel[ch].state = HAL_DMA_CH_STATE_CLOSED;
}
}
gpio_ulp_int_en(false); // when soft reset, ulp area is not cleared.
#endif
// when bt at sleep, need wkup bt before soft reset
-#if !defined(BUILD_APPLICATION_SSB) && !defined(BUILD_RECOVERY_IMAGE)
+#if !defined(BUILD_APPLICATION_SSB)
uint16_t lock_cnt = 0;
uint16_t max_lock_cnt = HAL_REBOOT_WAIT_ACK_TRY_TIMES;
writew(PM_SLEEP_SOFT_RESET_FORCE_WKUP_REG, PM_SLEEP_SOFT_RESET_FORCE_WKUP_VAL);
static int sedentary_interval_count = 0;
-#ifdef FD230
static int cywee_switch = 1;
-#else
-static int cywee_switch = 0;
-#endif
int cm__hs1__init(void);
int cm__hs1__deinit(void);
/**
* @if Eng
- * @brief Enum of ble authentication result.
+ * @brief Enum of sle authentication result.
* @else
* @brief BLE认证结果。
* @endif
*/
errcode_t gap_ble_set_sec_param(gap_ble_sec_params_t *params);
-/**
- * @if Eng
- * @brief Use this funtion to set ctkd enable.
- * @par Use this funtion to set ctkd enable.
- * @attention NULL
- * @param [in] param ctkd enable, true:enable,false:disable
- * @retval errcode_t { @ref errcode_bt_t }
- * @par Dependency:
- * @li bts_def.h
- * @else
- * @brief 设置一键双连开关。
- * @par 设置一键双连开关。
- * @attention 无
- * @param [in] param 一键双连开关 true:打开 false:关闭
- * @retval 执行结果错误码。 { @ref errcode_bt_t }
- * @par 依赖:
- * @li bts_def.h
- * @endif
- */
-errcode_t gap_ble_set_ctkd_enable(bool ctkd_enable);
-
/**
* @if Eng
* @brief Use this funtion to read rssi of remote device.
typedef struct {
uint32_t bt_auto_reconnect_closed:1; /*!< @if Eng BT reconnect feature.
@else 蓝牙回连特性。 @endif */
- uint32_t bt_a2dp_snk_closed : 1; /*!< @if Eng BT A2DP SNK feature.
- @else 蓝牙A2DP SNK特性。 @endif */
- uint32_t reserved:30; /*!< @if Eng Featrues reserved for future.
+ uint32_t reserved:31; /*!< @if Eng Featrues reserved for future.
@else 保留字段。 @endif */
} bts_feature_t;
-<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="last_state: %d new_state: %d @a2dp_snk_service.c(69),INFO" ID="0xd80e022d" />
- <MSG STRUCTURE="diag_log_msg5" NAME="addr: ****%02x%02x%02x%02x conn_hdl: %x @a2dp_snk_service.c(92),INFO" ID="0xd80e02e5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="disconnect_ret(int): %d @a2dp_snk_service.c(98),INFO" ID="0xd80e0315" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @a2dp_snk_service.c(102),ERROR" ID="0xd80e0332" />
- <MSG STRUCTURE="diag_log_msg3" NAME="event: %x dev_hdl: %x conn_hdl: %x @a2dp_snk_service.c(121),INFO" ID="0xd80e03cd" />
- <MSG STRUCTURE="diag_log_msg3" NAME="rmt_hdl: %x seid: %x sc_len: %d sc: @a2dp_snk_service.c(132),INFO" ID="0xd80e0425" />
- <MSG STRUCTURE="diag_log_msg1" NAME="%x @a2dp_snk_service.c(134),INFO" ID="0xd80e0435" />
- <MSG STRUCTURE="diag_log_msg0" NAME=" @a2dp_snk_service.c(136),INFO" ID="0xd80e0445" />
- <MSG STRUCTURE="diag_log_msg5" NAME="streamMtu:%d, FrameSize: %d, numFrame: %d, stream_hdl: 0x%x, stream_state: %d @a2dp_snk_service.c(155),INFO" ID="0xd80e04dd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unexpected state %d @a2dp_snk_service.c(186),WARNING" ID="0xd80e05d3" />
- <MSG STRUCTURE="diag_log_msg3" NAME="stream_hdl: %x state: %d param_len: %d @a2dp_snk_service.c(194),INFO" ID="0xd80e0615" />
- <MSG STRUCTURE="diag_log_msg1" NAME="set active device ret: %x @a2dp_snk_service.c(204),INFO" ID="0xd80e0665" />
- <MSG STRUCTURE="diag_log_msg0" NAME="error: cap_len is bigger! @a2dp_snk_service.c(251),ERROR" ID="0xd80e07da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="sbc report inf @a2dp_snk_service.c(253),INFO" ID="0xd80e07ed" />
- <MSG STRUCTURE="diag_log_msg2" NAME="codec_caps[%u]:%02x @a2dp_snk_service.c(255),INFO" ID="0xd80e07fd" />
- <MSG STRUCTURE="diag_log_msg0" NAME=" @a2dp_snk_service.c(257),INFO" ID="0xd80e080d" />
- <MSG STRUCTURE="diag_log_msg8" NAME="sbc sampleFreq: %02x chnlMode: %02x blockLen: %02x subBand: %02x allocMtd: %02x Bitpool: %02x %02x payload:%u @a2dp_snk_service.c(280),INFO" ID="0xd80e08c5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="error: cap_len is bigger! @a2dp_snk_service.c(309),ERROR" ID="0xd80e09aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="aac report inf @a2dp_snk_service.c(311),INFO" ID="0xd80e09bd" />
- <MSG STRUCTURE="diag_log_msg2" NAME="codec_caps[%u]:%02x @a2dp_snk_service.c(313),INFO" ID="0xd80e09cd" />
- <MSG STRUCTURE="diag_log_msg0" NAME=" @a2dp_snk_service.c(315),INFO" ID="0xd80e09dd" />
- <MSG STRUCTURE="diag_log_msg6" NAME="aac sampleFreq: %02x bit_rate: %02x channels: %02x objectType: %02x rfa: %02x vbr: %02x @a2dp_snk_service.c(335),INFO" ID="0xd80e0a7d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="code_c: %d @a2dp_snk_service.c(343),INFO" ID="0xd80e0abd" />
- <MSG STRUCTURE="diag_log_msg4" NAME="stream_hdl: %x, role: %x, event: %x, err: %x @a2dp_snk_service.c(366),INFO" ID="0xd80e0b75" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(376),ERROR" ID="0xd80e0bc2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(385),ERROR" ID="0xd80e0c0a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(396),ERROR" ID="0xd80e0c62" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(405),ERROR" ID="0xd80e0caa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(416),ERROR" ID="0xd80e0d02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(422),ERROR" ID="0xd80e0d32" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(433),ERROR" ID="0xd80e0d8a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(439),ERROR" ID="0xd80e0dba" />
- <MSG STRUCTURE="diag_log_msg4" NAME="conn_state:%d dev_hdl: %08x conn_hdl: %08x stream_hdl: %08x @a2dp_snk_service.c(470),INFO" ID="0xd80e0eb5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_snk_set_stream_codec memcpy fail @a2dp_snk_service.c(514),ERROR" ID="0xd80e1012" />
- <MSG STRUCTURE="diag_log_msg7" NAME="sbc sF: %02x cM: %02x blockL: %02x sBand: %02x alcM: %02x BitP: %02x %02x @a2dp_snk_service.c(523),INFO" ID="0xd80e105d" />
- <MSG STRUCTURE="diag_log_msg6" NAME="aac sF: %02x bit_rate: %02x channel: %02x objType: %02x fa: %02x vbr: %02x @a2dp_snk_service.c(528),INFO" ID="0xd80e1085" />
- <MSG STRUCTURE="diag_log_msg3" NAME="is_reconfig: %d stream_hdl: %x ret %x @a2dp_snk_service.c(534),INFO" ID="0xd80e10b5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect error ret: %x @a2dp_snk_service.c(566),ERROR" ID="0xd80e11b2" />
- <MSG STRUCTURE="diag_log_msg3" NAME="filter try_report: %d now: %d reported: %d @a2dp_snk_service.c(593),INFO" ID="0xd80e128d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(600),INFO" ID="0xd80e12c5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(617),INFO" ID="0xd80e134d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(634),INFO" ID="0xd80e13d5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(651),ERROR" ID="0xd80e145a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc error @a2dp_snk_service.c(657),ERROR" ID="0xd80e148a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="fill codec error @a2dp_snk_service.c(664),ERROR" ID="0xd80e14c2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="error sbc sample_frequency %x @a2dp_snk_service.c(694),ERROR" ID="0xd80e15b2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="error aac sample_frequency %x @a2dp_snk_service.c(716),ERROR" ID="0xd80e1662" />
- <MSG STRUCTURE="diag_log_msg1" NAME="error codec_type %x @a2dp_snk_service.c(720),ERROR" ID="0xd80e1682" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @a2dp_snk_service.c(770),WARNING" ID="0xd80e1813" />
- <MSG STRUCTURE="diag_log_msg2" NAME="btsdk_connect_ex error ret: %x, %x @a2dp_snk_service.c(843),ERROR" ID="0xd80e1a5a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="a2dp snk disconnect error ret: %x @a2dp_snk_service.c(870),ERROR" ID="0xd80e1b32" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @a2dp_snk_service.c(886),ERROR" ID="0xd80e1bb2" />
- <MSG STRUCTURE="diag_log_msg3" NAME="stream_hdl: %08x stream_status:%u ret: %08x @a2dp_snk_service.c(971),INFO" ID="0xd80e1e5d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="suspend stream_hdl: %08x ret: %08x @a2dp_snk_service.c(982),INFO" ID="0xd80e1eb5" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stop stream_hdl: %08x ret: %08x @a2dp_snk_service.c(993),INFO" ID="0xd80e1f0d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="start accept stream_hdl: %08x ret: %08x @a2dp_snk_service.c(1004),INFO" ID="0xd80e1f65" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="last_state: %d new_state: %d @a2dp_snk_service.c(65),INFO" ID="0xd80e020d" />
+ <MSG STRUCTURE="diag_log_msg5" NAME="addr: ****%02x%02x%02x%02x conn_hdl: %x @a2dp_snk_service.c(88),INFO" ID="0xd80e02c5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="disconnect_ret(int): %d @a2dp_snk_service.c(94),INFO" ID="0xd80e02f5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @a2dp_snk_service.c(98),ERROR" ID="0xd80e0312" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="event: %x dev_hdl: %x conn_hdl: %x @a2dp_snk_service.c(117),INFO" ID="0xd80e03ad" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="rmt_hdl: %x seid: %x sc_len: %d sc: @a2dp_snk_service.c(128),INFO" ID="0xd80e0405" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="%x @a2dp_snk_service.c(130),INFO" ID="0xd80e0415" />
+ <MSG STRUCTURE="diag_log_msg0" NAME=" @a2dp_snk_service.c(132),INFO" ID="0xd80e0425" />
+ <MSG STRUCTURE="diag_log_msg5" NAME="streamMtu:%d, FrameSize: %d, numFrame: %d, stream_hdl: 0x%x, stream_state: %d @a2dp_snk_service.c(151),INFO" ID="0xd80e04bd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unexpected state %d @a2dp_snk_service.c(182),WARNING" ID="0xd80e05b3" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="stream_hdl: %x state: %d param_len: %d @a2dp_snk_service.c(190),INFO" ID="0xd80e05f5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="set active device ret: %x @a2dp_snk_service.c(200),INFO" ID="0xd80e0645" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="error: cap_len is bigger! @a2dp_snk_service.c(247),ERROR" ID="0xd80e07ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="sbc report inf @a2dp_snk_service.c(249),INFO" ID="0xd80e07cd" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="codec_caps[%u]:%02x @a2dp_snk_service.c(251),INFO" ID="0xd80e07dd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME=" @a2dp_snk_service.c(253),INFO" ID="0xd80e07ed" />
+ <MSG STRUCTURE="diag_log_msg8" NAME="sbc sampleFreq: %02x chnlMode: %02x blockLen: %02x subBand: %02x allocMtd: %02x Bitpool: %02x %02x payload:%u @a2dp_snk_service.c(276),INFO" ID="0xd80e08a5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="error: cap_len is bigger! @a2dp_snk_service.c(305),ERROR" ID="0xd80e098a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="aac report inf @a2dp_snk_service.c(307),INFO" ID="0xd80e099d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="codec_caps[%u]:%02x @a2dp_snk_service.c(309),INFO" ID="0xd80e09ad" />
+ <MSG STRUCTURE="diag_log_msg0" NAME=" @a2dp_snk_service.c(311),INFO" ID="0xd80e09bd" />
+ <MSG STRUCTURE="diag_log_msg6" NAME="aac sampleFreq: %02x bit_rate: %02x channels: %02x objectType: %02x rfa: %02x vbr: %02x @a2dp_snk_service.c(331),INFO" ID="0xd80e0a5d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="code_c: %d @a2dp_snk_service.c(339),INFO" ID="0xd80e0a9d" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="stream_hdl: %x, role: %x, event: %x, err: %x @a2dp_snk_service.c(362),INFO" ID="0xd80e0b55" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(372),ERROR" ID="0xd80e0ba2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(381),ERROR" ID="0xd80e0bea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(392),ERROR" ID="0xd80e0c42" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(401),ERROR" ID="0xd80e0c8a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(412),ERROR" ID="0xd80e0ce2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(418),ERROR" ID="0xd80e0d12" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(429),ERROR" ID="0xd80e0d6a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(435),ERROR" ID="0xd80e0d9a" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="conn_state:%d dev_hdl: %08x conn_hdl: %08x stream_hdl: %08x @a2dp_snk_service.c(466),INFO" ID="0xd80e0e95" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_snk_set_stream_codec memcpy fail @a2dp_snk_service.c(510),ERROR" ID="0xd80e0ff2" />
+ <MSG STRUCTURE="diag_log_msg7" NAME="sbc sF: %02x cM: %02x blockL: %02x sBand: %02x alcM: %02x BitP: %02x %02x @a2dp_snk_service.c(519),INFO" ID="0xd80e103d" />
+ <MSG STRUCTURE="diag_log_msg6" NAME="aac sF: %02x bit_rate: %02x channel: %02x objType: %02x fa: %02x vbr: %02x @a2dp_snk_service.c(524),INFO" ID="0xd80e1065" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="is_reconfig: %d stream_hdl: %x ret %x @a2dp_snk_service.c(530),INFO" ID="0xd80e1095" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect error ret: %x @a2dp_snk_service.c(562),ERROR" ID="0xd80e1192" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="filter try_report: %d now: %d reported: %d @a2dp_snk_service.c(589),INFO" ID="0xd80e126d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(596),INFO" ID="0xd80e12a5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(613),INFO" ID="0xd80e132d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(630),INFO" ID="0xd80e13b5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(647),ERROR" ID="0xd80e143a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc error @a2dp_snk_service.c(653),ERROR" ID="0xd80e146a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="fill codec error @a2dp_snk_service.c(660),ERROR" ID="0xd80e14a2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="error sbc sample_frequency %x @a2dp_snk_service.c(690),ERROR" ID="0xd80e1592" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="error aac sample_frequency %x @a2dp_snk_service.c(712),ERROR" ID="0xd80e1642" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="error codec_type %x @a2dp_snk_service.c(716),ERROR" ID="0xd80e1662" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @a2dp_snk_service.c(766),WARNING" ID="0xd80e17f3" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="btsdk_connect_ex error ret: %x, %x @a2dp_snk_service.c(835),ERROR" ID="0xd80e1a1a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="a2dp snk disconnect error ret: %x @a2dp_snk_service.c(858),ERROR" ID="0xd80e1ad2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @a2dp_snk_service.c(874),ERROR" ID="0xd80e1b52" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="stream_hdl: %08x stream_status:%u ret: %08x @a2dp_snk_service.c(959),INFO" ID="0xd80e1dfd" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="suspend stream_hdl: %08x ret: %08x @a2dp_snk_service.c(970),INFO" ID="0xd80e1e55" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stop stream_hdl: %08x ret: %08x @a2dp_snk_service.c(981),INFO" ID="0xd80e1ead" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="start accept stream_hdl: %08x ret: %08x @a2dp_snk_service.c(992),INFO" ID="0xd80e1f05" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style_name failed. @app_style.cpp(29),ERROR" ID="0xe10a00ea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="style_name set string value error @app_style.cpp(33),ERROR" ID="0xe10a010a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="transform prop value must be set. @app_style.cpp(169),ERROR" ID="0xe10a054a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(187),ERROR" ID="0xe10a05da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(193),ERROR" ID="0xe10a060a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc space error @app_style.cpp(265),ERROR" ID="0xe10a084a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="convert style name to char failed, will be dropped @app_style.cpp(295),ERROR" ID="0xe10a093a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="style name length is 0 or max, will be dropped @app_style.cpp(300),ERROR" ID="0xe10a0962" />
- <MSG STRUCTURE="diag_log_msg0" NAME="create style error @app_style.cpp(308),ERROR" ID="0xe10a09a2" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style_name failed. @app_style.cpp(29),ERROR" ID="0xe10600ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="style_name set string value error @app_style.cpp(33),ERROR" ID="0xe106010a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="transform prop value must be set. @app_style.cpp(169),ERROR" ID="0xe106054a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(187),ERROR" ID="0xe10605da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(193),ERROR" ID="0xe106060a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc space error @app_style.cpp(265),ERROR" ID="0xe106084a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="convert style name to char failed, will be dropped @app_style.cpp(295),ERROR" ID="0xe106093a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="style name length is 0 or max, will be dropped @app_style.cpp(300),ERROR" ID="0xe1060962" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="create style error @app_style.cpp(308),ERROR" ID="0xe10609a2" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style item string failed. @app_style_item.cpp(58),ERROR" ID="0xe10c01d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="app_style set string value error @app_style_item.cpp(62),ERROR" ID="0xe10c01f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="style item transform num to string fail @app_style_item.cpp(77),ERROR" ID="0xe10c026a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="convert style prop name to char failed, will be dropped @app_style_item.cpp(90),ERROR" ID="0xe10c02d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="style prop name length is 0, will be dropped @app_style_item.cpp(95),ERROR" ID="0xe10c02fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(114),ERROR" ID="0xe10c0392" />
- <MSG STRUCTURE="diag_log_msg0" NAME="convert style value to char failed, will be dropped @app_style_item.cpp(135),ERROR" ID="0xe10c043a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(161),ERROR" ID="0xe10c050a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style item string failed. @app_style_item.cpp(58),ERROR" ID="0xe10801d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="app_style set string value error @app_style_item.cpp(62),ERROR" ID="0xe10801f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="style item transform num to string fail @app_style_item.cpp(77),ERROR" ID="0xe108026a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="convert style prop name to char failed, will be dropped @app_style_item.cpp(90),ERROR" ID="0xe10802d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="style prop name length is 0, will be dropped @app_style_item.cpp(95),ERROR" ID="0xe10802fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(114),ERROR" ID="0xe1080392" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="convert style value to char failed, will be dropped @app_style_item.cpp(135),ERROR" ID="0xe108043a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(161),ERROR" ID="0xe108050a" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="malloc flags data buffer failed @app_style_manager.cpp(62),ERROR" ID="0xe11001f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="convert id value to char failed, will be dropped @app_style_manager.cpp(227),ERROR" ID="0xe110071a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="not supported yet @app_style_manager.cpp(243),WARNING" ID="0xe110079b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="invalid prop count @app_style_manager.cpp(283),ERROR" ID="0xe11008da" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="malloc flags data buffer failed @app_style_manager.cpp(62),ERROR" ID="0xe10c01f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="convert id value to char failed, will be dropped @app_style_manager.cpp(227),ERROR" ID="0xe10c071a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="not supported yet @app_style_manager.cpp(243),WARNING" ID="0xe10c079b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="invalid prop count @app_style_manager.cpp(283),ERROR" ID="0xe10c08da" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[ACore] bt read nv config fail. @bt_data_config.c(63),INFO" ID="0xd87e01fd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] bt read nv config succ, real_len:%hu. @bt_data_config.c(65),INFO" ID="0xd87e020d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] bt set nv config fail. @bt_data_config.c(75),INFO" ID="0xd87e025d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] bt set nv config succ. @bt_data_config.c(77),INFO" ID="0xd87e026d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] sync config err, malloc fail. @bt_data_config.c(113),ERROR" ID="0xd87e038a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] bt get data config table offset fail. @bt_data_config.c(139),ERROR" ID="0xd87e045a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore config data write err @bt_data_config.c(155),ERROR" ID="0xd87e04da" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt acore config data write:%d @bt_data_config.c(158),INFO" ID="0xd87e04f5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore config data write offset err! @bt_data_config.c(163),ERROR" ID="0xd87e051a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt config data write err! @bt_data_config.c(169),ERROR" ID="0xd87e054a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore config data read err! @bt_data_config.c(177),ERROR" ID="0xd87e058a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore config data read offset err! @bt_data_config.c(184),ERROR" ID="0xd87e05c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore config data read memcpy err! @bt_data_config.c(189),ERROR" ID="0xd87e05ea" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[ACore] bt read nv config fail. @bt_data_config.c(44),INFO" ID="0xd87e0165" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] bt read nv config succ, real_len:%hu. @bt_data_config.c(46),INFO" ID="0xd87e0175" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] bt set nv config fail. @bt_data_config.c(56),INFO" ID="0xd87e01c5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] bt set nv config succ. @bt_data_config.c(58),INFO" ID="0xd87e01d5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] sync config err, malloc fail. @bt_data_config.c(94),ERROR" ID="0xd87e02f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] bt get data config table offset fail. @bt_data_config.c(120),ERROR" ID="0xd87e03c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore config data write err @bt_data_config.c(136),ERROR" ID="0xd87e0442" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt acore config data write:%d @bt_data_config.c(139),INFO" ID="0xd87e045d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore config data write offset err! @bt_data_config.c(144),ERROR" ID="0xd87e0482" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt config data write err! @bt_data_config.c(150),ERROR" ID="0xd87e04b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore config data read err! @bt_data_config.c(158),ERROR" ID="0xd87e04f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore config data read offset err! @bt_data_config.c(165),ERROR" ID="0xd87e052a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore config data read memcpy err! @bt_data_config.c(170),ERROR" ID="0xd87e0552" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_client.c(1062),ERROR" ID="0xd8162132" />
<MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid client_id. @btsrv_gatt_client.c(1067),ERROR" ID="0xd816215a" />
<MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][INFO] unregister client %d success. @btsrv_gatt_client.c(1074),INFO" ID="0xd8162195" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc discovery service param error @btsrv_gatt_client.c(1091),ERROR" ID="0xd816221a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] discovery service memcpy fail @btsrv_gatt_client.c(1097),ERROR" ID="0xd816224a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc discovery character param error @btsrv_gatt_client.c(1126),ERROR" ID="0xd8162332" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] discovery service result next request addr memcpy fail @btsrv_gatt_client.c(1133),ERROR" ID="0xd816236a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc discovery descriptor param error @btsrv_gatt_client.c(1163),ERROR" ID="0xd816245a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] discovery descriptor addr memcpy fail @btsrv_gatt_client.c(1169),ERROR" ID="0xd816248a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc read by hdl param error @btsrv_gatt_client.c(1193),ERROR" ID="0xd816254a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc read by hdl addr memcpy fail @btsrv_gatt_client.c(1199),ERROR" ID="0xd816257a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc read by uuid param error @btsrv_gatt_client.c(1224),ERROR" ID="0xd8162642" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc read by uuid addr memcpy fail @btsrv_gatt_client.c(1230),ERROR" ID="0xd8162672" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc write req param error @btsrv_gatt_client.c(1255),ERROR" ID="0xd816273a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write req param new fail! @btsrv_gatt_client.c(1265),ERROR" ID="0xd816278a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write req param set fail! @btsrv_gatt_client.c(1272),ERROR" ID="0xd81627c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write req addr memcpy fail @btsrv_gatt_client.c(1278),ERROR" ID="0xd81627f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write req value memcpy fail @btsrv_gatt_client.c(1286),ERROR" ID="0xd8162832" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc write cmd param error @btsrv_gatt_client.c(1310),ERROR" ID="0xd81628f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write cmd param new fail! @btsrv_gatt_client.c(1320),ERROR" ID="0xd8162942" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write cmd addr memcpy fail @btsrv_gatt_client.c(1326),ERROR" ID="0xd8162972" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write cmd value memcpy fail @btsrv_gatt_client.c(1334),ERROR" ID="0xd81629b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc exchange mtu param error @btsrv_gatt_client.c(1358),ERROR" ID="0xd8162a72" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] addr memcpy fail @btsrv_gatt_client.c(1363),ERROR" ID="0xd8162a9a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][ERROR] mc ble gatt mtu config req atb ret: %d @btsrv_gatt_client.c(1372),ERROR" ID="0xd8162ae2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatt client callback memcpy fail @btsrv_gatt_client.c(1381),ERROR" ID="0xd8162b2a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc discovery service param error @btsrv_gatt_client.c(1089),ERROR" ID="0xd816220a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] discovery service memcpy fail @btsrv_gatt_client.c(1094),ERROR" ID="0xd8162232" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc discovery character param error @btsrv_gatt_client.c(1120),ERROR" ID="0xd8162302" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] discovery service result next request addr memcpy fail @btsrv_gatt_client.c(1126),ERROR" ID="0xd8162332" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc discovery descriptor param error @btsrv_gatt_client.c(1153),ERROR" ID="0xd816240a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] discovery descriptor addr memcpy fail @btsrv_gatt_client.c(1158),ERROR" ID="0xd8162432" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc read by hdl param error @btsrv_gatt_client.c(1179),ERROR" ID="0xd81624da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc read by hdl addr memcpy fail @btsrv_gatt_client.c(1184),ERROR" ID="0xd8162502" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc read by uuid param error @btsrv_gatt_client.c(1206),ERROR" ID="0xd81625b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc read by uuid addr memcpy fail @btsrv_gatt_client.c(1211),ERROR" ID="0xd81625da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc write req param error @btsrv_gatt_client.c(1233),ERROR" ID="0xd816268a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write req param new fail! @btsrv_gatt_client.c(1241),ERROR" ID="0xd81626ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write req param set fail! @btsrv_gatt_client.c(1247),ERROR" ID="0xd81626fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write req addr memcpy fail @btsrv_gatt_client.c(1252),ERROR" ID="0xd8162722" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write req value memcpy fail @btsrv_gatt_client.c(1259),ERROR" ID="0xd816275a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc write cmd param error @btsrv_gatt_client.c(1281),ERROR" ID="0xd816280a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write cmd param new fail! @btsrv_gatt_client.c(1289),ERROR" ID="0xd816284a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write cmd addr memcpy fail @btsrv_gatt_client.c(1294),ERROR" ID="0xd8162872" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write cmd value memcpy fail @btsrv_gatt_client.c(1301),ERROR" ID="0xd81628aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gattc exchange mtu param error @btsrv_gatt_client.c(1323),ERROR" ID="0xd816295a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] addr memcpy fail @btsrv_gatt_client.c(1327),ERROR" ID="0xd816297a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][ERROR] mc ble gatt mtu config req atb ret: %d @btsrv_gatt_client.c(1335),ERROR" ID="0xd81629ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatt client callback memcpy fail @btsrv_gatt_client.c(1344),ERROR" ID="0xd8162a02" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1553),ERROR" ID="0xd81a308a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1563),ERROR" ID="0xd81a30da" />
<MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1573),ERROR" ID="0xd81a312a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1584),ERROR" ID="0xd81a3182" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response param new fail @btsrv_gatt_server.c(1590),ERROR" ID="0xd81a31b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response addr memcpy fail @btsrv_gatt_server.c(1599),ERROR" ID="0xd81a31fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response data memcpy fail @btsrv_gatt_server.c(1606),ERROR" ID="0xd81a3232" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1623),ERROR" ID="0xd81a32ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1628),ERROR" ID="0xd81a32e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc send notification param fail @btsrv_gatt_server.c(1637),ERROR" ID="0xd81a332a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] data memcpy fail @btsrv_gatt_server.c(1645),ERROR" ID="0xd81a336a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1662),ERROR" ID="0xd81a33f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1667),ERROR" ID="0xd81a341a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] param new fail @btsrv_gatt_server.c(1675),ERROR" ID="0xd81a345a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] sen ntf/ind by uuid memcpy fail @btsrv_gatt_server.c(1685),ERROR" ID="0xd81a34aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] sen ntf/ind by uuid memcpy fail @btsrv_gatt_server.c(1694),ERROR" ID="0xd81a34f2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="set mtu out of bounds use dft_val:23 set_val:%d. @btsrv_gatt_server.c(1710),WARNING" ID="0xd81a3573" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatt server callback memcpy fail @btsrv_gatt_server.c(1723),ERROR" ID="0xd81a35da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1582),ERROR" ID="0xd81a3172" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response param new fail @btsrv_gatt_server.c(1587),ERROR" ID="0xd81a319a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response addr memcpy fail @btsrv_gatt_server.c(1595),ERROR" ID="0xd81a31da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response data memcpy fail @btsrv_gatt_server.c(1601),ERROR" ID="0xd81a320a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1617),ERROR" ID="0xd81a328a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1622),ERROR" ID="0xd81a32b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc send notification param fail @btsrv_gatt_server.c(1631),ERROR" ID="0xd81a32fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] data memcpy fail @btsrv_gatt_server.c(1639),ERROR" ID="0xd81a333a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1656),ERROR" ID="0xd81a33c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1661),ERROR" ID="0xd81a33ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] param new fail @btsrv_gatt_server.c(1669),ERROR" ID="0xd81a342a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] sen ntf/ind by uuid memcpy fail @btsrv_gatt_server.c(1679),ERROR" ID="0xd81a347a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] sen ntf/ind by uuid memcpy fail @btsrv_gatt_server.c(1688),ERROR" ID="0xd81a34c2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="set mtu out of bounds use dft_val:23 set_val:%d. @btsrv_gatt_server.c(1704),WARNING" ID="0xd81a3543" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatt server callback memcpy fail @btsrv_gatt_server.c(1717),ERROR" ID="0xd81a35aa" />
</MSG_LOG>
\ No newline at end of file
<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="bms starts %s", result ? "successfully" : "unsuccessfully @bundle_mgr_service.cpp(50),INFO" ID="0xe03a0195" />
- <MSG STRUCTURE="diag_log_msg0" NAME="BundleMgrService::ServiceMessageHandle @bundle_mgr_service.cpp(90),INFO" ID="0xe03a02d5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="BundleMgrService::ServiceMessageHandle @bundle_mgr_service.cpp(100),INFO" ID="0xe03a0325" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[BMS] Initialize is failed @bundlems_slite_client.cpp(154),ERROR" ID="0xe03004d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] Initialize is failed @bundlems_slite_client.cpp(169),ERROR" ID="0xe030054a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[BMS] Initialize is failed @bundlems_slite_client.cpp(184),ERROR" ID="0xe03005c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] Initialize is failed @bundlems_slite_client.cpp(199),ERROR" ID="0xe030063a" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="osal_mutex_init in g_connect_list_lock failed @connection_manager.c(126),ERROR" ID="0xd80603f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="osal_mutex_init in g_ble_conn_list_lock failed @connection_manager.c(131),ERROR" ID="0xd806041a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="create timer error! ret: %x @connection_manager.c(204),ERROR" ID="0xd8060662" />
- <MSG STRUCTURE="diag_log_msg1" NAME="start timer error! ret: %x @connection_manager.c(212),ERROR" ID="0xd80606a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="start timer success! @connection_manager.c(217),INFO" ID="0xd80606cd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="already in discovery @connection_manager.c(236),WARNING" ID="0xd8060763" />
- <MSG STRUCTURE="diag_log_msg0" NAME="already in discovery @connection_manager.c(248),WARNING" ID="0xd80607c3" />
- <MSG STRUCTURE="diag_log_msg1" NAME="start discovery fail ret: %x @connection_manager.c(262),ERROR" ID="0xd8060832" />
- <MSG STRUCTURE="diag_log_msg0" NAME="discovery started @connection_manager.c(270),INFO" ID="0xd8060875" />
- <MSG STRUCTURE="diag_log_msg2" NAME="reconnect phone con_hdl:0x%x, result: %08x @connection_manager.c(403),INFO" ID="0xd8060c9d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="exist connect phone reject! @connection_manager.c(431),INFO" ID="0xd8060d7d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(452),ERROR" ID="0xd8060e22" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(456),ERROR" ID="0xd8060e42" />
- <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(462),ERROR" ID="0xd8060e72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="create acl cfm ret = %08x @connection_manager.c(470),INFO" ID="0xd8060eb5" />
- <MSG STRUCTURE="diag_log_msg3" NAME="dev_hdl: 0x%08x cod: 0x%x link_type: 0x%x @connection_manager.c(499),INFO" ID="0xd8060f9d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="already exist conn_node @connection_manager.c(509),INFO" ID="0xd8060fed" />
- <MSG STRUCTURE="diag_log_msg0" NAME="accept not paired earbuds. @connection_manager.c(518),INFO" ID="0xd8061035" />
- <MSG STRUCTURE="diag_log_msg0" NAME="exist same type conn node. @connection_manager.c(522),INFO" ID="0xd8061055" />
- <MSG STRUCTURE="diag_log_msg0" NAME="add conn info error! @connection_manager.c(529),ERROR" ID="0xd806108a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @connection_manager.c(536),INFO" ID="0xd80610c5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(544),ERROR" ID="0xd8061102" />
- <MSG STRUCTURE="diag_log_msg0" NAME="get addr fail @connection_manager.c(551),ERROR" ID="0xd806113a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(556),ERROR" ID="0xd8061162" />
- <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(562),ERROR" ID="0xd8061192" />
- <MSG STRUCTURE="diag_log_msg0" NAME="connect exist conn_node @connection_manager.c(578),INFO" ID="0xd8061215" />
- <MSG STRUCTURE="diag_log_msg0" NAME="exist same type conn_node, disconnect. @connection_manager.c(584),INFO" ID="0xd8061245" />
- <MSG STRUCTURE="diag_log_msg0" NAME="find remote node fail @connection_manager.c(592),WARNING" ID="0xd8061283" />
- <MSG STRUCTURE="diag_log_msg0" NAME="add conn info error! @connection_manager.c(599),ERROR" ID="0xd80612ba" />
- <MSG STRUCTURE="diag_log_msg1" NAME="create acl ret = %08x @connection_manager.c(611),WARNING" ID="0xd806131b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="acl is connected @connection_manager.c(619),INFO" ID="0xd806135d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(628),INFO" ID="0xd80613a5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="not exist conn node. @connection_manager.c(631),INFO" ID="0xd80613bd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="is phone=0x%x @connection_manager.c(634),INFO" ID="0xd80613d5" />
- <MSG STRUCTURE="diag_log_msg2" NAME="status error dev_hdl: %x status: %d @connection_manager.c(637),WARNING" ID="0xd80613eb" />
- <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @connection_manager.c(677),INFO" ID="0xd806152d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting @connection_manager.c(709),INFO" ID="0xd806162d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(713),ERROR" ID="0xd806164a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(717),ERROR" ID="0xd806166a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(723),ERROR" ID="0xd806169a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting success! @connection_manager.c(726),INFO" ID="0xd80616b5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="stop timer @connection_manager.c(731),INFO" ID="0xd80616dd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="stop timer success! @connection_manager.c(739),INFO" ID="0xd806171d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="start timer @connection_manager.c(744),INFO" ID="0xd8061745" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(754),ERROR" ID="0xd8061792" />
- <MSG STRUCTURE="diag_log_msg1" NAME="create timer error! ret: %x @connection_manager.c(759),ERROR" ID="0xd80617ba" />
- <MSG STRUCTURE="diag_log_msg1" NAME="start timer error! ret: %x @connection_manager.c(765),ERROR" ID="0xd80617ea" />
- <MSG STRUCTURE="diag_log_msg2" NAME="start timer success! try to reconnect %d times interval %dms @connection_manager.c(770),INFO" ID="0xd8061815" />
- <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x reason: %08x @connection_manager.c(807),INFO" ID="0xd806193d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="no conn record dev_hdl: %08x @connection_manager.c(816),WARNING" ID="0xd8061983" />
- <MSG STRUCTURE="diag_log_msg2" NAME="rmt device class=0x%x is phone: 0x%x @connection_manager.c(826),INFO" ID="0xd80619d5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="get addr fail @connection_manager.c(839),WARNING" ID="0xd8061a3b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="get remote dev addr failed. dev_hdl: %x @connection_manager.c(853),WARNING" ID="0xd8061aab" />
- <MSG STRUCTURE="diag_log_msg6" NAME="addr: ****%02x%02x%02x%02x dev_hdl: %08x gap_remove_pair ret(bool): %d @connection_manager.c(862),INFO" ID="0xd8061af5" />
- <MSG STRUCTURE="diag_log_msg3" NAME="error dev_hdl: %x pair_ret: %x disconn_ret: %x @connection_manager.c(871),WARNING" ID="0xd8061b3b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(878),INFO" ID="0xd8061b75" />
- <MSG STRUCTURE="diag_log_msg1" NAME="conn node is null dev_hdl: %x @connection_manager.c(882),INFO" ID="0xd8061b95" />
- <MSG STRUCTURE="diag_log_msg2" NAME="status error dev_hdl: %x status: %d @connection_manager.c(888),INFO" ID="0xd8061bc5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(902),INFO" ID="0xd8061c35" />
- <MSG STRUCTURE="diag_log_msg0" NAME="get addr fail @connection_manager.c(910),WARNING" ID="0xd8061c73" />
- <MSG STRUCTURE="diag_log_msg0" NAME="rmt device is phone @connection_manager.c(917),INFO" ID="0xd8061cad" />
- <MSG STRUCTURE="diag_log_msg0" NAME="rmt device is not phone @connection_manager.c(920),INFO" ID="0xd8061cc5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="node not exist @connection_manager.c(931),INFO" ID="0xd8061d1d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="success @connection_manager.c(939),INFO" ID="0xd8061d5d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="add remote list error! @connection_manager.c(993),WARNING" ID="0xd8061f0b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="descovery result @connection_manager.c(1019),INFO" ID="0xd8061fdd" />
- <MSG STRUCTURE="diag_log_msg5" NAME="found device addr: ****%02x%02x%02x%02x name: %s @connection_manager.c(1028),INFO" ID="0xd8062025" />
- <MSG STRUCTURE="diag_log_msg0" NAME="gap_get_device_name failed @connection_manager.c(1030),INFO" ID="0xd8062035" />
- <MSG STRUCTURE="diag_log_msg0" NAME="get device name fail @connection_manager.c(1055),WARNING" ID="0xd80620fb" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id: %d @connection_manager.c(1124),WARNING" ID="0xd8062323" />
- <MSG STRUCTURE="diag_log_msg0" NAME="set discovery status to stop @connection_manager.c(1142),INFO" ID="0xd80623b5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id: %d @connection_manager.c(1213),WARNING" ID="0xd80625eb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="show conn list: @connection_manager.c(1234),INFO" ID="0xd8062695" />
- <MSG STRUCTURE="diag_log_msg7" NAME="| %-4s | %-32s | %-12s | %-16s | %-16s | %-8s | %-8s | @connection_manager.c(1236),INFO" ID="0xd80626a5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="remote is null @connection_manager.c(1244),ERROR" ID="0xd80626e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1247),ERROR" ID="0xd80626fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="name memcpy_s fail @connection_manager.c(1250),ERROR" ID="0xd8062712" />
- <MSG STRUCTURE="diag_log_msg10" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16d | %-16d | %-8d | %-8d | @connection_manager.c(1255),INFO" ID="0xd806273d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="show conn list end! @connection_manager.c(1260),INFO" ID="0xd8062765" />
- <MSG STRUCTURE="diag_log_msg0" NAME="show ble conn list: @connection_manager.c(1268),INFO" ID="0xd80627a5" />
- <MSG STRUCTURE="diag_log_msg9" NAME="| %-4s | %-12s | %-10s | %-8s | %-12s | %-12s | %-12s | %-12s | %-48s | @connection_manager.c(1273),INFO" ID="0xd80627cd" />
- <MSG STRUCTURE="diag_log_msg11" NAME="| %-4d | %02x******%02x%02x | %-10d | %-8d | %-12d | %-12d | %-12d | %-12d | %-48s | @connection_manager.c(1286),INFO" ID="0xd8062835" />
- <MSG STRUCTURE="diag_log_msg8" NAME="| %-4s | %-12s | %-10s | %-8s | %-12s | %-12s | %-12s | %-12s | @connection_manager.c(1293),INFO" ID="0xd806286d" />
- <MSG STRUCTURE="diag_log_msg10" NAME="| %-4d | %02x******%02x%02x | %-10d | %-8d | %-12d | %-12d | %-12d | %-12d | @connection_manager.c(1299),INFO" ID="0xd806289d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="show ble conn list end! @connection_manager.c(1306),INFO" ID="0xd80628d5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="show link mode: @connection_manager.c(1318),INFO" ID="0xd8062935" />
- <MSG STRUCTURE="diag_log_msg4" NAME="| %-4s | %-32s | %-12s | %-16s | @connection_manager.c(1320),INFO" ID="0xd8062945" />
- <MSG STRUCTURE="diag_log_msg0" NAME="remote is null @connection_manager.c(1329),ERROR" ID="0xd806298a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1332),ERROR" ID="0xd80629a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="name memcpy_s fail @connection_manager.c(1335),ERROR" ID="0xd80629ba" />
- <MSG STRUCTURE="diag_log_msg7" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16s | @connection_manager.c(1343),INFO" ID="0xd80629fd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="show link mode end! @connection_manager.c(1348),INFO" ID="0xd8062a25" />
- <MSG STRUCTURE="diag_log_msg2" NAME="set scan mode old=%d new=%d @connection_manager.c(1410),INFO" ID="0xd8062c15" />
- <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_set_discovery_mode ret: %x @connection_manager.c(1421),INFO" ID="0xd8062c6d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="btsdk_set_discovery_mode mode: %x ret: %x @connection_manager.c(1432),INFO" ID="0xd8062cc5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="already in discovery @connection_manager.c(1454),INFO" ID="0xd8062d75" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt is not enabled @connection_manager.c(1467),WARNING" ID="0xd8062ddb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="discovery already stopped @connection_manager.c(1472),WARNING" ID="0xd8062e03" />
- <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_stop_device_discovery ret=0x%x @connection_manager.c(1477),INFO" ID="0xd8062e2d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="discovery stopped @connection_manager.c(1480),INFO" ID="0xd8062e45" />
- <MSG STRUCTURE="diag_log_msg0" NAME="not start bt @connection_manager.c(1506),INFO" ID="0xd8062f15" />
- <MSG STRUCTURE="diag_log_msg0" NAME="param id null @connection_manager.c(1510),INFO" ID="0xd8062f35" />
- <MSG STRUCTURE="diag_log_msg0" NAME="exist connect audio device @connection_manager.c(1516),INFO" ID="0xd8062f65" />
- <MSG STRUCTURE="diag_log_msg0" NAME="gap_br_cancel_discovery fail @connection_manager.c(1521),INFO" ID="0xd8062f8d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @connection_manager.c(1557),INFO" ID="0xd80630ad" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatt client add conn node memcpy fail. @connection_manager.c(1624),ERROR" ID="0xd80632c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="btsrv connect state change cbk arg NULL! @connection_manager.c(1638),ERROR" ID="0xd8063332" />
- <MSG STRUCTURE="diag_log_msg0" NAME="connect state update memcpy fail. @connection_manager.c(1643),ERROR" ID="0xd806335a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="connect node is null. @connection_manager.c(1659),ERROR" ID="0xd80633da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble smp paired keys cbk param error @connection_manager.c(1678),ERROR" ID="0xd8063472" />
- <MSG STRUCTURE="diag_log_msg0" NAME="paired keys malloc fail. @connection_manager.c(1684),ERROR" ID="0xd80634a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="paired keys malloc fail. @connection_manager.c(1689),ERROR" ID="0xd80634ca" />
- <MSG STRUCTURE="diag_log_msg0" NAME="pair keys notify, keys addr memcpy fail. @connection_manager.c(1694),ERROR" ID="0xd80634f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="pair keys notify, keys memcpy fail. @connection_manager.c(1701),ERROR" ID="0xd806352a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble smp paired complete cbk param error @connection_manager.c(1718),ERROR" ID="0xd80635b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="connect param update incomes arg is NULL! @connection_manager.c(1729),ERROR" ID="0xd806360a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="connect param update, conn_node not found. @connection_manager.c(1736),ERROR" ID="0xd8063642" />
- <MSG STRUCTURE="diag_log_msg0" NAME="connect param update,connect_params NULL. @connection_manager.c(1742),ERROR" ID="0xd8063672" />
- <MSG STRUCTURE="diag_log_msg0" NAME="connect param update, addr memcpy fail. @connection_manager.c(1748),ERROR" ID="0xd80636a2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="connect param update done ret:%d. @connection_manager.c(1757),INFO" ID="0xd80636ed" />
- <MSG STRUCTURE="diag_log_msg0" NAME="gap_ble_connect_remote_device not start bt @connection_manager.c(1766),INFO" ID="0xd8063735" />
- <MSG STRUCTURE="diag_log_msg0" NAME="gap_ble_connect_remote_device param id null @connection_manager.c(1770),INFO" ID="0xd8063755" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] addr memcpy to param fail. @connection_manager.c(1776),INFO" ID="0xd8063785" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv]addr memcpy fail. @connection_manager.c(1794),INFO" ID="0xd8063815" />
- <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1812),ERROR" ID="0xd80638a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read remote device rssi, conn_node not found. @connection_manager.c(1833),ERROR" ID="0xd806394a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read remote device rssi fail @connection_manager.c(1838),ERROR" ID="0xd8063972" />
- <MSG STRUCTURE="diag_log_msg0" NAME="conn_node not found. @connection_manager.c(1854),ERROR" ID="0xd80639f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="auto reconnect is enabled, close it first. @connection_manager.c(1877),ERROR" ID="0xd8063aaa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(1882),ERROR" ID="0xd8063ad2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(1886),ERROR" ID="0xd8063af2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(1893),ERROR" ID="0xd8063b2a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting success! @connection_manager.c(1897),INFO" ID="0xd8063b4d" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="osal_mutex_init in g_connect_list_lock failed @connection_manager.c(114),ERROR" ID="0xd8060392" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="create timer error! ret: %x @connection_manager.c(187),ERROR" ID="0xd80605da" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="start timer error! ret: %x @connection_manager.c(195),ERROR" ID="0xd806061a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="start timer success! @connection_manager.c(200),INFO" ID="0xd8060645" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="already in discovery @connection_manager.c(219),WARNING" ID="0xd80606db" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="max_num invalid. %u @connection_manager.c(223),WARNING" ID="0xd80606fb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="already in discovery @connection_manager.c(235),WARNING" ID="0xd806075b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="start discovery fail ret: %x @connection_manager.c(249),ERROR" ID="0xd80607ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="discovery started @connection_manager.c(257),INFO" ID="0xd806080d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="reconnect phone con_hdl:0x%x, result: %08x @connection_manager.c(374),INFO" ID="0xd8060bb5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="exist connect phone reject! @connection_manager.c(402),INFO" ID="0xd8060c95" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(423),ERROR" ID="0xd8060d3a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(427),ERROR" ID="0xd8060d5a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(433),ERROR" ID="0xd8060d8a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="create acl cfm ret = %08x @connection_manager.c(441),INFO" ID="0xd8060dcd" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="dev_hdl: 0x%08x cod: 0x%x link_type: 0x%x @connection_manager.c(470),INFO" ID="0xd8060eb5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="already exist conn_node @connection_manager.c(480),INFO" ID="0xd8060f05" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="accept not paired earbuds. @connection_manager.c(489),INFO" ID="0xd8060f4d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="exist same type conn node. @connection_manager.c(493),INFO" ID="0xd8060f6d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="add conn info error! @connection_manager.c(500),ERROR" ID="0xd8060fa2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @connection_manager.c(507),INFO" ID="0xd8060fdd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(515),ERROR" ID="0xd806101a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get addr fail @connection_manager.c(522),ERROR" ID="0xd8061052" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(527),ERROR" ID="0xd806107a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(533),ERROR" ID="0xd80610aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect exist conn_node @connection_manager.c(549),INFO" ID="0xd806112d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="exist same type conn_node, disconnect. @connection_manager.c(555),INFO" ID="0xd806115d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="find remote node fail @connection_manager.c(563),WARNING" ID="0xd806119b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="add conn info error! @connection_manager.c(570),ERROR" ID="0xd80611d2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="create acl ret = %08x @connection_manager.c(582),WARNING" ID="0xd8061233" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="acl is connected @connection_manager.c(590),INFO" ID="0xd8061275" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(599),INFO" ID="0xd80612bd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="not exist conn node. @connection_manager.c(602),INFO" ID="0xd80612d5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="is phone=0x%x @connection_manager.c(605),INFO" ID="0xd80612ed" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="status error dev_hdl: %x status: %d @connection_manager.c(608),WARNING" ID="0xd8061303" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @connection_manager.c(648),INFO" ID="0xd8061445" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting @connection_manager.c(680),INFO" ID="0xd8061545" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(684),ERROR" ID="0xd8061562" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(688),ERROR" ID="0xd8061582" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(694),ERROR" ID="0xd80615b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting success! @connection_manager.c(697),INFO" ID="0xd80615cd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="stop timer @connection_manager.c(702),INFO" ID="0xd80615f5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="stop timer success! @connection_manager.c(710),INFO" ID="0xd8061635" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="start timer @connection_manager.c(715),INFO" ID="0xd806165d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(725),ERROR" ID="0xd80616aa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="create timer error! ret: %x @connection_manager.c(730),ERROR" ID="0xd80616d2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="start timer error! ret: %x @connection_manager.c(736),ERROR" ID="0xd8061702" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="start timer success! try to reconnect %d times interval %dms @connection_manager.c(741),INFO" ID="0xd806172d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x reason: %08x @connection_manager.c(778),INFO" ID="0xd8061855" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="no conn record dev_hdl: %08x @connection_manager.c(787),WARNING" ID="0xd806189b" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="rmt device class=0x%x is phone: 0x%x @connection_manager.c(797),INFO" ID="0xd80618ed" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get addr fail @connection_manager.c(810),WARNING" ID="0xd8061953" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="get remote dev addr failed. dev_hdl: %x @connection_manager.c(824),WARNING" ID="0xd80619c3" />
+ <MSG STRUCTURE="diag_log_msg6" NAME="addr: ****%02x%02x%02x%02x dev_hdl: %08x gap_remove_pair ret(bool): %d @connection_manager.c(833),INFO" ID="0xd8061a0d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="error dev_hdl: %x pair_ret: %x disconn_ret: %x @connection_manager.c(842),WARNING" ID="0xd8061a53" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(849),INFO" ID="0xd8061a8d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="conn node is null dev_hdl: %x @connection_manager.c(853),INFO" ID="0xd8061aad" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="status error dev_hdl: %x status: %d @connection_manager.c(859),INFO" ID="0xd8061add" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(873),INFO" ID="0xd8061b4d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get addr fail @connection_manager.c(881),WARNING" ID="0xd8061b8b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="rmt device is phone @connection_manager.c(888),INFO" ID="0xd8061bc5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="rmt device is not phone @connection_manager.c(891),INFO" ID="0xd8061bdd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="node not exist @connection_manager.c(902),INFO" ID="0xd8061c35" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="success @connection_manager.c(910),INFO" ID="0xd8061c75" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="descovery result @connection_manager.c(973),INFO" ID="0xd8061e6d" />
+ <MSG STRUCTURE="diag_log_msg5" NAME="found device addr: ****%02x%02x%02x%02x name: %s @connection_manager.c(982),INFO" ID="0xd8061eb5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gap_get_device_name failed @connection_manager.c(984),INFO" ID="0xd8061ec5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get device name fail @connection_manager.c(1009),WARNING" ID="0xd8061f8b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id: %d @connection_manager.c(1078),WARNING" ID="0xd80621b3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="set discovery status to stop @connection_manager.c(1096),INFO" ID="0xd8062245" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id: %d @connection_manager.c(1167),WARNING" ID="0xd806247b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show conn list: @connection_manager.c(1188),INFO" ID="0xd8062525" />
+ <MSG STRUCTURE="diag_log_msg7" NAME="| %-4s | %-32s | %-12s | %-16s | %-16s | %-8s | %-8s | @connection_manager.c(1190),INFO" ID="0xd8062535" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="remote is null @connection_manager.c(1198),ERROR" ID="0xd8062572" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1201),ERROR" ID="0xd806258a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="name memcpy_s fail @connection_manager.c(1204),ERROR" ID="0xd80625a2" />
+ <MSG STRUCTURE="diag_log_msg10" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16d | %-16d | %-8d | %-8d | @connection_manager.c(1209),INFO" ID="0xd80625cd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show conn list end! @connection_manager.c(1214),INFO" ID="0xd80625f5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show ble conn list: @connection_manager.c(1221),INFO" ID="0xd806262d" />
+ <MSG STRUCTURE="diag_log_msg9" NAME="| %-4s | %-12s | %-10s | %-8s | %-12s | %-12s | %-12s | %-12s | %-48s | @connection_manager.c(1226),INFO" ID="0xd8062655" />
+ <MSG STRUCTURE="diag_log_msg11" NAME="| %-4d | %02x******%02x%02x | %-10d | %-8d | %-12d | %-12d | %-12d | %-12d | %-48s | @connection_manager.c(1239),INFO" ID="0xd80626bd" />
+ <MSG STRUCTURE="diag_log_msg8" NAME="| %-4s | %-12s | %-10s | %-8s | %-12s | %-12s | %-12s | %-12s | @connection_manager.c(1246),INFO" ID="0xd80626f5" />
+ <MSG STRUCTURE="diag_log_msg10" NAME="| %-4d | %02x******%02x%02x | %-10d | %-8d | %-12d | %-12d | %-12d | %-12d | @connection_manager.c(1252),INFO" ID="0xd8062725" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show ble conn list end! @connection_manager.c(1259),INFO" ID="0xd806275d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show link mode: @connection_manager.c(1271),INFO" ID="0xd80627bd" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="| %-4s | %-32s | %-12s | %-16s | @connection_manager.c(1273),INFO" ID="0xd80627cd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="remote is null @connection_manager.c(1282),ERROR" ID="0xd8062812" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1285),ERROR" ID="0xd806282a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="name memcpy_s fail @connection_manager.c(1288),ERROR" ID="0xd8062842" />
+ <MSG STRUCTURE="diag_log_msg7" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16s | @connection_manager.c(1296),INFO" ID="0xd8062885" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show link mode end! @connection_manager.c(1301),INFO" ID="0xd80628ad" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="set scan mode old=%d new=%d @connection_manager.c(1363),INFO" ID="0xd8062a9d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_set_discovery_mode ret: %x @connection_manager.c(1374),INFO" ID="0xd8062af5" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="btsdk_set_discovery_mode mode: %x ret: %x @connection_manager.c(1385),INFO" ID="0xd8062b4d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="already in discovery @connection_manager.c(1407),INFO" ID="0xd8062bfd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt is not enabled @connection_manager.c(1420),WARNING" ID="0xd8062c63" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="discovery already stopped @connection_manager.c(1425),WARNING" ID="0xd8062c8b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_stop_device_discovery ret=0x%x @connection_manager.c(1430),INFO" ID="0xd8062cb5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="discovery stopped @connection_manager.c(1433),INFO" ID="0xd8062ccd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="not start bt @connection_manager.c(1459),INFO" ID="0xd8062d9d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="param id null @connection_manager.c(1463),INFO" ID="0xd8062dbd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="exist connect audio device @connection_manager.c(1469),INFO" ID="0xd8062ded" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gap_br_cancel_discovery fail @connection_manager.c(1474),INFO" ID="0xd8062e15" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @connection_manager.c(1510),INFO" ID="0xd8062f35" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatt client add conn node memcpy fail. @connection_manager.c(1577),ERROR" ID="0xd806314a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="btsrv connect state change cbk arg NULL! @connection_manager.c(1589),ERROR" ID="0xd80631aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect state update memcpy fail. @connection_manager.c(1594),ERROR" ID="0xd80631d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect node is null. @connection_manager.c(1609),ERROR" ID="0xd806324a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble smp paired keys cbk param error @connection_manager.c(1626),ERROR" ID="0xd80632d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="paired keys malloc fail. @connection_manager.c(1632),ERROR" ID="0xd8063302" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="paired keys malloc fail. @connection_manager.c(1637),ERROR" ID="0xd806332a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="pair keys notify, keys addr memcpy fail. @connection_manager.c(1642),ERROR" ID="0xd8063352" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="pair keys notify, keys memcpy fail. @connection_manager.c(1649),ERROR" ID="0xd806338a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble smp paired complete cbk param error @connection_manager.c(1666),ERROR" ID="0xd8063412" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect param update incomes arg is NULL! @connection_manager.c(1677),ERROR" ID="0xd806346a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect param update, conn_node not found. @connection_manager.c(1684),ERROR" ID="0xd80634a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect param update,connect_params NULL. @connection_manager.c(1690),ERROR" ID="0xd80634d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect param update, addr memcpy fail. @connection_manager.c(1696),ERROR" ID="0xd8063502" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="connect param update done ret:%d. @connection_manager.c(1705),INFO" ID="0xd806354d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gap_ble_connect_remote_device not start bt @connection_manager.c(1714),INFO" ID="0xd8063595" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gap_ble_connect_remote_device param id null @connection_manager.c(1718),INFO" ID="0xd80635b5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] addr memcpy to param fail. @connection_manager.c(1724),INFO" ID="0xd80635e5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv]addr memcpy fail. @connection_manager.c(1742),INFO" ID="0xd8063675" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1759),ERROR" ID="0xd80636fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read remote device rssi, conn_node not found. @connection_manager.c(1778),ERROR" ID="0xd8063792" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read remote device rssi fail @connection_manager.c(1783),ERROR" ID="0xd80637ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="conn_node not found. @connection_manager.c(1797),ERROR" ID="0xd806382a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="auto reconnect is enabled, close it first. @connection_manager.c(1820),ERROR" ID="0xd80638e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(1825),ERROR" ID="0xd806390a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(1829),ERROR" ID="0xd806392a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(1836),ERROR" ID="0xd8063962" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting success! @connection_manager.c(1839),INFO" ID="0xd806397d" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="Failed to RenderForDescriptor because the result value is undefined. @descriptor_utils.cpp(94),ERROR" ID="0xe0d002f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="delete native view pointer from native element failed. @descriptor_utils.cpp(193),WARNING" ID="0xe0d0060b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Failed to create descriptor because the type argument is null or empty. @descriptor_utils.cpp(211),ERROR" ID="0xe0d0069a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Failed to create descriptor because the getter argument is not a function. @descriptor_utils.cpp(216),ERROR" ID="0xe0d006c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Failed to create descriptor because the render argument is not a function. @descriptor_utils.cpp(221),ERROR" ID="0xe0d006ea" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="Failed to RenderForDescriptor because the result value is undefined. @descriptor_utils.cpp(94),ERROR" ID="0xe0ce02f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="delete native view pointer from native element failed. @descriptor_utils.cpp(193),WARNING" ID="0xe0ce060b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Failed to create descriptor because the type argument is null or empty. @descriptor_utils.cpp(211),ERROR" ID="0xe0ce069a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Failed to create descriptor because the getter argument is not a function. @descriptor_utils.cpp(216),ERROR" ID="0xe0ce06c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Failed to create descriptor because the render argument is not a function. @descriptor_utils.cpp(221),ERROR" ID="0xe0ce06ea" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="fail to invoke event callback. @event_util.cpp(132),ERROR" ID="0xe0600422" />
<MSG STRUCTURE="diag_log_msg0" NAME="EventUtil::InvokeCallback failed: Async task dispatch failure. @event_util.cpp(142),ERROR" ID="0xe0600472" />
<MSG STRUCTURE="diag_log_msg0" NAME="fail to get element by UI view. @event_util.cpp(151),ERROR" ID="0xe06004ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="fail to get element by UI view. @event_util.cpp(156),ERROR" ID="0xe06004e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="fail to get element by UI view. @event_util.cpp(161),ERROR" ID="0xe060050a" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="hitted by fatal error[%d] @fatal_handler.cpp(56),ERROR" ID="0xe0c001c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="the JS task is not killed after sleep very long time @fatal_handler.cpp(77),ERROR" ID="0xe0c0026a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="hitted again when handling fatal error @fatal_handler.cpp(157),WARNING" ID="0xe0c004eb" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="hitted by fatal error[%d] @fatal_handler.cpp(56),ERROR" ID="0xe0be01c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="the JS task is not killed after sleep very long time @fatal_handler.cpp(77),ERROR" ID="0xe0be026a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="hitted again when handling fatal error @fatal_handler.cpp(157),WARNING" ID="0xe0be04eb" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="available free size: %d @js_ability.cpp(56),DBG" ID="0xe0c201c6" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Launch only can be triggered once @js_ability.cpp(64),ERROR" ID="0xe0c20202" />
- <MSG STRUCTURE="diag_log_msg0" NAME="invalid app path @js_ability.cpp(70),ERROR" ID="0xe0c20232" />
- <MSG STRUCTURE="diag_log_msg0" NAME="invalid bundle name @js_ability.cpp(76),ERROR" ID="0xe0c20262" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Create JSAbilityRuntime failed @js_ability.cpp(91),ERROR" ID="0xe0c202da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Must trigger Launch first @js_ability.cpp(109),ERROR" ID="0xe0c2036a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="LIFECYCLE: JS Ability will be shown @js_ability.cpp(113),INFO" ID="0xe0c2038d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Must trigger Launch first @js_ability.cpp(124),ERROR" ID="0xe0c203e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="LIFECYCLE: JS Ability will be hidden @js_ability.cpp(127),INFO" ID="0xe0c203fd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Must trigger Launch first @js_ability.cpp(138),ERROR" ID="0xe0c20452" />
- <MSG STRUCTURE="diag_log_msg0" NAME="LIFECYCLE: JS Ability is exiting @js_ability.cpp(142),INFO" ID="0xe0c20475" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Must trigger Launch first @js_ability.cpp(168),ERROR" ID="0xe0c20542" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ForceDestroy interface is deprecated as JS engine can not run on other task @js_ability.cpp(184),ERROR" ID="0xe0c205c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSAbility::HandleRenderTick js app is not forground @js_ability.cpp(219),ERROR" ID="0xe0c206da" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="available free size: %d @js_ability.cpp(56),DBG" ID="0xe0c001c6" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Launch only can be triggered once @js_ability.cpp(64),ERROR" ID="0xe0c00202" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="invalid app path @js_ability.cpp(70),ERROR" ID="0xe0c00232" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="invalid bundle name @js_ability.cpp(76),ERROR" ID="0xe0c00262" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Create JSAbilityRuntime failed @js_ability.cpp(91),ERROR" ID="0xe0c002da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Must trigger Launch first @js_ability.cpp(109),ERROR" ID="0xe0c0036a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="LIFECYCLE: JS Ability will be shown @js_ability.cpp(113),INFO" ID="0xe0c0038d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Must trigger Launch first @js_ability.cpp(124),ERROR" ID="0xe0c003e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="LIFECYCLE: JS Ability will be hidden @js_ability.cpp(127),INFO" ID="0xe0c003fd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Must trigger Launch first @js_ability.cpp(138),ERROR" ID="0xe0c00452" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="LIFECYCLE: JS Ability is exiting @js_ability.cpp(142),INFO" ID="0xe0c00475" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Fail to recover screen visible property @js_ability.cpp(152),ERROR" ID="0xe0c004c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Must trigger Launch first @js_ability.cpp(167),ERROR" ID="0xe0c0053a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ForceDestroy interface is deprecated as JS engine can not run on other task @js_ability.cpp(183),ERROR" ID="0xe0c005ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSAbility::HandleRenderTick js app is not forground @js_ability.cpp(218),ERROR" ID="0xe0c006d2" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="invalid input parameters @js_ability_impl.cpp(35),ERROR" ID="0xe0c4011a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="already initialized, return @js_ability_impl.cpp(40),ERROR" ID="0xe0c40142" />
- <MSG STRUCTURE="diag_log_msg0" NAME="relocate js file failed @js_ability_impl.cpp(62),ERROR" ID="0xe0c401f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc router heap memory failed. @js_ability_impl.cpp(77),ERROR" ID="0xe0c4026a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="no router instance to perform the show request @js_ability_impl.cpp(137),ERROR" ID="0xe0c4044a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="no router instance to perform the hide request @js_ability_impl.cpp(146),ERROR" ID="0xe0c40492" />
- <MSG STRUCTURE="diag_log_msg0" NAME="view model is undefined when call user's init @js_ability_impl.cpp(166),ERROR" ID="0xe0c40532" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="invalid input parameters @js_ability_impl.cpp(35),ERROR" ID="0xe0c2011a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="already initialized, return @js_ability_impl.cpp(40),ERROR" ID="0xe0c20142" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="relocate js file failed @js_ability_impl.cpp(62),ERROR" ID="0xe0c201f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc router heap memory failed. @js_ability_impl.cpp(77),ERROR" ID="0xe0c2026a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="no router instance to perform the show request @js_ability_impl.cpp(137),ERROR" ID="0xe0c2044a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="no router instance to perform the hide request @js_ability_impl.cpp(146),ERROR" ID="0xe0c20492" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="view model is undefined when call user's init @js_ability_impl.cpp(166),ERROR" ID="0xe0c20532" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="invalid snapshot version[%{public}d] @js_app_context.cpp(65),ERROR" ID="0xe0c6020a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Failed to eval js code cause by empty JavaScript script. @js_app_context.cpp(75),ERROR" ID="0xe0c6025a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="empty js file or length is incorrect, eval user code failed @js_app_context.cpp(86),ERROR" ID="0xe0c602b2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="JS mode changed unexpected [%{public}d] @js_app_context.cpp(161),ERROR" ID="0xe0c6050a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Failed to render app cause by render error. @js_app_context.cpp(180),ERROR" ID="0xe0c605a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Nothing to render as it is undefined. @js_app_context.cpp(185),ERROR" ID="0xe0c605ca" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc buffer for current ability path failed @js_app_context.cpp(222),ERROR" ID="0xe0c606f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc buffer for current uuid failed @js_app_context.cpp(239),ERROR" ID="0xe0c6077a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc buffer for current js path failed @js_app_context.cpp(269),ERROR" ID="0xe0c6086a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="uri is null. @js_app_context.cpp(302),ERROR" ID="0xe0c60972" />
- <MSG STRUCTURE="diag_log_msg0" NAME="uri is empty or too long. @js_app_context.cpp(307),ERROR" ID="0xe0c6099a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="fail to get resource path. @js_app_context.cpp(313),ERROR" ID="0xe0c609ca" />
- <MSG STRUCTURE="diag_log_msg0" NAME="fail to get resource path. @js_app_context.cpp(320),ERROR" ID="0xe0c60a02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="fail to get resource path. @js_app_context.cpp(325),ERROR" ID="0xe0c60a2a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="invalid snapshot version[%{public}d] @js_app_context.cpp(65),ERROR" ID="0xe0c4020a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Failed to eval js code cause by empty JavaScript script. @js_app_context.cpp(75),ERROR" ID="0xe0c4025a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="empty js file or length is incorrect, eval user code failed @js_app_context.cpp(86),ERROR" ID="0xe0c402b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="JS mode changed unexpected [%{public}d] @js_app_context.cpp(161),ERROR" ID="0xe0c4050a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Failed to render app cause by render error. @js_app_context.cpp(180),ERROR" ID="0xe0c405a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Nothing to render as it is undefined. @js_app_context.cpp(185),ERROR" ID="0xe0c405ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc buffer for current ability path failed @js_app_context.cpp(222),ERROR" ID="0xe0c406f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc buffer for current uuid failed @js_app_context.cpp(239),ERROR" ID="0xe0c4077a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc buffer for current js path failed @js_app_context.cpp(269),ERROR" ID="0xe0c4086a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="uri is null. @js_app_context.cpp(302),ERROR" ID="0xe0c40972" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="uri is empty or too long. @js_app_context.cpp(307),ERROR" ID="0xe0c4099a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="fail to get resource path. @js_app_context.cpp(313),ERROR" ID="0xe0c409ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="fail to get resource path. @js_app_context.cpp(320),ERROR" ID="0xe0c40a02" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="fail to get resource path. @js_app_context.cpp(325),ERROR" ID="0xe0c40a2a" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="JsAppEnvironment::JsAppEnvironment @js_app_environment.cpp(48),DBG" ID="0xe0c80186" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Failed to load JavaScript framework. @js_app_environment.cpp(110),ERROR" ID="0xe0c80372" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Success to load JavaScript framework. @js_app_environment.cpp(114),INFO" ID="0xe0c80395" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ACELite is running in snapshot mode @js_app_environment.cpp(143),DBG" ID="0xe0c8047e" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ACELite is running in JS parser mode @js_app_environment.cpp(145),DBG" ID="0xe0c8048e" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="JsAppEnvironment::JsAppEnvironment @js_app_environment.cpp(48),DBG" ID="0xe0c60186" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Failed to load JavaScript framework. @js_app_environment.cpp(110),ERROR" ID="0xe0c60372" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Success to load JavaScript framework. @js_app_environment.cpp(114),INFO" ID="0xe0c60395" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ACELite is running in snapshot mode @js_app_environment.cpp(143),DBG" ID="0xe0c6047e" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ACELite is running in JS parser mode @js_app_environment.cpp(145),DBG" ID="0xe0c6048e" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="Failed to parse image src cause by empty source. @js_fwk_common.cpp(1277),ERROR" ID="0xe06427ea" />
<MSG STRUCTURE="diag_log_msg0" NAME="Failed to parse image src cause by empty source. @js_fwk_common.cpp(1281),ERROR" ID="0xe064280a" />
<MSG STRUCTURE="diag_log_msg0" NAME="Relative path is not allowed in image src. @js_fwk_common.cpp(1288),ERROR" ID="0xe0642842" />
- <MSG STRUCTURE="diag_log_msg0" NAME="the fontFamily is too long @js_fwk_common.cpp(1340),ERROR" ID="0xe06429e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc string failed @js_fwk_common.cpp(1346),ERROR" ID="0xe0642a12" />
- <MSG STRUCTURE="diag_log_msg0" NAME="copy fontFamily failed @js_fwk_common.cpp(1350),ERROR" ID="0xe0642a32" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="the fontFamily is too long @js_fwk_common.cpp(1313),ERROR" ID="0xe064290a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc string failed @js_fwk_common.cpp(1319),ERROR" ID="0xe064293a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="copy fontFamily failed @js_fwk_common.cpp(1323),ERROR" ID="0xe064295a" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="undefined state -> init state @js_page_state.cpp(29),INFO" ID="0xe10400ed" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing undefined state to init state. @js_page_state.cpp(41),ERROR" ID="0xe104014a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="init state -> ready state @js_page_state.cpp(49),INFO" ID="0xe104018d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing init state to ready state. @js_page_state.cpp(60),ERROR" ID="0xe10401e2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> show state @js_page_state.cpp(68),INFO" ID="0xe1040225" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing ready state to show state. @js_page_state.cpp(77),ERROR" ID="0xe104026a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> background state @js_page_state.cpp(85),INFO" ID="0xe10402ad" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing show state to background state. @js_page_state.cpp(93),ERROR" ID="0xe10402ea" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> destroy state @js_page_state.cpp(102),INFO" ID="0xe1040335" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing show state to destroy state. @js_page_state.cpp(111),ERROR" ID="0xe104037a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="undefined state -> init state @js_page_state.cpp(29),INFO" ID="0xe10000ed" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing undefined state to init state. @js_page_state.cpp(41),ERROR" ID="0xe100014a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="init state -> ready state @js_page_state.cpp(49),INFO" ID="0xe100018d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing init state to ready state. @js_page_state.cpp(60),ERROR" ID="0xe10001e2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> show state @js_page_state.cpp(68),INFO" ID="0xe1000225" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing ready state to show state. @js_page_state.cpp(77),ERROR" ID="0xe100026a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> background state @js_page_state.cpp(85),INFO" ID="0xe10002ad" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing show state to background state. @js_page_state.cpp(93),ERROR" ID="0xe10002ea" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> destroy state @js_page_state.cpp(102),INFO" ID="0xe1000335" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing show state to destroy state. @js_page_state.cpp(111),ERROR" ID="0xe100037a" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(83),ERROR" ID="0xe106029a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc path memory heap failed. @js_page_state_machine.cpp(116),ERROR" ID="0xe10603a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(148),ERROR" ID="0xe10604a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as this app's root path is invalid. @js_page_state_machine.cpp(160),ERROR" ID="0xe1060502" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as object is invalid. @js_page_state_machine.cpp(177),ERROR" ID="0xe106058a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(186),ERROR" ID="0xe10605d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(194),ERROR" ID="0xe1060612" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is empty. @js_page_state_machine.cpp(201),ERROR" ID="0xe106064a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as generating js file's path failed. @js_page_state_machine.cpp(211),ERROR" ID="0xe106069a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as js file isn't existed. @js_page_state_machine.cpp(220),ERROR" ID="0xe10606e2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(278),ERROR" ID="0xe10608b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="relocat page JS file failed @js_page_state_machine.cpp(295),ERROR" ID="0xe106093a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Eval JS file failed @js_page_state_machine.cpp(301),ERROR" ID="0xe106096a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="JS Heap allocBytes[%d], peakAllocBytes[%d] @js_page_state_machine.cpp(333),DBG" ID="0xe1060a6e" />
- <MSG STRUCTURE="diag_log_msg0" NAME="StateMachine::ShowPage @js_page_state_machine.cpp(365),INFO" ID="0xe1060b6d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="showpage: the whole application already in background, do not operate rootview @js_page_state_machine.cpp(367),WARNING" ID="0xe1060b7b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="hidepage: the whole application already in background, do not operate rootview @js_page_state_machine.cpp(382),WARNING" ID="0xe1060bf3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="input parameter is invalid when invoking page life cycle callback. @js_page_state_machine.cpp(399),ERROR" ID="0xe1060c7a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(424),ERROR" ID="0xe1060d42" />
- <MSG STRUCTURE="diag_log_msg0" NAME="delete $root property failed from global object. @js_page_state_machine.cpp(433),ERROR" ID="0xe1060d8a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%d] components leaked! @js_page_state_machine.cpp(475),ERROR" ID="0xe1060eda" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(83),ERROR" ID="0xe102029a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc path memory heap failed. @js_page_state_machine.cpp(116),ERROR" ID="0xe10203a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(148),ERROR" ID="0xe10204a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as this app's root path is invalid. @js_page_state_machine.cpp(160),ERROR" ID="0xe1020502" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as object is invalid. @js_page_state_machine.cpp(177),ERROR" ID="0xe102058a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(186),ERROR" ID="0xe10205d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(194),ERROR" ID="0xe1020612" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is empty. @js_page_state_machine.cpp(201),ERROR" ID="0xe102064a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as generating js file's path failed. @js_page_state_machine.cpp(211),ERROR" ID="0xe102069a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as js file isn't existed. @js_page_state_machine.cpp(220),ERROR" ID="0xe10206e2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(278),ERROR" ID="0xe10208b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="relocat page JS file failed @js_page_state_machine.cpp(295),ERROR" ID="0xe102093a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Eval JS file failed @js_page_state_machine.cpp(301),ERROR" ID="0xe102096a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="JS Heap allocBytes[%d], peakAllocBytes[%d] @js_page_state_machine.cpp(333),DBG" ID="0xe1020a6e" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="StateMachine::ShowPage @js_page_state_machine.cpp(365),INFO" ID="0xe1020b6d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="showpage: the whole application already in background, do not operate rootview @js_page_state_machine.cpp(367),WARNING" ID="0xe1020b7b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="hidepage: the whole application already in background, do not operate rootview @js_page_state_machine.cpp(382),WARNING" ID="0xe1020bf3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="input parameter is invalid when invoking page life cycle callback. @js_page_state_machine.cpp(399),ERROR" ID="0xe1020c7a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(424),ERROR" ID="0xe1020d42" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="delete $root property failed from global object. @js_page_state_machine.cpp(433),ERROR" ID="0xe1020d8a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%d] components leaked! @js_page_state_machine.cpp(475),ERROR" ID="0xe1020eda" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="malloc performance data buffer failed @js_profiler.cpp(205),ERROR" ID="0xe0cc066a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc performance data buffer failed @js_profiler.cpp(211),ERROR" ID="0xe0cc069a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="sync js profiler msg error @js_profiler.cpp(224),ERROR" ID="0xe0cc0702" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler flushmsg sprintf error @js_profiler.cpp(231),ERROR" ID="0xe0cc073a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler create error @js_profiler.cpp(237),ERROR" ID="0xe0cc076a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler open error @js_profiler.cpp(243),ERROR" ID="0xe0cc079a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ace dump js profiler msg error @js_profiler.cpp(251),ERROR" ID="0xe0cc07da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler close error @js_profiler.cpp(257),ERROR" ID="0xe0cc080a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler memset_s failed @js_profiler.cpp(280),ERROR" ID="0xe0cc08c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler memset_s failed @js_profiler.cpp(289),ERROR" ID="0xe0cc090a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ace js profiler tag(%d) mismatch! @js_profiler.cpp(358),ERROR" ID="0xe0cc0b32" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler memset_s msg failed @js_profiler.cpp(394),ERROR" ID="0xe0cc0c52" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler write msg failed @js_profiler.cpp(398),ERROR" ID="0xe0cc0c72" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="malloc performance data buffer failed @js_profiler.cpp(205),ERROR" ID="0xe0ca066a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc performance data buffer failed @js_profiler.cpp(211),ERROR" ID="0xe0ca069a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="sync js profiler msg error @js_profiler.cpp(224),ERROR" ID="0xe0ca0702" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler flushmsg sprintf error @js_profiler.cpp(231),ERROR" ID="0xe0ca073a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler create error @js_profiler.cpp(237),ERROR" ID="0xe0ca076a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler open error @js_profiler.cpp(243),ERROR" ID="0xe0ca079a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ace dump js profiler msg error @js_profiler.cpp(251),ERROR" ID="0xe0ca07da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler close error @js_profiler.cpp(257),ERROR" ID="0xe0ca080a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler memset_s failed @js_profiler.cpp(280),ERROR" ID="0xe0ca08c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler memset_s failed @js_profiler.cpp(289),ERROR" ID="0xe0ca090a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ace js profiler tag(%d) mismatch! @js_profiler.cpp(358),ERROR" ID="0xe0ca0b32" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler memset_s msg failed @js_profiler.cpp(394),ERROR" ID="0xe0ca0c52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ace js profiler write msg failed @js_profiler.cpp(398),ERROR" ID="0xe0ca0c72" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="replace async failed with null input parameter @js_router.cpp(31),ERROR" ID="0xe10800fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="router is replacing, can not handle the new request @js_router.cpp(43),ERROR" ID="0xe108015a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc state machine memory heap failed. @js_router.cpp(48),ERROR" ID="0xe1080182" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dispatch replacing request failed @js_router.cpp(64),ERROR" ID="0xe1080202" />
- <MSG STRUCTURE="diag_log_msg0" NAME="replace sync failed, new sm should be prepared @js_router.cpp(78),ERROR" ID="0xe1080272" />
- <MSG STRUCTURE="diag_log_msg0" NAME="the whole application is in background, move to HIDE state directly @js_router.cpp(94),DBG" ID="0xe10802f6" />
- <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing show @js_router.cpp(110),ERROR" ID="0xe1080372" />
- <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing background @js_router.cpp(122),ERROR" ID="0xe10803d2" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="replace async failed with null input parameter @js_router.cpp(31),ERROR" ID="0xe10400fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="router is replacing, can not handle the new request @js_router.cpp(43),ERROR" ID="0xe104015a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc state machine memory heap failed. @js_router.cpp(48),ERROR" ID="0xe1040182" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dispatch replacing request failed @js_router.cpp(64),ERROR" ID="0xe1040202" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="replace sync failed, new sm should be prepared @js_router.cpp(78),ERROR" ID="0xe1040272" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="the whole application is in background, move to HIDE state directly @js_router.cpp(94),DBG" ID="0xe10402f6" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing show @js_router.cpp(110),ERROR" ID="0xe1040372" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing background @js_router.cpp(122),ERROR" ID="0xe10403d2" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetGlobalObject has not been implemented in this js engine! @jsi.cpp(33),ERROR" ID="0xe0d4010a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateObject has not been implemented in this js engine! @jsi.cpp(43),ERROR" ID="0xe0d4015a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetProperty failed! @jsi.cpp(51),ERROR" ID="0xe0d4019a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetProperty has not been implemented in this js engine! @jsi.cpp(61),ERROR" ID="0xe0d401ea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetNamedProperty failed! @jsi.cpp(68),ERROR" ID="0xe0d40222" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetNamedProperty has not been implemented in this js engine! @jsi.cpp(76),ERROR" ID="0xe0d40262" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetNumberProperty failed! @jsi.cpp(83),ERROR" ID="0xe0d4029a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetBooleanProperty failed! @jsi.cpp(94),ERROR" ID="0xe0d402f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetStringProperty failed! @jsi.cpp(105),ERROR" ID="0xe0d4034a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetStringPropertyWithBufferSize failed! @jsi.cpp(116),ERROR" ID="0xe0d403a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateJerryFuncHelper get function pointer failed! @jsi.cpp(137),ERROR" ID="0xe0d4044a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateJerryFuncHelper allocate memory failed! @jsi.cpp(149),ERROR" ID="0xe0d404aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateFunction failed! @jsi.cpp(166),ERROR" ID="0xe0d40532" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateFunction has not been implemented in this js engine! @jsi.cpp(175),ERROR" ID="0xe0d4057a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateString has not been implemented in this js engine! @jsi.cpp(188),ERROR" ID="0xe0d405e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateStringWithBufferSize has not been implemented in this js engine! @jsi.cpp(201),ERROR" ID="0xe0d4064a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateUndefined has not been implemented in this js engine! @jsi.cpp(210),ERROR" ID="0xe0d40692" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsFunction has not been implemented in this js engine! @jsi.cpp(220),ERROR" ID="0xe0d406e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsUndefined has not been implemented in this js engine! @jsi.cpp(230),ERROR" ID="0xe0d40732" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsNumber has not been implemented in this js engine! @jsi.cpp(240),ERROR" ID="0xe0d40782" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsString has not been implemented in this js engine! @jsi.cpp(250),ERROR" ID="0xe0d407d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsBoolean has not been implemented in this js engine! @jsi.cpp(260),ERROR" ID="0xe0d40822" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsNull has not been implemented in this js engine! @jsi.cpp(270),ERROR" ID="0xe0d40872" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsObject has not been implemented in this js engine! @jsi.cpp(280),ERROR" ID="0xe0d408c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsError has not been implemented in this js engine! @jsi.cpp(290),ERROR" ID="0xe0d40912" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:JsonStringify failed! @jsi.cpp(298),ERROR" ID="0xe0d40952" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:JsonStringify has not been implemented in this js engine! @jsi.cpp(307),ERROR" ID="0xe0d4099a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:JsonParse failed! @jsi.cpp(315),ERROR" ID="0xe0d409da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:JsonParse has not been implemented in this js engine! @jsi.cpp(322),ERROR" ID="0xe0d40a12" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetProperty failed! @jsi.cpp(330),ERROR" ID="0xe0d40a52" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetProperty has not been implemented in this js engine! @jsi.cpp(338),ERROR" ID="0xe0d40a92" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetNamedProperty failed! @jsi.cpp(346),ERROR" ID="0xe0d40ad2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetNamedProperty has not been implemented in this js engine! @jsi.cpp(355),ERROR" ID="0xe0d40b1a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetNumberProperty failed! @jsi.cpp(363),ERROR" ID="0xe0d40b5a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetBooleanProperty failed! @jsi.cpp(375),ERROR" ID="0xe0d40bba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetStringProperty failed! @jsi.cpp(387),ERROR" ID="0xe0d40c1a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ReleaseValue has not been implemented in this js engine! @jsi.cpp(403),ERROR" ID="0xe0d40c9a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetStringPropertyWithBufferSize failed! @jsi.cpp(410),ERROR" ID="0xe0d40cd2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CallFunction failed! @jsi.cpp(430),ERROR" ID="0xe0d40d72" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CallFunction error returned! @jsi.cpp(439),ERROR" ID="0xe0d40dba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CallFunction allocate memory failed! @jsi.cpp(446),ERROR" ID="0xe0d40df2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CallFunction error returned! @jsi.cpp(455),ERROR" ID="0xe0d40e3a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CallFunction has not been implemented in this js engine! @jsi.cpp(461),ERROR" ID="0xe0d40e6a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateNumber has not been implemented in this js engine! @jsi.cpp(470),ERROR" ID="0xe0d40eb2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateNumberNan has not been implemented in this js engine! @jsi.cpp(480),ERROR" ID="0xe0d40f02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateError parameters invalid! @jsi.cpp(555),ERROR" ID="0xe0d4115a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateError has not been implemented in this js engine! @jsi.cpp(563),ERROR" ID="0xe0d4119a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetErrorType has not been implemented in this js engine! @jsi.cpp(578),ERROR" ID="0xe0d41212" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateBoolean has not been implemented in this js engine! @jsi.cpp(588),ERROR" ID="0xe0d41262" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateNull has not been implemented in this js engine! @jsi.cpp(598),ERROR" ID="0xe0d412b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateSymbol has not been implemented in this js engine! @jsi.cpp(610),ERROR" ID="0xe0d41312" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsSymbol has not been implemented in this js engine! @jsi.cpp(620),ERROR" ID="0xe0d41362" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateArray has not been implemented in this js engine! @jsi.cpp(631),ERROR" ID="0xe0d413ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetPropertyByIndex has not been implemented in this js engine! @jsi.cpp(650),ERROR" ID="0xe0d41452" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToString params invalid! @jsi.cpp(661),ERROR" ID="0xe0d414aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToString malloc memory for empty char failed! @jsi.cpp(670),ERROR" ID="0xe0d414f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToString malloc memory failed! @jsi.cpp(678),ERROR" ID="0xe0d41532" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToString jerry string to char buffer failed @jsi.cpp(683),ERROR" ID="0xe0d4155a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToString has not been implemented in this js engine! @jsi.cpp(693),ERROR" ID="0xe0d415aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToStringWithBufferSize params invalid! @jsi.cpp(703),ERROR" ID="0xe0d415fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToStringWithBufferSize malloc memory failed! @jsi.cpp(716),ERROR" ID="0xe0d41662" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToStringWithBufferSize jerry string to char buffer failed @jsi.cpp(722),ERROR" ID="0xe0d41692" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToStringWithBufferSize has not been implemented in this js engine! @jsi.cpp(731),ERROR" ID="0xe0d416da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToNumber params invalid! @jsi.cpp(742),ERROR" ID="0xe0d41732" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToNumber has not been implemented in this js engine! @jsi.cpp(747),ERROR" ID="0xe0d4175a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToBoolean params invalid! @jsi.cpp(757),ERROR" ID="0xe0d417aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToBoolean has not been implemented in this js engine! @jsi.cpp(762),ERROR" ID="0xe0d417d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:JSIValueToString has not been implemented in this js engine! @jsi.cpp(775),ERROR" ID="0xe0d4183a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetArrayLength params invalid! @jsi.cpp(785),ERROR" ID="0xe0d4188a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetArrayLength has not been implemented in this js engine! @jsi.cpp(790),ERROR" ID="0xe0d418b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetPropertyByIndex has not been implemented in this js engine! @jsi.cpp(801),ERROR" ID="0xe0d4190a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetObjectKeys failed! @jsi.cpp(809),ERROR" ID="0xe0d4194a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetObjectKeys has not been implemented in this js engine! @jsi.cpp(816),ERROR" ID="0xe0d41982" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetJSHeapStatus has not been implemented in this js engine! @jsi.cpp(833),ERROR" ID="0xe0d41a0a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsArray has not been implemented in this js engine! @jsi.cpp(843),ERROR" ID="0xe0d41a5a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:AcquireValue has not been implemented in this js engine! @jsi.cpp(854),ERROR" ID="0xe0d41ab2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetModuleAPI failed! @jsi.cpp(862),ERROR" ID="0xe0d41af2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetOnDestroy failed! @jsi.cpp(873),ERROR" ID="0xe0d41b4a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetOnDestroy has not been implemented in this js engine! @jsi.cpp(880),ERROR" ID="0xe0d41b82" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetOnTerminate failed! @jsi.cpp(892),ERROR" ID="0xe0d41be2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetNamedPointer failed! @jsi.cpp(909),ERROR" ID="0xe0d41c6a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetNamedPointer has not been implemented in this js engine! @jsi.cpp(919),ERROR" ID="0xe0d41cba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetTypedArrayInfo failed! @jsi.cpp(972),ERROR" ID="0xe0d41e62" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetTypedArrayInfo has not been implemented in this js engine! @jsi.cpp(990),ERROR" ID="0xe0d41ef2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateTypedArray has not been implemented in this js engine! @jsi.cpp(1045),ERROR" ID="0xe0d420aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetArrayBufferInfo failed! @jsi.cpp(1053),ERROR" ID="0xe0d420ea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetArrayBufferInfo has not been implemented in this js engine! @jsi.cpp(1063),ERROR" ID="0xe0d4213a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateArrayBuffer has not been implemented in this js engine! @jsi.cpp(1078),ERROR" ID="0xe0d421b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsArrayBuffer has not been implemented in this js engine! @jsi.cpp(1088),ERROR" ID="0xe0d42202" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsTypedArray has not been implemented in this js engine! @jsi.cpp(1098),ERROR" ID="0xe0d42252" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:DefineProperty failed! @jsi.cpp(1107),ERROR" ID="0xe0d4229a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:DefineProperty has not been implemented in this js engine! @jsi.cpp(1134),ERROR" ID="0xe0d42372" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:DefineNamedProperty failed! @jsi.cpp(1142),ERROR" ID="0xe0d423b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:DefineNamedProperty has not been implemented in this js engine! @jsi.cpp(1151),ERROR" ID="0xe0d423fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateErrorWithCode parameters invalid! @jsi.cpp(1201),ERROR" ID="0xe0d4258a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateErrorWithCode error message too long! @jsi.cpp(1206),ERROR" ID="0xe0d425b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateErrorWithCode has not been implemented in this js engine! @jsi.cpp(1219),ERROR" ID="0xe0d4261a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetGlobalObject has not been implemented in this js engine! @jsi.cpp(33),ERROR" ID="0xe0d2010a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateObject has not been implemented in this js engine! @jsi.cpp(43),ERROR" ID="0xe0d2015a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetProperty failed! @jsi.cpp(51),ERROR" ID="0xe0d2019a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetProperty has not been implemented in this js engine! @jsi.cpp(61),ERROR" ID="0xe0d201ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetNamedProperty failed! @jsi.cpp(68),ERROR" ID="0xe0d20222" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetNamedProperty has not been implemented in this js engine! @jsi.cpp(76),ERROR" ID="0xe0d20262" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetNumberProperty failed! @jsi.cpp(83),ERROR" ID="0xe0d2029a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetBooleanProperty failed! @jsi.cpp(94),ERROR" ID="0xe0d202f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetStringProperty failed! @jsi.cpp(105),ERROR" ID="0xe0d2034a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetStringPropertyWithBufferSize failed! @jsi.cpp(116),ERROR" ID="0xe0d203a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateJerryFuncHelper get function pointer failed! @jsi.cpp(137),ERROR" ID="0xe0d2044a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateJerryFuncHelper allocate memory failed! @jsi.cpp(149),ERROR" ID="0xe0d204aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateFunction failed! @jsi.cpp(166),ERROR" ID="0xe0d20532" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateFunction has not been implemented in this js engine! @jsi.cpp(175),ERROR" ID="0xe0d2057a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateString has not been implemented in this js engine! @jsi.cpp(188),ERROR" ID="0xe0d205e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateStringWithBufferSize has not been implemented in this js engine! @jsi.cpp(201),ERROR" ID="0xe0d2064a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateUndefined has not been implemented in this js engine! @jsi.cpp(210),ERROR" ID="0xe0d20692" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsFunction has not been implemented in this js engine! @jsi.cpp(220),ERROR" ID="0xe0d206e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsUndefined has not been implemented in this js engine! @jsi.cpp(230),ERROR" ID="0xe0d20732" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsNumber has not been implemented in this js engine! @jsi.cpp(240),ERROR" ID="0xe0d20782" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsString has not been implemented in this js engine! @jsi.cpp(250),ERROR" ID="0xe0d207d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsBoolean has not been implemented in this js engine! @jsi.cpp(260),ERROR" ID="0xe0d20822" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsNull has not been implemented in this js engine! @jsi.cpp(270),ERROR" ID="0xe0d20872" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsObject has not been implemented in this js engine! @jsi.cpp(280),ERROR" ID="0xe0d208c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsError has not been implemented in this js engine! @jsi.cpp(290),ERROR" ID="0xe0d20912" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:JsonStringify failed! @jsi.cpp(298),ERROR" ID="0xe0d20952" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:JsonStringify has not been implemented in this js engine! @jsi.cpp(307),ERROR" ID="0xe0d2099a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:JsonParse failed! @jsi.cpp(315),ERROR" ID="0xe0d209da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:JsonParse has not been implemented in this js engine! @jsi.cpp(322),ERROR" ID="0xe0d20a12" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetProperty failed! @jsi.cpp(330),ERROR" ID="0xe0d20a52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetProperty has not been implemented in this js engine! @jsi.cpp(338),ERROR" ID="0xe0d20a92" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetNamedProperty failed! @jsi.cpp(346),ERROR" ID="0xe0d20ad2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetNamedProperty has not been implemented in this js engine! @jsi.cpp(355),ERROR" ID="0xe0d20b1a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetNumberProperty failed! @jsi.cpp(363),ERROR" ID="0xe0d20b5a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetBooleanProperty failed! @jsi.cpp(375),ERROR" ID="0xe0d20bba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetStringProperty failed! @jsi.cpp(387),ERROR" ID="0xe0d20c1a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ReleaseValue has not been implemented in this js engine! @jsi.cpp(403),ERROR" ID="0xe0d20c9a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetStringPropertyWithBufferSize failed! @jsi.cpp(410),ERROR" ID="0xe0d20cd2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CallFunction failed! @jsi.cpp(430),ERROR" ID="0xe0d20d72" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CallFunction error returned! @jsi.cpp(439),ERROR" ID="0xe0d20dba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CallFunction allocate memory failed! @jsi.cpp(446),ERROR" ID="0xe0d20df2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CallFunction error returned! @jsi.cpp(455),ERROR" ID="0xe0d20e3a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CallFunction has not been implemented in this js engine! @jsi.cpp(461),ERROR" ID="0xe0d20e6a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateNumber has not been implemented in this js engine! @jsi.cpp(470),ERROR" ID="0xe0d20eb2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateNumberNan has not been implemented in this js engine! @jsi.cpp(480),ERROR" ID="0xe0d20f02" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateError parameters invalid! @jsi.cpp(555),ERROR" ID="0xe0d2115a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateError has not been implemented in this js engine! @jsi.cpp(563),ERROR" ID="0xe0d2119a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetErrorType has not been implemented in this js engine! @jsi.cpp(578),ERROR" ID="0xe0d21212" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateBoolean has not been implemented in this js engine! @jsi.cpp(588),ERROR" ID="0xe0d21262" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateNull has not been implemented in this js engine! @jsi.cpp(598),ERROR" ID="0xe0d212b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateSymbol has not been implemented in this js engine! @jsi.cpp(610),ERROR" ID="0xe0d21312" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsSymbol has not been implemented in this js engine! @jsi.cpp(620),ERROR" ID="0xe0d21362" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateArray has not been implemented in this js engine! @jsi.cpp(631),ERROR" ID="0xe0d213ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetPropertyByIndex has not been implemented in this js engine! @jsi.cpp(650),ERROR" ID="0xe0d21452" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToString params invalid! @jsi.cpp(661),ERROR" ID="0xe0d214aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToString malloc memory for empty char failed! @jsi.cpp(670),ERROR" ID="0xe0d214f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToString malloc memory failed! @jsi.cpp(678),ERROR" ID="0xe0d21532" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToString jerry string to char buffer failed @jsi.cpp(683),ERROR" ID="0xe0d2155a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToString has not been implemented in this js engine! @jsi.cpp(693),ERROR" ID="0xe0d215aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToStringWithBufferSize params invalid! @jsi.cpp(703),ERROR" ID="0xe0d215fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToStringWithBufferSize malloc memory failed! @jsi.cpp(716),ERROR" ID="0xe0d21662" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToStringWithBufferSize jerry string to char buffer failed @jsi.cpp(722),ERROR" ID="0xe0d21692" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToStringWithBufferSize has not been implemented in this js engine! @jsi.cpp(731),ERROR" ID="0xe0d216da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToNumber params invalid! @jsi.cpp(742),ERROR" ID="0xe0d21732" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToNumber has not been implemented in this js engine! @jsi.cpp(747),ERROR" ID="0xe0d2175a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToBoolean params invalid! @jsi.cpp(757),ERROR" ID="0xe0d217aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueToBoolean has not been implemented in this js engine! @jsi.cpp(762),ERROR" ID="0xe0d217d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:JSIValueToString has not been implemented in this js engine! @jsi.cpp(775),ERROR" ID="0xe0d2183a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetArrayLength params invalid! @jsi.cpp(785),ERROR" ID="0xe0d2188a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetArrayLength has not been implemented in this js engine! @jsi.cpp(790),ERROR" ID="0xe0d218b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetPropertyByIndex has not been implemented in this js engine! @jsi.cpp(801),ERROR" ID="0xe0d2190a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetObjectKeys failed! @jsi.cpp(809),ERROR" ID="0xe0d2194a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetObjectKeys has not been implemented in this js engine! @jsi.cpp(816),ERROR" ID="0xe0d21982" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetJSHeapStatus has not been implemented in this js engine! @jsi.cpp(833),ERROR" ID="0xe0d21a0a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsArray has not been implemented in this js engine! @jsi.cpp(843),ERROR" ID="0xe0d21a5a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:AcquireValue has not been implemented in this js engine! @jsi.cpp(854),ERROR" ID="0xe0d21ab2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetModuleAPI failed! @jsi.cpp(862),ERROR" ID="0xe0d21af2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetOnDestroy failed! @jsi.cpp(873),ERROR" ID="0xe0d21b4a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetOnDestroy has not been implemented in this js engine! @jsi.cpp(880),ERROR" ID="0xe0d21b82" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetOnTerminate failed! @jsi.cpp(892),ERROR" ID="0xe0d21be2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetNamedPointer failed! @jsi.cpp(909),ERROR" ID="0xe0d21c6a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:SetNamedPointer has not been implemented in this js engine! @jsi.cpp(919),ERROR" ID="0xe0d21cba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetTypedArrayInfo failed! @jsi.cpp(972),ERROR" ID="0xe0d21e62" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetTypedArrayInfo has not been implemented in this js engine! @jsi.cpp(990),ERROR" ID="0xe0d21ef2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateTypedArray has not been implemented in this js engine! @jsi.cpp(1045),ERROR" ID="0xe0d220aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetArrayBufferInfo failed! @jsi.cpp(1053),ERROR" ID="0xe0d220ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:GetArrayBufferInfo has not been implemented in this js engine! @jsi.cpp(1063),ERROR" ID="0xe0d2213a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateArrayBuffer has not been implemented in this js engine! @jsi.cpp(1078),ERROR" ID="0xe0d221b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsArrayBuffer has not been implemented in this js engine! @jsi.cpp(1088),ERROR" ID="0xe0d22202" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:ValueIsTypedArray has not been implemented in this js engine! @jsi.cpp(1098),ERROR" ID="0xe0d22252" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:DefineProperty failed! @jsi.cpp(1107),ERROR" ID="0xe0d2229a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:DefineProperty has not been implemented in this js engine! @jsi.cpp(1134),ERROR" ID="0xe0d22372" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:DefineNamedProperty failed! @jsi.cpp(1142),ERROR" ID="0xe0d223b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:DefineNamedProperty has not been implemented in this js engine! @jsi.cpp(1151),ERROR" ID="0xe0d223fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateErrorWithCode parameters invalid! @jsi.cpp(1201),ERROR" ID="0xe0d2258a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateErrorWithCode error message too long! @jsi.cpp(1206),ERROR" ID="0xe0d225b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="JSI:CreateErrorWithCode has not been implemented in this js engine! @jsi.cpp(1219),ERROR" ID="0xe0d2261a" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="list node create fail! @local_device_manager.c(118),ERROR" ID="0xd80803b2" />
- <MSG STRUCTURE="diag_log_msg6" NAME="generate addr: ****%02x%02x%02x%02x name: %s sp-ret: %d @local_device_manager.c(242),INFO" ID="0xd8080795" />
- <MSG STRUCTURE="diag_log_msg1" NAME="local dev info write error! ret 0x%x @local_device_manager.c(267),ERROR" ID="0xd808085a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="deinit bt stack @local_device_manager.c(303),INFO" ID="0xd808097d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(379),ERROR" ID="0xd8080bda" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] ble gap conn state change fail. @local_device_manager.c(398),ERROR" ID="0xd8080c72" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] ble gap conn addr memcpy fail. @local_device_manager.c(407),ERROR" ID="0xd8080cba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble smp can not find connect node by handle @local_device_manager.c(437),ERROR" ID="0xd8080daa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] ble gap conn addr memcpy fail. @local_device_manager.c(446),ERROR" ID="0xd8080df2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(467),ERROR" ID="0xd8080e9a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble enable err,B core may be not calibration end and not notify A Core @local_device_manager.c(491),ERROR" ID="0xd8080f5a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt init err ret = %08x @local_device_manager.c(522),ERROR" ID="0xd8081052" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @local_device_manager.c(620),WARNING" ID="0xd8081363" />
- <MSG STRUCTURE="diag_log_msg0" NAME="inquiry complete @local_device_manager.c(628),INFO" ID="0xd80813a5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl:0x%08x @local_device_manager.c(635),INFO" ID="0xd80813dd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl:0x%08x @local_device_manager.c(649),INFO" ID="0xd808144d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="btsrv_connection_request_ind_callback: memecpy error @local_device_manager.c(663),ERROR" ID="0xd80814ba" />
- <MSG STRUCTURE="diag_log_msg4" NAME="addr:****%02x%02x%02x%02x @local_device_manager.c(668),INFO" ID="0xd80814e5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl:0x%08x @local_device_manager.c(678),INFO" ID="0xd8081535" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @local_device_manager.c(693),ERROR" ID="0xd80815aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @local_device_manager.c(707),ERROR" ID="0xd808161a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @local_device_manager.c(713),ERROR" ID="0xd808164a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @local_device_manager.c(742),ERROR" ID="0xd8081732" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @local_device_manager.c(748),ERROR" ID="0xd8081762" />
- <MSG STRUCTURE="diag_log_msg8" NAME="conn_hdl: %08x event: %04x role: %x result: %x dev_hdl: %x svc_hdl: %x svc_class: %x duration: %d @local_device_manager.c(762),INFO" ID="0xd80817d5" />
- <MSG STRUCTURE="diag_log_msg2" NAME="received_bytes: %d sent_bytes: %d @local_device_manager.c(765),INFO" ID="0xd80817ed" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unhandled service class 0x%x @local_device_manager.c(791),WARNING" ID="0xd80818bb" />
- <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x num_value: %06d @local_device_manager.c(814),INFO" ID="0xd8081975" />
- <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: 0x%08x @local_device_manager.c(821),INFO" ID="0xd80819ad" />
- <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: 0x%08x @local_device_manager.c(828),INFO" ID="0xd80819e5" />
- <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x num_value: %06d @local_device_manager.c(834),INFO" ID="0xd8081a15" />
- <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x reason: %x @local_device_manager.c(848),INFO" ID="0xd8081a85" />
- <MSG STRUCTURE="diag_log_msg1" NAME="white_list_size:%d @local_device_manager.c(854),INFO" ID="0xd8081ab5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="transmit_power_level:%d @local_device_manager.c(859),INFO" ID="0xd8081add" />
- <MSG STRUCTURE="diag_log_msg2" NAME="register err id: %x ret: %x @local_device_manager.c(890),ERROR" ID="0xd8081bd2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt enable err,B core may be not calibration end and not notify A Core @local_device_manager.c(925),ERROR" ID="0xd8081cea" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt_init err ret = %08x @local_device_manager.c(954),ERROR" ID="0xd8081dd2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="buff is't long enough, need length:%d. @local_device_manager.c(1062),ERROR" ID="0xd8082132" />
- <MSG STRUCTURE="diag_log_msg0" NAME="get local name memcpy fail. @local_device_manager.c(1066),ERROR" ID="0xd8082152" />
- <MSG STRUCTURE="diag_log_msg2" NAME="name: %s, length: %d @local_device_manager.c(1075),INFO" ID="0xd808219d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="failed: bt not enabled @local_device_manager.c(1090),INFO" ID="0xd8082215" />
- <MSG STRUCTURE="diag_log_msg1" NAME="local name null or length not match, len: %d @local_device_manager.c(1094),INFO" ID="0xd8082235" />
- <MSG STRUCTURE="diag_log_msg1" NAME="returns error ret: %x @local_device_manager.c(1100),WARNING" ID="0xd8082263" />
- <MSG STRUCTURE="diag_log_msg3" NAME="set result name: "%s" name_len: %d get_re: %x @local_device_manager.c(1106),INFO" ID="0xd8082295" />
- <MSG STRUCTURE="diag_log_msg0" NAME="gap_remove_all_pairs fail @local_device_manager.c(1166),ERROR" ID="0xd8082472" />
- <MSG STRUCTURE="diag_log_msg0" NAME="gap ble remove all pairs fail @local_device_manager.c(1172),ERROR" ID="0xd80824a2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="diable_bt_ret(errcode_t): %x @local_device_manager.c(1179),INFO" ID="0xd80824dd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="disable_ble_ret(errcode_t): %x @local_device_manager.c(1184),INFO" ID="0xd8082505" />
- <MSG STRUCTURE="diag_log_msg0" NAME="set discovery data pointer is null. @local_device_manager.c(1215),ERROR" ID="0xd80825fa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="adv_id(%d) advertising, please stop first. @local_device_manager.c(1233),ERROR" ID="0xd808268a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="adv data alloc faild, length:%d @local_device_manager.c(1246),ERROR" ID="0xd80826f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap_ble_set_adv_data adv data memcpy_s fail @local_device_manager.c(1250),ERROR" ID="0xd8082712" />
- <MSG STRUCTURE="diag_log_msg1" NAME="scan rsp data alloc faild, length:%d @local_device_manager.c(1259),ERROR" ID="0xd808275a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap_ble_set_adv_data scan rsp data memcpy_s fail @local_device_manager.c(1263),ERROR" ID="0xd808277a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="adv_id(%d) advertising, please stop first. @local_device_manager.c(1302),ERROR" ID="0xd80828b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap ble set adv param memcpy_s fail @local_device_manager.c(1314),ERROR" ID="0xd8082912" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap ble set adv param memcpy_s fail @local_device_manager.c(1328),ERROR" ID="0xd8082982" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gap set sec param error param NULL @local_device_manager.c(1350),ERROR" ID="0xd8082a32" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gap set sec param error param NULL @local_device_manager.c(1355),ERROR" ID="0xd8082a5a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt has page scanning enabled. @local_device_manager.c(1379),ERROR" ID="0xd8082b1a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt has an ACL connection. @local_device_manager.c(1385),ERROR" ID="0xd8082b4a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[CTKD] please set ble secure connection enable,current_sc=%d. @local_device_manager.c(1402),ERROR" ID="0xd8082bd2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap set adv data memcpy_s fail @local_device_manager.c(1425),ERROR" ID="0xd8082c8a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap set scan rsp data memcpy_s fail @local_device_manager.c(1432),ERROR" ID="0xd8082cc2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] btsrv_gap_set_adv_param memcpy_s fail @local_device_manager.c(1451),ERROR" ID="0xd8082d5a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap set adv param memcpy_s fail @local_device_manager.c(1456),ERROR" ID="0xd8082d82" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gap ext adv rpt memcpy fail @local_device_manager.c(1476),ERROR" ID="0xd8082e22" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gap ext adv rpt memcpy fail @local_device_manager.c(1491),ERROR" ID="0xd8082e9a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gap adv set terminated cbk param error @local_device_manager.c(1503),ERROR" ID="0xd8082efa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble enable cbk param error @local_device_manager.c(1514),ERROR" ID="0xd8082f52" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble read remote rssi cbk param error @local_device_manager.c(1525),ERROR" ID="0xd8082faa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble conn param update cbk param error @local_device_manager.c(1541),ERROR" ID="0xd808302a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gap conn param malloc fail @local_device_manager.c(1555),ERROR" ID="0xd808309a" />
- <MSG STRUCTURE="diag_log_msg3" NAME="ble conn param update cbk interval:%x, latency:%x, timeout:%x @local_device_manager.c(1562),INFO" ID="0xd80830d5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(1596),ERROR" ID="0xd80831e2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="adv id(%d) is discoverying, please stop first. @local_device_manager.c(1600),ERROR" ID="0xd8083202" />
- <MSG STRUCTURE="diag_log_msg0" NAME="adv param alloc fail @local_device_manager.c(1609),ERROR" ID="0xd808324a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(1642),ERROR" ID="0xd8083352" />
- <MSG STRUCTURE="diag_log_msg2" NAME="no advertising in progress or advertising for adv_id(%d). No advertising for adv_id(%d). @local_device_manager.c(1648),ERROR" ID="0xd8083382" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mc sdk ble stop adv atb failed @local_device_manager.c(1654),ERROR" ID="0xd80833b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="scanning in process, please stop first. @local_device_manager.c(1688),ERROR" ID="0xd80834c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="scanning already stopped. @local_device_manager.c(1720),ERROR" ID="0xd80835c2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble stop extern scan ret: %#x @local_device_manager.c(1724),INFO" ID="0xd80835e5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble set phy node == NULL @local_device_manager.c(1749),ERROR" ID="0xd80836aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble set phy memcpy fail @local_device_manager.c(1755),ERROR" ID="0xd80836da" />
- <MSG STRUCTURE="diag_log_msg5" NAME="ble general set phy hdl:%x all:%x rx:%x tx:%x op:%x. @local_device_manager.c(1761),INFO" ID="0xd808370d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble set phy ret: %#x @local_device_manager.c(1764),ERROR" ID="0xd8083722" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble set data length node == NULL @local_device_manager.c(1786),ERROR" ID="0xd80837d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble set data length memcpy fail @local_device_manager.c(1792),ERROR" ID="0xd8083802" />
- <MSG STRUCTURE="diag_log_msg3" NAME="ble general set len hdl:%x maxoct:%x maxtime:%x @local_device_manager.c(1798),INFO" ID="0xd8083835" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble set len ret: %#x @local_device_manager.c(1801),ERROR" ID="0xd808384a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bts sert log type levle:%x @local_device_manager.c(1819),INFO" ID="0xd80838dd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="g_bts_feature_bitmap bt_auto_reconnect_closed:%d. @local_device_manager.c(1840),ERROR" ID="0xd8083982" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg6" NAME="generate addr: ****%02x%02x%02x%02x name: %s sp-ret: %d @local_device_manager.c(238),INFO" ID="0xd8080775" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="local dev info write error! ret 0x%x @local_device_manager.c(263),ERROR" ID="0xd808083a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="deinit bt stack @local_device_manager.c(298),INFO" ID="0xd8080955" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(374),ERROR" ID="0xd8080bb2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] ble gap conn state change fail. @local_device_manager.c(393),ERROR" ID="0xd8080c4a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] ble gap conn addr memcpy fail. @local_device_manager.c(402),ERROR" ID="0xd8080c92" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble smp can not find connect node by handle @local_device_manager.c(430),ERROR" ID="0xd8080d72" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] ble gap conn addr memcpy fail. @local_device_manager.c(437),ERROR" ID="0xd8080daa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(458),ERROR" ID="0xd8080e52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble enable err,B core may be not calibration end and not notify A Core @local_device_manager.c(482),ERROR" ID="0xd8080f12" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt init err ret = %08x @local_device_manager.c(513),ERROR" ID="0xd808100a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @local_device_manager.c(610),WARNING" ID="0xd8081313" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="inquiry complete @local_device_manager.c(618),INFO" ID="0xd8081355" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl:0x%08x @local_device_manager.c(625),INFO" ID="0xd808138d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl:0x%08x @local_device_manager.c(639),INFO" ID="0xd80813fd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="btsrv_connection_request_ind_callback: memecpy error @local_device_manager.c(653),ERROR" ID="0xd808146a" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="addr:****%02x%02x%02x%02x @local_device_manager.c(658),INFO" ID="0xd8081495" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl:0x%08x @local_device_manager.c(668),INFO" ID="0xd80814e5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @local_device_manager.c(682),ERROR" ID="0xd8081552" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @local_device_manager.c(696),ERROR" ID="0xd80815c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @local_device_manager.c(702),ERROR" ID="0xd80815f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @local_device_manager.c(731),ERROR" ID="0xd80816da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @local_device_manager.c(737),ERROR" ID="0xd808170a" />
+ <MSG STRUCTURE="diag_log_msg8" NAME="conn_hdl: %08x event: %04x role: %x result: %x dev_hdl: %x svc_hdl: %x svc_class: %x duration: %d @local_device_manager.c(751),INFO" ID="0xd808177d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="received_bytes: %d sent_bytes: %d @local_device_manager.c(754),INFO" ID="0xd8081795" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unhandled service class 0x%x @local_device_manager.c(780),WARNING" ID="0xd8081863" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x num_value: %06d @local_device_manager.c(803),INFO" ID="0xd808191d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: 0x%08x @local_device_manager.c(810),INFO" ID="0xd8081955" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: 0x%08x @local_device_manager.c(817),INFO" ID="0xd808198d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x num_value: %06d @local_device_manager.c(823),INFO" ID="0xd80819bd" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x reason: %x @local_device_manager.c(837),INFO" ID="0xd8081a2d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="white_list_size:%d @local_device_manager.c(843),INFO" ID="0xd8081a5d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="transmit_power_level:%d @local_device_manager.c(848),INFO" ID="0xd8081a85" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="register err id: %x ret: %x @local_device_manager.c(879),ERROR" ID="0xd8081b7a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt enable err,B core may be not calibration end and not notify A Core @local_device_manager.c(914),ERROR" ID="0xd8081c92" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt_init err ret = %08x @local_device_manager.c(943),ERROR" ID="0xd8081d7a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="buff is't long enough, need length:%d. @local_device_manager.c(1050),ERROR" ID="0xd80820d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get local name memcpy fail. @local_device_manager.c(1054),ERROR" ID="0xd80820f2" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="name: %s, length: %d @local_device_manager.c(1063),INFO" ID="0xd808213d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="failed: bt not enabled @local_device_manager.c(1078),INFO" ID="0xd80821b5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="local name null or length not match, len: %d @local_device_manager.c(1082),INFO" ID="0xd80821d5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="returns error ret: %x @local_device_manager.c(1088),WARNING" ID="0xd8082203" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="set result name: "%s" name_len: %d get_re: %x @local_device_manager.c(1094),INFO" ID="0xd8082235" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gap_remove_all_pairs fail @local_device_manager.c(1154),ERROR" ID="0xd8082412" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gap ble remove all pairs fail @local_device_manager.c(1160),ERROR" ID="0xd8082442" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="diable_bt_ret(errcode_t): %x @local_device_manager.c(1167),INFO" ID="0xd808247d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="disable_ble_ret(errcode_t): %x @local_device_manager.c(1172),INFO" ID="0xd80824a5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="set discovery data pointer is null. @local_device_manager.c(1203),ERROR" ID="0xd808259a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="adv_id(%d) advertising, please stop first. @local_device_manager.c(1218),ERROR" ID="0xd8082612" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="adv data alloc faild, length:%d @local_device_manager.c(1231),ERROR" ID="0xd808267a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap_ble_set_adv_data adv data memcpy_s fail @local_device_manager.c(1235),ERROR" ID="0xd808269a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="scan rsp data alloc faild, length:%d @local_device_manager.c(1244),ERROR" ID="0xd80826e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap_ble_set_adv_data scan rsp data memcpy_s fail @local_device_manager.c(1248),ERROR" ID="0xd8082702" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="adv_id(%d) advertising, please stop first. @local_device_manager.c(1284),ERROR" ID="0xd8082822" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap ble set adv param memcpy_s fail @local_device_manager.c(1296),ERROR" ID="0xd8082882" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap ble set adv param memcpy_s fail @local_device_manager.c(1310),ERROR" ID="0xd80828f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble gap set sec param error param NULL @local_device_manager.c(1332),ERROR" ID="0xd80829a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble gap set sec param error param NULL @local_device_manager.c(1337),ERROR" ID="0xd80829ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap set adv data memcpy_s fail @local_device_manager.c(1361),ERROR" ID="0xd8082a8a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap set scan rsp data memcpy_s fail @local_device_manager.c(1368),ERROR" ID="0xd8082ac2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] btsrv_gap_set_adv_param memcpy_s fail @local_device_manager.c(1387),ERROR" ID="0xd8082b5a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap set adv param memcpy_s fail @local_device_manager.c(1392),ERROR" ID="0xd8082b82" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble gap ext adv rpt memcpy fail @local_device_manager.c(1412),ERROR" ID="0xd8082c22" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble gap ext adv rpt memcpy fail @local_device_manager.c(1427),ERROR" ID="0xd8082c9a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble gap adv set terminated cbk param error @local_device_manager.c(1439),ERROR" ID="0xd8082cfa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble enable cbk param error @local_device_manager.c(1450),ERROR" ID="0xd8082d52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble read remote rssi cbk param error @local_device_manager.c(1461),ERROR" ID="0xd8082daa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble conn param update cbk param error @local_device_manager.c(1477),ERROR" ID="0xd8082e2a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble gap conn param malloc fail @local_device_manager.c(1489),ERROR" ID="0xd8082e8a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="ble conn param update cbk interval:%x, latency:%x, timeout:%x @local_device_manager.c(1496),INFO" ID="0xd8082ec5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(1530),ERROR" ID="0xd8082fd2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="adv id(%d) is discoverying, please stop first. @local_device_manager.c(1534),ERROR" ID="0xd8082ff2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="adv param alloc fail @local_device_manager.c(1543),ERROR" ID="0xd808303a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(1576),ERROR" ID="0xd8083142" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="no advertising in progress or advertising for adv_id(%d). No advertising for adv_id(%d). @local_device_manager.c(1582),ERROR" ID="0xd8083172" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="mc sdk ble stop adv atb failed @local_device_manager.c(1588),ERROR" ID="0xd80831a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="scanning in process, please stop first. @local_device_manager.c(1622),ERROR" ID="0xd80832b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="scanning already stopped. @local_device_manager.c(1654),ERROR" ID="0xd80833b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble stop extern scan ret: %#x @local_device_manager.c(1658),INFO" ID="0xd80833d5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble set phy node == NULL @local_device_manager.c(1681),ERROR" ID="0xd808348a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble set phy memcpy fail @local_device_manager.c(1686),ERROR" ID="0xd80834b2" />
+ <MSG STRUCTURE="diag_log_msg5" NAME="ble general set phy hdl:%x all:%x rx:%x tx:%x op:%x. @local_device_manager.c(1691),INFO" ID="0xd80834dd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble set phy ret: %#x @local_device_manager.c(1694),ERROR" ID="0xd80834f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble set data length node == NULL @local_device_manager.c(1715),ERROR" ID="0xd808359a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble set data length memcpy fail @local_device_manager.c(1720),ERROR" ID="0xd80835c2" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="ble general set len hdl:%x maxoct:%x maxtime:%x @local_device_manager.c(1725),INFO" ID="0xd80835ed" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble set len ret: %#x @local_device_manager.c(1728),ERROR" ID="0xd8083602" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bts sert log type levle:%x @local_device_manager.c(1746),INFO" ID="0xd8083695" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="g_bts_feature_bitmap bt_auto_reconnect_closed:%d. @local_device_manager.c(1767),ERROR" ID="0xd808373a" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg2" NAME="[ACore][Error] write Property fail id:0x%x, ret:0x%x @mpc_trans.c(87),ERROR" ID="0xd86602ba" />
<MSG STRUCTURE="diag_log_msg2" NAME="[ACore] write Property id:0x%x,ret:0x%x @mpc_trans.c(96),INFO" ID="0xd8660305" />
<MSG STRUCTURE="diag_log_msg2" NAME="[ACore][Error] bt acore task framek write property fail id:%d,ret:%x @mpc_trans.c(101),ERROR" ID="0xd866032a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] write property err times:%u. @mpc_trans.c(105),ERROR" ID="0xd866034a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] property.id = 0x%x @mpc_trans.c(124),INFO" ID="0xd86603e5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] acore task init. @mpc_trans.c(136),INFO" ID="0xd8660445" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Warning]ipc data send retry opcode:0x%x. @mpc_trans.c(151),INFO" ID="0xd86604bd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Warning]ipc data send err opcode:0x%x. @mpc_trans.c(156),INFO" ID="0xd86604e5" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] mpc send msg to bth len:%d result:0x%x @mpc_trans.c(161),INFO" ID="0xd866050d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] ipc data from Core:%d payload null @mpc_trans.c(181),ERROR" ID="0xd86605aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore][Error] bt core Calibration not end @mpc_trans.c(189),ERROR" ID="0xd86605ea" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] ipc data from unknow core, src id %d @mpc_trans.c(193),ERROR" ID="0xd866060a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] bt trans, msg get fail ret:%x @mpc_trans.c(220),ERROR" ID="0xd86606e2" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[ACore][Error] rec mcu error data, tid:0x%x, sof:0x%x, len:0x%04x, opcode:0x%04x @mpc_trans.c(241),ERROR" ID="0xd866078a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[ACore][Error] rec data malloc fail opcode:0x%04x, length:(0x%04x) @mpc_trans.c(249),ERROR" ID="0xd86607ca" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[ACore][Error] rec data memcpy_s fail opcode:0x%04x, length:(0x%04x) @mpc_trans.c(255),ERROR" ID="0xd86607fa" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[ACore][Error] rec mcu write property fail,tid:0x%x,sof:0x%x,len:0x%04x,opcode:0x%04x @mpc_trans.c(263),ERROR" ID="0xd866083a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] ipc data from Core:%d payload null @mpc_trans.c(277),ERROR" ID="0xd86608aa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] ipc data from BT Core error = %d @mpc_trans.c(289),ERROR" ID="0xd866090a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] ipc data data len err = %d @mpc_trans.c(293),ERROR" ID="0xd866092a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] ipc data from unknow core, src id %d @mpc_trans.c(297),ERROR" ID="0xd866094a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] property.id = 0x%x @mpc_trans.c(122),INFO" ID="0xd86603d5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] acore task init. @mpc_trans.c(134),INFO" ID="0xd8660435" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Warning] acore task property handler ret:%d. @mpc_trans.c(149),INFO" ID="0xd86604ad" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] mpc send msg to bth len:%d result:0x%x @mpc_trans.c(153),INFO" ID="0xd86604cd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] ipc data from Core:%d payload null @mpc_trans.c(172),ERROR" ID="0xd8660562" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore][Error] bt core Calibration not end @mpc_trans.c(180),ERROR" ID="0xd86605a2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] ipc data from unknow core, src id %d @mpc_trans.c(184),ERROR" ID="0xd86605c2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] bt trans, msg get fail ret:%x @mpc_trans.c(211),ERROR" ID="0xd866069a" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[ACore][Error] rec mcu error data, tid:0x%x, sof:0x%x, len:0x%04x, opcode:0x%04x @mpc_trans.c(232),ERROR" ID="0xd8660742" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[ACore][Error] rec data malloc fail opcode:0x%04x, length:(0x%04x) @mpc_trans.c(240),ERROR" ID="0xd8660782" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[ACore][Error] rec data memcpy_s fail opcode:0x%04x, length:(0x%04x) @mpc_trans.c(246),ERROR" ID="0xd86607b2" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[ACore][Error] rec mcu write property fail,tid:0x%x,sof:0x%x,len:0x%04x,opcode:0x%04x @mpc_trans.c(254),ERROR" ID="0xd86607f2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] ipc data from Core:%d payload null @mpc_trans.c(268),ERROR" ID="0xd8660862" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] ipc data from BT Core error = %d @mpc_trans.c(280),ERROR" ID="0xd86608c2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] ipc data data len err = %d @mpc_trans.c(284),ERROR" ID="0xd86608e2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore][Error] ipc data from unknow core, src id %d @mpc_trans.c(288),ERROR" ID="0xd8660902" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="ACELite version: %s @platform_adapter.cpp(34),DBG" ID="0xe1140116" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ACELite commit: %s @platform_adapter.cpp(35),DBG" ID="0xe114011e" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ACELite build stamp: %s @platform_adapter.cpp(36),DBG" ID="0xe1140126" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="ACELite version: %s @platform_adapter.cpp(34),DBG" ID="0xe1100116" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ACELite commit: %s @platform_adapter.cpp(35),DBG" ID="0xe110011e" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ACELite build stamp: %s @platform_adapter.cpp(36),DBG" ID="0xe1100126" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="osal_mutex_init in g_btsrv_rmt_dev_list_lock failed @remote_device_manager.c(124),ERROR" ID="0xd80a03e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="btsrv get remote paired phone node, acquire rmt dev list lock failed. @remote_device_manager.c(161),ERROR" ID="0xd80a050a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(181),ERROR" ID="0xd80a05aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="get paired info fail @remote_device_manager.c(186),WARNING" ID="0xd80a05d3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="get paired real len fail @remote_device_manager.c(191),WARNING" ID="0xd80a05fb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="create node error @remote_device_manager.c(199),ERROR" ID="0xd80a063a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy error! @remote_device_manager.c(203),ERROR" ID="0xd80a065a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s error! @remote_device_manager.c(229),ERROR" ID="0xd80a072a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="paired dev info write error! ret 0x%x @remote_device_manager.c(238),ERROR" ID="0xd80a0772" />
- <MSG STRUCTURE="diag_log_msg0" NAME="node is null @remote_device_manager.c(245),ERROR" ID="0xd80a07aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(250),ERROR" ID="0xd80a07d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(254),ERROR" ID="0xd80a07f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="node is null @remote_device_manager.c(266),ERROR" ID="0xd80a0852" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(271),ERROR" ID="0xd80a087a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(275),ERROR" ID="0xd80a089a" />
- <MSG STRUCTURE="diag_log_msg10" NAME="addr: ****%02x%02x%02x%02x [little endian: %02x%02x%02x%02x**** ] name: %s hdl: %x @remote_device_manager.c(296),INFO" ID="0xd80a0945" />
- <MSG STRUCTURE="diag_log_msg0" NAME="create node error @remote_device_manager.c(300),ERROR" ID="0xd80a0962" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(343),ERROR" ID="0xd80a0aba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(350),ERROR" ID="0xd80a0af2" />
- <MSG STRUCTURE="diag_log_msg5" NAME="addr: ****%02x%02x%02x%02x hdl: %x @remote_device_manager.c(356),WARNING" ID="0xd80a0b23" />
- <MSG STRUCTURE="diag_log_msg0" NAME="btsrv add remote dev node, acquire rmt dev list lock failed. @remote_device_manager.c(360),ERROR" ID="0xd80a0b42" />
- <MSG STRUCTURE="diag_log_msg0" NAME="btsrv get remote dev node, acquire rmt dev list lock failed. @remote_device_manager.c(373),ERROR" ID="0xd80a0baa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="btsrv clear remtoe dev list, acquire rmt dev list lock failed. @remote_device_manager.c(419),ERROR" ID="0xd80a0d1a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="btsrv set remote dev status found 2 none, acquire rmt dev list lock failed. @remote_device_manager.c(457),ERROR" ID="0xd80a0e4a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="btsrv dfx show remote dev list, acquire rmt dev list lock failed. @remote_device_manager.c(484),ERROR" ID="0xd80a0f22" />
- <MSG STRUCTURE="diag_log_msg0" NAME="show remote device list: @remote_device_manager.c(490),INFO" ID="0xd80a0f55" />
- <MSG STRUCTURE="diag_log_msg9" NAME="| %-4s | %-32s | %-12s | %-16s | %-8s | %-8s | %-8s | %-8s | %-48s | @remote_device_manager.c(496),INFO" ID="0xd80a0f85" />
- <MSG STRUCTURE="diag_log_msg12" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16x | %-8d | %-8d | %-8d | %-8d | %-48s | @remote_device_manager.c(512),INFO" ID="0xd80a1005" />
- <MSG STRUCTURE="diag_log_msg6" NAME="| %-4s | %-32s | %-12s | %-16s | %-8s | %-8s | @remote_device_manager.c(519),INFO" ID="0xd80a103d" />
- <MSG STRUCTURE="diag_log_msg9" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16x | %-8d | %-8d | @remote_device_manager.c(526),INFO" ID="0xd80a1075" />
- <MSG STRUCTURE="diag_log_msg0" NAME="show remote device list end! @remote_device_manager.c(534),INFO" ID="0xd80a10b5" />
- <MSG STRUCTURE="diag_log_msg4" NAME="addr: ****%02X%02X%02X%02X @remote_device_manager.c(542),INFO" ID="0xd80a10f5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="not in remote list @remote_device_manager.c(551),INFO" ID="0xd80a113d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="not have key status: %d have_key: %d @remote_device_manager.c(557),INFO" ID="0xd80a116d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s error @remote_device_manager.c(563),ERROR" ID="0xd80a119a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(586),ERROR" ID="0xd80a1252" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(591),ERROR" ID="0xd80a127a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @remote_device_manager.c(598),ERROR" ID="0xd80a12b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="send br msg connecting success! @remote_device_manager.c(602),INFO" ID="0xd80a12d5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(609),ERROR" ID="0xd80a130a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(613),ERROR" ID="0xd80a132a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="exist same type conn_node, disconnect. @remote_device_manager.c(634),INFO" ID="0xd80a13d5" />
- <MSG STRUCTURE="diag_log_msg4" NAME="addr: ****%02X%02X%02X%02X @remote_device_manager.c(655),INFO" ID="0xd80a147d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="not in remote list @remote_device_manager.c(661),WARNING" ID="0xd80a14ab" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy error @remote_device_manager.c(668),ERROR" ID="0xd80a14e2" />
- <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x result: %02x @remote_device_manager.c(703),INFO" ID="0xd80a15fd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="find/add remote device failed @remote_device_manager.c(728),WARNING" ID="0xd80a16c3" />
- <MSG STRUCTURE="diag_log_msg1" NAME="get remote device name fail. ret: %x @remote_device_manager.c(743),WARNING" ID="0xd80a173b" />
- <MSG STRUCTURE="diag_log_msg2" NAME="get remote device name success. name: %s name_len: %d @remote_device_manager.c(748),INFO" ID="0xd80a1765" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc tmp_addr fail @remote_device_manager.c(752),ERROR" ID="0xd80a1782" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc tmp_name fail @remote_device_manager.c(756),ERROR" ID="0xd80a17a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(762),ERROR" ID="0xd80a17d2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @remote_device_manager.c(769),ERROR" ID="0xd80a180a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %x @remote_device_manager.c(777),INFO" ID="0xd80a184d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="acl disconnected. dev_hdl: %x @remote_device_manager.c(779),INFO" ID="0xd80a185d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(792),INFO" ID="0xd80a18c5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="find node fail @remote_device_manager.c(803),WARNING" ID="0xd80a191b" />
- <MSG STRUCTURE="diag_log_msg4" NAME="memcpy error! last_len: %d cur_len: %d cpy_len: %d ret: %x @remote_device_manager.c(814),ERROR" ID="0xd80a1972" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(821),ERROR" ID="0xd80a19aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(826),ERROR" ID="0xd80a19d2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="get pair devices num fail ret = %d @remote_device_manager.c(879),ERROR" ID="0xd80a1b7a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="get pair devices fail ret = %d @remote_device_manager.c(894),ERROR" ID="0xd80a1bf2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="gap get paired devices list, acquire rmt dev list lock failed. @remote_device_manager.c(915),ERROR" ID="0xd80a1c9a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="num error! i: %d *number: %d @remote_device_manager.c(944),ERROR" ID="0xd80a1d82" />
- <MSG STRUCTURE="diag_log_msg1" NAME="get pair devices num fail ret = %d @remote_device_manager.c(983),ERROR" ID="0xd80a1eba" />
- <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @remote_device_manager.c(1002),INFO" ID="0xd80a1f55" />
- <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_un_pair_device ret: %x @remote_device_manager.c(1005),INFO" ID="0xd80a1f6d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(1009),ERROR" ID="0xd80a1f8a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(1013),ERROR" ID="0xd80a1faa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="acquire rmt dev list lock failed. @remote_device_manager.c(1041),ERROR" ID="0xd80a208a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="gap remove all pairs, acquire rmt dev list lock failed. @remote_device_manager.c(1069),ERROR" ID="0xd80a216a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="remove pair device fail @remote_device_manager.c(1101),ERROR" ID="0xd80a226a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="remove pair all devices key fail @remote_device_manager.c(1111),ERROR" ID="0xd80a22ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="disconnect all devices fail @remote_device_manager.c(1115),ERROR" ID="0xd80a22da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(1146),ERROR" ID="0xd80a23d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(1151),ERROR" ID="0xd80a23fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1160),INFO" ID="0xd80a2445" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1183),INFO" ID="0xd80a24fd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(1202),INFO" ID="0xd80a2595" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1226),INFO" ID="0xd80a2655" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="osal_mutex_init in g_btsrv_rmt_dev_list_lock failed @remote_device_manager.c(100),ERROR" ID="0xd80a0322" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="btsrv get remote paired phone node, acquire rmt dev list lock failed. @remote_device_manager.c(137),ERROR" ID="0xd80a044a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(157),ERROR" ID="0xd80a04ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get paired info fail @remote_device_manager.c(162),WARNING" ID="0xd80a0513" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get paired real len fail @remote_device_manager.c(167),WARNING" ID="0xd80a053b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="create node error @remote_device_manager.c(175),ERROR" ID="0xd80a057a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy error! @remote_device_manager.c(179),ERROR" ID="0xd80a059a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s error! @remote_device_manager.c(205),ERROR" ID="0xd80a066a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="paired dev info write error! ret 0x%x @remote_device_manager.c(214),ERROR" ID="0xd80a06b2" />
+ <MSG STRUCTURE="diag_log_msg10" NAME="addr: ****%02x%02x%02x%02x [little endian: %02x%02x%02x%02x**** ] name: %s hdl: %x @remote_device_manager.c(229),INFO" ID="0xd80a072d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="create node error @remote_device_manager.c(233),ERROR" ID="0xd80a074a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(259),ERROR" ID="0xd80a081a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(264),ERROR" ID="0xd80a0842" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(293),ERROR" ID="0xd80a092a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(300),ERROR" ID="0xd80a0962" />
+ <MSG STRUCTURE="diag_log_msg5" NAME="addr: ****%02x%02x%02x%02x hdl: %x @remote_device_manager.c(306),WARNING" ID="0xd80a0993" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="btsrv add remote dev node, acquire rmt dev list lock failed. @remote_device_manager.c(310),ERROR" ID="0xd80a09b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="btsrv get remote dev node, acquire rmt dev list lock failed. @remote_device_manager.c(323),ERROR" ID="0xd80a0a1a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="btsrv clear remtoe dev list, acquire rmt dev list lock failed. @remote_device_manager.c(369),ERROR" ID="0xd80a0b8a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="btsrv set remote dev status found 2 none, acquire rmt dev list lock failed. @remote_device_manager.c(407),ERROR" ID="0xd80a0cba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="btsrv dfx show remote dev list, acquire rmt dev list lock failed. @remote_device_manager.c(434),ERROR" ID="0xd80a0d92" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show remote device list: @remote_device_manager.c(440),INFO" ID="0xd80a0dc5" />
+ <MSG STRUCTURE="diag_log_msg9" NAME="| %-4s | %-32s | %-12s | %-16s | %-8s | %-8s | %-8s | %-8s | %-48s | @remote_device_manager.c(446),INFO" ID="0xd80a0df5" />
+ <MSG STRUCTURE="diag_log_msg12" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16x | %-8d | %-8d | %-8d | %-8d | %-48s | @remote_device_manager.c(462),INFO" ID="0xd80a0e75" />
+ <MSG STRUCTURE="diag_log_msg6" NAME="| %-4s | %-32s | %-12s | %-16s | %-8s | %-8s | @remote_device_manager.c(469),INFO" ID="0xd80a0ead" />
+ <MSG STRUCTURE="diag_log_msg9" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16x | %-8d | %-8d | @remote_device_manager.c(476),INFO" ID="0xd80a0ee5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show remote device list end! @remote_device_manager.c(484),INFO" ID="0xd80a0f25" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="addr: ****%02X%02X%02X%02X @remote_device_manager.c(492),INFO" ID="0xd80a0f65" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="not in remote list @remote_device_manager.c(501),INFO" ID="0xd80a0fad" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="not have key status: %d have_key: %d @remote_device_manager.c(507),INFO" ID="0xd80a0fdd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s error @remote_device_manager.c(513),ERROR" ID="0xd80a100a" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="addr: ****%02X%02X%02X%02X @remote_device_manager.c(538),INFO" ID="0xd80a10d5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="not in remote list @remote_device_manager.c(543),WARNING" ID="0xd80a10fb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy error @remote_device_manager.c(550),ERROR" ID="0xd80a1132" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(562),ERROR" ID="0xd80a1192" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(567),ERROR" ID="0xd80a11ba" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x result: %02x @remote_device_manager.c(589),INFO" ID="0xd80a126d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="find/add remote device failed @remote_device_manager.c(614),WARNING" ID="0xd80a1333" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="get remote device name fail. ret: %x @remote_device_manager.c(629),WARNING" ID="0xd80a13ab" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="get remote device name success. name: %s name_len: %d @remote_device_manager.c(634),INFO" ID="0xd80a13d5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc tmp_addr fail @remote_device_manager.c(638),ERROR" ID="0xd80a13f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc tmp_name fail @remote_device_manager.c(642),ERROR" ID="0xd80a1412" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(648),ERROR" ID="0xd80a1442" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @remote_device_manager.c(655),ERROR" ID="0xd80a147a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %x @remote_device_manager.c(663),INFO" ID="0xd80a14bd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="acl disconnected. dev_hdl: %x @remote_device_manager.c(665),INFO" ID="0xd80a14cd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(678),INFO" ID="0xd80a1535" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="find node fail @remote_device_manager.c(689),WARNING" ID="0xd80a158b" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="memcpy error! last_len: %d cur_len: %d cpy_len: %d ret: %x @remote_device_manager.c(700),ERROR" ID="0xd80a15e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(707),ERROR" ID="0xd80a161a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(712),ERROR" ID="0xd80a1642" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="get pair devices num fail ret = %d @remote_device_manager.c(765),ERROR" ID="0xd80a17ea" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="get pair devices fail ret = %d @remote_device_manager.c(780),ERROR" ID="0xd80a1862" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gap get paired devices list, acquire rmt dev list lock failed. @remote_device_manager.c(801),ERROR" ID="0xd80a190a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="num error! i: %d *number: %d @remote_device_manager.c(830),ERROR" ID="0xd80a19f2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="get pair devices num fail ret = %d @remote_device_manager.c(869),ERROR" ID="0xd80a1b2a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @remote_device_manager.c(888),INFO" ID="0xd80a1bc5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_un_pair_device ret: %x @remote_device_manager.c(891),INFO" ID="0xd80a1bdd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(895),ERROR" ID="0xd80a1bfa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(899),ERROR" ID="0xd80a1c1a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="acquire rmt dev list lock failed. @remote_device_manager.c(927),ERROR" ID="0xd80a1cfa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gap remove all pairs, acquire rmt dev list lock failed. @remote_device_manager.c(955),ERROR" ID="0xd80a1dda" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="remove pair device fail @remote_device_manager.c(987),ERROR" ID="0xd80a1eda" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="remove pair all devices key fail @remote_device_manager.c(997),ERROR" ID="0xd80a1f2a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="disconnect all devices fail @remote_device_manager.c(1001),ERROR" ID="0xd80a1f4a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(1032),ERROR" ID="0xd80a2042" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(1037),ERROR" ID="0xd80a206a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1046),INFO" ID="0xd80a20b5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1069),INFO" ID="0xd80a216d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(1088),INFO" ID="0xd80a2205" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1112),INFO" ID="0xd80a22c5" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="list node create fail! @sdk_general_gap.c(128),ERROR" ID="0xd86c0402" />
- <MSG STRUCTURE="diag_log_msg0" NAME="list node create fail! @sdk_general_gap.c(139),ERROR" ID="0xd86c045a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="list node create fail! @sdk_general_gap.c(213),ERROR" ID="0xd86c06aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Core] ble general: mc ble conn state. @sdk_general_gap.c(239),INFO" ID="0xd86c077d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble conn state fail. len = %u @sdk_general_gap.c(242),ERROR" ID="0xd86c0792" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble conn state memcpy fail: %d @sdk_general_gap.c(248),ERROR" ID="0xd86c07c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Core] ble general: gap general interface. @sdk_general_gap.c(259),INFO" ID="0xd86c081d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: gap general interface fail. len = %u @sdk_general_gap.c(262),ERROR" ID="0xd86c0832" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: gap general interface fail. len = %u @sdk_general_gap.c(268),ERROR" ID="0xd86c0862" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[ACore] ble general: gap ext adv report. addr_type:0x%x addr:0x%02x:**:**:**:**:%02x data_len:0x%02x @sdk_general_gap.c(273),INFO" ID="0xd86c088d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: gap adv set terminated fail. len = %u @sdk_general_gap.c(283),ERROR" ID="0xd86c08da" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: gap adv set terminated status: %u @sdk_general_gap.c(288),INFO" ID="0xd86c0905" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble smp passkey req bta fail. len = %u @sdk_general_gap.c(299),ERROR" ID="0xd86c095a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble smp passkey req bta. rmt_dev_handle = 0x%x @sdk_general_gap.c(305),INFO" ID="0xd86c098d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble smp passkey notify bta fail. len = %u @sdk_general_gap.c(319),ERROR" ID="0xd86c09fa" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] ble general: mc ble smp passkey notify bta. rmt_dev_handle = 0x%x, number = %u @sdk_general_gap.c(326),INFO" ID="0xd86c0a35" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble smp pair keys bta fail. len = %u @sdk_general_gap.c(338),ERROR" ID="0xd86c0a92" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] ble general: mc ble smp pair keys addr memcpy fail. @sdk_general_gap.c(345),ERROR" ID="0xd86c0aca" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] ble general: mc ble smp pair keys memcpy fail. @sdk_general_gap.c(351),ERROR" ID="0xd86c0afa" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble general: mc ble smp pair keys bta. addr:%02x:**:**:**:%02x:%02x @sdk_general_gap.c(355),INFO" ID="0xd86c0b1d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble smp pair complete bta fail. len = %u @sdk_general_gap.c(366),ERROR" ID="0xd86c0b72" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] ble general: mc ble smp pair complete bta. rmt_dev_handle = 0x%x, result = 0x%x @sdk_general_gap.c(373),INFO" ID="0xd86c0bad" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble gap get apperance fail. len = %u @sdk_general_gap.c(383),ERROR" ID="0xd86c0bfa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble gap get apperance apperance = %u @sdk_general_gap.c(388),ERROR" ID="0xd86c0c22" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[Core] ble general: mc ble gap get white list pkt_len = %d, sizeof(bth_gap_white_addr_list) = %d @sdk_general_gap.c(398),INFO" ID="0xd86c0c75" />
- <MSG STRUCTURE="diag_log_msg1" NAME="mc ble gap get white list: count = %d. @sdk_general_gap.c(401),INFO" ID="0xd86c0c8d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="mc ble gap get white list addr:0x%x:**:**:**:0x%x:0x%x. @sdk_general_gap.c(405),INFO" ID="0xd86c0cad" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] ble conn general gap proc:cmdid:0x%02X pay_len:%d. @sdk_general_gap.c(427),INFO" ID="0xd86c0d5d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble conn general gap proc no handle for command id:0x%02x. @sdk_general_gap.c(442),INFO" ID="0xd86c0dd5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp pair remote device atb. @sdk_general_gap.c(521),INFO" ID="0xd86c104d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp passkey number atb. @sdk_general_gap.c(529),INFO" ID="0xd86c108d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp send passkey number did not receive passkey req. @sdk_general_gap.c(541),INFO" ID="0xd86c10ed" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp remove pair info atb. @sdk_general_gap.c(554),INFO" ID="0xd86c1155" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp remove pair device atb. @sdk_general_gap.c(566),INFO" ID="0xd86c11b5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble disc all links atb. @sdk_general_gap.c(575),INFO" ID="0xd86c11fd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp set key from btc atb. @sdk_general_gap.c(611),INFO" ID="0xd86c131d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble remove adv by handle atb. @sdk_general_gap.c(621),INFO" ID="0xd86c136d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble disable adv by handle atb. @sdk_general_gap.c(628),INFO" ID="0xd86c13a5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[warning] uapi disconnect ble link conn_node not found disc all. @sdk_general_gap.c(751),INFO" ID="0xd86c177d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[error] uapi disconnect ble link addr memcpy fail. @sdk_general_gap.c(757),INFO" ID="0xd86c17ad" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[INFO] uapi disconnect ble link ret:%u. @sdk_general_gap.c(762),INFO" ID="0xd86c17d5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] ble general: set ble sec param comes. @sdk_general_gap.c(774),INFO" ID="0xd86c1835" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] bt at cmd set ble sec param fail, value is null! @sdk_general_gap.c(777),ERROR" ID="0xd86c184a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[Core] ble general: mc ble conn state. @sdk_general_gap.c(226),INFO" ID="0xd86c0715" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble conn state fail. len = %u @sdk_general_gap.c(229),ERROR" ID="0xd86c072a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble conn state memcpy fail: %d @sdk_general_gap.c(235),ERROR" ID="0xd86c075a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Core] ble general: gap general interface. @sdk_general_gap.c(246),INFO" ID="0xd86c07b5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: gap general interface fail. len = %u @sdk_general_gap.c(249),ERROR" ID="0xd86c07ca" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: gap general interface fail. len = %u @sdk_general_gap.c(255),ERROR" ID="0xd86c07fa" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[ACore] ble general: gap ext adv report. addr_type:0x%x addr:0x%02x:**:**:**:**:%02x data_len:0x%02x @sdk_general_gap.c(260),INFO" ID="0xd86c0825" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: gap adv set terminated fail. len = %u @sdk_general_gap.c(270),ERROR" ID="0xd86c0872" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: gap adv set terminated status: %u @sdk_general_gap.c(275),INFO" ID="0xd86c089d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble smp passkey req bta fail. len = %u @sdk_general_gap.c(286),ERROR" ID="0xd86c08f2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble smp passkey req bta. rmt_dev_handle = 0x%x @sdk_general_gap.c(292),INFO" ID="0xd86c0925" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble smp passkey notify bta fail. len = %u @sdk_general_gap.c(306),ERROR" ID="0xd86c0992" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] ble general: mc ble smp passkey notify bta. rmt_dev_handle = 0x%x, number = %u @sdk_general_gap.c(313),INFO" ID="0xd86c09cd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble smp pair keys bta fail. len = %u @sdk_general_gap.c(325),ERROR" ID="0xd86c0a2a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] ble general: mc ble smp pair keys addr memcpy fail. @sdk_general_gap.c(332),ERROR" ID="0xd86c0a62" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] ble general: mc ble smp pair keys memcpy fail. @sdk_general_gap.c(338),ERROR" ID="0xd86c0a92" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble general: mc ble smp pair keys bta. addr:%02x:**:**:**:%02x:%02x @sdk_general_gap.c(342),INFO" ID="0xd86c0ab5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble smp pair complete bta fail. len = %u @sdk_general_gap.c(353),ERROR" ID="0xd86c0b0a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] ble general: mc ble smp pair complete bta. rmt_dev_handle = 0x%x, result = 0x%x @sdk_general_gap.c(360),INFO" ID="0xd86c0b45" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble gap get apperance fail. len = %u @sdk_general_gap.c(370),ERROR" ID="0xd86c0b92" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble general: mc ble gap get apperance apperance = %u @sdk_general_gap.c(375),ERROR" ID="0xd86c0bba" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[Core] ble general: mc ble gap get white list pkt_len = %d, sizeof(bth_gap_white_addr_list) = %d @sdk_general_gap.c(385),INFO" ID="0xd86c0c0d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="mc ble gap get white list: count = %d. @sdk_general_gap.c(388),INFO" ID="0xd86c0c25" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="mc ble gap get white list addr:0x%x:**:**:**:0x%x:0x%x. @sdk_general_gap.c(392),INFO" ID="0xd86c0c45" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] ble conn general gap proc:cmdid:0x%02X pay_len:%d. @sdk_general_gap.c(414),INFO" ID="0xd86c0cf5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble conn general gap proc no handle for command id:0x%02x. @sdk_general_gap.c(429),INFO" ID="0xd86c0d6d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp pair remote device atb. @sdk_general_gap.c(508),INFO" ID="0xd86c0fe5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp passkey number atb. @sdk_general_gap.c(516),INFO" ID="0xd86c1025" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp send passkey number did not receive passkey req. @sdk_general_gap.c(528),INFO" ID="0xd86c1085" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp remove pair info atb. @sdk_general_gap.c(541),INFO" ID="0xd86c10ed" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp remove pair device atb. @sdk_general_gap.c(553),INFO" ID="0xd86c114d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble disc all links atb. @sdk_general_gap.c(562),INFO" ID="0xd86c1195" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp set key from btc atb. @sdk_general_gap.c(598),INFO" ID="0xd86c12b5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble remove adv by handle atb. @sdk_general_gap.c(608),INFO" ID="0xd86c1305" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble disable adv by handle atb. @sdk_general_gap.c(615),INFO" ID="0xd86c133d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[warning] uapi disconnect ble link conn_node not found disc all. @sdk_general_gap.c(738),INFO" ID="0xd86c1715" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[error] uapi disconnect ble link addr memcpy fail. @sdk_general_gap.c(744),INFO" ID="0xd86c1745" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[INFO] uapi disconnect ble link ret:%u. @sdk_general_gap.c(749),INFO" ID="0xd86c176d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] ble general: set ble sec param comes. @sdk_general_gap.c(761),INFO" ID="0xd86c17cd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] bt at cmd set ble sec param fail, value is null! @sdk_general_gap.c(764),ERROR" ID="0xd86c17e2" />
</MSG_LOG>
\ No newline at end of file
<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="[ACore] ble gatt upper callback register add on module_id:%02x, event:%02x @sdk_general_gatt.c(113),INFO" ID="0xd86e038d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="list node create fail! @sdk_general_gatt.c(116),ERROR" ID="0xd86e03a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="list node create fail! @sdk_general_gatt.c(128),ERROR" ID="0xd86e0402" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] ble gatt upper callback register new on module_id:%02x, event:%02x @sdk_general_gatt.c(134),INFO" ID="0xd86e0435" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt client event handle tl not found on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(233),INFO" ID="0xd86e074d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt client event handle task not found on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(241),INFO" ID="0xd86e078d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt client event handle table not found on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(248),INFO" ID="0xd86e07c5" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt client event handle table not found task on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(257),INFO" ID="0xd86e080d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Connected] @sdk_general_gatt.c(403),INFO" ID="0xd86e0c9d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Disconnected] @sdk_general_gatt.c(405),INFO" ID="0xd86e0cad" />
- <MSG STRUCTURE="diag_log_msg4" NAME="addr:%02x:**:**:**:%02x:%02x, handle:%02x @sdk_general_gatt.c(411),INFO" ID="0xd86e0cdd" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt le conn event cbk already connected on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(426),INFO" ID="0xd86e0d55" />
- <MSG STRUCTURE="diag_log_msg0" NAME="list node create fail! @sdk_general_gatt.c(432),ERROR" ID="0xd86e0d82" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] ble gatt le conn event cbk memcpy addr error @sdk_general_gatt.c(440),ERROR" ID="0xd86e0dc2" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt le conn event cbk tl not found on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(451),INFO" ID="0xd86e0e1d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt le conn event cbk tl remove on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(457),INFO" ID="0xd86e0e4d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt create server result bta len error, len = %u @sdk_general_gatt.c(473),ERROR" ID="0xd86e0eca" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] mc ble gatt create server result bta memcpy fail:%d,len:%d @sdk_general_gatt.c(481),ERROR" ID="0xd86e0f0a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt create service result bta len error. len = %u @sdk_general_gatt.c(494),ERROR" ID="0xd86e0f72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt create service result bta memcpy fail: %d @sdk_general_gatt.c(501),ERROR" ID="0xd86e0faa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt start service result bta len error. len = %u @sdk_general_gatt.c(515),ERROR" ID="0xd86e101a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt start service result bta memcpy faile error: %d @sdk_general_gatt.c(522),ERROR" ID="0xd86e1052" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt get gap ui attributes result bta len error. len = %u @sdk_general_gatt.c(535),ERROR" ID="0xd86e10ba" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt get gap ui attributes result bta memcpy faile error: %d @sdk_general_gatt.c(542),ERROR" ID="0xd86e10f2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery service rsp bta len error. len = %u @sdk_general_gatt.c(555),ERROR" ID="0xd86e115a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt discovery service rsp bta discovery_service error @sdk_general_gatt.c(563),ERROR" ID="0xd86e119a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery service complete bta len error. len = %u @sdk_general_gatt.c(576),ERROR" ID="0xd86e1202" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt discovery service complete bta discovery_service error @sdk_general_gatt.c(584),ERROR" ID="0xd86e1242" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt add characteristic result bta len error, len = %u @sdk_general_gatt.c(597),ERROR" ID="0xd86e12aa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt add characteristic result bta memcpy fail error: %d @sdk_general_gatt.c(603),ERROR" ID="0xd86e12da" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery include service rsp bta len error. len = %u @sdk_general_gatt.c(616),ERROR" ID="0xd86e1342" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt discovery include service rsp bta discovery_service error @sdk_general_gatt.c(624),ERROR" ID="0xd86e1382" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery characteristics response bta len error. len = %u @sdk_general_gatt.c(637),ERROR" ID="0xd86e13ea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore]mc ble gatt discovery characteristics response bta discovery_service error @sdk_general_gatt.c(645),ERROR" ID="0xd86e142a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery characteristics complete bta len error. len = %u @sdk_general_gatt.c(658),ERROR" ID="0xd86e1492" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore]mc ble gatt discovery characteristics complete bta discovery_service error @sdk_general_gatt.c(666),ERROR" ID="0xd86e14d2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery descriptor response bta len error. len = %u @sdk_general_gatt.c(679),ERROR" ID="0xd86e153a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt discovery descriptor response bta discovery_service error @sdk_general_gatt.c(687),ERROR" ID="0xd86e157a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery descriptor complete bta len error. len = %u @sdk_general_gatt.c(700),ERROR" ID="0xd86e15e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt discovery descriptor complete bta discovery_service error @sdk_general_gatt.c(707),ERROR" ID="0xd86e161a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt get hid report map response bta finish. result code = %x @sdk_general_gatt.c(719),INFO" ID="0xd86e167d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt get hid report map response bta len error. len = %u @sdk_general_gatt.c(725),INFO" ID="0xd86e16ad" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt read character complete bta len error. len = %u @sdk_general_gatt.c(740),ERROR" ID="0xd86e1722" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt read characterr complete bta read character error @sdk_general_gatt.c(747),ERROR" ID="0xd86e175a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] read service value finish. error code = %x @sdk_general_gatt.c(759),INFO" ID="0xd86e17bd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] read service value response len error. len = %u @sdk_general_gatt.c(765),INFO" ID="0xd86e17ed" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] write service value finish. error code = %x @sdk_general_gatt.c(779),INFO" ID="0xd86e185d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] write service value response len error. len = %u @sdk_general_gatt.c(785),INFO" ID="0xd86e188d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt read descriptor response bta len error. len = %u @sdk_general_gatt.c(800),INFO" ID="0xd86e1905" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt read descriptor response bta error @sdk_general_gatt.c(807),ERROR" ID="0xd86e193a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt character value notification bta len error. len = %u @sdk_general_gatt.c(820),INFO" ID="0xd86e19a5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mc ble gatt character value notification bta new fail @sdk_general_gatt.c(828),ERROR" ID="0xd86e19e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mc ble gatt character value notification bta memset fail @sdk_general_gatt.c(835),ERROR" ID="0xd86e1a1a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt character value notification bta error @sdk_general_gatt.c(843),ERROR" ID="0xd86e1a5a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt read descriptor response bta error @sdk_general_gatt.c(851),ERROR" ID="0xd86e1a9a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="mc ble gatt character value notification bta handle:0x%x, len:%d @sdk_general_gatt.c(861),INFO" ID="0xd86e1aed" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt exchange mtu ind len error. len = %u @sdk_general_gatt.c(873),INFO" ID="0xd86e1b4d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt exchange mtu ind error @sdk_general_gatt.c(877),ERROR" ID="0xd86e1b6a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt handle service evt bta len error. len = %u @sdk_general_gatt.c(889),INFO" ID="0xd86e1bcd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mc ble gatt handle service evt bta new fail @sdk_general_gatt.c(896),ERROR" ID="0xd86e1c02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mc ble gatt handle service evt bta memset fail @sdk_general_gatt.c(903),ERROR" ID="0xd86e1c3a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt handle service evt bta addr error @sdk_general_gatt.c(911),ERROR" ID="0xd86e1c7a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt server read evt bta len error len = %u @sdk_general_gatt.c(924),INFO" ID="0xd86e1ce5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mc ble gatt server read evt bta new fail @sdk_general_gatt.c(930),ERROR" ID="0xd86e1d12" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mc ble gatt server read evt bta memset fai @sdk_general_gatt.c(935),ERROR" ID="0xd86e1d3a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt server read evt bta addr error @sdk_general_gatt.c(941),ERROR" ID="0xd86e1d6a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] ble conn general gatt proc:cmdid:0x%02X pay_len:%d. @sdk_general_gatt.c(960),INFO" ID="0xd86e1e05" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble conn general gatt proc no handle for command id:0x%02x. @sdk_general_gatt.c(975),INFO" ID="0xd86e1e7d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] bt at cmd set le att mtu param fail, mtu param is null! @sdk_general_gatt.c(1005),ERROR" ID="0xd86e1f6a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] ble gatt upper callback register new on module_id:%02x, event:%02x @sdk_general_gatt.c(126),INFO" ID="0xd86e03f5" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt client event handle tl not found on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(225),INFO" ID="0xd86e070d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt client event handle task not found on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(233),INFO" ID="0xd86e074d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt client event handle table not found on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(240),INFO" ID="0xd86e0785" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt client event handle table not found task on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(249),INFO" ID="0xd86e07cd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Connected] @sdk_general_gatt.c(395),INFO" ID="0xd86e0c5d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Disconnected] @sdk_general_gatt.c(397),INFO" ID="0xd86e0c6d" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="addr:%02x:**:**:**:%02x:%02x, handle:%02x @sdk_general_gatt.c(403),INFO" ID="0xd86e0c9d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt le conn event cbk already connected on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(418),INFO" ID="0xd86e0d15" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] ble gatt le conn event cbk memcpy addr error @sdk_general_gatt.c(428),ERROR" ID="0xd86e0d62" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt le conn event cbk tl not found on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(439),INFO" ID="0xd86e0dbd" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ACore] ble gatt le conn event cbk tl remove on addr:%02x:**:**:**:%02x:%02x @sdk_general_gatt.c(445),INFO" ID="0xd86e0ded" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt create server result bta len error, len = %u @sdk_general_gatt.c(461),ERROR" ID="0xd86e0e6a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] mc ble gatt create server result bta memcpy fail:%d,len:%d @sdk_general_gatt.c(469),ERROR" ID="0xd86e0eaa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt create service result bta len error. len = %u @sdk_general_gatt.c(482),ERROR" ID="0xd86e0f12" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt create service result bta memcpy fail: %d @sdk_general_gatt.c(489),ERROR" ID="0xd86e0f4a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt start service result bta len error. len = %u @sdk_general_gatt.c(503),ERROR" ID="0xd86e0fba" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt start service result bta memcpy faile error: %d @sdk_general_gatt.c(510),ERROR" ID="0xd86e0ff2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt get gap ui attributes result bta len error. len = %u @sdk_general_gatt.c(523),ERROR" ID="0xd86e105a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt get gap ui attributes result bta memcpy faile error: %d @sdk_general_gatt.c(530),ERROR" ID="0xd86e1092" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery service rsp bta len error. len = %u @sdk_general_gatt.c(543),ERROR" ID="0xd86e10fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt discovery service rsp bta discovery_service error @sdk_general_gatt.c(551),ERROR" ID="0xd86e113a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery service complete bta len error. len = %u @sdk_general_gatt.c(564),ERROR" ID="0xd86e11a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt discovery service complete bta discovery_service error @sdk_general_gatt.c(572),ERROR" ID="0xd86e11e2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt add characteristic result bta len error, len = %u @sdk_general_gatt.c(585),ERROR" ID="0xd86e124a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt add characteristic result bta memcpy fail error: %d @sdk_general_gatt.c(591),ERROR" ID="0xd86e127a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery include service rsp bta len error. len = %u @sdk_general_gatt.c(604),ERROR" ID="0xd86e12e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt discovery include service rsp bta discovery_service error @sdk_general_gatt.c(612),ERROR" ID="0xd86e1322" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery characteristics response bta len error. len = %u @sdk_general_gatt.c(625),ERROR" ID="0xd86e138a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore]mc ble gatt discovery characteristics response bta discovery_service error @sdk_general_gatt.c(633),ERROR" ID="0xd86e13ca" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery characteristics complete bta len error. len = %u @sdk_general_gatt.c(646),ERROR" ID="0xd86e1432" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore]mc ble gatt discovery characteristics complete bta discovery_service error @sdk_general_gatt.c(654),ERROR" ID="0xd86e1472" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery descriptor response bta len error. len = %u @sdk_general_gatt.c(667),ERROR" ID="0xd86e14da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt discovery descriptor response bta discovery_service error @sdk_general_gatt.c(675),ERROR" ID="0xd86e151a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt discovery descriptor complete bta len error. len = %u @sdk_general_gatt.c(688),ERROR" ID="0xd86e1582" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt discovery descriptor complete bta discovery_service error @sdk_general_gatt.c(695),ERROR" ID="0xd86e15ba" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt get hid report map response bta finish. result code = %x @sdk_general_gatt.c(707),INFO" ID="0xd86e161d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt get hid report map response bta len error. len = %u @sdk_general_gatt.c(713),INFO" ID="0xd86e164d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt read character complete bta len error. len = %u @sdk_general_gatt.c(728),ERROR" ID="0xd86e16c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt read characterr complete bta read character error @sdk_general_gatt.c(735),ERROR" ID="0xd86e16fa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] read service value finish. error code = %x @sdk_general_gatt.c(747),INFO" ID="0xd86e175d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] read service value response len error. len = %u @sdk_general_gatt.c(753),INFO" ID="0xd86e178d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] write service value finish. error code = %x @sdk_general_gatt.c(767),INFO" ID="0xd86e17fd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] write service value response len error. len = %u @sdk_general_gatt.c(773),INFO" ID="0xd86e182d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt read descriptor response bta len error. len = %u @sdk_general_gatt.c(788),INFO" ID="0xd86e18a5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt read descriptor response bta error @sdk_general_gatt.c(795),ERROR" ID="0xd86e18da" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt character value notification bta len error. len = %u @sdk_general_gatt.c(808),INFO" ID="0xd86e1945" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="mc ble gatt character value notification bta new fail @sdk_general_gatt.c(816),ERROR" ID="0xd86e1982" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="mc ble gatt character value notification bta memset fail @sdk_general_gatt.c(823),ERROR" ID="0xd86e19ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt character value notification bta error @sdk_general_gatt.c(831),ERROR" ID="0xd86e19fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt read descriptor response bta error @sdk_general_gatt.c(839),ERROR" ID="0xd86e1a3a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="mc ble gatt character value notification bta handle:0x%x, len:%d @sdk_general_gatt.c(849),INFO" ID="0xd86e1a8d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt exchange mtu ind len error. len = %u @sdk_general_gatt.c(861),INFO" ID="0xd86e1aed" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt exchange mtu ind error @sdk_general_gatt.c(865),ERROR" ID="0xd86e1b0a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt handle service evt bta len error. len = %u @sdk_general_gatt.c(877),INFO" ID="0xd86e1b6d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="mc ble gatt handle service evt bta new fail @sdk_general_gatt.c(884),ERROR" ID="0xd86e1ba2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="mc ble gatt handle service evt bta memset fail @sdk_general_gatt.c(891),ERROR" ID="0xd86e1bda" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt handle service evt bta addr error @sdk_general_gatt.c(899),ERROR" ID="0xd86e1c1a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] mc ble gatt server read evt bta len error len = %u @sdk_general_gatt.c(912),INFO" ID="0xd86e1c85" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="mc ble gatt server read evt bta new fail @sdk_general_gatt.c(918),ERROR" ID="0xd86e1cb2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="mc ble gatt server read evt bta memset fai @sdk_general_gatt.c(923),ERROR" ID="0xd86e1cda" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble gatt server read evt bta addr error @sdk_general_gatt.c(929),ERROR" ID="0xd86e1d0a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[ACore] ble conn general gatt proc:cmdid:0x%02X pay_len:%d. @sdk_general_gatt.c(948),INFO" ID="0xd86e1da5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ACore] ble conn general gatt proc no handle for command id:0x%02x. @sdk_general_gatt.c(963),INFO" ID="0xd86e1e1d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] bt at cmd set le att mtu param fail, mtu param is null! @sdk_general_gatt.c(993),ERROR" ID="0xd86e1f0a" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg1" NAME="connect spp fail. ret: %x @spp_service.c(572),INFO" ID="0xd82a11e5" />
<MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_DisconnectConnection fail retCode: %x @spp_service.c(597),ERROR" ID="0xd82a12aa" />
<MSG STRUCTURE="diag_log_msg0" NAME="spp read data failed @spp_service.c(683),ERROR" ID="0xd82a155a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="client is null. client id %d @spp_service.c(707),ERROR" ID="0xd82a161a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="client not connected. client id %d @spp_service.c(711),ERROR" ID="0xd82a163a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="connHdl: %x dataLen: %d writeRet: %d writeLen: %d @spp_service.c(726),WARNING" ID="0xd82a16b3" />
- <MSG STRUCTURE="diag_log_msg1" NAME="hdl 0x%x not exist @spp_service.c(740),WARNING" ID="0xd82a1723" />
- <MSG STRUCTURE="diag_log_msg0" NAME="no recieve function registered @spp_service.c(747),INFO" ID="0xd82a175d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="hdl 0x%x not exist @spp_service.c(758),WARNING" ID="0xd82a17b3" />
- <MSG STRUCTURE="diag_log_msg2" NAME="no match client id for hdl 0x%x, try %d times @spp_service.c(762),INFO" ID="0xd82a17d5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_CONNECTED hdl=0x%x @spp_service.c(778),INFO" ID="0xd82a1855" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_DISCONNECTED hdl=0x%x @spp_service.c(782),INFO" ID="0xd82a1875" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_FC_ON hdl=0x%x @spp_service.c(789),INFO" ID="0xd82a18ad" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unknown msg hdl=0x%x @spp_service.c(792),WARNING" ID="0xd82a18c3" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="client is null. client id %d @spp_service.c(701),ERROR" ID="0xd82a15ea" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="client not connected. client id %d @spp_service.c(705),ERROR" ID="0xd82a160a" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="connHdl: %x dataLen: %d writeRet: %d writeLen: %d @spp_service.c(720),WARNING" ID="0xd82a1683" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="hdl 0x%x not exist @spp_service.c(734),WARNING" ID="0xd82a16f3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="no recieve function registered @spp_service.c(741),INFO" ID="0xd82a172d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="hdl 0x%x not exist @spp_service.c(752),WARNING" ID="0xd82a1783" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="no match client id for hdl 0x%x, try %d times @spp_service.c(756),INFO" ID="0xd82a17a5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_CONNECTED hdl=0x%x @spp_service.c(772),INFO" ID="0xd82a1825" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_DISCONNECTED hdl=0x%x @spp_service.c(776),INFO" ID="0xd82a1845" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_FC_ON hdl=0x%x @spp_service.c(783),INFO" ID="0xd82a187d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unknown msg hdl=0x%x @spp_service.c(786),WARNING" ID="0xd82a1893" />
</MSG_LOG>
\ No newline at end of file
<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s fail. @stack_av_if.c(62),ERROR" ID="0xd8dc01f2" />
<MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s fail. @stack_av_if.c(118),ERROR" ID="0xd8dc03b2" />
- <MSG STRUCTURE="diag_log_msg2" NAME=" a2dp rpt stream state %x src %x @stack_av_if.c(163),INFO" ID="0xd8dc051d" />
- <MSG STRUCTURE="diag_log_msg1" NAME=" a2dp rpt stream config src %x @stack_av_if.c(179),INFO" ID="0xd8dc059d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME=" a2dp rpt stream state %x src %x @stack_av_if.c(158),INFO" ID="0xd8dc04f5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME=" a2dp rpt stream config src %x @stack_av_if.c(174),INFO" ID="0xd8dc0575" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="add faild, Input parameter error. @ui_coverflow_view.cpp(96),ERROR" ID="0xcb3e0302" />
- <MSG STRUCTURE="diag_log_msg0" NAME="remove faild, Input parameter error. @ui_coverflow_view.cpp(137),ERROR" ID="0xcb3e044a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="add faild, Input parameter error. @ui_coverflow_view.cpp(94),ERROR" ID="0xcb3e02f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="remove faild, Input parameter error. @ui_coverflow_view.cpp(135),ERROR" ID="0xcb3e043a" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="A maximum of 20 records can be added. @ui_icosahedron_view.cpp(108),ERROR" ID="0xcb420362" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="A maximum of 20 records can be added. @ui_icosahedron_view.cpp(100),ERROR" ID="0xcb420322" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="pois_ malloc fail @ui_map_view.cpp(82),ERROR" ID="0xcb440292" />
- <MSG STRUCTURE="diag_log_msg0" NAME="roads_ malloc fail @ui_map_view.cpp(133),ERROR" ID="0xcb44042a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="pois_ malloc fail @ui_map_view.cpp(79),ERROR" ID="0xcb44027a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="roads_ malloc fail @ui_map_view.cpp(130),ERROR" ID="0xcb440412" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="RollerItemInfo is nullptr! @ui_roller_view.cpp(180),ERROR" ID="0xcb4005a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Already add an item with the same name. Remove it before adding this. @ui_roller_view.cpp(223),ERROR" ID="0xcb4006fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="name is empty! @ui_roller_view.cpp(264),ERROR" ID="0xcb400842" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Should remove an item in DISPLAY mode @ui_roller_view.cpp(269),ERROR" ID="0xcb40086a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="RollerItemInfo is null! @ui_roller_view.cpp(450),ERROR" ID="0xcb400e12" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Cannot set align item when mode is about to change. @ui_roller_view.cpp(503),ERROR" ID="0xcb400fba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Should SetCurrentItem in DISPLAY mode. @ui_roller_view.cpp(507),ERROR" ID="0xcb400fda" />
- <MSG STRUCTURE="diag_log_msg1" NAME="Cannot find an item with name: %s @ui_roller_view.cpp(522),ERROR" ID="0xcb401052" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Cannot set mode when AlignAnim is running @ui_roller_view.cpp(617),ERROR" ID="0xcb40134a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mode is already set. @ui_roller_view.cpp(622),ERROR" ID="0xcb401372" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Cannot Set mode during transition or cannot set TRANSITION mode. @ui_roller_view.cpp(627),ERROR" ID="0xcb40139a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="RollerItemInfo is nullptr! @ui_roller_view.cpp(177),ERROR" ID="0xcb40058a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Already add an item with the same name. Remove it before adding this. @ui_roller_view.cpp(217),ERROR" ID="0xcb4006ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="name is empty! @ui_roller_view.cpp(257),ERROR" ID="0xcb40080a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Should remove an item in DISPLAY mode @ui_roller_view.cpp(262),ERROR" ID="0xcb400832" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="RollerItemInfo is null! @ui_roller_view.cpp(443),ERROR" ID="0xcb400dda" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Cannot set align item when mode is about to change. @ui_roller_view.cpp(495),ERROR" ID="0xcb400f7a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Should SetCurrentItem in DISPLAY mode. @ui_roller_view.cpp(499),ERROR" ID="0xcb400f9a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="Cannot find an item with name: %s @ui_roller_view.cpp(514),ERROR" ID="0xcb401012" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Cannot set mode when AlignAnim is running @ui_roller_view.cpp(609),ERROR" ID="0xcb40130a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="mode is already set. @ui_roller_view.cpp(614),ERROR" ID="0xcb401332" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Cannot Set mode during transition or cannot set TRANSITION mode. @ui_roller_view.cpp(619),ERROR" ID="0xcb40135a" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call connector_list_output_event_callback Failed, Error Code: [0x%08X] @core_sea.c(164),ERROR" ID="0x98600522" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]event = %d @core_sea.c(180),INFO" ID="0x986005a5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]mode = %u @core_sea.c(239),ERROR" ID="0x9860077a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.type = 0x%08X @core_sea.c(251),ERROR" ID="0x986007da" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.lib_id = %u @core_sea.c(256),ERROR" ID="0x98600802" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.type = 0x%08X @core_sea.c(271),ERROR" ID="0x9860087a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.lib_id = %u @core_sea.c(276),ERROR" ID="0x986008a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]All lib_id of afe and aai are null. @core_sea.c(307),ERROR" ID="0x9860099a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]in_pcm->samples_per_frame = %u @core_sea.c(335),ERROR" ID="0x98600a7a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]in_pcm->sample_rate = %u @core_sea.c(336),ERROR" ID="0x98600a82" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]entry = %p, Null Pointer! @core_sea.c(371),ERROR" ID="0x98600b9a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call create Failed, Error Code: [0x%08X] @core_sea.c(384),ERROR" ID="0x98600c02" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call get_eng_attr Failed, Error Code: [0x%08X] @core_sea.c(396),WARNING" ID="0x98600c63" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_get_module Failed, Error Code: [0x%08X] @core_sea.c(586),ERROR" ID="0x98601252" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]sea = 0x%08X @core_sea.c(587),INFO" ID="0x9860125d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_init Failed, Error Code: [0x%08X] @core_sea.c(684),ERROR" ID="0x98601562" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_deinit Failed, Error Code: [0x%08X] @core_sea.c(706),ERROR" ID="0x98601612" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(728),INFO" ID="0x986016c5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Error Code: [0x%08X] @core_sea.c(739),ERROR" ID="0x9860171a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call get_eng_caps Failed, Error Code: [0x%08X] @core_sea.c(747),ERROR" ID="0x9860175a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(752),INFO" ID="0x98601785" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(761),INFO" ID="0x986017cd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call get_def_pcm_attr Failed, Error Code: [0x%08X] @core_sea.c(773),ERROR" ID="0x9860182a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(777),INFO" ID="0x9860184d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(787),INFO" ID="0x9860189d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_alloc Failed, Error Code: [0x%08X] @core_sea.c(799),ERROR" ID="0x986018fa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_create Failed, Error Code: [0x%08X] @core_sea.c(807),ERROR" ID="0x9860193a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_set_input_stream Failed, Error Code: [0x%08X] @core_sea.c(816),ERROR" ID="0x98601982" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(836),INFO" ID="0x98601a25" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(847),INFO" ID="0x98601a7d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]ret = %d @core_sea.c(852),ERROR" ID="0x98601aa2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_destroy Failed, Error Code: [0x%08X] @core_sea.c(859),ERROR" ID="0x98601ada" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(871),INFO" ID="0x98601b3d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(880),INFO" ID="0x98601b85" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(885),INFO" ID="0x98601bad" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(895),INFO" ID="0x98601bfd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_enable Failed, Error Code: [0x%08X] @core_sea.c(899),ERROR" ID="0x98601c1a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call connector_list_output_event_callback Failed, Error Code: [0x%08X] @core_sea.c(161),ERROR" ID="0x9860050a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]event = %d @core_sea.c(177),INFO" ID="0x9860058d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]mode = %u @core_sea.c(236),ERROR" ID="0x98600762" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.type = 0x%08X @core_sea.c(248),ERROR" ID="0x986007c2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.lib_id = %u @core_sea.c(253),ERROR" ID="0x986007ea" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.type = 0x%08X @core_sea.c(268),ERROR" ID="0x98600862" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.lib_id = %u @core_sea.c(273),ERROR" ID="0x9860088a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]All lib_id of afe and aai are null. @core_sea.c(304),ERROR" ID="0x98600982" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]in_pcm->samples_per_frame = %u @core_sea.c(332),ERROR" ID="0x98600a62" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]in_pcm->sample_rate = %u @core_sea.c(333),ERROR" ID="0x98600a6a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]entry = %p, Null Pointer! @core_sea.c(368),ERROR" ID="0x98600b82" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call create Failed, Error Code: [0x%08X] @core_sea.c(381),ERROR" ID="0x98600bea" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call get_eng_attr Failed, Error Code: [0x%08X] @core_sea.c(393),WARNING" ID="0x98600c4b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_get_module Failed, Error Code: [0x%08X] @core_sea.c(555),ERROR" ID="0x9860115a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]sea = 0x%08X @core_sea.c(556),INFO" ID="0x98601165" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_init Failed, Error Code: [0x%08X] @core_sea.c(653),ERROR" ID="0x9860146a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_deinit Failed, Error Code: [0x%08X] @core_sea.c(675),ERROR" ID="0x9860151a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(697),INFO" ID="0x986015cd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Error Code: [0x%08X] @core_sea.c(708),ERROR" ID="0x98601622" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call get_eng_caps Failed, Error Code: [0x%08X] @core_sea.c(716),ERROR" ID="0x98601662" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(721),INFO" ID="0x9860168d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(730),INFO" ID="0x986016d5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call get_def_pcm_attr Failed, Error Code: [0x%08X] @core_sea.c(742),ERROR" ID="0x98601732" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(746),INFO" ID="0x98601755" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(756),INFO" ID="0x986017a5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_alloc Failed, Error Code: [0x%08X] @core_sea.c(768),ERROR" ID="0x98601802" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_create Failed, Error Code: [0x%08X] @core_sea.c(776),ERROR" ID="0x98601842" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_set_input_stream Failed, Error Code: [0x%08X] @core_sea.c(785),ERROR" ID="0x9860188a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(805),INFO" ID="0x9860192d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(816),INFO" ID="0x98601985" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]ret = %d @core_sea.c(821),ERROR" ID="0x986019aa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_destroy Failed, Error Code: [0x%08X] @core_sea.c(828),ERROR" ID="0x986019e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(840),INFO" ID="0x98601a45" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(849),INFO" ID="0x98601a8d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(854),INFO" ID="0x98601ab5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(864),INFO" ID="0x98601b05" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_enable Failed, Error Code: [0x%08X] @core_sea.c(868),ERROR" ID="0x98601b22" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(874),INFO" ID="0x98601b55" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(884),INFO" ID="0x98601ba5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_enable Failed, Error Code: [0x%08X] @core_sea.c(888),ERROR" ID="0x98601bc2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(894),INFO" ID="0x98601bf5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(903),INFO" ID="0x98601c3d" />
<MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(905),INFO" ID="0x98601c4d" />
<MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(915),INFO" ID="0x98601c9d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_enable Failed, Error Code: [0x%08X] @core_sea.c(919),ERROR" ID="0x98601cba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(925),INFO" ID="0x98601ced" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(934),INFO" ID="0x98601d35" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(936),INFO" ID="0x98601d45" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(946),INFO" ID="0x98601d95" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(960),INFO" ID="0x98601e05" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(971),INFO" ID="0x98601e5d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_attr Failed, Error Code: [0x%08X] @core_sea.c(991),ERROR" ID="0x98601efa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(996),INFO" ID="0x98601f25" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1005),INFO" ID="0x98601f6d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(929),INFO" ID="0x98601d0d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(940),INFO" ID="0x98601d65" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_attr Failed, Error Code: [0x%08X] @core_sea.c(960),ERROR" ID="0x98601e02" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(965),INFO" ID="0x98601e2d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(974),INFO" ID="0x98601e75" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(977),INFO" ID="0x98601e8d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(989),INFO" ID="0x98601eed" />
<MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1008),INFO" ID="0x98601f85" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1020),INFO" ID="0x98601fe5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1039),INFO" ID="0x9860207d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1050),INFO" ID="0x986020d5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1069),INFO" ID="0x9860216d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1080),INFO" ID="0x986021c5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Error Code: [0x%08X] @core_sea.c(1084),ERROR" ID="0x986021e2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_set_input_stream Failed, Error Code: [0x%08X] @core_sea.c(1095),ERROR" ID="0x9860223a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_input_pcm Failed, Error Code: [0x%08X] @core_sea.c(1102),ERROR" ID="0x98602272" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1113),INFO" ID="0x986022cd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1123),INFO" ID="0x9860231d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1131),INFO" ID="0x9860235d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1144),INFO" ID="0x986023c5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_set_input_stream Failed, Error Code: [0x%08X] @core_sea.c(1160),ERROR" ID="0x98602442" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_input_pcm Failed, Error Code: [0x%08X] @core_sea.c(1166),ERROR" ID="0x98602472" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1170),INFO" ID="0x98602495" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1180),INFO" ID="0x986024e5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]data_port_id = %u @core_sea.c(1184),ERROR" ID="0x98602502" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1194),INFO" ID="0x98602555" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1205),INFO" ID="0x986025ad" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_get_items Failed, Error Code: [0x%08X] @core_sea.c(1211),ERROR" ID="0x986025da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1019),INFO" ID="0x98601fdd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1038),INFO" ID="0x98602075" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1049),INFO" ID="0x986020cd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Error Code: [0x%08X] @core_sea.c(1053),ERROR" ID="0x986020ea" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_set_input_stream Failed, Error Code: [0x%08X] @core_sea.c(1064),ERROR" ID="0x98602142" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_input_pcm Failed, Error Code: [0x%08X] @core_sea.c(1071),ERROR" ID="0x9860217a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1082),INFO" ID="0x986021d5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1092),INFO" ID="0x98602225" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1100),INFO" ID="0x98602265" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1113),INFO" ID="0x986022cd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_set_input_stream Failed, Error Code: [0x%08X] @core_sea.c(1129),ERROR" ID="0x9860234a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_input_pcm Failed, Error Code: [0x%08X] @core_sea.c(1135),ERROR" ID="0x9860237a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1139),INFO" ID="0x9860239d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1149),INFO" ID="0x986023ed" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]data_port_id = %u @core_sea.c(1153),ERROR" ID="0x9860240a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1163),INFO" ID="0x9860245d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1174),INFO" ID="0x986024b5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_get_items Failed, Error Code: [0x%08X] @core_sea.c(1180),ERROR" ID="0x986024e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1185),INFO" ID="0x9860250d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1195),INFO" ID="0x9860255d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_get_items Failed, Error Code: [0x%08X] @core_sea.c(1200),ERROR" ID="0x98602582" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1204),INFO" ID="0x986025a5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1213),INFO" ID="0x986025ed" />
<MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1216),INFO" ID="0x98602605" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1226),INFO" ID="0x98602655" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_get_items Failed, Error Code: [0x%08X] @core_sea.c(1231),ERROR" ID="0x9860267a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1235),INFO" ID="0x9860269d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1244),INFO" ID="0x986026e5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1247),INFO" ID="0x986026fd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1256),INFO" ID="0x98602745" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1259),INFO" ID="0x9860275d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1268),INFO" ID="0x986027a5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1270),INFO" ID="0x986027b5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1280),INFO" ID="0x98602805" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1288),INFO" ID="0x98602845" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Error Code: [0x%08X] @core_sea.c(1302),ERROR" ID="0x986028b2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call connector_get_buffer_info Failed, Error Code: [0x%08X] @core_sea.c(1333),ERROR" ID="0x986029aa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_get_proc_info Failed, Error Code: [0x%08X] @core_sea.c(1380),ERROR" ID="0x98602b22" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]load_type = %u @core_sea.c(1394),ERROR" ID="0x98602b92" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]load_type = %u @core_sea.c(1406),ERROR" ID="0x98602bf2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1225),INFO" ID="0x9860264d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1228),INFO" ID="0x98602665" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1237),INFO" ID="0x986026ad" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1239),INFO" ID="0x986026bd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1249),INFO" ID="0x9860270d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1257),INFO" ID="0x9860274d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Error Code: [0x%08X] @core_sea.c(1271),ERROR" ID="0x986027ba" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call connector_get_buffer_info Failed, Error Code: [0x%08X] @core_sea.c(1302),ERROR" ID="0x986028b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_get_proc_info Failed, Error Code: [0x%08X] @core_sea.c(1349),ERROR" ID="0x98602a2a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]load_type = %u @core_sea.c(1363),ERROR" ID="0x98602a9a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]load_type = %u @core_sea.c(1375),ERROR" ID="0x98602afa" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[hifi]heartbeat count : %d @dsp_main.c(54),INFO" ID="0x980001b5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]dsp_retrigger_msg_int success @dsp_main.c(92),ERROR" ID="0x980002e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @dsp_main.c(103),INFO" ID="0x9800033d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_init Failed, Error Code: [0x%08X] @dsp_main.c(109),ERROR" ID="0x9800036a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_msg_init Failed, Error Code: [0x%08X] @dsp_main.c(115),ERROR" ID="0x9800039a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_msg_init Failed, Error Code: [0x%08X] @dsp_main.c(122),ERROR" ID="0x980003d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(129),INFO" ID="0x9800040d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @dsp_main.c(136),INFO" ID="0x98000445" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_msg_deinit Failed, Error Code: [0x%08X] @dsp_main.c(140),ERROR" ID="0x98000462" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_msg_deinit Failed, Error Code: [0x%08X] @dsp_main.c(145),ERROR" ID="0x9800048a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_deinit Failed, Error Code: [0x%08X] @dsp_main.c(150),ERROR" ID="0x980004b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(153),INFO" ID="0x980004cd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @dsp_main.c(158),INFO" ID="0x980004f5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(161),INFO" ID="0x9800050d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]state = %d @dsp_main.c(170),ERROR" ID="0x98000552" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(180),INFO" ID="0x980005a5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @dsp_main.c(186),INFO" ID="0x980005d5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(189),INFO" ID="0x980005ed" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]state = %d @dsp_main.c(194),ERROR" ID="0x98000612" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]active standby @dsp_main.c(199),ERROR" ID="0x9800063a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(202),INFO" ID="0x98000655" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @dsp_main.c(208),INFO" ID="0x98000685" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]state = %d @dsp_main.c(211),ERROR" ID="0x9800069a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[hifi]heartbeat count : %d @dsp_main.c(53),INFO" ID="0x980001ad" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @dsp_main.c(80),INFO" ID="0x98000285" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_init Failed, Error Code: [0x%08X] @dsp_main.c(86),ERROR" ID="0x980002b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_msg_init Failed, Error Code: [0x%08X] @dsp_main.c(92),ERROR" ID="0x980002e2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_msg_init Failed, Error Code: [0x%08X] @dsp_main.c(99),ERROR" ID="0x9800031a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(106),INFO" ID="0x98000355" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @dsp_main.c(113),INFO" ID="0x9800038d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_msg_deinit Failed, Error Code: [0x%08X] @dsp_main.c(117),ERROR" ID="0x980003aa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_msg_deinit Failed, Error Code: [0x%08X] @dsp_main.c(122),ERROR" ID="0x980003d2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_deinit Failed, Error Code: [0x%08X] @dsp_main.c(127),ERROR" ID="0x980003fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(130),INFO" ID="0x98000415" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @dsp_main.c(135),INFO" ID="0x9800043d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(138),INFO" ID="0x98000455" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]state = %d @dsp_main.c(147),ERROR" ID="0x9800049a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(157),INFO" ID="0x980004ed" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @dsp_main.c(163),INFO" ID="0x9800051d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(166),INFO" ID="0x98000535" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]state = %d @dsp_main.c(171),ERROR" ID="0x9800055a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]active standby @dsp_main.c(176),ERROR" ID="0x98000582" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(179),INFO" ID="0x9800059d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @dsp_main.c(185),INFO" ID="0x980005cd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]state = %d @dsp_main.c(188),ERROR" ID="0x980005e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(193),INFO" ID="0x9800060d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]state = %d @dsp_main.c(205),ERROR" ID="0x9800066a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]deep standby @dsp_main.c(210),ERROR" ID="0x98000692" />
<MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(216),INFO" ID="0x980006c5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]state = %d @dsp_main.c(228),ERROR" ID="0x98000722" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]deep standby @dsp_main.c(233),ERROR" ID="0x9800074a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @dsp_main.c(239),INFO" ID="0x9800077d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call probe_status_init Failed, Error Code: [0x%08X] @dsp_main.c(351),ERROR" ID="0x98000afa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sys_cmd_init Failed, Error Code: [0x%08X] @dsp_main.c(360),ERROR" ID="0x98000b42" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call probe_status_init Failed, Error Code: [0x%08X] @dsp_main.c(327),ERROR" ID="0x98000a3a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sys_cmd_init Failed, Error Code: [0x%08X] @dsp_main.c(336),ERROR" ID="0x98000a82" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg1" NAME="BypassMode = 0x%x @bt_transparent_bypass.c(35),INFO" ID="0x8de4011d" />
<MSG STRUCTURE="diag_log_msg4" NAME="[BLE_TEST] private test mode, chmap---0x%x:0x%x:0x%x,0x%x @llc_ch_asses.c(237),INFO" ID="0x8834076d" />
<MSG STRUCTURE="diag_log_msg2" NAME="btsdk_is_device_connected hdl:0x%x status:%d @sdk_gap_conn_management.c(608),INFO" ID="0x8b821305" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[GAP] inquiry result cbk i:%d eir[i]:%d @gap_hlp_br.c(116),ERROR" ID="0x8b8a03a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[GAP][LOGN_STACK_GAP_DIS_REGISTER] RegisterDIService success. @gap_hlp_br.c(1534),INFO" ID="0x8b8a2ff5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[GAP][LOGN_STACK_GAP_DIS_REGISTER] RegisterDIService failed. @gap_hlp_br.c(1538),WARNING" ID="0x8b8a3013" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[GAP][LOGN_STACK_GAP_DIS_REGISTER] RegisterDIService success. @gap_hlp_br.c(1528),INFO" ID="0x8b8a2fc5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[GAP][LOGN_STACK_GAP_DIS_REGISTER] RegisterDIService failed. @gap_hlp_br.c(1532),WARNING" ID="0x8b8a2fe3" />
<MSG STRUCTURE="diag_log_msg3" NAME="[HCI][LK_REQUEST] REMOTE_BD_ADDR=%02x:%02x:*:*:*:%02x @hci_secu.c(877),INFO" ID="0x8ad81b6d" />
<MSG STRUCTURE="diag_log_msg1" NAME="[HCI][LK_REQUEST] Remote Data Not Found, Remote Addr may be error = %x @hci_secu.c(911),INFO" ID="0x8ad81c7d" />
<MSG STRUCTURE="diag_log_msg3" NAME="[HCI][CHANGE_ENCRYPTION_MODE] STATUS=0x%x, HANDLE=0x%x, RESULT=0x%x @hci_secu.c(978),INFO" ID="0x8ad81e95" />
<MSG STRUCTURE="diag_log_msg2" NAME="[LLCP]llc_llcp_priv_uhd_req_pdu_send:param->tx_phys%d,param->tx_uhd_capability%d @llc_uhd_llcp.c(675),INFO" ID="0x894e151d" />
<MSG STRUCTURE="diag_log_msg3" NAME="llc_llcp_priv_uhd_up_ind_pdu_send:tx_phys%d,tx_uhd_capability%d, tx_polar%d @llc_uhd_llcp.c(713),INFO" ID="0x894e164d" />
<MSG STRUCTURE="diag_log_msg1" NAME="[LLC]uhd_up_ind:pdu.instant %d @llc_uhd_llcp.c(727),INFO" ID="0x894e16bd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: start @bt_ahi_av.c(52),ERROR" ID="0x8c9e01a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: suspend @bt_ahi_av.c(68),ERROR" ID="0x8c9e0222" />
- <MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: set audio param stream_hdl 0x%x shmid 0x%x enable %d result 0x%x @bt_ahi_av.c(106),ERROR" ID="0x8c9e0352" />
- <MSG STRUCTURE="diag_log_msg1" NAME="a2dp_audio: send stream qos flag %d @bt_ahi_av.c(118),ERROR" ID="0x8c9e03b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: first frame @bt_ahi_av.c(162),ERROR" ID="0x8c9e0512" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: start @bt_ahi_av.c(52),WARNING" ID="0x8c9e01a3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: suspend @bt_ahi_av.c(68),WARNING" ID="0x8c9e0223" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: set audio param stream_hdl 0x%x shmid 0x%x enable %d result 0x%x @bt_ahi_av.c(106),WARNING" ID="0x8c9e0353" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="a2dp_audio: send stream qos flag %d @bt_ahi_av.c(118),WARNING" ID="0x8c9e03b3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: first frame @bt_ahi_av.c(162),WARNING" ID="0x8c9e0513" />
<MSG STRUCTURE="diag_log_msg1" NAME="a2dp_audio: send stream packet too much %d @bt_ahi_av.c(198),ERROR" ID="0x8c9e0632" />
<MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: alloc buffer fail @bt_ahi_av.c(216),ERROR" ID="0x8c9e06c2" />
<MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: send stream error 0x%x enable %d sta %d @bt_ahi_av.c(229),ERROR" ID="0x8c9e072a" />
- <MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: send stream seq %d enable %d sta %d @bt_ahi_av.c(238),ERROR" ID="0x8c9e0772" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: send stream seq %d enable %d sta %d @bt_ahi_av.c(238),WARNING" ID="0x8c9e0773" />
<MSG STRUCTURE="diag_log_msg2" NAME="a2dp_audio: acquire stream error 0x%x shmid 0x%x @bt_ahi_av.c(249),ERROR" ID="0x8c9e07ca" />
<MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: acquire frame empty cnt %d eos %d size %d pkt_len %d @bt_ahi_av.c(260),ERROR" ID="0x8c9e0822" />
- <MSG STRUCTURE="diag_log_msg2" NAME="a2dp_audio: play state enable %d sta %d @bt_ahi_av.c(265),ERROR" ID="0x8c9e084a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="a2dp_audio: play state enable %d sta %d @bt_ahi_av.c(265),WARNING" ID="0x8c9e084b" />
<MSG STRUCTURE="diag_log_msg1" NAME="a2dp_audio: release stream error 0x%x @bt_ahi_av.c(273),ERROR" ID="0x8c9e088a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="a2dp_audio: no stream. enable %d sta %d @bt_ahi_av.c(284),ERROR" ID="0x8c9e08e2" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="a2dp_audio: no stream. enable %d sta %d @bt_ahi_av.c(284),WARNING" ID="0x8c9e08e3" />
<MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: a2dp service audio task handler @bt_ahi_av.c(294),INFO" ID="0x8c9e0935" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: start accept @bt_ahi_av.c(324),ERROR" ID="0x8c9e0a22" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: start accept @bt_ahi_av.c(324),WARNING" ID="0x8c9e0a23" />
<MSG STRUCTURE="diag_log_msg1" NAME="[INFO][HOP]scst_hop_chk_en=%x @ld_acl_hop.c(138),INFO" ID="0x88c80455" />
<MSG STRUCTURE="diag_log_msg3" NAME="[INFO][HOP]scst_hop_chk_en=%x, nb_good_ch_thr=%d, bw=%d @ld_acl_hop.c(160),INFO" ID="0x88c80505" />
<MSG STRUCTURE="diag_log_msg4" NAME="[INFO][HOP]hop_check hop_info_buf[%d]=%d, hop_out=%d, diff=%d @ld_acl_hop.c(329),INFO" ID="0x88c80a4d" />
<MSG STRUCTURE="diag_log_msg5" NAME="[L2CAP]SDU Reassemble memcpy_s Error, ret=%u, dest=%p, destSize=%u, src=%p, srcSize=%u @l2cap_ert.c(193),ERROR" ID="0x8adc060a" />
<MSG STRUCTURE="diag_log_msg5" NAME="[L2CAP]SDU Reassemble memcpy_s Error, ret=%u, dest=%p, destSize=%u, src=%p, srcSize=%u @l2cap_ert.c(209),ERROR" ID="0x8adc068a" />
<MSG STRUCTURE="diag_log_msg4" NAME="ap => bt ipc error, get cpu trace ret=%d, bt pc=0x%x, lr=0x%x, sp=0x%x, @ipc.c(417),ERROR" ID="0xa02a0d0a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="ipc error core %d => %d action=%d, called=0x%X @ipc.c(707),ERROR" ID="0xa02a161a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="ipc error, core=%d current pc=0x%x, lr=0x%x, sp=0x%x @ipc.c(709),ERROR" ID="0xa02a162a" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="ipc error core %d => %d action=%d, called=0x%X @ipc.c(705),ERROR" ID="0xa02a160a" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="ipc error, core=%d current pc=0x%x, lr=0x%x, sp=0x%x @ipc.c(707),ERROR" ID="0xa02a161a" />
<MSG STRUCTURE="diag_log_msg2" NAME="[ERROR]bt_ssi_read_reg BT_CFG_FAIL[0x%x]=0x%x ... @reg_access_ram.c(146),ERROR" ID="0x8a4c0492" />
<MSG STRUCTURE="diag_log_msg1" NAME="[ERR]error_handler:NULL PTR: err_id = 0x%x @bt_priv_ram.c(351),ERROR" ID="0x88da0afa" />
<MSG STRUCTURE="diag_log_msg2" NAME="[ERR]error_handler:ERR PARAM: err_id = 0x%x , err_code = 0x%x @bt_priv_ram.c(357),ERROR" ID="0x88da0b2a" />
<MSG STRUCTURE="diag_log_msg2" NAME="[ACL][END]sync_env=%d, linkid=%d @lc_tog.c(697),INFO" ID="0x89f015cd" />
<MSG STRUCTURE="diag_log_msg1" NAME="[WARNING]lc_audio_sync_start invalid tog mode:%d @lc_tog.c(767),WARNING" ID="0x89f017fb" />
<MSG STRUCTURE="diag_log_msg2" NAME="[INFO][LLD]lld_evt_per_adv_sync_schedule:llc_env[%d]=0x%x @lld_per_evt.c(56),INFO" ID="0x897801c5" />
- <MSG STRUCTURE="diag_log_msg4" NAME="BT run time:%d, BT deep sleep time:%d, light sleep time:%d, BT sleep flag:%d @security_main.c(287),INFO" ID="0xa00008fd" />
- <MSG STRUCTURE="diag_log_msg4" NAME="BT deepsleep cnt:%d, BT light sleep cnt:%d, last veto id:%d, last veto count:%d @security_main.c(290),INFO" ID="0xa0000915" />
- <MSG STRUCTURE="diag_log_msg3" NAME="PLT 32K freq is %d, cnt is %d, kick cnt is %d. @security_main.c(292),INFO" ID="0xa0000925" />
- <MSG STRUCTURE="diag_log_msg0" NAME="enter sec_main fuction @security_main.c(387),INFO" ID="0xa0000c1d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="The chip needs to be replaced. @security_main.c(562),INFO" ID="0xa0001195" />
- <MSG STRUCTURE="diag_log_msg3" NAME="BT year:0x%x, month:0x%x, day:0x%x, No verification is required. @security_main.c(569),INFO" ID="0xa00011cd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="The chip does not need to be verified. @security_main.c(596),INFO" ID="0xa00012a5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="The chip verification failed. @security_main.c(604),INFO" ID="0xa00012e5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Security enhancement verification succeeded. @security_main.c(609),INFO" ID="0xa000130d" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="BT run time:%d, BT deep sleep time:%d, light sleep time:%d, BT sleep flag:%d @security_main.c(283),INFO" ID="0xa00008dd" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="BT deepsleep cnt:%d, BT light sleep cnt:%d, last veto id:%d, last veto count:%d @security_main.c(286),INFO" ID="0xa00008f5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="enter sec_main fuction @security_main.c(381),INFO" ID="0xa0000bed" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="The chip needs to be replaced. @security_main.c(555),INFO" ID="0xa000115d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="BT year:0x%x, month:0x%x, day:0x%x, No verification is required. @security_main.c(562),INFO" ID="0xa0001195" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="The chip does not need to be verified. @security_main.c(589),INFO" ID="0xa000126d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="The chip verification failed. @security_main.c(597),INFO" ID="0xa00012ad" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Security enhancement verification succeeded. @security_main.c(602),INFO" ID="0xa00012d5" />
<MSG STRUCTURE="diag_log_msg2" NAME="[L2CAP][CONFIG_IND]ACTION=INVALID_CID STATUS, PSM=%d, STATUS=%d @l2cap_core_br.c(705),WARNING" ID="0x8bba160b" />
<MSG STRUCTURE="diag_log_msg1" NAME="[L2CAP][ECHO_REQ] mem exhaust, data_len=%u @l2cap_core_br.c(775),WARNING" ID="0x8bba183b" />
<MSG STRUCTURE="diag_log_msg3" NAME="[L2CAP][ECHO_REQ] ACTION=NOT_FOUND_ACL_LINK, REMOTE_ADDR=%02x:%02x:**:**:**:%02x @l2cap_core_br.c(807),WARNING" ID="0x8bba193b" />
<MSG STRUCTURE="diag_log_msg1" NAME="ahib mpc table route op_code = 0x%x not found @ahib_mpc.c(62),ERROR" ID="0x8dfa01f2" />
<MSG STRUCTURE="diag_log_msg0" NAME="ahib mpc tx mcu packet NO memory. @ahib_mpc.c(76),ERROR" ID="0x8dfa0262" />
<MSG STRUCTURE="diag_log_msg0" NAME="ahib mpc tx mcu packet memcpy failed @ahib_mpc.c(82),ERROR" ID="0x8dfa0292" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC:data send retry opcode: %x @ahib_mpc.c(86),ERROR" ID="0x8dfa02b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC:data send retry opcode: %x @ahib_mpc.c(86),WARNING" ID="0x8dfa02b3" />
<MSG STRUCTURE="diag_log_msg1" NAME="MPC:data send err opcode: %x @ahib_mpc.c(95),ERROR" ID="0x8dfa02fa" />
<MSG STRUCTURE="diag_log_msg1" NAME="ahib mpc bt process packet tid= 0x%x not table route @ahib_mpc.c(137),DBG" ID="0x8dfa044e" />
<MSG STRUCTURE="diag_log_msg0" NAME="ahib mpc route packet param is error! @ahib_mpc.c(150),ERROR" ID="0x8dfa04b2" />
<MSG STRUCTURE="diag_log_msg0" NAME="[PMU][ERROR]bt cali start pmu state change fail @bt_cali_main.c(336),ERROR" ID="0x893c0a82" />
<MSG STRUCTURE="diag_log_msg0" NAME="[PMU][ERROR]bt cali end pmu state change fail @bt_cali_main.c(344),ERROR" ID="0x893c0ac2" />
<MSG STRUCTURE="diag_log_msg1" NAME="interrupt times account for more than the high percent is %d @ld_fm_ram.c(178),INFO" ID="0x88b20595" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[WARNING]ld_fm_frame_isr: clear again, irq_stat(0x%x) @ld_fm_ram.c(242),WARNING" ID="0x88b20793" />
- <MSG STRUCTURE="diag_log_msg4" NAME="clkn(0x%x) intstat(0x%x), abort(%d)errCode(0x%x) @ld_fm_ram.c(247),WARNING" ID="0x88b207bb" />
- <MSG STRUCTURE="diag_log_msg1" NAME="errint(0x%x) @ld_fm_ram.c(248),WARNING" ID="0x88b207c3" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[ERROR]ld_fm_frame_isr:ts=0x%x, sw_id=%d, etptr=0x%x, hw_id=%d @ld_fm_ram.c(280),ERROR" ID="0x88b208c2" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[WARNING]ld_fm_frame_isr:ts=0x%x, cs_idx=%d @ld_fm_ram.c(283),WARNING" ID="0x88b208db" />
- <MSG STRUCTURE="diag_log_msg4" NAME="ld_fm_frame_isr clk(0x%x)intstat(0x%x)etptr(0x%x)lr(0x%x) @ld_fm_ram.c(300),ERROR" ID="0x88b20962" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[WARNING]ld_fm_frame_isr:ET%d:extab0=0x%x, extab1=0x%x @ld_fm_ram.c(328),WARNING" ID="0x88b20a43" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_fm_sket_isr:elt=NULL, sket_clkn=0x%x, clock=0x%x, finecnt=0x%x, etptr=0x%x @ld_fm_ram.c(352),WARNING" ID="0x88b20b03" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[WARNING][LD]ld_fm_sket_isr:timestamp=0x%x, cs_idx=%d @ld_fm_ram.c(356),WARNING" ID="0x88b20b23" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[WARNING][LD]ld_fm_sket_isr:hw_id=%d @ld_fm_ram.c(361),WARNING" ID="0x88b20b4b" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ERROR]ld_fm_sket_isr:ET%d:extab0=0x%x, extab1=0x%x @ld_fm_ram.c(385),ERROR" ID="0x88b20c0a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="ld_fm_sket_isr:clkn=0x%x, timestamp=0x%x, sket_clkn=0x%x, etptr=0x%x @ld_fm_ram.c(511),WARNING" ID="0x88b20ffb" />
- <MSG STRUCTURE="diag_log_msg2" NAME="ld_fm_sket_isr:cs_idx=%d, hw_id=%d @ld_fm_ram.c(512),WARNING" ID="0x88b21003" />
- <MSG STRUCTURE="diag_log_msg2" NAME="ld_fm_sket_isr:timestamp=0x%x, cs_idx=%d @ld_fm_ram.c(516),WARNING" ID="0x88b21023" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[INFO][EA]ld_fm_sket_isr cur time=0%x , frm_cbk=0%x, sket_clkn=0%x, timestamp=0%x @ld_fm_ram.c(525),INFO" ID="0x88b2106d" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_fm_process:fifo_last_ts=0x%x,frm_cbk=0x%x,cs_idx=%d,insert_ts=0x%x @ld_fm_ram.c(590),WARNING" ID="0x88b21273" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[WARNING][LD]ld_fm_process:sket clk=0x0%x, frm_cbk=0x0%x, cs_idx=%d @ld_fm_ram.c(597),WARNING" ID="0x88b212ab" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[ERROR][LD]ld_fm_process:err et mode=0x%x, elt=0x%x, clk=0x%x, LR=0x%x @ld_fm_ram.c(618),ERROR" ID="0x88b21352" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[ERROR][param]ld_fm_process ld_fm_env.free=NULL, timestamp=0x%x, fifo cnt=%d @ld_fm_ram.c(626),ERROR" ID="0x88b21392" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_fm_prog_push:timestamp=0x%x, clock=0x%x, LR=0x%x, format=0x%x @ld_fm_ram.c(656),WARNING" ID="0x88b21483" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[WARN][LD]ld_fm_prog_push:err timestamp=0x%x, clock=0x%x, LR=0x%x @ld_fm_ram.c(658),WARNING" ID="0x88b21493" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="clkn(0x%x) intstat(0x%x), abort(%d)errCode(0x%x) @ld_fm_ram.c(245),WARNING" ID="0x88b207ab" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[ERROR]ld_fm_frame_isr:ts=0x%x, sw_id=%d, etptr=0x%x, hw_id=%d @ld_fm_ram.c(277),ERROR" ID="0x88b208aa" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[WARNING]ld_fm_frame_isr:ts=0x%x, cs_idx=%d @ld_fm_ram.c(280),WARNING" ID="0x88b208c3" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="ld_fm_frame_isr clk(0x%x)intstat(0x%x)etptr(0x%x)lr(0x%x) @ld_fm_ram.c(297),ERROR" ID="0x88b2094a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[WARNING]ld_fm_frame_isr:ET%d:extab0=0x%x, extab1=0x%x @ld_fm_ram.c(325),WARNING" ID="0x88b20a2b" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_fm_sket_isr:elt=NULL, sket_clkn=0x%x, clock=0x%x, finecnt=0x%x, etptr=0x%x @ld_fm_ram.c(349),WARNING" ID="0x88b20aeb" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[WARNING][LD]ld_fm_sket_isr:timestamp=0x%x, cs_idx=%d @ld_fm_ram.c(353),WARNING" ID="0x88b20b0b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[WARNING][LD]ld_fm_sket_isr:hw_id=%d @ld_fm_ram.c(358),WARNING" ID="0x88b20b33" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ERROR]ld_fm_sket_isr:ET%d:extab0=0x%x, extab1=0x%x @ld_fm_ram.c(382),ERROR" ID="0x88b20bf2" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="ld_fm_sket_isr:clkn=0x%x, timestamp=0x%x, sket_clkn=0x%x, etptr=0x%x @ld_fm_ram.c(508),WARNING" ID="0x88b20fe3" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="ld_fm_sket_isr:cs_idx=%d, hw_id=%d @ld_fm_ram.c(509),WARNING" ID="0x88b20feb" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="ld_fm_sket_isr:timestamp=0x%x, cs_idx=%d @ld_fm_ram.c(513),WARNING" ID="0x88b2100b" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[INFO][EA]ld_fm_sket_isr cur time=0%x , frm_cbk=0%x, sket_clkn=0%x, timestamp=0%x @ld_fm_ram.c(522),INFO" ID="0x88b21055" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_fm_process:fifo_last_ts=0x%x,frm_cbk=0x%x,cs_idx=%d,insert_ts=0x%x @ld_fm_ram.c(587),WARNING" ID="0x88b2125b" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[WARNING][LD]ld_fm_process:sket clk=0x0%x, frm_cbk=0x0%x, cs_idx=%d @ld_fm_ram.c(594),WARNING" ID="0x88b21293" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[ERROR][LD]ld_fm_process:err et mode=0x%x, elt=0x%x, clk=0x%x, LR=0x%x @ld_fm_ram.c(615),ERROR" ID="0x88b2133a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[ERROR][param]ld_fm_process ld_fm_env.free=NULL, timestamp=0x%x, fifo cnt=%d @ld_fm_ram.c(623),ERROR" ID="0x88b2137a" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_fm_prog_push:timestamp=0x%x, clock=0x%x, LR=0x%x, format=0x%x @ld_fm_ram.c(653),WARNING" ID="0x88b2146b" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[WARN][LD]ld_fm_prog_push:err timestamp=0x%x, clock=0x%x, LR=0x%x @ld_fm_ram.c(655),WARNING" ID="0x88b2147b" />
<MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][PAST]llc_llcp_per_sync_pdu_tree_device_pack can't get sync info @llc_past_llcp.c(130),WARNING" ID="0x89b60413" />
<MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][PAST]llc_llcp_per_sync_pdu_two_device_check ACL disconnect or adv not enable @llc_past_llcp.c(183),WARNING" ID="0x89b605bb" />
<MSG STRUCTURE="diag_log_msg1" NAME="[WARNING][PAST]llc_llcp_per_sync_pdu_two_device_check periodic not enable or aux has released auxcs = 0x%x @llc_past_llcp.c(191),WARNING" ID="0x89b605fb" />
<MSG STRUCTURE="diag_log_msg0" NAME="ble core: App Start Ble Adv get localname or mac err @bt_dft.c(744),ERROR" ID="0x8d0a1742" />
<MSG STRUCTURE="diag_log_msg1" NAME="MPC: ResponseNameRead Response:0x%x @bt_dft.c(759),INFO" ID="0x8d0a17bd" />
<MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt dft write name:0x%x success @bt_dft.c(769),INFO" ID="0x8d0a180d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt adpt set br edr scan ble only not support Br Scan! @bt_dft.c(776),INFO" ID="0x8d0a1845" />
- <MSG STRUCTURE="diag_log_msg2" NAME="MPC: BtSetScan %d, return:%d @bt_dft.c(787),INFO" ID="0x8d0a189d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="MPC: adpt gap set page scan window %d, return:%d @bt_dft.c(792),INFO" ID="0x8d0a18c5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt clear scan mode:0x%x, success @bt_dft.c(810),INFO" ID="0x8d0a1955" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt set scan start:0x%x, success @bt_dft.c(823),INFO" ID="0x8d0a19bd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt disconnect link:pkt_len = %d, entry @bt_dft.c(835),INFO" ID="0x8d0a1a1d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="MPC:remote_addr 0x%02x:%02x:**:**:**:%02x @bt_dft.c(841),INFO" ID="0x8d0a1a4d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: No device connected @bt_dft.c(850),INFO" ID="0x8d0a1a95" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: memcpy error @bt_dft.c(857),INFO" ID="0x8d0a1acd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: adpt gap disconnect link return:%d @bt_dft.c(867),INFO" ID="0x8d0a1b1d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt disconnect link:0x%x, success @bt_dft.c(875),INFO" ID="0x8d0a1b5d" />
- <MSG STRUCTURE="diag_log_msg4" NAME="MPC: bt get ble con devinfo br: 0x%x:0x%x:**:**:**:0x%x:0x%x @bt_dft.c(903),INFO" ID="0x8d0a1c3d" />
- <MSG STRUCTURE="diag_log_msg4" NAME="MPC: bt get ble con devinfo ble:0x%x:0x%x:**:**:**:0x%x:0x%x @bt_dft.c(905),INFO" ID="0x8d0a1c4d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt get ble con devinfo: Get device name fail @bt_dft.c(913),INFO" ID="0x8d0a1c8d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt get ble con devinfo formate info error @bt_dft.c(926),INFO" ID="0x8d0a1cf5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt get ble con devinfo ble connect state:%u @bt_dft.c(930),INFO" ID="0x8d0a1d15" />
- <MSG STRUCTURE="diag_log_msg3" NAME="MPC: bt get ble con devinfo ble:0x%x:0x%x:**:**:**:0x%x @bt_dft.c(947),INFO" ID="0x8d0a1d9d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt get ble con devinfo: formate info error @bt_dft.c(954),INFO" ID="0x8d0a1dd5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt get ble con devinfo ble connect state:%u @bt_dft.c(959),INFO" ID="0x8d0a1dfd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt change adv addr type:pkt_len = %d, entry @bt_dft.c(967),INFO" ID="0x8d0a1e3d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="MPC: bt change adv addr type:addr_type = %d, use_private_addr = %d @bt_dft.c(976),INFO" ID="0x8d0a1e85" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt change adv addr type:0x%x, success @bt_dft.c(979),INFO" ID="0x8d0a1e9d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt reg default gatt services success @bt_dft.c(986),INFO" ID="0x8d0a1ed5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Exit for pointer is NULL @bt_dft.c(1079),ERROR" ID="0x8d0a21ba" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt dft recieve cmd opcode= 0x%X @bt_dft.c(1102),INFO" ID="0x8d0a2275" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds tarns_id= 0x%X @bt_dft.c(1153),INFO" ID="0x8d0a240d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds opcode = 0x%X @bt_dft.c(1154),INFO" ID="0x8d0a2415" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds control= 0x%X @bt_dft.c(1155),INFO" ID="0x8d0a241d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds sequence= 0x%X @bt_dft.c(1156),INFO" ID="0x8d0a2425" />
- <MSG STRUCTURE="diag_log_msg2" NAME="bt dft proc dongle cmds param[%d] = 0x%X @bt_dft.c(1159),INFO" ID="0x8d0a243d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dft not idle @bt_dft.c(1169),INFO" ID="0x8d0a248d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dft dongle param pass @bt_dft.c(1183),INFO" ID="0x8d0a24fd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BT_DFT: bt dft is in rf test %d @bt_dft.c(1197),INFO" ID="0x8d0a256d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft dongle rf test start @bt_dft.c(1203),INFO" ID="0x8d0a259d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft rf aging start @bt_dft.c(1226),INFO" ID="0x8d0a2655" />
- <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft rf aging stop @bt_dft.c(1248),INFO" ID="0x8d0a2705" />
- <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft aging test control param is NULL @bt_dft.c(1267),INFO" ID="0x8d0a279d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft aging test control param->pkt_ptr is NULL @bt_dft.c(1272),INFO" ID="0x8d0a27c5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BT_DFT: bt dft aging test control %d @bt_dft.c(1281),INFO" ID="0x8d0a280d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt adpt set br edr scan ble only not support Br Scan! @bt_dft.c(775),INFO" ID="0x8d0a183d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="MPC: BtSetScan %d, return:%d @bt_dft.c(786),INFO" ID="0x8d0a1895" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="MPC: adpt gap set page scan window %d, return:%d @bt_dft.c(791),INFO" ID="0x8d0a18bd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt clear scan mode:0x%x, success @bt_dft.c(809),INFO" ID="0x8d0a194d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt set scan start:0x%x, success @bt_dft.c(822),INFO" ID="0x8d0a19b5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt disconnect link:pkt_len = %d, entry @bt_dft.c(834),INFO" ID="0x8d0a1a15" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="MPC:remote_addr 0x%02x:%02x:**:**:**:%02x @bt_dft.c(840),INFO" ID="0x8d0a1a45" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: No device connected @bt_dft.c(849),INFO" ID="0x8d0a1a8d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: memcpy error @bt_dft.c(856),INFO" ID="0x8d0a1ac5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: adpt gap disconnect link return:%d @bt_dft.c(866),INFO" ID="0x8d0a1b15" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt disconnect link:0x%x, success @bt_dft.c(874),INFO" ID="0x8d0a1b55" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="MPC: bt get ble con devinfo br: 0x%x:0x%x:**:**:**:0x%x:0x%x @bt_dft.c(902),INFO" ID="0x8d0a1c35" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="MPC: bt get ble con devinfo ble:0x%x:0x%x:**:**:**:0x%x:0x%x @bt_dft.c(904),INFO" ID="0x8d0a1c45" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt get ble con devinfo: Get device name fail @bt_dft.c(912),INFO" ID="0x8d0a1c85" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt get ble con devinfo formate info error @bt_dft.c(925),INFO" ID="0x8d0a1ced" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt get ble con devinfo ble connect state:%u @bt_dft.c(929),INFO" ID="0x8d0a1d0d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="MPC: bt get ble con devinfo ble:0x%x:0x%x:**:**:**:0x%x @bt_dft.c(946),INFO" ID="0x8d0a1d95" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt get ble con devinfo: formate info error @bt_dft.c(953),INFO" ID="0x8d0a1dcd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt get ble con devinfo ble connect state:%u @bt_dft.c(958),INFO" ID="0x8d0a1df5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt change adv addr type:pkt_len = %d, entry @bt_dft.c(966),INFO" ID="0x8d0a1e35" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="MPC: bt change adv addr type:addr_type = %d, use_private_addr = %d @bt_dft.c(975),INFO" ID="0x8d0a1e7d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt change adv addr type:0x%x, success @bt_dft.c(978),INFO" ID="0x8d0a1e95" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt reg default gatt services success @bt_dft.c(985),INFO" ID="0x8d0a1ecd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Exit for pointer is NULL @bt_dft.c(1078),ERROR" ID="0x8d0a21b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt dft recieve cmd opcode= 0x%X @bt_dft.c(1101),INFO" ID="0x8d0a226d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds tarns_id= 0x%X @bt_dft.c(1152),INFO" ID="0x8d0a2405" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds opcode = 0x%X @bt_dft.c(1153),INFO" ID="0x8d0a240d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds control= 0x%X @bt_dft.c(1154),INFO" ID="0x8d0a2415" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds sequence= 0x%X @bt_dft.c(1155),INFO" ID="0x8d0a241d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="bt dft proc dongle cmds param[%d] = 0x%X @bt_dft.c(1158),INFO" ID="0x8d0a2435" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dft not idle @bt_dft.c(1168),INFO" ID="0x8d0a2485" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dft dongle param pass @bt_dft.c(1182),INFO" ID="0x8d0a24f5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BT_DFT: bt dft is in rf test %d @bt_dft.c(1196),INFO" ID="0x8d0a2565" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft dongle rf test start @bt_dft.c(1202),INFO" ID="0x8d0a2595" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft rf aging start @bt_dft.c(1225),INFO" ID="0x8d0a264d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft rf aging stop @bt_dft.c(1247),INFO" ID="0x8d0a26fd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft aging test control param is NULL @bt_dft.c(1266),INFO" ID="0x8d0a2795" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft aging test control param->pkt_ptr is NULL @bt_dft.c(1271),INFO" ID="0x8d0a27bd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BT_DFT: bt dft aging test control %d @bt_dft.c(1280),INFO" ID="0x8d0a2805" />
<MSG STRUCTURE="diag_log_msg1" NAME="sco disconnect complete sco_hdl=0x%x @tladapter.c(159),ERROR" ID="0x8b9c04fa" />
<MSG STRUCTURE="diag_log_msg1" NAME="GET NV ERR, NV Buf is NULL, err_line = %d @bt_mdmrfabb_global.c(1017),ERROR" ID="0x89381fca" />
<MSG STRUCTURE="diag_log_msg1" NAME="GET NV ERR, err_line = %d @bt_mdmrfabb_global.c(1027),ERROR" ID="0x8938201a" />
<MSG STRUCTURE="diag_log_msg1" NAME="ble core: App connect fail: %d @ble_core.c(648),ERROR" ID="0x8cc01442" />
<MSG STRUCTURE="diag_log_msg1" NAME="ble core: App Set Ble Sec Params err! pkt_len = %u @ble_core.c(658),ERROR" ID="0x8cc01492" />
<MSG STRUCTURE="diag_log_msg1" NAME="ble core: App Set Ble Sec Params fail: %d @ble_core.c(664),ERROR" ID="0x8cc014c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: mpc param is null! @ble_core.c(673),ERROR" ID="0x8cc0150a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: mpc pkt_ptr is null! @ble_core.c(678),ERROR" ID="0x8cc01532" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[AHI]set ctkd param ctkd=%d @ble_core.c(685),ERROR" ID="0x8cc0156a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app get ble core connect status, param NULL @ble_core.c(693),ERROR" ID="0x8cc015aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app get ble core connect status, pkt_ptr NULL @ble_core.c(698),ERROR" ID="0x8cc015d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app get ble core connect status, the link does not exist @ble_core.c(709),ERROR" ID="0x8cc0162a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: The link does not exist @ble_core.c(814),INFO" ID="0x8cc01975" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ConnModeUpdate ignore = %d @ble_core.c(821),INFO" ID="0x8cc019ad" />
- <MSG STRUCTURE="diag_log_msg2" NAME="ble core: update conn param ignore, mode:%d, cur int:%d @ble_core.c(833),INFO" ID="0x8cc01a0d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble update connection start fail: %d @ble_core.c(847),ERROR" ID="0x8cc01a7a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app update conn params param null @ble_core.c(858),ERROR" ID="0x8cc01ad2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: update param err @ble_core.c(864),ERROR" ID="0x8cc01b02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: link is not connected when update connect params @ble_core.c(872),ERROR" ID="0x8cc01b42" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: conn params type error = %d @ble_core.c(886),ERROR" ID="0x8cc01bb2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: sais notify data monitor memcpy rmt_bd fail: %d @ble_core.c(909),ERROR" ID="0x8cc01c6a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app notify ble baterry level NULL @ble_core.c(925),ERROR" ID="0x8cc01cea" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: app notify ble baterry level fail: %d @ble_core.c(931),ERROR" ID="0x8cc01d1a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble notify data para is NULL @ble_core.c(941),ERROR" ID="0x8cc01d6a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble notify data fail ret: %x @ble_core.c(952),ERROR" ID="0x8cc01dc2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble disconnect error, the link does not exist. handle = %x @ble_core.c(970),ERROR" ID="0x8cc01e52" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: The number of links has reached the maximum. @ble_core.c(1022),INFO" ID="0x8cc01ff5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble state ind handle message is NULL @ble_core.c(1046),ERROR" ID="0x8cc020b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: The number of links has reached the maximum. @ble_core.c(1055),ERROR" ID="0x8cc020fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble state ind rmt is NULL @ble_core.c(1101),ERROR" ID="0x8cc0226a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble state ind memcpy rmt fail: %d @ble_core.c(1108),ERROR" ID="0x8cc022a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app ble smp key handle message is NULL @ble_core.c(1122),ERROR" ID="0x8cc02312" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: key miss param is null! @ble_core.c(1158),ERROR" ID="0x8cc02432" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble state ind memcpy rmt fail: %d @ble_core.c(1169),ERROR" ID="0x8cc0248a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble log: AppBleConnResult msg_data is NULL @ble_core.c(1196),ERROR" ID="0x8cc02562" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble log: AppBleConnResult link does not exist on handle:%x @ble_core.c(1203),ERROR" ID="0x8cc0259a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: conn update result fail = %d @ble_core.c(1231),WARNING" ID="0x8cc0267b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: Had Active Disconn,not to retry @ble_core.c(1356),INFO" ID="0x8cc02a65" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ANCS]500ms comes! @ble_core.c(1388),INFO" ID="0x8cc02b65" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: unsupported msg_id: 0x%x @ble_core.c(1408),INFO" ID="0x8cc02c05" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: app ble init fail ret:%x @ble_core.c(1504),ERROR" ID="0x8cc02f02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble core connect proc cmds param NULL @ble_core.c(1538),ERROR" ID="0x8cc03012" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble core connect proc cmds pkt_ptr NULL @ble_core.c(1543),ERROR" ID="0x8cc0303a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app get ble core connect status, param NULL @ble_core.c(673),ERROR" ID="0x8cc0150a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app get ble core connect status, pkt_ptr NULL @ble_core.c(678),ERROR" ID="0x8cc01532" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app get ble core connect status, the link does not exist @ble_core.c(689),ERROR" ID="0x8cc0158a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: The link does not exist @ble_core.c(794),INFO" ID="0x8cc018d5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ConnModeUpdate ignore = %d @ble_core.c(801),INFO" ID="0x8cc0190d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="ble core: update conn param ignore, mode:%d, cur int:%d @ble_core.c(813),INFO" ID="0x8cc0196d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble update connection start fail: %d @ble_core.c(827),ERROR" ID="0x8cc019da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app update conn params param null @ble_core.c(838),ERROR" ID="0x8cc01a32" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: update param err @ble_core.c(844),ERROR" ID="0x8cc01a62" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: link is not connected when update connect params @ble_core.c(852),ERROR" ID="0x8cc01aa2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: conn params type error = %d @ble_core.c(866),ERROR" ID="0x8cc01b12" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: sais notify data monitor memcpy rmt_bd fail: %d @ble_core.c(889),ERROR" ID="0x8cc01bca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app notify ble baterry level NULL @ble_core.c(905),ERROR" ID="0x8cc01c4a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: app notify ble baterry level fail: %d @ble_core.c(911),ERROR" ID="0x8cc01c7a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble notify data para is NULL @ble_core.c(921),ERROR" ID="0x8cc01cca" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble notify data fail ret: %x @ble_core.c(932),ERROR" ID="0x8cc01d22" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble disconnect error, the link does not exist. handle = %x @ble_core.c(950),ERROR" ID="0x8cc01db2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: The number of links has reached the maximum. @ble_core.c(1002),INFO" ID="0x8cc01f55" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble state ind handle message is NULL @ble_core.c(1026),ERROR" ID="0x8cc02012" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: The number of links has reached the maximum. @ble_core.c(1035),ERROR" ID="0x8cc0205a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble state ind rmt is NULL @ble_core.c(1081),ERROR" ID="0x8cc021ca" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble state ind memcpy rmt fail: %d @ble_core.c(1088),ERROR" ID="0x8cc02202" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app ble smp key handle message is NULL @ble_core.c(1102),ERROR" ID="0x8cc02272" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble state ind memcpy rmt fail: %d @ble_core.c(1147),ERROR" ID="0x8cc023da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble log: AppBleConnResult msg_data is NULL @ble_core.c(1174),ERROR" ID="0x8cc024b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble log: AppBleConnResult link does not exist on handle:%x @ble_core.c(1181),ERROR" ID="0x8cc024ea" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: conn update result fail = %d @ble_core.c(1209),WARNING" ID="0x8cc025cb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: Had Active Disconn,not to retry @ble_core.c(1334),INFO" ID="0x8cc029b5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ANCS]500ms comes! @ble_core.c(1366),INFO" ID="0x8cc02ab5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: unsupported msg_id: 0x%x @ble_core.c(1386),INFO" ID="0x8cc02b55" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: app ble init fail ret:%x @ble_core.c(1482),ERROR" ID="0x8cc02e52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble core connect proc cmds param NULL @ble_core.c(1516),ERROR" ID="0x8cc02f62" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble core connect proc cmds pkt_ptr NULL @ble_core.c(1521),ERROR" ID="0x8cc02f8a" />
<MSG STRUCTURE="diag_log_msg2" NAME="[ICO]accept status = %d, conhdl = %d @llc_iso_ico_hci.c(132),INFO" ID="0x89fa0425" />
<MSG STRUCTURE="diag_log_msg2" NAME="[iso_debug]remove ico 0x%x, %d @llc_iso_ico_hci.c(383),INFO" ID="0x89fa0bfd" />
<MSG STRUCTURE="diag_log_msg3" NAME="[ICO_debug]channel_num = %d, event_counter1 = %d, event_count2 = %d @llc_iso_ico_hci.c(441),INFO" ID="0x89fa0dcd" />
<MSG STRUCTURE="diag_log_msg2" NAME="[WARNING] llcp_channel_map_req_handler, INSTANT_PASSED, instant=%d, counter=%d @llc_llcp.c(3624),WARNING" ID="0x88387143" />
<MSG STRUCTURE="diag_log_msg2" NAME="[INFO][LLC]llc_channel_map_instant_exec:dummy=%d,opcode=%d @llc_llcp.c(3663),INFO" ID="0x8838727d" />
<MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][LLC]llcp_channel_map_req_handler:llc_env_ptr is null @llc_llcp.c(3693),WARNING" ID="0x8838736b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="smp_pair_new_patch @patch_bth.c(52),INFO" ID="0x8d5401a5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[AVDTP][GET_SEP_FAIL] Can not get sep info @patch_bth.c(156),WARNING" ID="0x8d5404e3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[STACK][RECV_RING_STOP] @patch_bth.c(244),INFO" ID="0x8d5407a5" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] att error rsp opcode:0x%x handle:%d error:0x%x @patch_bth.c(324),ERROR" ID="0x8d540a22" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP]PAIRING_REQ_RECV @patch_bth.c(501),ERROR" ID="0x8d540faa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="smp_pair_new_patch @patch_bth.c(43),INFO" ID="0x8d54015d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[AVDTP][GET_SEP_FAIL] Can not get sep info @patch_bth.c(147),WARNING" ID="0x8d54049b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[STACK][RECV_RING_STOP] @patch_bth.c(235),INFO" ID="0x8d54075d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] att error rsp opcode:0x%x handle:%d error:0x%x @patch_bth.c(315),ERROR" ID="0x8d5409da" />
<MSG STRUCTURE="diag_log_msg1" NAME="ble add ble white list fail: %d @bt_mpc_adpt_gap.c(52),ERROR" ID="0x8dd401a2" />
<MSG STRUCTURE="diag_log_msg1" NAME="ble add ble white list params err! len = %d @bt_mpc_adpt_gap.c(56),ERROR" ID="0x8dd401c2" />
<MSG STRUCTURE="diag_log_msg1" NAME="ble remove all ble white list fail: %d @bt_mpc_adpt_gap.c(71),ERROR" ID="0x8dd4023a" />
<MSG STRUCTURE="diag_log_msg1" NAME="bt mpc read remote rssi: %d @bt_mpc_adpt_gap.c(522),ERROR" ID="0x8dd41052" />
<MSG STRUCTURE="diag_log_msg1" NAME="bt mpc read remote rssi err! len = %d @bt_mpc_adpt_gap.c(525),ERROR" ID="0x8dd4106a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ECC]release semaphore fail @ecc_p256.c(1857),INFO" ID="0x89463a0d" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[HCI] remove remote exceed upper limit %d addr:%02x:%02x:xx:xx:xx:%02x! @hci_hlp_ram.c(524),ERROR" ID="0x8ba81062" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy_s error @hci_hlp_ram.c(544),ERROR" ID="0x8ba81102" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[HCI] remove remote exceed upper limit %d addr:%02x:%02x:xx:xx:xx:%02x! @hci_hlp_ram.c(522),ERROR" ID="0x8ba81052" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy_s error @hci_hlp_ram.c(542),ERROR" ID="0x8ba810f2" />
<MSG STRUCTURE="diag_log_msg1" NAME="rx_phy is %d @patch_llc.c(19),INFO" ID="0x8a5e009d" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_reserve.c(141),ERROR" ID="0x8dee046a" />
<MSG STRUCTURE="diag_log_msg1" NAME="[productline cali]productline_cali_start_tx, freq=%d, @bt_productline.c(41),INFO" ID="0x88fc014d" />
<MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt mtu config req interface fail, ret%d @bt_mpc_adpt_gatt.c(677),WARNING" ID="0x8dd6152b" />
<MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt get hid report map req param len error, len = %u @bt_mpc_adpt_gatt.c(689),ERROR" ID="0x8dd6158a" />
<MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt get hid report map req interface fail, ret%d @bt_mpc_adpt_gatt.c(696),WARNING" ID="0x8dd615c3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt mpc adapter gatt read character req. @bt_mpc_adpt_gatt.c(706),INFO" ID="0x8dd61615" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt read character req param len error, len = %u @bt_mpc_adpt_gatt.c(709),WARNING" ID="0x8dd6162b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt read character req param fail, ret%d @bt_mpc_adpt_gatt.c(716),WARNING" ID="0x8dd61663" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt read descriptor req param len error, len = %u @bt_mpc_adpt_gatt.c(728),WARNING" ID="0x8dd616c3" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt read descriptor req param fail, ret%d @bt_mpc_adpt_gatt.c(734),WARNING" ID="0x8dd616f3" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt mtu set req param len error, len = %u @bt_mpc_adpt_gatt.c(746),ERROR" ID="0x8dd61752" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt mtu set req interface fail, ret%d @bt_mpc_adpt_gatt.c(753),WARNING" ID="0x8dd6178b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt read descriptor req param len error, len = %u @bt_mpc_adpt_gatt.c(753),WARNING" ID="0x8dd6178b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt read descriptor req param fail, ret%d @bt_mpc_adpt_gatt.c(759),WARNING" ID="0x8dd617bb" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt mtu set req param len error, len = %u @bt_mpc_adpt_gatt.c(771),ERROR" ID="0x8dd6181a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt mtu set req interface fail, ret%d @bt_mpc_adpt_gatt.c(778),WARNING" ID="0x8dd61853" />
<MSG STRUCTURE="diag_log_msg3" NAME="[BIS]rxmaxtime=%d,sub_intv=%d,bis_spacing=%d @lld_bis.c(279),INFO" ID="0x895c08bd" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ERROR][BIS]bis tx desc alloc fail @lld_bis.c(455),ERROR" ID="0x895c0e3a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][BIS]create elt fail @lld_bis.c(521),WARNING" ID="0x895c104b" />
<MSG STRUCTURE="diag_log_msg2" NAME="[INFO][LLC][AOA]lld_cte_conn_rx_hw_set:phyrate=%d, slot_duration=%d @lld_cte.c(504),INFO" ID="0x88620fc5" />
<MSG STRUCTURE="diag_log_msg4" NAME="[INFO][BT][CTE]lld_cte_iq_process:slot_dur = 0x%x, cte_time = %d, cte_type = %d, samp_cnt = %d @lld_cte.c(684),INFO" ID="0x88621565" />
<MSG STRUCTURE="diag_log_msg0" NAME="[INFO][CTE]lld_cte_save_iq_samp: suppflag DO NOT exist! @lld_cte.c(730),INFO" ID="0x886216d5" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][SEND_ACL_DATA] SLOT=%u, LEN=%u, Remaining Packet NUM=%u, HANDLE=0x%x @hci_data_proc.c(146),INFO" ID="0x8bda0495" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy error @hci_data_proc.c(406),ERROR" ID="0x8bda0cb2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy error @hci_data_proc.c(412),ERROR" ID="0x8bda0ce2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][RECV_ACL_DATA] CONN_HANDLE=0x%x, link not found @hci_data_proc.c(501),INFO" ID="0x8bda0fad" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][H-->C] OPCODE=0x%x, HANDLE=0x%x, LEN=%u @hci_data_proc.c(709),INFO" ID="0x8bda162d" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] OPCODE=0x%x, OGF=0x%x, disc_reason=0x%x, LEN=%u @hci_data_proc.c(719),INFO" ID="0x8bda167d" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] OPCODE=0x%x, OGF=0x%x, OCF=0x%x, LEN=%u @hci_data_proc.c(725),WARNING" ID="0x8bda16ab" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][H-->C] OPCODE=0x%x, HANDLE=0x%x, LEN=%u @hci_data_proc.c(746),DBG" ID="0x8bda1756" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] OPCODE=0x%x, OGF=0x%x, OCF=0x%x, LEN=%u @hci_data_proc.c(751),DBG" ID="0x8bda177e" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][H-->C] LEN=%u @hci_data_proc.c(766),DBG" ID="0x8bda17f6" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] %02x %02x %02x %02x @hci_data_proc.c(772),DBG" ID="0x8bda1826" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][H-->C] %02x %02x %02x @hci_data_proc.c(777),DBG" ID="0x8bda184e" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][H-->C] %02x %02x @hci_data_proc.c(780),DBG" ID="0x8bda1866" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][H-->C] %02x @hci_data_proc.c(782),DBG" ID="0x8bda1876" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[A2DP][HCI] a2dp_audio:first frame to btc, only for a2dp service. @hci_data_proc.c(801),INFO" ID="0x8bda190d" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][SEND_ACL_DATA] SLOT=%u, LEN=%u, Remaining Packet NUM=%u, HANDLE=0x%x @hci_data_proc.c(134),INFO" ID="0x8bda0435" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy error @hci_data_proc.c(394),ERROR" ID="0x8bda0c52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy error @hci_data_proc.c(400),ERROR" ID="0x8bda0c82" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][RECV_ACL_DATA] CONN_HANDLE=0x%x, link not found @hci_data_proc.c(489),INFO" ID="0x8bda0f4d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][H-->C] OPCODE=0x%x, HANDLE=0x%x, LEN=%u @hci_data_proc.c(697),INFO" ID="0x8bda15cd" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] OPCODE=0x%x, OGF=0x%x, disc_reason=0x%x, LEN=%u @hci_data_proc.c(707),INFO" ID="0x8bda161d" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] OPCODE=0x%x, OGF=0x%x, OCF=0x%x, LEN=%u @hci_data_proc.c(713),WARNING" ID="0x8bda164b" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][H-->C] OPCODE=0x%x, HANDLE=0x%x, LEN=%u @hci_data_proc.c(734),DBG" ID="0x8bda16f6" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] OPCODE=0x%x, OGF=0x%x, OCF=0x%x, LEN=%u @hci_data_proc.c(739),DBG" ID="0x8bda171e" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][H-->C] LEN=%u @hci_data_proc.c(754),DBG" ID="0x8bda1796" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] %02x %02x %02x %02x @hci_data_proc.c(760),DBG" ID="0x8bda17c6" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][H-->C] %02x %02x %02x @hci_data_proc.c(765),DBG" ID="0x8bda17ee" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][H-->C] %02x %02x @hci_data_proc.c(768),DBG" ID="0x8bda1806" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][H-->C] %02x @hci_data_proc.c(770),DBG" ID="0x8bda1816" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[A2DP][HCI] a2dp_audio:first frame to btc, only for a2dp service. @hci_data_proc.c(789),INFO" ID="0x8bda18ad" />
<MSG STRUCTURE="diag_log_msg4" NAME="[BTH MIPS][TRANS_TASK][%ld]MS,[RECV TASK][%ld]MS, [SCHEDULE TASK][%ld]MS, [ISR][%ld]MS @bt_dfx.c(108),INFO" ID="0x8df80365" />
<MSG STRUCTURE="diag_log_msg1" NAME="[INFO][HCI]hci_rd_phy_cmd_handler Enter! conhdl=%d @lc_hci_uhd.c(56),INFO" ID="0x89a401c5" />
<MSG STRUCTURE="diag_log_msg0" NAME="[INFO][HCI]hci_rd_phy_cmd_handler:lc_env_ptr is NULL @lc_hci_uhd.c(62),WARNING" ID="0x89a401f3" />
<MSG STRUCTURE="diag_log_msg2" NAME="audio_debug ipc_send dsp begin,sequence_number = 0x%x,length = 0x%x. @a2dp_hlp_ram.c(93),INFO" ID="0x8ba002ed" />
<MSG STRUCTURE="diag_log_msg1" NAME="audio_debug ready to go =======ipc_send dsp end===ret = %d. @a2dp_hlp_ram.c(100),INFO" ID="0x8ba00325" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ERROR]audio_debug ipc2dsp_msg_str fail @a2dp_hlp_ram.c(102),WARNING" ID="0x8ba00333" />
- <MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: save active device addr 0x%02x:0x%02x:**:**:**:0x%02x @a2dp_hlp_ram.c(521),ERROR" ID="0x8ba0104a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: memcpy_s failed @a2dp_hlp_ram.c(523),ERROR" ID="0x8ba0105a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[param]unpack:format = NULL @bt_util_lmp.c(148),ERROR" ID="0x888204a2" />
<MSG STRUCTURE="diag_log_msg4" NAME="subrate:%d,new_sub_rate:%d, new_reference_event_count:%d, reference_event_count:%d @lld_enhan_con_up.c(199),INFO" ID="0x880c063d" />
<MSG STRUCTURE="diag_log_msg4" NAME="ts:%d, evt->high_counter:%d,continue_restart_temp:%d, evt->counter:%d @lld_enhan_con_up.c(201),INFO" ID="0x880c064d" />
<MSG STRUCTURE="diag_log_msg1" NAME="GdkTimer Create TimerId:%d @gdk_cmsis.c(79),INFO" ID="0x8cb0027d" />
<MSG STRUCTURE="diag_log_msg1" NAME="GdkTimer Start TimerId:%d @gdk_cmsis.c(99),DBG" ID="0x8cb0031e" />
<MSG STRUCTURE="diag_log_msg1" NAME="GdkTimer Stop TimerId:%d @gdk_cmsis.c(111),DBG" ID="0x8cb0037e" />
- <MSG STRUCTURE="diag_log_msg0" NAME="gdk os malloc size 0 @gdk_cmsis.c(152),ERROR" ID="0x8cb004c2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="gdk os malloc FAIL size:%d @gdk_cmsis.c(159),ERROR" ID="0x8cb004fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gdk os malloc size 0 @gdk_cmsis.c(146),ERROR" ID="0x8cb00492" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="gdk os malloc FAIL size:%d @gdk_cmsis.c(153),ERROR" ID="0x8cb004ca" />
<MSG STRUCTURE="diag_log_msg0" NAME="ld_acl_sniff_evt_start_cbk start @ld_acl_sniff_ram.c(41),WARNING" ID="0x8a0a014b" />
<MSG STRUCTURE="diag_log_msg4" NAME="[diff_sched_prog illegal] diff_sched_prog=%d timestamp=%d, rx_win_size=%d, last_sync=%d @ld_acl_sniff_ram.c(102),WARNING" ID="0x8a0a0333" />
<MSG STRUCTURE="diag_log_msg2" NAME="[ERROR]ld_acl_sniff_evt_start_cbk:cs_idx = %d, att_nb = %d @ld_acl_sniff_ram.c(152),ERROR" ID="0x8a0a04c2" />
<MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][BIS]current role is master @llc_bis_hci.c(497),WARNING" ID="0x89560f8b" />
<MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][BIS]big trigger is false @llc_bis_hci.c(503),WARNING" ID="0x89560fbb" />
<MSG STRUCTURE="diag_log_msg0" NAME="[BTOS][MEM_INTEGRITY_CHECK]Not support! @osdep.c(680),INFO" ID="0x8b981545" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u alloc fail! @osdep.c(725),ERROR" ID="0x8b9816aa" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[BTOS][MEM_NEW]fsm_count=%u fsm_limit=%u fsm_limit_max=%u hci_slice_rx=%u! @osdep.c(729),ERROR" ID="0x8b9816ca" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[MEM_FREE][%d][0x%p], caller:0x%x @osdep.c(766),INFO" ID="0x8b9817f5" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x free fail! @osdep.c(774),WARNING" ID="0x8b981833" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u, alloc fail! @osdep.c(787),WARNING" ID="0x8b98189b" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x, free fail! @osdep.c(802),WARNING" ID="0x8b981913" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW_S]AVAILABLE_MEMORY=%u, alloc fail because under secure threshold size! @osdep.c(833),WARNING" ID="0x8b981a0b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u alloc fail! @osdep.c(712),ERROR" ID="0x8b981642" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[BTOS][MEM_NEW]fsm_count=%u fsm_limit=%u fsm_limit_max=%u hci_slice_rx=%u! @osdep.c(716),ERROR" ID="0x8b981662" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[MEM_FREE][%d][0x%p], caller:0x%x @osdep.c(753),INFO" ID="0x8b98178d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x free fail! @osdep.c(761),WARNING" ID="0x8b9817cb" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u, alloc fail! @osdep.c(774),WARNING" ID="0x8b981833" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x, free fail! @osdep.c(789),WARNING" ID="0x8b9818ab" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW_S]AVAILABLE_MEMORY=%u, alloc fail because under secure threshold size! @osdep.c(820),WARNING" ID="0x8b9819a3" />
<MSG STRUCTURE="diag_log_msg1" NAME="[FRONTEND]bt_tx_power_get param level is %d, OUT OF RANGE @bt_mdmrfabb_config.c(97),ERROR" ID="0x88f8030a" />
<MSG STRUCTURE="diag_log_msg0" NAME="memory alloc failed @sdk_spp.c(176),ERROR" ID="0x8b6c0582" />
<MSG STRUCTURE="diag_log_msg1" NAME="[sdk][spp]read_stream failed ret=0x%x @sdk_spp.c(181),INFO" ID="0x8b6c05ad" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ERROR][CTE]llcp_cte_req_handler: LLCP_CTE_REQ Received! But current version software DO NOT support this feature. @llc_llcp_ram.c(636),ERROR" ID="0x896613e2" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ERROR][CTE]llcp_cte_rsp_handler: LLCP_SUPP_RSP Received! But current version software DO NOT support this feature. @llc_llcp_ram.c(700),ERROR" ID="0x896615e2" />
<MSG STRUCTURE="diag_log_msg0" NAME="[GAP][to_expire] wait_handle2 to_expire @hdlmgnt.c(428),INFO" ID="0x8ac80d65" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI]CURRENT_LINK_MODE=0x%x, ACL Data Will be pend! @hci_link_br.c(220),INFO" ID="0x8bdc06e5" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[HCI] create connection addr:%02x******%02x%02x @hci_link_br.c(260),ERROR" ID="0x8bdc0822" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][CONN_COMPLETE] LINK_STATUS=0x%x, EVENT_STATUS=0x%x, CONN_HDL=0x%x @hci_link_br.c(497),ERROR" ID="0x8bdc0f8a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][CONN_REQUEST] LINK_TYPE=0x%x, REMOTE_ADDR=%02x:%02x:**:**:**:%02x @hci_link_br.c(572),ERROR" ID="0x8bdc11e2" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][REMOVE_LINK] REF_COUNT=%u, STATUS=%u @hci_link_br.c(656),ERROR" ID="0x8bdc1482" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI]CURRENT_LINK_MODE=0x%x, ACL Data Will be pend! @hci_link_br.c(217),INFO" ID="0x8bdc06cd" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[HCI] create connection addr:%02x******%02x%02x @hci_link_br.c(257),ERROR" ID="0x8bdc080a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][CONN_COMPLETE] LINK_STATUS=0x%x, EVENT_STATUS=0x%x, CONN_HDL=0x%x @hci_link_br.c(494),ERROR" ID="0x8bdc0f72" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][CONN_REQUEST] LINK_TYPE=0x%x, REMOTE_ADDR=%02x:%02x:**:**:**:%02x @hci_link_br.c(569),ERROR" ID="0x8bdc11ca" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][REMOVE_LINK] REF_COUNT=%u, STATUS=%u @hci_link_br.c(653),ERROR" ID="0x8bdc146a" />
<MSG STRUCTURE="diag_log_msg3" NAME="[ERROR][CFG]rf ctl reg wr type err 0x%x, us_reg=0x%x, usval=0x%x @reg_access.c(58),ERROR" ID="0x893001d2" />
<MSG STRUCTURE="diag_log_msg3" NAME="[ERROR][CFG]rf ctl reg wr type err 0x%x, us_reg=0x%x, usval=0x%x @reg_access.c(100),ERROR" ID="0x89300322" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ble_general_gatt] find upper cbk fail @ble_general_gatt.c(91),ERROR" ID="0x8de002da" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ble_general_gatt] find upper cbk fail @ble_general_gatt.c(116),ERROR" ID="0x8de003a2" />
<MSG STRUCTURE="diag_log_msg1" NAME="[ble_general_gatt] read ind mpc tx fail tx_cnt:%d @ble_general_gatt.c(126),ERROR" ID="0x8de003f2" />
<MSG STRUCTURE="diag_log_msg2" NAME="gatt server call back func unknown request_id:%d, event_type:0x%x. @ble_general_gatt.c(147),INFO" ID="0x8de0049d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt start service error:0x%x. @ble_general_gatt.c(186),ERROR" ID="0x8de005d2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add server add service error:0x%x. @ble_general_gatt.c(198),ERROR" ID="0x8de00632" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add server add service error:0x%x. @ble_general_gatt.c(211),ERROR" ID="0x8de0069a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add include service add include error:0x%x. @ble_general_gatt.c(224),ERROR" ID="0x8de00702" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt add characteristic new fail @ble_general_gatt.c(255),ERROR" ID="0x8de007fa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add characteristic len:0x%x. @ble_general_gatt.c(262),ERROR" ID="0x8de00832" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add characteristic error:0x%x. @ble_general_gatt.c(273),ERROR" ID="0x8de0088a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt add descriptor new fail @ble_general_gatt.c(290),ERROR" ID="0x8de00912" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add descriptor memcpy fail: %d @ble_general_gatt.c(299),ERROR" ID="0x8de0095a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add descriptor error:0x%x. @ble_general_gatt.c(305),ERROR" ID="0x8de0098a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt send response new fail @ble_general_gatt.c(321),ERROR" ID="0x8de00a0a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt send response memcpy fail: %d @ble_general_gatt.c(328),ERROR" ID="0x8de00a42" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt send response addr error:0x%x. @ble_general_gatt.c(334),ERROR" ID="0x8de00a72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt send response error:0x%x. @ble_general_gatt.c(343),ERROR" ID="0x8de00aba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt update descriptor value new fail @ble_general_gatt.c(359),ERROR" ID="0x8de00b3a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt update descriptor value memcpy fail: %d @ble_general_gatt.c(366),ERROR" ID="0x8de00b72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt update descriptor value error:0x%x. @ble_general_gatt.c(373),ERROR" ID="0x8de00baa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt notify characteristic changed new NULL @ble_general_gatt.c(390),ERROR" ID="0x8de00c32" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt notify characteristic changed fail when notify @ble_general_gatt.c(398),ERROR" ID="0x8de00c72" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt notify characteristic changed when notify @ble_general_gatt.c(409),ERROR" ID="0x8de00cca" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt start service error:0x%x. @ble_general_gatt.c(186),ERROR" ID="0x8de005d2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add server add service error:0x%x. @ble_general_gatt.c(198),ERROR" ID="0x8de00632" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add server add service error:0x%x. @ble_general_gatt.c(211),ERROR" ID="0x8de0069a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add include service add include error:0x%x. @ble_general_gatt.c(224),ERROR" ID="0x8de00702" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt add characteristic new fail @ble_general_gatt.c(255),ERROR" ID="0x8de007fa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add characteristic len:0x%x. @ble_general_gatt.c(262),ERROR" ID="0x8de00832" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add characteristic error:0x%x. @ble_general_gatt.c(273),ERROR" ID="0x8de0088a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt add descriptor new fail @ble_general_gatt.c(290),ERROR" ID="0x8de00912" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add descriptor memcpy fail: %d @ble_general_gatt.c(299),ERROR" ID="0x8de0095a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add descriptor error:0x%x. @ble_general_gatt.c(305),ERROR" ID="0x8de0098a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt send response new fail @ble_general_gatt.c(321),ERROR" ID="0x8de00a0a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt send response memcpy fail: %d @ble_general_gatt.c(328),ERROR" ID="0x8de00a42" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt send response addr error:0x%x. @ble_general_gatt.c(334),ERROR" ID="0x8de00a72" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt send response error:0x%x. @ble_general_gatt.c(343),ERROR" ID="0x8de00aba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt update descriptor value new fail @ble_general_gatt.c(359),ERROR" ID="0x8de00b3a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt update descriptor value memcpy fail: %d @ble_general_gatt.c(366),ERROR" ID="0x8de00b72" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt update descriptor value error:0x%x. @ble_general_gatt.c(373),ERROR" ID="0x8de00baa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt notify characteristic changed new NULL @ble_general_gatt.c(390),ERROR" ID="0x8de00c32" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt notify characteristic changed fail when notify @ble_general_gatt.c(398),ERROR" ID="0x8de00c72" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt notify characteristic changed when notify @ble_general_gatt.c(409),ERROR" ID="0x8de00cca" />
<MSG STRUCTURE="diag_log_msg0" NAME="character changed by uuid data is NULL @ble_general_gatt.c(424),ERROR" ID="0x8de00d42" />
<MSG STRUCTURE="diag_log_msg1" NAME="character changed by uuid can not find hdl, ret = %d @ble_general_gatt.c(431),ERROR" ID="0x8de00d7a" />
<MSG STRUCTURE="diag_log_msg0" NAME="character changed by uuid in is NULL @ble_general_gatt.c(436),ERROR" ID="0x8de00da2" />
<MSG STRUCTURE="diag_log_msg1" NAME="ble gatt client characteristic value callback memcpy fail: %d @ble_general_gatt.c(673),ERROR" ID="0x8de0150a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[BCore] gatt client write result can't find upper cbk. @ble_general_gatt.c(708),ERROR" ID="0x8de01622" />
<MSG STRUCTURE="diag_log_msg1" NAME="ble gatt client call back func type=%d @ble_general_gatt.c(771),INFO" ID="0x8de0181d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt discovery service not found:0x%x. @ble_general_gatt.c(802),WARNING" ID="0x8de01913" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt discovery include service not found:0x%x. @ble_general_gatt.c(825),WARNING" ID="0x8de019cb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt discovery characteristic new fail. @ble_general_gatt.c(841),ERROR" ID="0x8de01a4a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt discovery characteristic memset fail. @ble_general_gatt.c(846),ERROR" ID="0x8de01a72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt discovery characteristic not found:0x%x. @ble_general_gatt.c(863),WARNING" ID="0x8de01afb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt discovery characteristic by uuid new fail. @ble_general_gatt.c(881),ERROR" ID="0x8de01b8a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt discovery characteristic by uuid memset fail. @ble_general_gatt.c(887),ERROR" ID="0x8de01bba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att discovery characteristic by uuid memcpy fail. @ble_general_gatt.c(901),ERROR" ID="0x8de01c2a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att discovery characteristic by uuid not found:0x%x. @ble_general_gatt.c(912),WARNING" ID="0x8de01c83" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att discovery descriptor by handle new fail. @ble_general_gatt.c(928),ERROR" ID="0x8de01d02" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att discovery descriptor by handle not found:0x%x. @ble_general_gatt.c(942),WARNING" ID="0x8de01d73" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att discovery descriptor new fail. @ble_general_gatt.c(962),ERROR" ID="0x8de01e12" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att discovery descriptor memset fail. @ble_general_gatt.c(967),ERROR" ID="0x8de01e3a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att discovery descriptor memcpy fail. @ble_general_gatt.c(973),ERROR" ID="0x8de01e6a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att discovery descriptor not found:0x%x. @ble_general_gatt.c(984),WARNING" ID="0x8de01ec3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read value in. @ble_general_gatt.c(998),INFO" ID="0x8de01f35" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read value param new fail. @ble_general_gatt.c(1001),ERROR" ID="0x8de01f4a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read value param memset fail. @ble_general_gatt.c(1006),ERROR" ID="0x8de01f72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att read value handle:%d. @ble_general_gatt.c(1011),INFO" ID="0x8de01f9d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att read value error:0x%x. @ble_general_gatt.c(1014),ERROR" ID="0x8de01fb2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read characteristic by uuid new fail. @ble_general_gatt.c(1031),ERROR" ID="0x8de0203a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read characteristic by uuid memcpy fail. @ble_general_gatt.c(1044),ERROR" ID="0x8de020a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read characteristic by uuid memcpy fail. @ble_general_gatt.c(1051),ERROR" ID="0x8de020da" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att read characteristic by uuid error:0x%x. @ble_general_gatt.c(1058),WARNING" ID="0x8de02113" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read multiple characteristic new fail. @ble_general_gatt.c(1076),ERROR" ID="0x8de021a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read multiple characteristic memset fail. @ble_general_gatt.c(1083),ERROR" ID="0x8de021da" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att read multiple characteristic error:0x%x. @ble_general_gatt.c(1099),WARNING" ID="0x8de0225b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att read multiple characteristic error:0x%x. @ble_general_gatt.c(1129),WARNING" ID="0x8de0234b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att write characteristic value memcpy failed @ble_general_gatt.c(1181),ERROR" ID="0x8de024ea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att write characteristic value param is NULL @ble_general_gatt.c(1204),ERROR" ID="0x8de025a2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att write characteristic value malloc fail, size:0x%x. @ble_general_gatt.c(1217),ERROR" ID="0x8de0260a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble att write characteristic value memcpy fail: %d @ble_general_gatt.c(1227),ERROR" ID="0x8de0265a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att write characteristic value fail:0x%x. @ble_general_gatt.c(1241),WARNING" ID="0x8de026cb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att reliable write characteristic value param is NULL @ble_general_gatt.c(1260),ERROR" ID="0x8de02762" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att reliable write characteristic value malloc fail @ble_general_gatt.c(1267),ERROR" ID="0x8de0279a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[BCore] ble att reliable write characteristic value memcpy fail @ble_general_gatt.c(1276),ERROR" ID="0x8de027e2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att reliable write characteristic value fail:0x%x. @ble_general_gatt.c(1295),WARNING" ID="0x8de0287b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att write descriptor value malloc faile, size:0x%x. @ble_general_gatt.c(1312),ERROR" ID="0x8de02902" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble att write descriptor value memcpy fail: %d @ble_general_gatt.c(1321),ERROR" ID="0x8de0294a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att discovery descriptor error:0x%x. @ble_general_gatt.c(1331),ERROR" ID="0x8de0299a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble gatt read descriptor value response memcpy fail: %d @ble_general_gatt.c(1353),ERROR" ID="0x8de02a4a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble gatt read descriptor value response memcpy fail: %d @ble_general_gatt.c(1361),ERROR" ID="0x8de02a8a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att read descriptor value error:0x%x. @ble_general_gatt.c(1390),ERROR" ID="0x8de02b72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att mtu config error:0x%x. @ble_general_gatt.c(1405),ERROR" ID="0x8de02bea" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att set gap ui attributes error:0x%x. @ble_general_gatt.c(1418),ERROR" ID="0x8de02c52" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att get gap ui attributes error:0x%x. @ble_general_gatt.c(1437),ERROR" ID="0x8de02cea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt mpc adapter gatt get hid report callback new fail @ble_general_gatt.c(1467),ERROR" ID="0x8de02dda" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt get hid report callback error_code = %x @ble_general_gatt.c(1478),INFO" ID="0x8de02e35" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery service not found:0x%x. @ble_general_gatt.c(802),WARNING" ID="0x8de01913" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery include service not found:0x%x. @ble_general_gatt.c(825),WARNING" ID="0x8de019cb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery characteristic new fail. @ble_general_gatt.c(841),ERROR" ID="0x8de01a4a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery characteristic memset fail. @ble_general_gatt.c(846),ERROR" ID="0x8de01a72" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery characteristic not found:0x%x. @ble_general_gatt.c(863),WARNING" ID="0x8de01afb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery characteristic by uuid new fail. @ble_general_gatt.c(881),ERROR" ID="0x8de01b8a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery characteristic by uuid memset fail. @ble_general_gatt.c(887),ERROR" ID="0x8de01bba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery characteristic by uuid memcpy fail. @ble_general_gatt.c(901),ERROR" ID="0x8de01c2a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery characteristic by uuid not found:0x%x. @ble_general_gatt.c(912),WARNING" ID="0x8de01c83" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery descriptor by handle new fail. @ble_general_gatt.c(928),ERROR" ID="0x8de01d02" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery descriptor by handle not found:0x%x. @ble_general_gatt.c(942),WARNING" ID="0x8de01d73" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery descriptor new fail. @ble_general_gatt.c(962),ERROR" ID="0x8de01e12" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery descriptor memset fail. @ble_general_gatt.c(967),ERROR" ID="0x8de01e3a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery descriptor memcpy fail. @ble_general_gatt.c(973),ERROR" ID="0x8de01e6a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery descriptor not found:0x%x. @ble_general_gatt.c(984),WARNING" ID="0x8de01ec3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt read characteristic value respon new fail. @ble_general_gatt.c(1005),ERROR" ID="0x8de01f6a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble gatt read characteristic value respon memcpy fail: %d @ble_general_gatt.c(1012),ERROR" ID="0x8de01fa2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble gatt read characteristic value respon memcpy fail: %d @ble_general_gatt.c(1022),ERROR" ID="0x8de01ff2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt read characteristic value new fail. @ble_general_gatt.c(1045),ERROR" ID="0x8de020aa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt read descriptor value error:0x%x. @ble_general_gatt.c(1059),ERROR" ID="0x8de0211a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt read characteristic by uuid new fail. @ble_general_gatt.c(1077),ERROR" ID="0x8de021aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt read characteristic by uuid memcpy fail. @ble_general_gatt.c(1090),ERROR" ID="0x8de02212" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt read characteristic by uuid memcpy fail. @ble_general_gatt.c(1097),ERROR" ID="0x8de0224a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt read characteristic by uuid error:0x%x. @ble_general_gatt.c(1104),WARNING" ID="0x8de02283" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt read multiple characteristic new fail. @ble_general_gatt.c(1122),ERROR" ID="0x8de02312" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt read multiple characteristic memset fail. @ble_general_gatt.c(1129),ERROR" ID="0x8de0234a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt read multiple characteristic error:0x%x. @ble_general_gatt.c(1145),WARNING" ID="0x8de023cb" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt read multiple characteristic error:0x%x. @ble_general_gatt.c(1175),WARNING" ID="0x8de024bb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic value memcpy failed @ble_general_gatt.c(1227),ERROR" ID="0x8de0265a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic value param is NULL @ble_general_gatt.c(1250),ERROR" ID="0x8de02712" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt write characteristic value malloc fail, size:0x%x. @ble_general_gatt.c(1263),ERROR" ID="0x8de0277a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble general gatt write characteristic value memcpy fail: %d @ble_general_gatt.c(1273),ERROR" ID="0x8de027ca" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt write characteristic value fail:0x%x. @ble_general_gatt.c(1287),WARNING" ID="0x8de0283b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt reliable write characteristic value param is NULL @ble_general_gatt.c(1306),ERROR" ID="0x8de028d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt reliable write characteristic value malloc fail @ble_general_gatt.c(1313),ERROR" ID="0x8de0290a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[BCore] ble general gatt reliable write characteristic value memcpy fail @ble_general_gatt.c(1322),ERROR" ID="0x8de02952" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt reliable write characteristic value fail:0x%x. @ble_general_gatt.c(1341),WARNING" ID="0x8de029eb" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt write descriptor value malloc faile, size:0x%x. @ble_general_gatt.c(1358),ERROR" ID="0x8de02a72" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble general gatt write descriptor value memcpy fail: %d @ble_general_gatt.c(1367),ERROR" ID="0x8de02aba" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery descriptor error:0x%x. @ble_general_gatt.c(1377),ERROR" ID="0x8de02b0a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble gatt read descriptor value response memcpy fail: %d @ble_general_gatt.c(1399),ERROR" ID="0x8de02bba" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble gatt read descriptor value response memcpy fail: %d @ble_general_gatt.c(1407),ERROR" ID="0x8de02bfa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt read descriptor value error:0x%x. @ble_general_gatt.c(1436),ERROR" ID="0x8de02ce2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt mtu config error:0x%x. @ble_general_gatt.c(1451),ERROR" ID="0x8de02d5a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt set gap ui attributes error:0x%x. @ble_general_gatt.c(1464),ERROR" ID="0x8de02dc2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt get gap ui attributes error:0x%x. @ble_general_gatt.c(1483),ERROR" ID="0x8de02e5a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt mpc adapter gatt get hid report callback new fail @ble_general_gatt.c(1513),ERROR" ID="0x8de02f4a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt get hid report callback error_code = %x @ble_general_gatt.c(1524),INFO" ID="0x8de02fa5" />
<MSG STRUCTURE="diag_log_msg0" NAME="llc_test_set_cis_param : alloc fail! @llc_cis_ram.c(30),INFO" ID="0x8a2a00f5" />
<MSG STRUCTURE="diag_log_msg4" NAME="llc_test_set_cis_param :cig_id=%d, cis_id=%d, cis_conhdl=%d, struct_size=%d @llc_cis_ram.c(60),INFO" ID="0x8a2a01e5" />
<MSG STRUCTURE="diag_log_msg4" NAME="llc_test_set_cis_param :cig_id=%d, cis_id=%d, sdu_intv_m2s=%d, sdu_intv_s2m=%d @llc_cis_ram.c(62),INFO" ID="0x8a2a01f5" />
<MSG STRUCTURE="diag_log_msg3" NAME="[INFO][SLEEP]extern wakeup btc clk(%d)slp_dur_slot(%d)glbcnt(%d) @bt_sleep.c(398),INFO" ID="0x88f00c75" />
<MSG STRUCTURE="diag_log_msg1" NAME="g_dfx_time:%d @bt_sleep.c(418),INFO" ID="0x88f00d15" />
<MSG STRUCTURE="diag_log_msg3" NAME="[INFO][LLD]lld_periodic_adv_start:sync_dur=%d, intv_min=%d, intv_max=%d @lld_per_ram.c(53),INFO" ID="0x8a6201ad" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[SMP][LongTermKeyRequest]key->fea = 0x%x @smp_ui.c(430),INFO" ID="0x8dac0d75" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest]key == NULL @smp_ui.c(434),INFO" ID="0x8dac0d95" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[SMP][LongTermKeyRequest]link->hcihdl = %u, link->remote = 0x%x, key = 0x%x @smp_ui.c(461),INFO" ID="0x8dac0e6d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][No LESC LTK SEND] @smp_ui.c(474),INFO" ID="0x8dac0ed5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][DIV mismatch, Unpaired] @smp_ui.c(498),INFO" ID="0x8dac0f95" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][ECDH LTK unavailable, pair!=NULL] @smp_ui.c(511),INFO" ID="0x8dac0ffd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][LTK unavailable, pair=NULL] @smp_ui.c(524),INFO" ID="0x8dac1065" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[SMP][LongTermKeyRequest]LKT:0x%02x%02x%02x%02x @smp_ui.c(531),ERROR" ID="0x8dac109a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][Send Negative Reply!] @smp_ui.c(546),INFO" ID="0x8dac1115" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[SMP][LongTermKeyRequest]key->fea = 0x%x @smp_ui.c(426),INFO" ID="0x8dac0d55" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest]key == NULL @smp_ui.c(430),INFO" ID="0x8dac0d75" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[SMP][LongTermKeyRequest]link->hcihdl = %u, link->remote = 0x%x, key = 0x%x @smp_ui.c(457),INFO" ID="0x8dac0e4d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][No LESC LTK SEND] @smp_ui.c(470),INFO" ID="0x8dac0eb5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][DIV mismatch, Unpaired] @smp_ui.c(494),INFO" ID="0x8dac0f75" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][ECDH LTK unavailable, pair!=NULL] @smp_ui.c(507),INFO" ID="0x8dac0fdd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][LTK unavailable, pair=NULL] @smp_ui.c(520),INFO" ID="0x8dac1045" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[SMP][LongTermKeyRequest]LKT:0x%02x%02x%02x%02x @smp_ui.c(527),ERROR" ID="0x8dac107a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][Send Negative Reply!] @smp_ui.c(542),INFO" ID="0x8dac10f5" />
<MSG STRUCTURE="diag_log_msg4" NAME="[INFO][high power] enable on linkid:%d, last_rx_err_pkt:%d, rssi_delta:%d, time:0x%x @lc_task_ram.c(1392),INFO" ID="0x8a482b85" />
<MSG STRUCTURE="diag_log_msg4" NAME="[INFO][high power] disable on linkid:%d, last_rx_err_pkt:%d, rssi_delta:%d, time:0x%x @lc_task_ram.c(1402),INFO" ID="0x8a482bd5" />
<MSG STRUCTURE="diag_log_msg0" NAME="[INFO][LC]lmp_encaps_payl_handler:sp fail in LC_WAIT_PUB_KEY_PAYLOAD_RSP_PEER @lc_task_ram.c(1703),INFO" ID="0x8a48353d" />
<MSG STRUCTURE="diag_log_msg1" NAME="[INFO][LC]lc_sp_update_key:btstate = %d @lc_task_ram.c(1826),INFO" ID="0x8a483915" />
<MSG STRUCTURE="diag_log_msg1" NAME="[INFO][LC]lc_sp_update_key:lm_ecc_gen_new_key return = %d @lc_task_ram.c(1837),INFO" ID="0x8a48396d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="set_hci_log_status: [%d] @ble_conf.c(233),INFO" ID="0x8de8074d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="set_le_resolution_enable:[%d] @ble_conf.c(240),INFO" ID="0x8de80785" />
- <MSG STRUCTURE="diag_log_msg1" NAME="get_le_resolution_enable:[%d] @ble_conf.c(248),INFO" ID="0x8de807c5" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[MEM_TOTAL_USED_MAX][%d][MEM_TOTAL_USED][%d][MALLOC_TRACE][%d][FREE_TRACE][%d] @ble_conf.c(278),INFO" ID="0x8de808b5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="set_hci_log_status: [%d] @ble_conf.c(230),INFO" ID="0x8de80735" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="set_le_resolution_enable:[%d] @ble_conf.c(237),INFO" ID="0x8de8076d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="get_le_resolution_enable:[%d] @ble_conf.c(245),INFO" ID="0x8de807ad" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[MEM_TOTAL_USED_MAX][%d][MEM_TOTAL_USED][%d][MALLOC_TRACE][%d][FREE_TRACE][%d] @ble_conf.c(275),INFO" ID="0x8de8089d" />
<MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][PAST]lld_evt_past_adv_tx_time_compute: per adv has stoped! @lld_past_evt.c(190),WARNING" ID="0x89bc05f3" />
<MSG STRUCTURE="diag_log_msg0" NAME="[SMP]PAIRING_REQ_RECV @smp_fsm.c(1091),INFO" ID="0x8c46221d" />
<MSG STRUCTURE="diag_log_msg3" NAME="[SMP][smp_key_base_new]link->hcihdl = %u, remote = 0x%x, key = 0x%x @smp_fsm.c(1990),INFO" ID="0x8c463e35" />
<MSG STRUCTURE="diag_log_msg2" NAME="[WARNING][HCI]hci_sco_local_loopback_received:len=%d, max_len=%d @h4tl_ram.c(136),WARNING" ID="0x88ea0443" />
<MSG STRUCTURE="diag_log_msg1" NAME="[INFO]hci_sco_local_loopback_send:curr_payl_buff = 0x%x. @h4tl_ram.c(147),INFO" ID="0x88ea049d" />
<MSG STRUCTURE="diag_log_msg0" NAME="pce_update_status null returned @sdk_pbap.c(168),WARNING" ID="0x8b740543" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pbap_pull_phone_book conn_hdl=0x%x @sdk_pbap.c(670),INFO" ID="0x8b7414f5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pbap_pull_phone_book err ret=0x%x @sdk_pbap.c(683),WARNING" ID="0x8b74155b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s failed @sdk_pbap.c(696),ERROR" ID="0x8b7415c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s failed @sdk_pbap.c(843),ERROR" ID="0x8b741a5a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s failed @sdk_pbap.c(943),ERROR" ID="0x8b741d7a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pbap_pull_phone_book conn_hdl=0x%x @sdk_pbap.c(669),INFO" ID="0x8b7414ed" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pbap_pull_phone_book err ret=0x%x @sdk_pbap.c(682),WARNING" ID="0x8b741553" />
<MSG STRUCTURE="diag_log_msg0" NAME="lld_evt_defered_elt_handler, test end @patch_lld_evt.c(141),WARNING" ID="0x8a60046b" />
<MSG STRUCTURE="diag_log_msg0" NAME="[INFO][LLD]lld_evt_flush_common:elt is null @patch_lld_evt.c(212),INFO" ID="0x8a6006a5" />
<MSG STRUCTURE="diag_log_msg4" NAME="c_evt->mode=%d, next_elt->mode=%d, cur->conhdl=%d, n_evt->conhdl=%d @patch_lld_evt.c(269),INFO" ID="0x8a60086d" />
<MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][LD]ld_evt_start_rx_cbk:evt is null @dbg_bt_test_tx_rx.c(601),WARNING" ID="0x899c12cb" />
<MSG STRUCTURE="diag_log_msg0" NAME="[sdk]gatt_get_descriptor_value memcpy failed @sdk_gatt.c(387),ERROR" ID="0x8b800c1a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_get_descriptor_value memcpy_s error @sdk_gatt.c(571),ERROR" ID="0x8b8011da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic mem_new failed @sdk_gatt.c(794),ERROR" ID="0x8b8018d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic memcpy failed @sdk_gatt.c(799),ERROR" ID="0x8b8018fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic memcpy failed @sdk_gatt.c(808),ERROR" ID="0x8b801942" />
- <MSG STRUCTURE="diag_log_msg3" NAME="btsdk gatt get characteristics by uuid start_handle:0x%x end_handle:0x%x, uuid:0x%x @sdk_gatt.c(837),INFO" ID="0x8b801a2d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="btsdk gatt get characteristic value by uuid start_handle:0x%x end_handle:0x%x @sdk_gatt.c(885),INFO" ID="0x8b801bad" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[sdk]gatt_get_descriptor_by_handle start_handle:0x%x end_handle:0x%x @sdk_gatt.c(908),INFO" ID="0x8b801c65" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[sdk]gatt_get_multiple_characteristics_by_handle handle_count:0x%x @sdk_gatt.c(929),INFO" ID="0x8b801d0d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_set_gap_ui_attributes memcpy_s error @sdk_gatt.c(1207),ERROR" ID="0x8b8025ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_set_gap_ui_attributes memcpy_s error @sdk_gatt.c(1220),ERROR" ID="0x8b802622" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_get_gap_ui_attributes memcpy_s error @sdk_gatt.c(1292),ERROR" ID="0x8b802862" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_send_response memcpy_s error @sdk_gatt.c(1890),ERROR" ID="0x8b803b12" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_change_descriptor_value memcpy_s error @sdk_gatt.c(1971),ERROR" ID="0x8b803d9a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic mem_new failed @sdk_gatt.c(793),ERROR" ID="0x8b8018ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic memcpy failed @sdk_gatt.c(798),ERROR" ID="0x8b8018f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic memcpy failed @sdk_gatt.c(807),ERROR" ID="0x8b80193a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="btsdk gatt get characteristics by uuid start_handle:0x%x end_handle:0x%x, uuid:0x%x @sdk_gatt.c(830),INFO" ID="0x8b8019f5" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="btsdk gatt get characteristic value by uuid start_handle:0x%x end_handle:0x%x @sdk_gatt.c(878),INFO" ID="0x8b801b75" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[sdk]gatt_get_descriptor_by_handle start_handle:0x%x end_handle:0x%x @sdk_gatt.c(901),INFO" ID="0x8b801c2d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[sdk]gatt_get_multiple_characteristics_by_handle handle_count:0x%x @sdk_gatt.c(922),INFO" ID="0x8b801cd5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_set_gap_ui_attributes memcpy_s error @sdk_gatt.c(1200),ERROR" ID="0x8b802582" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_set_gap_ui_attributes memcpy_s error @sdk_gatt.c(1213),ERROR" ID="0x8b8025ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_get_gap_ui_attributes memcpy_s error @sdk_gatt.c(1285),ERROR" ID="0x8b80282a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_send_response memcpy_s error @sdk_gatt.c(1883),ERROR" ID="0x8b803ada" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_change_descriptor_value memcpy_s error @sdk_gatt.c(1964),ERROR" ID="0x8b803d62" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_notify_characteristic_changed memcpy_s error @sdk_gatt.c(2009),ERROR" ID="0x8b803eca" />
<MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_notify_characteristic_changed memcpy_s error @sdk_gatt.c(2016),ERROR" ID="0x8b803f02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_notify_characteristic_changed memcpy_s error @sdk_gatt.c(2023),ERROR" ID="0x8b803f3a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]can't find hdl by uuid @sdk_gatt.c(2214),ERROR" ID="0x8b804532" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]can't find hdl by uuid @sdk_gatt.c(2207),ERROR" ID="0x8b8044fa" />
<MSG STRUCTURE="diag_log_msg2" NAME="[bt_debug]BT rfpll addr:0x%x = %04x @bt_dbg.c(72),INFO" ID="0x89320245" />
<MSG STRUCTURE="diag_log_msg2" NAME="[bt_debug]BT rf addr:0x%x = %04x @bt_dbg.c(78),INFO" ID="0x89320275" />
<MSG STRUCTURE="diag_log_msg2" NAME="[bt_debug]BT mdm addr:0x%x = %04x @bt_dbg.c(92),INFO" ID="0x893202e5" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(1145),ERROR" ID="0x8c4c23ca" />
<MSG STRUCTURE="diag_log_msg3" NAME="[ATT]UUID[0x%04x], hdl[0x%x], len[0x%x] @att_gatt.c(1154),INFO" ID="0x8c4c2415" />
<MSG STRUCTURE="diag_log_msg5" NAME="GATT_Server_Create_UpdateCCC_Item, add item[hdl:%d] ccc onaddr:0x%02x:%02x:xx:xx:%02x:%02x @att_gatt.c(1368),INFO" ID="0x8c4c2ac5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(1491),ERROR" ID="0x8c4c2e9a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ATT_GATT] create le connect mask:%d @att_gatt.c(1809),ERROR" ID="0x8c4c388a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ATT_GATT] create br connect mask:%d @att_gatt.c(1818),ERROR" ID="0x8c4c38d2" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] smp cfm mask:%d task_index:%d result:%d @att_gatt.c(1937),ERROR" ID="0x8c4c3c8a" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] smp request mask:%d task_index:%d sec_mode:%d @att_gatt.c(1972),ERROR" ID="0x8c4c3da2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2355),ERROR" ID="0x8c4c499a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2601),ERROR" ID="0x8c4c514a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2629),ERROR" ID="0x8c4c522a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2634),ERROR" ID="0x8c4c5252" />
- <MSG STRUCTURE="diag_log_msg2" NAME="HFP:sco config flow limit line_high=%u line_low=%u @bt_ahi_hfp.c(278),ERROR" ID="0x8c9e08b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory alloc failed @bt_ahi_hfp.c(296),WARNING" ID="0x8c9e0943" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory set failed. @bt_ahi_hfp.c(301),WARNING" ID="0x8c9e096b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed. @bt_ahi_hfp.c(310),WARNING" ID="0x8c9e09b3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory alloc failed @bt_ahi_hfp.c(535),WARNING" ID="0x8c9e10bb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory set failed. @bt_ahi_hfp.c(540),WARNING" ID="0x8c9e10e3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed. @bt_ahi_hfp.c(549),WARNING" ID="0x8c9e112b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(1492),ERROR" ID="0x8c4c2ea2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ATT_GATT] create le connect mask:%d @att_gatt.c(1810),ERROR" ID="0x8c4c3892" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ATT_GATT] create br connect mask:%d @att_gatt.c(1819),ERROR" ID="0x8c4c38da" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] smp cfm mask:%d task_index:%d result:%d @att_gatt.c(1938),ERROR" ID="0x8c4c3c92" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] smp request mask:%d task_index:%d sec_mode:%d @att_gatt.c(1973),ERROR" ID="0x8c4c3daa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2356),ERROR" ID="0x8c4c49a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2602),ERROR" ID="0x8c4c5152" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2630),ERROR" ID="0x8c4c5232" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2635),ERROR" ID="0x8c4c525a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory alloc failed @bt_ahi_hfp.c(279),WARNING" ID="0x8c9e08bb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory set failed. @bt_ahi_hfp.c(284),WARNING" ID="0x8c9e08e3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed. @bt_ahi_hfp.c(293),WARNING" ID="0x8c9e092b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory alloc failed @bt_ahi_hfp.c(518),WARNING" ID="0x8c9e1033" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory set failed. @bt_ahi_hfp.c(523),WARNING" ID="0x8c9e105b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed. @bt_ahi_hfp.c(532),WARNING" ID="0x8c9e10a3" />
<MSG STRUCTURE="diag_log_msg4" NAME="[INFO][LLD]lld_evt_check_state_flag:to delete elt=0x%x, elt_ts=0x%x, mode=%d, conhdl=%d @lld_evt.c(160),INFO" ID="0x88600505" />
<MSG STRUCTURE="diag_log_msg4" NAME="[ERROR][LLD]BLE ERROR TXDESC is NULL conhdl=%d, conflict=%d, finetimecnt=%d, ts=%d @lld_evt.c(185),ERROR" ID="0x886005ca" />
<MSG STRUCTURE="diag_log_msg4" NAME="[ERROR][LLD]AE TXDESC is NULL conhdl=0x%x, conflict=%d, finetimecnt=0x%x, ts=0x%x @lld_evt.c(198),ERROR" ID="0x88600632" />
<MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][LLC][PHY]hci_le_set_phy_cmd_handler:llc is in disconnected state @llc_hci.c(1500),WARNING" ID="0x88322ee3" />
<MSG STRUCTURE="diag_log_msg4" NAME="[INFO][LLC][PHY]hci_le_set_phy_cmd_handler:current_txphy=%d, current_rxphy=%d, txphyoption=%d, rxphyoption=%d @llc_hci.c(1545),INFO" ID="0x8832304d" />
<MSG STRUCTURE="diag_log_msg2" NAME="[CHR]handle %d action %d @llc_hci.c(2463),INFO" ID="0x88324cfd" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap set discovery mode result = 0x%x, mode = 0x%x @bt_ahi_gap.c(84),INFO" ID="0x8c9e02a5" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap get discovery mode result = 0x%x, mode = 0x%x @bt_ahi_gap.c(98),INFO" ID="0x8c9e0315" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap stop discovery result = 0x%x, mode = 0x%x @bt_ahi_gap.c(108),INFO" ID="0x8c9e0365" />
- <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl result = 0x%x, dev_hdl = 0x%x, link type = %d @bt_ahi_gap.c(122),INFO" ID="0x8c9e03d5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(135),ERROR" ID="0x8c9e043a" />
- <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl cfm cbk result = 0x%x, acl_hdl = 0x%x, link type = %d @bt_ahi_gap.c(140),INFO" ID="0x8c9e0465" />
- <MSG STRUCTURE="diag_log_msg1" NAME="stack gap create acla result = 0x%x @bt_ahi_gap.c(149),INFO" ID="0x8c9e04ad" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap reconnect phone result = 0x%x, dev_hdl = 0x%x @bt_ahi_gap.c(160),INFO" ID="0x8c9e0505" />
- <MSG STRUCTURE="diag_log_msg1" NAME="stack gap get rmt dev handle result = 0x%x @bt_ahi_gap.c(172),INFO" ID="0x8c9e0565" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap device is connected result = 0x%x, dev_hdl = 0x%x @bt_ahi_gap.c(184),INFO" ID="0x8c9e05c5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="btsdk disconnect acl by handle result = 0x%x @bt_ahi_gap.c(195),INFO" ID="0x8c9e061d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap pair device result = 0x%x, dev_hdl = 0x%x @bt_ahi_gap.c(207),INFO" ID="0x8c9e067d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="stack gap add rmt device rsp.result = %x @bt_ahi_gap.c(224),INFO" ID="0x8c9e0705" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap update rmt device name result = 0x%x, name = %s @bt_ahi_gap.c(244),INFO" ID="0x8c9e07a5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(258),ERROR" ID="0x8c9e0812" />
- <MSG STRUCTURE="diag_log_msg3" NAME="stack gap update rmt device name cfm cbk result = 0x%x, opindex = 0x%x, size = %d @bt_ahi_gap.c(266),INFO" ID="0x8c9e0855" />
- <MSG STRUCTURE="diag_log_msg1" NAME="stack gap update rmt device name async result = 0x%x @bt_ahi_gap.c(276),INFO" ID="0x8c9e08a5" />
- <MSG STRUCTURE="diag_log_msg3" NAME="stack gap get local name result = 0x%x, length = %d, name = %s @bt_ahi_gap.c(312),INFO" ID="0x8c9e09c5" />
- <MSG STRUCTURE="diag_log_msg4" NAME="stack gap get rmt dev addr result = 0x%x, addr[%02x:**:**:**:%02x:%02x] @bt_ahi_gap.c(337),INFO" ID="0x8c9e0a8d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap browse rmt service overflow, max_count = %d, svc_count = %d @bt_ahi_gap.c(359),ERROR" ID="0x8c9e0b3a" />
- <MSG STRUCTURE="diag_log_msg3" NAME="stack gap browse rmt service result = 0x%x, svc_count = %d, svc_hdl[0] = 0x%x @bt_ahi_gap.c(365),INFO" ID="0x8c9e0b6d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="hfp enable sco:scohdl=0x%x inid=0x%x outid=0x%x @bt_ahi_gap.c(386),INFO" ID="0x8c9e0c15" />
- <MSG STRUCTURE="diag_log_msg1" NAME="hfp disable sco:scohdl=0x%x @bt_ahi_gap.c(390),INFO" ID="0x8c9e0c35" />
- <MSG STRUCTURE="diag_log_msg3" NAME="result = 0x%x, handle = 0x%x, service_class = %02x @bt_ahi_gap.c(423),INFO" ID="0x8c9e0d3d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="stack gap init, res = 0x%x @bt_ahi_gap.c(435),INFO" ID="0x8c9e0d9d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="set bt tx power, hdl=0x%x, power=%d, ret=0x%x @bt_ahi_gap.c(448),INFO" ID="0x8c9e0e05" />
- <MSG STRUCTURE="diag_log_msg3" NAME="br gap read rssi, hdl=0x%x, rssi=%d, ret=0x%x @bt_ahi_gap.c(456),INFO" ID="0x8c9e0e45" />
- <MSG STRUCTURE="diag_log_msg4" NAME="set active scene scene = %d, bitrate = %d, delay = %d, ret=0x%x @bt_ahi_gap.c(472),INFO" ID="0x8c9e0ec5" />
- <MSG STRUCTURE="diag_log_msg2" NAME="set inquiry scan param interval = %d, window = %d @bt_ahi_gap.c(480),INFO" ID="0x8c9e0f05" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(491),ERROR" ID="0x8c9e0f5a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="stack gap restore rmt device rsp.result = %x @bt_ahi_gap.c(495),INFO" ID="0x8c9e0f7d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="br gap get link mode, hdl=0x%x, mode=%d, ret=0x%x @bt_ahi_gap.c(504),INFO" ID="0x8c9e0fc5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mpc param null! @bt_ahi_gap.c(520),ERROR" ID="0x8c9e1042" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mpc pkt_ptr is null! @bt_ahi_gap.c(525),ERROR" ID="0x8c9e106a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[AHI]set br secure param secure=%d. @bt_ahi_gap.c(529),ERROR" ID="0x8c9e108a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap set discovery mode result = 0x%x, mode = 0x%x @bt_ahi_gap.c(82),INFO" ID="0x8c9e0295" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap get discovery mode result = 0x%x, mode = 0x%x @bt_ahi_gap.c(96),INFO" ID="0x8c9e0305" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap stop discovery result = 0x%x, mode = 0x%x @bt_ahi_gap.c(106),INFO" ID="0x8c9e0355" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl result = 0x%x, dev_hdl = 0x%x, link type = %d @bt_ahi_gap.c(120),INFO" ID="0x8c9e03c5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(133),ERROR" ID="0x8c9e042a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl cfm cbk result = 0x%x, acl_hdl = 0x%x, link type = %d @bt_ahi_gap.c(138),INFO" ID="0x8c9e0455" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stack gap create acla result = 0x%x @bt_ahi_gap.c(147),INFO" ID="0x8c9e049d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap reconnect phone result = 0x%x, dev_hdl = 0x%x @bt_ahi_gap.c(158),INFO" ID="0x8c9e04f5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stack gap get rmt dev handle result = 0x%x @bt_ahi_gap.c(170),INFO" ID="0x8c9e0555" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap device is connected result = 0x%x, dev_hdl = 0x%x @bt_ahi_gap.c(182),INFO" ID="0x8c9e05b5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk disconnect acl by handle result = 0x%x @bt_ahi_gap.c(193),INFO" ID="0x8c9e060d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap pair device result = 0x%x, dev_hdl = 0x%x @bt_ahi_gap.c(205),INFO" ID="0x8c9e066d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stack gap add rmt device rsp.result = %x @bt_ahi_gap.c(222),INFO" ID="0x8c9e06f5" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap update rmt device name result = 0x%x, name = %s @bt_ahi_gap.c(242),INFO" ID="0x8c9e0795" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(256),ERROR" ID="0x8c9e0802" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="stack gap update rmt device name cfm cbk result = 0x%x, opindex = 0x%x, size = %d @bt_ahi_gap.c(264),INFO" ID="0x8c9e0845" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stack gap update rmt device name async result = 0x%x @bt_ahi_gap.c(274),INFO" ID="0x8c9e0895" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="stack gap get local name result = 0x%x, length = %d, name = %s @bt_ahi_gap.c(310),INFO" ID="0x8c9e09b5" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="stack gap get rmt dev addr result = 0x%x, addr[%02x:**:**:**:%02x:%02x] @bt_ahi_gap.c(335),INFO" ID="0x8c9e0a7d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap browse rmt service overflow, max_count = %d, svc_count = %d @bt_ahi_gap.c(357),ERROR" ID="0x8c9e0b2a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="stack gap browse rmt service result = 0x%x, svc_count = %d, svc_hdl[0] = 0x%x @bt_ahi_gap.c(363),INFO" ID="0x8c9e0b5d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="hfp enable sco:scohdl=0x%x inid=0x%x outid=0x%x @bt_ahi_gap.c(384),INFO" ID="0x8c9e0c05" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="hfp disable sco:scohdl=0x%x @bt_ahi_gap.c(388),INFO" ID="0x8c9e0c25" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="result = 0x%x, handle = 0x%x, service_class = %02x @bt_ahi_gap.c(421),INFO" ID="0x8c9e0d2d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stack gap init, res = 0x%x @bt_ahi_gap.c(432),INFO" ID="0x8c9e0d85" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="set bt tx power, hdl=0x%x, power=%d, ret=0x%x @bt_ahi_gap.c(445),INFO" ID="0x8c9e0ded" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="br gap read rssi, hdl=0x%x, rssi=%d, ret=0x%x @bt_ahi_gap.c(453),INFO" ID="0x8c9e0e2d" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="set active scene scene = %d, bitrate = %d, delay = %d, ret=0x%x @bt_ahi_gap.c(469),INFO" ID="0x8c9e0ead" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="set inquiry scan param interval = %d, window = %d @bt_ahi_gap.c(477),INFO" ID="0x8c9e0eed" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(488),ERROR" ID="0x8c9e0f42" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stack gap restore rmt device rsp.result = %x @bt_ahi_gap.c(492),INFO" ID="0x8c9e0f65" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="br gap get link mode, hdl=0x%x, mode=%d, ret=0x%x @bt_ahi_gap.c(501),INFO" ID="0x8c9e0fad" />
<MSG STRUCTURE="diag_log_msg0" NAME="[GAP]memset failed @gap_ui.c(1251),ERROR" ID="0x8b5c271a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[GAP]memcpy failed @gap_ui.c(1255),ERROR" ID="0x8b5c273a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[GAP]memcpy failed @gap_ui.c(1259),ERROR" ID="0x8b5c275a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[GAP] create_connection_whitelist start @gap_ui.c(2349),INFO" ID="0x8b5c496d" />
<MSG STRUCTURE="diag_log_msg0" NAME="[GAP]memcpy failed @gap_ui.c(2457),ERROR" ID="0x8b5c4cca" />
<MSG STRUCTURE="diag_log_msg1" NAME="[SADP][GAP] set_local_addr_cbk result is %u @gap_ui.c(2933),INFO" ID="0x8b5c5bad" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[GAP]set br sc cmd error result=0x%x @gap_ui.c(2959),ERROR" ID="0x8b5c5c7a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[GAP]set br sc status=0x%x @gap_ui.c(2964),ERROR" ID="0x8b5c5ca2" />
<MSG STRUCTURE="diag_log_msg0" NAME="bt dft response malloc err @bt_dft_bdi.c(37),INFO" ID="0x8d0c012d" />
<MSG STRUCTURE="diag_log_msg1" NAME="bt dft response len = 0x%x @bt_dft_bdi.c(41),INFO" ID="0x8d0c014d" />
<MSG STRUCTURE="diag_log_msg1" NAME="bt dft response memcpy ok, res_len: %d @bt_dft_bdi.c(46),INFO" ID="0x8d0c0175" />
<MSG STRUCTURE="diag_log_msg1" NAME="%02x @bt_dft_bdi.c(957),WARNING" ID="0x8d0c1deb" />
<MSG STRUCTURE="diag_log_msg0" NAME="bt dft get bdi @bt_dft_bdi.c(964),INFO" ID="0x8d0c1e25" />
<MSG STRUCTURE="diag_log_msg0" NAME="bt dft get bdi err @bt_dft_bdi.c(966),INFO" ID="0x8d0c1e35" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[BTH][QOS]default flow limit max=%u line_high=%u line_low=%u @sdk_hlp.c(71),ERROR" ID="0x8b7a023a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]overflow ipc:%u fsm_tx:%u. @sdk_hlp.c(93),ERROR" ID="0x8b7a02ea" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]overflow hci_rx:%u hci_qos:%u. @sdk_hlp.c(94),ERROR" ID="0x8b7a02f2" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]warning ipc:%u fsm_tx:%u. @sdk_hlp.c(106),ERROR" ID="0x8b7a0352" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]warning hci_rx:%u hci_qos:%u. @sdk_hlp.c(107),ERROR" ID="0x8b7a035a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]release ipc:%u fsm_tx:%u. @sdk_hlp.c(118),ERROR" ID="0x8b7a03b2" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]release hci_rx:%u hci_qos:%u. @sdk_hlp.c(119),ERROR" ID="0x8b7a03ba" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[SDK][GAP] CTKD BR link key report, addr=0x%02x:**:**:**:0x%02x:0x%02x @sdk_hlp.c(895),WARNING" ID="0x8b7a1bfb" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[SDK][GAP] paired phone exist, dev_handle=0x%x @sdk_hlp.c(901),WARNING" ID="0x8b7a1c2b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="hlp_link_key_req_cbk no source addr:0x%x @sdk_hlp.c(996),INFO" ID="0x8b7a1f25" />
- <MSG STRUCTURE="diag_log_msg2" NAME="hlp_connection_ev_cbk_dis_conn hdl:0x%x status:%d @sdk_hlp.c(2151),INFO" ID="0x8b7a433d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[SDK] connect event cbk connected: %d, reason: %d link_type:%d! @sdk_hlp.c(2173),ERROR" ID="0x8b7a43ea" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[SDK] connect event cbk cap:%d addr:%02x******%02x%02x @sdk_hlp.c(2188),ERROR" ID="0x8b7a4462" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[SDK] connect event cbk status:%d dev_hdl:0x%x @sdk_hlp.c(2191),ERROR" ID="0x8b7a447a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="hlp_link_key_req_cbk no source addr:0x%x @sdk_hlp.c(898),INFO" ID="0x8b7a1c15" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="hlp_connection_ev_cbk_dis_conn hdl:0x%x status:%d @sdk_hlp.c(2053),INFO" ID="0x8b7a402d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[SDK] connect event cbk connected: %d, reason: %d link_type:%d! @sdk_hlp.c(2074),ERROR" ID="0x8b7a40d2" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[SDK] connect event cbk cap:%d addr:%02x******%02x%02x @sdk_hlp.c(2089),ERROR" ID="0x8b7a414a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[SDK] connect event cbk status:%d dev_hdl:0x%x @sdk_hlp.c(2092),ERROR" ID="0x8b7a4162" />
<MSG STRUCTURE="diag_log_msg0" NAME="gdk message post, failed retry later. @gdk_msg.c(46),ERROR" ID="0x8cb40172" />
<MSG STRUCTURE="diag_log_msg0" NAME="gdk message timer cback @gdk_msg.c(74),DBG" ID="0x8cb40256" />
<MSG STRUCTURE="diag_log_msg2" NAME="gdk message add itor_msgid:0x%x, itor_ts:0x%lld @gdk_msg.c(107),DBG" ID="0x8cb4035e" />
<MSG STRUCTURE="diag_log_msg0" NAME="BTH_VENDOR: bt vendor init start @bt_vendor.c(52),INFO" ID="0x8c9601a5" />
<MSG STRUCTURE="diag_log_msg0" NAME="BTH_VENDOR: bt vendor init start-317 @bt_vendor.c(57),INFO" ID="0x8c9601cd" />
<MSG STRUCTURE="diag_log_msg0" NAME="BTH_VENDOR: bt vendor init start @bt_vendor.c(97),INFO" ID="0x8c96030d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[SPP][AddEntry] vport=%d @sppui.c(158),INFO" ID="0x8b6604f5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[SPP][DelEntry] vport=%d @sppui.c(234),INFO" ID="0x8b660755" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[SPP][WRITE_DATA] CONGEST=%d, CREDITIN=%d @sppui.c(543),INFO" ID="0x8b6610fd" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[SPP][WRITE_DATA] CONGEST=%d, CREDITIN=%d @sppui.c(656),INFO" ID="0x8b661485" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[SPP][AddEntry] vport=%d @sppui.c(157),INFO" ID="0x8b6604ed" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[SPP][DelEntry] vport=%d @sppui.c(233),INFO" ID="0x8b66074d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[SPP][WRITE_DATA] CONGEST=%d, CREDITIN=%d @sppui.c(542),INFO" ID="0x8b6610f5" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[SPP][WRITE_DATA] CONGEST=%d, CREDITIN=%d @sppui.c(654),INFO" ID="0x8b661475" />
<MSG STRUCTURE="diag_log_msg0" NAME="[HID]Service cb arg is NULL! @ble_general_hid.c(61),ERROR" ID="0x8cbc01ea" />
<MSG STRUCTURE="diag_log_msg0" NAME="[HID]Get Service Tree! @ble_general_hid.c(70),INFO" ID="0x8cbc0235" />
<MSG STRUCTURE="diag_log_msg0" NAME="[HID]Get Service error! @ble_general_hid.c(73),ERROR" ID="0x8cbc024a" />
<MSG STRUCTURE="diag_log_msg2" NAME="[SPP][START_CLIENT] ACTION=SPP_OPEN_SUCCESS, SVR_CHANNEL=%d, V_PORT=%d @spp_client.c(151),INFO" ID="0x8bae04bd" />
<MSG STRUCTURE="diag_log_msg2" NAME="[SPP][START_CLIENT] ACTION=SPP_OPEN_FAIL, SVR_CHANNEL=%d, V_PORT=%d @spp_client.c(155),WARNING" ID="0x8bae04db" />
<MSG STRUCTURE="diag_log_msg4" NAME="[LIM] : log_domain:%d, log_module:%d, sub_module:%d, log_code:%d. @log_printf.c(355),INFO" ID="0xa05e0b1d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: send audio data enable = %x seq %d len %d. @packet_dl.c(39),ERROR" ID="0x8c28013a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: adp get buffer ret = %x seq %d len %d size %d. @packet_dl.c(47),ERROR" ID="0x8c28017a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: Memory cpy fail! @packet_dl.c(51),ERROR" ID="0x8c28019a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: adp put buffer ret = %x seq %d len %d size %d. @packet_dl.c(61),ERROR" ID="0x8c2801ea" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: send audio data enable = %x seq %d len %d. @packet_dl.c(39),WARNING" ID="0x8c28013b" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: uapi_adp_get_buffer ret = %x seq %d len %d size %d. @packet_dl.c(47),WARNING" ID="0x8c28017b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: Memory cpy fail! @packet_dl.c(51),WARNING" ID="0x8c28019b" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: uapi_adp_put_buffer ret = %x seq %d len %d size %d. @packet_dl.c(61),WARNING" ID="0x8c2801eb" />
<MSG STRUCTURE="diag_log_msg0" NAME="[DADP][BT->AUDIO] Memory is not enough! @packet_dl.c(103),WARNING" ID="0x8c28033b" />
<MSG STRUCTURE="diag_log_msg0" NAME="[DADP][BT->AUDIO]ipc send audio data fail @packet_dl.c(128),WARNING" ID="0x8c280403" />
<MSG STRUCTURE="diag_log_msg0" NAME="[DADP][BT->AUDIO]ipc send audio data fail @packet_dl.c(160),WARNING" ID="0x8c280503" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[DADP][SetActiveConnectHandle]HANDLE=0x%x @packet_dl.c(310),INFO" ID="0x8c2809b5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[DADP]get_mobile_connection_handle fail, can't find link @packet_dl.c(333),INFO" ID="0x8c280a6d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[DADP]HANDLE=0x%x @packet_dl.c(337),INFO" ID="0x8c280a8d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[DADP][get_active_device_handle] REMOTE_ADDR=%02x:%02x:**:**:**:%02x @packet_dl.c(380),INFO" ID="0x8c280be5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: dadp_freeman_send_audio_data_dl @packet_dl.c(270),WARNING" ID="0x8c280873" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[DADP][SetActiveConnectHandle]HANDLE=0x%x @packet_dl.c(311),INFO" ID="0x8c2809bd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[DADP]get_mobile_connection_handle fail, can't find link @packet_dl.c(334),INFO" ID="0x8c280a75" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[DADP]HANDLE=0x%x @packet_dl.c(338),INFO" ID="0x8c280a95" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[DADP][get_active_device_handle] REMOTE_ADDR=%02x:%02x:**:**:**:%02x @packet_dl.c(381),INFO" ID="0x8c280bed" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ERROR][param]ke_msg_alloc:msg = NULL @ke_msg.c(73),ERROR" ID="0x891a024a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ERROR]the MSG is not in heap @ke_msg.c(183),ERROR" ID="0x891a05ba" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[TIMRE_ADD][STACK_TIMER] TIMER=0x%x, TIME=%u @fsm.c(720),INFO" ID="0x8b581685" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[TIMER_EXPIR]timeout timer err! @fsm.c(818),ERROR" ID="0x8b581992" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[TIMER_EXPIR]timeout but no right timer! @fsm.c(848),WARNING" ID="0x8b581a83" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[timer_expire_in_sch_lite]timer has been free; not need free! @fsm.c(864),WARNING" ID="0x8b581b03" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[TIMER_DEL][STACK_TIMER] in_ft is NULL! @fsm.c(989),INFO" ID="0x8b581eed" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[FSM][QOS]producer %u @fsm.c(83),ERROR" ID="0x8b58029a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[FSM][QOS]consumer %u @fsm.c(97),ERROR" ID="0x8b58030a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[TIMRE_ADD][STACK_TIMER] TIMER=0x%x, TIME=%u @fsm.c(725),INFO" ID="0x8b5816ad" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[TIMER_EXPIR]timeout timer err! @fsm.c(823),ERROR" ID="0x8b5819ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[TIMER_EXPIR]timeout but no right timer! @fsm.c(853),WARNING" ID="0x8b581aab" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[timer_expire_in_sch_lite]timer has been free; not need free! @fsm.c(869),WARNING" ID="0x8b581b2b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[TIMER_DEL][STACK_TIMER] in_ft is NULL! @fsm.c(994),INFO" ID="0x8b581f15" />
<MSG STRUCTURE="diag_log_msg0" NAME="llc_ico_update_finished unknown ico_conhdl @llc_ico.c(203),WARNING" ID="0x883e065b" />
<MSG STRUCTURE="diag_log_msg2" NAME="[ICO]conhdl unknown conhdl role, conhdl = %d, role = %d @llc_ico.c(216),ERROR" ID="0x883e06c2" />
<MSG STRUCTURE="diag_log_msg0" NAME="llc_cis_update_finished unknown cis_conhdl @llc_ico.c(235),WARNING" ID="0x883e075b" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_table.c(1011),ERROR" ID="0x8d661f9a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_table.c(1184),ERROR" ID="0x8d662502" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_table.c(1273),ERROR" ID="0x8d6627ca" />
- <MSG STRUCTURE="diag_log_msg0" NAME="hci qos buf overflow. @bt_tran_task.c(107),ERROR" ID="0x8c94035a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bth ipc fsm rx tx buf overflow. @bt_tran_task.c(112),ERROR" ID="0x8c940382" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ERROR]p_data is null @bt_tran_task.c(125),ERROR" ID="0x8c9403ea" />
- <MSG STRUCTURE="diag_log_msg3" NAME="BT_TRAN:route data:TID&SOF&SID&CID, LEN = 0x%04X%04X, %d @bt_tran_task.c(155),ERROR" ID="0x8c9404da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Error route_id! @bt_tran_task.c(167),ERROR" ID="0x8c94053a" />
- <MSG STRUCTURE="diag_log_msg3" NAME="BT_TRAN:route data:TID&SOF&SID&CID, LEN = 0x%04X%04X, %d @bt_tran_task.c(187),ERROR" ID="0x8c9405da" />
- <MSG STRUCTURE="diag_log_msg3" NAME="BT_TRAN:data:TID&SOF&SID&CID:0x%04X%04X,LEN:%d @bt_tran_task.c(190),ERROR" ID="0x8c9405f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="INVALID DATA! @bt_tran_task.c(226),ERROR" ID="0x8c940712" />
- <MSG STRUCTURE="diag_log_msg2" NAME="BT_TRAN: TXMCU:ipc send data fail, ret=%d opcode=0x%x @bt_tran_task.c(255),ERROR" ID="0x8c9407fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="UNKNOW CORE! @bt_tran_task.c(264),ERROR" ID="0x8c940842" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt tran task framek free property allow_free= %d @bt_tran_task.c(304),INFO" ID="0x8c940985" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pst_property->en_id = 0x%x @bt_tran_task.c(322),INFO" ID="0x8c940a15" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BT_TRAN: data ERROR data_len:%d @bt_tran_task.c(395),WARNING" ID="0x8c940c5b" />
- <MSG STRUCTURE="diag_log_msg2" NAME="BT_TRAN: data ERROR data:0x%08x, 0x%08x @bt_tran_task.c(399),WARNING" ID="0x8c940c7b" />
- <MSG STRUCTURE="diag_log_msg4" NAME="rec mcu error data,tid:0x%x,sof:0x%x,len:0x%04x,opcode:0x%04x @bt_tran_task.c(408),ERROR" ID="0x8c940cc2" />
- <MSG STRUCTURE="diag_log_msg2" NAME="rec data malloc fail opcode:0x%04x,length:(0x%04x) @bt_tran_task.c(426),ERROR" ID="0x8c940d52" />
- <MSG STRUCTURE="diag_log_msg2" NAME="rec data memcpy fail opcode:0x%04x,length:(0x%04x) @bt_tran_task.c(432),ERROR" ID="0x8c940d82" />
- <MSG STRUCTURE="diag_log_msg4" NAME="rec mcu write property fail,tid:0x%x,sof:0x%x,len:0x%04x,opcode:0x%04x @bt_tran_task.c(442),ERROR" ID="0x8c940dd2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ipc data data len err = %d @bt_tran_task.c(479),ERROR" ID="0x8c940efa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ipc data data len err = %d @bt_tran_task.c(489),ERROR" ID="0x8c940f4a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ipc data from M7 error = %d @bt_tran_task.c(493),ERROR" ID="0x8c940f6a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ipc data from unknow core @bt_tran_task.c(505),ERROR" ID="0x8c940fca" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt tran task handler osMessageQueueGet fail ret:(%x) @bt_tran_task.c(531),ERROR" ID="0x8c94109a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt tran task framek write property en_id = 0x%x @bt_tran_task.c(555),INFO" ID="0x8c94115d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="write Property fail id:0x%x, ret:0x%x @bt_tran_task.c(563),ERROR" ID="0x8c94119a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="bt tran task framek write property fail en_id:%d,ret:%x @bt_tran_task.c(572),ERROR" ID="0x8c9411e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ERROR]p_data is null @bt_tran_task.c(85),ERROR" ID="0x8c9402aa" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="BT_TRAN:route data:TID&SOF&SID&CID, LEN = 0x%04X%04X, %d @bt_tran_task.c(115),ERROR" ID="0x8c94039a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Error route_id! @bt_tran_task.c(127),ERROR" ID="0x8c9403fa" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="BT_TRAN:route data:TID&SOF&SID&CID, LEN = 0x%04X%04X, %d @bt_tran_task.c(147),ERROR" ID="0x8c94049a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="BT_TRAN:data:TID&SOF&SID&CID:0x%04X%04X,LEN:%d @bt_tran_task.c(150),ERROR" ID="0x8c9404b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="INVALID DATA! @bt_tran_task.c(186),ERROR" ID="0x8c9405d2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BT_TRAN: TXMCU:ipc send data = %d @bt_tran_task.c(214),ERROR" ID="0x8c9406b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="UNKNOW CORE! @bt_tran_task.c(224),ERROR" ID="0x8c940702" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt tran task framek free property allow_free= %d @bt_tran_task.c(264),INFO" ID="0x8c940845" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pst_property->en_id = 0x%x @bt_tran_task.c(282),INFO" ID="0x8c9408d5" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="ipc buf release number:%u %u. @bt_tran_task.c(330),ERROR" ID="0x8c940a52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="hci qos buf overflow. @bt_tran_task.c(356),ERROR" ID="0x8c940b22" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble fsm buf overflow. @bt_tran_task.c(362),ERROR" ID="0x8c940b52" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="ipc buf warning number:%u %u. @bt_tran_task.c(370),ERROR" ID="0x8c940b92" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BT_TRAN: data ERROR data_len:%d @bt_tran_task.c(389),WARNING" ID="0x8c940c2b" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="BT_TRAN: data ERROR data:0x%08x, 0x%08x @bt_tran_task.c(393),WARNING" ID="0x8c940c4b" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="rec mcu error data,tid:0x%x,sof:0x%x,len:0x%04x,opcode:0x%04x @bt_tran_task.c(402),ERROR" ID="0x8c940c92" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="rec data malloc fail opcode:0x%04x,length:(0x%04x) @bt_tran_task.c(420),ERROR" ID="0x8c940d22" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="rec data memcpy fail opcode:0x%04x,length:(0x%04x) @bt_tran_task.c(426),ERROR" ID="0x8c940d52" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="rec mcu write property fail,tid:0x%x,sof:0x%x,len:0x%04x,opcode:0x%04x @bt_tran_task.c(436),ERROR" ID="0x8c940da2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ipc data data len err = %d @bt_tran_task.c(473),ERROR" ID="0x8c940eca" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ipc data data len err = %d @bt_tran_task.c(483),ERROR" ID="0x8c940f1a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ipc data from M7 error = %d @bt_tran_task.c(487),ERROR" ID="0x8c940f3a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ipc data from unknow core @bt_tran_task.c(499),ERROR" ID="0x8c940f9a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt tran task handler osMessageQueueGet fail ret:(%x) @bt_tran_task.c(525),ERROR" ID="0x8c94106a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt tran task framek write property en_id = 0x%x @bt_tran_task.c(549),INFO" ID="0x8c94112d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="write Property fail id:0x%x, ret:0x%x @bt_tran_task.c(557),ERROR" ID="0x8c94116a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="bt tran task framek write property fail en_id:%d,ret:%x @bt_tran_task.c(566),ERROR" ID="0x8c9411b2" />
<MSG STRUCTURE="diag_log_msg3" NAME="[lc_sc_lmp_msg_conflict_check] policy=%d, state=%d, current_state=%d @lc_sc.c(763),INFO" ID="0x887c17dd" />
<MSG STRUCTURE="diag_log_msg1" NAME="lc_sc_hci_command_reject no found opcode in tab, opcode=%d @lc_sc.c(1226),ERROR" ID="0x887c2652" />
<MSG STRUCTURE="diag_log_msg1" NAME="[INFO][LC_SC]:in role switch or enc state, to save message id=%d @lc_sc.c(1374),INFO" ID="0x887c2af5" />
<MSG STRUCTURE="diag_log_msg0" NAME="[SDK]convert uuid to stack memcpy_s error @sdk_gatt_hlp.c(125),ERROR" ID="0x8da603ea" />
<MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att exchange mtu addr memcpy fail @sdk_gatt_hlp.c(581),ERROR" ID="0x8da6122a" />
<MSG STRUCTURE="diag_log_msg2" NAME="[gatth_get_multiple_characteristics_value] rmt:0x%x mtu:0x%x @sdk_gatt_hlp.c(887),INFO" ID="0x8da61bbd" />
- <MSG STRUCTURE="diag_log_msg2" NAME="bt sdk gatt read value handle:%d, offset:%d. @sdk_gatt_hlp.c(1018),INFO" ID="0x8da61fd5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt sdk gatt read value can't find remote device. @sdk_gatt_hlp.c(1022),ERROR" ID="0x8da61ff2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt sdk gatt read value addr memcpy fail. @sdk_gatt_hlp.c(1027),ERROR" ID="0x8da6201a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[gatth_get_characteristics_by_uuid] start_handle:0x%x end_handle:0x%x @sdk_gatt_hlp.c(1051),INFO" ID="0x8da620dd" />
- <MSG STRUCTURE="diag_log_msg2" NAME="btsdk gatth get descriptor by handle arg->start_handle:0x%x arg->end_handle:0x%x @sdk_gatt_hlp.c(1094),INFO" ID="0x8da62235" />
- <MSG STRUCTURE="diag_log_msg0" NAME="gatth_set_reliable_characteristic_value in @sdk_gatt_hlp.c(1139),INFO" ID="0x8da6239d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[gatth_set_characteristic_value] memcpy failed @sdk_gatt_hlp.c(1176),ERROR" ID="0x8da624c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic rmt is NULL @sdk_gatt_hlp.c(1210),ERROR" ID="0x8da625d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic memcpy failed @sdk_gatt_hlp.c(1218),ERROR" ID="0x8da62612" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic tl is NULL @sdk_gatt_hlp.c(1233),ERROR" ID="0x8da6268a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[SDK_GATT_HLP] HCI QOS state:%u @sdk_gatt_hlp.c(1582),ERROR" ID="0x8da63172" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[gatth_check_and_save_value] memcpy failed @sdk_gatt_hlp.c(1699),ERROR" ID="0x8da6351a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_server_execute_write_complete memcpy_s error @sdk_gatt_hlp.c(1796),ERROR" ID="0x8da63822" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_server_write_ind memcpy_s error @sdk_gatt_hlp.c(1940),ERROR" ID="0x8da63ca2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_server_write_ind memcpy_s error @sdk_gatt_hlp.c(1962),ERROR" ID="0x8da63d52" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_send_response memcpy_s error @sdk_gatt_hlp.c(2315),ERROR" ID="0x8da6485a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_notify_multiple_characteristic_changed memcpy_s error @sdk_gatt_hlp.c(2548),ERROR" ID="0x8da64fa2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info mem new fail @sdk_gatt_hlp.c(2600),ERROR" ID="0x8da65142" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info service uuid memcpy fail @sdk_gatt_hlp.c(2610),ERROR" ID="0x8da65192" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info attribute uuid memcpy fail @sdk_gatt_hlp.c(2615),ERROR" ID="0x8da651ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info addr memcpy fail @sdk_gatt_hlp.c(2620),ERROR" ID="0x8da651e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info val memcpy fail @sdk_gatt_hlp.c(2625),ERROR" ID="0x8da6520a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind can't find service by service hdl @sdk_gatt_hlp.c(2671),ERROR" ID="0x8da6537a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write pkt null @sdk_gatt_hlp.c(2677),ERROR" ID="0x8da653aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind can't find server cbk by server hdl @sdk_gatt_hlp.c(2684),ERROR" ID="0x8da653e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info mem new fail @sdk_gatt_hlp.c(2716),ERROR" ID="0x8da654e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info service uuid memcpy fail @sdk_gatt_hlp.c(2727),ERROR" ID="0x8da6553a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info attribute uuid memcpy fail @sdk_gatt_hlp.c(2732),ERROR" ID="0x8da65562" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info addr memcpy fail @sdk_gatt_hlp.c(2737),ERROR" ID="0x8da6558a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info val memcpy fail @sdk_gatt_hlp.c(2743),ERROR" ID="0x8da655ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind can't find service by service hdl @sdk_gatt_hlp.c(2763),ERROR" ID="0x8da6565a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read pkt null @sdk_gatt_hlp.c(2769),ERROR" ID="0x8da6568a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind can't find server cbk by server hdl @sdk_gatt_hlp.c(2776),ERROR" ID="0x8da656c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]write element @sdk_gatt_hlp.c(2813),INFO" ID="0x8da657ed" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]read element @sdk_gatt_hlp.c(2817),INFO" ID="0x8da6580d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]write element free @sdk_gatt_hlp.c(2823),INFO" ID="0x8da6583d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[gatth_get_characteristics_by_uuid] start_handle:0x%x end_handle:0x%x @sdk_gatt_hlp.c(1020),INFO" ID="0x8da61fe5" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="btsdk gatth get descriptor by handle arg->start_handle:0x%x arg->end_handle:0x%x @sdk_gatt_hlp.c(1063),INFO" ID="0x8da6213d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gatth_set_reliable_characteristic_value in @sdk_gatt_hlp.c(1108),INFO" ID="0x8da622a5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[gatth_set_characteristic_value] memcpy failed @sdk_gatt_hlp.c(1145),ERROR" ID="0x8da623ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic rmt is NULL @sdk_gatt_hlp.c(1178),ERROR" ID="0x8da624d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic memcpy failed @sdk_gatt_hlp.c(1186),ERROR" ID="0x8da62512" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic tl is NULL @sdk_gatt_hlp.c(1201),ERROR" ID="0x8da6258a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[SDK_GATT_HLP] HCI QOS state:%u @sdk_gatt_hlp.c(1550),ERROR" ID="0x8da63072" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[gatth_check_and_save_value] memcpy failed @sdk_gatt_hlp.c(1667),ERROR" ID="0x8da6341a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_server_execute_write_complete memcpy_s error @sdk_gatt_hlp.c(1764),ERROR" ID="0x8da63722" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_server_write_ind memcpy_s error @sdk_gatt_hlp.c(1908),ERROR" ID="0x8da63ba2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_server_write_ind memcpy_s error @sdk_gatt_hlp.c(1930),ERROR" ID="0x8da63c52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_send_response memcpy_s error @sdk_gatt_hlp.c(2283),ERROR" ID="0x8da6475a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_notify_multiple_characteristic_changed memcpy_s error @sdk_gatt_hlp.c(2516),ERROR" ID="0x8da64ea2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info mem new fail @sdk_gatt_hlp.c(2568),ERROR" ID="0x8da65042" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info service uuid memcpy fail @sdk_gatt_hlp.c(2578),ERROR" ID="0x8da65092" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info attribute uuid memcpy fail @sdk_gatt_hlp.c(2583),ERROR" ID="0x8da650ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info addr memcpy fail @sdk_gatt_hlp.c(2588),ERROR" ID="0x8da650e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info val memcpy fail @sdk_gatt_hlp.c(2593),ERROR" ID="0x8da6510a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind can't find service by service hdl @sdk_gatt_hlp.c(2639),ERROR" ID="0x8da6527a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write pkt null @sdk_gatt_hlp.c(2645),ERROR" ID="0x8da652aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind can't find server cbk by server hdl @sdk_gatt_hlp.c(2652),ERROR" ID="0x8da652e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info mem new fail @sdk_gatt_hlp.c(2684),ERROR" ID="0x8da653e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info service uuid memcpy fail @sdk_gatt_hlp.c(2695),ERROR" ID="0x8da6543a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info attribute uuid memcpy fail @sdk_gatt_hlp.c(2700),ERROR" ID="0x8da65462" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info addr memcpy fail @sdk_gatt_hlp.c(2705),ERROR" ID="0x8da6548a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info val memcpy fail @sdk_gatt_hlp.c(2711),ERROR" ID="0x8da654ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind can't find service by service hdl @sdk_gatt_hlp.c(2731),ERROR" ID="0x8da6555a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read pkt null @sdk_gatt_hlp.c(2737),ERROR" ID="0x8da6558a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind can't find server cbk by server hdl @sdk_gatt_hlp.c(2744),ERROR" ID="0x8da655c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]write element @sdk_gatt_hlp.c(2781),INFO" ID="0x8da656ed" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]read element @sdk_gatt_hlp.c(2785),INFO" ID="0x8da6570d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]write element free @sdk_gatt_hlp.c(2791),INFO" ID="0x8da6573d" />
<MSG STRUCTURE="diag_log_msg1" NAME="[AVDTP][EVENT_CALLBACK] EVENT=%u @a2dp_ui_ram.c(199),INFO" ID="0x8ba2063d" />
<MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][CIS]cig_param is null @llc_cis.c(115),WARNING" ID="0x89d0039b" />
<MSG STRUCTURE="diag_log_msg2" NAME="[CIS]calc tx_latency result, tx_latency_m2s:%d, tx_latency_s2m:%d @llc_cis.c(179),INFO" ID="0x89d0059d" />
<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="audio_debug ipc_send dsp begin,sequence_number = 0x%x,length = 0x%x. @a2dp_hlp_ram.c(93),INFO" ID="0x8ba002ed" />
<MSG STRUCTURE="diag_log_msg1" NAME="audio_debug ready to go =======ipc_send dsp end===ret = %d. @a2dp_hlp_ram.c(100),INFO" ID="0x8ba00325" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ERROR]audio_debug ipc2dsp_msg_str fail @a2dp_hlp_ram.c(102),WARNING" ID="0x8ba00333" />
- <MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: save active device addr 0x%02x:0x%02x:**:**:**:0x%02x @a2dp_hlp_ram.c(521),ERROR" ID="0x8ba0104a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: memcpy_s failed @a2dp_hlp_ram.c(523),ERROR" ID="0x8ba0105a" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg1" NAME="ahib mpc table route op_code = 0x%x not found @ahib_mpc.c(62),ERROR" ID="0x8dfa01f2" />
<MSG STRUCTURE="diag_log_msg0" NAME="ahib mpc tx mcu packet NO memory. @ahib_mpc.c(76),ERROR" ID="0x8dfa0262" />
<MSG STRUCTURE="diag_log_msg0" NAME="ahib mpc tx mcu packet memcpy failed @ahib_mpc.c(82),ERROR" ID="0x8dfa0292" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC:data send retry opcode: %x @ahib_mpc.c(86),ERROR" ID="0x8dfa02b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC:data send retry opcode: %x @ahib_mpc.c(86),WARNING" ID="0x8dfa02b3" />
<MSG STRUCTURE="diag_log_msg1" NAME="MPC:data send err opcode: %x @ahib_mpc.c(95),ERROR" ID="0x8dfa02fa" />
<MSG STRUCTURE="diag_log_msg1" NAME="ahib mpc bt process packet tid= 0x%x not table route @ahib_mpc.c(137),DBG" ID="0x8dfa044e" />
<MSG STRUCTURE="diag_log_msg0" NAME="ahib mpc route packet param is error! @ahib_mpc.c(150),ERROR" ID="0x8dfa04b2" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(1145),ERROR" ID="0x8c4c23ca" />
<MSG STRUCTURE="diag_log_msg3" NAME="[ATT]UUID[0x%04x], hdl[0x%x], len[0x%x] @att_gatt.c(1154),INFO" ID="0x8c4c2415" />
<MSG STRUCTURE="diag_log_msg5" NAME="GATT_Server_Create_UpdateCCC_Item, add item[hdl:%d] ccc onaddr:0x%02x:%02x:xx:xx:%02x:%02x @att_gatt.c(1368),INFO" ID="0x8c4c2ac5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(1491),ERROR" ID="0x8c4c2e9a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ATT_GATT] create le connect mask:%d @att_gatt.c(1809),ERROR" ID="0x8c4c388a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[ATT_GATT] create br connect mask:%d @att_gatt.c(1818),ERROR" ID="0x8c4c38d2" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] smp cfm mask:%d task_index:%d result:%d @att_gatt.c(1937),ERROR" ID="0x8c4c3c8a" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] smp request mask:%d task_index:%d sec_mode:%d @att_gatt.c(1972),ERROR" ID="0x8c4c3da2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2355),ERROR" ID="0x8c4c499a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2601),ERROR" ID="0x8c4c514a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2629),ERROR" ID="0x8c4c522a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2634),ERROR" ID="0x8c4c5252" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(1492),ERROR" ID="0x8c4c2ea2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ATT_GATT] create le connect mask:%d @att_gatt.c(1810),ERROR" ID="0x8c4c3892" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[ATT_GATT] create br connect mask:%d @att_gatt.c(1819),ERROR" ID="0x8c4c38da" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] smp cfm mask:%d task_index:%d result:%d @att_gatt.c(1938),ERROR" ID="0x8c4c3c92" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] smp request mask:%d task_index:%d sec_mode:%d @att_gatt.c(1973),ERROR" ID="0x8c4c3daa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2356),ERROR" ID="0x8c4c49a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2602),ERROR" ID="0x8c4c5152" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2630),ERROR" ID="0x8c4c5232" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ATT]memcpy_s error @att_gatt.c(2635),ERROR" ID="0x8c4c525a" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="set_hci_log_status: [%d] @ble_conf.c(233),INFO" ID="0x8de8074d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="set_le_resolution_enable:[%d] @ble_conf.c(240),INFO" ID="0x8de80785" />
- <MSG STRUCTURE="diag_log_msg1" NAME="get_le_resolution_enable:[%d] @ble_conf.c(248),INFO" ID="0x8de807c5" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[MEM_TOTAL_USED_MAX][%d][MEM_TOTAL_USED][%d][MALLOC_TRACE][%d][FREE_TRACE][%d] @ble_conf.c(278),INFO" ID="0x8de808b5" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="set_hci_log_status: [%d] @ble_conf.c(230),INFO" ID="0x8de80735" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="set_le_resolution_enable:[%d] @ble_conf.c(237),INFO" ID="0x8de8076d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="get_le_resolution_enable:[%d] @ble_conf.c(245),INFO" ID="0x8de807ad" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[MEM_TOTAL_USED_MAX][%d][MEM_TOTAL_USED][%d][MALLOC_TRACE][%d][FREE_TRACE][%d] @ble_conf.c(275),INFO" ID="0x8de8089d" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg1" NAME="ble core: App connect fail: %d @ble_core.c(648),ERROR" ID="0x8cc01442" />
<MSG STRUCTURE="diag_log_msg1" NAME="ble core: App Set Ble Sec Params err! pkt_len = %u @ble_core.c(658),ERROR" ID="0x8cc01492" />
<MSG STRUCTURE="diag_log_msg1" NAME="ble core: App Set Ble Sec Params fail: %d @ble_core.c(664),ERROR" ID="0x8cc014c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: mpc param is null! @ble_core.c(673),ERROR" ID="0x8cc0150a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: mpc pkt_ptr is null! @ble_core.c(678),ERROR" ID="0x8cc01532" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[AHI]set ctkd param ctkd=%d @ble_core.c(685),ERROR" ID="0x8cc0156a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app get ble core connect status, param NULL @ble_core.c(693),ERROR" ID="0x8cc015aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app get ble core connect status, pkt_ptr NULL @ble_core.c(698),ERROR" ID="0x8cc015d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app get ble core connect status, the link does not exist @ble_core.c(709),ERROR" ID="0x8cc0162a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: The link does not exist @ble_core.c(814),INFO" ID="0x8cc01975" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ConnModeUpdate ignore = %d @ble_core.c(821),INFO" ID="0x8cc019ad" />
- <MSG STRUCTURE="diag_log_msg2" NAME="ble core: update conn param ignore, mode:%d, cur int:%d @ble_core.c(833),INFO" ID="0x8cc01a0d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble update connection start fail: %d @ble_core.c(847),ERROR" ID="0x8cc01a7a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app update conn params param null @ble_core.c(858),ERROR" ID="0x8cc01ad2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: update param err @ble_core.c(864),ERROR" ID="0x8cc01b02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: link is not connected when update connect params @ble_core.c(872),ERROR" ID="0x8cc01b42" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: conn params type error = %d @ble_core.c(886),ERROR" ID="0x8cc01bb2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: sais notify data monitor memcpy rmt_bd fail: %d @ble_core.c(909),ERROR" ID="0x8cc01c6a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app notify ble baterry level NULL @ble_core.c(925),ERROR" ID="0x8cc01cea" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: app notify ble baterry level fail: %d @ble_core.c(931),ERROR" ID="0x8cc01d1a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble notify data para is NULL @ble_core.c(941),ERROR" ID="0x8cc01d6a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble notify data fail ret: %x @ble_core.c(952),ERROR" ID="0x8cc01dc2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble disconnect error, the link does not exist. handle = %x @ble_core.c(970),ERROR" ID="0x8cc01e52" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: The number of links has reached the maximum. @ble_core.c(1022),INFO" ID="0x8cc01ff5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble state ind handle message is NULL @ble_core.c(1046),ERROR" ID="0x8cc020b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: The number of links has reached the maximum. @ble_core.c(1055),ERROR" ID="0x8cc020fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble state ind rmt is NULL @ble_core.c(1101),ERROR" ID="0x8cc0226a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble state ind memcpy rmt fail: %d @ble_core.c(1108),ERROR" ID="0x8cc022a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app ble smp key handle message is NULL @ble_core.c(1122),ERROR" ID="0x8cc02312" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: key miss param is null! @ble_core.c(1158),ERROR" ID="0x8cc02432" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble state ind memcpy rmt fail: %d @ble_core.c(1169),ERROR" ID="0x8cc0248a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble log: AppBleConnResult msg_data is NULL @ble_core.c(1196),ERROR" ID="0x8cc02562" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble log: AppBleConnResult link does not exist on handle:%x @ble_core.c(1203),ERROR" ID="0x8cc0259a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: conn update result fail = %d @ble_core.c(1231),WARNING" ID="0x8cc0267b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: Had Active Disconn,not to retry @ble_core.c(1356),INFO" ID="0x8cc02a65" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ANCS]500ms comes! @ble_core.c(1388),INFO" ID="0x8cc02b65" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: unsupported msg_id: 0x%x @ble_core.c(1408),INFO" ID="0x8cc02c05" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble core: app ble init fail ret:%x @ble_core.c(1504),ERROR" ID="0x8cc02f02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble core connect proc cmds param NULL @ble_core.c(1538),ERROR" ID="0x8cc03012" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble core connect proc cmds pkt_ptr NULL @ble_core.c(1543),ERROR" ID="0x8cc0303a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app get ble core connect status, param NULL @ble_core.c(673),ERROR" ID="0x8cc0150a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app get ble core connect status, pkt_ptr NULL @ble_core.c(678),ERROR" ID="0x8cc01532" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app get ble core connect status, the link does not exist @ble_core.c(689),ERROR" ID="0x8cc0158a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: The link does not exist @ble_core.c(794),INFO" ID="0x8cc018d5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ConnModeUpdate ignore = %d @ble_core.c(801),INFO" ID="0x8cc0190d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="ble core: update conn param ignore, mode:%d, cur int:%d @ble_core.c(813),INFO" ID="0x8cc0196d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble update connection start fail: %d @ble_core.c(827),ERROR" ID="0x8cc019da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app update conn params param null @ble_core.c(838),ERROR" ID="0x8cc01a32" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: update param err @ble_core.c(844),ERROR" ID="0x8cc01a62" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: link is not connected when update connect params @ble_core.c(852),ERROR" ID="0x8cc01aa2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: conn params type error = %d @ble_core.c(866),ERROR" ID="0x8cc01b12" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: sais notify data monitor memcpy rmt_bd fail: %d @ble_core.c(889),ERROR" ID="0x8cc01bca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app notify ble baterry level NULL @ble_core.c(905),ERROR" ID="0x8cc01c4a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: app notify ble baterry level fail: %d @ble_core.c(911),ERROR" ID="0x8cc01c7a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble notify data para is NULL @ble_core.c(921),ERROR" ID="0x8cc01cca" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble notify data fail ret: %x @ble_core.c(932),ERROR" ID="0x8cc01d22" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble disconnect error, the link does not exist. handle = %x @ble_core.c(950),ERROR" ID="0x8cc01db2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: The number of links has reached the maximum. @ble_core.c(1002),INFO" ID="0x8cc01f55" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble state ind handle message is NULL @ble_core.c(1026),ERROR" ID="0x8cc02012" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: The number of links has reached the maximum. @ble_core.c(1035),ERROR" ID="0x8cc0205a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble state ind rmt is NULL @ble_core.c(1081),ERROR" ID="0x8cc021ca" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble state ind memcpy rmt fail: %d @ble_core.c(1088),ERROR" ID="0x8cc02202" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: app ble smp key handle message is NULL @ble_core.c(1102),ERROR" ID="0x8cc02272" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: ble state ind memcpy rmt fail: %d @ble_core.c(1147),ERROR" ID="0x8cc023da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble log: AppBleConnResult msg_data is NULL @ble_core.c(1174),ERROR" ID="0x8cc024b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble log: AppBleConnResult link does not exist on handle:%x @ble_core.c(1181),ERROR" ID="0x8cc024ea" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: conn update result fail = %d @ble_core.c(1209),WARNING" ID="0x8cc025cb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: Had Active Disconn,not to retry @ble_core.c(1334),INFO" ID="0x8cc029b5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ANCS]500ms comes! @ble_core.c(1366),INFO" ID="0x8cc02ab5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: unsupported msg_id: 0x%x @ble_core.c(1386),INFO" ID="0x8cc02b55" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble core: app ble init fail ret:%x @ble_core.c(1482),ERROR" ID="0x8cc02e52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble core connect proc cmds param NULL @ble_core.c(1516),ERROR" ID="0x8cc02f62" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble core: ble core connect proc cmds pkt_ptr NULL @ble_core.c(1521),ERROR" ID="0x8cc02f8a" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="[ble_general_gatt] find upper cbk fail @ble_general_gatt.c(116),ERROR" ID="0x8de003a2" />
<MSG STRUCTURE="diag_log_msg1" NAME="[ble_general_gatt] read ind mpc tx fail tx_cnt:%d @ble_general_gatt.c(126),ERROR" ID="0x8de003f2" />
<MSG STRUCTURE="diag_log_msg2" NAME="gatt server call back func unknown request_id:%d, event_type:0x%x. @ble_general_gatt.c(147),INFO" ID="0x8de0049d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt start service error:0x%x. @ble_general_gatt.c(186),ERROR" ID="0x8de005d2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add server add service error:0x%x. @ble_general_gatt.c(198),ERROR" ID="0x8de00632" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add server add service error:0x%x. @ble_general_gatt.c(211),ERROR" ID="0x8de0069a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add include service add include error:0x%x. @ble_general_gatt.c(224),ERROR" ID="0x8de00702" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt add characteristic new fail @ble_general_gatt.c(255),ERROR" ID="0x8de007fa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add characteristic len:0x%x. @ble_general_gatt.c(262),ERROR" ID="0x8de00832" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add characteristic error:0x%x. @ble_general_gatt.c(273),ERROR" ID="0x8de0088a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt add descriptor new fail @ble_general_gatt.c(290),ERROR" ID="0x8de00912" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add descriptor memcpy fail: %d @ble_general_gatt.c(299),ERROR" ID="0x8de0095a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt add descriptor error:0x%x. @ble_general_gatt.c(305),ERROR" ID="0x8de0098a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt send response new fail @ble_general_gatt.c(321),ERROR" ID="0x8de00a0a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt send response memcpy fail: %d @ble_general_gatt.c(328),ERROR" ID="0x8de00a42" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt send response addr error:0x%x. @ble_general_gatt.c(334),ERROR" ID="0x8de00a72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt send response error:0x%x. @ble_general_gatt.c(343),ERROR" ID="0x8de00aba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt update descriptor value new fail @ble_general_gatt.c(359),ERROR" ID="0x8de00b3a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt update descriptor value memcpy fail: %d @ble_general_gatt.c(366),ERROR" ID="0x8de00b72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt update descriptor value error:0x%x. @ble_general_gatt.c(373),ERROR" ID="0x8de00baa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt notify characteristic changed new NULL @ble_general_gatt.c(390),ERROR" ID="0x8de00c32" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt notify characteristic changed fail when notify @ble_general_gatt.c(398),ERROR" ID="0x8de00c72" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt notify characteristic changed when notify @ble_general_gatt.c(409),ERROR" ID="0x8de00cca" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt start service error:0x%x. @ble_general_gatt.c(186),ERROR" ID="0x8de005d2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add server add service error:0x%x. @ble_general_gatt.c(198),ERROR" ID="0x8de00632" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add server add service error:0x%x. @ble_general_gatt.c(211),ERROR" ID="0x8de0069a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add include service add include error:0x%x. @ble_general_gatt.c(224),ERROR" ID="0x8de00702" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt add characteristic new fail @ble_general_gatt.c(255),ERROR" ID="0x8de007fa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add characteristic len:0x%x. @ble_general_gatt.c(262),ERROR" ID="0x8de00832" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add characteristic error:0x%x. @ble_general_gatt.c(273),ERROR" ID="0x8de0088a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt add descriptor new fail @ble_general_gatt.c(290),ERROR" ID="0x8de00912" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add descriptor memcpy fail: %d @ble_general_gatt.c(299),ERROR" ID="0x8de0095a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt add descriptor error:0x%x. @ble_general_gatt.c(305),ERROR" ID="0x8de0098a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt send response new fail @ble_general_gatt.c(321),ERROR" ID="0x8de00a0a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt send response memcpy fail: %d @ble_general_gatt.c(328),ERROR" ID="0x8de00a42" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt send response addr error:0x%x. @ble_general_gatt.c(334),ERROR" ID="0x8de00a72" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt send response error:0x%x. @ble_general_gatt.c(343),ERROR" ID="0x8de00aba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt update descriptor value new fail @ble_general_gatt.c(359),ERROR" ID="0x8de00b3a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt update descriptor value memcpy fail: %d @ble_general_gatt.c(366),ERROR" ID="0x8de00b72" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt update descriptor value error:0x%x. @ble_general_gatt.c(373),ERROR" ID="0x8de00baa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt notify characteristic changed new NULL @ble_general_gatt.c(390),ERROR" ID="0x8de00c32" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt notify characteristic changed fail when notify @ble_general_gatt.c(398),ERROR" ID="0x8de00c72" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt notify characteristic changed when notify @ble_general_gatt.c(409),ERROR" ID="0x8de00cca" />
<MSG STRUCTURE="diag_log_msg0" NAME="character changed by uuid data is NULL @ble_general_gatt.c(424),ERROR" ID="0x8de00d42" />
<MSG STRUCTURE="diag_log_msg1" NAME="character changed by uuid can not find hdl, ret = %d @ble_general_gatt.c(431),ERROR" ID="0x8de00d7a" />
<MSG STRUCTURE="diag_log_msg0" NAME="character changed by uuid in is NULL @ble_general_gatt.c(436),ERROR" ID="0x8de00da2" />
<MSG STRUCTURE="diag_log_msg1" NAME="ble gatt client characteristic value callback memcpy fail: %d @ble_general_gatt.c(673),ERROR" ID="0x8de0150a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[BCore] gatt client write result can't find upper cbk. @ble_general_gatt.c(708),ERROR" ID="0x8de01622" />
<MSG STRUCTURE="diag_log_msg1" NAME="ble gatt client call back func type=%d @ble_general_gatt.c(771),INFO" ID="0x8de0181d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt discovery service not found:0x%x. @ble_general_gatt.c(802),WARNING" ID="0x8de01913" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt discovery include service not found:0x%x. @ble_general_gatt.c(825),WARNING" ID="0x8de019cb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt discovery characteristic new fail. @ble_general_gatt.c(841),ERROR" ID="0x8de01a4a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt discovery characteristic memset fail. @ble_general_gatt.c(846),ERROR" ID="0x8de01a72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble gatt discovery characteristic not found:0x%x. @ble_general_gatt.c(863),WARNING" ID="0x8de01afb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt discovery characteristic by uuid new fail. @ble_general_gatt.c(881),ERROR" ID="0x8de01b8a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt discovery characteristic by uuid memset fail. @ble_general_gatt.c(887),ERROR" ID="0x8de01bba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att discovery characteristic by uuid memcpy fail. @ble_general_gatt.c(901),ERROR" ID="0x8de01c2a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att discovery characteristic by uuid not found:0x%x. @ble_general_gatt.c(912),WARNING" ID="0x8de01c83" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att discovery descriptor by handle new fail. @ble_general_gatt.c(928),ERROR" ID="0x8de01d02" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att discovery descriptor by handle not found:0x%x. @ble_general_gatt.c(942),WARNING" ID="0x8de01d73" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att discovery descriptor new fail. @ble_general_gatt.c(962),ERROR" ID="0x8de01e12" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att discovery descriptor memset fail. @ble_general_gatt.c(967),ERROR" ID="0x8de01e3a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att discovery descriptor memcpy fail. @ble_general_gatt.c(973),ERROR" ID="0x8de01e6a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att discovery descriptor not found:0x%x. @ble_general_gatt.c(984),WARNING" ID="0x8de01ec3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read value in. @ble_general_gatt.c(998),INFO" ID="0x8de01f35" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read value param new fail. @ble_general_gatt.c(1001),ERROR" ID="0x8de01f4a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read value param memset fail. @ble_general_gatt.c(1006),ERROR" ID="0x8de01f72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att read value handle:%d. @ble_general_gatt.c(1011),INFO" ID="0x8de01f9d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att read value error:0x%x. @ble_general_gatt.c(1014),ERROR" ID="0x8de01fb2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read characteristic by uuid new fail. @ble_general_gatt.c(1031),ERROR" ID="0x8de0203a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read characteristic by uuid memcpy fail. @ble_general_gatt.c(1044),ERROR" ID="0x8de020a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read characteristic by uuid memcpy fail. @ble_general_gatt.c(1051),ERROR" ID="0x8de020da" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att read characteristic by uuid error:0x%x. @ble_general_gatt.c(1058),WARNING" ID="0x8de02113" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read multiple characteristic new fail. @ble_general_gatt.c(1076),ERROR" ID="0x8de021a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att read multiple characteristic memset fail. @ble_general_gatt.c(1083),ERROR" ID="0x8de021da" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att read multiple characteristic error:0x%x. @ble_general_gatt.c(1099),WARNING" ID="0x8de0225b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att read multiple characteristic error:0x%x. @ble_general_gatt.c(1129),WARNING" ID="0x8de0234b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att write characteristic value memcpy failed @ble_general_gatt.c(1181),ERROR" ID="0x8de024ea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att write characteristic value param is NULL @ble_general_gatt.c(1204),ERROR" ID="0x8de025a2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att write characteristic value malloc fail, size:0x%x. @ble_general_gatt.c(1217),ERROR" ID="0x8de0260a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble att write characteristic value memcpy fail: %d @ble_general_gatt.c(1227),ERROR" ID="0x8de0265a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att write characteristic value fail:0x%x. @ble_general_gatt.c(1241),WARNING" ID="0x8de026cb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att reliable write characteristic value param is NULL @ble_general_gatt.c(1260),ERROR" ID="0x8de02762" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble att reliable write characteristic value malloc fail @ble_general_gatt.c(1267),ERROR" ID="0x8de0279a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[BCore] ble att reliable write characteristic value memcpy fail @ble_general_gatt.c(1276),ERROR" ID="0x8de027e2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att reliable write characteristic value fail:0x%x. @ble_general_gatt.c(1295),WARNING" ID="0x8de0287b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att write descriptor value malloc faile, size:0x%x. @ble_general_gatt.c(1312),ERROR" ID="0x8de02902" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble att write descriptor value memcpy fail: %d @ble_general_gatt.c(1321),ERROR" ID="0x8de0294a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att discovery descriptor error:0x%x. @ble_general_gatt.c(1331),ERROR" ID="0x8de0299a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble gatt read descriptor value response memcpy fail: %d @ble_general_gatt.c(1353),ERROR" ID="0x8de02a4a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble gatt read descriptor value response memcpy fail: %d @ble_general_gatt.c(1361),ERROR" ID="0x8de02a8a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att read descriptor value error:0x%x. @ble_general_gatt.c(1390),ERROR" ID="0x8de02b72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att mtu config error:0x%x. @ble_general_gatt.c(1405),ERROR" ID="0x8de02bea" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att set gap ui attributes error:0x%x. @ble_general_gatt.c(1418),ERROR" ID="0x8de02c52" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ble att get gap ui attributes error:0x%x. @ble_general_gatt.c(1437),ERROR" ID="0x8de02cea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt mpc adapter gatt get hid report callback new fail @ble_general_gatt.c(1467),ERROR" ID="0x8de02dda" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt get hid report callback error_code = %x @ble_general_gatt.c(1478),INFO" ID="0x8de02e35" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery service not found:0x%x. @ble_general_gatt.c(802),WARNING" ID="0x8de01913" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery include service not found:0x%x. @ble_general_gatt.c(825),WARNING" ID="0x8de019cb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery characteristic new fail. @ble_general_gatt.c(841),ERROR" ID="0x8de01a4a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery characteristic memset fail. @ble_general_gatt.c(846),ERROR" ID="0x8de01a72" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery characteristic not found:0x%x. @ble_general_gatt.c(863),WARNING" ID="0x8de01afb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery characteristic by uuid new fail. @ble_general_gatt.c(881),ERROR" ID="0x8de01b8a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery characteristic by uuid memset fail. @ble_general_gatt.c(887),ERROR" ID="0x8de01bba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery characteristic by uuid memcpy fail. @ble_general_gatt.c(901),ERROR" ID="0x8de01c2a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery characteristic by uuid not found:0x%x. @ble_general_gatt.c(912),WARNING" ID="0x8de01c83" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery descriptor by handle new fail. @ble_general_gatt.c(928),ERROR" ID="0x8de01d02" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery descriptor by handle not found:0x%x. @ble_general_gatt.c(942),WARNING" ID="0x8de01d73" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery descriptor new fail. @ble_general_gatt.c(962),ERROR" ID="0x8de01e12" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery descriptor memset fail. @ble_general_gatt.c(967),ERROR" ID="0x8de01e3a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt discovery descriptor memcpy fail. @ble_general_gatt.c(973),ERROR" ID="0x8de01e6a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery descriptor not found:0x%x. @ble_general_gatt.c(984),WARNING" ID="0x8de01ec3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble gatt read characteristic value respon new fail. @ble_general_gatt.c(1005),ERROR" ID="0x8de01f6a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble gatt read characteristic value respon memcpy fail: %d @ble_general_gatt.c(1012),ERROR" ID="0x8de01fa2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble gatt read characteristic value respon memcpy fail: %d @ble_general_gatt.c(1022),ERROR" ID="0x8de01ff2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt read characteristic value new fail. @ble_general_gatt.c(1045),ERROR" ID="0x8de020aa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt read descriptor value error:0x%x. @ble_general_gatt.c(1059),ERROR" ID="0x8de0211a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt read characteristic by uuid new fail. @ble_general_gatt.c(1077),ERROR" ID="0x8de021aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt read characteristic by uuid memcpy fail. @ble_general_gatt.c(1090),ERROR" ID="0x8de02212" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt read characteristic by uuid memcpy fail. @ble_general_gatt.c(1097),ERROR" ID="0x8de0224a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt read characteristic by uuid error:0x%x. @ble_general_gatt.c(1104),WARNING" ID="0x8de02283" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt read multiple characteristic new fail. @ble_general_gatt.c(1122),ERROR" ID="0x8de02312" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt read multiple characteristic memset fail. @ble_general_gatt.c(1129),ERROR" ID="0x8de0234a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt read multiple characteristic error:0x%x. @ble_general_gatt.c(1145),WARNING" ID="0x8de023cb" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt read multiple characteristic error:0x%x. @ble_general_gatt.c(1175),WARNING" ID="0x8de024bb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic value memcpy failed @ble_general_gatt.c(1227),ERROR" ID="0x8de0265a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic value param is NULL @ble_general_gatt.c(1250),ERROR" ID="0x8de02712" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt write characteristic value malloc fail, size:0x%x. @ble_general_gatt.c(1263),ERROR" ID="0x8de0277a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble general gatt write characteristic value memcpy fail: %d @ble_general_gatt.c(1273),ERROR" ID="0x8de027ca" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt write characteristic value fail:0x%x. @ble_general_gatt.c(1287),WARNING" ID="0x8de0283b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt reliable write characteristic value param is NULL @ble_general_gatt.c(1306),ERROR" ID="0x8de028d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt reliable write characteristic value malloc fail @ble_general_gatt.c(1313),ERROR" ID="0x8de0290a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[BCore] ble general gatt reliable write characteristic value memcpy fail @ble_general_gatt.c(1322),ERROR" ID="0x8de02952" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt reliable write characteristic value fail:0x%x. @ble_general_gatt.c(1341),WARNING" ID="0x8de029eb" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt write descriptor value malloc faile, size:0x%x. @ble_general_gatt.c(1358),ERROR" ID="0x8de02a72" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble general gatt write descriptor value memcpy fail: %d @ble_general_gatt.c(1367),ERROR" ID="0x8de02aba" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt discovery descriptor error:0x%x. @ble_general_gatt.c(1377),ERROR" ID="0x8de02b0a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble gatt read descriptor value response memcpy fail: %d @ble_general_gatt.c(1399),ERROR" ID="0x8de02bba" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BCore] ble gatt read descriptor value response memcpy fail: %d @ble_general_gatt.c(1407),ERROR" ID="0x8de02bfa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt read descriptor value error:0x%x. @ble_general_gatt.c(1436),ERROR" ID="0x8de02ce2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt mtu config error:0x%x. @ble_general_gatt.c(1451),ERROR" ID="0x8de02d5a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt set gap ui attributes error:0x%x. @ble_general_gatt.c(1464),ERROR" ID="0x8de02dc2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ble general gatt get gap ui attributes error:0x%x. @ble_general_gatt.c(1483),ERROR" ID="0x8de02e5a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt mpc adapter gatt get hid report callback new fail @ble_general_gatt.c(1513),ERROR" ID="0x8de02f4a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt get hid report callback error_code = %x @ble_general_gatt.c(1524),INFO" ID="0x8de02fa5" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: start @bt_ahi_av.c(52),ERROR" ID="0x8c9e01a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: suspend @bt_ahi_av.c(68),ERROR" ID="0x8c9e0222" />
- <MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: set audio param stream_hdl 0x%x shmid 0x%x enable %d result 0x%x @bt_ahi_av.c(106),ERROR" ID="0x8c9e0352" />
- <MSG STRUCTURE="diag_log_msg1" NAME="a2dp_audio: send stream qos flag %d @bt_ahi_av.c(118),ERROR" ID="0x8c9e03b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: first frame @bt_ahi_av.c(162),ERROR" ID="0x8c9e0512" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: start @bt_ahi_av.c(52),WARNING" ID="0x8c9e01a3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: suspend @bt_ahi_av.c(68),WARNING" ID="0x8c9e0223" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: set audio param stream_hdl 0x%x shmid 0x%x enable %d result 0x%x @bt_ahi_av.c(106),WARNING" ID="0x8c9e0353" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="a2dp_audio: send stream qos flag %d @bt_ahi_av.c(118),WARNING" ID="0x8c9e03b3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: first frame @bt_ahi_av.c(162),WARNING" ID="0x8c9e0513" />
<MSG STRUCTURE="diag_log_msg1" NAME="a2dp_audio: send stream packet too much %d @bt_ahi_av.c(198),ERROR" ID="0x8c9e0632" />
<MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: alloc buffer fail @bt_ahi_av.c(216),ERROR" ID="0x8c9e06c2" />
<MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: send stream error 0x%x enable %d sta %d @bt_ahi_av.c(229),ERROR" ID="0x8c9e072a" />
- <MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: send stream seq %d enable %d sta %d @bt_ahi_av.c(238),ERROR" ID="0x8c9e0772" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: send stream seq %d enable %d sta %d @bt_ahi_av.c(238),WARNING" ID="0x8c9e0773" />
<MSG STRUCTURE="diag_log_msg2" NAME="a2dp_audio: acquire stream error 0x%x shmid 0x%x @bt_ahi_av.c(249),ERROR" ID="0x8c9e07ca" />
<MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: acquire frame empty cnt %d eos %d size %d pkt_len %d @bt_ahi_av.c(260),ERROR" ID="0x8c9e0822" />
- <MSG STRUCTURE="diag_log_msg2" NAME="a2dp_audio: play state enable %d sta %d @bt_ahi_av.c(265),ERROR" ID="0x8c9e084a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="a2dp_audio: play state enable %d sta %d @bt_ahi_av.c(265),WARNING" ID="0x8c9e084b" />
<MSG STRUCTURE="diag_log_msg1" NAME="a2dp_audio: release stream error 0x%x @bt_ahi_av.c(273),ERROR" ID="0x8c9e088a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="a2dp_audio: no stream. enable %d sta %d @bt_ahi_av.c(284),ERROR" ID="0x8c9e08e2" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="a2dp_audio: no stream. enable %d sta %d @bt_ahi_av.c(284),WARNING" ID="0x8c9e08e3" />
<MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: a2dp service audio task handler @bt_ahi_av.c(294),INFO" ID="0x8c9e0935" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: start accept @bt_ahi_av.c(324),ERROR" ID="0x8c9e0a22" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: start accept @bt_ahi_av.c(324),WARNING" ID="0x8c9e0a23" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="stack gap set discovery mode result = 0x%x, mode = 0x%x @bt_ahi_gap.c(84),INFO" ID="0x8c9e02a5" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap get discovery mode result = 0x%x, mode = 0x%x @bt_ahi_gap.c(98),INFO" ID="0x8c9e0315" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap stop discovery result = 0x%x, mode = 0x%x @bt_ahi_gap.c(108),INFO" ID="0x8c9e0365" />
- <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl result = 0x%x, dev_hdl = 0x%x, link type = %d @bt_ahi_gap.c(122),INFO" ID="0x8c9e03d5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(135),ERROR" ID="0x8c9e043a" />
- <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl cfm cbk result = 0x%x, acl_hdl = 0x%x, link type = %d @bt_ahi_gap.c(140),INFO" ID="0x8c9e0465" />
- <MSG STRUCTURE="diag_log_msg1" NAME="stack gap create acla result = 0x%x @bt_ahi_gap.c(149),INFO" ID="0x8c9e04ad" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap reconnect phone result = 0x%x, dev_hdl = 0x%x @bt_ahi_gap.c(160),INFO" ID="0x8c9e0505" />
- <MSG STRUCTURE="diag_log_msg1" NAME="stack gap get rmt dev handle result = 0x%x @bt_ahi_gap.c(172),INFO" ID="0x8c9e0565" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap device is connected result = 0x%x, dev_hdl = 0x%x @bt_ahi_gap.c(184),INFO" ID="0x8c9e05c5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="btsdk disconnect acl by handle result = 0x%x @bt_ahi_gap.c(195),INFO" ID="0x8c9e061d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap pair device result = 0x%x, dev_hdl = 0x%x @bt_ahi_gap.c(207),INFO" ID="0x8c9e067d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="stack gap add rmt device rsp.result = %x @bt_ahi_gap.c(224),INFO" ID="0x8c9e0705" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap update rmt device name result = 0x%x, name = %s @bt_ahi_gap.c(244),INFO" ID="0x8c9e07a5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(258),ERROR" ID="0x8c9e0812" />
- <MSG STRUCTURE="diag_log_msg3" NAME="stack gap update rmt device name cfm cbk result = 0x%x, opindex = 0x%x, size = %d @bt_ahi_gap.c(266),INFO" ID="0x8c9e0855" />
- <MSG STRUCTURE="diag_log_msg1" NAME="stack gap update rmt device name async result = 0x%x @bt_ahi_gap.c(276),INFO" ID="0x8c9e08a5" />
- <MSG STRUCTURE="diag_log_msg3" NAME="stack gap get local name result = 0x%x, length = %d, name = %s @bt_ahi_gap.c(312),INFO" ID="0x8c9e09c5" />
- <MSG STRUCTURE="diag_log_msg4" NAME="stack gap get rmt dev addr result = 0x%x, addr[%02x:**:**:**:%02x:%02x] @bt_ahi_gap.c(337),INFO" ID="0x8c9e0a8d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="stack gap browse rmt service overflow, max_count = %d, svc_count = %d @bt_ahi_gap.c(359),ERROR" ID="0x8c9e0b3a" />
- <MSG STRUCTURE="diag_log_msg3" NAME="stack gap browse rmt service result = 0x%x, svc_count = %d, svc_hdl[0] = 0x%x @bt_ahi_gap.c(365),INFO" ID="0x8c9e0b6d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="hfp enable sco:scohdl=0x%x inid=0x%x outid=0x%x @bt_ahi_gap.c(386),INFO" ID="0x8c9e0c15" />
- <MSG STRUCTURE="diag_log_msg1" NAME="hfp disable sco:scohdl=0x%x @bt_ahi_gap.c(390),INFO" ID="0x8c9e0c35" />
- <MSG STRUCTURE="diag_log_msg3" NAME="result = 0x%x, handle = 0x%x, service_class = %02x @bt_ahi_gap.c(423),INFO" ID="0x8c9e0d3d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="stack gap init, res = 0x%x @bt_ahi_gap.c(435),INFO" ID="0x8c9e0d9d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="set bt tx power, hdl=0x%x, power=%d, ret=0x%x @bt_ahi_gap.c(448),INFO" ID="0x8c9e0e05" />
- <MSG STRUCTURE="diag_log_msg3" NAME="br gap read rssi, hdl=0x%x, rssi=%d, ret=0x%x @bt_ahi_gap.c(456),INFO" ID="0x8c9e0e45" />
- <MSG STRUCTURE="diag_log_msg4" NAME="set active scene scene = %d, bitrate = %d, delay = %d, ret=0x%x @bt_ahi_gap.c(472),INFO" ID="0x8c9e0ec5" />
- <MSG STRUCTURE="diag_log_msg2" NAME="set inquiry scan param interval = %d, window = %d @bt_ahi_gap.c(480),INFO" ID="0x8c9e0f05" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(491),ERROR" ID="0x8c9e0f5a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="stack gap restore rmt device rsp.result = %x @bt_ahi_gap.c(495),INFO" ID="0x8c9e0f7d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="br gap get link mode, hdl=0x%x, mode=%d, ret=0x%x @bt_ahi_gap.c(504),INFO" ID="0x8c9e0fc5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mpc param null! @bt_ahi_gap.c(520),ERROR" ID="0x8c9e1042" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mpc pkt_ptr is null! @bt_ahi_gap.c(525),ERROR" ID="0x8c9e106a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[AHI]set br secure param secure=%d. @bt_ahi_gap.c(529),ERROR" ID="0x8c9e108a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="stack gap set discovery mode result = 0x%x, mode = 0x%x @bt_ahi_gap.c(82),INFO" ID="0x8c9e0295" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap get discovery mode result = 0x%x, mode = 0x%x @bt_ahi_gap.c(96),INFO" ID="0x8c9e0305" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap stop discovery result = 0x%x, mode = 0x%x @bt_ahi_gap.c(106),INFO" ID="0x8c9e0355" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl result = 0x%x, dev_hdl = 0x%x, link type = %d @bt_ahi_gap.c(120),INFO" ID="0x8c9e03c5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(133),ERROR" ID="0x8c9e042a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl cfm cbk result = 0x%x, acl_hdl = 0x%x, link type = %d @bt_ahi_gap.c(138),INFO" ID="0x8c9e0455" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stack gap create acla result = 0x%x @bt_ahi_gap.c(147),INFO" ID="0x8c9e049d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap reconnect phone result = 0x%x, dev_hdl = 0x%x @bt_ahi_gap.c(158),INFO" ID="0x8c9e04f5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stack gap get rmt dev handle result = 0x%x @bt_ahi_gap.c(170),INFO" ID="0x8c9e0555" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap device is connected result = 0x%x, dev_hdl = 0x%x @bt_ahi_gap.c(182),INFO" ID="0x8c9e05b5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk disconnect acl by handle result = 0x%x @bt_ahi_gap.c(193),INFO" ID="0x8c9e060d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap pair device result = 0x%x, dev_hdl = 0x%x @bt_ahi_gap.c(205),INFO" ID="0x8c9e066d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stack gap add rmt device rsp.result = %x @bt_ahi_gap.c(222),INFO" ID="0x8c9e06f5" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap update rmt device name result = 0x%x, name = %s @bt_ahi_gap.c(242),INFO" ID="0x8c9e0795" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(256),ERROR" ID="0x8c9e0802" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="stack gap update rmt device name cfm cbk result = 0x%x, opindex = 0x%x, size = %d @bt_ahi_gap.c(264),INFO" ID="0x8c9e0845" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stack gap update rmt device name async result = 0x%x @bt_ahi_gap.c(274),INFO" ID="0x8c9e0895" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="stack gap get local name result = 0x%x, length = %d, name = %s @bt_ahi_gap.c(310),INFO" ID="0x8c9e09b5" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="stack gap get rmt dev addr result = 0x%x, addr[%02x:**:**:**:%02x:%02x] @bt_ahi_gap.c(335),INFO" ID="0x8c9e0a7d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="stack gap browse rmt service overflow, max_count = %d, svc_count = %d @bt_ahi_gap.c(357),ERROR" ID="0x8c9e0b2a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="stack gap browse rmt service result = 0x%x, svc_count = %d, svc_hdl[0] = 0x%x @bt_ahi_gap.c(363),INFO" ID="0x8c9e0b5d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="hfp enable sco:scohdl=0x%x inid=0x%x outid=0x%x @bt_ahi_gap.c(384),INFO" ID="0x8c9e0c05" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="hfp disable sco:scohdl=0x%x @bt_ahi_gap.c(388),INFO" ID="0x8c9e0c25" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="result = 0x%x, handle = 0x%x, service_class = %02x @bt_ahi_gap.c(421),INFO" ID="0x8c9e0d2d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stack gap init, res = 0x%x @bt_ahi_gap.c(432),INFO" ID="0x8c9e0d85" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="set bt tx power, hdl=0x%x, power=%d, ret=0x%x @bt_ahi_gap.c(445),INFO" ID="0x8c9e0ded" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="br gap read rssi, hdl=0x%x, rssi=%d, ret=0x%x @bt_ahi_gap.c(453),INFO" ID="0x8c9e0e2d" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="set active scene scene = %d, bitrate = %d, delay = %d, ret=0x%x @bt_ahi_gap.c(469),INFO" ID="0x8c9e0ead" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="set inquiry scan param interval = %d, window = %d @bt_ahi_gap.c(477),INFO" ID="0x8c9e0eed" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(488),ERROR" ID="0x8c9e0f42" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stack gap restore rmt device rsp.result = %x @bt_ahi_gap.c(492),INFO" ID="0x8c9e0f65" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="br gap get link mode, hdl=0x%x, mode=%d, ret=0x%x @bt_ahi_gap.c(501),INFO" ID="0x8c9e0fad" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="HFP:sco config flow limit line_high=%u line_low=%u @bt_ahi_hfp.c(278),ERROR" ID="0x8c9e08b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory alloc failed @bt_ahi_hfp.c(296),WARNING" ID="0x8c9e0943" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory set failed. @bt_ahi_hfp.c(301),WARNING" ID="0x8c9e096b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed. @bt_ahi_hfp.c(310),WARNING" ID="0x8c9e09b3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory alloc failed @bt_ahi_hfp.c(535),WARNING" ID="0x8c9e10bb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory set failed. @bt_ahi_hfp.c(540),WARNING" ID="0x8c9e10e3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed. @bt_ahi_hfp.c(549),WARNING" ID="0x8c9e112b" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="memory alloc failed @bt_ahi_hfp.c(279),WARNING" ID="0x8c9e08bb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory set failed. @bt_ahi_hfp.c(284),WARNING" ID="0x8c9e08e3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed. @bt_ahi_hfp.c(293),WARNING" ID="0x8c9e092b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory alloc failed @bt_ahi_hfp.c(518),WARNING" ID="0x8c9e1033" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory set failed. @bt_ahi_hfp.c(523),WARNING" ID="0x8c9e105b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed. @bt_ahi_hfp.c(532),WARNING" ID="0x8c9e10a3" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="ble core: App Start Ble Adv get localname or mac err @bt_dft.c(744),ERROR" ID="0x8d0a1742" />
<MSG STRUCTURE="diag_log_msg1" NAME="MPC: ResponseNameRead Response:0x%x @bt_dft.c(759),INFO" ID="0x8d0a17bd" />
<MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt dft write name:0x%x success @bt_dft.c(769),INFO" ID="0x8d0a180d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt adpt set br edr scan ble only not support Br Scan! @bt_dft.c(776),INFO" ID="0x8d0a1845" />
- <MSG STRUCTURE="diag_log_msg2" NAME="MPC: BtSetScan %d, return:%d @bt_dft.c(787),INFO" ID="0x8d0a189d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="MPC: adpt gap set page scan window %d, return:%d @bt_dft.c(792),INFO" ID="0x8d0a18c5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt clear scan mode:0x%x, success @bt_dft.c(810),INFO" ID="0x8d0a1955" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt set scan start:0x%x, success @bt_dft.c(823),INFO" ID="0x8d0a19bd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt disconnect link:pkt_len = %d, entry @bt_dft.c(835),INFO" ID="0x8d0a1a1d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="MPC:remote_addr 0x%02x:%02x:**:**:**:%02x @bt_dft.c(841),INFO" ID="0x8d0a1a4d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: No device connected @bt_dft.c(850),INFO" ID="0x8d0a1a95" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: memcpy error @bt_dft.c(857),INFO" ID="0x8d0a1acd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: adpt gap disconnect link return:%d @bt_dft.c(867),INFO" ID="0x8d0a1b1d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt disconnect link:0x%x, success @bt_dft.c(875),INFO" ID="0x8d0a1b5d" />
- <MSG STRUCTURE="diag_log_msg4" NAME="MPC: bt get ble con devinfo br: 0x%x:0x%x:**:**:**:0x%x:0x%x @bt_dft.c(903),INFO" ID="0x8d0a1c3d" />
- <MSG STRUCTURE="diag_log_msg4" NAME="MPC: bt get ble con devinfo ble:0x%x:0x%x:**:**:**:0x%x:0x%x @bt_dft.c(905),INFO" ID="0x8d0a1c4d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt get ble con devinfo: Get device name fail @bt_dft.c(913),INFO" ID="0x8d0a1c8d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt get ble con devinfo formate info error @bt_dft.c(926),INFO" ID="0x8d0a1cf5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt get ble con devinfo ble connect state:%u @bt_dft.c(930),INFO" ID="0x8d0a1d15" />
- <MSG STRUCTURE="diag_log_msg3" NAME="MPC: bt get ble con devinfo ble:0x%x:0x%x:**:**:**:0x%x @bt_dft.c(947),INFO" ID="0x8d0a1d9d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt get ble con devinfo: formate info error @bt_dft.c(954),INFO" ID="0x8d0a1dd5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt get ble con devinfo ble connect state:%u @bt_dft.c(959),INFO" ID="0x8d0a1dfd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt change adv addr type:pkt_len = %d, entry @bt_dft.c(967),INFO" ID="0x8d0a1e3d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="MPC: bt change adv addr type:addr_type = %d, use_private_addr = %d @bt_dft.c(976),INFO" ID="0x8d0a1e85" />
- <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt change adv addr type:0x%x, success @bt_dft.c(979),INFO" ID="0x8d0a1e9d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt reg default gatt services success @bt_dft.c(986),INFO" ID="0x8d0a1ed5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Exit for pointer is NULL @bt_dft.c(1079),ERROR" ID="0x8d0a21ba" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt dft recieve cmd opcode= 0x%X @bt_dft.c(1102),INFO" ID="0x8d0a2275" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds tarns_id= 0x%X @bt_dft.c(1153),INFO" ID="0x8d0a240d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds opcode = 0x%X @bt_dft.c(1154),INFO" ID="0x8d0a2415" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds control= 0x%X @bt_dft.c(1155),INFO" ID="0x8d0a241d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds sequence= 0x%X @bt_dft.c(1156),INFO" ID="0x8d0a2425" />
- <MSG STRUCTURE="diag_log_msg2" NAME="bt dft proc dongle cmds param[%d] = 0x%X @bt_dft.c(1159),INFO" ID="0x8d0a243d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dft not idle @bt_dft.c(1169),INFO" ID="0x8d0a248d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dft dongle param pass @bt_dft.c(1183),INFO" ID="0x8d0a24fd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BT_DFT: bt dft is in rf test %d @bt_dft.c(1197),INFO" ID="0x8d0a256d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft dongle rf test start @bt_dft.c(1203),INFO" ID="0x8d0a259d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft rf aging start @bt_dft.c(1226),INFO" ID="0x8d0a2655" />
- <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft rf aging stop @bt_dft.c(1248),INFO" ID="0x8d0a2705" />
- <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft aging test control param is NULL @bt_dft.c(1267),INFO" ID="0x8d0a279d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft aging test control param->pkt_ptr is NULL @bt_dft.c(1272),INFO" ID="0x8d0a27c5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BT_DFT: bt dft aging test control %d @bt_dft.c(1281),INFO" ID="0x8d0a280d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt adpt set br edr scan ble only not support Br Scan! @bt_dft.c(775),INFO" ID="0x8d0a183d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="MPC: BtSetScan %d, return:%d @bt_dft.c(786),INFO" ID="0x8d0a1895" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="MPC: adpt gap set page scan window %d, return:%d @bt_dft.c(791),INFO" ID="0x8d0a18bd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt clear scan mode:0x%x, success @bt_dft.c(809),INFO" ID="0x8d0a194d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt set scan start:0x%x, success @bt_dft.c(822),INFO" ID="0x8d0a19b5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt disconnect link:pkt_len = %d, entry @bt_dft.c(834),INFO" ID="0x8d0a1a15" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="MPC:remote_addr 0x%02x:%02x:**:**:**:%02x @bt_dft.c(840),INFO" ID="0x8d0a1a45" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: No device connected @bt_dft.c(849),INFO" ID="0x8d0a1a8d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: memcpy error @bt_dft.c(856),INFO" ID="0x8d0a1ac5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: adpt gap disconnect link return:%d @bt_dft.c(866),INFO" ID="0x8d0a1b15" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt disconnect link:0x%x, success @bt_dft.c(874),INFO" ID="0x8d0a1b55" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="MPC: bt get ble con devinfo br: 0x%x:0x%x:**:**:**:0x%x:0x%x @bt_dft.c(902),INFO" ID="0x8d0a1c35" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="MPC: bt get ble con devinfo ble:0x%x:0x%x:**:**:**:0x%x:0x%x @bt_dft.c(904),INFO" ID="0x8d0a1c45" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt get ble con devinfo: Get device name fail @bt_dft.c(912),INFO" ID="0x8d0a1c85" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt get ble con devinfo formate info error @bt_dft.c(925),INFO" ID="0x8d0a1ced" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt get ble con devinfo ble connect state:%u @bt_dft.c(929),INFO" ID="0x8d0a1d0d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="MPC: bt get ble con devinfo ble:0x%x:0x%x:**:**:**:0x%x @bt_dft.c(946),INFO" ID="0x8d0a1d95" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt get ble con devinfo: formate info error @bt_dft.c(953),INFO" ID="0x8d0a1dcd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt get ble con devinfo ble connect state:%u @bt_dft.c(958),INFO" ID="0x8d0a1df5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt change adv addr type:pkt_len = %d, entry @bt_dft.c(966),INFO" ID="0x8d0a1e35" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="MPC: bt change adv addr type:addr_type = %d, use_private_addr = %d @bt_dft.c(975),INFO" ID="0x8d0a1e7d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="MPC: bt change adv addr type:0x%x, success @bt_dft.c(978),INFO" ID="0x8d0a1e95" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="MPC: bt reg default gatt services success @bt_dft.c(985),INFO" ID="0x8d0a1ecd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Exit for pointer is NULL @bt_dft.c(1078),ERROR" ID="0x8d0a21b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt dft recieve cmd opcode= 0x%X @bt_dft.c(1101),INFO" ID="0x8d0a226d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds tarns_id= 0x%X @bt_dft.c(1152),INFO" ID="0x8d0a2405" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds opcode = 0x%X @bt_dft.c(1153),INFO" ID="0x8d0a240d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds control= 0x%X @bt_dft.c(1154),INFO" ID="0x8d0a2415" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt dft proc dongle cmds sequence= 0x%X @bt_dft.c(1155),INFO" ID="0x8d0a241d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="bt dft proc dongle cmds param[%d] = 0x%X @bt_dft.c(1158),INFO" ID="0x8d0a2435" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dft not idle @bt_dft.c(1168),INFO" ID="0x8d0a2485" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dft dongle param pass @bt_dft.c(1182),INFO" ID="0x8d0a24f5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BT_DFT: bt dft is in rf test %d @bt_dft.c(1196),INFO" ID="0x8d0a2565" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft dongle rf test start @bt_dft.c(1202),INFO" ID="0x8d0a2595" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft rf aging start @bt_dft.c(1225),INFO" ID="0x8d0a264d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft rf aging stop @bt_dft.c(1247),INFO" ID="0x8d0a26fd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft aging test control param is NULL @bt_dft.c(1266),INFO" ID="0x8d0a2795" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="BT_DFT: bt dft aging test control param->pkt_ptr is NULL @bt_dft.c(1271),INFO" ID="0x8d0a27bd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BT_DFT: bt dft aging test control %d @bt_dft.c(1280),INFO" ID="0x8d0a2805" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt mtu config req interface fail, ret%d @bt_mpc_adpt_gatt.c(677),WARNING" ID="0x8dd6152b" />
<MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt get hid report map req param len error, len = %u @bt_mpc_adpt_gatt.c(689),ERROR" ID="0x8dd6158a" />
<MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt get hid report map req interface fail, ret%d @bt_mpc_adpt_gatt.c(696),WARNING" ID="0x8dd615c3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt mpc adapter gatt read character req. @bt_mpc_adpt_gatt.c(706),INFO" ID="0x8dd61615" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt read character req param len error, len = %u @bt_mpc_adpt_gatt.c(709),WARNING" ID="0x8dd6162b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt read character req param fail, ret%d @bt_mpc_adpt_gatt.c(716),WARNING" ID="0x8dd61663" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt read descriptor req param len error, len = %u @bt_mpc_adpt_gatt.c(728),WARNING" ID="0x8dd616c3" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt read descriptor req param fail, ret%d @bt_mpc_adpt_gatt.c(734),WARNING" ID="0x8dd616f3" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt mtu set req param len error, len = %u @bt_mpc_adpt_gatt.c(746),ERROR" ID="0x8dd61752" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt mtu set req interface fail, ret%d @bt_mpc_adpt_gatt.c(753),WARNING" ID="0x8dd6178b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt read descriptor req param len error, len = %u @bt_mpc_adpt_gatt.c(753),WARNING" ID="0x8dd6178b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt read descriptor req param fail, ret%d @bt_mpc_adpt_gatt.c(759),WARNING" ID="0x8dd617bb" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt mtu set req param len error, len = %u @bt_mpc_adpt_gatt.c(771),ERROR" ID="0x8dd6181a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc adapter gatt mtu set req interface fail, ret%d @bt_mpc_adpt_gatt.c(778),WARNING" ID="0x8dd61853" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="hci qos buf overflow. @bt_tran_task.c(107),ERROR" ID="0x8c94035a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bth ipc fsm rx tx buf overflow. @bt_tran_task.c(112),ERROR" ID="0x8c940382" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[ERROR]p_data is null @bt_tran_task.c(125),ERROR" ID="0x8c9403ea" />
- <MSG STRUCTURE="diag_log_msg3" NAME="BT_TRAN:route data:TID&SOF&SID&CID, LEN = 0x%04X%04X, %d @bt_tran_task.c(155),ERROR" ID="0x8c9404da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Error route_id! @bt_tran_task.c(167),ERROR" ID="0x8c94053a" />
- <MSG STRUCTURE="diag_log_msg3" NAME="BT_TRAN:route data:TID&SOF&SID&CID, LEN = 0x%04X%04X, %d @bt_tran_task.c(187),ERROR" ID="0x8c9405da" />
- <MSG STRUCTURE="diag_log_msg3" NAME="BT_TRAN:data:TID&SOF&SID&CID:0x%04X%04X,LEN:%d @bt_tran_task.c(190),ERROR" ID="0x8c9405f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="INVALID DATA! @bt_tran_task.c(226),ERROR" ID="0x8c940712" />
- <MSG STRUCTURE="diag_log_msg2" NAME="BT_TRAN: TXMCU:ipc send data fail, ret=%d opcode=0x%x @bt_tran_task.c(255),ERROR" ID="0x8c9407fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="UNKNOW CORE! @bt_tran_task.c(264),ERROR" ID="0x8c940842" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt tran task framek free property allow_free= %d @bt_tran_task.c(304),INFO" ID="0x8c940985" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pst_property->en_id = 0x%x @bt_tran_task.c(322),INFO" ID="0x8c940a15" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BT_TRAN: data ERROR data_len:%d @bt_tran_task.c(395),WARNING" ID="0x8c940c5b" />
- <MSG STRUCTURE="diag_log_msg2" NAME="BT_TRAN: data ERROR data:0x%08x, 0x%08x @bt_tran_task.c(399),WARNING" ID="0x8c940c7b" />
- <MSG STRUCTURE="diag_log_msg4" NAME="rec mcu error data,tid:0x%x,sof:0x%x,len:0x%04x,opcode:0x%04x @bt_tran_task.c(408),ERROR" ID="0x8c940cc2" />
- <MSG STRUCTURE="diag_log_msg2" NAME="rec data malloc fail opcode:0x%04x,length:(0x%04x) @bt_tran_task.c(426),ERROR" ID="0x8c940d52" />
- <MSG STRUCTURE="diag_log_msg2" NAME="rec data memcpy fail opcode:0x%04x,length:(0x%04x) @bt_tran_task.c(432),ERROR" ID="0x8c940d82" />
- <MSG STRUCTURE="diag_log_msg4" NAME="rec mcu write property fail,tid:0x%x,sof:0x%x,len:0x%04x,opcode:0x%04x @bt_tran_task.c(442),ERROR" ID="0x8c940dd2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ipc data data len err = %d @bt_tran_task.c(479),ERROR" ID="0x8c940efa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ipc data data len err = %d @bt_tran_task.c(489),ERROR" ID="0x8c940f4a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ipc data from M7 error = %d @bt_tran_task.c(493),ERROR" ID="0x8c940f6a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ipc data from unknow core @bt_tran_task.c(505),ERROR" ID="0x8c940fca" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt tran task handler osMessageQueueGet fail ret:(%x) @bt_tran_task.c(531),ERROR" ID="0x8c94109a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="bt tran task framek write property en_id = 0x%x @bt_tran_task.c(555),INFO" ID="0x8c94115d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="write Property fail id:0x%x, ret:0x%x @bt_tran_task.c(563),ERROR" ID="0x8c94119a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="bt tran task framek write property fail en_id:%d,ret:%x @bt_tran_task.c(572),ERROR" ID="0x8c9411e2" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[ERROR]p_data is null @bt_tran_task.c(85),ERROR" ID="0x8c9402aa" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="BT_TRAN:route data:TID&SOF&SID&CID, LEN = 0x%04X%04X, %d @bt_tran_task.c(115),ERROR" ID="0x8c94039a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Error route_id! @bt_tran_task.c(127),ERROR" ID="0x8c9403fa" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="BT_TRAN:route data:TID&SOF&SID&CID, LEN = 0x%04X%04X, %d @bt_tran_task.c(147),ERROR" ID="0x8c94049a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="BT_TRAN:data:TID&SOF&SID&CID:0x%04X%04X,LEN:%d @bt_tran_task.c(150),ERROR" ID="0x8c9404b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="INVALID DATA! @bt_tran_task.c(186),ERROR" ID="0x8c9405d2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BT_TRAN: TXMCU:ipc send data = %d @bt_tran_task.c(214),ERROR" ID="0x8c9406b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="UNKNOW CORE! @bt_tran_task.c(224),ERROR" ID="0x8c940702" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt tran task framek free property allow_free= %d @bt_tran_task.c(264),INFO" ID="0x8c940845" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pst_property->en_id = 0x%x @bt_tran_task.c(282),INFO" ID="0x8c9408d5" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="ipc buf release number:%u %u. @bt_tran_task.c(330),ERROR" ID="0x8c940a52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="hci qos buf overflow. @bt_tran_task.c(356),ERROR" ID="0x8c940b22" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble fsm buf overflow. @bt_tran_task.c(362),ERROR" ID="0x8c940b52" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="ipc buf warning number:%u %u. @bt_tran_task.c(370),ERROR" ID="0x8c940b92" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BT_TRAN: data ERROR data_len:%d @bt_tran_task.c(389),WARNING" ID="0x8c940c2b" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="BT_TRAN: data ERROR data:0x%08x, 0x%08x @bt_tran_task.c(393),WARNING" ID="0x8c940c4b" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="rec mcu error data,tid:0x%x,sof:0x%x,len:0x%04x,opcode:0x%04x @bt_tran_task.c(402),ERROR" ID="0x8c940c92" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="rec data malloc fail opcode:0x%04x,length:(0x%04x) @bt_tran_task.c(420),ERROR" ID="0x8c940d22" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="rec data memcpy fail opcode:0x%04x,length:(0x%04x) @bt_tran_task.c(426),ERROR" ID="0x8c940d52" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="rec mcu write property fail,tid:0x%x,sof:0x%x,len:0x%04x,opcode:0x%04x @bt_tran_task.c(436),ERROR" ID="0x8c940da2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ipc data data len err = %d @bt_tran_task.c(473),ERROR" ID="0x8c940eca" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ipc data data len err = %d @bt_tran_task.c(483),ERROR" ID="0x8c940f1a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ipc data from M7 error = %d @bt_tran_task.c(487),ERROR" ID="0x8c940f3a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ipc data from unknow core @bt_tran_task.c(499),ERROR" ID="0x8c940f9a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt tran task handler osMessageQueueGet fail ret:(%x) @bt_tran_task.c(525),ERROR" ID="0x8c94106a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="bt tran task framek write property en_id = 0x%x @bt_tran_task.c(549),INFO" ID="0x8c94112d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="write Property fail id:0x%x, ret:0x%x @bt_tran_task.c(557),ERROR" ID="0x8c94116a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="bt tran task framek write property fail en_id:%d,ret:%x @bt_tran_task.c(566),ERROR" ID="0x8c9411b2" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="[TIMRE_ADD][STACK_TIMER] TIMER=0x%x, TIME=%u @fsm.c(720),INFO" ID="0x8b581685" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[TIMER_EXPIR]timeout timer err! @fsm.c(818),ERROR" ID="0x8b581992" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[TIMER_EXPIR]timeout but no right timer! @fsm.c(848),WARNING" ID="0x8b581a83" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[timer_expire_in_sch_lite]timer has been free; not need free! @fsm.c(864),WARNING" ID="0x8b581b03" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[TIMER_DEL][STACK_TIMER] in_ft is NULL! @fsm.c(989),INFO" ID="0x8b581eed" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[FSM][QOS]producer %u @fsm.c(83),ERROR" ID="0x8b58029a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[FSM][QOS]consumer %u @fsm.c(97),ERROR" ID="0x8b58030a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[TIMRE_ADD][STACK_TIMER] TIMER=0x%x, TIME=%u @fsm.c(725),INFO" ID="0x8b5816ad" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[TIMER_EXPIR]timeout timer err! @fsm.c(823),ERROR" ID="0x8b5819ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[TIMER_EXPIR]timeout but no right timer! @fsm.c(853),WARNING" ID="0x8b581aab" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[timer_expire_in_sch_lite]timer has been free; not need free! @fsm.c(869),WARNING" ID="0x8b581b2b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[TIMER_DEL][STACK_TIMER] in_ft is NULL! @fsm.c(994),INFO" ID="0x8b581f15" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="[GAP] inquiry result cbk i:%d eir[i]:%d @gap_hlp_br.c(116),ERROR" ID="0x8b8a03a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[GAP][LOGN_STACK_GAP_DIS_REGISTER] RegisterDIService success. @gap_hlp_br.c(1534),INFO" ID="0x8b8a2ff5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[GAP][LOGN_STACK_GAP_DIS_REGISTER] RegisterDIService failed. @gap_hlp_br.c(1538),WARNING" ID="0x8b8a3013" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[GAP][LOGN_STACK_GAP_DIS_REGISTER] RegisterDIService success. @gap_hlp_br.c(1528),INFO" ID="0x8b8a2fc5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[GAP][LOGN_STACK_GAP_DIS_REGISTER] RegisterDIService failed. @gap_hlp_br.c(1532),WARNING" ID="0x8b8a2fe3" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="[GAP] create_connection_whitelist start @gap_ui.c(2349),INFO" ID="0x8b5c496d" />
<MSG STRUCTURE="diag_log_msg0" NAME="[GAP]memcpy failed @gap_ui.c(2457),ERROR" ID="0x8b5c4cca" />
<MSG STRUCTURE="diag_log_msg1" NAME="[SADP][GAP] set_local_addr_cbk result is %u @gap_ui.c(2933),INFO" ID="0x8b5c5bad" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[GAP]set br sc cmd error result=0x%x @gap_ui.c(2959),ERROR" ID="0x8b5c5c7a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[GAP]set br sc status=0x%x @gap_ui.c(2964),ERROR" ID="0x8b5c5ca2" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg1" NAME="GdkTimer Create TimerId:%d @gdk_cmsis.c(79),INFO" ID="0x8cb0027d" />
<MSG STRUCTURE="diag_log_msg1" NAME="GdkTimer Start TimerId:%d @gdk_cmsis.c(99),DBG" ID="0x8cb0031e" />
<MSG STRUCTURE="diag_log_msg1" NAME="GdkTimer Stop TimerId:%d @gdk_cmsis.c(111),DBG" ID="0x8cb0037e" />
- <MSG STRUCTURE="diag_log_msg0" NAME="gdk os malloc size 0 @gdk_cmsis.c(152),ERROR" ID="0x8cb004c2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="gdk os malloc FAIL size:%d @gdk_cmsis.c(159),ERROR" ID="0x8cb004fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gdk os malloc size 0 @gdk_cmsis.c(146),ERROR" ID="0x8cb00492" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="gdk os malloc FAIL size:%d @gdk_cmsis.c(153),ERROR" ID="0x8cb004ca" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg4" NAME="[HCI][SEND_ACL_DATA] SLOT=%u, LEN=%u, Remaining Packet NUM=%u, HANDLE=0x%x @hci_data_proc.c(146),INFO" ID="0x8bda0495" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy error @hci_data_proc.c(406),ERROR" ID="0x8bda0cb2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy error @hci_data_proc.c(412),ERROR" ID="0x8bda0ce2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][RECV_ACL_DATA] CONN_HANDLE=0x%x, link not found @hci_data_proc.c(501),INFO" ID="0x8bda0fad" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][H-->C] OPCODE=0x%x, HANDLE=0x%x, LEN=%u @hci_data_proc.c(709),INFO" ID="0x8bda162d" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] OPCODE=0x%x, OGF=0x%x, disc_reason=0x%x, LEN=%u @hci_data_proc.c(719),INFO" ID="0x8bda167d" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] OPCODE=0x%x, OGF=0x%x, OCF=0x%x, LEN=%u @hci_data_proc.c(725),WARNING" ID="0x8bda16ab" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][H-->C] OPCODE=0x%x, HANDLE=0x%x, LEN=%u @hci_data_proc.c(746),DBG" ID="0x8bda1756" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] OPCODE=0x%x, OGF=0x%x, OCF=0x%x, LEN=%u @hci_data_proc.c(751),DBG" ID="0x8bda177e" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][H-->C] LEN=%u @hci_data_proc.c(766),DBG" ID="0x8bda17f6" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] %02x %02x %02x %02x @hci_data_proc.c(772),DBG" ID="0x8bda1826" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][H-->C] %02x %02x %02x @hci_data_proc.c(777),DBG" ID="0x8bda184e" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][H-->C] %02x %02x @hci_data_proc.c(780),DBG" ID="0x8bda1866" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][H-->C] %02x @hci_data_proc.c(782),DBG" ID="0x8bda1876" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[A2DP][HCI] a2dp_audio:first frame to btc, only for a2dp service. @hci_data_proc.c(801),INFO" ID="0x8bda190d" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg4" NAME="[HCI][SEND_ACL_DATA] SLOT=%u, LEN=%u, Remaining Packet NUM=%u, HANDLE=0x%x @hci_data_proc.c(134),INFO" ID="0x8bda0435" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy error @hci_data_proc.c(394),ERROR" ID="0x8bda0c52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy error @hci_data_proc.c(400),ERROR" ID="0x8bda0c82" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][RECV_ACL_DATA] CONN_HANDLE=0x%x, link not found @hci_data_proc.c(489),INFO" ID="0x8bda0f4d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][H-->C] OPCODE=0x%x, HANDLE=0x%x, LEN=%u @hci_data_proc.c(697),INFO" ID="0x8bda15cd" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] OPCODE=0x%x, OGF=0x%x, disc_reason=0x%x, LEN=%u @hci_data_proc.c(707),INFO" ID="0x8bda161d" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] OPCODE=0x%x, OGF=0x%x, OCF=0x%x, LEN=%u @hci_data_proc.c(713),WARNING" ID="0x8bda164b" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][H-->C] OPCODE=0x%x, HANDLE=0x%x, LEN=%u @hci_data_proc.c(734),DBG" ID="0x8bda16f6" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] OPCODE=0x%x, OGF=0x%x, OCF=0x%x, LEN=%u @hci_data_proc.c(739),DBG" ID="0x8bda171e" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][H-->C] LEN=%u @hci_data_proc.c(754),DBG" ID="0x8bda1796" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][H-->C] %02x %02x %02x %02x @hci_data_proc.c(760),DBG" ID="0x8bda17c6" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][H-->C] %02x %02x %02x @hci_data_proc.c(765),DBG" ID="0x8bda17ee" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][H-->C] %02x %02x @hci_data_proc.c(768),DBG" ID="0x8bda1806" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][H-->C] %02x @hci_data_proc.c(770),DBG" ID="0x8bda1816" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[A2DP][HCI] a2dp_audio:first frame to btc, only for a2dp service. @hci_data_proc.c(789),INFO" ID="0x8bda18ad" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg4" NAME="[HCI] remove remote exceed upper limit %d addr:%02x:%02x:xx:xx:xx:%02x! @hci_hlp_ram.c(524),ERROR" ID="0x8ba81062" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy_s error @hci_hlp_ram.c(544),ERROR" ID="0x8ba81102" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg4" NAME="[HCI] remove remote exceed upper limit %d addr:%02x:%02x:xx:xx:xx:%02x! @hci_hlp_ram.c(522),ERROR" ID="0x8ba81052" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy_s error @hci_hlp_ram.c(542),ERROR" ID="0x8ba810f2" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[HCI]CURRENT_LINK_MODE=0x%x, ACL Data Will be pend! @hci_link_br.c(220),INFO" ID="0x8bdc06e5" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[HCI] create connection addr:%02x******%02x%02x @hci_link_br.c(260),ERROR" ID="0x8bdc0822" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][CONN_COMPLETE] LINK_STATUS=0x%x, EVENT_STATUS=0x%x, CONN_HDL=0x%x @hci_link_br.c(497),ERROR" ID="0x8bdc0f8a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][CONN_REQUEST] LINK_TYPE=0x%x, REMOTE_ADDR=%02x:%02x:**:**:**:%02x @hci_link_br.c(572),ERROR" ID="0x8bdc11e2" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][REMOVE_LINK] REF_COUNT=%u, STATUS=%u @hci_link_br.c(656),ERROR" ID="0x8bdc1482" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[HCI]CURRENT_LINK_MODE=0x%x, ACL Data Will be pend! @hci_link_br.c(217),INFO" ID="0x8bdc06cd" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[HCI] create connection addr:%02x******%02x%02x @hci_link_br.c(257),ERROR" ID="0x8bdc080a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[HCI][CONN_COMPLETE] LINK_STATUS=0x%x, EVENT_STATUS=0x%x, CONN_HDL=0x%x @hci_link_br.c(494),ERROR" ID="0x8bdc0f72" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[HCI][CONN_REQUEST] LINK_TYPE=0x%x, REMOTE_ADDR=%02x:%02x:**:**:**:%02x @hci_link_br.c(569),ERROR" ID="0x8bdc11ca" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][REMOVE_LINK] REF_COUNT=%u, STATUS=%u @hci_link_br.c(653),ERROR" ID="0x8bdc146a" />
</MSG_LOG>
\ No newline at end of file
<MSG_LOG><MSG STRUCTURE="diag_log_msg4" NAME="ap => bt ipc error, get cpu trace ret=%d, bt pc=0x%x, lr=0x%x, sp=0x%x, @ipc.c(417),ERROR" ID="0xa02a0d0a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="ipc error core %d => %d action=%d, called=0x%X @ipc.c(707),ERROR" ID="0xa02a161a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="ipc error, core=%d current pc=0x%x, lr=0x%x, sp=0x%x @ipc.c(709),ERROR" ID="0xa02a162a" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="ipc error core %d => %d action=%d, called=0x%X @ipc.c(705),ERROR" ID="0xa02a160a" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="ipc error, core=%d current pc=0x%x, lr=0x%x, sp=0x%x @ipc.c(707),ERROR" ID="0xa02a161a" />
</MSG_LOG>
\ No newline at end of file
<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="interrupt times account for more than the high percent is %d @ld_fm_ram.c(178),INFO" ID="0x88b20595" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[WARNING]ld_fm_frame_isr: clear again, irq_stat(0x%x) @ld_fm_ram.c(242),WARNING" ID="0x88b20793" />
- <MSG STRUCTURE="diag_log_msg4" NAME="clkn(0x%x) intstat(0x%x), abort(%d)errCode(0x%x) @ld_fm_ram.c(247),WARNING" ID="0x88b207bb" />
- <MSG STRUCTURE="diag_log_msg1" NAME="errint(0x%x) @ld_fm_ram.c(248),WARNING" ID="0x88b207c3" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[ERROR]ld_fm_frame_isr:ts=0x%x, sw_id=%d, etptr=0x%x, hw_id=%d @ld_fm_ram.c(280),ERROR" ID="0x88b208c2" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[WARNING]ld_fm_frame_isr:ts=0x%x, cs_idx=%d @ld_fm_ram.c(283),WARNING" ID="0x88b208db" />
- <MSG STRUCTURE="diag_log_msg4" NAME="ld_fm_frame_isr clk(0x%x)intstat(0x%x)etptr(0x%x)lr(0x%x) @ld_fm_ram.c(300),ERROR" ID="0x88b20962" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[WARNING]ld_fm_frame_isr:ET%d:extab0=0x%x, extab1=0x%x @ld_fm_ram.c(328),WARNING" ID="0x88b20a43" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_fm_sket_isr:elt=NULL, sket_clkn=0x%x, clock=0x%x, finecnt=0x%x, etptr=0x%x @ld_fm_ram.c(352),WARNING" ID="0x88b20b03" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[WARNING][LD]ld_fm_sket_isr:timestamp=0x%x, cs_idx=%d @ld_fm_ram.c(356),WARNING" ID="0x88b20b23" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[WARNING][LD]ld_fm_sket_isr:hw_id=%d @ld_fm_ram.c(361),WARNING" ID="0x88b20b4b" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ERROR]ld_fm_sket_isr:ET%d:extab0=0x%x, extab1=0x%x @ld_fm_ram.c(385),ERROR" ID="0x88b20c0a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="ld_fm_sket_isr:clkn=0x%x, timestamp=0x%x, sket_clkn=0x%x, etptr=0x%x @ld_fm_ram.c(511),WARNING" ID="0x88b20ffb" />
- <MSG STRUCTURE="diag_log_msg2" NAME="ld_fm_sket_isr:cs_idx=%d, hw_id=%d @ld_fm_ram.c(512),WARNING" ID="0x88b21003" />
- <MSG STRUCTURE="diag_log_msg2" NAME="ld_fm_sket_isr:timestamp=0x%x, cs_idx=%d @ld_fm_ram.c(516),WARNING" ID="0x88b21023" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[INFO][EA]ld_fm_sket_isr cur time=0%x , frm_cbk=0%x, sket_clkn=0%x, timestamp=0%x @ld_fm_ram.c(525),INFO" ID="0x88b2106d" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_fm_process:fifo_last_ts=0x%x,frm_cbk=0x%x,cs_idx=%d,insert_ts=0x%x @ld_fm_ram.c(590),WARNING" ID="0x88b21273" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[WARNING][LD]ld_fm_process:sket clk=0x0%x, frm_cbk=0x0%x, cs_idx=%d @ld_fm_ram.c(597),WARNING" ID="0x88b212ab" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[ERROR][LD]ld_fm_process:err et mode=0x%x, elt=0x%x, clk=0x%x, LR=0x%x @ld_fm_ram.c(618),ERROR" ID="0x88b21352" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[ERROR][param]ld_fm_process ld_fm_env.free=NULL, timestamp=0x%x, fifo cnt=%d @ld_fm_ram.c(626),ERROR" ID="0x88b21392" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_fm_prog_push:timestamp=0x%x, clock=0x%x, LR=0x%x, format=0x%x @ld_fm_ram.c(656),WARNING" ID="0x88b21483" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[WARN][LD]ld_fm_prog_push:err timestamp=0x%x, clock=0x%x, LR=0x%x @ld_fm_ram.c(658),WARNING" ID="0x88b21493" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="clkn(0x%x) intstat(0x%x), abort(%d)errCode(0x%x) @ld_fm_ram.c(245),WARNING" ID="0x88b207ab" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[ERROR]ld_fm_frame_isr:ts=0x%x, sw_id=%d, etptr=0x%x, hw_id=%d @ld_fm_ram.c(277),ERROR" ID="0x88b208aa" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[WARNING]ld_fm_frame_isr:ts=0x%x, cs_idx=%d @ld_fm_ram.c(280),WARNING" ID="0x88b208c3" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="ld_fm_frame_isr clk(0x%x)intstat(0x%x)etptr(0x%x)lr(0x%x) @ld_fm_ram.c(297),ERROR" ID="0x88b2094a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[WARNING]ld_fm_frame_isr:ET%d:extab0=0x%x, extab1=0x%x @ld_fm_ram.c(325),WARNING" ID="0x88b20a2b" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_fm_sket_isr:elt=NULL, sket_clkn=0x%x, clock=0x%x, finecnt=0x%x, etptr=0x%x @ld_fm_ram.c(349),WARNING" ID="0x88b20aeb" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[WARNING][LD]ld_fm_sket_isr:timestamp=0x%x, cs_idx=%d @ld_fm_ram.c(353),WARNING" ID="0x88b20b0b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[WARNING][LD]ld_fm_sket_isr:hw_id=%d @ld_fm_ram.c(358),WARNING" ID="0x88b20b33" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ERROR]ld_fm_sket_isr:ET%d:extab0=0x%x, extab1=0x%x @ld_fm_ram.c(382),ERROR" ID="0x88b20bf2" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="ld_fm_sket_isr:clkn=0x%x, timestamp=0x%x, sket_clkn=0x%x, etptr=0x%x @ld_fm_ram.c(508),WARNING" ID="0x88b20fe3" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="ld_fm_sket_isr:cs_idx=%d, hw_id=%d @ld_fm_ram.c(509),WARNING" ID="0x88b20feb" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="ld_fm_sket_isr:timestamp=0x%x, cs_idx=%d @ld_fm_ram.c(513),WARNING" ID="0x88b2100b" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[INFO][EA]ld_fm_sket_isr cur time=0%x , frm_cbk=0%x, sket_clkn=0%x, timestamp=0%x @ld_fm_ram.c(522),INFO" ID="0x88b21055" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_fm_process:fifo_last_ts=0x%x,frm_cbk=0x%x,cs_idx=%d,insert_ts=0x%x @ld_fm_ram.c(587),WARNING" ID="0x88b2125b" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[WARNING][LD]ld_fm_process:sket clk=0x0%x, frm_cbk=0x0%x, cs_idx=%d @ld_fm_ram.c(594),WARNING" ID="0x88b21293" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[ERROR][LD]ld_fm_process:err et mode=0x%x, elt=0x%x, clk=0x%x, LR=0x%x @ld_fm_ram.c(615),ERROR" ID="0x88b2133a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[ERROR][param]ld_fm_process ld_fm_env.free=NULL, timestamp=0x%x, fifo cnt=%d @ld_fm_ram.c(623),ERROR" ID="0x88b2137a" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_fm_prog_push:timestamp=0x%x, clock=0x%x, LR=0x%x, format=0x%x @ld_fm_ram.c(653),WARNING" ID="0x88b2146b" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[WARN][LD]ld_fm_prog_push:err timestamp=0x%x, clock=0x%x, LR=0x%x @ld_fm_ram.c(655),WARNING" ID="0x88b2147b" />
</MSG_LOG>
\ No newline at end of file
<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[BTOS][MEM_INTEGRITY_CHECK]Not support! @osdep.c(680),INFO" ID="0x8b981545" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u alloc fail! @osdep.c(725),ERROR" ID="0x8b9816aa" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[BTOS][MEM_NEW]fsm_count=%u fsm_limit=%u fsm_limit_max=%u hci_slice_rx=%u! @osdep.c(729),ERROR" ID="0x8b9816ca" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[MEM_FREE][%d][0x%p], caller:0x%x @osdep.c(766),INFO" ID="0x8b9817f5" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x free fail! @osdep.c(774),WARNING" ID="0x8b981833" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u, alloc fail! @osdep.c(787),WARNING" ID="0x8b98189b" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x, free fail! @osdep.c(802),WARNING" ID="0x8b981913" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW_S]AVAILABLE_MEMORY=%u, alloc fail because under secure threshold size! @osdep.c(833),WARNING" ID="0x8b981a0b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u alloc fail! @osdep.c(712),ERROR" ID="0x8b981642" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[BTOS][MEM_NEW]fsm_count=%u fsm_limit=%u fsm_limit_max=%u hci_slice_rx=%u! @osdep.c(716),ERROR" ID="0x8b981662" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[MEM_FREE][%d][0x%p], caller:0x%x @osdep.c(753),INFO" ID="0x8b98178d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x free fail! @osdep.c(761),WARNING" ID="0x8b9817cb" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u, alloc fail! @osdep.c(774),WARNING" ID="0x8b981833" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x, free fail! @osdep.c(789),WARNING" ID="0x8b9818ab" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW_S]AVAILABLE_MEMORY=%u, alloc fail because under secure threshold size! @osdep.c(820),WARNING" ID="0x8b9819a3" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: send audio data enable = %x seq %d len %d. @packet_dl.c(39),ERROR" ID="0x8c28013a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: adp get buffer ret = %x seq %d len %d size %d. @packet_dl.c(47),ERROR" ID="0x8c28017a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: Memory cpy fail! @packet_dl.c(51),ERROR" ID="0x8c28019a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: adp put buffer ret = %x seq %d len %d size %d. @packet_dl.c(61),ERROR" ID="0x8c2801ea" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: send audio data enable = %x seq %d len %d. @packet_dl.c(39),WARNING" ID="0x8c28013b" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: uapi_adp_get_buffer ret = %x seq %d len %d size %d. @packet_dl.c(47),WARNING" ID="0x8c28017b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: Memory cpy fail! @packet_dl.c(51),WARNING" ID="0x8c28019b" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="a2dp_audio: uapi_adp_put_buffer ret = %x seq %d len %d size %d. @packet_dl.c(61),WARNING" ID="0x8c2801eb" />
<MSG STRUCTURE="diag_log_msg0" NAME="[DADP][BT->AUDIO] Memory is not enough! @packet_dl.c(103),WARNING" ID="0x8c28033b" />
<MSG STRUCTURE="diag_log_msg0" NAME="[DADP][BT->AUDIO]ipc send audio data fail @packet_dl.c(128),WARNING" ID="0x8c280403" />
<MSG STRUCTURE="diag_log_msg0" NAME="[DADP][BT->AUDIO]ipc send audio data fail @packet_dl.c(160),WARNING" ID="0x8c280503" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[DADP][SetActiveConnectHandle]HANDLE=0x%x @packet_dl.c(310),INFO" ID="0x8c2809b5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[DADP]get_mobile_connection_handle fail, can't find link @packet_dl.c(333),INFO" ID="0x8c280a6d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[DADP]HANDLE=0x%x @packet_dl.c(337),INFO" ID="0x8c280a8d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[DADP][get_active_device_handle] REMOTE_ADDR=%02x:%02x:**:**:**:%02x @packet_dl.c(380),INFO" ID="0x8c280be5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: dadp_freeman_send_audio_data_dl @packet_dl.c(270),WARNING" ID="0x8c280873" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[DADP][SetActiveConnectHandle]HANDLE=0x%x @packet_dl.c(311),INFO" ID="0x8c2809bd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[DADP]get_mobile_connection_handle fail, can't find link @packet_dl.c(334),INFO" ID="0x8c280a75" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[DADP]HANDLE=0x%x @packet_dl.c(338),INFO" ID="0x8c280a95" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[DADP][get_active_device_handle] REMOTE_ADDR=%02x:%02x:**:**:**:%02x @packet_dl.c(381),INFO" ID="0x8c280bed" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="smp_pair_new_patch @patch_bth.c(52),INFO" ID="0x8d5401a5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[AVDTP][GET_SEP_FAIL] Can not get sep info @patch_bth.c(156),WARNING" ID="0x8d5404e3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[STACK][RECV_RING_STOP] @patch_bth.c(244),INFO" ID="0x8d5407a5" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] att error rsp opcode:0x%x handle:%d error:0x%x @patch_bth.c(324),ERROR" ID="0x8d540a22" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP]PAIRING_REQ_RECV @patch_bth.c(501),ERROR" ID="0x8d540faa" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="smp_pair_new_patch @patch_bth.c(43),INFO" ID="0x8d54015d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[AVDTP][GET_SEP_FAIL] Can not get sep info @patch_bth.c(147),WARNING" ID="0x8d54049b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[STACK][RECV_RING_STOP] @patch_bth.c(235),INFO" ID="0x8d54075d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] att error rsp opcode:0x%x handle:%d error:0x%x @patch_bth.c(315),ERROR" ID="0x8d5409da" />
</MSG_LOG>
\ No newline at end of file
<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[sdk]gatt_get_descriptor_value memcpy failed @sdk_gatt.c(387),ERROR" ID="0x8b800c1a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_get_descriptor_value memcpy_s error @sdk_gatt.c(571),ERROR" ID="0x8b8011da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic mem_new failed @sdk_gatt.c(794),ERROR" ID="0x8b8018d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic memcpy failed @sdk_gatt.c(799),ERROR" ID="0x8b8018fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic memcpy failed @sdk_gatt.c(808),ERROR" ID="0x8b801942" />
- <MSG STRUCTURE="diag_log_msg3" NAME="btsdk gatt get characteristics by uuid start_handle:0x%x end_handle:0x%x, uuid:0x%x @sdk_gatt.c(837),INFO" ID="0x8b801a2d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="btsdk gatt get characteristic value by uuid start_handle:0x%x end_handle:0x%x @sdk_gatt.c(885),INFO" ID="0x8b801bad" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[sdk]gatt_get_descriptor_by_handle start_handle:0x%x end_handle:0x%x @sdk_gatt.c(908),INFO" ID="0x8b801c65" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[sdk]gatt_get_multiple_characteristics_by_handle handle_count:0x%x @sdk_gatt.c(929),INFO" ID="0x8b801d0d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_set_gap_ui_attributes memcpy_s error @sdk_gatt.c(1207),ERROR" ID="0x8b8025ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_set_gap_ui_attributes memcpy_s error @sdk_gatt.c(1220),ERROR" ID="0x8b802622" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_get_gap_ui_attributes memcpy_s error @sdk_gatt.c(1292),ERROR" ID="0x8b802862" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_send_response memcpy_s error @sdk_gatt.c(1890),ERROR" ID="0x8b803b12" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_change_descriptor_value memcpy_s error @sdk_gatt.c(1971),ERROR" ID="0x8b803d9a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic mem_new failed @sdk_gatt.c(793),ERROR" ID="0x8b8018ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic memcpy failed @sdk_gatt.c(798),ERROR" ID="0x8b8018f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic memcpy failed @sdk_gatt.c(807),ERROR" ID="0x8b80193a" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="btsdk gatt get characteristics by uuid start_handle:0x%x end_handle:0x%x, uuid:0x%x @sdk_gatt.c(830),INFO" ID="0x8b8019f5" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="btsdk gatt get characteristic value by uuid start_handle:0x%x end_handle:0x%x @sdk_gatt.c(878),INFO" ID="0x8b801b75" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[sdk]gatt_get_descriptor_by_handle start_handle:0x%x end_handle:0x%x @sdk_gatt.c(901),INFO" ID="0x8b801c2d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[sdk]gatt_get_multiple_characteristics_by_handle handle_count:0x%x @sdk_gatt.c(922),INFO" ID="0x8b801cd5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_set_gap_ui_attributes memcpy_s error @sdk_gatt.c(1200),ERROR" ID="0x8b802582" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_set_gap_ui_attributes memcpy_s error @sdk_gatt.c(1213),ERROR" ID="0x8b8025ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_get_gap_ui_attributes memcpy_s error @sdk_gatt.c(1285),ERROR" ID="0x8b80282a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_send_response memcpy_s error @sdk_gatt.c(1883),ERROR" ID="0x8b803ada" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_change_descriptor_value memcpy_s error @sdk_gatt.c(1964),ERROR" ID="0x8b803d62" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_notify_characteristic_changed memcpy_s error @sdk_gatt.c(2009),ERROR" ID="0x8b803eca" />
<MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_notify_characteristic_changed memcpy_s error @sdk_gatt.c(2016),ERROR" ID="0x8b803f02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatt_notify_characteristic_changed memcpy_s error @sdk_gatt.c(2023),ERROR" ID="0x8b803f3a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]can't find hdl by uuid @sdk_gatt.c(2214),ERROR" ID="0x8b804532" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]can't find hdl by uuid @sdk_gatt.c(2207),ERROR" ID="0x8b8044fa" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="[SDK]convert uuid to stack memcpy_s error @sdk_gatt_hlp.c(125),ERROR" ID="0x8da603ea" />
<MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att exchange mtu addr memcpy fail @sdk_gatt_hlp.c(581),ERROR" ID="0x8da6122a" />
<MSG STRUCTURE="diag_log_msg2" NAME="[gatth_get_multiple_characteristics_value] rmt:0x%x mtu:0x%x @sdk_gatt_hlp.c(887),INFO" ID="0x8da61bbd" />
- <MSG STRUCTURE="diag_log_msg2" NAME="bt sdk gatt read value handle:%d, offset:%d. @sdk_gatt_hlp.c(1018),INFO" ID="0x8da61fd5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt sdk gatt read value can't find remote device. @sdk_gatt_hlp.c(1022),ERROR" ID="0x8da61ff2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt sdk gatt read value addr memcpy fail. @sdk_gatt_hlp.c(1027),ERROR" ID="0x8da6201a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[gatth_get_characteristics_by_uuid] start_handle:0x%x end_handle:0x%x @sdk_gatt_hlp.c(1051),INFO" ID="0x8da620dd" />
- <MSG STRUCTURE="diag_log_msg2" NAME="btsdk gatth get descriptor by handle arg->start_handle:0x%x arg->end_handle:0x%x @sdk_gatt_hlp.c(1094),INFO" ID="0x8da62235" />
- <MSG STRUCTURE="diag_log_msg0" NAME="gatth_set_reliable_characteristic_value in @sdk_gatt_hlp.c(1139),INFO" ID="0x8da6239d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[gatth_set_characteristic_value] memcpy failed @sdk_gatt_hlp.c(1176),ERROR" ID="0x8da624c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic rmt is NULL @sdk_gatt_hlp.c(1210),ERROR" ID="0x8da625d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic memcpy failed @sdk_gatt_hlp.c(1218),ERROR" ID="0x8da62612" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic tl is NULL @sdk_gatt_hlp.c(1233),ERROR" ID="0x8da6268a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[SDK_GATT_HLP] HCI QOS state:%u @sdk_gatt_hlp.c(1582),ERROR" ID="0x8da63172" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[gatth_check_and_save_value] memcpy failed @sdk_gatt_hlp.c(1699),ERROR" ID="0x8da6351a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_server_execute_write_complete memcpy_s error @sdk_gatt_hlp.c(1796),ERROR" ID="0x8da63822" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_server_write_ind memcpy_s error @sdk_gatt_hlp.c(1940),ERROR" ID="0x8da63ca2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_server_write_ind memcpy_s error @sdk_gatt_hlp.c(1962),ERROR" ID="0x8da63d52" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_send_response memcpy_s error @sdk_gatt_hlp.c(2315),ERROR" ID="0x8da6485a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_notify_multiple_characteristic_changed memcpy_s error @sdk_gatt_hlp.c(2548),ERROR" ID="0x8da64fa2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info mem new fail @sdk_gatt_hlp.c(2600),ERROR" ID="0x8da65142" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info service uuid memcpy fail @sdk_gatt_hlp.c(2610),ERROR" ID="0x8da65192" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info attribute uuid memcpy fail @sdk_gatt_hlp.c(2615),ERROR" ID="0x8da651ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info addr memcpy fail @sdk_gatt_hlp.c(2620),ERROR" ID="0x8da651e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info val memcpy fail @sdk_gatt_hlp.c(2625),ERROR" ID="0x8da6520a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind can't find service by service hdl @sdk_gatt_hlp.c(2671),ERROR" ID="0x8da6537a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write pkt null @sdk_gatt_hlp.c(2677),ERROR" ID="0x8da653aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind can't find server cbk by server hdl @sdk_gatt_hlp.c(2684),ERROR" ID="0x8da653e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info mem new fail @sdk_gatt_hlp.c(2716),ERROR" ID="0x8da654e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info service uuid memcpy fail @sdk_gatt_hlp.c(2727),ERROR" ID="0x8da6553a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info attribute uuid memcpy fail @sdk_gatt_hlp.c(2732),ERROR" ID="0x8da65562" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info addr memcpy fail @sdk_gatt_hlp.c(2737),ERROR" ID="0x8da6558a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info val memcpy fail @sdk_gatt_hlp.c(2743),ERROR" ID="0x8da655ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind can't find service by service hdl @sdk_gatt_hlp.c(2763),ERROR" ID="0x8da6565a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read pkt null @sdk_gatt_hlp.c(2769),ERROR" ID="0x8da6568a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind can't find server cbk by server hdl @sdk_gatt_hlp.c(2776),ERROR" ID="0x8da656c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]write element @sdk_gatt_hlp.c(2813),INFO" ID="0x8da657ed" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]read element @sdk_gatt_hlp.c(2817),INFO" ID="0x8da6580d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]write element free @sdk_gatt_hlp.c(2823),INFO" ID="0x8da6583d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[gatth_get_characteristics_by_uuid] start_handle:0x%x end_handle:0x%x @sdk_gatt_hlp.c(1020),INFO" ID="0x8da61fe5" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="btsdk gatth get descriptor by handle arg->start_handle:0x%x arg->end_handle:0x%x @sdk_gatt_hlp.c(1063),INFO" ID="0x8da6213d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gatth_set_reliable_characteristic_value in @sdk_gatt_hlp.c(1108),INFO" ID="0x8da622a5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[gatth_set_characteristic_value] memcpy failed @sdk_gatt_hlp.c(1145),ERROR" ID="0x8da623ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic rmt is NULL @sdk_gatt_hlp.c(1178),ERROR" ID="0x8da624d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic memcpy failed @sdk_gatt_hlp.c(1186),ERROR" ID="0x8da62512" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble general gatt write characteristic tl is NULL @sdk_gatt_hlp.c(1201),ERROR" ID="0x8da6258a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[SDK_GATT_HLP] HCI QOS state:%u @sdk_gatt_hlp.c(1550),ERROR" ID="0x8da63072" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[gatth_check_and_save_value] memcpy failed @sdk_gatt_hlp.c(1667),ERROR" ID="0x8da6341a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_server_execute_write_complete memcpy_s error @sdk_gatt_hlp.c(1764),ERROR" ID="0x8da63722" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_server_write_ind memcpy_s error @sdk_gatt_hlp.c(1908),ERROR" ID="0x8da63ba2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_server_write_ind memcpy_s error @sdk_gatt_hlp.c(1930),ERROR" ID="0x8da63c52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_send_response memcpy_s error @sdk_gatt_hlp.c(2283),ERROR" ID="0x8da6475a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SDK]gatth_notify_multiple_characteristic_changed memcpy_s error @sdk_gatt_hlp.c(2516),ERROR" ID="0x8da64ea2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info mem new fail @sdk_gatt_hlp.c(2568),ERROR" ID="0x8da65042" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info service uuid memcpy fail @sdk_gatt_hlp.c(2578),ERROR" ID="0x8da65092" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info attribute uuid memcpy fail @sdk_gatt_hlp.c(2583),ERROR" ID="0x8da650ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info addr memcpy fail @sdk_gatt_hlp.c(2588),ERROR" ID="0x8da650e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind data info val memcpy fail @sdk_gatt_hlp.c(2593),ERROR" ID="0x8da6510a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind can't find service by service hdl @sdk_gatt_hlp.c(2639),ERROR" ID="0x8da6527a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write pkt null @sdk_gatt_hlp.c(2645),ERROR" ID="0x8da652aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att write ind can't find server cbk by server hdl @sdk_gatt_hlp.c(2652),ERROR" ID="0x8da652e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info mem new fail @sdk_gatt_hlp.c(2684),ERROR" ID="0x8da653e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info service uuid memcpy fail @sdk_gatt_hlp.c(2695),ERROR" ID="0x8da6543a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info attribute uuid memcpy fail @sdk_gatt_hlp.c(2700),ERROR" ID="0x8da65462" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info addr memcpy fail @sdk_gatt_hlp.c(2705),ERROR" ID="0x8da6548a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind data info val memcpy fail @sdk_gatt_hlp.c(2711),ERROR" ID="0x8da654ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind can't find service by service hdl @sdk_gatt_hlp.c(2731),ERROR" ID="0x8da6555a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read pkt null @sdk_gatt_hlp.c(2737),ERROR" ID="0x8da6558a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]att read ind can't find server cbk by server hdl @sdk_gatt_hlp.c(2744),ERROR" ID="0x8da655c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]write element @sdk_gatt_hlp.c(2781),INFO" ID="0x8da656ed" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]read element @sdk_gatt_hlp.c(2785),INFO" ID="0x8da6570d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[sdk_gatt_hlp]write element free @sdk_gatt_hlp.c(2791),INFO" ID="0x8da6573d" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg3" NAME="[BTH][QOS]default flow limit max=%u line_high=%u line_low=%u @sdk_hlp.c(71),ERROR" ID="0x8b7a023a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]overflow ipc:%u fsm_tx:%u. @sdk_hlp.c(93),ERROR" ID="0x8b7a02ea" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]overflow hci_rx:%u hci_qos:%u. @sdk_hlp.c(94),ERROR" ID="0x8b7a02f2" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]warning ipc:%u fsm_tx:%u. @sdk_hlp.c(106),ERROR" ID="0x8b7a0352" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]warning hci_rx:%u hci_qos:%u. @sdk_hlp.c(107),ERROR" ID="0x8b7a035a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]release ipc:%u fsm_tx:%u. @sdk_hlp.c(118),ERROR" ID="0x8b7a03b2" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]release hci_rx:%u hci_qos:%u. @sdk_hlp.c(119),ERROR" ID="0x8b7a03ba" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[SDK][GAP] CTKD BR link key report, addr=0x%02x:**:**:**:0x%02x:0x%02x @sdk_hlp.c(895),WARNING" ID="0x8b7a1bfb" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[SDK][GAP] paired phone exist, dev_handle=0x%x @sdk_hlp.c(901),WARNING" ID="0x8b7a1c2b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="hlp_link_key_req_cbk no source addr:0x%x @sdk_hlp.c(996),INFO" ID="0x8b7a1f25" />
- <MSG STRUCTURE="diag_log_msg2" NAME="hlp_connection_ev_cbk_dis_conn hdl:0x%x status:%d @sdk_hlp.c(2151),INFO" ID="0x8b7a433d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[SDK] connect event cbk connected: %d, reason: %d link_type:%d! @sdk_hlp.c(2173),ERROR" ID="0x8b7a43ea" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[SDK] connect event cbk cap:%d addr:%02x******%02x%02x @sdk_hlp.c(2188),ERROR" ID="0x8b7a4462" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[SDK] connect event cbk status:%d dev_hdl:0x%x @sdk_hlp.c(2191),ERROR" ID="0x8b7a447a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="hlp_link_key_req_cbk no source addr:0x%x @sdk_hlp.c(898),INFO" ID="0x8b7a1c15" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="hlp_connection_ev_cbk_dis_conn hdl:0x%x status:%d @sdk_hlp.c(2053),INFO" ID="0x8b7a402d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[SDK] connect event cbk connected: %d, reason: %d link_type:%d! @sdk_hlp.c(2074),ERROR" ID="0x8b7a40d2" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[SDK] connect event cbk cap:%d addr:%02x******%02x%02x @sdk_hlp.c(2089),ERROR" ID="0x8b7a414a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[SDK] connect event cbk status:%d dev_hdl:0x%x @sdk_hlp.c(2092),ERROR" ID="0x8b7a4162" />
</MSG_LOG>
\ No newline at end of file
<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="pce_update_status null returned @sdk_pbap.c(168),WARNING" ID="0x8b740543" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pbap_pull_phone_book conn_hdl=0x%x @sdk_pbap.c(670),INFO" ID="0x8b7414f5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pbap_pull_phone_book err ret=0x%x @sdk_pbap.c(683),WARNING" ID="0x8b74155b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s failed @sdk_pbap.c(696),ERROR" ID="0x8b7415c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s failed @sdk_pbap.c(843),ERROR" ID="0x8b741a5a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s failed @sdk_pbap.c(943),ERROR" ID="0x8b741d7a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pbap_pull_phone_book conn_hdl=0x%x @sdk_pbap.c(669),INFO" ID="0x8b7414ed" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pbap_pull_phone_book err ret=0x%x @sdk_pbap.c(682),WARNING" ID="0x8b741553" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg4" NAME="BT run time:%d, BT deep sleep time:%d, light sleep time:%d, BT sleep flag:%d @security_main.c(287),INFO" ID="0xa00008fd" />
- <MSG STRUCTURE="diag_log_msg4" NAME="BT deepsleep cnt:%d, BT light sleep cnt:%d, last veto id:%d, last veto count:%d @security_main.c(290),INFO" ID="0xa0000915" />
- <MSG STRUCTURE="diag_log_msg3" NAME="PLT 32K freq is %d, cnt is %d, kick cnt is %d. @security_main.c(292),INFO" ID="0xa0000925" />
- <MSG STRUCTURE="diag_log_msg0" NAME="enter sec_main fuction @security_main.c(387),INFO" ID="0xa0000c1d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="The chip needs to be replaced. @security_main.c(562),INFO" ID="0xa0001195" />
- <MSG STRUCTURE="diag_log_msg3" NAME="BT year:0x%x, month:0x%x, day:0x%x, No verification is required. @security_main.c(569),INFO" ID="0xa00011cd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="The chip does not need to be verified. @security_main.c(596),INFO" ID="0xa00012a5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="The chip verification failed. @security_main.c(604),INFO" ID="0xa00012e5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Security enhancement verification succeeded. @security_main.c(609),INFO" ID="0xa000130d" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg4" NAME="BT run time:%d, BT deep sleep time:%d, light sleep time:%d, BT sleep flag:%d @security_main.c(283),INFO" ID="0xa00008dd" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="BT deepsleep cnt:%d, BT light sleep cnt:%d, last veto id:%d, last veto count:%d @security_main.c(286),INFO" ID="0xa00008f5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="enter sec_main fuction @security_main.c(381),INFO" ID="0xa0000bed" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="The chip needs to be replaced. @security_main.c(555),INFO" ID="0xa000115d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="BT year:0x%x, month:0x%x, day:0x%x, No verification is required. @security_main.c(562),INFO" ID="0xa0001195" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="The chip does not need to be verified. @security_main.c(589),INFO" ID="0xa000126d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="The chip verification failed. @security_main.c(597),INFO" ID="0xa00012ad" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Security enhancement verification succeeded. @security_main.c(602),INFO" ID="0xa00012d5" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[SMP][LongTermKeyRequest]key->fea = 0x%x @smp_ui.c(430),INFO" ID="0x8dac0d75" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest]key == NULL @smp_ui.c(434),INFO" ID="0x8dac0d95" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[SMP][LongTermKeyRequest]link->hcihdl = %u, link->remote = 0x%x, key = 0x%x @smp_ui.c(461),INFO" ID="0x8dac0e6d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][No LESC LTK SEND] @smp_ui.c(474),INFO" ID="0x8dac0ed5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][DIV mismatch, Unpaired] @smp_ui.c(498),INFO" ID="0x8dac0f95" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][ECDH LTK unavailable, pair!=NULL] @smp_ui.c(511),INFO" ID="0x8dac0ffd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][LTK unavailable, pair=NULL] @smp_ui.c(524),INFO" ID="0x8dac1065" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[SMP][LongTermKeyRequest]LKT:0x%02x%02x%02x%02x @smp_ui.c(531),ERROR" ID="0x8dac109a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][Send Negative Reply!] @smp_ui.c(546),INFO" ID="0x8dac1115" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[SMP][LongTermKeyRequest]key->fea = 0x%x @smp_ui.c(426),INFO" ID="0x8dac0d55" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest]key == NULL @smp_ui.c(430),INFO" ID="0x8dac0d75" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[SMP][LongTermKeyRequest]link->hcihdl = %u, link->remote = 0x%x, key = 0x%x @smp_ui.c(457),INFO" ID="0x8dac0e4d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][No LESC LTK SEND] @smp_ui.c(470),INFO" ID="0x8dac0eb5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][DIV mismatch, Unpaired] @smp_ui.c(494),INFO" ID="0x8dac0f75" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][ECDH LTK unavailable, pair!=NULL] @smp_ui.c(507),INFO" ID="0x8dac0fdd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][LTK unavailable, pair=NULL] @smp_ui.c(520),INFO" ID="0x8dac1045" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[SMP][LongTermKeyRequest]LKT:0x%02x%02x%02x%02x @smp_ui.c(527),ERROR" ID="0x8dac107a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[SMP][LongTermKeyRequest][Send Negative Reply!] @smp_ui.c(542),INFO" ID="0x8dac10f5" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[SPP][AddEntry] vport=%d @sppui.c(158),INFO" ID="0x8b6604f5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[SPP][DelEntry] vport=%d @sppui.c(234),INFO" ID="0x8b660755" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[SPP][WRITE_DATA] CONGEST=%d, CREDITIN=%d @sppui.c(543),INFO" ID="0x8b6610fd" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[SPP][WRITE_DATA] CONGEST=%d, CREDITIN=%d @sppui.c(656),INFO" ID="0x8b661485" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[SPP][AddEntry] vport=%d @sppui.c(157),INFO" ID="0x8b6604ed" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[SPP][DelEntry] vport=%d @sppui.c(233),INFO" ID="0x8b66074d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[SPP][WRITE_DATA] CONGEST=%d, CREDITIN=%d @sppui.c(542),INFO" ID="0x8b6610f5" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[SPP][WRITE_DATA] CONGEST=%d, CREDITIN=%d @sppui.c(654),INFO" ID="0x8b661475" />
</MSG_LOG>
\ No newline at end of file
set(SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/dfx_channel.c
- ${CMAKE_CURRENT_SOURCE_DIR}/diag_audio.c
${CMAKE_CURRENT_SOURCE_DIR}/dfx_system_init.c
${CMAKE_CURRENT_SOURCE_DIR}/diag_adapt_cmd_mem.c
${CMAKE_CURRENT_SOURCE_DIR}/last_dump_adapt.c
#endif\r
#include "bts_gatt_server.h"\r
\r
+\r
#define DIAG_SER_DATA_MFS 990\r
-#define DIAG_SER_GATT_DATA_MFS 500\r
#ifdef SUPPORT_ALIPAY_SEC\r
#define DIAG_SER_DATA_MAX_LEN 0x3000\r
#else\r
return ret;\r
}\r
\r
-void diag_gatt_write_req_cbk(uint8_t server_id, uint16_t conn_id, gatts_req_write_cb_t *write_cb_para,\r
+static void diag_gatt_write_req_cbk(uint8_t server_id, uint16_t conn_id, gatts_req_write_cb_t *write_cb_para,\r
errcode_t status)\r
{\r
g_diag_gatt_hdl = write_cb_para->handle;\r
\r
static void diag_channel_register_bt_gatt_callback(void)\r
{\r
-#ifndef SUPPORT_AT_OHOSFWK\r
gatts_callbacks_t cb = {0};\r
cb.write_request_cb = diag_gatt_write_req_cbk;\r
(void)gatts_register_callbacks(&cb);\r
-#endif\r
}\r
\r
errcode_t diag_cmd_uart_config(uint16_t cmd_id, void *cmd_param, uint16_t cmd_param_size, diag_option_t *option)\r
if (uapi_diag_channel_set_tx_hook(DIAG_CHANNEL_ID_2, diag_channel_bt_gatt_output) != ERRCODE_SUCC) {\r
return ERRCODE_FAIL;\r
}\r
-\r
- if (uapi_diag_channel_set_mfs(DIAG_CHANNEL_ID_2, DIAG_SER_GATT_DATA_MFS, DIAG_SER_DATA_MAX_LEN) != ERRCODE_SUCC) {\r
- return ERRCODE_FAIL;\r
- }\r
-\r
diag_channel_register_bt_gatt_callback();\r
#endif /* CONFIG_DFX_SUPPORT_DIAG_CONNECT_BLE */\r
return ERRCODE_SUCC;\r
#include <stdint.h>\r
#include "errcode.h"\r
#include "diag.h"\r
-#include "bts_gatt_server.h"\r
-\r
-#ifdef __cplusplus\r
-#if __cplusplus\r
-extern "C" {\r
-#endif /* __cplusplus */\r
-#endif /* __cplusplus */\r
\r
void diag_uart_rx_proc(uint8_t *buffer, uint16_t length);\r
errcode_t diag_register_channel(void);\r
errcode_t diag_cmd_uart_config(uint16_t cmd_id, void *cmd_param, uint16_t cmd_param_size, diag_option_t *option);\r
errcode_t diag_cmd_set_offline_log(uint16_t cmd_id, void *cmd_param, uint16_t cmd_param_size, diag_option_t *option);\r
-void diag_gatt_write_req_cbk(uint8_t server_id, uint16_t conn_id, gatts_req_write_cb_t *write_cb_para,\r
- errcode_t status);\r
-\r
-#ifdef __cplusplus\r
-#if __cplusplus\r
-}\r
-#endif /* __cplusplus */\r
-#endif /* __cplusplus */\r
#endif
\ No newline at end of file
#include "soc_log_uart_instance.h"
#include "sample_data_adapt.h"
#include "dfx_channel.h"
-#include "diag_audio.h"
#include "transmit.h"
#include "log_file.h"
#include "soc_log_strategy.h"
{ DIAG_CMD_SET_OFFLINE_LOG, DIAG_CMD_SET_OFFLINE_LOG, diag_cmd_set_offline_log },
{ DIAG_CMD_ID_DIAG_DFX_REQ, DIAG_CMD_ID_DIAG_DFX_END, diag_dfx_cmd },
{ DIAG_CMD_ID_DBG_STAT_QUERY, DIAG_CMD_ID_DBG_STAT_QUERY, diag_cmd_stat_query },
-#ifdef SUPPORT_MEDIA_AUDIO_MANAGER
- { DIAG_CMD_AUDIO_SEE_EFFECT_REQ, DIAG_CMD_AUDIO_SEE_EFFECT_REQ, diag_see_param_trans },
- { DIAG_CMD_AUDIO_SAVE_SEE_EFFECT_REQ, DIAG_CMD_AUDIO_SAVE_SEE_EFFECT_REQ, diag_see_param_save },
-#endif
};
static unsigned long g_dfx_osal_queue_id = DFX_INVALID_QUEUE_ID;
+++ /dev/null
-/*\r
- * Copyright (c) @CompanyNameMagicTag 2024-2024. All rights reserved.\r
- * Description: audio diag\r
- * Author: audio\r
- * Create: 2024-06-06\r
- */\r
-\r
-#include "diag.h"\r
-#ifdef CONFIG_NV_FEATURE_SUPPORT\r
-#include "nv.h"\r
-#endif\r
-#ifdef SUPPORT_MEDIA_AUDIO_MANAGER\r
-#include "audio_manager_c_wrapper.h"\r
-#endif\r
-#include "debug_print.h"\r
-#include "soc_diag_cmd_id.h"\r
-#include "diag_audio.h"\r
-\r
-#define GET_SEE_PARAM_FIRST_POS 0\r
-#define DEBUGKITS_READ_PARAM_TAG 0xff\r
-#define PARSE_EFFECT_PARAM_FLAG_POS 0\r
-\r
-#define audio_unused(var) (void)(var)\r
-\r
-/*\r
- * Debugkit menu点击通知 读取/配置 3A算法参数\r
- *\r
- * 当点击Read时,读取当前3A算法参数\r
- * 当点击Write时,将界面中的3A算法参数配置下去,并使能到算法中\r
- */\r
-#ifdef SUPPORT_MEDIA_AUDIO_MANAGER\r
-errcode_t diag_see_param_trans(uint16_t cmd_id, void *cmd_param, uint16_t cmd_param_size, diag_option_t *option)\r
-{\r
- errcode_t ret;\r
- uint8_t *param = (uint8_t *)cmd_param;\r
-\r
- if (cmd_param_size != NV_AUDIO_VQE_PARAM_SIZE * sizeof(uint32_t)) {\r
- PRINT("[audio][diag] cmd_param_size invalid\r\n");\r
- return ERRCODE_FAIL;\r
- }\r
-\r
- if (param[GET_SEE_PARAM_FIRST_POS] != DEBUGKITS_READ_PARAM_TAG) {\r
- /* set param , this func return 0 when success */\r
- ret = AudioManagerSetSeaParam((uint8_t *)param, cmd_param_size);\r
- if (ret != ERRCODE_SUCC) {\r
- PRINT("[audio][diag] set param fail\r\n");\r
- return ERRCODE_FAIL;\r
- }\r
- } else {\r
- /* get param , this func return 0 when success */\r
- ret = AudioManagerGetSeaParam((uint8_t *)param, cmd_param_size);\r
- if (ret != ERRCODE_SUCC) {\r
- PRINT("[audio][diag] get param fail\r\n");\r
- return ERRCODE_FAIL;\r
- }\r
- }\r
-\r
- return uapi_diag_report_packet(cmd_id, option, (uint8_t *)cmd_param, (uint16_t)cmd_param_size, true);\r
-}\r
-\r
-static errcode_t audio_manager_save_sea_param(uint8_t *sea_param, uint16_t len)\r
-{\r
- if (sea_param == NULL || len != sizeof(audio_vqe_param_t)) {\r
- PRINT("[audio_manager_save_sea_param]sea_param null or len invalid");\r
- return ERRCODE_INVALID_PARAM;\r
- }\r
-\r
-#ifdef CONFIG_NV_FEATURE_SUPPORT\r
- errcode_t nv_op = uapi_nv_write((uint16_t)NV_ID_AUDIO_VQE_PARAM, sea_param, len);\r
- if (nv_op != ERRCODE_SUCC) {\r
- return ERRCODE_FAIL;\r
- }\r
-#endif\r
- return ERRCODE_SUCC;\r
-}\r
-\r
-/* debugkit menu点击Save保存所有3A参数 */\r
-errcode_t diag_see_param_save(uint16_t cmd_id, void *cmd_param, uint16_t cmd_param_size, diag_option_t *option)\r
-{\r
- audio_vqe_param_t *nv_data = (audio_vqe_param_t *)malloc(sizeof(audio_vqe_param_t));\r
- if (nv_data == NULL) {\r
- PRINT("[audio][diag] malloc fail\r\n");\r
- return ERRCODE_MALLOC;\r
- }\r
- (void)memset_s(nv_data, sizeof(audio_vqe_param_t), 0, sizeof(audio_vqe_param_t));\r
-\r
- nv_data->size = NV_AUDIO_VQE_PARAM_SIZE;\r
- errcode_t ret = AudioManagerGetSeaParam((uint8_t *)nv_data->data, NV_AUDIO_VQE_PARAM_SIZE * sizeof(uint32_t));\r
- if (ret != ERRCODE_SUCC) {\r
- free(nv_data);\r
- PRINT("[audio][diag] get param fail\r\n");\r
- return ERRCODE_FAIL;\r
- }\r
-\r
- errcode_t nv_op = audio_manager_save_sea_param((uint8_t *)nv_data, (uint16_t)sizeof(audio_vqe_param_t));\r
- if (nv_op != ERRCODE_SUCC) {\r
- free(nv_data);\r
- PRINT("[audio][diag] save param nv fail\r\n");\r
- return ERRCODE_FAIL;\r
- }\r
- free(nv_data);\r
-\r
- errcode_t op = uapi_diag_report_packet(cmd_id, option, &ret, sizeof(uint8_t), true);\r
- if (op != ERRCODE_SUCC) {\r
- PRINT("[audio][diag] read rpt fail %u\r\n", op);\r
- }\r
-\r
- audio_unused(cmd_param);\r
- audio_unused(cmd_param_size);\r
- return op;\r
-}\r
-#endif /* SUPPORT_MEDIA_AUDIO_MANAGER */
\ No newline at end of file
+++ /dev/null
-/*\r
- * Copyright (c) @CompanyNameMagicTag 2024-2024. All rights reserved.\r
- * Description: adapt sdt\r
- * This file should be changed only infrequently and with great care.\r
- * Author: audio\r
- * Create: 2024-06-06\r
- */\r
-\r
-#ifndef DIAG_AUDIO_H\r
-#define DIAG_AUDIO_H\r
-#include <stdint.h>\r
-#include "errcode.h"\r
-#include "diag.h"\r
-\r
-#define NV_AUDIO_VQE_PARAM_SIZE 48\r
-\r
-typedef struct {\r
- uint32_t size;\r
- uint32_t data[NV_AUDIO_VQE_PARAM_SIZE];\r
-} audio_vqe_param_t;\r
-\r
-errcode_t diag_see_param_save(uint16_t cmd_id, void *cmd_param, uint16_t cmd_param_size, diag_option_t *option);\r
-errcode_t diag_see_param_trans(uint16_t cmd_id, void *cmd_param, uint16_t cmd_param_size, diag_option_t *option);\r
-#endif
\ No newline at end of file
JSI_UTILS_CPP,
MSG_CENTER_CMD_CPP,
MSG_CENTER_CPP,
- MSG_CENTER_OTA_CPP,
MSG_CENTER_CUSTOMER_CPP,
MSG_CENTER_PROTOCOL_CPP,
ALARM_NOTIFICATION_CPP,
IMAGE_COMPONENT_CPP,
INPUT_BUTTON_COMPONENT_CPP,
INPUT_CHECKBOX_COMPONENT_CPP,
- INPUT_EDITTEXT_COMPONENT_CPP,
INPUT_RADIO_COMPONENT_CPP,
LIST_ADAPTER_CPP,
LIST_COMPONENT_CPP,
DIRECTIVE_WATCHER_CALLBACK_CPP,
JSI_CPP,
APP_MODULE_CPP,
- DEVICE_MODULE_CPP,
DFX_MODULE_CPP,
DIALOG_MODULE_CPP,
LOCALE_MODULE_CPP,
#define DIAG_CMD_SET_TIME diag_cmd_id_comb(0x23)\r
\r
/* PQUI cmd [0x24, 0x2F] */\r
-#define DIAG_CMD_AUDIO_HAID_REQ diag_cmd_id_comb(0x24)\r
-#define DIAG_CMD_AUDIO_SWS_EFFECT_REQ diag_cmd_id_comb(0x25)\r
-#define DIAG_CMD_AUDIO_SEE_EFFECT_REQ diag_cmd_id_comb(0x26)\r
-#define DIAG_CMD_AUDIO_SAVE_SEE_EFFECT_REQ diag_cmd_id_comb(0x2f)\r
+#define DIAG_CMD_AUDIO_HAID_REQ diag_cmd_id_comb(0x24)\r
+#define DIAG_CMD_AUDIO_SWS_EFFECT_REQ diag_cmd_id_comb(0x25)\r
+#define DIAG_CMD_AUDIO_SEE_EFFECT_REQ diag_cmd_id_comb(0x26)\r
\r
/* NV read and write commands [0x30, 0x33] */\r
#define DIAG_CMD_NV_RD diag_cmd_id_comb(0x30)\r
\r
static void disable_watchdog(void)\r
{\r
-#ifndef BUILD_APPLICATION_SSB\r
#ifdef SUPPORT_WATCHDOG\r
#if MASTER_BY_BRANDY_ONLY\r
/* If the clock of the watchdog is not enabled, the next operation register triggers an exception. */\r
#if MASTER_BY_BRANDY_ONLY\r
watchdog_turnoff_clk();\r
#endif\r
-#endif\r
+#else\r
+ return;\r
#endif\r
}\r
\r
"key_id": "0x2101",
"key_status": "alive",
"structure_type": "btsrv_local_device_info_t",
- "attributions": 4,
+ "attributions": 1,
"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",
"key_status": "alive",
"structure_type": "btsrv_paired_device_info_t",
- "attributions": 4,
+ "attributions": 1,
"value": [0]
},
"btsrv_tx_power_info":{
"key_id": "0x2104",
"key_status": "alive",
"structure_type": "bth_product_data_config_t",
- "attributions": 4,
+ "attributions": 1,
"value": [0]
},
"audio_vqe_param":{
65576964, 1000, 679102459, 67108874, 327680, 655367, 2126009683,
654734439, 1, 0, 0, 0, 0, 0, 10551272, 655336, 4286447619, 64536,
500, 16384, 3277, 0, 66049, 0]]
- },
- "custom_key_serial_num":{
- "key_id": "0x1010",
- "key_status": "alive",
- "structure_type": "custom_key_sn_t",
- "attributions": 4,
- "value": [32,
- [0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0]]
}
}
}
"key_id": "0x2101",
"key_status": "alive",
"structure_type": "btsrv_local_device_info_t",
- "attributions": 4,
+ "attributions": 1,
"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",
"key_status": "alive",
"structure_type": "btsrv_paired_device_info_t",
- "attributions": 4,
+ "attributions": 1,
"value": [0]
},
"btsrv_tx_power_info":{
"key_id": "0x2104",
"key_status": "alive",
"structure_type": "bth_product_data_config_t",
- "attributions": 4,
+ "attributions": 1,
"value": [0]
},
"audio_vqe_param":{
65576964, 1000, 679102459, 67108874, 327680, 655367, 2126009683,
654734439, 1, 0, 0, 0, 0, 0, 10551272, 655336, 4286447619, 64536,
500, 16384, 3277, 0, 66049, 0]]
- },
- "custom_key_serial_num":{
- "key_id": "0x1010",
- "key_status": "alive",
- "structure_type": "custom_key_sn_t",
- "attributions": 4,
- "value": [32,
- [0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0]]
}
}
}
PM_ID_JPEG,
PM_ID_JS,
PM_ID_MSGCENTER,
- PM_ID_SPI_DMA,
- PM_ID_I2C_DMA,
- PM_ID_UART_DMA,
PM_ID_HEART,//新增,心率芯片
PM_ID_MOTOR,//新增,马达
PM_ID_GSENSOR,//新增,加速计
"PM_ID_JPEG",
"PM_ID_JS",
"PM_ID_MSGCENTER",
- "PM_ID_SPI_DMA",
- "PM_ID_I2C_DMA",
- "PM_ID_UART_DMA",
"PM_ID_HEART",//新增,心率芯片
"PM_ID_MOTOR",//新增,马达
"PM_ID_GSENSOR",//新增,加速计
#endif
#endif
-#if defined (MEMORY_MINI) || defined (SUPPORT_AUTO_OTA_SERVER)
-#define UPG_FILE_PATH "/user/"
-#define UPG_RES_INDEX_PATH "/user/res_index.bin"
-#define UPG_FILE_NAME "/user/update.fwpkg"
-#else
+// #if MEMORY_MINI
+// #define UPG_FILE_PATH "/user/"
+// #define UPG_RES_INDEX_PATH "/user/res_index.bin"
+// #define UPG_FILE_NAME "/user/update.fwpkg"
+// #else
#define UPG_FILE_PATH "/update/"
#define UPG_RES_INDEX_PATH "/update/res_index.bin"
#define UPG_FILE_NAME "/update/update.fwpkg"
-#endif
+// #endif
#define UPG_FLASH_SIZE (FLASH_MAX_END - FLASH_START)
#define UPG_FLASH_PAGE_SIZE FLASH_PAGE_SIZE /* Bytes per sector */
vau_err("vau_draw_make_paint failed");
return ret;
}
-
vau_draw_make_matrix(m, &sw_node->hw_node);
vau_draw_make_src1(src1, &sw_node->hw_node);
vau_draw_make_dst(surface_list->dst_surface, &sw_node->hw_node);
#ifdef CONFIG_VAU_DRAW_DIRECTLY
#include "vau_draw.h"
#endif
-#include "vau_hal_apb.h"
#define VAU_SRC_SURFACE_CNT_MAX 20
#define VAU_GRADIENT_RATIO 128
return EXT_SUCCESS;
}
-
-td_s32 uapi_vau_set_cubic_threshold(td_float cubic_threshold)
-{
- // cubic_threshold Range: 1.0/0.5/0.25/0.125
- if ((cubic_threshold != 0.125) && (cubic_threshold != 0.25) && (cubic_threshold != 0.5) &&
- (cubic_threshold != 1.0)) {
- vau_err("input val [%f] is wrong, need equal 0.125 or 0.25 or 0.5 or 1.0", cubic_threshold);
- return EXT_FAILURE;
- }
-
- vau_hal_apb_set_cubic_threshold(cubic_threshold);
- return EXT_SUCCESS;
-}
u_vau_draw_cvrg_weight1 weight1;\r
\r
quad.bits.threshold_quad = 0.125; /* 0.125 : default threshold for quad split */\r
- cubic.bits.threshold_cubic = 0.125; /* 0.125 : default threshold for cubic split */\r
+ cubic.bits.threshold_cubic = 1.0f; /* 0.125 : default threshold for cubic split */\r
\r
weight0.bits.weight0 = 32; /* 32 default weithg for 8x */\r
weight0.bits.weight1 = 32; /* 32 default weithg for 8x */\r
vau_hal_apb_vector_draw_init_sample();\r
}\r
\r
-td_void vau_hal_apb_set_cubic_threshold(td_float cubic_threshold)\r
-{\r
- u_vau_draw_threshold_cubic cubic;\r
-\r
- if (cubic_threshold != 0) {\r
- cubic.bits.threshold_cubic = cubic_threshold;\r
- uapi_reg_write(HAL_VAU_DRAW_THRESHOLD_CUBIC, cubic.u32);\r
- } else {\r
- cubic.bits.threshold_cubic = 0.125; /* 0.125 : default threshold for cubic split */\r
- uapi_reg_write(HAL_VAU_DRAW_THRESHOLD_CUBIC, cubic.u32);\r
- }\r
-}\r
-\r
td_void vau_hal_apb_vector_cmddata_range(td_u32 type, td_u32 start, td_u32 end)\r
{\r
if (type == VAU_VECTOR_RANGE_CMD) {\r
td_void vau_hal_apb_print_all_reg(td_void);\r
td_void vau_hal_apb_vector_cmddata_range(td_u32 type, td_u32 start, td_u32 end);\r
td_void vau_hal_apb_sram_ctrl(td_bool lp_en);\r
-td_void vau_hal_apb_set_cubic_threshold(td_float cubic_threshold);\r
+\r
#ifdef __cplusplus\r
#if __cplusplus\r
}\r
#define MEM_POOL_UI_POOL_SIZE PSRAM_GUI_MEM_POOL_SIZE
#define MEM_POOL_UI_FONT PSRAM_GUI_MEM_POOL_ADDR
#if PSRAM_DENSITY_MB == 16
-#define MEM_POOL_UI_FONT_SIZE 0x132000
+#define MEM_POOL_UI_FONT_SIZE 0x100000
#else
#define MEM_POOL_UI_FONT_SIZE 0x380000
#endif
}
uint8_t *pool = g_poolId;
- if (((info->usage & HBM_USE_MEM_FONT) == HBM_USE_MEM_FONT) ||
- ((info->usage & HBM_USE_MEM_PATH) == HBM_USE_MEM_PATH)){
+ if ((info->usage & HBM_USE_MEM_FONT) == HBM_USE_MEM_FONT) {
pool = g_fontPoolId;
}
}
#endif
}
- } else if (((handle->usage & HBM_USE_MEM_FONT) == HBM_USE_MEM_FONT) ||
- ((handle->usage & HBM_USE_MEM_PATH) == HBM_USE_MEM_PATH)){
+ } else if ((handle->usage & HBM_USE_MEM_FONT) == HBM_USE_MEM_FONT) {
LosFreeMem(g_fontPoolId, handle->virAddr);
} else {
LosFreeMem(g_poolId, handle->virAddr);
*/\r
void SetRotateAngle(float angle);\r
\r
- /**\r
- * @brief Obtains the component type.\r
- *\r
- * @return Returns the component type, as defined in {@link UIViewType}.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- UIViewType GetViewType() const override\r
- {\r
- return UI_COVER_FLOW;\r
- }\r
-\r
/**\r
* @brief Represents a listener for swipe of the coverflow view.\r
*/\r
return UI_CROSS_VIEW;
}
- /**
- * @brief Set background blur radius. Default value is 10.
- * @since 1.0
- * @version 1.0
- */
- void SetBlurRadius(uint16_t radius) {
- blurRadius_ = radius;
- }
-
private:
- uint16_t blurRadius_ = 10;
void UpdateCardPageIndex();
static constexpr uint16_t INVALID_VIEW_INDEX = 0xff;
bool loop_ = false;
UIIcosahedronView();\r
virtual ~UIIcosahedronView();\r
\r
- /**\r
- * @brief Obtains the view type.\r
- * @return Returns the view type.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- UIViewType GetViewType() const override\r
- {\r
- return UI_ICOSAHEDRON_VIEW;\r
- }\r
-\r
/**\r
* @brief Set the edge length of the icosahedron.\r
*\r
*/\r
bool RotatePlanes(int16_t angle, const Vector3<float>& pivotStart, const Vector3<float>& pivotEnd);\r
\r
- /**\r
- * @brief Set default Image,the default picture will be used if less than 20 faces are set\r
- * @param src Pointer to a ImageInfo struct, which is the source img for kaleidoscope img.\r
- * the size of img must match the size of screen.\r
- */\r
- void SetDefaultImage(ImageInfo* src)\r
+ UIViewType GetViewType() const override\r
{\r
- defaultSrc_ = src;\r
+ return UI_ICOSAHEDRON_VIEW;\r
}\r
\r
- /**\r
- * @brief set luminance compensation factor, adjust brightness.\r
- *\r
- * @param value Indicates luminance compensation factor.\r
- * Multiple of the original base compensation setting.\r
- */\r
- void SetLuminanceFactor(float value)\r
- {\r
- luminanceFactor_ = value;\r
- }\r
- /**\r
- * @brief Draws this image view.\r
- *\r
- * @param invalidatedArea Indicates the area to draw.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- void OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea) override;\r
protected:\r
bool OnDragStartEvent(const DragEvent& event);\r
bool OnDragEvent(const DragEvent& event);\r
Vector3<float> rotateEnd_;\r
};\r
Matrix4<float> CalculateRotateMatrix(TriangularPlane dst);\r
- uint8_t GetCurrentPlaneOpt(Vector4<float> normal);\r
-\r
- void AdjustScaleAndTranslate(Vector3<float>& scale,\r
- Vector3<int16_t>& translate, int16_t widgetWidth, int16_t widgetHeight);\r
Point startPoint_;\r
uint16_t sideLen_;\r
\r
Animator inertiaAnimator_;\r
inertiaAnimatorCallback inertiaCallback_;\r
float lastAngle_;\r
- ImageInfo* defaultSrc_;\r
- float luminanceFactor_;\r
};\r
} // namespace OHOS\r
#endif // UI_ICOSAHEDRON_H
\ No newline at end of file
* @version 1.0
*/
UILabelButtonExt() {}
-
/**
* @brief A destructor used to delete the <b>UILabelButtonExt</b> instance.
*
* @version 1.0
*/
~UILabelButtonExt() override {}
-
- /**
- * @brief Obtains the view type.
- * @return Returns the view type.
- * @since 1.0
- * @version 1.0
- */
- UIViewType GetViewType() const override
- {
- return UI_LABEL_BUTTON_EXT;
- }
-
+
/**
* @brief Set the text id
*
*/
~UILabelExt() override {}
- /**
- * @brief Obtains the view type.
- * @return Returns the view type.
- * @since 1.0
- * @version 1.0
- */
- UIViewType GetViewType() const override
- {
- return UI_LABEL_EXT;
- }
/**
* @brief Set the text id
*
*/
void ForceResetText() override;
- void SetTextTransformMap(TransformMap& transMap);
protected:
void InitLabelText() override;
};
bool isStopped_ = true;
bool isLayerInit_ : 1;
uint8_t flushCount_;
- std::shared_ptr<LiteSurface> surface_ = nullptr;
+ LiteSurface* surface_ = nullptr;
SurfaceBuffer* lastFlushedBuffer_ = nullptr;
SurfaceBuffer* currentBuffer_ = nullptr;
GraphicMutex lock_;
#ifndef GRAPHIC_LITE_UI_MENU_ITEM_H\r
#define GRAPHIC_LITE_UI_MENU_ITEM_H\r
#include "graphic_config.h"\r
-#include "components/ui_view_group.h"\r
-#include "components/ui_label_ext.h"\r
+#include "components/ui_button.h"\r
#include "components/ui_image_view.h"\r
+#include "common/text.h"\r
\r
namespace OHOS {\r
/**\r
* @since 1.0\r
* @version 1.0\r
*/\r
-class UIMenuItem : public UIViewGroup {\r
+class UIMenuItem : public UIButton {\r
public:\r
UIMenuItem(const UIMenuItem &) = delete;\r
UIMenuItem &operator=(const UIMenuItem &) = delete;\r
*/\r
void SetText(const char* text)\r
{\r
- InitUILabelExt();\r
- label_->SetText(text);\r
- ReMeasure();\r
+ InitText();\r
+ text_->SetText(text);\r
}\r
/**\r
* @brief Sets the alignment mode for this text.\r
*/\r
void SetAlign(UITextLanguageAlignment align)\r
{\r
- InitUILabelExt();\r
- label_->SetAlign(align, TEXT_ALIGNMENT_CENTER);\r
+ InitText();\r
+ text_->SetAlign(align, TEXT_ALIGNMENT_CENTER);\r
}\r
\r
/**\r
*/\r
void SetDirect(UITextLanguageDirect direct)\r
{\r
- InitUILabelExt();\r
- label_->SetDirect(direct);\r
+ InitText();\r
+ text_->SetDirect(direct);\r
}\r
\r
/**\r
*/\r
void SetLabelStyle(Style& labelStyle)\r
{\r
- InitUILabelExt();\r
- label_->SetStyle(labelStyle);\r
+ textStyle_ = labelStyle;\r
}\r
\r
/**\r
*/\r
void SetLabelStyle(uint8_t key, int64_t value)\r
{\r
- InitUILabelExt();\r
- label_->SetStyle(key, value);\r
+ textStyle_.SetStyle(key, value);\r
}\r
\r
/**\r
*/\r
void SetTextColor(ColorType color)\r
{\r
- InitUILabelExt();\r
- label_->SetTextColor(color);\r
+ textStyle_.textColor_ = color;\r
}\r
\r
/**\r
*/\r
void SetFont(const char* name, uint8_t size)\r
{\r
- InitUILabelExt();\r
- label_->SetFont(name, size);\r
+ InitText();\r
+ text_->SetFont(name, size);\r
}\r
\r
/**\r
*/\r
void SetFontId(uint8_t fontId)\r
{\r
- InitUILabelExt();\r
- label_->SetFontId(fontId);\r
+ InitText();\r
+ text_->SetFontId(fontId);\r
}\r
\r
/**\r
- * @brief Sets the line break mode for this text.\r
+ * @brief Init text.\r
*\r
- * @param lineBreakMode Indicates the line break mode to set.\r
* @since 1.0\r
* @version 1.0\r
*/\r
- void SetLineBreakMode(const uint8_t lineBreakMode)\r
+ void InitText()\r
{\r
- labelLineBreakMode_ = lineBreakMode;\r
- needRefresh_ = true;\r
- }\r
-\r
- /**\r
- * @brief Set the text id.\r
- *\r
- * @param textId Indicates text id.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- void SetTextId(uint16_t textId)\r
- {\r
- InitUILabelExt();\r
- label_->SetTextId(textId);\r
- ReMeasure();\r
+ if (text_ == nullptr) {\r
+ text_ = new Text();\r
+ if (text_ == nullptr) {\r
+ return;\r
+ }\r
+ text_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ UpdateRect();\r
+ SetScaleCenter();\r
+ }\r
}\r
\r
/**\r
void SetImgOffset(int16_t offset)\r
{\r
imgOffset_ = offset;\r
- needRefresh_ = true;\r
+ UpdateRect();\r
+ SetScaleCenter();\r
}\r
\r
/**\r
void SetTextOffset(int16_t offset)\r
{\r
textOffset_ = offset;\r
- needRefresh_ = true;\r
+ UpdateRect();\r
+ SetScaleCenter();\r
}\r
\r
/**\r
void SetScaleAlignMode(ScaleAlignMode mode)\r
{\r
transAlignMode_ = mode;\r
- needRefresh_ = true;\r
}\r
\r
/**\r
\r
void ReMeasure() override;\r
void OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea) override;\r
+\r
void DumpImgInfo() override;\r
\r
private:\r
- void InitUILabelExt();\r
- void InitUIImageView();\r
- void SetScaleCenter();\r
-\r
- UIImageView* image_;\r
- UILabelExt* label_;\r
- Rect textOrigRect_;\r
- Rect imgOrigRect_;\r
- uint8_t labelLineBreakMode_;\r
- bool needRefresh_;\r
+ UIImageView* image_ = nullptr;\r
+ Style textStyle_;\r
+ Rect textRect_;\r
+ Rect imgRect_;\r
int16_t imgOffset_ = 0;\r
int16_t textOffset_ = 20; // 20: default text offset.\r
+ Text* text_ = nullptr;\r
Vector2<float> textScaleCenter_ = {0.0, 0.0};\r
Vector2<float> imgScaleCenter_ = {0.0, 0.0};\r
Vector2<float> itemScaleCenter_ = {0.0, 0.0};\r
ScaleAlignMode transAlignMode_ = ScaleAlignMode::ALIGN_ITEM_CENTER;\r
UIImageView::ImageResizeMode resizeMode_ = UIImageView::CONTAIN;\r
+ void UpdateRect();\r
+ void SetScaleCenter();\r
+ void UpdateTransformMap();\r
};\r
}\r
#endif // GRAPHIC_LITE_UI_MENU_ITEM_H\r
virtual ~UIRollerView() override;
/**
- * @brief Set item size, which is the size of image in DisplayMode.
- */
+ * @brief Set item size, which is the size of image in DisplayMode.
+ */
void SetItemSize(uint16_t width, uint16_t height);
/**
- * @brief Set item padding.
- */
+ * @brief Set item padding.
+ */
void SetItemPadding(uint16_t padding);
/**
- * @brief Set mirror img opacity.
- */
+ * @brief Set mirror img opacity.
+ */
void SetMirrorOpacity(uint8_t opa);
/**
- * @brief Set sensitivity factor.
- * Drag distance will be converted to angle, and will multiply by this factor.
- */
+ * @brief Set sensitivity factor.
+ * Drag distance will be converted to angle, and will multiply by this factor.
+ */
void SetSensitivityFactor(float sensitivity);
/**
- * @brief Get sensitivity factor. Default value is 1.0.
- */
+ * @brief Get sensitivity factor. Default value is 1.0.
+ */
float GetSensitivityFactor();
/**
- * @brief Add an item.
- */
- bool AddItem(std::string name, const ImageInfo* src);
+ * @brief Add an item.
+ */
+ void AddItem(std::string name, const ImageInfo* src);
/**
- * @brief Remove an item.
- */
+ * @brief Remove an item.
+ */
void RemoveItem(std::string name);
/**
- * @brief Clear all items.
- */
+ * @brief Clear all items.
+ */
void ClearAll();
/**
- * @brief Get current item name.
- */
+ * @brief Get current item name.
+ */
std::string GetCurrentItemName();
/**
- * @brief Get current item, which contains 2 imgs.
- */
+ * @brief Get current item, which contains 2 imgs.
+ */
UIViewGroup* GetCurrentItem();
/**
- * @brief Set current item.
- */
+ * @brief Set current item.
+ */
void SetCurrentItem(std::string name, bool enableAnimator = false);
/**
- * @brief Set current mode, choose from [DISPLAY, COVER].
- */
+ * @brief Set current mode, choose from [DISPLAY, COVER].
+ */
void SetMode(RollerViewMode mode, bool enableAnimator = false);
/**
- * @brief Mode change listener.
- */
+ * @brief Mode change listener.
+ */
class OnModeChangeListener : public HeapBase {
public:
/**
- * @brief Called when RollerViewMode is changed.
- */
+ * @brief Called when RollerViewMode is changed.
+ */
virtual void OnModeChange(UIRollerView* view, RollerViewMode targetMode) = 0;
virtual ~OnModeChangeListener() {}
};
/**
- * @brief Get OnModeChangeListener.
- */
+ * @brief Get OnModeChangeListener.
+ */
OnModeChangeListener*& GetOnModeChangeListener()
{
return onModeChangeListener_;
}
/**
- * @brief Set OnModeChangeListener.
- */
+ * @brief Set OnModeChangeListener.
+ */
void SetOnModeChangeListener(OnModeChangeListener* onModeChangeListener)
{
onModeChangeListener_ = onModeChangeListener;
}
/**
- * @brief Scroll listener.
- */
- class OnScrollListener : public HeapBase {
- public:
- virtual void OnScroll(UIRollerView* roller, std::string currentItemName, float currentItemAngle) = 0;
- virtual ~OnScrollListener() {}
- };
-
- /**
- * @brief Set OnScrollListener.
- */
- void SetOnScrollListener(OnScrollListener* onScrollListener)
- {
- onScrollListener_ = onScrollListener;
- }
-
- /**
- * @brief Get GetOnScrollListener.
- */
- OnScrollListener*& GetOnScrollListener()
- {
- return onScrollListener_;
- }
-
- /**
- * @brief Get current mode.
- */
+ * @brief Get current mode.
+ */
RollerViewMode GetMode();
/**
- * @brief Set camera distance. If not set, default distance is 1000.
- */
+ * @brief Set camera distance. If not set, default distance is 1000.
+ */
void SetCamDistance(int16_t distance);
/**
- * @brief Set absolute y coordinate of camera.
- * Default value is GetY() - GetHeight() / 3.
- */
+ * @brief Set absolute y coordinate of camera.
+ Default value is GetY() - GetHeight() / 3.
+ */
void SetCamY(int16_t y);
UIViewType GetViewType() const override
static constexpr uint8_t MIN_TRANSITION_TIMES = 5;
/* calculate mode transition animator period: scale offset / TRANSITION_COEFFICIENT. */
static constexpr float TRANSITION_COEFFICIENT = 0.2;
- OnModeChangeListener* onModeChangeListener_ = nullptr;
- OnScrollListener* onScrollListener_ = nullptr;
+ OnModeChangeListener* onModeChangeListener_;
float ConvertDistanceToAngle(int16_t distance);
bool IsInCurrentItemRange(float angle);
void InitImg(UIView* img);
struct MemAllocInfo {
uintptr_t address;
int32_t size;
- int16_t count;
struct MemAllocInfo* next;
};
*/
void MemCheckInit();
- void EnableLeakCheck(bool enable);
-
- void Crash(int16_t cnt, int32_t sz)
- {
- crashCnt_ = cnt;
- leakSize_ = sz;
- }
-
#ifndef VERSION_IOT
void CollectMemory(uint32_t delayTime);
void SaveRecordInfo();
int32_t delayTime_ = 0;
ThreadId recordThreadId = nullptr;
int32_t totalSize = 0;
- bool enableLeakCheck_ = false;
- MemAllocInfo *leakHead_ = nullptr;
- int16_t crashCnt_ = -1;
- int16_t leakCount_ = 0;
- int32_t leakSize_ = 0;
};
} // namespace OHOS
} else {
DealNormalKey(key);
}
- RefreshUi();
}
void UIInputMethod::InputPinyin(UI_KEYCODE key)
}
break;
}
- RefreshUi();
}
void UIInputMethod::ShowHanziPageList()
if (pinyinPreview_->GetText() != nullptr && strlen(pinyinPreview_->GetText()) != 0) {
hanziList_->SetVisible(true);
}
- RefreshUi();
}
void UIInputMethod::HideHanziPageList()
previeBox_->InsertHanzi(u8hanzi);
HideHanziPageList();
HidePinyinPreview();
- RefreshUi();
return true;
}
hanziList_->SetIntercept(false);
hanziList_->SetAdapter(hanziAdapter_);
hanziList_->SetScrollStateListener(this);
- hanziList_->SetOnDragListener(this);
hanziList_->SetVisible(false);
inputMethod_->Add(hanziList_);
}
static constexpr int16_t YUV_WIDTH_ALIGNMENT = 128;\r
UILiteSurfaceView::UILiteSurfaceView() : isLayerInit_(false), flushCount_(0)\r
{\r
- surface_ = std::make_shared<LiteSurface>();\r
+ surface_ = new LiteSurface();\r
if (surface_ == nullptr) {\r
GRAPHIC_LOGE("new LiteSurface failed\n");\r
return;\r
LowPowerManager::GetInstance()->PowerUnLock();\r
});\r
\r
- if (preView_ != nullptr) {\r
- delete preView_;\r
- preView_ = nullptr;\r
+ if (surface_ != nullptr) {\r
+ delete surface_;\r
+ surface_ = nullptr;\r
}\r
}\r
\r
Surface* UILiteSurfaceView::GetSurface() const\r
{\r
- return surface_.get();\r
+ return surface_;\r
}\r
\r
void UILiteSurfaceView::SetPosition(int16_t x, int16_t y, int16_t width, int16_t height)\r
\r
void UILiteSurfaceView::InitLayer()\r
{\r
+ if (surface_ == nullptr) {\r
+ GRAPHIC_LOGE("surface_ is null!\n");\r
+ return;\r
+ }\r
+\r
Rect rect(GetRect());\r
int16_t width = rect.GetWidth();\r
int16_t height = rect.GetHeight();\r
#ifdef VERSION_IOT\r
bool UILiteSurfaceView::GetBitmap(ImageInfo& bitmap)\r
{\r
- if (lastFlushedBuffer_ == nullptr || isStopped_) {\r
+ if (lastFlushedBuffer_ == nullptr) {\r
UIView::GetBitmap(bitmap);\r
} else {\r
CscYuvBuf yuv = {0};\r
++flushCount_;\r
}\r
lock_.Unlock();\r
- std::weak_ptr<LiteSurface> ws = surface_;\r
+\r
if (isLastFrame) {\r
isStopped_ = true;\r
GraphicService::GetInstance()->PostGraphicEvent(\r
- [&, ws] {\r
- if (!ws.expired()) {\r
+ [&] {\r
+ if (surface_ != nullptr) {\r
DisplayDev::GetInstance()->SetLayerColorKey(LAYER_0, false, 0);\r
LiteMGfxEngine::GetInstance()->ClearHardwareLayer();\r
LiteMGfxEngine::GetInstance()->EnableAsyncMode(true);\r
} else if (isStopped_) {\r
isStopped_ = false;\r
GraphicService::GetInstance()->PostGraphicEvent(\r
- [&, ws] {\r
- if (!ws.expired()) {\r
- LiteMGfxEngine::GetInstance()->EnableAsyncMode(false);\r
- LiteMGfxEngine::GetInstance()->AddHardwareLayer(this);\r
- DisplayDev::GetInstance()->SetLayerColorKey(LAYER_0, true, colorKey_.full);\r
- InitLayer();\r
- }\r
+ [&] {\r
+ LiteMGfxEngine::GetInstance()->EnableAsyncMode(false);\r
+ LiteMGfxEngine::GetInstance()->AddHardwareLayer(this);\r
+ DisplayDev::GetInstance()->SetLayerColorKey(LAYER_0, true, colorKey_.full);\r
+ InitLayer();\r
});\r
}\r
\r
*/\r
\r
#include "components/ui_menu_item.h"\r
-#include "components/root_view.h"\r
namespace OHOS {\r
constexpr uint32_t IMG_TO_TEXT_GAP = 20; // 20: the gap between img and text\r
\r
-UIMenuItem::UIMenuItem() : image_(nullptr), label_(nullptr),\r
- labelLineBreakMode_(UILabel::LineBreakMode::LINE_BREAK_ELLIPSIS), needRefresh_(false)\r
+UIMenuItem::UIMenuItem()\r
{\r
+ SetStyleForState(STYLE_BORDER_RADIUS, 0, UIButton::RELEASED);\r
+ SetStyleForState(STYLE_BORDER_RADIUS, 0, UIButton::PRESSED);\r
+ SetStyleForState(STYLE_BORDER_RADIUS, 0, UIButton::INACTIVE);\r
+ SetStyleForState(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT, UIButton::RELEASED);\r
+ SetStyleForState(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT, UIButton::PRESSED);\r
+ SetStyleForState(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT, UIButton::INACTIVE);\r
+ textStyle_ = StyleDefault::GetDefaultStyle();\r
}\r
\r
UIMenuItem::~UIMenuItem()\r
{\r
if (image_ != nullptr) {\r
- Remove(image_);\r
delete image_;\r
image_ = nullptr;\r
}\r
\r
- if (label_ != nullptr) {\r
- Remove(label_);\r
- delete label_;\r
- label_ = nullptr;\r
+ if (text_ != nullptr) {\r
+ delete text_;\r
+ text_ = nullptr;\r
}\r
}\r
\r
void UIMenuItem::SetScaleCenter()\r
{\r
- int16_t itemOrigX = GetContentRect().GetX();\r
if (transAlignMode_ == ScaleAlignMode::ALIGN_TEXT_LEFT) {\r
- textScaleCenter_ = Vector2<float>{0.0, textOrigRect_.GetHeight() / 2.0f};\r
- imgScaleCenter_ = Vector2<float>{textOrigRect_.GetLeft() - imgOrigRect_.GetLeft(), textScaleCenter_.y_};\r
- itemScaleCenter_ = Vector2<float>{textOrigRect_.GetLeft() - itemOrigX, textScaleCenter_.y_};\r
+ textScaleCenter_ = Vector2<float>{0.0, textRect_.GetHeight() / 2.0f};\r
+ imgScaleCenter_ = Vector2<float>{textRect_.GetLeft() - imgRect_.GetLeft(), textRect_.GetHeight() / 2.0f};\r
+ itemScaleCenter_ = Vector2<float>{textRect_.GetLeft(), textRect_.GetHeight() / 2.0f};\r
} else if (transAlignMode_ == ScaleAlignMode::ALIGN_IMAGE_LEFT) {\r
- imgScaleCenter_ = Vector2<float>{0.0, imgOrigRect_.GetHeight() / 2.0f};\r
- textScaleCenter_ = Vector2<float>{imgOrigRect_.GetLeft() - textOrigRect_.GetLeft(), imgScaleCenter_.y_};\r
- itemScaleCenter_ = Vector2<float>{imgOrigRect_.GetLeft() - itemOrigX, imgScaleCenter_.y_};\r
+ textScaleCenter_ = Vector2<float>{imgRect_.GetLeft() - textRect_.GetLeft(), imgRect_.GetHeight() / 2.0f};\r
+ imgScaleCenter_ = Vector2<float>{0.0, imgRect_.GetHeight() / 2.0f};\r
+ itemScaleCenter_ = Vector2<float>{imgRect_.GetLeft(), imgRect_.GetHeight() / 2.0f};\r
} else if (transAlignMode_ == ScaleAlignMode::ALIGN_ITEM_CENTER) {\r
- itemScaleCenter_ = Vector2<float>{GetWidth() / 2.0f, GetHeight() / 2.0f};\r
- textScaleCenter_ = Vector2<float>{itemOrigX + itemScaleCenter_.x_ - textOrigRect_.GetLeft(),\r
- itemScaleCenter_.y_};\r
- imgScaleCenter_ = Vector2<float>{itemOrigX + itemScaleCenter_.x_ - imgOrigRect_.GetLeft(),\r
- itemScaleCenter_.y_};\r
+ Rect rect = GetOrigRect();\r
+ itemScaleCenter_ = Vector2<float>{rect.GetX() + rect.GetWidth() / 2.0f, rect.GetHeight() / 2.0f};\r
+ textScaleCenter_ = Vector2<float>{itemScaleCenter_.x_ - textRect_.GetLeft(), rect.GetHeight() / 2.0f};\r
+ imgScaleCenter_ = Vector2<float>{itemScaleCenter_.x_ - imgRect_.GetLeft(), rect.GetHeight() / 2.0f};\r
}\r
}\r
\r
-void UIMenuItem::ReMeasure()\r
+void UIMenuItem::UpdateRect()\r
{\r
- Rect contentRect = GetContentRect();\r
- if (needRefresh_) {\r
- if (image_ != nullptr) {\r
- image_->SetPosition(imgOffset_, 0, GetHeight(), GetHeight());\r
- }\r
- if (label_ != nullptr) {\r
- if (image_ != nullptr) {\r
- label_->SetPosition(image_->GetX() + image_->GetWidth() + textOffset_, 0,\r
- GetWidth() - image_->GetWidth(), GetHeight());\r
- } else {\r
- label_->SetPosition(textOffset_, 0, GetWidth(), GetHeight());\r
- }\r
- label_->SetLineBreakMode(labelLineBreakMode_);\r
- }\r
- }\r
- needRefresh_ = false;\r
+ Rect rect = GetOrigRect();\r
if (image_ != nullptr) {\r
- imgOrigRect_ = contentRect;\r
- imgOrigRect_.SetX(contentRect.GetX() + imgOffset_);\r
- imgOrigRect_.SetWidth(GetHeight());\r
+ imgRect_ = Rect(rect.GetX(), rect.GetY(), rect.GetX() + rect.GetHeight(), rect.GetY() + rect.GetHeight());\r
+ imgRect_.SetX(rect.GetX() + imgOffset_);\r
+ image_->SetPosition(imgRect_.GetX(), imgRect_.GetY(), rect.GetHeight(), rect.GetHeight());\r
}\r
\r
- if (label_ != nullptr) {\r
- textOrigRect_ = contentRect;\r
- textOrigRect_.SetLeft(imgOrigRect_.GetRight() + textOffset_);\r
+ if (text_ != nullptr) {\r
+ textRect_ = rect;\r
+ textRect_.SetLeft(imgRect_.GetRight() + textOffset_);\r
+ text_->ReMeasureTextSize(textRect_, textStyle_);\r
}\r
+}\r
\r
- SetScaleCenter();\r
-\r
+void UIMenuItem::UpdateTransformMap()\r
+{\r
TransformMap transMap = GetTransformMap();\r
if (image_ != nullptr) {\r
- transMap.SetTransMapRect(imgOrigRect_);\r
+ transMap.SetTransMapRect(imgRect_);\r
transMap.Scale(transMap.GetScaleCoef(), Vector3<float>{imgScaleCenter_.x_, imgScaleCenter_.y_, 0.0});\r
image_->SetTransformMap(transMap);\r
}\r
\r
- if (label_ != nullptr) {\r
- transMap.SetTransMapRect(textOrigRect_);\r
+ if (text_ != nullptr) {\r
transMap.Scale(transMap.GetScaleCoef(), Vector3<float>{textScaleCenter_.x_, textScaleCenter_.y_, 0.0});\r
- label_->SetTextTransformMap(transMap);\r
+ transMap.SetCameraPosition(Vector2<float>{-textRect_.GetX(), -textRect_.GetY()});\r
+ transMap.SetTransMapRect(textRect_);\r
+ text_->SetTransformMap(transMap);\r
}\r
}\r
\r
-void UIMenuItem::SetImageSrc(const char* imgSrc)\r
+void UIMenuItem::ReMeasure()\r
{\r
- InitUIImageView();\r
- image_->SetSrc(imgSrc);\r
- ReMeasure();\r
+ UpdateRect();\r
+ UpdateTransformMap();\r
}\r
\r
-void UIMenuItem::SetImageSrc(const ImageInfo* imgSrc)\r
+void UIMenuItem::SetImageSrc(const char* imgSrc)\r
{\r
- InitUIImageView();\r
+ if (image_ == nullptr) {\r
+ image_ = new UIImageView();\r
+ if (image_ == nullptr) {\r
+ GRAPHIC_LOGE("new image_ failed");\r
+ return;\r
+ }\r
+ image_->SetResizeMode(resizeMode_);\r
+ image_->SetAutoEnable(false);\r
+ }\r
image_->SetSrc(imgSrc);\r
- ReMeasure();\r
-}\r
-\r
-void UIMenuItem::OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea)\r
-{\r
- BaseGfxEngine::GetInstance()->DrawRect(gfxDstBuffer, GetRect(), invalidatedArea, *style_, opaScale_);\r
+ UpdateRect();\r
+ SetScaleCenter();\r
}\r
\r
-void UIMenuItem::InitUIImageView()\r
+void UIMenuItem::SetImageSrc(const ImageInfo* imgSrc)\r
{\r
if (image_ == nullptr) {\r
image_ = new UIImageView();\r
if (image_ == nullptr) {\r
- GRAPHIC_LOGE("new UIImageView failed");\r
+ GRAPHIC_LOGE("new image_ failed");\r
return;\r
}\r
image_->SetResizeMode(resizeMode_);\r
image_->SetAutoEnable(false);\r
- Add(image_);\r
- needRefresh_ = true;\r
}\r
+ image_->SetSrc(imgSrc);\r
+ UpdateRect();\r
+ SetScaleCenter();\r
}\r
\r
-void UIMenuItem::InitUILabelExt()\r
+void UIMenuItem::OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea)\r
{\r
- if (label_ == nullptr) {\r
- label_ = new UILabelExt();\r
- if (label_ == nullptr) {\r
- GRAPHIC_LOGE("new UILabelExt failed");\r
- return;\r
+ BaseGfxEngine::GetInstance()->DrawRect(gfxDstBuffer, GetRect(), invalidatedArea, *style_, opaScale_);\r
+ if (text_ != nullptr) {\r
+ Rect rect;\r
+ rect.Intersect(invalidatedArea, textRect_);\r
+ if (rect.GetLeft() < 0) {\r
+ rect.SetLeft(0);\r
}\r
- Add(label_);\r
- needRefresh_ = true;\r
+ if (rect.GetTop() < 0) {\r
+ rect.SetTop(0);\r
+ }\r
+\r
+ OpacityType opa = GetMixOpaScale();\r
+ uint16_t ellipsisIndex = text_->GetEllipsisIndex(textRect_, textStyle_);\r
+ text_->OnDraw(gfxDstBuffer, rect, rect, textRect_, 0, textStyle_, ellipsisIndex, opa);\r
+ }\r
+\r
+ if (image_ != nullptr) {\r
+ image_->OnDraw(gfxDstBuffer, invalidatedArea);\r
}\r
}\r
\r
const ImageInfo* info = image_->GetImageInfo();\r
PrintImgInfo(info);\r
}\r
+\r
} // namespace OHOS\r
MemCheck::GetInstance()->DumpMemInfo();
}
-void LeakPanic(int argc, char *argv[])
-{
- if (argc != 2) { // 2: param num
- GRAPHIC_LOGE("param err.");
- return;
- }
- int16_t cnt = 0;
- int32_t sz = 0;
- char* end = nullptr;
- cnt = strtol(argv[0], &end, 0);
- if (end == argv[0]) {
- GRAPHIC_LOGE("first para is not a number.");
- return;
- }
- sz = strtol(argv[1], &end, 0);
- if (end == argv[1]) {
- GRAPHIC_LOGE("second para is not a number.");
- return;
- }
- MemCheck::GetInstance()->Crash(cnt, sz);
-}
-
void DumpImgCmd(int argc, char *argv[])
{
ImageCacheManager::GetInstance().Dump();
{"dumpmem", OHOS::DumpMemoryCmd},
{"mem_monitor", OHOS::SetMemMonitorCmd},
{"dumpimg", OHOS::DumpImgCmd},
- {"leak_panic", OHOS::LeakPanic},
#endif
#if ENABLE_DEBUG
{"inject_rotate", OHOS::InjectRotateEvent},
* @brief Provides the functions related to UIInputMethod.
*/
class UIInputMethod : public InputMethodManager::InputMethodListener,
- public UIView::OnClickListener, public ListScrollListener,
- public UIView::OnDragListener {
+ public UIView::OnClickListener, public ListScrollListener {
class HanziAdapter : public AbstractAdapter {
public:
~HanziAdapter() override {};
void DealDelKey();
void DealPinyinDelKey();
- bool OnDrag(UIView& view, const DragEvent& event) override
- {
- RefreshUi();
- return false;
- }
-
- void RefreshUi()
- {
- if (inputMethod_ != nullptr) {
- inputMethod_->Invalidate();
- }
- }
-
UIViewGroup* inputMethod_ = nullptr;
UITextPreviewBox* previeBox_ = nullptr; // soft keyboard edit box
UIEditText* edit_ = nullptr; // user creat edit box
#include "hal_tick.h"
#include "securec.h"
#include "hals/gralloc_engines.h"
-#ifdef __LITEOS__
-#include "los_exc.h"
-#endif
+
+
#define SUPPRESS_DUMP 0
namespace OHOS {
return;
}
-void MemCheck::EnableLeakCheck(bool enable)
-{
- enableLeakCheck_ = enable;
- if (enableLeakCheck_) {
- leakCount_ = 0;
- leakHead_ = nullptr;
- } else {
- MemAllocInfo *info = leakHead_;
- for (; info != nullptr; info = info->next) {
- GRAPHIC_LOGE("leakcheck: [%d] addr %p size %d", info->count, info->address, info->size);
- }
- crashCnt_ = -1;
- leakSize_ = 0;
- }
-}
-
int MemCheck::MemAdd(int size, uintptr_t address)
{
if (!initSuc) {
return -1;
}
-
MemAllocInfo* allocNote = (MemAllocInfo*)malloc(sizeof(MemAllocInfo));
if (allocNote == nullptr) {
GRAPHIC_LOGE("MemAdd malloc failed\n");
allocNote->address = address;
allocNote->size = size;
allocNote->next = nullptr;
- allocNote->count = -1;
allocTail->next = allocNote;
allocTail = allocNote;
totalSize += allocNote->size;
- if (enableLeakCheck_) {
- leakCount_++;
- allocNote->count = leakCount_;
- if (leakHead_ == nullptr) {
- leakHead_ = allocNote;
- }
- if (leakCount_ == crashCnt_) {
- if (leakSize_ != allocNote->size) {
- GRAPHIC_LOGE("size not right!");
- }
-#ifdef __LITEOS__
- LOS_Panic("mem leak here!\n");
-#endif
- }
- }
#ifndef VERSION_IOT
if (!isBeyondTime()) {
if (!initSuc) {
return -1;
}
-
int32_t currNodeSize = 0;
MemAllocInfo* allocPtr = allocHead;
while (allocPtr->next != nullptr) {
if (allocPtr->next->address == address) {
- MemAllocInfo *cur = allocPtr->next;
- leakHead_ = (enableLeakCheck_ && (leakHead_ == cur)) ? cur->next : leakHead_;
currNodeSize = allocPtr->next->size;
totalSize -= currNodeSize;
MemAllocInfo* tmpInfo = allocPtr->next;
coverflow_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
coverflow_->SetIntercept(true);\r
coverflow_->SetThrowDrag(true);\r
+ coverflow_->SetSwipeACCLevel(150); // 150: set drag compensation distance\r
+ coverflow_->SetDragACCLevel(16); // 16: set drag time duration level\r
for (uint8_t i = 0; i < COVERFLOW_PRELOAD_PAGE_NUM; i++) {\r
ImageInfo* src = ImageCacheManager::GetInstance().LoadSingleRes(std::string(g_faceInfo[i].path));\r
coverflow_->Add(g_faceInfo[i].name, src);\r
+++ /dev/null
-/*
- * Copyright (c) 2022 CompanyNameMagicTag.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "menu_item_adapter.h"
-#include "components/ui_menu_item.h"
-#include "common/image_cache_manager.h"
-#include "graphic_config.h"
-#include "ui_test_list_ext.h"
-#include "securec.h"
-#include "ui_test_list_fps/ui_list_fps_res.h"
-
-namespace OHOS {
-uint16_t MenuItemAdapter::GetCount()
-{
- return nodeList_.Size();
-}
-
-void MenuItemAdapter::ClearText()
-{
- ListNode<ItemNode*>* node = nodeList_.Begin();
- while (node != nodeList_.End()) {
- if (node->data_) {
- if (node->data_->txt) {
- UIFree(reinterpret_cast<void*>(node->data_->txt));
- node->data_->txt = nullptr;
- }
- UIFree(reinterpret_cast<void*>(node->data_));
- node->data_ = nullptr;
- }
- node = node->next_;
- }
- nodeList_.Clear();
- ImageCacheManager::GetInstance().UnloadAllInMultiRes(LIST_FPS);
-}
-
-void MenuItemAdapter::SetFont(const char* name, uint8_t size)
-{
- if (name == nullptr) {
- return;
- }
-
- if (fontName_ != nullptr) {
- if (strcmp(fontName_, name) == 0) {
- fontSize_ = size;
- return;
- } else {
- UIFree(fontName_);
- fontName_ = nullptr;
- }
- }
-
- uint32_t nameLen = static_cast<uint32_t>(strlen(name));
- if ((nameLen == 0) || (nameLen > MAX_TEXT_LENGTH)) {
- return;
- }
-
- fontName_ = static_cast<char*>(UIMalloc(nameLen + 1));
- if (fontName_ == nullptr) {
- return;
- }
- if (memcpy_s(fontName_, nameLen, name, nameLen) != EOK) {
- UIFree(fontName_);
- fontName_ = nullptr;
- return;
- }
- fontName_[nameLen] = '\0';
- fontSize_ = size;
-}
-
-void MenuItemAdapter::FreeNode(ItemNode* node)
-{
- if (node != nullptr) {
- if (node->txt) {
- UIFree(reinterpret_cast<void*>(node->txt));
- node->txt = nullptr;
- }
- UIFree(reinterpret_cast<void*>(node));
- node = nullptr;
- }
-}
-
-void MenuItemAdapter::SetData(const List<ItemNode*>* data)
-{
- if (data == nullptr) {
- return;
- }
- if (!nodeList_.IsEmpty()) {
- ClearText();
- }
- ListNode<ItemNode*>* node = data->Begin();
- while (node != data->End()) {
- ItemNode* tmpNode = static_cast<ItemNode *>(UIMalloc(sizeof(ItemNode)));
- if (tmpNode == nullptr) {
- return;
- }
-
- tmpNode->resId = node->data_->resId;
- uint32_t len = strlen(node->data_->txt);
- tmpNode->txt = static_cast<char*>(UIMalloc(len + 1));
- if (tmpNode->txt == nullptr) {
- FreeNode(tmpNode);
- return;
- }
- if (memcpy_s(tmpNode->txt, len + 1, node->data_->txt, len) != EOK) {
- FreeNode(tmpNode);
- return;
- }
- tmpNode->txt[len] = '\0';
- tmpNode->imgInfo = nullptr;
-
- nodeList_.PushBack(tmpNode);
- node = node->next_;
- }
-}
-
-UIView* MenuItemAdapter::GetView(UIView* inView, int16_t index)
-{
- if (nodeList_.IsEmpty() || index > nodeList_.Size() - 1 || index < 0) {
- return nullptr;
- }
-
- ListNode<ItemNode*>* node = nodeList_.Begin();
- for (uint16_t i = 0; i < index; i++) {
- node = node->next_;
- }
- UIMenuItem* item = nullptr;
- if (inView == nullptr) {
- item = new UIMenuItem();
- if (item == nullptr) {
- return nullptr;
- }
- item->Resize(width_, height_);
- item->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- item->SetImgResizeMode(UIImageView::ImageResizeMode::CENTER);
- item->SetFont(fontName_, fontSize_);
- item->SetAlign(TEXT_ALIGNMENT_CENTER);
- item->SetScaleAlignMode(UIMenuItem::ScaleAlignMode::ALIGN_ITEM_CENTER);
- item->SetLineBreakMode(UILabel::LineBreakMode::LINE_BREAK_MARQUEE);
- } else {
- item = static_cast<UIMenuItem*>(inView);
- }
-
- if (item != nullptr) {
- if (node->data_->imgInfo == nullptr) {
- node->data_->imgInfo = ImageCacheManager::GetInstance().LoadOneInMultiRes(node->data_->resId, LIST_FPS);
- }
- item->SetImageSrc(node->data_->imgInfo);
- item->SetText(node->data_->txt);
- item->SetViewIndex(index);
- }
- return item;
-}
-} // namespace OHOS
+++ /dev/null
-/*
- * Copyright (c) 2022 CompanyNameMagicTag.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef MENU_ITEM_ADAPTER_H
-#define MENU_ITEM_ADAPTER_H
-#include "menu_item_adapter.h"
-#include "components/abstract_adapter.h"
-#include "components/ui_image_view.h"
-#include "gfx_utils/list.h"
-#include "ui_test_list_fps/image_text_adapter.h"
-
-namespace OHOS {
-class MenuItemAdapter : public AbstractAdapter {
-public:
- MenuItemAdapter() : imageWidth_(0), imageHeight_(0), width_(0), height_(0), fontName_(nullptr), fontSize_(0) {}
-
- ~MenuItemAdapter() override
- {
- if (fontName_ != nullptr) {
- UIFree(fontName_);
- fontName_ = nullptr;
- }
- ClearText();
- }
-
- void SetWidth(int16_t width)
- {
- width_ = width;
- }
-
- void SetHeight(int16_t height)
- {
- height_ = height;
- }
-
- void SetImageWidth(int16_t width)
- {
- imageWidth_ = width;
- }
-
- void SetImageHeight(int16_t height)
- {
- imageHeight_ = height;
- }
-
- UIView* GetView(UIView* inView, int16_t index) override;
- uint16_t GetCount() override;
- void SetData(const List<ItemNode*>* data);
- void SetFont(const char* name, uint8_t size);
-
-private:
- void ClearText(void);
- void FreeNode(ItemNode* node);
- List<ItemNode*> nodeList_;
- uint16_t imageWidth_;
- uint16_t imageHeight_;
- uint16_t width_;
- uint16_t height_;
- char* fontName_;
- uint8_t fontSize_;
-};
-} // namespace OHOS
-#endif // IMAGE_TEXT_ADAPTER_H
+++ /dev/null
-/*
- * Copyright (c) 2022 CompanyNameMagicTag.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ui_test_list_ext.h"
-#include "animator/animator_manager.h"
-#include "common/screen.h"
-#include "components/ui_label.h"
-#include "components/ui_label_button.h"
-#include "components/ui_image_view.h"
-#include "core/render_manager.h"
-#include "graphic_config.h"
-#include "securec.h"
-#include "ui_test_list_fps/ui_list_fps_res.h"
-
-namespace OHOS {
-static const int16_t LIST_WIDTH = 454;
-static const int16_t LIST_HEIGHT = 454;
-static const int16_t SCROLL_STEP = 10;
-static const uint16_t ITEM_WIDTH = 400;
-static const uint16_t ITEM_HEIGHT = 100;
-static const uint16_t IMAGE_WIDTH = 100;
-static const uint16_t LIST_FONT_SIZE = 40;
-static int16_t g_scrollStep = 10;
-static int16_t g_scrollDistance = 0;
-static int16_t g_scrollMax = 0;
-
-static ItemNode g_itemNode[] = {
- {APPLIST_ALARM, "闹钟"},
- {BLUETOOTH_TITLE, "蓝牙"},
- {APPLIST_CALLER_IMAGE, "通话记录"},
- {APPLIST_COMPASS_IMAGE, "指南针"},
- {APPLIST_SETTING, "设置"},
- {APPLIST_SPO2, "血氧饱和度"},
- {APPLIST_VOCASSIST_IMAGE, "语音助手"},
- {APPLIST_ALARM, "长文本滚动测试ABCD"},
- {BLUETOOTH_TITLE, "蓝牙"},
- {APPLIST_CALLER_IMAGE, "通话记录"},
- {APPLIST_COMPASS_IMAGE, "指南针"},
- {APPLIST_SETTING, "设置"},
- {APPLIST_SPO2, "血氧饱和度"},
- {APPLIST_VOCASSIST_IMAGE, "语音助手"}
-};
-
-void UITestListExt::SetUp()
-{
- if (data_ == nullptr) {
- data_ = new List<ItemNode*>();
- if (data_ == nullptr) {
- return;
- }
- for (uint8_t i = 0; i < (sizeof(g_itemNode) / sizeof(ItemNode)); ++i) {
- data_->PushBack(&g_itemNode[i]);
- }
- }
-}
-
-void UITestListExt::TearDown()
-{
- if (animator_ != nullptr) {
- animator_->Stop();
- delete animator_;
- animator_ = nullptr;
- }
-
- if (list_ != nullptr) {
- list_->SetLoopState(false);
- list_->SetAdapter(nullptr);
- list_->RefreshList();
- delete list_;
- list_ = nullptr;
- }
-
- if (data_ != nullptr) {
- data_->Clear();
- delete data_;
- data_ = nullptr;
- }
-
- if (adapter_ != nullptr) {
- delete adapter_;
- adapter_ = nullptr;
- }
-}
-
-
-bool UITestListExt::TestList::OnPressEvent(const PressEvent& event)
-{
- if (animator_ != nullptr) {
- animator_->Stop();
- }
- return UIList::OnPressEvent(event);
-}
-
-bool UITestListExt::TestList::OnLongPressEvent(const LongPressEvent& event)
-{
- if (animator_ != nullptr) {
- animator_->Start();
- }
- return true;
-}
-
-void UITestListExt::TestList::SetAnimator(Animator* animator)
-{
- animator_ = animator;
-}
-
-void UITestListExt::ListExtFpsCallback::Callback(UIView* view)
-{
- UIList* list = static_cast<UIList*>(view);
- if (list != nullptr) {
- if (g_scrollDistance <= 0) {
- g_scrollStep = -1 * g_scrollStep;
- g_scrollDistance = g_scrollMax;
- }
- list->ScrollBy(g_scrollStep);
- g_scrollDistance -= abs(g_scrollStep);
- }
-}
-
-UIView* UITestListExt::GetTestView()
-{
- UIListScrollTestFPS();
- return list_;
-}
-
-void UITestListExt::UIListScrollTestFPS()
-{
- g_scrollMax = (sizeof(g_itemNode) / sizeof(ItemNode)) * ITEM_HEIGHT - LIST_HEIGHT;
- g_scrollDistance = g_scrollMax;
-
- adapter_ = new MenuItemAdapter();
- if (adapter_ == nullptr) {
- TearDown();
- return;
- }
- adapter_->SetWidth(ITEM_WIDTH);
- adapter_->SetHeight(ITEM_HEIGHT);
- adapter_->SetImageWidth(IMAGE_WIDTH);
- adapter_->SetImageHeight(ITEM_HEIGHT);
- adapter_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LIST_FONT_SIZE);
- adapter_->SetData(data_);
- if (list_ == nullptr) {
- list_ = new TestList();
- }
- list_->SetPosition(0, 0, LIST_WIDTH, LIST_HEIGHT);
- list_->SetAdapter(adapter_);
- list_->SetScrollStateListener(this);
- list_->SetThrowDrag(true);
- list_->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- list_->SetMaxScrollDistance(1000); // 1000: max scroll distance
- list_->SetSwipeACCLevel(800); // 800: compensation distance
- list_->SetDragACCLevel(5); // 5: drag acceleration
- list_->SetYScrollBarVisible(true);
- if (animator_ == nullptr) {
- animator_ = new Animator(&callback_, list_, DEFAULT_TASK_PERIOD, true);
- }
- list_->SetAnimator(animator_);
-}
-} // namespace OHOS
+++ /dev/null
-/*
- * Copyright (c) 2022 CompanyNameMagicTag.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-#ifndef UI_TEST_LIST_EXT_H
-#define UI_TEST_LIST_EXT_H
-
-#include "ui_test_list_ext.h"
-#include "components/ui_list_ext.h"
-#include "menu_item_adapter.h"
-#include "ui_test.h"
-#include "gfx_utils/sys_info.h"
-
-namespace OHOS {
-class UITestListExt : public UITest, UIView::OnClickListener, ListScrollListener {
-public:
- UITestListExt() : data_(nullptr), animator_(nullptr), list_(nullptr), adapter_(nullptr) {}
- ~UITestListExt() override {}
- void SetUp() override;
- void TearDown() override;
- UIView* GetTestView() override;
- void UIListScrollTestFPS();
-
-protected:
- class ListExtFpsCallback : public AnimatorCallback {
- public:
- ListExtFpsCallback() {}
-
- ~ListExtFpsCallback() override {}
-
- void Callback(UIView* view) override;
- };
- class TestList : public UIListExt {
- public:
- void SetAnimator(Animator* animator);
- bool OnPressEvent(const PressEvent& event) override;
- bool OnLongPressEvent(const LongPressEvent& event) override;
- private:
- Animator* animator_ = nullptr;
- };
- Animator* animator_;
- ListExtFpsCallback callback_;
- TestList* list_;
-
-private:
- List<ItemNode*>* data_;
- MenuItemAdapter* adapter_;
-};
-} // namespace OHOS
-#endif // UI_TEST_LIST_FPS_H
+++ /dev/null
-/*
- * Copyright (c) @CompanyNameMagicTag. 2024. All rights reserved.
- */
-
-#include "ui_test_roller_view.h"
-#include "components/ui_roller_view.h"
-#include "common/image_cache_manager.h"
-#include "gfx_utils/image_info.h"
-
-namespace OHOS {
-
-struct RollerItemStruct {
- const char* name;
- const char* path;
- ImageInfo* info;
-};
-
-static constexpr uint8_t ITEM_CNT = 6;
-static RollerItemStruct g_rollerItems[ITEM_CNT] = {
- {"planet", RES_PATH"/planet.bin", nullptr},
- {"kaleidoscope", RES_PATH"/kaleidoscope.bin", nullptr},
- {"rainbow", RES_PATH"/rainbow.bin", nullptr},
- {"kaleidoscope1", RES_PATH"/kaleidoscope.bin", nullptr},
- {"planet1", RES_PATH"/planet.bin", nullptr},
- {"rainbow1", RES_PATH"/rainbow.bin", nullptr},
-};
-
-void UITestRollerView::CreateButton(UILabelButton*& button, const char* text, int16_t x, int16_t y)
-{
- button = new UILabelButton();
- button->SetPosition(x, y, 100, 40); // 100: width, 40: height
- button->SetText(text);
- button->SetOnClickListener(this);
- button->SetVisible(isBtnVisible_);
- container_->Add(button);
-}
-
-void UITestRollerView::SetUp()
-{
- container_ = new UIViewGroup();
- container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- container_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
- container_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
-
- rollerView_ = new UIRollerView();
- rollerView_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- rollerView_->SetItemSize(150, 150); // 150: item size
- rollerView_->SetThrowDrag(true);
- rollerView_->SetItemPadding(80); // 80: item padding
- container_->Add(rollerView_);
-
- for (uint8_t i = 0; i < ITEM_CNT; i++) {
- if (g_rollerItems[i].info == nullptr) {
- g_rollerItems[i].info = ImageCacheManager::GetInstance().LoadSingleRes(g_rollerItems[i].path);
- }
- rollerView_->AddItem(g_rollerItems[i].name, g_rollerItems[i].info);
- }
-
- rollerView_->SetCurrentItem("rainbow1", false);
- rollerView_->SetOnClickListener(this);
- rollerView_->SetOnModeChangeListener(this);
-
- CreateButton(removeCurrentBtn_, "remove", 60, 320); // 60, 320: x y
- CreateButton(addBackBtn_, "add", 180, 320); // 180, 320: x y
- CreateButton(clearBtn_, "clear", 300, 320); // 300, 320: x y
- CreateButton(alignBtn_, "align", 60, 370); // 60, 370: x y
- CreateButton(switchAnimBtn_, "switchAnim", 180, 370); // 180, 370: x y
- CreateButton(switchBtn_, "switch", 300, 370); // 300, 370: x y
-}
-
-void UITestRollerView::HideOrShowBtn()
-{
- bool isVisible = (isBtnVisible_) ? false : true;
- removeCurrentBtn_->SetVisible(isVisible);
- addBackBtn_->SetVisible(isVisible);
- clearBtn_->SetVisible(isVisible);
- alignBtn_->SetVisible(isVisible);
- switchAnimBtn_->SetVisible(isVisible);
- switchBtn_->SetVisible(isVisible);
- isBtnVisible_ = isVisible;
-}
-void UITestRollerView::OnModeChange(UIRollerView* view, RollerViewMode targetMode)
-{
- printf("RollerView Change Mode to %d!\n", targetMode);
-}
-
-bool UITestRollerView::OnClick(UIView& view, const ClickEvent& event)
-{
- if (&view == rollerView_) {
- if (event.GetCurrentPos().y > (view.GetY()+ view.GetHeight() - 50)) { // 50: offset
- HideOrShowBtn();
- } else {
- RollerViewMode mode = rollerView_->GetMode();
- RollerViewMode setMode = (mode == DISPLAY) ? COVER : DISPLAY;
- rollerView_->SetMode(setMode, true);
- }
- } else if (&view == removeCurrentBtn_) {
- rollerView_->RemoveItem(rollerView_->GetCurrentItemName());
- } else if (&view == addBackBtn_) {
- for (uint8_t i = 0; i < ITEM_CNT; i++) {
- if (g_rollerItems[i].info == nullptr) {
- g_rollerItems[i].info = ImageCacheManager::GetInstance().LoadSingleRes(g_rollerItems[i].path);
- }
- rollerView_->AddItem(g_rollerItems[i].name, g_rollerItems[i].info);
- }
- } else if (&view == clearBtn_) {
- rollerView_->ClearAll();
- } else if (&view == alignBtn_) {
- printf("Align kaleidoscope.");
- rollerView_->SetCurrentItem("kaleidoscope", true);
- } else if (&view == switchBtn_) {
- RollerViewMode mode = rollerView_->GetMode();
- RollerViewMode setMode = (mode == DISPLAY) ? COVER : DISPLAY;
- rollerView_->SetMode(setMode, false);
- } else if (&view == switchAnimBtn_) {
- RollerViewMode mode = rollerView_->GetMode();
- RollerViewMode setMode = (mode == DISPLAY) ? COVER : DISPLAY;
- rollerView_->SetMode(setMode, true);
- }
- return true;
-}
-
-void UITestRollerView::TearDown()
-{
- container_->Remove(rollerView_);
- delete rollerView_;
- rollerView_ = nullptr;
-
- DeleteChildren(container_);
- removeCurrentBtn_ = nullptr;
- addBackBtn_ = nullptr;
- clearBtn_ = nullptr;
- alignBtn_ = nullptr;
- switchAnimBtn_ = nullptr;
- switchBtn_ = nullptr;
- container_ = nullptr;
-
- isBtnVisible_ = false;
-}
-
-const UIView* UITestRollerView::GetTestView()
-{
- return container_;
-}
-}
+++ /dev/null
-/*
- * Copyright (c) @CompanyNameMagicTag. 2024. All rights reserved.
- */
-
-#ifndef UI_TEST_ROLLER_VIEW_H
-#define UI_TEST_ROLLER_VIEW_H
-
-#include "ui_test.h"
-#include "components/ui_roller_view.h"
-#include "components/ui_image_view.h"
-#include "components/ui_label_button.h"
-
-namespace OHOS {
-class UITestRollerView : public UITest, public UIView::OnClickListener, UIRollerView::OnModeChangeListener {
-public:
- UITestRollerView() {}
- ~UITestRollerView() override {}
- void SetUp() override;
- void TearDown() override;;
- const UIView* GetTestView() override;
- bool OnClick(UIView& view, const ClickEvent& event) override;
- void OnModeChange(UIRollerView* view, RollerViewMode targetMode) override;
-private:
- void CreateButton(UILabelButton*& button, const char* text, int16_t x, int16_t y);
- void HideOrShowBtn();
-
- UIViewGroup* container_ = nullptr;
- UIRollerView* rollerView_ = nullptr;
-
- UILabelButton* removeCurrentBtn_ = nullptr;
- UILabelButton* addBackBtn_ = nullptr;
- UILabelButton* clearBtn_ = nullptr;
- UILabelButton* alignBtn_ = nullptr;
- UILabelButton* switchAnimBtn_ = nullptr;
- UILabelButton* switchBtn_ = nullptr;
-
- bool isBtnVisible_ = false;
-};
-}
-#endif
\ No newline at end of file
#include "ui_test_image_fps/ui_test_image_fps.h"
#include "ui_test_key/ui_test_key.h"
#include "ui_test_list/ui_test_list.h"
-#include "ui_test_list_ext/ui_test_list_ext.h"
#include "ui_test_qrcode/ui_test_qrcode.h"
#if ENABLE_DEBUG && ENABLE_ROTATE_INPUT
#include "ui_test_rotate_injector/ui_test_rotate_injector.h"
#include "ui_test_map/ui_test_map.h"
#include "ui_test_coverflow/ui_test_coverflow.h"
#include "ui_test_kaleidoscope/ui_test_kaleidoscope.h"
-#include "ui_test_roller_view/ui_test_roller_view.h"
namespace OHOS {
void UITestGroup::AddTestCase(TestCaseInfo testCaseInfo)
testCaseList_->PushBack(TestCaseInfo{"蜂窝表盘", new UITestHexagonsList()});
#endif
testCaseList_->PushBack(TestCaseInfo{"滑动列表", new UITestListFPS()});
- testCaseList_->PushBack(TestCaseInfo{"缩放型滑动列表", new UITestListExt()});
testCaseList_->PushBack(TestCaseInfo{"扫秒", new UITestSweepClock()});
testCaseList_->PushBack(TestCaseInfo{"指南针", new UITestCompass()});
testCaseList_->PushBack(TestCaseInfo{"界面切换", new UITestClockDial()});
#endif
testCaseList_->PushBack(TestCaseInfo{"覆盖流", new UITestCoverflow()});
#endif
- testCaseList_->PushBack(TestCaseInfo{"滚筒", new UITestRollerView()});
#if ENABLE_VGU_ENGINE && CAPABILITY_HWDRAW_PATH
testCaseList_->PushBack(TestCaseInfo{"倒计时", new UITestCountdown()});
testCaseList_->PushBack(TestCaseInfo{"动画曲线", new UITestRunningBall()});
#include "engines/gfx/gfx_engine_manager.h"
#include "font/ui_font.h"
#include "themes/theme_manager.h"
-#include <cmath>
namespace OHOS {
UIArcLabel::UIArcLabel()
return;
}
- float arcAngle;
+ uint16_t arcAngle;
if (startAngle_ < endAngle_) {
arcAngle = endAngle_ - startAngle_;
arcTextInfo_.direct = TEXT_DIRECT_LTR; // Clockwise
float maxLength = static_cast<float>((UI_PI * radius_ * arcAngle) / SEMICIRCLE_IN_DEGREE);
arcTextInfo_.lineStart = 0;
arcTextInfo_.lineEnd = TypedText::GetNextLine(&text[arcTextInfo_.lineStart], style_->letterSpace_, maxLength);
- arcTextInfo_.startAngle = startAngle_;
- if (arcTextInfo_.startAngle >= 360.0f) {
- arcTextInfo_.startAngle -= floor(startAngle_ / 360.0f) * 360.0f;
- } else if (arcTextInfo_.startAngle < 0.0f) {
- arcTextInfo_.startAngle += ceil(-startAngle_ / 360.0f) * 360.0f;
- }
+ arcTextInfo_.startAngle = startAngle_ % CIRCLE_IN_DEGREE;
int16_t actLength = TypedText::GetTextWidth(&text[arcTextInfo_.lineStart],
arcTextInfo_.lineEnd - arcTextInfo_.lineStart, style_->letterSpace_);
if ((arcLabelText_->GetHorAlign() != TEXT_ALIGNMENT_LEFT) && (actLength < maxLength)) {
void UIArcScrollBar::DrawArcByHWPath(BufferInfo &dst, ArcInfo arc, uint8_t barLayer, const Rect &mask,
uint16_t opa)
{
- if (!mask.IsValid() || mask.GetWidth() <= 0 || mask.GetHeight() <= 0) {
+ if (!mask.IsValid() || mask.GetHeight() <= 0 || mask.GetWidth() <= 0) {
return;
}
uint32_t cmdNum;
* limitations under the License.
*/
-#include "hal_tick.h"
#include "components/ui_label.h"
#include "font/ui_font.h"
#include "gfx_utils/graphic_log.h"
LabelAnimator(uint16_t textX, uint16_t labelX, int16_t startPos, UIView* view)
: Animator(this, view, 0, true),
startPos_(startPos),
- textWidth_(textX),
- labelWidth_(labelX),
+ textX_(textX),
+ labelX_(labelX),
offsetX_(startPos),
waitCount_(ANIM_WAIT_COUNT),
speed_(0),
void UpdateWidth(uint16_t textWidth, uint16_t labelWidth)
{
- textWidth_ = textWidth;
- labelWidth_ = labelWidth;
+ textX_ = textWidth;
+ labelX_ = labelWidth;
waitCount_ = ANIM_WAIT_COUNT;
preRunTime_ = 0;
decimal_ = 0;
}
void Callback(UIView* view) override
- {
- switch (animatorMode_) {
- case UILabel::LINE_BREAK_MARQUEE:
- MarqueeCallback(view);
- break;
- case UILabel::LINE_BREAK_OSCILLATION:
- OscillationCallback(view);
- break;
- default:
- GRAPHIC_LOGE("erorr animation!");
- break;
- }
- }
-
- void SetAnimatorSpeed(uint16_t animSpeed)
- {
- speed_ = animSpeed;
- decimal_ = 0;
- }
-
- void SetAnimatorMode(UILabel::LineBreakMode mode)
- {
- animatorMode_ = mode;
- }
-
-private:
- void MarqueeCallback(UIView* view)
{
if (view == nullptr) {
return;
offsetX_ -= 1; // At lest move one pixel
decimal_ = 0;
}
- offsetX_ = ((offsetX_ - labelWidth_) % (textWidth_ + labelWidth_)) + labelWidth_;
+ offsetX_ = ((offsetX_ - labelX_) % (textX_ + labelX_)) + labelX_;
static_cast<UILabel*>(view)->offsetX_ = offsetX_;
view->Invalidate();
}
- void OscillationCallback(UIView* view)
+ void SetAnimatorSpeed(uint16_t animSpeed)
{
- if (view == nullptr) {
- return;
- }
- if (waitCount_ > 0) {
- waitCount_--;
- return;
- }
- if (startFlag_) {
- startTime_ = HALTick::GetInstance().GetTime();
- startFlag_ = false;
- }
-
- uint32_t time = HALTick::GetInstance().GetElapseTime(startTime_);
- float x0 = startPos_;
- float x1 = 1.0 * labelWidth_ - textWidth_;
- float factor = 200000; // slow down the speed
- float t = time * speed_ / factor;
- float t1 = 1.0;
- float period = 2.0;
- while (t < 0) {
- t += period;
- }
- while (t > period) {
- t -= period;
- }
- float x = 0;
- if (t >=0 && t < t1) {
- x = (x1 - x0) * t / t1 + x0;
- } else {
- x = (x0 - x1) * (t - t1) / t1 + x1;
- }
-
- UILabel *label = dynamic_cast<UILabel*>(view);
- if (label != nullptr) {
- label->offsetX_ = MATH_ROUND(x);
- label->Invalidate();
- }
+ speed_ = animSpeed;
+ decimal_ = 0;
}
+private:
static constexpr uint8_t ANIM_WAIT_COUNT = 50;
int16_t startPos_;
- uint16_t textWidth_;
- uint16_t labelWidth_;
+ uint16_t textX_;
+ uint16_t labelX_;
int16_t offsetX_;
uint16_t waitCount_;
uint16_t speed_;
uint32_t preRunTime_;
- bool startFlag_ = true;
- uint32_t startTime_ = 0;
float decimal_;
- UILabel::LineBreakMode animatorMode_ = UILabel::LINE_BREAK_MARQUEE;
};
UILabel::UILabel()
}
lineBreakMode_ = lineBreakMode;
if ((lineBreakMode_ == LINE_BREAK_ADAPT) || (lineBreakMode_ == LINE_BREAK_STRETCH) ||
- (lineBreakMode_ == LINE_BREAK_MARQUEE) || (lineBreakMode_ == LINE_BREAK_OSCILLATION)) {
+ (lineBreakMode_ == LINE_BREAK_MARQUEE)) {
labelText_->SetExpandWidth(true);
} else {
labelText_->SetExpandWidth(false);
} else {
labelText_->SetExpandHeight(false);
}
- if (lineBreakMode_ != LINE_BREAK_MARQUEE && lineBreakMode_ != LINE_BREAK_OSCILLATION) {
+ if (lineBreakMode_ != LINE_BREAK_MARQUEE) {
offsetX_ = 0;
if (hasAnimator_) {
animator_.animator->Stop();
labelText_->ReMeasureTextWidthInEllipsisMode(GetContentRect(), style, ellipsisIndex_);
break;
case LINE_BREAK_MARQUEE:
- RemeasureForAnimation(textSize.x, LINE_BREAK_MARQUEE);
- break;
- case LINE_BREAK_OSCILLATION:
- RemeasureForAnimation(textSize.x, LINE_BREAK_OSCILLATION);
+ RemeasureForMarquee(textSize.x);
break;
default:
break;
}
}
-void UILabel::RemeasureForAnimation(int16_t textWidth, LineBreakMode mode)
+void UILabel::RemeasureForMarquee(int16_t textWidth)
{
int16_t rectWidth = GetWidth();
if (textWidth > rectWidth) {
GRAPHIC_LOGE("new LabelAnimator fail");
return;
}
- animator->SetAnimatorMode(mode);
animator->SetAnimatorSpeed(animator_.speed);
animator_.animator = animator;
hasAnimator_ = true;
void UISwipeView::MoveHeadOrTailChild()
{
- if (childrenTail_ == childrenHead_) {
- return;
- }
-
if (loop_) {
if (direction_ == HORIZONTAL) {
while (childrenHead_->GetX() >= 0) {
OnChildChanged();
}
-void UIViewGroup::RemoveAndDeleteAllRecursively(UIViewGroup*& group)
-{
- if (group == nullptr) {
- GRAPHIC_LOGE("param group is nullptr !!");
- return;
- }
-
- UIViewType type = group->GetViewType();
- if ((type == UI_DIGITAL_CLOCK) || (type == UI_PICKER) || (type == UI_TIME_PICKER) || (type == UI_MENU_ITEM) ||
- (type == UI_IMAGE_PICKER) || (type == UI_ROLLER_VIEW) || (type == UI_COVER_FLOW)) {
- delete group;
- group = nullptr;
- return;
- }
-
- if (type == UI_CROSS_VIEW) {
- GRAPHIC_LOGE("Need to remove UICardPage in UICrossView manully !!");
- delete group;
- group = nullptr;
- return;
- }
-
- UIView* node = group->GetChildrenHead();
- UIView* tmp = nullptr;
- while (node != nullptr) {
- tmp = node;
- node = node->GetNextSibling();
-#if LOCAL_RENDER
- RootView::GetInstance()->RemoveViewFromInvalidMap(tmp);
-#endif
- if (tmp->IsViewGroup()) {
- UIViewGroup* tmpGroup = dynamic_cast<UIViewGroup*>(tmp);
- RemoveAndDeleteAllRecursively(tmpGroup);
- } else {
- delete tmp;
- }
- }
- delete group;
- group = nullptr;
-}
-
void UIViewGroup::GetTargetView(const Point& point, UIView** last)
{
if (last == nullptr) {
#if CAPABILITY_HWDRAW_LETTER_VECTOR
LabelLetterInfo letterInfo{Point { MATH_ROUND(posX), MATH_ROUND(posY) }, mask, style.textColor_, opaScale,
- 0, 0, letter, arcTextInfo.direct, fontId, 0, 0, nullptr, posX, posY };
- DrawUtils::GetInstance()->DrawArcLablePath(gfxDstBuffer, letterInfo, rotateAngle);
+ 0, 0, letter, arcTextInfo.direct, fontId, 0, 0, nullptr};
+ DrawUtils::GetInstance()->DrawArcLablePath(gfxDstBuffer, letterInfo, static_cast<int16_t>(rotateAngle));
#else
DrawLetterWithRotate(gfxDstBuffer, mask, fontId, letter, Point { MATH_ROUND(posX), MATH_ROUND(posY) },
static_cast<int16_t>(rotateAngle), style.textColor_, opaScale);
}
void DrawUtils::DrawArcLablePath(BufferInfo& gfxDstBuffer, const LabelLetterInfo& letterInfo,
- const float& rotateAngle) const
+ const int16_t& rotateAngle) const
{
UIFont* fontEngine = UIFont::GetInstance();
GlyphPathData path;
return;
}
- float x = letterInfo.x;
- float y = letterInfo.y + head.ascender;
+ Rect rectLetter;
+ rectLetter.SetPosition(letterInfo.pos.x, letterInfo.pos.y + head.ascender);
+ rectLetter.Resize(path.width, path.height);
+ TransformMap transMap(rectLetter);
+ Vector2<float> pivot = {0, 0};
+ Vector2<float> scale = {path.scale, path.scale};
+ transMap.Scale(scale, pivot);
+ pivot.y_ = - head.ascender;
+ transMap.Rotate(rotateAngle, pivot);
- Matrix4<float> mat;
- Matrix4<float> rotate = Matrix4<float>::Rotate(rotateAngle,
- Vector3<float>(x, y - head.ascender, 0), Vector3<float>(x, y - head.ascender, 1));
- Matrix4<float> scale = Matrix4<float>::Scale(Vector3<float>(path.scale, path.scale, 1), Vector3<float>(x, y, 0));
- mat = rotate * scale;
- Matrix4<float> translateFromCamera = Matrix4<float>::Translate(Vector3<float>(-x, -y, 0));
- Matrix4<float> translateToCamera = Matrix4<float>::Translate(Vector3<float>(x, y, 0));
- Matrix4<float> perspectiveMatrix;
- perspectiveMatrix[2][2] = 0.0f;
- perspectiveMatrix[2][3] = -1.0f / 1000; // 1000: default camera distance
- perspectiveMatrix = translateToCamera * (perspectiveMatrix * translateFromCamera);
-
- mat = perspectiveMatrix * mat;
- mat = mat * translateToCamera;
-
- const float* srcMat = mat.GetData();
+ const float* srcMat = transMap.GetTransformMatrix().GetData();
VGUMatrix3 matrix;
if (memset_s(&matrix, sizeof(VGUMatrix3), 0, sizeof(VGUMatrix3)) != EOK) {
GRAPHIC_LOGE("DrawLetter memset_s error\n");
uint8_t shapingId;
uint8_t fontSize;
TransformMap* transMap;
-
- float x;
- float y;
};
struct TransformInitState {
const OpacityType& opa) const;
#if CAPABILITY_HWDRAW_LETTER_VECTOR
void DrawArcLablePath(BufferInfo& gfxDstBuffer, const LabelLetterInfo& letterInfo,
- const float& rotateAngle) const;
+ const int16_t& rotateAngle) const;
#endif
private:
using DrawTriangleTransformFuc = void (*)(const TriangleScanInfo& triangle, const ColorMode bufferMode);
onKeyActListener_ = nullptr;
}
- /**
- * @brief Get the listener for monitoring physical key events.
- *
- * @since 1.0
- * @version 1.0
- */
- OnKeyActListener* GetOnKeyActListener()
- {
- return onKeyActListener_;
- }
-
/**
* @brief Listens for the input events triggered by a virtual device other than
* human touching or physical pressing.
* @since 1.0
* @version 1.0
*/
- void SetArcTextAngle(float startAngle, float endAngle)
+ void SetArcTextAngle(int16_t startAngle, int16_t endAngle)
{
if ((startAngle_ != startAngle) || (endAngle_ != endAngle)) {
startAngle_ = startAngle;
* @since 1.0
* @version 1.0
*/
- float GetArcTextStartAngle() const
+ int16_t GetArcTextStartAngle() const
{
return startAngle_;
}
* @since 1.0
* @version 1.0
*/
- float GetArcTextEndAngle() const
+ int16_t GetArcTextEndAngle() const
{
return endAngle_;
}
bool needRefresh_;
Point textSize_;
uint16_t radius_;
- float startAngle_;
- float endAngle_;
+ int16_t startAngle_;
+ int16_t endAngle_;
Point arcCenter_;
TextOrientation orientation_;
* If this text is too long, it will be rolled to display.
*/
LINE_BREAK_MARQUEE,
- /**
- * The width and height of this label remain unchanged.
- * If this text is too long, it will be scrolled back and forth to display.
- */
- LINE_BREAK_OSCILLATION,
/**
* The width and height of this label remain unchanged.
* If this text is too long, it will be cropped to display.
private:
friend class LabelAnimator;
- void RemeasureForAnimation(int16_t textWidth, LineBreakMode mode = LINE_BREAK_MARQUEE);
+ void RemeasureForMarquee(int16_t textWidth);
bool needRefresh_ : 1;
bool useTextColor_ : 1;
#endif
UI_MENU_ITEM,
UI_CARD_PAGE,
- UI_COVER_FLOW,
UI_CROSS_VIEW,
UI_BARCODE,
UI_MAP_VIEW,
UI_KALEIDOSCOPE_VIEW,
UI_ROLLER_VIEW,
UI_HEXAGONS_LIST,
- UI_IMAGE_PICKER,
UI_ICOSAHEDRON_VIEW,
UI_NUMBER_MAX
};
*/
virtual void RemoveAll();
- /**
- * @brief Removes and delete all child views recursively. this method have some limitation:
- * 1. Some UI group views delete children in their destructor function, don't delete them repeatly in this
- * function in this situation. some special treatment has already been done for below basic UI group views:
- * UIPicker UITimePicker UIImagePicker UIDigitalClock UIRollerView UICoverFlow UIMenuItem
- * However, the custom UI group views was ignored in this function, so be carefully when using this method.
- * 2. Not all children in UICrossView are deleted in this method, you should remove UICardPages in addtion.
- * @since 1.0
- * @version 1.0
- */
- static void RemoveAndDeleteAllRecursively(UIViewGroup*& group);
-
/**
* @brief Obtains the target child view that is visible and can respond to touch events based on given coordinates.
*
uint16_t state;
#endif
};
- uint16_t keyId; /* key type device use this param for touched key id */
#if ENABLE_ROTATE_INPUT
int16_t rotate; /* rotate type device used this param for rotate */
#endif
+ uint16_t keyId; /* key type device use this param for touched key id */
};
#ifdef VERSION_IOT
uint16_t state;
]]
add_subdirectory(frameworks f)
-add_subdirectory(interfaces/kits/audio_capturer_lite js_buildin)
+add_subdirectory(interfaces/kits/audio_captuer_lite js_buildin)
enable_language(CXX)
-set(COMPONENT_NAME "js_audio_capturer")
+set(COMPONENT_NAME "js_audio_captuer")
set(SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/recording_module.cpp
}\r
MEDIA_INFO_LOG("sessionId:%d", sessionId);\r
g_captureInterruptListener = std::make_shared<CaptureInterruptListener>();\r
- g_sample.interrupt = { AUDIO_STREAM_VOICE_ASSISTANT, sessionId, g_captureInterruptListener };\r
+ g_sample.interrupt = { AUDIO_STREAM_VOICE_RECORD, sessionId, g_captureInterruptListener };\r
\r
if (g_amInstance.ActivateAudioInterrupt(g_sample.interrupt) == INTERRUPT_FAILED) {\r
MEDIA_ERR_LOG("ActivateAudioInterrupt failed");\r
\r
audioCapturerInfo.sessionID = sessionId;\r
audioCapturerInfo.inputSource = AUDIO_MIC;\r
- audioCapturerInfo.streamType = AUDIO_STREAM_VOICE_ASSISTANT;\r
+ audioCapturerInfo.streamType = AUDIO_STREAM_VOICE_RECORD;\r
ret = AudioCaptureSetInfo(audioCapturerInfo);\r
if (ret != 0) {\r
g_audioCap.reset();\r
namespace OHOS {\r
namespace ACELite {\r
\r
-JSIValue AudioCapturerModule::Start(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)\r
+JSIValue AudioCaptuerModule::Start(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)\r
{\r
const char *pars[6] = {"","","16000","1","16","/user/log/xiaodu/xiaodu.pcm"};\r
return JSI::CreateBoolean(AudioCaptureStart_sample(6,pars));\r
}\r
\r
-JSIValue AudioCapturerModule::Stop(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)\r
+JSIValue AudioCaptuerModule::Stop(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)\r
{\r
g_sample.needStop = true;\r
return JSI::CreateBoolean(0);\r
}\r
\r
-void InitAudioCapturerModule(JSIValue exports)\r
+void InitAudioCaptuerModule(JSIValue exports)\r
{\r
- JSI::SetModuleAPI(exports, "Start", AudioCapturerModule::Start);\r
- JSI::SetModuleAPI(exports, "Stop", AudioCapturerModule::Stop);\r
+ JSI::SetModuleAPI(exports, "Start", AudioCaptuerModule::Start);\r
+ JSI::SetModuleAPI(exports, "Stop", AudioCaptuerModule::Stop);\r
}\r
\r
}\r
\r
namespace OHOS {\r
namespace ACELite {\r
-class AudioCapturerModule final : public MemoryHeap {\r
+class AudioCaptuerModule final : public MemoryHeap {\r
public:\r
/**\r
* constructor\r
*/\r
- AudioCapturerModule() = default;\r
+ AudioCaptuerModule() = default;\r
\r
/**\r
* desconstructor\r
*/\r
- ~AudioCapturerModule() = default;\r
+ ~AudioCaptuerModule() = default;\r
/**\r
* Start\r
*/\r
static JSIValue Stop(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);\r
};\r
\r
-void InitAudioCapturerModule(JSIValue exports);\r
+void InitAudioCaptuerModule(JSIValue exports);\r
}\r
}\r
\r
CHK_NULL_RETURN(impl_, AUDIO_ERROR, "impl_ is nullptr");
return impl_->DumpInfo(audioManagerInfo);
}
-
-int32_t AudioManager::SetParam(AudioLinkDirection direction, const char *param, uint32_t len)
-{
- CHK_NULL_RETURN(impl_, AUDIO_ERROR, "impl_ is nullptr");
- return impl_->SetParam(direction, param, len);
-}
-
-int32_t AudioManager::GetParam(AudioLinkDirection direction, char *param, uint32_t len)
-{
- CHK_NULL_RETURN(impl_, AUDIO_ERROR, "impl_ is nullptr");
- return impl_->GetParam(direction, param, len);
-}
} // namespace Audio
}
return AUDIO_SUCCESS;
}
-
-int32_t AudioManager::AudioManagerImpl::SetParam(AudioLinkDirection direction, const char *param, uint32_t len)
-{
- return AudioServiceSetParam(direction, param, len);
-}
-
-int32_t AudioManager::AudioManagerImpl::GetParam(AudioLinkDirection direction, char *param, uint32_t len)
-{
- return AudioServiceGetParam(direction, param, len);
-}
} // namespace Audio
int32_t ActivateAudioInterrupt(AudioInterrupt &interrupt);\r
int32_t DeactivateAudioInterrupt(AudioInterrupt &interrupt);\r
int32_t DumpInfo(AudioManagerDebugInfo &audioManagerInfo);\r
- int32_t SetParam(AudioLinkDirection direction, const char *param, uint32_t len);\r
- int32_t GetParam(AudioLinkDirection direction, char *param, uint32_t len);\r
+\r
private:\r
static void InterruptListenerImpl(uintptr_t owner, uintptr_t userData, int32_t type, int32_t hint);\r
int32_t ConvertIAudioInterrupt(AudioInterrupt &interrupt, AudioInterruptProxy &interruptInternal);\r
int32_t AudioServiceRegCallBack(AudioServiceHaidEventCallback callBack, void *context);
-int32_t AudioServiceSetParam(AudioLinkDirection direction, const char *param, uint32_t len);
-
-int32_t AudioServiceGetParam(AudioLinkDirection direction, char *param, uint32_t len);
-
#ifdef __cplusplus
#if __cplusplus
}
return ret;
}
-int32_t AudioServiceSetParam(AudioLinkDirection direction, const char *param, uint32_t len)
-{
- CHK_FAILED_RETURN(g_audioSVCInited, true, AUDIO_NO_INIT, "Audio Service not init");
- CHK_NULL_RETURN(param, AUDIO_INVALID_PARAMS, "param is NULL");
- int32_t ret = StreamManagerSetParam(direction, param, len);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("Audio Service set param failed!");
- }
- return ret;
-}
-
-int32_t AudioServiceGetParam(AudioLinkDirection direction, char *param, uint32_t len)
-{
- CHK_FAILED_RETURN(g_audioSVCInited, true, AUDIO_NO_INIT, "Audio Service not init");
- CHK_NULL_RETURN(param, AUDIO_INVALID_PARAMS, "param is NULL");
- int32_t ret = StreamManagerGetParam(direction, param, len);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("Audio Service get param failed!");
- }
- return ret;
-}
-
#ifdef __cplusplus
#if __cplusplus
}
static StreamTypeMap g_mapStreamType[] = {\r
{ AUDIO_STREAM_MUSIC, AUDIO_IN_MEDIA },\r
{ AUDIO_STREAM_NOTIFICATION, AUDIO_IN_MEDIA },\r
- { AUDIO_STREAM_VOICE_ASSISTANT, AUDIO_IN_MEDIA },\r
{ AUDIO_STREAM_VOICE_RECORD, AUDIO_IN_MEDIA },\r
{ AUDIO_STREAM_A2DP_MUSIC, AUDIO_IN_MEDIA },\r
{ AUDIO_STREAM_VOICE_CALL, AUDIO_IN_COMMUNICATION },\r
{STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_NONE, STRATEGY_REJECT,
STRATEGY_MIX, STRATEGY_REJECT, STRATEGY_MIX, STRATEGY_MIX, STRATEGY_DELAY, STRATEGY_DELAY},
{STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_NONE,
- STRATEGY_MIX, STRATEGY_REJECT, STRATEGY_MIX, STRATEGY_MIX, STRATEGY_MIX, STRATEGY_MIX},
+ STRATEGY_MIX, STRATEGY_REJECT, STRATEGY_MIX, STRATEGY_MIX, STRATEGY_DELAY, STRATEGY_DELAY},
{STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE,
STRATEGY_NONE, STRATEGY_REJECT, STRATEGY_MIX, STRATEGY_MIX, STRATEGY_REJECT, STRATEGY_DELAY},
{STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE,
STRATEGY_EXCLUSIVE, STRATEGY_NONE, STRATEGY_MIX, STRATEGY_MIX, STRATEGY_REJECT, STRATEGY_DELAY},
- {STRATEGY_EXCLUSIVE, STRATEGY_MIX, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE,
+ {STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE,
STRATEGY_EXCLUSIVE, STRATEGY_MIX, STRATEGY_NONE, STRATEGY_MIX, STRATEGY_MIX, STRATEGY_MIX},
{STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE,
STRATEGY_EXCLUSIVE, STRATEGY_MIX, STRATEGY_MIX, STRATEGY_NONE, STRATEGY_MIX, STRATEGY_MIX},
.deviceType = IN_BUILTIN_MIC,\r
.hifiMode = HIFI_LPM_CLK_LEVEL1,\r
},\r
- {\r
- .streamType = AUDIO_STREAM_VOICE_ASSISTANT,\r
- .deviceType = IN_BUILTIN_MIC,\r
- .hifiMode = HIFI_LPM_CLK_LEVEL2,\r
- },\r
{\r
.streamType = AUDIO_STREAM_A2DP_MUSIC,\r
.deviceType = OUT_BUILTIN_SPEAKER,\r
int32_t SetSourceParam(uintptr_t handle, const char *keyValueList, size_t len);
-int32_t GetSourceParam(uintptr_t handle, char *keyValueList, size_t len);
-
#ifdef __cplusplus
#if __cplusplus
}
int32_t StreamManagerDeactivateCorrespondingStream(AudioSession sessionID, AudioStreamType streamType);
-int32_t StreamManagerSetParam(AudioLinkDirection direction, const char *param, uint32_t len);
-
-int32_t StreamManagerGetParam(AudioLinkDirection direction, char *param, uint32_t len);
-
#ifdef __cplusplus
#if __cplusplus
}
int32_t SetTrackParam(uintptr_t handle, const char *keyValueList, size_t len);
-int32_t GetTrackParam(uintptr_t handle, char *keyValueList, size_t len);
-
int32_t DeactivateCorrespondingTrack(uintptr_t handle);
#ifdef __cplusplus
}
return AUDIO_SUCCESS;
}
-
-int32_t GetSourceParam(uintptr_t handle, char *keyValueList, size_t len)
-{
- SourceHandleContext *context = (SourceHandleContext *)handle;
- CHK_NULL_RETURN(context, AUDIO_ERROR, "source handle is NULL");
- CHK_NULL_RETURN(keyValueList, AUDIO_ERROR, "keyValueList is NULL");
- if (context->capture == NULL) {
- ALOGE("not create capture");
- return AUDIO_ERROR;
- }
- int32_t ret = context->capture->attr.GetExtraParams((AudioHandle)context->capture, keyValueList, (int32_t)len);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("call get extra params failed ");
- return AUDIO_ERROR;
- }
- return AUDIO_SUCCESS;
-}
\ No newline at end of file
return ret;
}
-static int32_t GetStreamOutParamValue(char *param, uint32_t len)
-{
- bool isFound = false;
- for (uint32_t i = 0; i < CONCURRENT_ACTIVE_STREAM_MAX_NUM; i++) {
- if (!IsValidStream(g_streamMgrContext.simpleInfos[i].streamId,
- g_streamMgrContext.simpleInfos[i].active)) {
- continue;
- }
- uint32_t deviceId = GetStreamDeviceId(g_streamMgrContext.simpleInfos[i].streamHandle);
- if (deviceId == OUT_BLUETOOTH_SCO) {
- continue;
- }
- isFound = true;
- uintptr_t streamHandle = g_streamMgrContext.simpleInfos[i].streamHandle;
- int32_t ret = GetTrackParam(streamHandle, param, len);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("get track param failed, ret:%d.", ret);
- return AUDIO_ERROR;
- }
- }
- if (!isFound) {
- ALOGI("not find match out stream!");
- return AUDIO_ERROR;
- }
- return AUDIO_SUCCESS;
-}
-
-static int32_t SetStreamOutParamValue(const char *param, uint32_t len)
-{
- bool isFound = false;
- for (uint32_t i = 0; i < CONCURRENT_ACTIVE_STREAM_MAX_NUM; i++) {
- if (!IsValidStream(g_streamMgrContext.simpleInfos[i].streamId,
- g_streamMgrContext.simpleInfos[i].active)) {
- continue;
- }
- uint32_t deviceId = GetStreamDeviceId(g_streamMgrContext.simpleInfos[i].streamHandle);
- if (deviceId == OUT_BLUETOOTH_SCO) {
- continue;
- }
- isFound = true;
- uintptr_t streamHandle = g_streamMgrContext.simpleInfos[i].streamHandle;
- int32_t ret = SetTrackParam(streamHandle, param, len);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("set track param failed, ret:%d.", ret);
- return AUDIO_ERROR;
- }
- }
- if (!isFound) {
- ALOGE("not find match out stream!");
- return AUDIO_ERROR;
- }
- return AUDIO_SUCCESS;
-}
-
-static int32_t GetStreamInParamValue(char *param, uint32_t len)
-{
- bool isFound = false;
- for (uint32_t i = 0; i < MAX_STREAM_IN_NUM; i++) {
- StreamSimpleInfo curStreamInfo = g_streamMgrContext.curInputStreamInfo[i];
- if (!IsValidStream(curStreamInfo.streamId, curStreamInfo.active)) {
- continue;
- }
- uint32_t deviceId = GetSourceDeviceId(curStreamInfo.streamHandle);
- if (deviceId == IN_BLUETOOTH_SCO) {
- continue;
- }
- isFound = true;
- int32_t ret = GetSourceParam(curStreamInfo.streamHandle, param, len);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("get source param failed, ret:%d.", ret);
- return AUDIO_ERROR;
- }
- }
- if (!isFound) {
- ALOGE("not find match in stream!");
- return AUDIO_ERROR;
- }
- return AUDIO_SUCCESS;
-}
-
-static int32_t SetStreamInParamValue(const char *param, uint32_t len)
-{
- bool isFound = false;
- for (uint32_t i = 0; i < MAX_STREAM_IN_NUM; i++) {
- StreamSimpleInfo curStreamInfo = g_streamMgrContext.curInputStreamInfo[i];
- if (!IsValidStream(curStreamInfo.streamId, curStreamInfo.active)) {
- continue;
- }
- uint32_t deviceId = GetSourceDeviceId(curStreamInfo.streamHandle);
- if (deviceId == IN_BLUETOOTH_SCO) {
- continue;
- }
- isFound = true;
- int32_t ret = SetSourceParam(curStreamInfo.streamHandle, param, len);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("set source param failed, ret:%d.", ret);
- return AUDIO_ERROR;
- }
- }
- if (!isFound) {
- ALOGE("not find match in stream!");
- return AUDIO_ERROR;
- }
- return AUDIO_SUCCESS;
-}
-
-int32_t StreamManagerSetParam(AudioLinkDirection direction, const char *param, uint32_t len)
-{
- int32_t ret = AUDIO_SUCCESS;
- MediaMutexLock(g_mutex);
- switch (direction) {
- case AUDIO_DOWN_LINK:
- ret = SetStreamOutParamValue(param, len);
- break;
- case AUDIO_UP_LINK:
- ret = SetStreamInParamValue(param, len);
- break;
- default:
- ALOGI("not find match direction!");
- return AUDIO_ERROR;
- }
- MediaMutexUnLock(g_mutex);
- return ret;
-}
-
-int32_t StreamManagerGetParam(AudioLinkDirection direction, char *param, uint32_t len)
-{
- int32_t ret = AUDIO_SUCCESS;
- MediaMutexLock(g_mutex);
- switch (direction) {
- case AUDIO_DOWN_LINK:
- ret = GetStreamOutParamValue(param, len);
- break;
- case AUDIO_UP_LINK:
- ret = GetStreamInParamValue(param, len);
- break;
- default:
- ALOGE("not find match direction!");
- return AUDIO_ERROR;
- }
- MediaMutexUnLock(g_mutex);
- return ret;
-}
-
#ifdef __cplusplus
#if __cplusplus
}
CHK_NULL_RETURN(render->attr.GetCurrentChannelId, false, "render attr GetCurrentChannelId is NULL");
CHK_NULL_RETURN(render->attr.SetExtraParams, false, "render attr SetExtraParams is NULL");
- CHK_NULL_RETURN(render->attr.GetExtraParams, false, "render attr GetExtraParams is NULL");
CHK_NULL_RETURN(render->scene.SelectScene, false, "render scene SelectScene is NULL");
return AUDIO_SUCCESS;
}
-int32_t GetTrackParam(uintptr_t handle, char *keyValueList, size_t len)
-{
- TrackHandleContext *context = (TrackHandleContext *)handle;
- CHK_NULL_RETURN(context, AUDIO_ERROR, "TrackHandleContext *context is NULL");
- CHK_NULL_RETURN(keyValueList, AUDIO_ERROR, "TrackHandleContext *keyValueList is NULL");
- if (len == 0) {
- ALOGE("len invalid ");
- return AUDIO_ERROR;
- }
- if (context->render != NULL) {
- int32_t ret = context->render->attr.GetExtraParams((AudioHandle)context->render, keyValueList, (int32_t)len);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("get extra data failed! ret = %d", ret);
- return ret;
- }
- }
- return AUDIO_SUCCESS;
-}
-
int32_t DeactivateCorrespondingTrack(uintptr_t handle)
{
TrackHandleContext *context = (TrackHandleContext *)handle;
int32_t SetInputDevice(int32_t deviceId, AudioRendererConfig &renderConfig) const;
int32_t ObtainBuffer(CapturerBuffer &buffer, bool isBlocking) const;
int32_t Release() const;
- int32_t SetParam(const char *keyValueList, int32_t len) const;
- int32_t GetParam(char *keyValueList, int32_t len);
+
private:
uintptr_t streamHandle_;
void *mutex;
int32_t GetBufferFrameSize() const;
int32_t GetBufferUnderflowTimes() const; // del DFX
StreamDebugInfo DumpInfo() const;
- int32_t SetParam(const char *keyValueList, int32_t len) const;
- int32_t GetParam(char *keyValueList, int32_t len);
+ int32_t SetParam(std::string &keyValueList) const;
+
private:
uintptr_t streamHandle_;
void *mutex;
MediaMutexUnLock(mutex);
return AUDIO_SUCCESS;
}
-
-int32_t AudioStreamIn::SetParam(const char *keyValueList, int32_t len) const
-{
- MediaMutexLock(mutex);
- int32_t ret = SetSourceParam(streamHandle_, keyValueList, len);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("AudioStreamIn::SetParam call SetSourceParam failed, ret:%d.", ret);
- MediaMutexUnLock(mutex);
- return AUDIO_ERROR;
- }
- MediaMutexUnLock(mutex);
- return AUDIO_SUCCESS;
-}
-
-int32_t AudioStreamIn::GetParam(char *keyValueList, int32_t len)
-{
- MediaMutexLock(mutex);
- int32_t ret = GetSourceParam(streamHandle_, keyValueList, len);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("AudioStreamIn::GetParam call GetSourceParam failed, ret:%d.", ret);
- MediaMutexUnLock(mutex);
- return AUDIO_ERROR;
- }
- MediaMutexUnLock(mutex);
- return AUDIO_SUCCESS;
-}
}
}
int32_t AudioStreamOut::StreamWrite(const uint8_t *buffer, uint64_t userSize, uint64_t &writtenSize,
- AudioRendererConfig &renderConfig) const
+ AudioRendererConfig &renderConfig) const
{
MediaMutexLock(mutex);
int32_t ret = StreamWriteTrack(streamHandle_, buffer, userSize, &writtenSize);
return info;
}
-int32_t AudioStreamOut::SetParam(const char *keyValueList, int32_t len) const
+int32_t AudioStreamOut::SetParam(std::string &keyValueList) const
{
MediaMutexLock(mutex);
- int32_t ret = SetTrackParam(streamHandle_, keyValueList, len);
+ size_t len = keyValueList.size();
+ const char *keyValueStr = keyValueList.c_str();
+ int32_t ret = SetTrackParam(streamHandle_, keyValueStr, len);
if (ret != AUDIO_SUCCESS) {
ALOGE("AudioStreamOut::SetParam call SetTrackParam failed, ret:%d.", ret);
MediaMutexUnLock(mutex);
MediaMutexUnLock(mutex);
return AUDIO_SUCCESS;
}
-
-int32_t AudioStreamOut::GetParam(char *keyValueList, int32_t len)
-{
- MediaMutexLock(mutex);
- int32_t ret = GetTrackParam(streamHandle_, keyValueList, len);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("AudioStreamOut::GetParam call GetTrackParam failed, ret:%d.", ret);
- MediaMutexUnLock(mutex);
- return AUDIO_ERROR;
- }
- MediaMutexUnLock(mutex);
- return AUDIO_SUCCESS;
-}
}
\r
int32_t DumpInfo(AudioManagerDebugInfo &audioManagerInfo);\r
\r
- int32_t SetParam(AudioLinkDirection direction, const char *param, uint32_t len);\r
-\r
- int32_t GetParam(AudioLinkDirection direction, char *param, uint32_t len);\r
-\r
private:\r
AudioManager() noexcept;\r
class AudioManagerImpl;\r
free(buf);
return SINK_INVALID_OP;
}
- ret = outStream_->SetParam(buf, bufLen);
+ std::string keyValueList(buf);
+ ret = outStream_->SetParam(keyValueList);
if (buf != nullptr) {
free(buf);
buf = nullptr;
#include <iostream>
#include <memory>
#include <stdlib.h>
-#include "securec.h"
#include "audio_utils.h"
#include "audio_errors.h"
#include "audio_manager.h"
using Audio::InterruptListener;
using Audio::AudioInterrupt;
+#define LOG_MODULE_NAME "AudioManagerCWrapper"
+#define BUFFER_SIZE 20
+
#ifdef __cplusplus
extern "C" {
#endif
-#define LOG_MODULE_NAME "AudioManagerCWrapper"
-#define BUFFER_SIZE 120
-#define VQE_PREFIX_LEN 18
-#define PEQ_PREFIX_LEN 50
-#define NV_AUDIO_PEQ_PARAM_SIZE 41
-#define NV_AUDIO_VQE_PARAM_SIZE 53
-#define PEQ_PARAM_SIZE (NV_AUDIO_PEQ_PARAM_SIZE * sizeof(uint32_t))
-#define VQE_PARAM_SIZE (NV_AUDIO_VQE_PARAM_SIZE * sizeof(uint32_t))
-#define SEA_BUFFER_SIZE (VQE_PARAM_SIZE + VQE_PREFIX_LEN)
-#define AEF_BUFFER_SIZE (PEQ_PARAM_SIZE + PEQ_PREFIX_LEN)
-#define PEQ_PREFIX_LEN 50
-
-
static AudioManager& g_amInstance = AudioManager::GetInstance();
static std::shared_ptr<AudioStreamIn> g_streamIn = nullptr;
static std::shared_ptr<AudioStreamOut> g_streamOut = nullptr;
int32_t AudioManagerSetSeaEnable(bool enable)
{
- std::string str("seaenable = " + std::to_string(enable));
- int32_t ret = g_streamOut->SetParam(str.c_str(), str.size());
+ char buf[BUFFER_SIZE] = { 0 };
+ int32_t ret = snprintf(buf, BUFFER_SIZE, "%s = %d", "seaenable", enable);
+ if (ret < 0) {
+ ALOGE("sprintf_s failed");
+ return AUDIO_ERROR;
+ }
+ std::string str(buf);
+ ret = g_streamOut->SetParam(str);
if (ret != AUDIO_SUCCESS) {
ALOGE("set sea enable failed");
return AUDIO_ERROR;
return AUDIO_SUCCESS;
}
-int32_t AudioManagerSetSeaParam(const uint8_t *seaParam, uint16_t len)
-{
- if (seaParam == NULL) {
- ALOGE("sea_param null");
- return AUDIO_INVALID_PARAMS;
- }
- char *seaBuf = (char *)malloc(SEA_BUFFER_SIZE);
- if (seaBuf == NULL) {
- ALOGE("malloc fail");
- return AUDIO_NO_MEM;
- }
- if (memset_s(seaBuf, SEA_BUFFER_SIZE, 0, SEA_BUFFER_SIZE) != EOK) {
- ALOGE("memset_s fail");
- free(seaBuf);
- return AUDIO_NO_MEM;
- }
- int32_t prefixLen = sprintf_s(seaBuf, SEA_BUFFER_SIZE, "%s = %u:", "setseaparam", len);
- if (prefixLen < 0) {
- ALOGE("sprintf_s failed");
- free(seaBuf);
- return AUDIO_ERROR;
- }
- if (memcpy_s(seaBuf + prefixLen, SEA_BUFFER_SIZE - prefixLen, seaParam, len) != EOK) {
- ALOGE("memcpy_s failed");
- free(seaBuf);
- return AUDIO_ERROR;
- }
- int32_t ret = g_amInstance.SetParam(AUDIO_UP_LINK, seaBuf, BUFFER_SIZE);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("set param failed");
- free(seaBuf);
- return AUDIO_ERROR;
- }
- free(seaBuf);
- ALOGE("set param success!");
- return AUDIO_SUCCESS;
-}
-
-int32_t AudioManagerGetSeaParam(uint8_t *seaParam, uint16_t len)
-{
- if (seaParam == NULL) {
- ALOGE("sea_param null");
- return AUDIO_INVALID_PARAMS;
- }
- char *seaBuf = (char *)malloc(SEA_BUFFER_SIZE);
- if (seaBuf == NULL) {
- ALOGE("malloc fail");
- return AUDIO_NO_MEM;
- }
- if (memset_s(seaBuf, SEA_BUFFER_SIZE, 0, SEA_BUFFER_SIZE) != EOK) {
- ALOGE("memset_s fail");
- free(seaBuf);
- return AUDIO_NO_MEM;
- }
- int32_t prefixLen = sprintf_s(seaBuf, SEA_BUFFER_SIZE, "%s = %u", "getseaparam", len);
- if (prefixLen < 0) {
- ALOGE("sprintf_s failed");
- free(seaBuf);
- return AUDIO_ERROR;
- }
- int32_t ret = g_amInstance.GetParam(AUDIO_UP_LINK, seaBuf, SEA_BUFFER_SIZE);
- if (ret != AUDIO_SUCCESS) {
- ALOGE("get param failed");
- free(seaBuf);
- return AUDIO_ERROR;
- }
- if (memcpy_s(seaParam, SEA_BUFFER_SIZE, seaBuf, len) != EOK) {
- ALOGE("memcpy_s failed");
- free(seaBuf);
- return AUDIO_ERROR;
- }
- free(seaBuf);
- ALOGE("get param success!");
- return AUDIO_SUCCESS;
-}
-
static void WaitA2dpStartWhenDelay(AudioManagerA2dpContext *a2dpContext)
{
while (true) {
}
}
-static int32_t DisConnectBluetoothA2dpDevice(void)
+static int32_t DisConnectBluetoothA2dpDevice(AudioManagerA2dpContext *a2dpContext)
{
if (CheckA2dpSourceConnectState()) {
int32_t ret = g_amInstance.SetDeviceConnectionState(OUT_BLUETOOTH_A2DP,
return AUDIO_SUCCESS;
}
-static int32_t ConnectBluetoothA2dpDevice(void)
+static int32_t ConnectBluetoothA2dpDevice(AudioManagerA2dpContext *a2dpContext)
{
if (CheckA2dpSourceConnectState()) {
int32_t ret = g_amInstance.SetDeviceConnectionState(OUT_BLUETOOTH_A2DP,
return AUDIO_SUCCESS;
}
-static int32_t AudioManagerA2dpSessionInitInner(AudioManagerA2dpContext *a2dpContext)
-{
- AudioSession sessionID = g_amInstance.MakeSessionId();
- if (sessionID == AUDIO_SESSION_ID_NONE) {
- ALOGE("get sessionid fail.\n");
- return AUDIO_ERROR;
- }
- g_a2dpInputConfig.sessionID = sessionID;
- g_a2dpRenderConfig.sessionID = sessionID;
- std::shared_ptr<AudioManagerA2dpInterruptListener> listener =
- std::make_shared<AudioManagerA2dpInterruptListener>(a2dpContext);
- if (listener == nullptr || listener.get() == nullptr) {
- ALOGE("listener is nullptr");
- return AUDIO_ERROR;
- }
- a2dpContext->interrupt = { AUDIO_STREAM_A2DP_MUSIC, sessionID, listener };
- return AUDIO_SUCCESS;
-}
-
static int32_t AudioManagerA2dpSessionInit(AudioManagerA2dpContext *a2dpContext)
{
bool success = g_amInstance.Initialize();
ALOGE("audio manager init failed");
return AUDIO_ERROR;
}
- int32_t ret = 0;
while (true) {
- ret = AudioManagerA2dpSessionInitInner(a2dpContext);
- if (ret != AUDIO_SUCCESS) {
+ AudioSession sessionID = g_amInstance.MakeSessionId();
+ if (sessionID == AUDIO_SESSION_ID_NONE) {
+ ALOGE("get sessionid fail.\n");
return AUDIO_ERROR;
}
+ g_a2dpInputConfig.sessionID = sessionID;
+ g_a2dpRenderConfig.sessionID = sessionID;
+ std::shared_ptr<AudioManagerA2dpInterruptListener> listener =
+ std::make_shared<AudioManagerA2dpInterruptListener>(a2dpContext);
+ if (listener == nullptr || listener.get() == nullptr) {
+ ALOGE("listener is nullptr");
+ return AUDIO_ERROR;
+ }
+ a2dpContext->interrupt = { AUDIO_STREAM_A2DP_MUSIC, sessionID, listener };
/* After the delayed stream is woken up, the focus needs to be applied for again
- because the focus may be outdated and the policy needs to be obtained again. */
+ because the focus may be outdated and the policy needs to be obtained again.*/
int32_t strategy = g_amInstance.ActivateAudioInterrupt(a2dpContext->interrupt);
if (strategy == INTERRUPT_FAILED) {
ALOGE("activate audio interrupt faild");
if (strategy == INTERRUPT_DELAYED) {
WaitA2dpStartWhenDelay(a2dpContext);
if (a2dpContext->isA2dpSinkStopped) {
- goto EXIT;
+ g_amInstance.DeactivateAudioInterrupt(a2dpContext->interrupt);
+ return AUDIO_ERROR;
}
continue;
}
}
a2dpContext->isA2dpSinkResumed = false;
a2dpContext->isA2dpSinkPause = false;
- ret = DisConnectBluetoothA2dpDevice();
+ int32_t ret = DisConnectBluetoothA2dpDevice(a2dpContext);
if (ret != AUDIO_SUCCESS) {
goto EXIT;
}
ret = g_amInstance.SetDeviceConnectionState(IN_BLUETOOTH_A2DP,
AUDIO_DEVICE_CONNECTED);
if (ret != AUDIO_SUCCESS) {
- ConnectBluetoothA2dpDevice();
+ ConnectBluetoothA2dpDevice(a2dpContext);
goto EXIT;
}
return AUDIO_SUCCESS;
if (ret != AUDIO_SUCCESS) {
ALOGE("AudioManagerSetDeviceConnectionState fail.\n");
}
- ConnectBluetoothA2dpDevice();
+ ConnectBluetoothA2dpDevice(a2dpContext);
ret = g_amInstance.DeactivateAudioInterrupt(a2dpContext->interrupt);
if (ret != AUDIO_SUCCESS) {
return ret;
int32_t AudioStreamOutDeinit(void);
-int32_t AudioManagerSetSeaParam(const uint8_t *seaParam, uint16_t len);
-
-int32_t AudioManagerGetSeaParam(uint8_t *seaParam, uint16_t len);
-
int32_t AudioManagerA2dpSinkSetParam(AudioFormatConfig config);
int32_t AudioManagerA2dpSinkCreate(void);
#include <sys/types.h>\r
#include <sys/stat.h>\r
#include <fcntl.h>\r
-#include <atomic>\r
#ifdef SUPPORT_SYS_PRCTL\r
#include <sys/prctl.h>\r
#endif\r
const uint32_t STREAM_FLAG_PARTIAL_FRAME = 8;\r
const uint32_t MAX_ARGC = 5;\r
#define MEDIA_PATH_MAX 260\r
-#define MEDIA_MAX_PLAYER_TASK 6\r
+\r
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))\r
\r
#define IS_OK(ret) \\r
AudioInterrupt interrupt;\r
MediaThreadIdHandle playTask;\r
bool isSingleLoop;\r
- std::atomic<bool> taskAlive;\r
+ bool taskAlive;\r
std::shared_ptr<Player> player;\r
AudioStreamType streamType;\r
} SampleParam;\r
size_t size;\r
} IdleBuffer;\r
\r
-typedef struct {\r
- MediaThreadIdHandle playTask;\r
- AudioStreamType streamType;\r
-} PlayerTaskContext;\r
-\r
-static PlayerTaskContext g_playerTask[MEDIA_MAX_PLAYER_TASK] = {\r
- {nullptr, AUDIO_STREAM_INVALID},\r
- {nullptr, AUDIO_STREAM_INVALID},\r
- {nullptr, AUDIO_STREAM_INVALID},\r
- {nullptr, AUDIO_STREAM_INVALID},\r
- {nullptr, AUDIO_STREAM_INVALID},\r
- {nullptr, AUDIO_STREAM_INVALID},\r
-};\r
-\r
-static MediaMutexHandle g_playerTaskMutex = NULL;\r
-\r
static const char *g_songList[] = {\r
"/user/test/cai.mp3",\r
"/user/test/guyongzhe_8k_2ch_8k_0x20000.mp3"\r
static TestSample g_sample;\r
static TestSample g_tonePlayersample;\r
\r
-static void WaitPlayerTaskEnd(SampleParam *sampleParam);\r
-static void StorePlayerTaskInfo(SampleParam *sampleParam);\r
-\r
typedef enum {\r
MEDIA_AUDIO_PLAY_START, // 00\r
MEDIA_AUDIO_PLAY_PAUSE, // 01\r
sampleParam->testSample.mutex = MediaMutexCreate(nullptr);\r
if (sampleParam->testSample.mutex == nullptr) {\r
MEDIA_ERR_LOG("create mutex failed");\r
+ sampleParam->taskAlive = false;\r
return -1;\r
}\r
sampleParam->testSample.cond = MediaThreadCondCreate();\r
if (sampleParam->testSample.cond == nullptr) {\r
MEDIA_ERR_LOG("create cond failed");\r
+ sampleParam->taskAlive = false;\r
(void)MediaMutexDestroy(&sampleParam->testSample.mutex);\r
return -1;\r
}\r
std::make_shared<PlayerInterruptListener>(sampleParam->testSample);\r
sampleParam->interrupt = { sampleParam->streamType, sessionId, playerInterruptListener };\r
/* After the delayed stream is woken up, the focus needs to be applied for again\r
- because the focus may be outdated and the policy needs to be obtained again. */\r
+ because the focus may be outdated and the policy needs to be obtained again.*/\r
int32_t strategy = g_amInstance.ActivateAudioInterrupt(sampleParam->interrupt);\r
if (strategy == INTERRUPT_FAILED) {\r
MEDIA_ERR_LOG("ActivateAudioInterrupt failed");\r
(void)MediaMutexDestroy(&sampleParam->testSample.mutex);\r
(void)MediaThreadCondDestroy(&sampleParam->testSample.cond);\r
+ sampleParam->taskAlive = false;\r
return -1;\r
}\r
if (strategy == INTERRUPT_DELAYED) {\r
(void)MediaMutexDestroy(&sampleParam->testSample.mutex);\r
(void)MediaThreadCondDestroy(&sampleParam->testSample.cond);\r
g_amInstance.DeactivateAudioInterrupt(sampleParam->interrupt);\r
+ sampleParam->taskAlive = false;\r
return -1;\r
}\r
continue;\r
\r
MediaMutexDestroy(&sampleParam->testSample.mutex);\r
MediaThreadCondDestroy(&sampleParam->testSample.cond);\r
- sampleParam->taskAlive.store(false);\r
+ sampleParam->taskAlive = false;\r
+ MEDIA_INFO_LOG("PlayerTaskEntry exit");\r
}\r
\r
void WaitPlayCompletedOrStop(SampleParam *sampleParam)\r
std::shared_ptr<Player> player = sampleParam->player;\r
int32_t ret = PlayerTaskInitInfo(sampleParam, sessionId);\r
if (ret != 0) {\r
- sampleParam->taskAlive.store(false);\r
return nullptr;\r
}\r
MediaMutexLock(sampleParam->testSample.mutex);\r
ret = player->Play();\r
if (ret != 0) {\r
MediaMutexUnLock(sampleParam->testSample.mutex);\r
- goto EXIT;\r
+ PlayerRunExit(sampleParam);\r
+ PlayerStreamExit(sampleParam);\r
+ MEDIA_INFO_LOG("PlayerTaskEntry exit");\r
+ return nullptr;\r
}\r
if (sampleParam->isSingleLoop) {\r
// enable loop\r
if (ret != 0) {\r
MEDIA_ERR_LOG("EnableSingleLooping failed:%d", ret);\r
}\r
+ sampleParam->isSingleLoop = player->IsSingleLooping();\r
+ if (!sampleParam->isSingleLoop) {\r
+ MEDIA_ERR_LOG("IsSingleLooping failed IsSingleLooping:%d", sampleParam->isSingleLoop);\r
+ }\r
+ MEDIA_INFO_LOG("IsSingleLooping:%d", sampleParam->isSingleLoop);\r
}\r
+ sampleParam->taskAlive = true;\r
WaitPlayCompletedOrStop(sampleParam);\r
-EXIT:\r
PlayerRunExit(sampleParam);\r
PlayerStreamExit(sampleParam);\r
- MEDIA_INFO_LOG("PlayerTaskEntry exit");\r
return nullptr;\r
}\r
\r
sampleParam->testSample.isStop = true;\r
MediaThreadCondSignal(sampleParam->testSample.cond);\r
MediaMutexUnLock(sampleParam->testSample.mutex);\r
- WaitPlayerTaskEnd(sampleParam);\r
+\r
MEDIA_ERR_LOG("success");\r
return 0;\r
}\r
sampleParam->testSample.isStop = true;\r
MediaThreadCondSignal(sampleParam->testSample.cond);\r
MediaMutexUnLock(sampleParam->testSample.mutex);\r
- WaitPlayerTaskEnd(sampleParam);\r
+\r
+ while (sampleParam->taskAlive) {\r
+ // loop sleep 100ms for the previous music exits\r
+ // the previous playerTask thread have detached therefore can't use MediaThreadJoin\r
+ usleep(LOOP_WAIT_PLAY_EXIT_SLEEP_TIME_US);\r
+ }\r
+\r
if (strncmp(sampleParam->control, "prevsong", strlen("prevsong")) == 0) {\r
if (g_currentSongIndex == 0) {\r
g_currentSongIndex = g_totalSongEntries - 1;\r
return -1;\r
}\r
\r
- MediaThreadattr attr = { "playerTask", 0x1800, THREAD_SCHED_INVALID, 80, false };\r
+ MediaThreadattr attr = { "playerTask", 0x1800, THREAD_SCHED_INVALID, 80, true };\r
MediaThreadIdHandle taskHandle = MediaThreadCreate(PlayerTaskEntry, sampleParam, &attr);\r
if (taskHandle == nullptr) {\r
MEDIA_ERR_LOG("thread create failed");\r
return -1;\r
}\r
sampleParam->playTask = taskHandle;\r
- StorePlayerTaskInfo(sampleParam);\r
+\r
MEDIA_INFO_LOG("next/previous end");\r
return 0;\r
}\r
MEDIA_ERR_LOG("malloc failed");\r
return -1;\r
}\r
- (*sampleParam)->taskAlive.store(false);\r
+ (*sampleParam)->taskAlive = false;\r
if (memset_s(*sampleParam, sizeof(SampleParam), 0, sizeof(SampleParam)) != EOK) {\r
MEDIA_ERR_LOG("memset_s failed");\r
}\r
}\r
}\r
\r
-static void WaitPlayerTaskEnd(SampleParam *sampleParam)\r
-{\r
- MediaInitStaticMutexLock(&g_playerTaskMutex);\r
- MediaMutexLock(g_playerTaskMutex);\r
- for (size_t i = 0; i < MEDIA_MAX_PLAYER_TASK; i++) {\r
- if (g_playerTask[i].playTask == nullptr ||\r
- g_playerTask[i].streamType == AUDIO_STREAM_INVALID) {\r
- continue;\r
- }\r
- if (sampleParam->playTask == g_playerTask[i].playTask &&\r
- sampleParam->streamType == g_playerTask[i].streamType) {\r
- MediaMutexUnLock(g_playerTaskMutex);\r
- MediaThreadJoin(&sampleParam->playTask);\r
- MediaMutexLock(g_playerTaskMutex);\r
- g_playerTask[i].streamType = AUDIO_STREAM_INVALID;\r
- g_playerTask[i].playTask = nullptr;\r
- break;\r
- }\r
- }\r
- MediaMutexUnLock(g_playerTaskMutex);\r
-}\r
-\r
-static bool FindAndUpdateplayerTask(SampleParam *sampleParam)\r
-{\r
- for (size_t i = 0; i < MEDIA_MAX_PLAYER_TASK; i++) {\r
- if (g_playerTask[i].playTask == sampleParam->playTask ||\r
- g_playerTask[i].streamType == sampleParam->streamType) {\r
- g_playerTask[i].streamType = sampleParam->streamType;\r
- g_playerTask[i].playTask = sampleParam->playTask;\r
- return true;\r
- }\r
- }\r
- return false;\r
-}\r
-\r
-static void StorePlayerTaskInfo(SampleParam *sampleParam)\r
-{\r
- MediaInitStaticMutexLock(&g_playerTaskMutex);\r
- MediaMutexLock(g_playerTaskMutex);\r
- if (FindAndUpdateplayerTask(sampleParam)) {\r
- MediaMutexUnLock(g_playerTaskMutex);\r
- return;\r
- }\r
- for (size_t i = 0; i < MEDIA_MAX_PLAYER_TASK; i++) {\r
- if (g_playerTask[i].playTask == nullptr &&\r
- g_playerTask[i].streamType == AUDIO_STREAM_INVALID) {\r
- g_playerTask[i].streamType = sampleParam->streamType;\r
- g_playerTask[i].playTask = sampleParam->playTask;\r
- break;\r
- }\r
- }\r
- MediaMutexUnLock(g_playerTaskMutex);\r
-}\r
-\r
int32_t PlayerSample(int32_t argc, const char** argv)\r
{\r
SourceType sourceType = SourceType::SOURCE_TYPE_FD;\r
}\r
MEDIA_INFO_LOG("argv[0]:%s", argv[0]);\r
/* todo :Modifying playback keywords */\r
- if (strncmp(g_sampleParam->control, "xx", strlen("xx")) == 0) {\r
- if (g_sampleParam->taskAlive.load()) {\r
- MEDIA_ERR_LOG("playerTask exists, Enter the stop command first");\r
- return -1;\r
- }\r
- g_sampleParam->taskAlive.store(true);\r
+ if (!g_sampleParam->taskAlive && strncmp(g_sampleParam->control, "xx", strlen("xx")) == 0) {\r
+ g_sampleParam->taskAlive = true;\r
if (argc < 4) { /* 4: invalid argc */\r
goto FREE;\r
}\r
MEDIA_ERR_LOG("input path too long");\r
goto FREE;\r
}\r
- WaitPlayerTaskEnd(g_sampleParam);\r
- MediaThreadattr attr = { "playerTask", 0x1800, THREAD_SCHED_INVALID, 80, false };\r
+ MediaThreadattr attr = { "playerTask", 0x1800, THREAD_SCHED_INVALID, 80, true };\r
MediaThreadIdHandle taskHandle = MediaThreadCreate(PlayerTaskEntry, g_sampleParam, &attr);\r
if (taskHandle == nullptr) {\r
MEDIA_ERR_LOG("thread create failed");\r
goto FREE;\r
}\r
g_sampleParam->playTask = taskHandle;\r
- StorePlayerTaskInfo(g_sampleParam);\r
- } else {\r
- ret = HandlePlayerSampleCmd(g_sampleParam, argv);\r
+ } else if (g_sampleParam->taskAlive && strncmp(g_sampleParam->control, "xx", strlen("xx")) == 0) { /* 2: xx */\r
+ MEDIA_ERR_LOG("playerTask exists, Enter the stop command first");\r
}\r
+ // will free g_sampleParam when play exit\r
+ ret = HandlePlayerSampleCmd(g_sampleParam, argv);\r
MEDIA_INFO_LOG("PlayerSample end");\r
return ret;\r
\r
}\r
MEDIA_INFO_LOG("argv[0]:%s", argv[0]);\r
/* todo :Modifying playback keywords */\r
- if (strncmp(g_tonePlayersampleParam->control, "xx", strlen("xx")) == 0) {\r
- if (g_tonePlayersampleParam->taskAlive.load()) {\r
- MEDIA_ERR_LOG("playerTask exists, Enter the stop command first");\r
- return -1;\r
- }\r
- g_tonePlayersampleParam->taskAlive.store(true);\r
+ if (!g_tonePlayersampleParam->taskAlive && strncmp(g_tonePlayersampleParam->control, "xx", strlen("xx")) == 0) {\r
+ g_tonePlayersampleParam->taskAlive = true;\r
if (argc < 4) { /* 4: invalid argc */\r
goto FREE;\r
}\r
MEDIA_ERR_LOG("input path too long");\r
goto FREE;\r
}\r
- WaitPlayerTaskEnd(g_tonePlayersampleParam);\r
- MediaThreadattr attr = { "tonePlayerTask", 0x1800, THREAD_SCHED_INVALID, 80, false };\r
+ MediaThreadattr attr = { "tonePlayerTask", 0x1800, THREAD_SCHED_INVALID, 80, true };\r
MediaThreadIdHandle taskHandle = MediaThreadCreate(PlayerTaskEntry, g_tonePlayersampleParam, &attr);\r
if (taskHandle == nullptr) {\r
MEDIA_ERR_LOG("thread create failed");\r
goto FREE;\r
}\r
g_tonePlayersampleParam->playTask = taskHandle;\r
- StorePlayerTaskInfo(g_tonePlayersampleParam);\r
- } else {\r
- ret = HandlePlayerSampleCmd(g_tonePlayersampleParam, argv);\r
+ } else if (g_tonePlayersampleParam->taskAlive &&\r
+ strncmp(g_tonePlayersampleParam->control, "xx", strlen("xx")) == 0) { /* 2: xx */\r
+ MEDIA_ERR_LOG("tonePlayerTask exists, Enter the stop command first");\r
}\r
MEDIA_INFO_LOG("tonePlayerSample end");\r
return ret;\r
MEDIA_ERR_LOG("request the last buffer failed");\r
break;\r
}\r
- LiteSurface *liteSurface = dynamic_cast<LiteSurface *>(videoPlay->surface_);\r
- if (liteSurface == nullptr) {\r
- MEDIA_ERR_LOG("liteSurface is null!");\r
- break;\r
- }\r
- videoPlay->surface_->CancelBuffer(liteSurface->GetBackBuf());\r
+ usleep(WAIT_SURFACE_DEINIT_SUCCESS_US);\r
}\r
if (buf != nullptr) {\r
buf->format = PIXEL_FMT_BUTT;\r
MEDIA_ERR_LOG("release audio focus failed\n");\r
return nullptr;\r
}\r
- MEDIA_ERR_LOG("exit all!\n");\r
+ MEDIA_INFO_LOG("exit all!\n");\r
return nullptr;\r
}\r
\r
\r
int32_t MediaVideoPlay::StopVideoPlay(void)\r
{\r
- MEDIA_ERR_LOG("StopVideoPlay start!");\r
MediaMutexLock(mutex_);\r
if (!isPlayed_) {\r
MEDIA_INFO_LOG("video play is not start,can not stop!");\r
MediaMutexUnLock(mutex_);\r
if (isSyncExitMode_) {\r
MediaThreadJoin(&threadHandle_);\r
- dynamic_cast<LiteSurface*>(surface_)->ClearBuffers(); // clear buffers safely in sync mode to reduce peak memory\r
}\r
play = nullptr;\r
return MEDIA_OK;\r
bool isPureVideo_ = false;\r
static MediaVideoPlay *play;\r
private:\r
- bool isSyncExitMode_ = true;\r
+ bool isSyncExitMode_ = false;\r
static void *VideoPlayThread(void *arg);\r
void DestroyVideoPlaySource(void);\r
};\r
AUDIO_MOD_SOUND
} AudioSDKModuleType;
-#ifdef AUDIO_SDK_SUPPORT
-typedef struct {
- enum AudioFormat audioFormat;
- uapi_acodec_id codecId;
-} AudioFormatMapping;
-#endif
-
#define INVALID_ID (-1)
// convert sample rate to number of samples per frame
#define VOLUME_MIN 0.0f
#define VOLUME_MAX 1.0f
-#define MAX_KEY_STR_SIZE 30
+#define MAX_KEY_STR_SIZE 12
#define MAX_KEY_VALUE_SIZE 512
#define GET_AUDIO_POSITION_INTERVAL_US 10000
int32_t SaveToggleConfig(uapi_audio_toggle_config *toggleConfig, const char *value, uint32_t valueLen);
-int32_t GetParamByValue(uint8_t *param, uint32_t paramLen, const char *value,
- uint32_t valueLen, uint32_t configLen);
-
int32_t SetSeaEnable(td_handle seaHandle, const char *value, uint32_t valueLen);
#endif
#include "plugin_common.h"
#include <unistd.h>
#include <string.h>
-#include <math.h>
+
#include "media_hal_common.h"
#include "audio_types.h"
}
#ifdef AUDIO_SDK_SUPPORT
-static AudioFormatMapping g_audioFormatMap[] = {
- {AUDIO_FORMAT_PCM_8_BIT, UAPI_ACODEC_ID_PCM},
- {AUDIO_FORMAT_PCM_16_BIT, UAPI_ACODEC_ID_PCM},
- {AUDIO_FORMAT_PCM_24_BIT, UAPI_ACODEC_ID_PCM},
- {AUDIO_FORMAT_PCM_32_BIT, UAPI_ACODEC_ID_PCM},
- {AUDIO_FORMAT_AAC_MAIN, UAPI_ACODEC_ID_AAC},
- {AUDIO_FORMAT_AAC_LC, UAPI_ACODEC_ID_AAC},
- {AUDIO_FORMAT_AAC_LD, UAPI_ACODEC_ID_AAC},
- {AUDIO_FORMAT_AAC_ELD, UAPI_ACODEC_ID_AAC},
- {AUDIO_FORMAT_AAC_HE_V1, UAPI_ACODEC_ID_AAC},
- {AUDIO_FORMAT_AAC_HE_V2, UAPI_ACODEC_ID_AAC},
- {AUDIO_FORMAT_SBC, UAPI_ACODEC_ID_SBC},
- {AUDIO_FORMAT_MP3, UAPI_ACODEC_ID_MP3},
- {AUDIO_FORMAT_mSBC, UAPI_ACODEC_ID_MSBC},
- {AUDIO_FORMAT_FLAC, UAPI_ACODEC_ID_FLAC},
- {AUDIO_FORMAT_OPUS, UAPI_ACODEC_ID_OPUS},
- {AUDIO_FORMAT_VORBIS, UAPI_ACODEC_ID_VORBIS},
- {AUDIO_FORMAT_APE, UAPI_ACODEC_ID_APE},
- {AUDIO_FORMAT_SILK, UAPI_ACODEC_ID_SILK},
- {AUDIO_FORMAT_L2HC, UAPI_ACODEC_ID_L2HC},
-};
-
bool AudioConvertAudioFormatToCodecId(enum AudioFormat audioFormat, uapi_acodec_id *codecId)
{
if (codecId == NULL) {
return false;
}
- for (uint32_t i = 0; i < sizeof(g_audioFormatMap) / sizeof(AudioFormatMapping); i++) {
- if (g_audioFormatMap[i].audioFormat == audioFormat) {
- *codecId = g_audioFormatMap[i].codecId;
- return true;
- }
+
+ switch (audioFormat) {
+ case AUDIO_FORMAT_PCM_8_BIT:
+ case AUDIO_FORMAT_PCM_16_BIT:
+ case AUDIO_FORMAT_PCM_24_BIT:
+ case AUDIO_FORMAT_PCM_32_BIT:
+ *codecId = UAPI_ACODEC_ID_PCM;
+ break;
+ case AUDIO_FORMAT_AAC_MAIN:
+ case AUDIO_FORMAT_AAC_LC:
+ case AUDIO_FORMAT_AAC_LD:
+ case AUDIO_FORMAT_AAC_ELD:
+ case AUDIO_FORMAT_AAC_HE_V1:
+ case AUDIO_FORMAT_AAC_HE_V2:
+ *codecId = UAPI_ACODEC_ID_AAC;
+ break;
+ case AUDIO_FORMAT_SBC:
+ *codecId = UAPI_ACODEC_ID_SBC;
+ break;
+ case AUDIO_FORMAT_MP3:
+ *codecId = UAPI_ACODEC_ID_MP3;
+ break;
+ case AUDIO_FORMAT_mSBC:
+ *codecId = UAPI_ACODEC_ID_MSBC;
+ break;
+ case AUDIO_FORMAT_FLAC:
+ *codecId = UAPI_ACODEC_ID_FLAC;
+ break;
+ case AUDIO_FORMAT_OPUS:
+ *codecId = UAPI_ACODEC_ID_OPUS;
+ break;
+ case AUDIO_FORMAT_VORBIS:
+ *codecId = UAPI_ACODEC_ID_VORBIS;
+ break;
+ case AUDIO_FORMAT_APE:
+ *codecId = UAPI_ACODEC_ID_APE;
+ break;
+ case AUDIO_FORMAT_SILK:
+ *codecId = UAPI_ACODEC_ID_SILK;
+ break;
+ default:
+ MEDIA_HAL_LOGW(MODULE_NAME, "Invalid audioFormat: 0x%x", audioFormat);
+ return false;
}
- MEDIA_HAL_LOGW(MODULE_NAME, "Invalid audioFormat: 0x%x", audioFormat);
- return false;
+
+ return true;
}
static int32_t AudioSDKInputInit(void)
return MEDIA_HAL_OK;
}
-int32_t GetParamByValue(uint8_t *param, uint32_t paramLen, const char *value,
- uint32_t valueLen, uint32_t configLen)
-{
- uint32_t prefixlen = 0;
- for (uint32_t i = 0; i < valueLen; i++) {
- if (value[i] == ':') {
- prefixlen = i + 1;
- break;
- }
- }
- if (prefixlen == 0) {
- MEDIA_HAL_LOGE(MODULE_NAME, "prefix is not found.");
- return MEDIA_HAL_ERR;
- }
- if (memcpy_s(param, paramLen, value + prefixlen, configLen) != EOK) {
- MEDIA_HAL_LOGE(MODULE_NAME, "set spk cali coef memcpy_s failed!");
- return MEDIA_HAL_ERR;
- }
- return MEDIA_HAL_OK;
-}
-
int32_t SetSeaEnable(td_handle seaHandle, const char *value, uint32_t valueLen)
{
int32_t seaStatus = 0;
#endif
#define MODULE_NAME "AudioPrimarySubPortIn"
+#define SEA_ENABLE "seaenable"
/* need fix: used for external buffer allocation, internal means samples per frame */
#define AUDIO_HAL_FRAME_COUNT 1024
#define VOLUME_UNIT 100
-#define MIC_VOLUME "micvolume"
-#define MIC_TYPE "mictype"
-#define SEA_ENABLE "seaenable"
-#define GET_SEA_PARAM "getseaparam"
-#define SET_SEA_PARAM "setseaparam"
-#define SEA_PARAM_LEN 256
static enum AudioFormat g_supportFormats[] = {
AUDIO_FORMAT_PCM_16_BIT,
return MEDIA_HAL_OK;
}
#ifdef AUDIO_SDK_SUPPORT
-static int32_t PrimarySetSeaEnable(AudioHandle trackHandle, char *value, uint32_t valueLen)
+static int32_t PrimarySetSeaEnable(AudioHandle trackHandle, const char *value, uint32_t valueLen)
{
SubPortTrackInContext *portTrackInCtx = (SubPortTrackInContext *)trackHandle;
CHK_NULL_RETURN(value, MEDIA_HAL_INVALID_PARAM, "input param value is null");
-#ifdef MELODY_AUDIO_SUPPORT
- if (!portTrackInCtx->isNeedOpenSea) {
- MEDIA_HAL_LOGE(MODULE_NAME, "the sea is not open. can not set sea options!");
- return MEDIA_HAL_ERR;
- }
-#endif
return SetSeaEnable(portTrackInCtx->seaHandle, value, valueLen);
}
-static int32_t SetSeaParam(AudioHandle trackHandle, char *value, uint32_t valueLen)
-{
- MEDIA_HAL_UNUSED(valueLen);
- SubPortTrackInContext *portTrackInCtx = (SubPortTrackInContext *)trackHandle;
- CHK_NULL_RETURN(value, MEDIA_HAL_INVALID_PARAM, "input param value is null");
- uint32_t paramLen = 0;
- uint8_t configFlag[MAX_KEY_STR_SIZE] = { 0 };
- int32_t ret = sscanf_s(value, "%s = %u:", configFlag, MAX_KEY_STR_SIZE, ¶mLen);
- if (ret == -1) {
- MEDIA_HAL_LOGE(MODULE_NAME, "set aef param sscanf_s failed!");
- return MEDIA_HAL_ERR;
- }
- uint8_t param[SEA_PARAM_LEN] = { 0 };
- ret = GetParamByValue(param, SEA_PARAM_LEN, value, valueLen, paramLen);
- if (ret != MEDIA_HAL_OK) {
- return ret;
- }
- ret = uapi_sea_set_param(portTrackInCtx->seaHandle, UAPI_SEA_AFE_SEE, (const td_void *)param, paramLen);
- if (ret != MEDIA_HAL_OK) {
- MEDIA_HAL_LOGE(MODULE_NAME, "set aef param failed! ret = %d", ret);
- return ret;
- }
- return MEDIA_HAL_OK;
-}
-
-static int32_t GetSeaParam(AudioHandle trackHandle, char *value, uint32_t valueLen)
-{
- MEDIA_HAL_UNUSED(valueLen);
- SubPortTrackInContext *portTrackInCtx = (SubPortTrackInContext *)trackHandle;
- CHK_NULL_RETURN(value, MEDIA_HAL_INVALID_PARAM, "input param value is null");
- uint8_t configFlag[MAX_KEY_STR_SIZE] = { 0 };
- uint32_t paramLen = 0;
- int32_t ret = sscanf_s((const char *)value, "%s = %u", configFlag, MAX_KEY_STR_SIZE, ¶mLen);
- if (ret == -1) {
- MEDIA_HAL_LOGE(MODULE_NAME, "set aef param sscanf_s failed!");
- return MEDIA_HAL_ERR;
- }
- ret = uapi_sea_get_param(portTrackInCtx->seaHandle, UAPI_SEA_AFE_SEE, (td_void *)value, paramLen);
- if (ret != MEDIA_HAL_OK) {
- MEDIA_HAL_LOGE(MODULE_NAME, "get aef param failed! ret = %d", ret);
- return ret;
- }
- return MEDIA_HAL_OK;
-}
-
static struct AudioPortInvoke g_primaryInInvokeFuncList[] = {
{SEA_ENABLE, PrimarySetSeaEnable, true},
- {SET_SEA_PARAM, SetSeaParam, false},
- {GET_SEA_PARAM, GetSeaParam, false},
};
#endif
break;
}
case INVOKE_ID_SET_EXTRA_PARAMS:
- case INVOKE_ID_GET_EXTRA_PARAMS:
{
size_t size = sizeof(g_primaryInInvokeFuncList) / sizeof(struct AudioPortInvoke);
ret = ExtraParamsInvoke(trackHandle, invokeAttr, g_primaryInInvokeFuncList, (uint32_t)size);
#include "soc_uapi_sound.h"
#endif
-#if defined(BRANDY_PRODUCT_EVB)
-#include "product_evb_standard.h"
-#elif defined(BRANDY_PRODUCT_EVB4)
-#include "product_evb4_standard.h"
-#endif
+
#include "plugin_common.h"
#include "media_hal_common.h"
#define MODULE_NAME "AudioPrimarySubPortOut"
#define EXTRA_DATA "extradata"
-#define VOLUME_TOGGLE_DATA "vtoggle"
-#define NOTIFY_TOGGLE_DATA "ntoggle"
-#define SPEAKER_CALI_COEF_CONFIG_DATA "spkcali"
-#define AEF_ENABLE "aefenable"
-#define SET_DB_VOLUME "setdbvol"
-#define GET_AEF_PARAM "getaefparam"
-#define SET_AEF_PARAM "setaefparam"
-#define SPEAKER_CALI_COEF_CONFIG_LEN 96
-#define AEF_PARAM_LEN 256
#ifdef AUDIO_SDK_SUPPORT
#define AO_DEV_MAX_NUM UAPI_SND_MAX
return MEDIA_HAL_OK;
}
-#ifdef AUDIO_SDK_SUPPORT
-static int32_t SetExtraParam(AudioHandle trackHandle, char *value, uint32_t valueLen)
-{
- MEDIA_HAL_UNUSED(valueLen);
- SubPortTrackOutContext *portTrackOutCtx = (SubPortTrackOutContext *)trackHandle;
- int32_t ret = SetExtraData(&portTrackOutCtx->inputAttr, value, (uint32_t)(strlen(value) + 1));
- CHK_FAILED_RETURN(ret, MEDIA_HAL_OK, ret, "set Extra data failed");
- return MEDIA_HAL_OK;
-}
-
-static int32_t SetAefParam(AudioHandle trackHandle, char *value, uint32_t valueLen)
-{
- MEDIA_HAL_UNUSED(valueLen);
- SubPortTrackOutContext *portTrackOutCtx = (SubPortTrackOutContext *)trackHandle;
- CHK_NULL_RETURN(value, MEDIA_HAL_INVALID_PARAM, "input param value is null");
- uint32_t paramLen = 0;
- uint8_t configFlag[MAX_KEY_STR_SIZE] = { 0 };
- uint32_t cmd = 0;
- int32_t ret = sscanf_s(value, "%s = %u#%u:", configFlag, MAX_KEY_STR_SIZE, &cmd, ¶mLen);
- if (ret == -1) {
- MEDIA_HAL_LOGE(MODULE_NAME, "set aef param sscanf_s failed!");
- return MEDIA_HAL_ERR;
- }
- uint8_t param[AEF_PARAM_LEN] = { 0 };
- ret = GetParamByValue(param, AEF_PARAM_LEN, value, valueLen, paramLen);
- if (ret != MEDIA_HAL_OK) {
- return ret;
- }
- ret = uapi_snd_set_aef_param(portTrackOutCtx->subPortCtx->sndHandle, BUILTIN_SND_OUT_PORT, cmd,
- (const td_void *)param, paramLen);
- if (ret != MEDIA_HAL_OK) {
- MEDIA_HAL_LOGE(MODULE_NAME, "set aef param failed! ret = %d", ret);
- return ret;
- }
- return MEDIA_HAL_OK;
-}
-
-static int32_t GetAefParam(AudioHandle trackHandle, char *value, uint32_t valueLen)
-{
- MEDIA_HAL_UNUSED(valueLen);
- SubPortTrackOutContext *portTrackOutCtx = (SubPortTrackOutContext *)trackHandle;
- CHK_NULL_RETURN(value, MEDIA_HAL_INVALID_PARAM, "input param value is null");
- uint8_t configFlag[MAX_KEY_STR_SIZE] = { 0 };
- uint32_t cmd = 0;
- uint32_t paramLen = 0;
- int32_t ret = sscanf_s((const char *)value, "%s = %u#%u", configFlag, MAX_KEY_STR_SIZE, &cmd, ¶mLen);
- if (ret == -1) {
- MEDIA_HAL_LOGE(MODULE_NAME, "get aef param sscanf_s failed!");
- return MEDIA_HAL_ERR;
- }
- ret = uapi_snd_get_aef_param(portTrackOutCtx->subPortCtx->sndHandle, BUILTIN_SND_OUT_PORT, cmd,
- (td_void *)value, paramLen);
- if (ret != MEDIA_HAL_OK) {
- MEDIA_HAL_LOGE(MODULE_NAME, "get aef param failed! ret = %d", ret);
- return ret;
- }
- return MEDIA_HAL_OK;
-}
-
-static struct AudioPortInvoke g_primaryOutInvokeFuncList[] = {
- {EXTRA_DATA, SetExtraParam, true},
- {SET_AEF_PARAM, SetAefParam, false},
- {GET_AEF_PARAM, GetAefParam, false},
-};
-#endif
-
int32_t AudioPrimarySubPortOutInvoke(AudioHandle trackHandle, enum InvokeID invokeID, struct InvokeAttr *invokeAttr)
{
#ifdef AUDIO_SDK_SUPPORT
+ SubPortTrackOutContext *portTrackOutCtx = (SubPortTrackOutContext *)trackHandle;
+ char keyFlag[MAX_KEY_STR_SIZE] = { 0 };
+ char value[MAX_KEY_VALUE_SIZE] = { 0 };
int32_t ret = 0;
switch (invokeID) {
case INVOKE_ID_GET_CHANNEL_ID:
- {
- SubPortTrackOutContext *portTrackOutCtx = (SubPortTrackOutContext *)trackHandle;
*((uint32_t *)invokeAttr->request) = portTrackOutCtx->inputAdpHandle;
invokeAttr->replyBytes = (uint64_t)sizeof(uint32_t);
MEDIA_HAL_LOGI(MODULE_NAME, "data channel id: 0x%x", *((uint32_t *)invokeAttr->request));
break;
- }
case INVOKE_ID_SET_EXTRA_PARAMS:
- case INVOKE_ID_GET_EXTRA_PARAMS:
- {
- size_t size = sizeof(g_primaryOutInvokeFuncList) / sizeof(struct AudioPortInvoke);
- ret = ExtraParamsInvoke(trackHandle, invokeAttr, g_primaryOutInvokeFuncList, (uint32_t)size);
- CHK_FAILED_RETURN(ret, MEDIA_HAL_OK, ret, "extra param invoke failed!");
+ ret = ParseKeyValueForExtra(invokeAttr, keyFlag, MAX_KEY_STR_SIZE, value, MAX_KEY_VALUE_SIZE);
+ CHK_FAILED_RETURN(ret, MEDIA_HAL_OK, ret, "ParseKeyValueForExtra failed");
+ if (strcmp(keyFlag, EXTRA_DATA) == 0) {
+ ret = SetExtraData(&portTrackOutCtx->inputAttr, value, (uint32_t)(strlen(value) + 1));
+ CHK_FAILED_RETURN(ret, MEDIA_HAL_OK, ret, "set Extra data failed");
+ } else if (strcmp(keyFlag, "vtoggle") == 0) {
+ ret = SaveToggleConfig(&portTrackOutCtx->volumeToggleConfig, value, (uint32_t)(strlen(value) + 1));
+ CHK_FAILED_RETURN(ret, MEDIA_HAL_OK, ret, "save volume toggle config failed");
+ } else if (strcmp(keyFlag, "ntoggle") == 0) {
+ ret = SaveToggleConfig(&portTrackOutCtx->notifyToggleConfig, value, (uint32_t)(strlen(value) + 1));
+ CHK_FAILED_RETURN(ret, MEDIA_HAL_OK, ret, "save notify toggle config failed");
+ }
break;
- }
default:
MEDIA_HAL_LOGW(MODULE_NAME, "invalid invoke id: %d", invokeID);
return MEDIA_HAL_INVALID_PARAM;
INVOKE_ID_GET_CHANNEL_ID = 0, /* CurrentChannelId. The value type is <b>uint32_t</b>. */
INVOKE_ID_CONFIG_VQE = 1, /* Config vqe for usage scenes see {@link VqeScene} */
INVOKE_ID_SET_EXTRA_PARAMS = 2, /* Set extra params. The format is <i>key=value</i>. Separate by semicolons (;) */
- INVOKE_ID_GET_EXTRA_PARAMS = 3, /* Get extra params. */
};
enum PluginInvokeId {
hwRender->common.attr.GetSampleAttributes = AudioRenderGetSampleAttributes;
hwRender->common.attr.GetCurrentChannelId = AudioRenderGetCurrentChannelId;
hwRender->common.attr.SetExtraParams = AudioRenderSetExtraParams;
- hwRender->common.attr.GetExtraParams = AudioRenderGetExtraParams;
hwRender->common.scene.CheckSceneCapability = AudioRenderCheckSceneCapability;
hwRender->common.scene.SelectScene = AudioRenderSelectScene;
hwRender->common.volume.SetMute = AudioRenderSetMute;
hwCapture->common.attr.GetSampleAttributes = AudioCaptureGetSampleAttributes;
hwCapture->common.attr.GetCurrentChannelId = AudioCaptureGetCurrentChannelId;
hwCapture->common.attr.SetExtraParams = AudioCaptureSetExtraParams;
- hwCapture->common.attr.GetExtraParams = AudioCaptureGetExtraParams;
hwCapture->common.scene.CheckSceneCapability = AudioCaptureCheckSceneCapability;
hwCapture->common.scene.SelectScene = AudioCaptureSelectScene;
hwCapture->common.volume.SetMute = AudioCaptureSetMute;
return MEDIA_HAL_OK;
}
-int32_t AudioCaptureGetExtraParams(AudioHandle handle, char *keyValueList, int32_t listLenth)
-{
- CHK_NULL_RETURN(handle, MEDIA_HAL_INVALID_PARAM, "input param handle null");
- CHK_NULL_RETURN(keyValueList, MEDIA_HAL_INVALID_PARAM, "input param keyValueList null");
-
- struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle;
- MediaHalMutexLock(hwCapture->mutex);
- struct InvokeAttr invokeAttr = {};
- invokeAttr.request = (void *)keyValueList;
- invokeAttr.replyBytes = (uint64_t)listLenth;
- int32_t ret = hwCapture->trackHandle->Invoke(hwCapture->trackHandle, INVOKE_ID_GET_EXTRA_PARAMS, &invokeAttr);
- if (ret != MEDIA_HAL_OK) {
- MediaHalMutexUnLock(hwCapture->mutex);
- MEDIA_HAL_LOGE(MODULE_NAME, "AudioPortTrack Invoke INVOKE_ID_GET_EXTRA_PARAMS failed: 0x%x", ret);
- return ret;
- }
- MediaHalMutexUnLock(hwCapture->mutex);
-
- MEDIA_HAL_LOGI(MODULE_NAME, "success");
- return MEDIA_HAL_OK;
-}
-
int32_t AudioCaptureCheckSceneCapability(AudioHandle handle, const struct AudioSceneDescriptor *scene,
bool *supported)
{
int32_t AudioRenderGetSampleAttributes(AudioHandle handle, struct AudioSampleAttributes *attrs);
int32_t AudioRenderGetCurrentChannelId(AudioHandle handle, uint32_t *channelId);
int32_t AudioRenderSetExtraParams(AudioHandle handle, const char *keyValueList);
-int32_t AudioRenderGetExtraParams(AudioHandle handle, char *keyValueList, int32_t listLenth);
int32_t AudioRenderCheckSceneCapability(AudioHandle handle, const struct AudioSceneDescriptor *scene,
bool *supported);
int32_t AudioRenderSelectScene(AudioHandle handle, const struct AudioSceneDescriptor *scene);
int32_t AudioCaptureGetSampleAttributes(AudioHandle handle, struct AudioSampleAttributes *attrs);
int32_t AudioCaptureGetCurrentChannelId(AudioHandle handle, uint32_t *channelId);
int32_t AudioCaptureSetExtraParams(AudioHandle handle, const char *keyValueList);
-int32_t AudioCaptureGetExtraParams(AudioHandle handle, char *keyValueList, int32_t listLenth);
int32_t AudioCaptureCheckSceneCapability(AudioHandle handle, const struct AudioSceneDescriptor *scene,
bool *supported);
int32_t AudioCaptureSelectScene(AudioHandle handle, const struct AudioSceneDescriptor *scene);
return MEDIA_HAL_OK;
}
-int32_t AudioRenderGetExtraParams(AudioHandle handle, char *keyValueList, int32_t listLenth)
-{
- CHK_NULL_RETURN(handle, MEDIA_HAL_INVALID_PARAM, "input param handle null");
- CHK_NULL_RETURN(keyValueList, MEDIA_HAL_INVALID_PARAM, "input param keyValueList null");
-
- struct AudioHwRender *hwRender = (struct AudioHwRender *)handle;
- MediaHalMutexLock(hwRender->mutex);
- struct InvokeAttr invokeAttr = {};
- invokeAttr.request = (void *)keyValueList;
- invokeAttr.requestBytes = (uint64_t)listLenth;
- int32_t ret = hwRender->trackHandle->Invoke(hwRender->trackHandle, INVOKE_ID_GET_EXTRA_PARAMS, &invokeAttr);
- if (ret != MEDIA_HAL_OK) {
- MediaHalMutexUnLock(hwRender->mutex);
- MEDIA_HAL_LOGE(MODULE_NAME, "AudioPortTrack Invoke INVOKE_ID_GET_EXTRA_PARAMS failed: 0x%x", ret);
- return ret;
- }
- MediaHalMutexUnLock(hwRender->mutex);
-
- MEDIA_HAL_LOGI(MODULE_NAME, "success");
- return MEDIA_HAL_OK;
-}
-
int32_t AudioRenderCheckSceneCapability(AudioHandle handle, const struct AudioSceneDescriptor *scene,
bool *supported)
*/
td_s32 uapi_vau_wait_for_done(td_handle handle);
-/**
- * @if Eng
- * @brief set_cubic_threshold.
- * @param [in] td_float cubic_threshold.
- * @retval EXT_SUCCESS Success.
- * @retval Other Failure.
- * @else
- * @brief 设置三次贝塞尔阈值
- * @param [in] cubic_threshold 阈值
- * @retval EXT_SUCCESS 成功
- * @retval Other 失败
- * @endif
- */
-td_s32 uapi_vau_set_cubic_threshold(td_float cubic_threshold);
-
/**
* @}
*/
${CMAKE_CURRENT_SOURCE_DIR}/diag/diag_cmd_router/include
${CMAKE_CURRENT_SOURCE_DIR}/diag_transmit/include
${CMAKE_CURRENT_SOURCE_DIR}/diag_transmit/dfx_include
- ${CMAKE_CURRENT_SOURCE_DIR}/diag_transmit/
)
endif()
uint32_t msg_ack_timeout;
uint32_t msg_underflow;
uint32_t msg_crc_fail;
-
- /* msg int status */
- uint32_t msg_int_fail;
- uint32_t msg_int_retrigger;
} probe_status_info;
typedef struct {
"msg_success = %u, illegal_param = %u, ack_timeout = %u, underflow = %u, crc_fail = %u.\n",
status->msg_success, status->msg_illegal_param, status->msg_ack_timeout,
status->msg_underflow, status->msg_crc_fail);
-
- /* msg int status */
- DIAG_PROBE_REPORT("msg_int_fail = %u, msg_int_retrigger = %u.\n", status->msg_int_fail, status->msg_int_retrigger);
}
static void audio_probe_output(void)
\r
#include <stdint.h>\r
\r
-#ifdef __cplusplus\r
-#if __cplusplus\r
-extern "C" {\r
-#endif /* __cplusplus */\r
-#endif /* __cplusplus */\r
-\r
typedef enum {\r
TRANSMIT_STATE_NOTIFY_INVALID_ID = 10,\r
TRANSMIT_STATE_NOTIFY_FINISH,\r
uint32_t reason;\r
} transmit_stop_pkt_t;\r
\r
-#ifdef __cplusplus\r
-#if __cplusplus\r
-}\r
-#endif /* __cplusplus */\r
-#endif /* __cplusplus */\r
-\r
#endif\r
#include "transmit_st.h"\r
#include "diag.h"\r
\r
-#ifdef __cplusplus\r
-#if __cplusplus\r
-extern "C" {\r
-#endif /* __cplusplus */\r
-#endif /* __cplusplus */\r
-\r
#define TRANSMIT_OUT_TIME 30\r
#define TRANSMIT_RETRY_TIME 1\r
\r
\r
errcode_t transmit_msg_proc_hook_register(uint32_t msg_id_start, uint32_t msg_id_end, transmit_register_hook hook);\r
errcode_t transmit_msg_proc_hook_unregister(transmit_register_hook hook);\r
-\r
-#ifdef __cplusplus\r
-#if __cplusplus\r
-}\r
-#endif /* __cplusplus */\r
-#endif /* __cplusplus */\r
#endif /* TRANSMIT_ITEM_H */\r
\r
#include "transmit_item.h"\r
\r
-#ifdef __cplusplus\r
-#if __cplusplus\r
-extern "C" {\r
-#endif /* __cplusplus */\r
-#endif /* __cplusplus */\r
-\r
int32_t bus_read_data(uintptr_t usr_data, uint32_t offset, uint8_t *buf, uint32_t len);\r
int32_t buf_write_data(uintptr_t usr_data, uint32_t offset, uint8_t *buf, uint32_t len);\r
int32_t file_read_data(uintptr_t usr_data, uint32_t offset, uint8_t *buf, uint32_t len);\r
int32_t file_write_data(uintptr_t usr_data, uint32_t offset, uint8_t *buf, uint32_t len);\r
\r
-#ifdef __cplusplus\r
-#if __cplusplus\r
-}\r
-#endif /* __cplusplus */\r
-#endif /* __cplusplus */\r
#endif
\ No newline at end of file
#include "dfx_feature_config.h"\r
#include "common_def.h"\r
\r
-#ifdef __cplusplus\r
-#if __cplusplus\r
-extern "C" {\r
-#endif /* __cplusplus */\r
-#endif /* __cplusplus */\r
-\r
typedef struct {\r
bool is_dir;\r
const char *name;\r
}\r
\r
#endif /* CONFIG_DFX_SUPPORT_FILE_SYSTEM == DFX_YES */\r
-\r
-#ifdef __cplusplus\r
-#if __cplusplus\r
-}\r
-#endif /* __cplusplus */\r
-#endif /* __cplusplus */\r
#endif /* __TRANSMIT_FILE_OPERATION_H__ */\r
* yaffs_sync() does a full sync, including checkpoint.
*/
int yaffs_sync(const YCHAR *path);
+#ifdef YAFFS_EXTEND_SUPPORT
+int yaffs_remount(const YCHAR *path, int force, int read_only);
int yaffs_format(const YCHAR *path,
int unmount_flag,
int force_unmount_flag,
int remount_flag);
-#ifdef YAFFS_EXTEND_SUPPORT
-int yaffs_remount(const YCHAR *path, int force, int read_only);
-
/*
* yaffs_sync() does a full sync, including checkpoint.
* yaffs_sync_files() just flushes the cache and does not write a checkpoint.
return;
}
- Request request = {.msgId = BOOT_INIT_TIMEOUT, .msgValue = 0};
+ Request *request = SAMGR_AllocRequestMsg(0, PLATFORM_CORE, BOOTSTRAP_SVR_ID, 0);
+ if (request == NULL) {
+ return;
+ }
+ request->msgId = BOOT_INIT_TIMEOUT;
+ request->msgValue = 0;
- SAMGR_SendRequest(&bootstrap->identity, &request, NULL);
+ int ret = SAMGR_SendRequest(&bootstrap->identity, request, NULL);
+ if (ret != EC_SUCCESS) {
+ SAMGR_FreeRequestMsg(request);
+ }
}
set(PRIVATE_HEADER
${ROOT_DIR}/open_source/openharmony/foundation/ace/ace_engine_lite/interfaces/base
- ${ROOT_DIR}/open_source/openharmony/foundation/ace/ace_engine_lite/context
- ${ROOT_DIR}/open_source/openharmony/foundation/ace/ace_engine_lite/base
${ROOT_DIR}/application/wearable/ohos_deps
${ROOT_DIR}/middleware/services/gui/uikit/proprietary/src/utils/innerkits
${ROOT_DIR}/middleware/services/gui/uikit/proprietary/include
${ROOT_DIR}/middleware/services/gui/uikit/proprietary/include/service
${ROOT_DIR}/middleware/services/gui/uikit/ui/interfaces/innerkits
+
${ROOT_DIR}/middleware/services/gui/uikit/ui/interfaces/kits/components
${ROOT_DIR}/middleware/services/gui/uikit/ui/interfaces/kits/animator
${ROOT_DIR}/middleware/services/gui/uikit/utils/interfaces/innerkits
${ROOT_DIR}/middleware/services/gui/uikit/ui/interfaces/innerkits/common
${ROOT_DIR}/middleware/services/gui/uikit/ui/interfaces/kits/font
${ROOT_DIR}/middleware/services/gui/uikit/ui/interfaces/kits/dfx
- ${ROOT_DIR}/middleware/services/gui/uikit/ui/interfaces/kits/common
${ROOT_DIR}/open_source/openharmony/drivers/peripheral/display/interfaces/include
${ROOT_DIR}/application/wearable/ohos_deps
${ROOT_DIR}/open_source/openharmony/third_party/cJSON
${CMAKE_CURRENT_SOURCE_DIR}/components/input_button_component.cpp
${CMAKE_CURRENT_SOURCE_DIR}/components/input_checkbox_component.cpp
${CMAKE_CURRENT_SOURCE_DIR}/components/input_radio_component.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/components/input_edittext_component.cpp
${CMAKE_CURRENT_SOURCE_DIR}/components/list_adapter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/components/list_component.cpp
${CMAKE_CURRENT_SOURCE_DIR}/components/marquee_component.cpp
${CMAKE_CURRENT_SOURCE_DIR}/components/text_component.cpp
${CMAKE_CURRENT_SOURCE_DIR}/components/baidu_map_component.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/app_module.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/modules/device_module.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/dfx_module.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/module_manager.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/locale_module.cpp
)
set(PRIVATE_HEADER
+ ${CMAKE_CURRENT_SOURCE_DIR}/base
${CMAKE_CURRENT_SOURCE_DIR}/interfaces/base
${ROOT_DIR}/middleware/services/gui/uikit/proprietary/src/utils/innerkits
${ROOT_DIR}/middleware/services/gui/uikit/proprietary/include
constexpr char COMMON_STYLE_COLOR[] = "color";
#endif // FEATURE_COMPONENT_ANALOG_CLOCK
constexpr uint8_t DEFAULT_FONT_SIZE = 30;
-constexpr uint8_t FONT_FAMILY_FILE_NAME_SIZE = 128;
#ifdef FEATURE_COMPONENT_CANVAS
constexpr uint8_t DEFAULT_FONT_LETTERSPACE = 2;
#endif // FEATURE_COMPONENT_CANVAS
KEYWORD(EASE_IN_OUT, ease-in-out) // animation time function value
KEYWORD(EASE_OUT, ease-out) // animation time function value
KEYWORD(ELLIPSIS, ellipsis) // text overflow type
-#if (FEATURE_COMPONENT_EDITTEXT == 1)
- KEYWORD(EDITTEXTTYPE, editTextType) // text overflow type
-#endif // FEATURE_COMPONENT_EDITTEXT
#ifdef FEATURE_COMPONENT_DATE_PICKER
KEYWORD(END, end) // date picker-view attr
#endif // FEATURE_COMPONENT_DATE_PICKER
KEYWORD(MARGIN_TOP, marginTop) // common style margin top
KEYWORD(MARQUEE, marquee) // marquee tag name
KEYWORD(MAX, max) // common attributes
-#if (FEATURE_COMPONENT_EDITTEXT == 1)
- KEYWORD(MAX_LENGTH, maxlength) // maxlength of input
-#endif // FEATURE_COMPONENT_EDITTEXT
KEYWORD(MIN, min) // common attributes, analog-clock minute
KEYWORD(MINI, mini) // text font size type
#ifdef FEATURE_DATE_FORMAT
KEYWORD(PADDING_LEFT, paddingLeft)
KEYWORD(PADDING_RIGHT, paddingRight)
KEYWORD(PADDING_TOP, paddingTop)
-#if (FEATURE_COMPONENT_EDITTEXT == 1)
- KEYWORD(PASSWORD, password) // type of input component
-#endif // FEATURE_COMPONENT_EDITTEXT
KEYWORD(PERCENT, percent)
KEYWORD(PICKER_VIEW, picker-view) // tag name
KEYWORD(REF, ref) // common attribute
KEYWORD(PIVOT_X, pivotX) // clock-hand pivot-x
KEYWORD(PIVOT_Y, pivotY) // clock-hand pivot-y
#endif // FEATURE_COMPONENT_ANALOG_CLOCK
-#if (FEATURE_COMPONENT_EDITTEXT == 1)
- KEYWORD(PLACEHOLDER, placeholder) // placeholder of edittext
- KEYWORD(PLACEHOLDER_COLOR, placeholderColor) // placeholder-color of edittext
-#endif // FEATURE_COMPONENT_EDITTEXT
KEYWORD(PROGRESS, progress) // progress tag name
#ifdef FEATURE_COMPONENT_QRCODE
KEYWORD(QRCODE, qrcode) // qrcode tag name
KEYWORD(TRANSLATE_X, translateX) // animation transform x
KEYWORD(TRANSLATE_Y, translateY) // animation transform y
KEYWORD(TRUE, true) // common attributes
-#if ((FEATURE_COMPONENT_ANALOG_CLOCK == 1) || (FEATURE_COMPONENT_EDITTEXT == 1))
+#ifdef FEATURE_COMPONENT_ANALOG_CLOCK
KEYWORD(TYPE, type) // clock-hand type
-#endif // (FEATURE_COMPONENT_ANALOG_CLOCK == 1) || (FEATURE_COMPONENT_EDITTEXT == 1)
+#endif // FEATURE_COMPONENT_ANALOG_CLOCK
KEYWORD(VALUE, value) // common attributes
KEYWORD(VERTICAL, vertical) // swiper attr vertical
#ifdef FEATURE_COMPONENT_VIDEO
void AlignDimensions(const ConstrainedParameter ¶m);
void EnableTransmitSwipe();
- int16_t GetHeight() const
- {
- return (height_.type == TYPE_PIXEL) ? height_.value.pixel : INVALID_PIXEL_VALUE;
- }
- int16_t GetWidth() const
- {
- return (width_.type == TYPE_PIXEL) ? width_.value.pixel : INVALID_PIXEL_VALUE;
- }
-
protected:
void SetComponentName(uint16_t name)
{
{
return styleItem->GetValueType() == STYLE_PROP_VALUE_TYPE_STRING;
}
+ int16_t GetHeight() const
+ {
+ return (height_.type == TYPE_PIXEL) ? height_.value.pixel : INVALID_PIXEL_VALUE;
+ }
+ int16_t GetWidth() const
+ {
+ return (width_.type == TYPE_PIXEL) ? width_.value.pixel : INVALID_PIXEL_VALUE;
+ }
+
jerry_value_t *GetDomElementPointer()
{
return &nativeElement_;
#include "input_button_component.h"
#include "input_checkbox_component.h"
#include "input_radio_component.h"
-#if (FEATURE_COMPONENT_EDITTEXT == 1)
-#include "input_edittext_component.h"
-#endif // FEATURE_COMPONENT_EDITTEXT
#include "js_fwk_common.h"
#include "key_parser.h"
#include "keys.h"
component = new InputCheckboxComponent(options, children, styleManager);
} else if (id == K_RADIO) {
component = new InputRadioComponent(options, children, styleManager);
- }
-#if (FEATURE_COMPONENT_EDITTEXT == 1)
- else if (id == K_TEXT || id == K_PASSWORD) {
- component = new InputEditTextComponent(options, children, styleManager);
- }
-#endif // FEATURE_COMPONENT_EDITTEXT
- else {
+ } else {
// default type is input button
component = new InputButtonComponent(options, children, styleManager);
}
return isStopPropagation_;
}
-
-void ValueChangeListener::OnChange(UIView &view, const char *value)
-{
- if (IS_UNDEFINED(fn_)) {
- return;
- }
-
- jerry_value_t textValue = jerry_create_string(reinterpret_cast<const jerry_char_t *>(value));
- jerry_value_t args[1] = {textValue};
- if (jerry_value_is_function(fn_)) {
- CallJSFunctionAutoRelease(fn_, UNDEFINED, args, 1);
- }
- ReleaseJerryValue(textValue, VA_ARG_END_FLAG);
- return;
-}
} // namespace ACELite
} // namespace OHOS
#include "ui_scroll_view.h"
#include "ui_slider.h"
#include "ui_toggle_button.h"
-#include "ui_edit_text.h"
namespace OHOS {
namespace ACELite {
bool isChanging_; // the flag to avoid change event cycle execute
};
-class ValueChangeListener final : public OHOS::UIEditText::OnChangeListener {
-public:
- ACE_DISALLOW_COPY_AND_MOVE(ValueChangeListener);
- explicit ValueChangeListener(jerry_value_t fn)
- : fn_(jerry_acquire_value(fn)) {}
-
- ~ValueChangeListener()
- {
- jerry_release_value(fn_);
- }
-
- void OnChange(UIView& view, const char* value) override;
-private:
- jerry_value_t fn_;
-};
-
class ViewOnClickListener final : public UIView::OnClickListener {
public:
ACE_DISALLOW_COPY_AND_MOVE(ViewOnClickListener);
+++ /dev/null
-/*
- * Copyright (c) 2020-2022 Huawei Device Co., Ltd.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "acelite_config.h"
-#if (FEATURE_COMPONENT_EDITTEXT == 1)
-#include "input_edittext_component.h"
-#include "ace_log.h"
-#include "key_parser.h"
-#include "keys.h"
-#include "product_adapter.h"
-
-namespace OHOS {
-namespace ACELite {
-bool InputEditTextComponent::CreateNativeViews()
-{
- fontSize_ = ProductAdapter::GetDefaultFontSize();
- // set font family
- if (!CopyFontFamily(fontFamily_, ProductAdapter::GetDefaultFontFamilyName())) {
- return false;
- }
- return true;
-}
-
-void InputEditTextComponent::ReleaseNativeViews()
-{
- if (onValueChangeListener_ != nullptr) {
- delete onValueChangeListener_;
- onValueChangeListener_ = nullptr;
- }
- ACE_FREE(fontFamily_);
-}
-
-bool InputEditTextComponent::SetPrivateAttribute(uint16_t attrKeyId, jerry_value_t attrValue)
-{
- switch (attrKeyId) {
- case K_TYPE:
- if (jerry_value_is_string(attrValue)) {
- char *type = MallocStringOf(attrValue);
- if (type == nullptr) {
- HILOG_ERROR(HILOG_MODULE_ACE, "type is nullptr");
- return false;
- }
- if (strcmp(type, "password")) {
- edittext_.SetInputType(InputType::TEXT_TYPE);
- } else {
- edittext_.SetInputType(InputType::PASSWORD_TYPE);
- }
- ACE_FREE(type);
- return true;
- }
- HILOG_ERROR(HILOG_MODULE_ACE, "the edittext type is error value");
- break;
- case K_VALUE:
- if (jerry_value_is_string(attrValue)) {
- char *value = MallocStringOf(attrValue);
- if (value == nullptr) {
- HILOG_ERROR(HILOG_MODULE_ACE, "value is nullptr");
- return false;
- }
- edittext_.SetText(value);
- ACE_FREE(value);
- return true;
- }
- HILOG_ERROR(HILOG_MODULE_ACE, "the edittext value is error value");
- break;
- case K_PLACEHOLDER:
- if (jerry_value_is_string(attrValue)) {
- char *placeholder = MallocStringOf(attrValue);
- if (placeholder == nullptr) {
- HILOG_ERROR(HILOG_MODULE_ACE, "placeholder is nullptr");
- return false;
- }
- edittext_.SetPlaceholder(placeholder);
- ACE_FREE(placeholder);
- return true;
- }
- HILOG_ERROR(HILOG_MODULE_ACE, "the edittext placeholder is error value");
- break;
- case K_MAX_LENGTH:
- if (jerry_value_is_number(attrValue)) {
- uint16_t maxLenth = IntegerOf(attrValue);
- edittext_.SetMaxLength(maxLenth);
- return true;
- }
- HILOG_ERROR(HILOG_MODULE_ACE, "the edittext maxLenth is error value");
- break;
- default:
- return false;
- }
- return false;
-}
-
-bool InputEditTextComponent::RegisterPrivateEventListener(uint16_t eventTypeId,
- jerry_value_t funcValue,
- bool isStopPropagation)
-{
- if (eventTypeId == K_CHANGE) {
- if (onValueChangeListener_) {
- HILOG_ERROR(HILOG_MODULE_ACE, "valueChange listener existed");
- return false;
- }
- onValueChangeListener_ = new ValueChangeListener(funcValue);
- if (onValueChangeListener_ == nullptr) {
- HILOG_ERROR(HILOG_MODULE_ACE, "create valueChange listener failed");
- return false;
- }
- edittext_.SetOnChangeListener(onValueChangeListener_);
- return true;
- }
- return false;
-}
-
-bool InputEditTextComponent::ApplyPrivateStyle(const AppStyleItem *style)
-{
- bool result = true;
- uint16_t styleKey = GetStylePropNameId(style);
- if (!KeyParser::IsKeyValid(styleKey)) {
- return false;
- }
- switch (styleKey) {
- case K_FONT_SIZE:
- result = SetFontSize(style);
- break;
- case K_COLOR:
- result = SetColor(*style);
- break;
- case K_PLACEHOLDER_COLOR:
- result = SetPlaceholderColor(*style);
- break;
- default:
- result = false;
- break;
- }
- return result;
-}
-
-void InputEditTextComponent::PostUpdate(uint16_t attrKeyId)
-{
- if (!KeyParser::IsKeyValid(attrKeyId)) {
- HILOG_ERROR(HILOG_MODULE_ACE, "input component post update check args failed");
- return;
- }
- switch (attrKeyId) {
- case K_VALUE:
- break;
- case K_FONT_SIZE:
- case K_FONT_FAMILY:
- if (fontFamily_ != nullptr) {
- edittext_.SetFont(fontFamily_, fontSize_);
- }
- break;
- default:
- break;
- }
-}
-
-uint8_t InputEditTextComponent::GetFontSize()
-{
- return fontSize_;
-}
-
-
-bool InputEditTextComponent::SetFontSize(const AppStyleItem *style)
-{
- fontSize_ = GetStylePixelValue(style);
- return true;
-}
-
-bool InputEditTextComponent::SetColor(const AppStyleItem &style)
-{
- uint32_t color = 0;
- uint8_t alpha = OPA_OPAQUE;
- if (GetStyleColorValue(&style, color, alpha)) {
- edittext_.SetStyle(STYLE_TEXT_COLOR, GetRGBColor(color).full);
- edittext_.SetStyle(STYLE_TEXT_OPA, alpha);
- return true;
- }
- return false;
-}
-
-bool InputEditTextComponent::SetPlaceholderColor(const AppStyleItem &style)
-{
- uint32_t color = 0;
- OHOS::ColorType color32;
- uint8_t alpha = OPA_OPAQUE;
- if (GetStyleColorValue(&style, color, alpha)) {
- color32.full = (alpha << 24) | color; // 24:alpha bit offset in color32
- edittext_.SetPlaceholderColor(color32);
- return true;
- }
- return false;
-}
-} // namespace ACELite
-} // namespace OHOS
-#endif // FEATURE_COMPONENT_VIDEO
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) 2020-2021 Huawei Device Co., Ltd.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef OHOS_ACELITE_INPUT_EDIT_TEXT_COMPONENT_H
-#define OHOS_ACELITE_INPUT_EDIT_TEXT_COMPONENT_H
-#include "acelite_config.h"
-#if (FEATURE_COMPONENT_EDITTEXT == 1)
-#include "component.h"
-#include "flex_layout.h"
-#include "non_copyable.h"
-#include "key_parser.h"
-#include "ui_edit_text.h"
-
-namespace OHOS {
-namespace ACELite {
-class InputEditTextComponent final : public Component {
-public:
-
- ACE_DISALLOW_COPY_AND_MOVE(InputEditTextComponent);
- InputEditTextComponent() = delete;
- InputEditTextComponent(jerry_value_t options, jerry_value_t children, AppStyleManager *manager)
- : Component(options, children, manager),
- onValueChangeListener_(nullptr),
- fontFamily_(nullptr),
- fontSize_(DEFAULT_FONT_SIZE)
- {
- SetComponentName(K_INPUT);
- }
- ~InputEditTextComponent() override {};
- bool CreateNativeViews() override;
- void ReleaseNativeViews() override;
- bool SetPrivateAttribute(uint16_t attrKeyId, jerry_value_t attrValue) override;
- bool RegisterPrivateEventListener(uint16_t eventTypeId, jerry_value_t funcValue, bool isStopPropagation) override;
- bool ApplyPrivateStyle(const AppStyleItem *style) override;
- void PostUpdate(uint16_t attrKeyId) override;
- uint8_t GetFontSize();
-protected:
- UIView *GetComponentRootView() const override
- {
- return const_cast<UIEditText *>(&edittext_);
- }
-
-private:
- bool SetFontSize(const AppStyleItem *style);
- bool SetColor(const AppStyleItem &style);
- bool SetPlaceholderColor(const AppStyleItem &style);
- UIEditText edittext_;
- ValueChangeListener* onValueChangeListener_;
- char *fontFamily_;
- uint8_t fontSize_;
-};
-} // namespace ACELite
-} // namespace OHOS
-#endif // FEATURE_COMPONENT_EDITTEXT
-#endif // OHOS_ACELITE_INPUT_EDIT_TEXT_COMPONENT_H
\ No newline at end of file
#include "directive/descriptor_utils.h"
#include "fatal_handler.h"
#include "securec.h"
-#include "text_component.h"
namespace OHOS {
namespace ACELite {
}
}
Component::BuildViewTree(component, nullptr, parentParam);
-
- //text componet adapts to height and width in list-item
-
- int16_t allh = 0;
- int16_t allw = 0;
-
- if (direction_ == UIList::VERTICAL) {
- if (component->GetDimension(K_HEIGHT).type == DimensionType::TYPE_UNKNOWN) {
- JSValue children = component->GetChildren();
- uint16_t length = JSArray::Length(children);
-
- for (uint16_t idx = 0; idx < length; ++idx) {
- JSValue key = JSArray::Get(children, idx);
-
- Component *chidrenComponent = ComponentUtils::GetComponentFromBindingObject(key);
-
- if (chidrenComponent->GetComponentName() == K_TEXT){
- TextComponent* textComponent = reinterpret_cast<TextComponent *>(chidrenComponent);
- UILabel *uiLabel = textComponent->GetUILabelView();
- int16_t chidrenComponentHeight = uiLabel->GetHeight();
- allh += chidrenComponentHeight;
- }else{
- int16_t chidrenComponentHeight = chidrenComponent->GetHeight();
- allh += chidrenComponentHeight;
- }
- }
-
- component->SetHeight(allh);
- Component::BuildViewTree(component, nullptr, parentParam);
- }
- } else {
- if (component->GetDimension(K_WIDTH).type == DimensionType::TYPE_UNKNOWN) {
- JSValue children = component->GetChildren();
- uint16_t length = JSArray::Length(children);
-
- for (uint16_t idx = 0; idx < length; ++idx) {
- JSValue key = JSArray::Get(children, idx);
-
- Component *chidrenComponent = ComponentUtils::GetComponentFromBindingObject(key);
-
- if (chidrenComponent->GetComponentName() == K_TEXT){
- TextComponent* textComponent = reinterpret_cast<TextComponent *>(chidrenComponent);
- UILabel *uiLabel = textComponent->GetUILabelView();
- int16_t chidrenComponentWidth = uiLabel->GetWidth();
- allw += chidrenComponentWidth;
- }else{
- int16_t chidrenComponentWidth = chidrenComponent->GetWidth();
- allw += chidrenComponentWidth;
- }
- }
-
- component->SetWidth(allw);
- Component::BuildViewTree(component, nullptr, parentParam);
- }
- }
component->OnViewAttached();
}
TextComponent() = delete;
TextComponent(jerry_value_t options, jerry_value_t children, AppStyleManager* styleManager);
~TextComponent() override {}
- UILabel* GetUILabelView() const;
protected:
bool CreateNativeViews() override;
UIView *GetComponentRootView() const override;
bool SetPrivateAttribute(uint16_t attrKeyId, jerry_value_t attrValue) override;
bool ApplyPrivateStyle(const AppStyleItem* styleItem) override;
+ UILabel* GetUILabelView() const;
void OnViewAttached() override;
void PostUpdate(uint16_t attrKeyId) override;
*/
#define FEATURE_COMPONENT_CANVAS
-/**
- * enable edittext component Feature
- */
-#ifndef FEATURE_COMPONENT_EDITTEXT
-#define FEATURE_COMPONENT_EDITTEXT 1
-#endif
-
/**
* enable QRcode component
*/
/**
* support device module
*/
-#define FEATURE_MODULE_DEVICE
+//xx00 #define FEATURE_MODULE_DEVICE
/**
* date time module
+++ /dev/null
-/*\r
- * Copyright (c) 2020 Huawei Device Co., Ltd.\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-#include <new>\r
-#include "ace_log.h"\r
-#include "js_app_context.h"\r
-#include "js_async_work.h"\r
-#include "product_adapter.h"\r
-#include <securec.h>\r
-#include "device_module.h"\r
-#include "media_log.h"\r
-#include "global.h"\r
-#include "screen.h"\r
-\r
-namespace OHOS {\r
-namespace ACELite {\r
-\r
-const char * const DeviceModule::DEVICE_BRAND = "brand";\r
-const char * const DeviceModule::DEVICE_MANUFACTURER = "manufacturer";\r
-const char * const DeviceModule::DEVICE_MODEL = "model";\r
-const char * const DeviceModule::DEVICE_PRODUCT = "product";\r
-const char * const DeviceModule::DEVICE_LANGUAGE = "language";\r
-const char * const DeviceModule::DEVICE_REGION = "region";\r
-const char * const DeviceModule::DEVICE_WINDOW_WIDTH_NAME = "windowWidth";\r
-const char * const DeviceModule::DEVICE_WINDOW_HEIGHT_NAME = "windowHeight";\r
-const char * const DeviceModule::DEVICE_SCREEN_DENSITY_NAME = "screenDensity";\r
-const char * const DeviceModule::DEVICE_SCREEN_SHAPE = "screenShape";\r
-const uint32_t DeviceModule::DEVICE_SCREEN_DENSITY = 326;\r
-const uint8_t DeviceModule::DEVICE_API_VERSION = 4;\r
-const char * const DeviceModule::DEVICE_TYPE = "deviceType";\r
-const char * const DeviceModule::DEVICE_API_VERSION_NAME = "apiVersion";\r
-\r
-bool DeviceModule::GetBrand(JSIValue result)\r
-{ bool ret = true;\r
- const char *brand = DEVICE_BRAND;\r
- if (brand == nullptr) {\r
- ret = false;\r
- } else {\r
- JSI::SetStringProperty(result, DEVICE_BRAND, brand);\r
- }\r
- return ret;\r
-}\r
-\r
-bool DeviceModule::GetManufacturer(JSIValue result)\r
-{\r
- bool ret = true;\r
- const char *manufacturer = DEVICE_MANUFACTURER;\r
- if (manufacturer == nullptr) {\r
- ret = false;\r
- } else {\r
- JSI::SetStringProperty(result, DEVICE_MANUFACTURER, manufacturer);\r
- }\r
- return ret;\r
-}\r
-\r
-bool DeviceModule::GetModel(JSIValue result)\r
-{\r
- bool ret = true;\r
- const char *mode = DEVICE_MODEL;\r
- if (mode == nullptr) {\r
- ret = false;\r
- } else {\r
- JSI::SetStringProperty(result, DEVICE_MODEL, mode);\r
- }\r
- return ret;\r
-}\r
-\r
-bool DeviceModule::GetProduct(JSIValue result)\r
-{\r
- bool ret = true;\r
- const char *product = DEVICE_PRODUCT;\r
- if (product == nullptr) {\r
- ret = false;\r
- } else {\r
- JSI::SetStringProperty(result, DEVICE_PRODUCT, product);\r
- }\r
- return ret;\r
-}\r
-\r
-const char* DeviceModule::translateText(char* input) \r
-{\r
- if (strcmp(input, "zh") == 0) {\r
- return "Chinese";\r
- } else if (strcmp(input, "en") == 0) {\r
- return "English";\r
- } else {\r
- return "Chinese";\r
- }\r
-}\r
-\r
-bool DeviceModule::GetLanguage(JSIValue result)\r
-{\r
- bool ret = true;\r
- char language[MAX_LANGUAGE_LENGTH + 1] = { 0 };\r
- uint8_t res = GLOBAL_GetLanguage(language, MAX_LANGUAGE_LENGTH);\r
- JSI::SetStringProperty(result, DEVICE_LANGUAGE, translateText(language));\r
- return ret;\r
-}\r
-\r
-bool DeviceModule::GetRegion(JSIValue result)\r
-{\r
- bool ret = true;\r
- const char *region = DEVICE_REGION;\r
- if (region == nullptr) {\r
- ret = false;\r
- } else {\r
- JSI::SetStringProperty(result, DEVICE_REGION, region);\r
- }\r
- return ret;\r
-}\r
-\r
-bool DeviceModule::GetScreenInfo(JSIValue result)\r
-{\r
- Screen &screen = Screen::GetInstance();\r
- ScreenShape screenShapetmp = screen.GetScreenShape();\r
- uint32_t windowHeight = screen.GetHeight();\r
- uint32_t windowWidth = screen.GetWidth();\r
- uint32_t screenDensity = DEVICE_SCREEN_DENSITY;\r
- const char* screenShape = screenShapetmp ? "circle" : "rect";\r
-\r
- JSI::SetStringProperty(result, DEVICE_SCREEN_SHAPE, screenShape);\r
- JSI::SetNumberProperty(result, DEVICE_WINDOW_WIDTH_NAME, static_cast<double>(windowWidth));\r
- JSI::SetNumberProperty(result, DEVICE_WINDOW_HEIGHT_NAME, static_cast<double>(windowHeight));\r
- JSI::SetNumberProperty(result, DEVICE_SCREEN_DENSITY_NAME, static_cast<double>(screenDensity));\r
- return true;\r
-}\r
-\r
-bool DeviceModule::GetDeviceType(JSIValue result)\r
-{\r
- bool ret = true;\r
- const char *deviceType = DEVICE_TYPE;\r
- if (deviceType == nullptr) {\r
- ret = false;\r
- } else {\r
- JSI::SetStringProperty(result, DEVICE_TYPE, deviceType);\r
- }\r
- return ret;\r
-}\r
-\r
-bool DeviceModule::GetApiVersion(JSIValue result)\r
-{\r
- bool ret = true;\r
- uint8_t apiVersion = DEVICE_API_VERSION;\r
- JSI::SetNumberProperty(result, DEVICE_API_VERSION_NAME, apiVersion);\r
- return ret;\r
-}\r
-\r
-JSIValue DeviceModule::GetInfo(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum)\r
-{\r
- return ExecuteAsyncWork(thisVal, args, argsNum, ExecuteGetDeviceInfo);\r
-}\r
-\r
-JSIValue DeviceModule::ExecuteAsyncWork(const JSIValue thisVal, const JSIValue* args, uint8_t argsNum, AsyncWorkHandler ExecuteFunc)\r
-{\r
- JSIValue undefValue = JSI::CreateUndefined();\r
- if ((args == nullptr) || (argsNum == 0) || (JSI::ValueIsUndefined(args[0]))) {\r
- HILOG_ERROR(HILOG_MODULE_ACE, "Error in obtaining device information parameters");\r
- return undefValue;\r
- }\r
- DeviceParams* params = new(std::nothrow) DeviceParams();\r
- if (params == nullptr) {\r
- return undefValue;\r
- }\r
- params->thisVal = JSI::AcquireValue(thisVal);\r
- params->args = JSI::AcquireValue(args[0]);\r
- JsAsyncWork::DispatchAsyncWork(ExecuteFunc, reinterpret_cast<void *>(params));\r
- return undefValue;\r
-}\r
-\r
-void DeviceModule::ExecuteGetDeviceInfo(void* data)\r
-{\r
- DeviceParams* params = reinterpret_cast<DeviceParams *>(data);\r
- if (params == nullptr) {\r
- return;\r
- }\r
- JSIValue args = params->args;\r
- JSIValue thisVal = params->thisVal;\r
- JSIValue result = JSI::CreateObject();\r
-\r
- if (GetBrand(result) && GetManufacturer(result) && GetModel(result) && GetProduct(result)\r
- && GetLanguage(result) && GetRegion(result) && GetScreenInfo(result) &&\r
- GetApiVersion(result) && GetDeviceType(result)) \r
- {\r
- SuccessCallBack(thisVal, args, result);\r
- } else {\r
- FailCallBack(thisVal, args, -1);\r
- }\r
-\r
- JSI::ReleaseValueList(args, thisVal, result, ARGS_END);\r
- delete params;\r
-}\r
-\r
-void DeviceModule::SuccessCallBack(const JSIValue thisVal, const JSIValue args, JSIValue jsiValue)\r
-{\r
- if (JSI::ValueIsUndefined(args)) {\r
- return;\r
- }\r
- JSIValue success = JSI::GetNamedProperty(args, CB_SUCCESS);\r
- JSIValue complete = JSI::GetNamedProperty(args, CB_COMPLETE);\r
- if (!JSI::ValueIsUndefined(success)) {\r
- if (JSI::ValueIsUndefined(jsiValue)) {\r
- JSI::CallFunction(success, thisVal, nullptr, 0);\r
- } else {\r
- JSI::CallFunction(success, thisVal, &jsiValue, ARGC_ONE);\r
- }\r
- }\r
- if (!JSI::ValueIsUndefined(complete)) {\r
- JSI::CallFunction(complete, thisVal, nullptr, 0);\r
- }\r
- JSI::ReleaseValueList(success, complete, ARGS_END);\r
-}\r
-\r
-void DeviceModule::FailCallBack(const JSIValue thisVal, const JSIValue args, int ret)\r
-{\r
- if (JSI::ValueIsUndefined(args)) {\r
- return;\r
- }\r
- JSIValue errInfo;\r
- errInfo = JSI::CreateString("GetDeviceInfo faild");\r
- JSIValue errCode = JSI::CreateNumber(ret);\r
- JSIValue fail = JSI::GetNamedProperty(args, CB_FAIL);\r
- JSIValue complete = JSI::GetNamedProperty(args, CB_COMPLETE);\r
- JSIValue argv[ARGC_TWO] = {errInfo, errCode};\r
- if (!JSI::ValueIsUndefined(fail)) {\r
- JSI::CallFunction(fail, thisVal, argv, ARGC_TWO);\r
- }\r
- if (!JSI::ValueIsUndefined(complete)) {\r
- JSI::CallFunction(complete, thisVal, nullptr, 0);\r
- }\r
- JSI::ReleaseValueList(fail, complete, errInfo, errCode, ARGS_END);\r
-}\r
-\r
-} // namespace ACELite\r
-} // namespace OHOS\r
+++ /dev/null
-/*\r
- * Copyright (c) 2020 Huawei Device Co., Ltd.\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-#ifndef OHOS_ACELITE_DEVICE_MODULE_H\r
-#define OHOS_ACELITE_DEVICE_MODULE_H\r
-\r
-#include <cJSON.h>\r
-#include "acelite_config.h"\r
-#include "jsi.h"\r
-#include "js_async_work.h"\r
-#include "non_copyable.h"\r
-#include "product_adapter.h"\r
-#include "abilityms_slite_client.h"\r
-\r
-namespace OHOS {\r
-namespace ACELite {\r
-\r
-struct DeviceParams {\r
- JSIValue args = JSI::CreateUndefined();\r
- JSIValue thisVal = JSI::CreateUndefined();\r
-};\r
-\r
-class DeviceModule final : public MemoryHeap {\r
-public:\r
- ACE_DISALLOW_COPY_AND_MOVE(DeviceModule);\r
- DeviceModule() = default;\r
- ~DeviceModule() = default;\r
- static const char * const DEVICE_BRAND;\r
- static const char * const DEVICE_MANUFACTURER;\r
- static const char * const DEVICE_MODEL;\r
- static const char * const DEVICE_PRODUCT;\r
- static const char * const DEVICE_LANGUAGE;\r
- static const char * const DEVICE_REGION;\r
- static const char * const DEVICE_WINDOW_WIDTH_NAME;\r
- static const char * const DEVICE_WINDOW_HEIGHT_NAME;\r
- static const char * const DEVICE_SCREEN_DENSITY_NAME;\r
- static const char * const DEVICE_SCREEN_SHAPE;\r
- static const uint32_t DEVICE_SCREEN_DENSITY;\r
- static const uint8_t DEVICE_API_VERSION;\r
- static const char * const DEVICE_TYPE;\r
- static const char * const DEVICE_API_VERSION_NAME;\r
- static JSIValue GetInfo(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum);\r
- static bool GetBrand(JSIValue result);\r
- static bool GetManufacturer(JSIValue result);\r
- static bool GetModel(JSIValue result);\r
- static bool GetProduct(JSIValue result);\r
- static bool GetLanguage(JSIValue result);\r
- static bool GetRegion(JSIValue result);\r
- static bool GetScreenInfo(JSIValue result);\r
- static bool GetDeviceType(JSIValue result);\r
- static bool GetApiVersion(JSIValue result);\r
- static const char* translateText(char* input);\r
-\r
-private:\r
- static JSIValue ExecuteAsyncWork(const JSIValue thisVal, const JSIValue* args, uint8_t argsNum, AsyncWorkHandler ExecuteFunc);\r
- static void SuccessCallBack(const JSIValue thisVal, const JSIValue args, JSIValue jsiValue);\r
- static void FailCallBack(const JSIValue thisVal, const JSIValue args, int ret);\r
- static void ExecuteGetDeviceInfo(void *data);\r
-\r
-};\r
-\r
-void InitDeviceModule(JSIValue exports)\r
-{\r
- JSI::SetModuleAPI(exports, "getInfo", DeviceModule::GetInfo);\r
-}\r
-\r
-} // namespace ACELite\r
-} // namespace OHOS\r
-#endif // OHOS_ACELITE_APP_MODULE_H\r
extern void InitAppModule(JSIValue exports);
#ifdef FEATURE_MODULE_AUDIO
extern void InitAudioModule(JSIValue exports);
-extern void InitAudioCapturerModule(JSIValue exports);
+extern void InitAudioCaptuerModule(JSIValue exports);
extern void InitBaiduMapComponentModule(JSIValue exports);
#endif // FEATURE_MODULE_AUDIO
#ifdef FEATURE_ACELITE_DFX_MODULE
extern void InitNativeApiKv(JSIValue exports);
#endif
-#ifdef FEATURE_MODULE_DEVICE
-extern void InitDeviceModule(JSIValue exports);
-#endif
+// #ifdef FEATURE_MODULE_DEVICE
+// extern void InitDeviceModule(JSIValue exports);
+// #endif
// #ifdef FEATURE_MODULE_GEO
// extern void InitLocationModule(JSIValue exports);
{"app", InitAppModule},
#ifdef FEATURE_MODULE_AUDIO
{"audio", InitAudioModule},
- {"audiocapturer", InitAudioCapturerModule},
+ {"audiocaptuer", InitAudioCaptuerModule},
#endif
#ifdef FEATURE_MODULE_BAIDU
{"baidumapcomponent",InitBaiduMapComponentModule},
{"file", InitNativeApiFs},
{"storage", InitNativeApiKv},
#endif
-#ifdef FEATURE_MODULE_DEVICE
- {"device", InitDeviceModule},
-#endif
+// #ifdef FEATURE_MODULE_DEVICE
+// {"device", InitDeviceModule},
+// #endif
// #ifdef FEATURE_MODULE_GEO
// {"geolocation", InitLocationModule},
// #endif
-/*\r
-* Copyright (c) CompanyNameMagicTag. 2021-2021. All rights reserved.\r
-* Description: audio capture wrapper\r
-* Author: Media Software Group\r
-* Create: 2021-09-13\r
-*/\r
-\r
-#ifndef AUDIOCAPTURER_MODULE_H\r
-#define AUDIOCAPTURER_MODULE_H\r
-\r
-#include <stdint.h>\r
-#include "jsi.h"\r
-#include "audio_capturer.h"\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-int32_t AudioCaptureSample(int32_t argc, const char *argv[]);\r
-\r
-\r
-#ifdef __cplusplus\r
-};\r
-#endif\r
-\r
-namespace OHOS {\r
-namespace ACELite {\r
-class AudioCapturerModule final : public MemoryHeap {\r
-public:\r
- /**\r
- * constructor\r
- */\r
- AudioCapturerModule() = default;\r
-\r
- /**\r
- * desconstructor\r
- */\r
- ~AudioCapturerModule() = default;\r
- /**\r
- * Start\r
- */\r
- static JSIValue Start(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);\r
-\r
- /**\r
- * Stop\r
- */\r
- static JSIValue Stop(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);\r
-};\r
-\r
-void InitAudioCapturerModule(JSIValue exports);\r
-}\r
-}\r
-\r
-\r
-#endif\r
+/*
+* Copyright (c) CompanyNameMagicTag. 2021-2021. All rights reserved.
+* Description: audio capture wrapper
+* Author: Media Software Group
+* Create: 2021-09-13
+*/
+
+#ifndef AUDIOCAPTURER_MODULE_H
+#define AUDIOCAPTURER_MODULE_H
+
+#include <stdint.h>
+#include "jsi.h"
+#include "audio_capturer.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int32_t AudioCaptureSample(int32_t argc, const char *argv[]);
+
+
+#ifdef __cplusplus
+};
+#endif
+
+namespace OHOS {
+namespace ACELite {
+class AudioCaptuerModule final : public MemoryHeap {
+public:
+ /**
+ * constructor
+ */
+ AudioCaptuerModule() = default;
+
+ /**
+ * desconstructor
+ */
+ ~AudioCaptuerModule() = default;
+ /**
+ * Start
+ */
+ static JSIValue Start(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
+
+ /**
+ * Stop
+ */
+ static JSIValue Stop(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
+};
+
+void InitAudioCaptuerModule(JSIValue exports);
+}
+}
+
+
+#endif
extern "C" {
#endif
#endif
-#define ACORE_MAX_PKT_RETRY_CNT 3
+
#define WRITE_PROPERTY_ERR_TIMES 100
#define BT_ACORE_TASK_QUEUE_SIZE 500
typedef enum {
+++ /dev/null
-/*
- * Copyright (c) @CompanyNameMagicTag 2022-2023. All rights reserved.
- * Description: test at cmd proc
- */
-#ifndef MPC_CODE_DEF_H
-#define MPC_CODE_DEF_H
-#ifdef __cplusplus
-#if __cplusplus
-extern "C" {
-#endif
-#endif
-
-typedef enum {
- MPC_COMMAND_BLE_BASE = 0x10,
- MPC_COMMAND_BR_BASE = 0x30,
- MPC_COMMAND_GLE_BASE = 0x50,
- MPC_COMMAND_TEST_BASE = 0x70,
-} mc_service_base;
-
-typedef enum {
- BT_DEVICE_MGR_SVR = MPC_COMMAND_BLE_BASE,
- BLE_CONNECT_SVR,
- BT_MANAGER_SVR,
- BT_DESKTOP_SVR,
-} mc_service_type_ble;
-
-typedef enum {
- GLE_MANAGER_SVR = MPC_COMMAND_GLE_BASE,
-} mc_service_type_gle;
-
-typedef enum {
- MC_BT_SRV_A2DP = MPC_COMMAND_BR_BASE,
- MC_BT_SRV_AVRCP,
- MC_BT_SRV_HFP,
- MC_BT_SRV_PBAP,
- MC_BT_SRV_GAP,
- MC_BT_SRV_GAP_EVENT,
- MC_BT_SRV_SPP,
- MC_BT_SRV_PAN,
- MC_BT_SVR_BRANDY_MAX,
-} mc_service_type_br;
-
-typedef enum {
- MC_BT_FACTORY_TEST_SVR = MPC_COMMAND_TEST_BASE,
- MC_BT_SRV_BRANDY_PTS,
- MC_BT_SRV_DONGLE_TEST
-} mc_service_type_test;
-
-/* service_id: MC_BT_FACTORY_TEST_SVR */
-typedef enum {
- MC_BT_DFT_BT_BASE = 0x00,
- MC_BT_DFT_CHECK_EFLASH = 0x01,
- MC_BT_DFT_RF_TEST_ON = 0x02,
- MC_BT_DFT_RF_TX_ONOFF = 0x03,
- MC_BT_DFT_READ_HW_VERSION = 0x04,
- MC_BT_DFT_READ_VOLTAGE = 0x05,
- MC_BT_DFT_RESERVED_1306 = 0x06,
- MC_BT_DFT_WRITE_BDADDR = 0x07,
- MC_BT_DFT_READ_BDADDR = 0x08,
- MC_BT_DFT_NAME_WRITE = 0x09,
- MC_BT_DFT_NAME_READ = 0x0A,
- MC_BT_DFT_READ_BT_VERSION = 0x0B,
- MC_BT_DFT_READ_MFI_ID = 0x0C,
- MC_BT_DFT_SQIF_RW_CHECK = 0x0D,
- MC_BT_DFT_MICA_LOOP = 0x0E,
- MC_BT_DFT_MICB_LOOP = 0x0F,
- MC_BT_DFT_MIC_CALIBRATION = 0x10,
- MC_BT_DFT_ENTER_DFU_MODE = 0x11,
- MC_BT_DFT_FACTORY_MODE = 0x12,
- MC_BT_DFT_RESET_PDL = 0x13,
- MC_BT_DFT_READ_USB_PORT = 0x14,
- MC_BT_DFT_SET_USB_PORT = 0x15,
- MC_BT_DFT_PSKEY_READ = 0x16,
- MC_BT_DFT_ENTER_PAIRING = 0x17,
- MC_BT_DFT_TEMP_READ = 0x18,
- MC_BT_DFT_RESET = 0x19,
- MC_BT_DFT_ENTER_DUT_MODE = 0x1A,
- MC_BT_DFT_POWER_ON = 0x1B,
- MC_BT_DFT_POWER_OFF = 0x1C,
- MC_BT_DFT_SET_SIG_CMD = 0x1D,
- MC_BT_DFT_RF_BLE_TX_MODE = 0x25,
- MC_BT_DFT_RF_BLE_RX_MODE = 0x26,
- MC_BT_DFT_RF_RESET_RX_COUNT = 0x27,
- MC_BT_DFT_RF_READ_RX_COUNT = 0x28,
- MC_BT_DFT_RF_BREDR_TX_MODE = 0x2B,
- MC_BT_DFT_RF_BREDR_RX_MODE = 0x2C,
- MC_BT_DFT_CALI_POWER_INIT = 0x2D,
- MC_BT_DFT_CALI_POWER_START = 0x2E,
- MC_BT_DFT_CALI_POWER_END = 0x2F,
- MC_BT_DFT_OPERATION_CALIBRATION = 0x30,
- MC_BT_DFT_TRANSPARENT_TRANS = 0x31,
- MC_BT_DFT_DISCONNECT_LINK = 0x32,
- MC_BT_DFT_QUERY_CON_INFO = 0x33,
- MC_BT_DFT_QUERY_PAIRED_DEVICE_INFO = 0x34,
- MC_BT_DFT_BLE_DEV_INFO = 0x37,
- MC_BT_DFT_ADDR_INFO_SET = 0x39,
- MC_BT_DFT_GATT_GAP_REG = 0x3A,
- MC_BT_DFT_RF_RX_COUNT_RSP = 0x3B,
- MC_BT_DFT_SET_VENDOR_CMD = 0x3C,
-} mc_bt_dft_command_type;
-
-/* service_id: BT_DEVICE_MGR_SVR */
-typedef enum {
- MC_BT_DEV_GET_VERSION = 0x01,
- MC_BT_DEV_RESET_FACTORY = 0x02,
- MC_BT_DEV_BAT_VALUE = 0x03,
- MC_BT_DEV_BAT_STATE = 0x04,
- MC_BT_DEV_START_COMP = 0x05,
- MC_BT_DEV_INFO = 0x06,
- MC_BT_DEV_BT_LOST_REMIND = 0x07,
- MC_BT_MANAGER_RECOVER_CALIBRATION_DATA = 0x08,
- MC_BT_MANAGER_RECOVER_SMP_KEYS = 0x09,
- MC_BT_MANAGER_RECOVER_PRODUCT_TYPE = 0x0a,
- MC_BT_MANAGER_RECOVER_SYS_CONFIG = 0x0b,
- MC_BT_MANAGER_SET_LOCAL_ADDR = 0x0c,
- MC_BT_MANAGER_SET_LOCAL_NAME = 0x0d,
- MC_BT_MANAGER_REPORT_SMP_KEYS = 0x0e,
-} mc_bt_dev_manager_command_type;
-
-/* service_id: BLE_CONNECT_SVR */
-typedef enum {
- MC_BLE_CONN_STATE = 0x01,
- MC_BLE_PAIR_MODE = 0x02,
- MC_BLE_DISCONN = 0x03,
- MC_BLE_QUERY_CONN_STATE = 0x04,
- MC_BLE_ENTER_HV_MODE = 0x05,
- MC_BLE_BPM_DATA = 0x06,
- MC_BLE_DEL_PAIR_INFO = 0x07, // MCU notify BLE delete pair infomation
- MC_BLE_RPT_HRS_MODE = 0x08, // BLE report hrs mode
- MC_BLE_RPT_SAIS_MODE = 0x09, // BLE report sais mode
- MC_BLE_ADV_ENABLE = 0x0A,
- MC_BLE_CONNECT_PEER = 0x0B,
- MC_BLE_SET_PRODUCT_TYPE = 0x0C,
- MC_BLE_MTU_INQUERY = 0x0D,
- MC_BLE_CONN_UPDATE = 0x0E,
-
- /* General Interface for Stack */
- MC_BLE_L2CAP_REG_PSM = 0x20,
- MC_BLE_L2CAP_UNREG_PSM,
- MC_BLE_L2CAP_CREDIT_CH_REQ,
- MC_BLE_L2CAP_CREDIT_CH_RSP,
- MC_BLE_L2CAP_CREDIT_CH_RX,
- MC_BLE_L2CAP_CH_TX,
- MC_BLE_L2CAP_CREDIT_FLOW_CTRL, /* 0x25 */
- MC_BLE_L2CAP_DISCONNECTION,
- MC_BLE_L2CAP_SET_CONFIG_PARAMS,
- MC_BLE_L2CAP_CONNECT,
-
- /* General Interface for gatt server Stack */
- MC_BLE_GATT_CREATE_SERVER = 0x40,
- MC_BLE_GATT_CREATE_SERVICE = 0x41,
- MC_BLE_GATT_ADD_INCLUDE_SERVICE = 0x42,
- MC_BLE_GATT_ADD_CHARACTER = 0x43,
- MC_BLE_GATT_ADD_DESC = 0x44,
- MC_BLE_GATT_START_SERVICE = 0x45,
- MC_BLE_GATT_SEND_RESPONSE = 0x46,
- MC_BLE_GATT_UPDATE_CHARACTER_VALUE = 0x47,
- MC_BLE_GATT_UPDATE_DESCRIPTOR_VALUE = 0x48,
- MC_BLE_GATT_GET_GAP_ATTTIBUTE = 0x49,
- MC_BLE_GATT_SET_GAP_ATTTIBUTE = 0x4A,
- MC_BLE_GATT_MULTIPLE_VALUE_NTF = 0x4B,
- MP_BLE_GATT_MTU_SET_PARAM = 0x4C,
- MC_BLE_GATT_WRITE_IND = 0x4D,
- MC_BLE_GATT_READ_IND = 0x4E,
- MC_BLE_GATT_STOP_SERVICE = 0x4F,
- MC_BLE_GATT_MTU_CHANGED = 0x50,
-
- /* General Interface for gatt client Stack */
- MC_BLE_GATT_DISCOVERY_SERVICE = 0x51,
- MC_BLE_GATT_DISCOVERY_INCLUDE = 0x52,
- MC_BLE_GATT_DISCOVERY_CHARACTER = 0x53,
- MC_BLE_GATT_DISCOVERY_CHARACTER_BY_UUID = 0x54,
- MC_BLE_GATT_DISCOVERY_DESCRIPTOR = 0x55,
- MC_BLE_GATT_DISCOVERY_DESCRIPTOR_BY_HANDLE = 0x56,
- MC_BLE_GATT_READ_CHARACTER = 0x57,
- MC_BLE_GATT_READ_CHARACTER_BY_UUID = 0x58,
- MC_BLE_GATT_READ_MULTIPLE_CHARACTER = 0x59,
- MC_BLE_GATT_MULTIPLE_VALUE_READ_CHARACTER = 0x5A,
- MC_BLE_GATT_WRITE_CHARACTER = 0x5B,
- MC_BLE_GATT_RELIABLE_WRITE_CHARACTER = 0x5C,
- MC_BLE_GATT_READ_DESCRIPTOR = 0x5D,
- MC_BLE_GATT_WRITE_DESCRIPTOR = 0x5E,
- MC_BLE_GATT_MTU_CONFIG = 0x5F,
- MC_BLE_GATT_VALUE_NOTIFICATION = 0x60,
- MC_BLE_GATT_GET_HID_DEVICE_REPORT = 0x61,
- MC_BLE_GATT_SET_ATT_MIN_KEY_SIZE = 0x62,
- MC_BLE_GATT_SET_ATT_CONFIG_PARAM = 0x63,
- MC_BLE_GATT_UPDATE_CHARACTER_VALUE_BY_UUID = 0x64,
- MC_BLE_GATT_DISCOVERY_SERVICE_COMPMLETE = 0x65,
- MC_BLE_GATT_DISCOVERY_CHARACTER_COMPMLETE = 0x66,
- MC_BLE_GATT_DISCOVERY_DESCRIPTOR_COMPMLETE = 0x67,
- MC_BLE_GATT_READ_CHARACTER_COMPLETE = 0x68,
-
- MC_BLE_GAP_ADV_RPT = 0x70,
- MC_BLE_GAP_UPDATE_CONN_PARAMS = 0x71,
- MC_BLE_GAP_EXT_ADV_ENABLE = 0x72,
- MC_BLE_GAP_ADD_WHITE_LIST = 0x73,
- MC_BLE_GAP_RMV_WHITE_LIST = 0x74,
-
- MC_BLE_GAP_GET_LOCAL_APPEARANCE = 0x75,
- MC_BLE_GAP_SET_LOCAL_APPEARANCE = 0x76,
- MC_BLE_GAP_SET_PERIOD_ADVERTISING = 0x77,
- MC_BLE_GAP_DIS_PERIOD_ADVERTISING = 0x78,
- MC_BLE_GAP_SET_PERIOD_ADV_LIST = 0x79,
- MC_BLE_GAP_PERIOD_ADV_CREATE_SYNC = 0x7a,
- MC_BLE_GAP_PERIOD_ADV_TERMINATE_SYNC = 0x7b,
-
- MC_BLE_GAP_DIS_EXTERN_ADV = 0x7c,
- MC_BLE_GAP_SET_EXTERN_ADV = 0x7d,
- MC_BLE_GAP_RMV_EXTERN_ADV = 0x7e,
- MC_BLE_GAP_DIS_EXTERN_SCAN = 0x7f,
- MC_BLE_GAP_SET_EXTERN_SCAN = 0x80,
- MC_BLE_GAP_SET_RANDOM_ADDR = 0x81,
- MC_BLE_GAP_GET_WHITE_LIST = 0x82,
- MC_BLE_GAP_CON_USE_WHITE_LIST = 0x83,
- MC_BLE_GAP_SET_GLOABL_VALUE = 0x84,
- MC_BLE_GAP_SET_CONN_PARAM = 0x85,
- MC_BLE_GAP_SET_HCI_LE_EVENT_MASK = 0x86,
- MC_BLE_GAP_SET_ADDR_RESOLVE = 0x87,
- MC_BLE_GAP_ADV_SET_TERMINATED = 0x88,
- MC_BLE_READ_RSSI = 0x89,
- MC_BLE_SET_HCI_LINK_KEY = 0x8A,
- MC_BLE_SET_PHY = 0x8B,
- MC_BLE_SET_DATA_LENGTH = 0x8C,
-
- MC_BLE_SMP_SET_SEC_PARAM = 0xA0,
- MC_BLE_SMP_PASSKEY_REQ = 0xA1,
- MC_BLE_SMP_PASSKEY_NOTIFY = 0xA2,
- MC_BLE_SMP_PAIR_COMPLETE = 0xA3,
- MC_BLE_SMP_REMOVE_PAIR_INFO = 0xA4,
- MC_BLE_SMP_SET_KEY_FROM_BTC = 0xA5,
- MC_BLE_SMP_REMOVE_PAIR_DEVICE = 0xA6,
- MC_BLE_SMP_REPORT_PAIRED_KEYS = 0xA7,
- MC_BLE_SMP_CTKD_PARAM = 0xA8,
- /* General Interface for Stack */
-} mc_ble_conn_manager_command_type;
-
-/* service_id: BT_DESKTOP_SVR */
-typedef enum {
- MC_BT_DESKTOP_BASE = 0x00,
- MC_BT_DESKTOP_KEYBOARD_INPUT = 0x01,
- MC_BT_DESKTOP_KEYBOARD_OUTPUT = 0x02,
- MC_BT_DESKTOP_MOUSE_INPUT = 0x03,
-} mc_bt_desktop_command_type;
-
-/* service_id: BT_MANAGER_SVR */
-typedef enum {
- MC_BT_MANAGER_SYNC_REQ = 0x01,
- MC_BT_MANAGER_SYNC_RSP = 0x02,
- MC_BT_MANAGER_CHANGE_REQ = 0x03,
- MC_BT_MANAGER_CHANGE_RSP = 0x04,
- MC_BT_MANAGER_LOCK_STATE_NOTIFY = 0x05,
- MC_BT_MANAGER_FAC_RESET = 0x06,
- MC_BT_MANAGER_DEV_SHUTDOWN = 0x07,
- MC_BT_MANAGER_DEV_HIGHT_POWER = 0x08,
- MC_BT_MANAGER_SELFIND_INFO_NOTIFY = 0x09, /* Only used to Selfind adv func */
- MC_BT_MANAGER_TRANSPARENT = 0x0A,
- MC_BT_MANAGER_PDL_OPERATION = 0x0B, /* Transmit the storage info of PDL to BT Core */
- MC_BT_MANAGER_RESET_TYPE = 0x0C,
- MC_BT_MANAGER_PRODUCT_MODE = 0x0D,
- MC_BT_MANAGER_MODE_CHANGE = 0x0E,
-} mc_bt_manager_command_type;
-
-/* service_id: MC_BT_SRV_DONGLE_TEST */
-typedef enum {
- MC_BT_DONGLE_TEST
-} mc_dongle_test_command_type;
-
-typedef enum {
- MC_GENERAL_CMD_L2CAP1 = 0x2,
- MC_GENERAL_CMD_L2CAP2 = 0x3,
- MC_GENERAL_CMD_GATT1 = 0x4,
- MC_GENERAL_CMD_GATT2 = 0x5,
- MC_GENERAL_CMD_GATT3 = 0x6,
- MC_GENERAL_CMD_GAP1 = 0x7,
- MC_GENERAL_CMD_GAP2 = 0x8,
- MC_GENERAL_CMD_GAP3 = 0x9,
- MC_GENERAL_CMD_SMP = 0xA,
- MC_GENERAL_CMD_NUM,
-} mc_general_cmd_t;
-
-/* service_id: MC_BT_SRV_GAP */
-typedef enum {
- GAP_SDK_INIT = 0x00,
- GAP_SDK_DISCONNECT,
- GAP_SDK_CONNECT_EX,
- GAP_SDK_START_DEFAULT_BT,
- GAP_IF_START_DEVICE_DISCOVERY,
- GAP_IF_SET_DISCOVERY_MODE,
- GAP_IF_GET_DISCOVERY_MODE,
- GAP_IF_STOP_DISCOVERY,
- GAP_IF_CREATE_ACL,
- GAP_IF_GET_REMOTE_DEV_HANDLE,
- GAP_IF_IS_DEVICE_CONNECTED,
- GAP_IF_DISCONNECT_ACL_HANDLE,
- GAP_IF_PAIR_DEVICE,
- GAP_IF_UNPAIR_DEVICE,
- GAP_IF_ADD_RMT_DEVICE,
- GAP_IF_UPDATE_RMT_DEVICE_NAME,
- GAP_IF_GET_LOCAL_ADDR,
- GAP_IF_SET_LOCAL_ADDR,
- GAP_IF_GET_LOCAL_NAME,
- GAP_IF_SET_LOCAL_NAME,
- GAP_IF_GET_RMT_DEV_ADDR,
- GAP_IF_BROWSE_RMT_SERVICE,
- GAP_IF_SET_VOICE_SHM_ID,
- GAP_IF_RECONNECT_PHONE,
- GAP_IF_SET_TX_POWER,
- GAP_IF_SDK_DONE,
- GAP_IF_CREATE_ACL_ASYNC,
- GAP_IF_UPDATE_RMT_DEVICE_NAME_ASYNC,
- GAP_IF_READ_RSSI_BR,
- GAP_IF_SET_ACTIVE_SCENE,
- GAP_IF_SET_INQUIRY_SCAN_PARAM,
- GAP_IF_RESTORE_REMOTE_DEVICE,
- GAP_IF_GET_LINK_MODE,
- GAP_IF_SET_BR_SECURE_PARAM
-} mpc_bt_stack_gap_opcode;
-
-/* service_id: MC_BT_SRV_A2DP */
-typedef enum {
- MC_BT_SRV_A2DP_CONNECT,
- MC_BT_SRV_A2DP_DISCONNECT,
- MC_BT_SRV_A2DP_STREAM_START,
- MC_BT_SRV_A2DP_STREAM_SUSPEND,
- MC_BT_SRV_A2DP_SET_AUDIO_SHMID,
- MC_BT_SRV_A2DP_SET_STREAM_CODEX,
- MC_BT_SRV_A2DP_RPT_REMOTE_SEP_CAP,
- MC_BT_SRV_A2DP_RPT_STREAM_STATE,
- MC_BT_SRV_A2DP_RPT_STREAM_CONFIG,
- MC_BT_SRV_A2DP_RPT_STREAM_REJECT,
- MC_BT_SRV_A2DP_STREAM_START_ACCEPT,
- MC_BT_SRV_A2DP_SNK_UNREGISTER_SERVICE,
- MC_BT_SRC_A2DP_MAX,
-} mc_bt_a2dp_command_type;
-
-/* service_id: MC_BT_SRV_HFP */
-typedef enum {
- MC_BT_SRV_HFP_DAIL,
- MC_BT_SRV_HFP_CANCEL_CALL,
- MC_BT_SRV_HFP_3WAY_HANDLE,
- MC_BT_SRV_HFP_ANSWER_CALL,
- MC_BT_SRV_HFP_SPK_VOL,
- MC_BT_SRV_HFP_MIC_VOL,
- MC_BT_SRV_HFP_AUDIO_CONN_TRANS,
- MC_BT_SRV_HFP_TX_DTMF,
- MC_BT_SRV_HFP_GET_CURRENT_CALL,
- MC_BT_SRV_VOICE_RECOGNITION,
- MC_BT_SRV_HFP_SCO_ACCEPT,
- MC_BT_SRV_HFP_HF_CMD_CBK,
- MC_BT_SRV_HFP_AG_ANSWER_CALL,
- MC_BT_SRV_HFP_AG_CANCEL_CALL,
- MC_BT_SRV_HFP_AG_AUDIO_CONN_TRANS,
- MC_BT_SRV_HFP_AG_SEND_NETWORK_EVENT,
- MC_BT_SRV_HFP_AG_SEND_CURRENT_CALL,
- MC_BT_SRV_HFP_AG_SPK_VOL,
- MC_BT_SRV_HFP_AG_MIC_VOL,
- MC_BT_SRV_HFP_AG_SEND_SUBSCRIBER_NUMBER,
- MC_BT_SRV_HFP_AG_SEND_BATTERY_CHARGE,
- MC_BT_SRV_HFP_AG_SEND_CMEE_ERROR,
- MC_BT_SRV_HFP_AG_SEND_NETWORK_OPERATOR,
- MC_BT_SRV_HFP_AG_SET_INDICATOR_VAL,
- MC_BT_SRV_HFP_AG_SEND_INCOMING_EVENT,
- MC_BT_SRV_HFP_AG_CHANGE_INBAND_RING_SETTING,
- MC_BT_SRV_HFP_AG_CMD_CBK,
- MC_BT_SRV_HFP_AG_ORIGINATE_CALL,
- MC_BT_SRC_HFP_MAX,
-} mc_bt_hfp_command_type;
-
-/* service_id: MC_BT_SRV_AVRCP */
-typedef enum {
- MC_BT_SRV_AVRCP_CT_REG_SRV,
- MC_BT_SRV_AVRCP_CT_REG_NOTIFY,
- MC_BT_SRV_AVRCP_CT_GET_CAP,
- MC_BT_SRV_AVRCP_CT_PASS_THROUGH,
- MC_BT_SRV_AVRCP_CT_GET_ELEMENT_ATTR,
- MC_BT_SRV_AVRCP_CT_GET_PLAY_STATUS,
- MC_BT_SRV_AVRCP_CT_SET_ABSOLUTE_VOL_REQ,
- MC_BT_SRV_AVRCP_TG_SET_ABSOLUTE_VOL_RSP,
- MC_BT_SRV_AVRCP_TG_EVT_PLAY_STATUS_CHG,
- MC_BT_SRV_AVRCP_TG_EVT_TRACK_CHG,
- MC_BT_SRV_AVRCP_TG_EVT_TRACK_REACH_END,
- MC_BT_SRV_AVRCP_TG_EVT_TRACK_REACH_START,
- MC_BT_SRV_AVRCP_TG_EVT_PLAY_POS_CHG,
- MC_BT_SRV_AVRCP_TG_EVT_PLAY_CONTENT_CHG,
- MC_BT_SRV_AVRCP_TG_EVT_AVAILABLE_PLAYER_CHG,
- MC_BT_SRV_AVRCP_TG_EVT_ADDR_PLAYER_CHG,
- MC_BT_SRV_AVRCP_TG_EVT_UIDS_CHG,
- MC_BT_SRV_AVRCP_TG_EVT_VOL_CHG,
- MC_BT_SRV_AVRCP_CT_GET_CAPAILITIES_RSP,
- MC_BT_SRV_AVRCP_TG_CMD_CBK,
- MC_BT_SRV_AVRCP_CT_EVT_RSP_CBK,
- MC_BT_SRC_AVRCP_MAX,
-} mc_bt_avrcp_command_type;
-
-/* service_id: MC_BT_SRV_PBAP */
-typedef enum {
- MC_BT_SRV_PBAP_PULL_PHONEDBOOK,
- MC_BT_SRV_PBAP_PULL_CARDLIST,
- MC_BT_SRV_PBAP_PULL_CARDENTRY,
- MC_BT_SRV_PBAP_SET_PATH,
- MC_BT_SRV_PBAP_CANCEL_TRANSFER,
- MC_BT_SRV_PBAP_WRITE_FILE,
- MC_BT_SRV_PBAP_APP_EVENT,
-} mc_bt_pbap_command_type;
-
-/* service_id: MC_BT_SRV_SPP */
-typedef enum {
- MC_BT_SRV_SPP_REGISTER,
- MC_BT_SRV_SPP_READ_STREAM,
- MC_BT_SRV_SPP_WRITE_STREAM,
- MC_BT_SRV_SPP_APP_EVENT,
- MC_BT_SRV_SPP_UNREGISTER,
- MC_BT_SRC_SPP_MAX,
-} mc_bt_spp_command_type;
-
-typedef enum {
- MC_BT_SRV_PAN_CONNECT,
- MC_BT_SRV_PAN_DISCONNECT,
- MC_BT_SRV_PAN_SETUP_CONN,
- MC_BT_SRV_PAN_FILTER_PROTOCOL,
- MC_BT_SRV_PAN_FILTER_MULTIADDR,
- MC_BT_SRV_PAN_ETHERNET_REQ,
- MC_BT_SRV_PAN_NET_STATE_CHANGE,
- MC_BT_SRV_PAN_FILTER_PROTOCOL_RESULT,
- MC_BT_SRV_PAN_FILTER_MULTIADDR_RESULT,
- MC_BT_SRV_PAN_RPT_ETHERNET,
- MC_BT_SRV_PAN_REGISTER_CBK,
- MC_BT_SRC_PAN_MAX,
-} mc_bt_pan_command_type;
-/* service_id: MC_BT_SRV_BRANDY_PTS */
-typedef enum {
- /* GAP COMMAND */
- MC_BT_SRV_PTS_CREAT_ACL,
- MC_BT_SRV_PTS_SEC_MODE_SET,
- MC_BT_SRV_PTS_VISUAL_MODE_SET,
- MC_BT_SRV_PTS_BOND_MODE_SET,
- MC_BT_SRV_PTS_DISCONNECT_BY_ADDR,
- MC_BT_SRV_PTS_ENABLE_DISCOVERY,
- MC_BT_SRV_PTS_PAIR_RMTDEV,
- MC_BT_SRV_PTS_IO_ABILLITY,
- MC_BT_SRV_PTS_SET_BT_DEFAULT,
- MC_BT_SRV_PTS_SET_SECU_LEVEL,
- MC_BT_SRV_PTS_UNPAIR_RMTDEV,
- MC_BT_SRV_PTS_ENCRYPTLINK,
- MC_BT_SRV_PTS_ADD_RMTDEV,
- /* L2CAP COMMAND */
- MC_BT_SRV_PTS_L2CAP_CONNECT_RSP,
- MC_BT_SRV_PTS_L2CAP_DISCONNECT_REQ,
- MC_BT_SRV_PTS_L2CAP_CONNECT_REQ,
- /* PBAP COMMAND */
- MC_BT_SRV_PTS_PBAP_CONNECT_REQ,
- MC_BT_SRV_PTS_PBAP_DISCONNECT_REQ,
- /* AVRCP COMMAND */
- MC_BT_SRV_PTS_AVRCP_CONN,
- MC_BT_SRV_PTS_AVRCP_SET_ADDRESSED_PLAYER,
- MC_BT_SRV_PTS_AVRCP_SET_BROWSED_PLAYER,
- MC_BT_SRV_PTS_AVRCP_FLOADER_ITEMS,
- MC_BT_SRV_PTS_AVRCP_GET_TOTAL_NUM_OF_ITEMS,
- MC_BT_SRV_PTS_AVRCP_SEARCH,
- MC_BT_SRV_PTS_AVRCP_SET_ABSOLUTE_VOLUME,
- MC_BT_SRV_PTS_AVRCP_REGISTER_NOTIFICATION,
- MC_BT_SRV_PTS_AVCTP_CONT_BROW_SET,
- MC_BT_SRV_PTS_AVCTP_CONT_BROW_REL,
- MC_BT_SRV_PTS_AVRCP_PASS_THROUGT,
- MC_BT_SRV_PTS_AVRCP_SUB_UNIT_INFO,
- MC_BT_SRV_PTS_AVRCP_UNIT_INFO,
- MC_BT_SRV_PTS_AVRCP_REGISTER_SEP,
- MC_BT_SRV_PTS_AVRCP_PASS_THROUGH_RSP,
- MC_BT_SRV_PTS_AVRCP_SET_ABSOLUTE_VOL_RSP,
- MC_BT_SRV_PTS_AVRCP_GET_CAPABILITIES_RSP,
- MC_BT_SRV_PTS_AVRCP_EVENT_PLAYER_APP_SET_CMD_RSP,
- MC_BT_SRV_PTS_AVRCP_EVENT_VOL_CHANGED_RSP,
- MC_BT_SRV_PTS_AVRCP_TG_SET_VOL_CHANGED,
- MC_BT_SRV_PTS_AVRCP_EVENT_TRACK_CHANGED_RSP,
- MC_BT_SRV_PTS_AVRCP_CT_EVENT_GET_FOLDER_ITEMS_RSP,
- MC_BT_SRV_PTS_AVRCP_CHANGE_PATH,
- MC_BT_SRV_PTS_AVRCP_PLAY_ITEM,
- MC_BT_SRV_PTS_AVRCP_ADD_TO_NOW_PLAYING,
- MC_BT_SRV_PTS_AVRCP_SET_BROWSED_PLAYER_RSP,
- MC_BT_SRV_PTS_AVRCP_SET_ADDRESSED_PLAYER_RSP,
- MC_BT_SRV_PTS_AVRCP_GET_PLAY_STATUS_RSP,
- MC_BT_SRV_PTS_AVRCP_GET_ELEMENT_ATTRIBUTES_RSP,
- MC_BT_SRV_PTS_AVRCP_TG_REJECT_REGISTER_NOTIFICATION,
- MC_BT_SRV_PTS_AVRCP_EVENT_PLAYER_APP_SET_CHANGED_RSP,
- MC_BT_SRV_PTS_AVRCP_GET_FOLDER_ITEMS_RSP,
- MC_BT_SRV_PTS_AVRCP_GET_FOLDER_ITEMS_OTHER_RSP,
- MC_BT_SRV_PTS_AVRCP_EVENT_ADDR_PLAYER_CHANGED_RSP,
- MC_BT_SRV_PTS_AVRCP_EVENT_AVAILABLE_PLAYERS_CHANGED_RSP,
- MC_BT_SRV_PTS_AVRCP_TG_EVENT_UID_CHANGED_RSP,
- MC_BT_SRV_PTS_AVRCP_GET_FOLDER_ITEMS_ONE_EXTERN_RSP,
- MC_BT_SRV_PTS_AVRCP_GET_FOLDER_ITEMS_TWO_EXTERN_RSP,
- MC_BT_SRV_PTS_AVRCP_GET_FOLDER_ITEMS_THREE_EXTERN_RSP,
- MC_BT_SRV_PTS_AVRCP_STATE_INIT,
- MC_BT_SRV_PTS_AVRCP_GET_ELEMENT_ATTRIBUTES_FRAGMENT_RSP,
- /* HFP COMMAND */
- MC_BT_SRV_PTS_AUDIO_CONN_HFP,
- MC_BT_SRV_PTS_HF_NETWORK_OP_REQ_HFP,
- MC_BT_SRV_PTS_HF_SPK_VOL_HFP,
- MC_BT_SRV_PTS_HF_MIC_VOL_HFP,
- MC_BT_SRV_PTS_HF_GET_SUB_SCRIBER_NUM,
- MC_BT_SRV_PTS_HF_GET_CURRENT_CALLS,
- MC_BT_SRV_PTS_HF_DISABLE_NREC,
- MC_BT_SRV_PTS_HF_GET_RESPONSE_HOLD_STATUS,
- MC_BT_SRV_PTS_HF_SET_EXTENDED_ERRORS,
- MC_BT_SRV_PTS_HF_GET_PHONE_MANU_MODEL,
- MC_BT_SRV_PTS_HF_GET_HOLD_INCOMING_CALL,
- MC_BT_SRV_PTS_HF_ACCEPT_HELD_INCOMMING_CALL,
- MC_BT_SRV_PTS_HF_REJECT_INCOMING_CALL,
- MC_BT_SRV_PTS_HF_ANSWER_CALL,
- MC_BT_SRV_PTS_HF_HOLD_INCOMING_CALL,
- MC_BT_SRV_PTS_HF_CANCEL_INCOMING_CALL,
- MC_BT_SRV_PTS_HF_CANCEL_CALL,
- MC_BT_SRV_PTS_HF_TAG_PHONENUM,
- MC_BT_SRV_PTS_HF_SET_VOICE_RECONITION_REQ,
- MC_BT_SRV_PTS_HF_TRANSMIT_DTMF_CODE,
- MC_BT_SRV_PTS_HF_DIAL,
- MC_BT_SRV_PTS_HF_DIAL_SECOND_CALL,
- MC_BT_SRV_PTS_HF_LAST_NUM_REDIAL,
- MC_BT_SRV_PTS_HF_SLC_CONN,
- MC_BT_SRV_PTS_HF_SLC_DISCONN,
- MC_BT_SRV_PTS_HF_GET_AG_FEATURES,
- MC_BT_SRV_PTS_HF_3_WAY_CALLING_CHLD_0,
- MC_BT_SRV_PTS_HF_3_WAY_CALLING_CHLD_1,
- MC_BT_SRV_PTS_HF_3_WAY_CALLING_CHLD_2,
- MC_BT_SRV_PTS_HF_3_WAY_CALLING_CHLD_3,
- MC_BT_SRV_PTS_HF_3_WAY_CALLING_CHLD_4,
- MC_BT_SRV_PTS_HF_REPT_CHANGED_CODEC_CAP,
- /* RFCOMM COMMAND */
- MC_BT_SRV_PTS_RFCOMM_CONN_REQ,
- MC_BT_SRV_PTS_RFCOMM_DISCONN_REQ,
- MC_BT_SRV_PTS_RFCOMM_CONN_RSP,
- MC_BT_SRV_PTS_RFCOMM_DATA_REQ,
- MC_BT_SRV_PTS_RFCOMM_RLS_REQ,
- MC_BT_SRV_PTS_RFCOMM_REG_SERVER,
- /* SDP COMMAND */
- MC_BT_SRV_PTS_SDP_SA_ADD_ATTR,
- MC_BT_SRV_PTS_SDP_SSA_ADD_ATTR,
- MC_BT_SRV_PTS_SDP_SSA_ADDI_DESC,
- MC_BT_SRV_PTS_SDP_ADD_RECORD,
- MC_BT_SRV_PTS_SDP_RM_RECORD,
- /* AVCTP COMMAND */
- MC_BT_SRV_PTS_AVCTP_CONN,
- MC_BT_SRV_PTS_AVCTP_DISCONN,
- MC_BT_SRV_PTS_AVCTP_CT_NFR,
- MC_BT_SRV_PTS_AVCTP_CT_FRA,
- MC_BT_SRV_PTS_AVCTP_TG_FRA,
- /* A2DP COMMAND */
- MC_BT_SRV_PTS_A2DP_SRC_CONN,
- MC_BT_SRV_PTS_A2DP_SRC_DISCONN,
- MC_BT_SRV_PTS_A2DP_SRC_SEND_STREAM,
- MC_BT_SRV_PTS_A2DP_SRC_SUSPEND_STREAM,
- /* AVDTP */
- MC_BT_SRV_PTS_AVDTP_GET_CONF,
- MC_BT_SRV_PTS_AVDTP_REGIST_CAP,
- MC_BT_SRV_PTS_AVDTP_ABORT,
- /* PBAP COMMAND */
- MC_BT_SRV_PTS_PBAP_CONNECT,
- MC_BT_SRV_PTS_PBAP_DISCONNECT,
- MC_BT_SRV_PTS_PBAP_PULL_PB,
- MC_BT_SRV_PTS_PBAP_PULL_CARD_LIST,
- MC_BT_SRV_PTS_PBAP_PULL_PB_ENTRY,
- MC_BT_SRV_PTS_PBAP_SET_PB_REQ,
- MC_BT_SRV_PTS_PBPA_ABORT_PULL_ACTION,
- /* BNEP */
- MC_BT_SRV_PTS_PAN_CONNECT,
- MC_BT_SRV_PTS_PAN_DISCONNECT,
- MC_BT_SRV_PTS_PAN_FILTER_MULTIADDR,
- MC_BT_SRV_PTS_PAN_ETHERNET_REQ
-} mc_bt_pts_command_type;
-
-#define BT_SHIFT_BITS_8 8
-#define cmd_id_2_opcode(service_id, command_id) (((service_id) << BT_SHIFT_BITS_8) | (command_id))
-
-#ifdef __cplusplus
-#if __cplusplus
-}
-#endif /* __cpluscplus */
-#endif /* __cpluscplus */
-#endif /* end of MPC_CODE_DEF_H */
+++ /dev/null
-
-/*
- * Copyright (c) @CompanyNameMagicTag 2021-2022. All rights reserved.
- */
-
-/* ---------------------------------------------------------------------------
-Module Name:
- hci_hlp.h
-Abstract:
- This module defines HCI internal structure, macro & functions.
---------------------------------------------------------------------------- */
-
-#ifndef G_HCI_HLP_H
-#define G_HCI_HLP_H
-
-#include "hci_ui.h"
-
-#pragma pack(1)
-
-#define ATT_UUID128_LEN 16
-#define ATT_UUID32_LEN 4
-#define ATT_UUID16_LEN 2
-
-#define HCI_BTC_INIT_EVENT_MASK_SIZE 0X8 /* WRITE EVENT_MASK_SIZE OF BTC */
-
-#define HCI_OPCODE_BITS_NUM 16
-
-#define DEC_STEP 10
-
-typedef struct {
- uint8_t length;
- uint8_t sub_ev_code; /* a1 */
- /* HCI_OPS_SET_EVENT_MASK */
- uint8_t event_mask[HCI_BTC_INIT_EVENT_MASK_SIZE];
- /* HCI_OPS_SET_EVENT_MASK_PAGE_2 */
- uint8_t event_mask_page2[HCI_BTC_INIT_EVENT_MASK_SIZE];
- /* HCI_OPS_LE_SET_EVENT_MASK */
- uint8_t le_event_mask[HCI_BTC_INIT_EVENT_MASK_SIZE];
- /* HCI_OPS_WRITE_PAGE_SCAN_ACTIVITY */
- uint16_t page_scan_interval; /* Interval Time */
- uint16_t page_scan_window; /* Scan Window Time */
- /* HCI_OPS_WRITE_LE_HOST_SUPPORT */
- uint8_t le_supported_host;
- uint8_t simultaneous_le_host;
- /* HCI_OPS_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH */
- uint16_t suggested_maxtx_octets;
- uint16_t suggested_maxtx_time;
- /* HCI_OPS_LE_SET_DEFAULT_PHY */
- uint8_t all_phys;
- uint8_t tx_phys;
- uint8_t rx_phys;
- /* HCI_OPS_WRITE_PAGE_SCAN_TYPE */
- uint8_t page_scan_type;
- /* HCI_OPS_WRITE_AFH_CHANNEL_ASSESSMENT_MODE */
- uint8_t afh_channel_assessment_mode;
- /* HCI_OPS_WRITE_INQUIRY_MODE */
- uint8_t inquiry_mode;
- /* HCI_OPS_SET_CONTROLLER_TO_HOST_FLOW_CONTROL */
- uint8_t flow_control_enable;
- /* HCI_OPS_WRITE_SIMPLE_PAIRING_MODE */
- uint8_t simple_pairing_mode;
- /* HCI_OPS_WRITE_CONNECTION_ACCEPT_TIMEOUT */
- uint16_t conn_accept_timeout;
- /* HCI_OPS_WRITE_DEFAULT_LINK_POLICY_SETTINGS */
- uint16_t link_policy_settings;
-
- void *_rom;
-} fast_reset_write_btc_init_cmd;
-#pragma pack()
-
-typedef struct {
- uint16_t subrate;
- uint16_t latency;
-} hci_subrate;
-
-fast_reset_write_btc_init_cmd fast_reset_init_write_cmd(void);
-
-#define HCI_OPC_RESET_FAST_SET_BTC_INIT 0xFC0B
-
-#define HCI_OPS_RESET_FAST_SET_BTC_INIT 0x0d30FC0B /* ((0x0F << 24) 'R' | (0x30 << 16) | 0xFC0B | 0x0000) */
-
-#define HCI_INTERNAL_FUNCTION 1 /* Only used by hci_le.h to exclude internal functions for other modules */
-
-extern struct fsm_inst *hci_fsminst;
-extern uint8_t g_is_bth_with_smart_wear;
-/* --------------------------------------------------------------------------- */
-/* HCI Interface Macros */
-/* --------------------------------------------------------------------------- */
-enum {
- /* Ret in hci_command_check_block */
- HCI_CMD_ALLOW,
- HCI_CMD_BLOCK_BYNUM, /* Number of hci command packet limited */
- HCI_CMD_BLOCK_BYOPCODE, /* Same operation is outstanding */
- HCI_CMD_BLOCK_BYRESET, /* Reset is outstanding, pendding other commands */
-
- /* Debug Only */
- HCI_CMD_ADD,
- HCI_CMD_REMOVE
-};
-
-struct hci_bit_pointer_stru { /* For hci_coding_get_bits */
- uint8_t *p; /* Current Octet pointer */
- uint8_t off; /* Keep current octet remaining bits usage offset */
-};
-
-struct hci_x_param_stru {
- uint8_t len;
- uint8_t data[1];
-};
-
-struct hci_rtx_timer_stru {
- uint8_t ampid; /* to find local controller node */
- uint16_t opcode; /* to find command node in local, only in sent section */
-};
-
-struct hci_local_timer_stru {
- void *local; /* to find local controller node */
- uint8_t id; /* etc, HCI_LOCALRTX_ID_ADVSCAN_TIME_LIMITED */
-};
-
-struct hci_acl_link_timer_stru {
- void *acllink;
-};
-
-/* --------------------------------------------------------------------------- */
-/* Local/Remote Object structure */
-/* --------------------------------------------------------------------------- */
-enum { /* timeout[x] in struct hci_local_stru */
- HCI_LINFO_TIMEOUT_PAGE, /* *0.625, include extended page timeout */
- HCI_LINFO_TIMEOUT_CONN_ACCEPT,
- HCI_LINFO_TIMEOUT_EXTENDED_INQUIRY_LENGTH, /* *0.625 */
-
- HCI_LINFO_TIMEOUT_SLOTS /* x counter */
-};
-
-enum { /* packet_length[x] & packet_num[x] in struct hci_local_stru */
- HCI_LINFO_PACKET_ACL,
- HCI_LINFO_PACKET_LE, /* Maybe different with ACL, check HCI_LINFO_MASK_LE_SHARE_ACL_BUFFER */
- HCI_LINFO_PACKET_DATABLOCK,
- HCI_LINFO_PACKET_CONTROLLER_TO_HOST,
-
- HCI_LINFO_PACKET_SLOTS /* x counter */
-};
-
-enum { /* mask in struct hci_local_stru */
- HCI_LINFO_MASK_IN_PERIODIC_INQUIRY_MODE = 0x00000001,
-
- /* Two methods of data flow control are defined: 'packet-based' flow control and
- 'data-block-based' flow control, known as buffer management */
- HCI_LINFO_MASK_BLOCK_BASED_DATA_FLOW_CONTROL = 0x00000002,
- HCI_LINFO_MASK_LOOPBACK_MODE = 0x00000004, /* Loopback mode, not used now */
- HCI_LINFO_MASK_SET_EVENT_FILTER_INQUIRY = 0x00000008,
-
- /* Limited scan/advertise for LE, scan + adv toghter? */
- HCI_LINFO_MASK_LIMITED = 0x00000010,
- /* Static address only generate once when power on, use to control generate only once */
- HCI_LINFO_MASK_STATIC_ADDRESS = 0x00000020,
- HCI_LINFO_MASK_LE_ADV_PARAMETER = 0x00000040, /* New LE_ADV_Parameter */
- HCI_LINFO_MASK_BONDABLE = 0x00000080, /* Local bondable */
- /* LE Advertise/Scan Fast to Slow automaticly, when it comes slow, bit removed */
- HCI_LINFO_MASK_FAST_AUTO_SLOW = 0x00000200,
- /* State QoS already called stoped, otherwise is data processing */
- HCI_LINFO_MASK_QOS_STOP = 0x00000400,
- HCI_LINFO_MASK_CONTROLLER_TO_HOST_FLOW_CONTROL = 0x00000800,
- /* LE_Read_Buffer_Size return 0, shared between BR/EDR and LE transports */
- HCI_LINFO_MASK_LE_SHARE_ACL_BUFFER = 0x00001000,
- HCI_LINFO_MASK_SECURE_SIMPLE_PAIRING_ENABLE = 0x00002000,
- HCI_LINFO_MASK_SECURE_CONNECTION_ENABLE = 0x00004000,
-
- HCI_LINFO_MASK_ADV_ENABLED = 0x00008000, /* Mesh test */
- HCI_LINFO_MASK_SCAN_ENABLED = 0x00010000,
- HCI_LINFO_MASK_LE_SCAN_PARAMETER = 0x00020000,
- HCI_LINFO_MASK_LE_SCAN_ENABLE_PARAMETER = 0x00040000,
- HCI_LINFO_MASK_RESOLVABLE_ADDRESS = 0x00080000, /* Local random address is set to RPA */
- HCI_LINFO_MASK_NONE_RESOLVABLE_ADDRESS = 0x00100000, /* Local random address is set to None-RPA */
- /* Local shall be the link master when accept the connection request */
- HCI_LINFO_MASK_BR_LINK_MASTER = 0x00200000,
- HCI_LINFO_MASK_RESET_KEEP_BITS = (HCI_LINFO_MASK_BONDABLE | HCI_LINFO_MASK_QOS_STOP)
-};
-
-enum { /* Timer event of struct hci_local_stru */
- /* Timer[x] */
- HCI_LOCALRTX_ID_ADVSCAN = 0,
- HCI_LOCALRTX_ID_LE_PRIVATE_ADDRESS_CHANGE = 1,
- HCI_LOCALRTX_ID_UNKNOWN_ACLDATA_FREE = 2,
- HCI_LOCALRTX_ID_AUTO_SNIFF = 3, /* ACL link auto-sniff timer, by YDX, 2019.3.20 */
- HCI_LOCALRTX_ID_TIMER_COUNT, /* Num of Local Timer, 3 */
-
- /* Events */
- HCI_LOCALRTX_LE_ADVERTISE_TIME_LIMITED = 1, /* Time Limited, DONOT change sequence, 1 */
- HCI_LOCALRTX_LE_SCAN_TIME_LIMITED = 2, /* Time Limited, DONOT change sequence, 2 */
- HCI_LOCALRTX_LE_ADVERTISE_FAST_AUTO_SLOW = 3, /* Fast to slow, DONOT change sequence, 3 */
- HCI_LOCALRTX_LE_SCAN_FAST_AUTO_SLOW = 4, /* Fast to slow, DONOT change sequence, 4 */
- HCI_LOCALRTX_LE_RESOLVABLE_ADDRESS_CHANGE = 5, /* Change address */
- HCI_LOCALRTX_LE_NON_RESOLVABLE_ADDRESS_CHANGE = 6, /* Change address */
- HCI_LOCALRTX_UNKNOWN_ACLDATA = 7, /* Cache ACL data before connection handle awares */
- HCI_LOCALRTX_AUTO_SNIFF = 8 /* ACL link auto-sniff timer, by YDX, 2019.3.20 */
-};
-
-enum { /* le_status in local controller object struct hci_local_stru */
- /* Bitmask */
- HCI_LEISA_IDLE = 0,
- HCI_LEISA_INITIATE = 1,
- HCI_LEISA_SCAN = 2,
- HCI_LEISA_ADV = 3,
- HCI_LEISA_SA = 4,
-
- HCI_LEISA_ENABLE = 0x80,
- HCI_LEISA_DISABLE = 0x40,
- HCI_LEISA_TRANSIST = (0x80 | 0x40),
-
- HCI_LEISA_IDLE2SCAN = HCI_LEISA_ENABLE | (HCI_LEISA_IDLE << 3) | (HCI_LEISA_SCAN),
- HCI_LEISA_SCAN2IDLE = HCI_LEISA_DISABLE | (HCI_LEISA_SCAN << 3) | (HCI_LEISA_IDLE),
- HCI_LEISA_IDLE2ADV = HCI_LEISA_ENABLE | (HCI_LEISA_IDLE << 3) | (HCI_LEISA_ADV),
- HCI_LEISA_ADV2IDLE = HCI_LEISA_DISABLE | (HCI_LEISA_ADV << 3) | (HCI_LEISA_IDLE),
- HCI_LEISA_SCAN2SA = HCI_LEISA_ENABLE | (HCI_LEISA_SCAN << 3) | (HCI_LEISA_SA),
- HCI_LEISA_SA2SCAN = HCI_LEISA_DISABLE | (HCI_LEISA_SA << 3) | (HCI_LEISA_SCAN),
- HCI_LEISA_ADV2SA = HCI_LEISA_ENABLE | (HCI_LEISA_ADV << 3) | (HCI_LEISA_SA),
- HCI_LEISA_SA2ADV = HCI_LEISA_DISABLE | (HCI_LEISA_SA << 3) | (HCI_LEISA_ADV),
- HCI_LEISA_SA2IDLE = HCI_LEISA_DISABLE | (HCI_LEISA_SA << 3) | (HCI_LEISA_IDLE),
-};
-
-enum {
- HCI_LEISA_SCAN_ENABLE = 0x80,
- HCI_LEISA_ADV_ENABLE = 0x40,
- HCI_LEISA_SCAN_DISABLE = 0x20,
- HCI_LEISA_ADV_DISABLE = 0x10
-};
-
-#define HCI_ADVERTISING_TYPE_DISABLED 0xFF
-#define HCI_LE_SCAN_TYPE_DISABLED 0xFF
-
-#define hci_leisa_go(t, s, d) ((t) | ((s) << 3) | (d))
-#define hci_leisa_from(a) (((a) >> 3) & 0x07)
-#define hci_leisa_to(a) ((a) & 0x07)
-
-#define hci_linfo_packet_slotamp(local_) \
- ((((local_)->mask & HCI_LINFO_MASK_BLOCK_BASED_DATA_FLOW_CONTROL) != 0) \
- ? HCI_LINFO_PACKET_DATABLOCK \
- : HCI_LINFO_PACKET_ACL)
-
-#define hci_linfo_packet_slot(local_, link_) (((link_)->link.type == HCI_LINK_TYPE_LE) \
- ? (((local_)->mask & HCI_LINFO_MASK_LE_SHARE_ACL_BUFFER) != 0) \
- ? HCI_LINFO_PACKET_ACL \
- : HCI_LINFO_PACKET_LE \
- : (((local_)->mask & HCI_LINFO_MASK_BLOCK_BASED_DATA_FLOW_CONTROL) != 0) \
- ? HCI_LINFO_PACKET_DATABLOCK \
- : HCI_LINFO_PACKET_ACL)
-
-enum { /* type of the LE_ControllerAddrNodeList_xxx */
- HCI_CANODE_MASK_WHITELIST = 0x01,
- HCI_CANODE_MASK_RESOLVINGLIST = 0x02
-};
-
-#if (defined(CONFIG_LE) && defined(CONFIG_BREDR_HCI))
-/* Dual Mode */
-#define LOCAL_ADDR_NUM 3 /* HCI_ADDR_IDENTITY, HCI_ADDR_PRIVATE, HCI_ADDR_BREDR */
-#define HCI_ADDR_BREDR 2 /* After HCI_ADDR_PRIVATE */
-#else
-#define HCI_ADDR_BREDR HCI_ADDR_IDENTITY /* LE Only or BREDR Only, Public is IDENTITY */
-#ifdef CONFIG_LE
-/* LE Only */
-#define LOCAL_ADDR_NUM 2 /* HCI_ADDR_IDENTITY/HCI_ADDR_BREDR, HCI_ADDR_PRIVATE */
-#else
-/* BREDR Only */
-#define LOCAL_ADDR_NUM 1 /* HCI_ADDR_IDENTITY/HCI_ADDR_BREDR */
-#endif
-#endif
-
-struct le_set_scan_adv_stru {
- uint8_t enable;
- uint8_t type;
- uint8_t limited;
- uint8_t speed;
- uint8_t white;
-};
-
-struct hci_local_stru { /* Local controller include BREDR/AMP */
- HANDLE tl_hdl; /* Transport Layer Handle */
- transport_layer_stru *func; /* Transport Layer Functions */
- /* Limited advertising or scanning for LE, NOCP delay control */
- struct fsm_timer *timer[HCI_LOCALRTX_ID_TIMER_COUNT];
- /* QoS send buffer list, etc, HCI_LINFO_PACKET_DATABLOCK */
- struct bth_list_stru acldata_list[CONFIG_HCI_LOCAL_ACLDATA_LIST_LEN];
- /* QoS callback list, data source instance, to control go/stop */
- struct bth_list_stru qos_cbk;
- struct bth_list_stru cmd_list; /* Level 1, struct hci_command_node_stru */
- /* Node as struct hci_controller_addr_node_stru, WhiteList and ResolvingList */
- struct bth_list_stru controller_addr_list;
- /* Unknown ACLdata before connection handle awares, a patch for driver */
- struct bth_list_stru unknown_data;
- /* Pointer to the 1st pendding command in cmd_list, pendcmd is not sent yet */
- struct hci_command_node_stru *pendcmd;
- /* etc: HCI_ADDR_IDENTITY, AMP controller does not have BD, cap only vailed in [0 = Public] */
- struct hci_address_stru addr[LOCAL_ADDR_NUM];
- /* Saves the public address of the device and assigns a value to addr[HCI_ADDR_IDENTITY] if necessary. */
- uint8_t public_addr[BD_ADDR_LEN];
- /* Saves the static address of the device and assigns a value to addr[HCI_ADDR_IDENTITY] if necessary. */
- uint8_t static_addr[BD_ADDR_LEN];
- hci_mp_int dcounter[2]; /* etc: HCI_DCOUNTER_SEND */
-
- uint32_t mask; /* Bitmask etc:HCI_LINFO_MASK_IN_PERIODIC_INQUIRY_MODE */
- uint32_t timeout[HCI_LINFO_TIMEOUT_SLOTS]; /* [x] as HCI_LINFO_TIMEOUT_PAGE */
- uint16_t packet_length[HCI_LINFO_PACKET_SLOTS]; /* [x] as HCI_LINFO_PACKET_ACL */
- uint16_t packet_num[HCI_LINFO_PACKET_SLOTS]; /* [x] as HCI_LINFO_PACKET_ACL */
- uint8_t hci_version; /* HCI_HCI_VERSION_4_0 */
- uint8_t supported_commands[64]; /* Supported Command Bit mask table */
- uint8_t lmp_features[HCI_LMP_FEATURE_MAX_PAGE][8]; /* extended features 8 pages? current allocate 2 page? */
-#ifdef CONFIG_LE
- uint8_t le_features[8]; /* LE features */
- uint8_t le_states[8]; /* LE supported states */
- uint8_t white_list_size; /* From LE_Read_White_List_Size returns */
- uint8_t resolving_list_size; /* From LE_Read_Resolving_List_Size returns */
- uint16_t max_adv_data_length; /* From LE_Read_Maximum_Advertising_Data_length returns */
- uint8_t num_adv_sets; /* From LE_Read_Number_Of_Supported_Advertising_Sets returns */
- uint8_t prd_dev_list_size; /* From LE_Read_Periodic_Avertiser_List_Size returns */
-
- uint8_t leisa_tar; /* HCI_LEISA_ADV_ENABLE */
- uint8_t leisa_cur; /* HCI_LEISA_ADV */
- uint8_t is_le_ext_adving;
- struct le_set_scan_adv_stru adv_set; /* ADV setting - For compatibility */
- struct le_set_scan_adv_stru scan_set; /* SCAN setting - For compatibility */
- struct hci_le_set_advertising_parameters_stru *adv_par; /* Legacy Advertising parameters */
- struct hci_le_ext_scan_parameters_stru *scan_par; /* Extended Scan parameters */
- struct hci_le_ext_scan_enable_stru scan_enable_par; /* Extended Scan Enable parameters */
-#endif
-
- uint8_t cap; /* etc: HCI_ADDRESS_CAP_LE */
-#ifdef MULTIPLE_TRANSPORT_LAYER_SUPPORT
- uint8_t ampid; /* HCI allocated local Controller ID */
-#endif
- /* From Command_Status and Command_Complete num_hci_command_packets */
- uint8_t cmd_num;
-
- void *_rom;
-};
-
-/* --------------------------------------------------------------------------- */
-/* Root Object structure */
-/* --------------------------------------------------------------------------- */
-#define HCI_AFH_MAP_MAX_LEN 11
-struct hci_root_stru { /* hci_fsminst->user_data, HCI Root */
- struct bth_list_stru local; /* struct hci_local_stru, Local controllers */
- struct bth_list_stru remote; /* struct hci_remote_stru, Remote devices */
- struct bth_list_stru link; /* struct hci_link_stru, Links, include unestablished */
- struct bth_list_stru evcbk; /* struct HCI_EvCBKStru, HCI user callbacks */
- struct bth_list_stru evcbk_prime; /* struct HCI_EvCBKStru, adv report HCI user callbacks */
- /* struct hci_security_info_stru, security requirement registered by GAP */
- struct bth_list_stru security;
- tl_callback_stru *tlbase; /* Poor transport layer interface.... */
- uint8_t io_capability; /* etc: HCI_IO_CAPABILITY_DISPLAYONLY */
- uint8_t afhmap[HCI_AFH_MAP_MAX_LEN]; /* 81bits, AFH RF Channels map for BREDR, LE, WIFI */
-
- void *_rom;
-};
-
-/* --------------------------------------------------------------------------- */
-/* Link Object structures */
-/* --------------------------------------------------------------------------- */
-struct hci_link_stru { /* Common header of a Link */
- struct hci_local_stru *local;
- struct hci_remote_stru *remote;
- uint16_t connection_handle; /* ACL/LE/Log Handle */
- uint8_t type; /* HCI_LINK_TYPE_ACL, HCI_LINK_TYPE_LE, HCI_LINK_TYPE_LOG */
-};
-
-enum { /* Timer event */
- HCI_ACLLINK_TIMER_LAZYRTX = 1,
- HCI_ACLLINK_TIMER_TRANSRTX /* for L2CAP LE Update parameter */
-};
-
-enum { /* ACL status, status in HCI_ACLHDL level, in L2CAP_ACLLinkStru/hci_le_link_stru */
- HCI_ACL_DATARECV = 0x80, /* status Bitmask, Valid status to receive ACL data */
- /* Connecting or Cancel, LE command has no BD, so only one outstanding command may exist */
- HCI_ACL_LECONN = 0x40,
- /* Disconnecting or Cancel, only local initiated disconnection may lead to reconnect */
- HCI_ACL_LOCAL_DISCONNECT = 0x20,
-
- HCI_ACL_IDLE = (0),
- /* Before connection complete, active or passive or raced */
- HCI_ACL_CONNECTING = (1 | HCI_ACL_LECONN),
- HCI_ACL_READY = (2),
- HCI_ACL_READY_WITH_REMOTE_INFO = (3 | HCI_ACL_DATARECV),
- HCI_ACL_DISCONNECTING = (4 | HCI_ACL_DATARECV | HCI_ACL_LOCAL_DISCONNECT),
- HCI_ACL_CANCEL = (5 | HCI_ACL_LECONN | HCI_ACL_LOCAL_DISCONNECT),
- /* Idle, but waiting for local status changes, etc, local is scaning, disable before initiate connection */
- HCI_ACL_LECONNECT_WAITLOCAL = (6)
-};
-
-struct hci_recv_context_stru {
- struct bth_list_stru recvdata_list; /* Uncompleted l2cap acl data packets, struct buff_stru ** */
- uint16_t receive_num; /* Controller to host outstanding packet before NoCP */
-};
-
-struct hci_send_context_stru {
- uint16_t sending_num; /* Host to controller outstanding packet before NoCP */
-};
-
-enum {
- HCI_CURRENT_MODE_EXITING = 0xFF
-};
-
-struct hci_acl_link_stru { /* Each remote shall have only one ACL-U */
- struct hci_link_stru link;
- struct hci_send_context_stru send;
- struct hci_recv_context_stru recv;
-
- /* Common part of ACL/LE */
- struct fsm_timer *timer; /* ACL lazy idle timer, delay ACL disconnection */
- /* Delay timer before killing LE Link due to LE Connection Cancel.
- to prevent from executing another LE Create Connection Command before LE Connection Complete event returned. */
- struct fsm_timer *cancel_timer;
- uint8_t ref_count; /* + -, How many cid session and echo/info ref this hci_hdl */
- uint8_t status; /* etc: HCI_ACL_CONNECTING */
- uint8_t mask; /* etc: HCI_ACLMASK_INITIATOR */
- uint8_t response_num; /* Waiting for accept/reject the incoming connection upper cbk counter */
-
- /* Different part with LE */
- uint8_t link_mode; /* etc: HCI_CURRENT_MODE_SNIFF, + HCI_CURRENT_MODE_EXITING */
- uint8_t link_role; /* link role when accept incoming connection request */
- /* ACL link auto-sniff, by YDX, 2019.3.20 */
- uint8_t idle_seconds; /* current idle duration (*2s) */
- uint8_t tr_occured; /* 0 - No data transfer. 1 - data transfer. */
- /* Sniff parameters. NULL means auto-sniff is not required for this link */
- struct hci_auto_sniff_par_stru *sniff_par;
- uint8_t active_disc_reason; /* For Print Disconnect Reason */
- hci_subrate subrate_par; /* add for same size with le link */
-
- void *_rom;
-};
-
-/* Note: struct hci_acl_link_stru And struct hci_le_link_stru Must be Same Size */
-
-/* Header part shall be equal to struct hci_acl_link_stru, Each remote shall have only one LE-U */
-struct hci_le_link_stru {
- struct hci_link_stru link;
- struct hci_send_context_stru send;
- struct hci_recv_context_stru recv;
-
- /* Common part of ACL/LE */
- struct fsm_timer *timer; /* ACL lazy idle timer, delay ACL disconnection */
- /* Delay timer before killing LE Link due to LE Connection Cancel.
- to prevent from executing another LE Create Connection Command before LE Connection Complete event returned. */
- struct fsm_timer *cancel_timer;
- uint8_t ref_count; /* + -, so signed, How many cid session and echo/info ref this hci_hdl */
- uint8_t status; /* etc: HCI_ACL_CONNECTING */
- uint8_t mask; /* etc: HCI_ACLMASK_INITIATOR */
- uint8_t response_num; /* Waiting for accept/reject the incoming connection upper cbk counter */
- /* Different part with ACL */
- uint8_t le_features[8]; /* LE Read Remote used features, ACL is in remote object */
- uint8_t active_disc_reason; /* For Print Disconnect Reason */
- hci_subrate subrate_par; /* subrate parameters. NULL means no subrate event for this le link */
-
- void *_rom;
-};
-
-struct hci_log_link_stru { /* Physical link is removed since handle is allocated by host */
- struct hci_link_stru link;
- struct hci_send_context_stru send;
- uint8_t tx_flow_spec_id;
-};
-
-struct hci_io_capability_req {
- uint8_t bond;
- uint8_t init;
- uint8_t mitm;
-};
-
-struct hci_set_channel_classification_stru {
- uint32_t c; /* Central Frequency, etc,2412 */
- uint32_t w; /* Bandwidth, 22,40 */
- uint8_t mask; /* etc, HCI_SETAFH_OCCUPY */
-};
-
-#define HCI_CMDSTRU void
-#define hci_cmdpar(arg_) ((HCI_CMDSTRU *)(arg_))
-#define HCI_CMDNEW MEM_NEW(sizeof(HCI_CMDSTRU))
-
-/* --------------------------------------------------------------------------- */
-/* HCI data/Command Related */
-/* --------------------------------------------------------------------------- */
-
-struct hci_tl_recv_stru { /* Arg in hcic_tl_recv_event */
- HANDLE host_hdl;
- uint8_t *data; /* Newed by HCI */
- uint8_t *end; /* end pointer of data, the 0xFD after last octet of valid data */
-};
-
-enum { /* Command RTX timeout */
- /* Since the maximum response timeout is strongly dependent on the HCI-Transport Layer used,
- it is recommended to use a default value of one second for this timer */
- HCI_TIME_CMDRTX = CONFIG_HCI_TIME_CMDRTX, /* Before Command status */
- HCI_TIME_CMDERTX = CONFIG_HCI_TIME_CMDERTX, /* After Command status */
- HCI_TIME_CMDPINCODE = CONFIG_HCI_TIME_PINCODE, /* Both side user PIN Code input time */
- HCI_TIME_CMDDELTA = CONFIG_HCI_TIME_DELTA, /* Addtional time for calcuated time */
- /* ACL connection cast time, so when no body use ACLLink, still waiting some seconds */
- HCI_TIME_ACLLAZY = CONFIG_HCI_TIME_ACLLAZY,
- HCI_TIME_ACCEPT_CONNECTION_TIMEOUT = CONFIG_HCI_TIME_ACCEPT_CONNECTION, /* 0x0001~0xB540, 0.625~29s */
- HCI_TIME_LE_CREATE_CONNECTION = CONFIG_HCI_TIME_LE_CREATE_CONNECTION
-};
-
-enum { /* Flag in hci_local_remove_one */
- HCI_LOCAL_REMOVE,
- HCI_LOCAL_RESET
-};
-
-enum { /* addhead in HCI_CommandL2_AddNode */
- HCI_CMDL2_ADDHEAD,
- HCI_CMDL2_ADDTAIL
-};
-
-enum { /* return in hci_set_event_filter_inquiry_check */
- HCI_SET_EVENT_FILTER_ACTION_ADD_INQUIRY,
- HCI_SET_EVENT_FILTER_ACTION_CLEAR_INQUIRY,
- HCI_SET_EVENT_FILTER_ACTION_CLEAR_ALL,
- HCI_SET_EVENT_FILTER_ACTION_OTHER
-};
-
-enum { /* Returning of hci_security_link_key_good */
- HCI_SECURITY_LINKKEY_GOOD = 0,
- HCI_SECURITY_LINKKEY_NOTEXIST = 1,
- HCI_SECURITY_LINKKEY_BAD = 2
-};
-
-/* HCI internal callback function dispatcher */
-typedef void (HCI_CbkTableFunc) (struct hci_local_stru *local, void *par);
-
-#define HCI_ROOT ((struct hci_root_stru *)(hci_fsminst->user_data))
-#define HCI_LOCALLIST (&(HCI_ROOT->local))
-#define HCI_REMOTELIST (&(HCI_ROOT->remote))
-#define HCI_LINKLIST (&(HCI_ROOT->link)) /* ACL,LE,Logical Links */
-#define HCI_EVCBKLIST (&(HCI_ROOT->evcbk)) /* Callback Tables */
-#define HCI_EVCBKLIST_PRIME (&(HCI_ROOT->evcbk_prime)) /* Prime Callback Tables */
-#define HCI_SECURITYLIST (&(HCI_ROOT->security))
-#define HCI_SECURITY_LOCALIO (HCI_ROOT->io_capability)
-#define HCI_SECURITY_LOCALIO_GET ((HCI_SECURITY_LOCALIO != \
- HCI_IO_CAPABILITY_KEYBOARDDISPLAY) ? HCI_SECURITY_LOCALIO : HCI_IO_CAPABILITY_DISPLAYYESNO)
-#define HCI_AFHMAP (HCI_ROOT->afhmap)
-#define HCI_SUPCMDGAP_LAST \
- (&hci_table_supportcmdgap[(sizeof(hci_table_supportcmdgap) / sizeof(struct hci_op_code_gap_stru)) - 1])
-#define HCI_EVGAP_LAST \
- (&hci_table_evgap[(sizeof(hci_table_evgap) / sizeof(struct hci_index_gap_stru)) - 1])
-#define HCI_EVOP_LAST (&g_hci_table_evop[g_hci_table_evop_size - 1])
-#define hci_codingp_event(evi_) (&hci_table_coding_event[hci_table_codingoff_event[(evi_)]])
-/* ACL or LE */
-#define hci_linkevo(link_) (((link_)->link.type == \
- HCI_LINK_TYPE_ACL) ? HCI_EVO_ACL_DATA_IND : HCI_EVO_LE_DATA_IND)
-#define hci_cmderr(op_) (((op_) << 16) | HCI_EVO_COMMAND_ERROR) /* HCI_OPC_ for hci_cbk */
-#define hci_command_send_internal(local_, par_, link_, opscode_) hci_command_send_core((local_), \
- hci_command_create_node((par_), (link_), (opscode_)))
-#define hci_key_unauthenticated(type_) (((type_) != \
- HCI_KEY_TYPE_AUTHENTICATED_COMBINATION_KEY_GENERATED_FROM_P192) && \
- ((type_) != HCI_KEY_TYPE_AUTHENTICATED_COMBINATION_KEY_GENERATED_FROM_P256))
-
-/* Macro components of struinfo */
-#define hci_stru2reqoff(struinfo_) ((uint8_t)(struinfo_)) /* Req struinfo offset */
-/* Ret struinfo offset, 0xFF for not exist */
-#define hci_stru2retoff(struinfo_) ((uint8_t)((struinfo_) >> 8))
-
-/* uint32_t op_ev */
-#define hci_opev(o, e) (((o) << 16) | (e))
-#define hci_op(s) ((uint16_t)((s) >> 16))
-#define hci_ev(s) ((uint16_t)(s))
-
-/* HCI is little endian */
-#define HCI_DECODE2BYTE decode2byte_little
-#define HCI_DECODE4BYTE decode4byte_little
-#define HCI_ENCODE2BYTE encode2byte_little
-#define HCI_ENCODE4BYTE encode4byte_little
-
-/* --------------------------------------------------------------------------- */
-/* HCI Structure < -> BitStream Macros */
-/* --------------------------------------------------------------------------- */
-#ifdef CONFIG_ALIGN_FOURBYTES
-#define CONFIG_ALIGN_BTYES 4
-#elif defined(CONFIG_ALIGN_TWOBYTES)
-#define CONFIG_ALIGN_BTYES 2
-#else /* defined(CONFIG_ALIGN_ONEBYTE) */
-#define CONFIG_ALIGN_BTYES 1
-#endif
-#define hci_padstep(s) (min(CONFIG_ALIGN_BTYES, (s)))
-#define hci_padding(p, \
- l) ((p) += ((hci_padstep(l) - ((uint32_t)(uintptr_t)(p) % hci_padstep(l))) % hci_padstep(l)))
-
-enum {
- HCI_CODE_0BITS = 0x00,
- HCI_CODE_2BITS = 0x01,
- HCI_CODE_4BITS = 0x02,
- HCI_CODE_8BITS = 0x03,
-
- /* 2Bits Basic type Items */
- HCI_CODE_N1 = 0x00, /* Num */
- HCI_CODE_U1 = 0x01, /* 1Oct - uint8_t */
- HCI_CODE_U2 = 0x02, /* 2Oct - uint16_t */
- HCI_CODE_U4 = 0x03 /* 4Oct - uint32_t */
-};
-
-enum { /* flag in hci_coding_len */
- HCI_CODING_INSTRU = 0x01, /* Src input is structure, not air */
- HCI_CODING_OUTSRC = 0x02, /* output src length, not dst */
-
- /* Input stru, Output stru length */
- HCI_CODING_GETSTRULEN = (HCI_CODING_INSTRU | HCI_CODING_OUTSRC),
- HCI_CODING_GETAIR = (HCI_CODING_INSTRU), /* Get PDU or length of PDU to the controller */
- HCI_CODING_GETSTRU = 0 /* GET structure or its length to upper layer */
-};
-
-enum { /* event in hcic_security_request */
- HCI_SECURITY_EVENT_REQUEST = 1,
- HCI_SECURITY_EVENT_ABORT = 2
-};
-
-enum { /* Bitmask in authentication_requirements enum */
- HCI_AUTHENTICATION_REQUIREMENTS_NOMITM = 0x00,
- HCI_AUTHENTICATION_REQUIREMENTS_MITM = 0x01
-};
-
-enum {
- HCI_ACLDATA_MASK_SENTOUT = 0x01, /* send out succefully or not */
- HCI_ACLDATA_MASK_ADDTAIL = 0x02 /* Add head or tail */
-};
-
-enum { /* mask in hci_acl_link_disconnect_deal */
- HCI_ACLLINK_DISCONNECT_NOW = 0x01,
- HCI_ACLLINK_DISCONNECT_EMERGENCY = 0x02
-};
-
-/* Move here since SMP are using this to store SMPD address */
-enum { /* index of addr[x] in struct hci_local_stru / struct hci_remote_stru */
- /* Public or Static, distinguish by the 49th bit in addr, for BREDR / LE */
- HCI_ADDR_IDENTITY = 0,
- /* Used in Local object, RPA or nRPA, Only for LE, by LESetRandomAddress */
- HCI_ADDR_PRIVATE = 1,
- /* Used in Remote object, current LE link(or advertising remote using) address */
- HCI_ADDR_LELINK = 1
-};
-
-/* --------------------------------------------------------------------------- */
-/* Function Definations */
-/* --------------------------------------------------------------------------- */
-/* ---------------------------------------------------------------------------
-Description:
- This function is called to send a packet into Transport Layer.
---------------------------------------------------------------------------- */
-void hci_tl_send_data(struct hci_local_stru *local, uint8_t *data, uint32_t len);
-
-uint8_t hci_dt_get_ev_index(uint8_t evcode);
-uint32_t hci_dt_get_sup_cmd_bit_index(uint16_t opcode);
-
-void hci_cbk(struct hci_local_stru *local, void *context, void *arg, uint32_t len, uint32_t op_ev);
-#ifdef CONFIG_BREDR_HCI
-uint8_t hci_cbk_get_num(uint16_t index);
-#endif
-void le_set_scan_parmeters(struct hci_local_stru *local, uint8_t type, uint8_t limited,
- uint8_t speed);
-void le_set_advertising_parameters(struct hci_local_stru *local, uint8_t type,
- uint8_t limited, uint8_t speed, uint8_t white);
-void le_set_direct_advertising_parameters(struct hci_local_stru *local,
- struct hci_address_stru *peer, uint8_t type, uint8_t limited, uint8_t speed, uint8_t white);
-
-void le_isa_check(struct hci_local_stru *local);
-void le_isa_connect_complete(struct hci_local_stru *local);
-void le_isa_target(struct hci_local_stru *local, uint8_t tar);
-void le_isa_enable_result(struct hci_local_stru *local, uint8_t success);
-void le_isa_go_idle(struct hci_local_stru *local);
-void le_isa_set_op_report(const struct hci_local_stru *local, uint8_t op_id, uint8_t op_state);
-struct hci_le_link_stru *le_link_find_on_local(const struct hci_local_stru *local);
-void hci_local_start_timer(struct hci_local_stru *local, uint8_t *prompt,
- uint32_t timeout, uint8_t restart, uint8_t event, uint8_t id);
-void hci_local_init(struct hci_local_stru *local);
-void hci_local_remove_unknown_acl_data(struct hci_local_stru *local);
-void hci_local_remove(struct hci_local_stru *local);
-void hci_local_remove_one(struct hci_local_stru *local, uint8_t flag);
-void hci_local_changed_notify(struct hci_local_stru *local, HANDLE tl_hdl, uint8_t action);
-struct hci_local_stru *hci_local_find_by_hdl(const HANDLE host_hdl);
-#ifdef NOT_USED_YET
-struct hci_local_stru *hci_local_find_by_addr(struct hci_address_stru *l);
-#endif
-struct hci_local_stru *hci_local_find_by_id(uint8_t ampid);
-struct hci_local_stru *hci_local_find_by_tlhdl(HANDLE tl_hdl);
-
-/* ACL link auto-sniff, by YDX, 2019.3.20 */
-void hci_auto_sniff_stop_timer(struct hci_local_stru *local);
-void hci_auto_sniff_rtx(struct hci_local_stru *local);
-void hcic_auto_sniff_set(const struct fsm_inst *fi, uint8_t event,
- struct hci_auto_sniff_req_stru *req);
-#ifdef CHIP_BRANDY
-struct hci_remote_stru *hci_remote_find_by_bd(uint8_t *bd);
-#endif
-void hci_remote_remove(struct hci_remote_stru *remote);
-void hci_remote_remove_unuse(struct hci_remote_stru *remote);
-void hci_remote_set_to_die(uint8_t cap);
-struct hci_remote_stru *hci_remote_find_by_addr(struct hci_address_stru *r);
-
-void *hci_link_create(struct hci_local_stru *local, struct hci_remote_stru *remote, uint8_t type);
-void hci_link_remove_by_lr(const void *lr);
-void hci_link_remove_all(void);
-void hci_link_remove(struct hci_acl_link_stru *link, uint8_t reason);
-void *hci_link_find_by_hdl(const struct hci_local_stru *local, uint16_t handle);
-void bth_hci_acl_data_recv(struct hci_acl_link_stru *link, struct buff_stru *in, uint8_t pb);
-uint8_t bth_hci_acl_data_recombination_check(struct buff_stru *fst_pkt, struct buff_stru *next_pkt);
-void hci_acl_link_disconnect_send(struct hci_acl_link_stru *link, uint8_t reason, uint8_t mask);
-uint8_t hci_acl_link_disconnect_deal(struct hci_acl_link_stru *link, uint8_t mask);
-void hci_acl_link_controller2host_fc(struct hci_acl_link_stru *link, uint8_t force);
-
-struct hci_acl_link_stru *hci_acl_link_find_by_bd_type(struct hci_local_stru *local, uint8_t *bd,
- uint8_t type, uint8_t linktype);
-#define hci_acl_link_find_by_bd(local_, bd_) hci_acl_link_find_by_bd_type((local_), (bd_), \
- HCI_OWN_ADDRESS_TYPE_PUBLIC_DEVICE_ADDRESS, HCI_LINK_TYPE_ACL)
-
-void hci_acl_link_cbk(struct hci_acl_link_stru *link, uint16_t reason_job);
-void hci_acl_link_ready(struct hci_acl_link_stru *link);
-void hci_acl_link_create_connection_cancel(struct hci_acl_link_stru *link, uint8_t mask);
-void hcic_acl_link_un_ref(const struct fsm_inst *fi, uint8_t event, struct hci_acl_link_stru *link);
-void hcic_acl_link_kill(const struct fsm_inst *fi, uint8_t event, struct hci_acl_link_stru *link);
-void hci_acl_link_create_connection(struct hci_acl_link_stru *link);
-void hci_acl_link_connection_cancel_delay_start(struct hci_acl_link_stru *link, uint8_t status);
-struct hci_acl_link_stru *hci_acl_link_find_by_lr(const struct hci_local_stru *local,
- const struct hci_remote_stru *remote, uint8_t linktype);
-struct hci_acl_link_stru *hci_acl_link_find_by_ptr(const void *acl);
-
-void bth_hci_recv_acl_data(const struct fsm_inst *fi, uint8_t type, struct buff_stru *in);
-void hcic_tl_recv_sco_data(const struct fsm_inst *fi, uint8_t event, struct buff_stru *in);
-
-void list_qo_s_remove_all(struct hci_local_stru *local);
-void list_qos_check_cbk(struct hci_local_stru *local);
-
-uint16_t hci_set_packet_type(struct hci_local_stru *local, uint8_t link_type);
-void hci_set_synchronous_param(struct hci_local_stru *local, struct hci_synchronous_connection_stru *in,
- struct hci_synchronous_connection_stru *esco);
-uint8_t hci_set_event_filter_inquiry_check(struct hci_set_event_filter_stru *par);
-
-uint8_t hci_command_check_support(struct hci_local_stru *local, uint16_t opcode);
-void hci_command_send_core(struct hci_local_stru *local, struct hci_command_node_stru *cmd);
-struct hci_command_node_stru *hci_command_create_node(void *par, void *context, uint32_t opscode);
-uint8_t hci_command_check_block(struct hci_local_stru *local, struct hci_command_node_stru *cmd);
-void hci_struct_to_stream_data(struct hci_command_node_stru *cmd, uint8_t *dst, uint16_t stream_len);
-void hci_command_remove(struct hci_local_stru *local, struct hci_command_node_stru *cmd, void *arg, uint16_t len,
- uint16_t status, uint16_t evindex);
-void hci_command_remove_by_local(struct hci_command_node_stru *in);
-#define hci_command_remove_error(local_, cmd_, status_) hci_command_remove((local_), (cmd_), NULL, 0, (status_), \
- HCI_EVO_COMMAND_ERROR)
-
-void hci_command_check_send(struct hci_local_stru *local);
-struct hci_command_error_stru *hci_command_error_new(struct hci_command_node_stru *cmd, uint16_t *lenout,
- uint16_t status);
-/* Could be NULL */
-void hci_command_remove_by_context(struct hci_local_stru *local, void *context, uint16_t status);
-struct hci_command_node_stru *hci_command_find_by_op_code(struct hci_local_stru *local, uint16_t opcode);
-struct hci_command_node_stru *hci_command_find_by_ev_index(struct hci_local_stru *local,
- const void *link, uint8_t evindex, uint16_t opcode);
-#ifdef CONFIG_BREDR_HCI
-void hci_command_remove_by_op_code(struct hci_local_stru *local, uint16_t opcode, uint16_t status);
-#endif
-void hci_command_send_emergency(struct hci_local_stru *local, void *par, uint32_t opscode);
-void hci_cmd_send_internal_func(struct hci_local_stru *local, void *par, void *context, uint32_t opscode);
-void hci_cmd_rmv_err_func(struct hci_local_stru *local, struct hci_command_node_stru *cmd, uint16_t status);
-void hci_acl_data_send_pendding(struct hci_local_stru *local, uint8_t slot);
-#ifdef NOT_USED_YET
-int hci_tl_recv_data(HANDLE host_hdl, uint8_t *data, uint32_t len);
-#endif
-int hci_tl_recv_data_buff(HANDLE host_hdl, struct buff_stru *buff);
-void hcic_tl_recv_event(const struct fsm_inst *fi, uint8_t type, struct hci_tl_recv_stru *in);
-
-uint8_t hci_coding_get_bits(struct hci_bit_pointer_stru *bp, uint8_t len);
-uint16_t hci_coding_len(uint8_t *src, uint8_t *end, const uint8_t *p, uint8_t flag);
-void hci_coding(uint8_t *src, uint8_t *end, uint8_t *dst, const uint8_t *p, uint8_t flag);
-void hci_internal_cbk(HANDLE host_hdl, void *context, void *par, uint32_t evindex);
-void hci_internal_cbk_reg(void);
-
-#ifdef CONFIG_HCI_NEW_STREAM_STRUCT_CONVERSION
-uint16_t hci_stream_to_struct(uint8_t event_index, uint8_t *in_stream, void **out_stru);
-uint16_t hci_struct_to_stream(struct hci_command_node_stru *cmd, uint8_t **out_stream);
-uint16_t hci_cmd_cmplete_stream_to_struct(struct hci_command_complete_ev_stru *in, void **out_stru);
-uint16_t hci_le_meta_stream_to_struct(struct hci_le_meta_ev_stru *ev, void **out_stru);
-#endif
-void hci_ev_command_status_restart_ertx(struct hci_local_stru *local, struct hci_command_node_stru *cmd);
-void hci_ev_command_status(struct hci_local_stru *local, struct hci_command_status_ev_stru *in);
-void hci_ev_command_complete(struct hci_local_stru *local, struct hci_command_complete_ev_stru *in);
-void hci_ev_loopback_command(struct hci_local_stru *local, struct hci_loopback_command_ev_stru *ev);
-
-void hci_ev_link_key_request(struct hci_local_stru *local, struct hci_link_key_request_ev_stru *ev);
-void hci_ev_pin_code_request(struct hci_local_stru *local, struct hci_pin_code_request_ev_stru *ev);
-void hci_ev_authentication_complete(struct hci_local_stru *local, struct hci_authentication_complete_ev_stru *ev);
-void hci_ev_encryption_change(struct hci_local_stru *local, struct hci_encryption_change_ev_stru *ev);
-void hci_ev_io_capability_request(struct hci_local_stru *local, struct hci_io_capability_request_ev_stru *ev);
-void hci_ev_io_capability_response(struct hci_local_stru *local, struct hci_io_capability_response_ev_stru *ev);
-void hci_ev_user_confirmation_request(struct hci_local_stru *local, struct hci_user_confirmation_request_ev_stru *ev);
-void hci_ev_remote_oob_data_request(struct hci_local_stru *local, struct hci_remote_oob_data_request_ev_stru *ev);
-void hci_ev_simple_pairing_complete(struct hci_local_stru *local, struct hci_simple_pairing_complete_ev_stru *ev);
-
-void hci_ev_connection_complete(struct hci_local_stru *local, struct hci_connection_complete_ev_stru *ev);
-void hci_ev_connection_request(struct hci_local_stru *local, struct hci_connection_request_ev_stru *ev);
-void hci_ev_synchronous_connection_complete(struct hci_local_stru *local,
- struct hci_synchronous_connection_complete_ev_stru *ev);
-void hci_ev_disconnection_complete(struct hci_local_stru *local, struct hci_disconnection_complete_ev_stru *ev);
-void hci_op_create_connection_cancel(struct hci_local_stru *local, struct hci_create_connection_cancel_comp_stru *ev);
-void hci_ev_number_of_cmp_pkt_rom(struct hci_local_stru *local, struct hci_number_of_completed_packets_ev_stru *ev);
-uint32_t hci_ev_cmd_status_restart_ertx_rom(struct hci_local_stru *local, struct hci_command_node_stru *cmd);
-struct hci_command_node_stru *hci_cmd_find_by_cmd_status_evt_rom(struct hci_local_stru *local, uint16_t opcode);
-void hci_ev_hardware_error_rom(struct hci_local_stru *local,
- const struct hci_hardware_error_ev_stru *ev);
-#ifdef CONFIG_BREDR_HCI
-void hci_ev_remote_supported_features_cap(const struct hci_local_stru *local,
- struct hci_remote_stru *remote, uint8_t page);
-#endif
-void hci_op_read_local_supported_cmd_rom(struct hci_local_stru *local,
- struct hci_read_local_supported_commands_comp_stru *ev);
-void hci_op_read_local_feature_page0rom(struct hci_local_stru *local, uint8_t *fea);
-void hci_op_read_local_feature_page0(struct hci_local_stru *local, const uint8_t *fea);
-void hci_op_read_buffer_size_rom(struct hci_local_stru *local, struct hci_read_buffer_size_comp_stru *ev);
-
-void hcic_init(void);
-#ifdef CONFIG_BT_STACK_DONE
-void hcic_done(struct fsm_inst *fi, uint8_t event, const void *arg);
-#endif
-void hcic_cleanup(const struct fsm_inst *fi, uint8_t event, const void *arg);
-void hcic_cbk_reg(const struct fsm_inst *fi, uint8_t event, struct hci_cbk_node_stru *arg);
-void hcic_cbk_prime_reg(const struct fsm_inst *fi, uint8_t event, struct hci_cbk_node_stru *arg);
-void hcic_cbk_un_reg(const struct fsm_inst *fi, uint8_t event, const struct hci_cbk_line_stru *table);
-void hcic_commandl1_input(const struct fsm_inst *fi, uint8_t event, struct hci_command_node_stru *in);
-void hcic_commandl2_input(const struct fsm_inst *fi, uint8_t event, struct hci_command_queue_stru *queue);
-void hcic_command_rtx(const struct fsm_inst *fi, uint8_t event, struct hci_rtx_timer_stru *rts);
-void hcic_tl_reg(const struct fsm_inst *fi, uint8_t event, struct hci_local_stru *local);
-void hcic_tl_un_reg(const struct fsm_inst *fi, uint8_t event, void *tl_hdl);
-void hcic_acl_data_send(const struct fsm_inst *fi, uint8_t event, struct buff_stru *arg);
-#ifdef CONFIG_BREDR_HCI
-void hcic_sco_data_send(const struct fsm_inst *fi, uint8_t event, struct buff_stru *arg);
-#endif
-void hcic_create_sco_connection(const struct fsm_inst *fi, uint8_t event, struct hci_create_scoui_stru *in);
-void hcic_acl_link_disconnect(const struct fsm_inst *fi, uint8_t event, struct hci_disconnect_stru *par);
-void hcic_acl_link_connection_response(struct fsm_inst *fi, uint8_t event,
- struct hci_acl_connection_response_ui_stru *in);
-void hcic_synchronous_connection_response(const struct fsm_inst *fi, uint8_t event,
- struct hci_synchronous_connection_response_ui_stru *in);
-void hcic_synchronous_enhanced_connection_response(const struct fsm_inst *fi, uint8_t event,
- struct hci_synchronous_enhanced_connection_response_ui_stru *in);
-#ifdef CONFIG_BREDR_HCI
-void hcic_set_channel_classification(const struct fsm_inst *fi, uint8_t event,
- struct hci_set_channel_classification_stru *par);
-#endif
-void hcic_set_default_link_role(const struct fsm_inst *fi, uint8_t event, void *arg);
-
-void hci_security_go(struct hci_acl_link_stru *link);
-void hci_security_result_ev(struct hci_local_stru *local, uint16_t hdl, uint16_t mask, uint16_t status);
-void hci_security_clear_remote_by_acl_link(struct hci_acl_link_stru *link);
-void hcic_security_authorized(const struct fsm_inst *fi, uint8_t event, struct hci_security_author_req_stru *in);
-void hcic_security_request(const struct fsm_inst *fi, uint8_t event, struct hci_security_node_stru *in);
-void hcic_security_require_reg(const struct fsm_inst *fi, uint8_t event, struct hci_security_info_stru *info);
-void hcic_security_require_un_reg(const struct fsm_inst *fi, uint8_t event,
- struct hci_security_info_stru *info);
-void hcic_security_set_local_io(const struct fsm_inst *fi, uint8_t io_capability, void *arg);
-void hcic_security_set_bondable(const struct fsm_inst *fi, uint8_t bondable, void *arg);
-void hcic_security_set_oob(const struct fsm_inst *fi, uint8_t event, struct hci_security_remote_oob_stru *in);
-void hcic_security_read_local_oob_data(const struct fsm_inst *fi, uint8_t event, void *arg);
-void hcic_security_link_key_recover(const struct fsm_inst *fi, uint8_t event,
- struct hci_security_link_key_recover_stru *in);
-void hcic_security_link_key_remove(const struct fsm_inst *fi, uint8_t event, uint8_t *bd);
-void hcic_security_pin_code_reply(const struct fsm_inst *fi, uint8_t event, struct hci_pin_code_request_reply_stru *in);
-void hcic_security_pairing_confirmation(const struct fsm_inst *fi, uint8_t event, uint8_t *bd);
-
-/* Used in DBG */
-struct hci_security_info_stru *hci_security_object_find(struct hci_security_info_stru *node,
- struct hci_security_info_stru *in);
-/* Used in DBG */
-uint8_t hci_security_link_key_good(struct hci_local_stru *local, struct hci_remote_stru *remote,
- struct hci_security_node_stru *node);
-void hcic_security_le_keys_recover(const struct fsm_inst *fi, uint8_t event, struct bth_list_stru *list);
-void hcic_security_le_keys_remove(const struct fsm_inst *fi, uint8_t event, struct hci_address_stru *addr);
-void hci_security_authorization_cbk_rom(struct hci_acl_link_stru *link, struct hci_security_node_stru *node,
- uint16_t evi);
-uint8_t hci_security_check_support_ssp(struct hci_local_stru *local, struct hci_remote_stru *remote);
-uint8_t hci_security_check_support_sc(struct hci_local_stru *local, struct hci_remote_stru *remote);
-void hci_security_go_rom(struct hci_acl_link_stru *link);
-void hci_security_pendding_cbk(struct hci_security_node_stru *node, uint8_t type);
-void hci_security_authorization_cbk(struct hci_acl_link_stru *link, struct hci_security_node_stru *node, uint16_t evi);
-void hci_security_complete(struct hci_acl_link_stru *link, uint16_t result);
-void hci_secu_result_ev_rom(struct hci_local_stru *local, uint16_t hdl, uint16_t mask, uint16_t status);
-void hci_security_handle_auth_failed(struct hci_acl_link_stru *link, struct hci_remote_stru *remote, uint16_t status);
-void hci_secu_clr_rmt_by_acl_link_rom(struct hci_acl_link_stru *link);
-void hci_security_end(struct hci_security_node_stru *node, uint16_t result);
-void hcic_secu_req_rom(const struct fsm_inst *fi, uint8_t event,
- struct hci_security_node_stru *in);
-void hcic_secu_le_keys_recover_rom(const struct fsm_inst *fi, uint8_t event, struct bth_list_stru *list);
-void hcic_secu_pin_code_reply_rom(const struct fsm_inst *fi, uint8_t event, struct hci_pin_code_request_reply_stru *in);
-void hcic_secu_pairing_confirm_rom(const struct fsm_inst *fi, uint8_t response, uint8_t *bd);
-void hcic_secu_link_key_recover_rom(const struct fsm_inst *fi, uint8_t event,
- struct hci_security_link_key_recover_stru *in);
-void hci_ev_link_key_req_rom(struct hci_local_stru *local, struct hci_link_key_request_ev_stru *ev);
-void hci_ev_pin_code_req_rom(struct hci_local_stru *local, struct hci_pin_code_request_ev_stru *ev);
-void hci_ev_encryption_change_rom(struct hci_local_stru *local, struct hci_encryption_change_ev_stru *ev);
-bool hci_ev_io_secu_pair_hdl_rom(struct hci_local_stru *local, struct hci_remote_stru *remote,
- void *reply, struct hci_io_capability_request_ev_stru *ev,
- struct hci_io_capability_req *capaility_req);
-uint8_t hci_security_link_key_good_rom(struct hci_local_stru *local, struct hci_remote_stru *remote,
- struct hci_security_node_stru *node);
-
-uint8_t le_controller_addr_node_list_count(struct hci_local_stru *local, uint8_t type); /* Used in DBG */
-
-void hcic_iso_data_send(const struct fsm_inst *fi, uint8_t event, struct buff_stru *arg);
-#ifdef CONFIG_BREDR_HCI
-uint8_t hci_get_stream_len_by_filter_type(uint8_t filter_type, uint8_t filter_condition_type);
-#endif
-uint8_t *hci_stream_to_struct_cpy_stream(const uint8_t *stream, uint8_t len);
-void hci_coding_endian(uint8_t **src, uint8_t **dest, uint8_t len);
-uint8_t hci_coding_get_max_ele(struct hci_bit_pointer_stru *bp);
-struct hci_command_node_stru *hci_command_find_by_context(struct hci_local_stru *local, const void *context);
-void list_qos_cbk(struct hci_local_stru *local, uint8_t action);
-struct buff_stru *list_qo_s_get(struct bth_list_stru *list);
-void list_qo_s_free_buf(struct hci_local_stru *local, struct buff_stru *buf);
-uint8_t list_qo_s_add(struct hci_local_stru *local, struct buff_stru *buf, uint8_t mask, uint8_t slot);
-void list_qo_s_remove_hdl(struct hci_local_stru *local, uint16_t hdl);
-void hci_acl_data_mp_add(hci_mp_int *r, uint32_t len);
-bool hci_check_bit(const uint8_t *buf, uint8_t evindex);
-void *hci_cmd_new_auth_req(void);
-void *hci_cmd_new_set_conn_encrypt(void);
-void *hci_cmd_new_pin_code_rply(void);
-void *hci_cmd_new_pin_code_neg_rply(void);
-void *hci_cmd_new_link_key_neg_rply(void);
-void *hci_cmd_new_secu_link_key_ask4(void);
-void *hci_cmd_new_link_key_rply(void);
-uint8_t bth_hci_recv_acl_data_header_proc(const struct hci_local_stru *local,
- struct buff_stru *in, uint8_t *pb, uint16_t *handle, uint8_t *header_len);
-
-typedef void (HciAclDataSendPenddingCb)(struct hci_local_stru *local, uint8_t slot);
-typedef void (HciCmdSendInternalCb)(struct hci_local_stru *local, void *par, void *context, uint32_t opscode);
-typedef void (HciCmdRmvErrCb)(struct hci_local_stru *local, struct hci_command_node_stru *cmd, uint16_t status);
-typedef void (HciCmdRmvCb)(struct hci_local_stru *local, struct hci_command_node_stru *cmd, void *arg,
- uint16_t len, uint16_t status, uint16_t evindex);
-typedef void (HciCbkCb)(struct hci_local_stru *local, void *context, void *arg, uint32_t len, uint32_t op_ev);
-typedef void (HciAutoSniffStopTimerCb)(struct hci_local_stru *local);
-typedef void (HciEvRmtSupportedFeatCapCb)(struct hci_local_stru *local, struct hci_remote_stru *remote, uint8_t page);
-typedef uint8_t (HciCmdCheckSupportCb)(struct hci_local_stru *local, uint16_t opcode);
-typedef void (HciOpReadLocalFeatPage0Cb)(struct hci_local_stru *local, uint8_t *fea);
-typedef void (HciLocalChangedNotifyCb)(struct hci_local_stru *local, HANDLE tl_hdl, uint8_t action);
-typedef void (HciRemoteGetAddrCb)(struct hci_remote_stru *remote, struct hci_address_stru *addr);
-typedef uint8_t (HciSecuChkSupportSSPCb)(struct hci_local_stru *local, struct hci_remote_stru *remote);
-typedef uint8_t (HciSecuChkSupportSCCb)(struct hci_local_stru *local, struct hci_remote_stru *remote);
-typedef void (HciSecurityPenddingCbkCb)(struct hci_security_node_stru *node, uint8_t type);
-typedef void (HciSecuAuthCbkCb)(struct hci_acl_link_stru *link,
- struct hci_security_node_stru *node, uint16_t evi);
-typedef void (HciSecuCmpCb)(struct hci_acl_link_stru *link, uint16_t result);
-typedef uint8_t (HciSecuLkKeyGoodCb)(struct hci_local_stru *local, struct hci_remote_stru *remote,
- struct hci_security_node_stru *node);
-typedef void (HciSecuGoCb)(struct hci_acl_link_stru *link);
-typedef void (HciSecuHdlAuthFailedCb)(struct hci_acl_link_stru *link, struct hci_remote_stru *remote, uint16_t status);
-typedef void (HciSecuEndCb)(struct hci_security_node_stru *node, uint16_t result);
-typedef struct hci_local_stru* (HciLocalFindByIDCb)(uint8_t ampid);
-typedef bool (HciCheckBitCb)(uint8_t *buf, uint8_t evindex);
-typedef struct hci_remote_stru* (HciRmtFindCreateCb)(uint8_t *bd, uint8_t atype, uint8_t cap);
-typedef struct hci_remote_stru* (HciRmtFindByBDCb)(uint8_t *bd);
-typedef void (HciSecuResultEvCb)(struct hci_local_stru *local, uint16_t hdl, uint16_t mask, uint16_t status);
-typedef void* (HciCmdNewAuthReqCb)(void);
-typedef void* (HciCmdNewSetConnEncryptCb)(void);
-typedef void* (HciCmdNewPinCodeRplyCb)(void);
-typedef void* (HciCmdNewPinCodeNegRplyCb)(void);
-typedef void* (HciCmdNewLinkKeyNegRplyCb)(void);
-typedef void* (HciCmdNewSecuLinkKeyAsk4Cb)(void);
-typedef void* (HciCmdNewLinkKeyRplyCb)(void);
-typedef void (HciSecuAuthCb)(struct hci_security_author_req_stru *in);
-/* Expend to visit more vars */
-typedef void (HciLinkRmvFun)(struct hci_acl_link_stru *link, uint8_t reason);
-typedef uint8_t (HciCmpAddrCb)(struct hci_address_stru *s, struct hci_address_stru *r);
-
-#endif /* G_HCI_HLP_H */
-
+++ /dev/null
-/*
- * Copyright (c) @CompanyNameMagicTag 1999-2015. All rights reserved.
- */
-
-/* ---------------------------------------------------------------------------
-Module Name:
- hci_ui.h
-Abstract:
- This module defines HCI interface structure, macro & functions.
---------------------------------------------------------------------------- */
-
-#ifndef G_HCI_UI_H
-#define G_HCI_UI_H
-
-#include "hci_stru.h"
-#include "sysdep.h"
-
-#define HCI_HANDLE_BIT_NUM 16
-#define OCTET_BIT_LEN 8
-
-#ifdef HUAWEI_ADAPT_VENDOR
-#define HCI_TLPKT_COMMAND 0x01
-#define HCI_TLPKT_ACLDATA 0x02
-#define HCI_TLPKT_SCODATA 0x03
-#define HCI_TLPKT_EVENT 0x04
-
-#endif /* HUAWEI_ADAPT_VENDOR */
-
-enum { /* data type use in tl adapter */
- HCI_DATATYPE_COMMAND = 1,
- HCI_DATATYPE_ACL = 2,
- HCI_DATATYPE_SCO = 3,
- HCI_DATATYPE_EVENT = 4,
- /* added for iso event */
- HCI_DATATYPE_ISO = 5,
- HCI_DATATYPE_GLE_CMD = 0xA1,
- HCI_DATATYPE_GLE_EVENT = 0xA2,
- HCI_DATATYPE_GLE_ACB = 0xA3,
- HCI_DATATYPE_GLE_ICB = 0xA4,
-};
-
-enum { /* data type use for distinguish BLE or GLE */
- HCI_DATATYPE_BLE = 0,
- HCI_DATATYPE_GLE = 1,
-};
-/* --------------------------------------------------------------------------- */
-/* HCI Transport Layer Interface */
-/* --------------------------------------------------------------------------- */
-/* -----------------------------------------------------------------------------
-In the function Func_Startup & Func_StartSco :
- if return values is 0, means successfully;
- if return values is not 0, means not successfully;
-In the function Func_Send :
- return values is the number of bytes you send successfully;
-In the function Func_GetType :
- return values is the AMP type MACROs;
------------------------------------------------------------------------------ */
-typedef int (func_receive) (HANDLE host_hdl, uint8_t *p_buf, uint32_t len);
-typedef int (func_receive_buff) (HANDLE host_hdl, struct buff_stru *buff);
-
-typedef struct _tl_callback_stru {
- func_receive *receive;
- func_receive_buff *receive_buff;
-} tl_callback_stru;
-
-typedef int (func_startup) (HANDLE tl_hdl, tl_callback_stru *p_callback, HANDLE host_hdl);
-typedef void (func_shutdown) (HANDLE tl_hdl);
-typedef int (func_send) (HANDLE tl_hdl, uint8_t *p_buf, uint32_t len);
-typedef int (func_start_sco) (HANDLE tl_hdl, uint16_t sco_hdl);
-typedef void (func_stop_sco) (HANDLE tl_hdl, uint16_t sco_hdl);
-typedef unsigned char (func_get_type) (HANDLE tl_hdl);
-
-typedef struct _transport_layer_stru {
- func_get_type *get_type;
- func_startup *startup;
- func_shutdown *shutdown;
- func_send *send;
- func_start_sco *start_sco;
- func_stop_sco *stop_sco;
-} transport_layer_stru;
-
-/* Range: 0x000-0xEFF (0xF00 - 0xFFF Reserved for future use) */
-#define HCI_INVAILD_HANDLE 0xFFFF
-#define HCI_AMPID_BREDR 0 /* type/id in struct hci_local_stru */
-#define hci_opcode(g, c) (((g) << 10) | (c))
-#define hci_ogf(o) ((uint8_t)((o) >> 10)) /* 6bits */
-#define hci_ocf(o) ((o) & ((1 << 10) - 1)) /* 10bits */
-#define HCI_AUTH_FAIL_RETRY_TIMES 3
-
-enum { /* OGF for Command Code, 6 bits */
- HCI_OGF_LINKCONTROL = 0x01,
- HCI_OGF_LINKPOLICY = 0x02,
- HCI_OGF_CONTROLLER_BASEBAND = 0x03,
- HCI_OGF_INFORMATIONAL_PARAM = 0x04,
- HCI_OGF_STATUS_PARAM = 0x05,
- HCI_OGF_TESTING = 0x06,
- HCI_OGF_LE = 0x08,
- HCI_OGF_VENDOR = 0x3F
-};
-
-/* --------------------------------------------------------------------------- */
-/* HCI UI Interface structure */
-/* --------------------------------------------------------------------------- */
-enum { /* cap in hci_available_addr_cap */
- HCI_ADDRESS_CAP_LE = 0x01, /* and LELink shall exist when this bit set */
- HCI_ADDRESS_CAP_BREDR = 0x02,
- HCI_ADDRESS_CAP_IDENTITY = 0x04, /* as identity address exist(BREDR or SMPD or LELink) */
- HCI_ADDRESS_CAP_MAIN = (HCI_ADDRESS_CAP_BREDR | HCI_ADDRESS_CAP_LE), /* AMPID = 0 */
- HCI_ADDRESS_CAP_80211 = 0x08,
- HCI_ADDRESS_CAP_UWB = 0x10,
- HCI_ADDRESS_CAP_AMP = (HCI_ADDRESS_CAP_80211 | HCI_ADDRESS_CAP_UWB), /* AMPID != 0 */
-
- /* HCI Internal used bitmask to deliver information */
- /* Internal use when remote is found by identity, need to update it into lelink, not in any object */
- HCI_ADDRESS_CAP_LELINK_UPDATE = 0x80,
- /* Do not generate remote change notify since there is another behind this call */
- HCI_ADDRESS_CAP_DONOT_CHANGE_NOTIFY = 0x40,
- HCI_ADDRESS_CAP_INFO =
- (HCI_ADDRESS_CAP_LELINK_UPDATE | HCI_ADDRESS_CAP_DONOT_CHANGE_NOTIFY)
-};
-
-struct hci_address_stru {
- uint8_t bd[BD_ADDR_LEN]; /* 6octets, 48bits */
- /* etc, HCI_OWN_ADDRESS_TYPE_PUBLIC_DEVICE_ADDRESS = HCI_PEER_ADDRESS_TYPE_PUBLIC_DEVICE_ADDRESS */
- uint8_t atype;
- uint8_t cap; /* etc, HCI_ADDRESS_CAP_LE, reserved for compatibility only. */
-};
-
-struct hci_controller_addr_node_stru {
- struct hci_address_stru addr;
- uint8_t mask; /* etc, HCI_CANODE_MASK_WHITELIST */
-};
-
-#define HCI_ROLE_DEFAULT (HCI_ROLE_SLAVE+1) /* Default role setting */
-struct hci_acl_connection_response_ui_stru { /* UI Input in hci_acl_connection_response */
- struct hci_connection_request_ev_stru *ev;
- uint8_t link_role; /* HCI_ROLE_SLAVE, HCI_ROLE_MASTER or HCI_ROLE_DEFAULT */
- /* etc: HCI_OPS_REJECT_CONNECTION_REQUEST, HCI_OPS_ACCEPT_CONNECTION_REQUEST */
- uint32_t opscode;
-};
-
-struct hci_synchronous_connection_stru { /* Common part for hci_set_synchronous_param */
- uint32_t transmit_bandwidth;
- uint32_t receive_bandwidth;
- uint16_t max_latency;
- uint16_t voice_setting;
- uint8_t retransmission_effort;
- uint16_t packet_type;
-};
-
-struct hci_synchronous_connection_response_ui_stru { /* UI Input in hci_synchronous_connection_response */
- struct hci_connection_request_ev_stru *ev; /* event received */
- struct hci_synchronous_connection_stru par; /* eSCO Parameters */
- /* etc: HCI_OPS_REJECT_SYNCHRONOUS_CONNECTION_REQUEST, HCI_OPS_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST */
- uint32_t opscode;
-};
-
-struct hci_synchronous_enhanced_connection_response_ui_stru {
- struct hci_enhanced_accept_synchronous_connection_request_stru par;
- uint32_t opscode;
-};
-
-struct hci_create_scoui_stru { /* UI Input in hci_synchronous_connection_response */
- struct hci_address_stru addr; /* Remote addr */
- struct hci_synchronous_connection_stru par; /* eSCO Parameters */
-};
-
-/* -----------------------------------------------------------------------------
-Description:
- Upper protocol callback function for HCI.
- hdl: (arg length(2octets) << 16) | ampid(1octet).
- context: upper defined address.
- arg: parameter for this op_ev.
- op_ev: (opcode(passive is 0x0000) << 16) | evindex(include HCI_EVO_ or HCI_EVI)
------------------------------------------------------------------------------ */
-typedef void (HCI_CbkFunc)(HANDLE hdl, void *context, void *arg, uint32_t op_ev);
-
-struct hci_cbk_line_stru { /* UI cbk func jump martix */
- uint16_t id; /* HCI_OPC_ or HCI_EVI_(EVO) */
- void *func; /* HCI_CbkFunc for external, HCI_CbkTableFunc for internal */
-};
-
-enum {
- HCI_CBK_TYPE_INTERNAL = 1,
- HCI_CBK_TYPE_EXTERNAL = 2,
-};
-
-struct hci_cbk_node_stru {
- const struct hci_cbk_line_stru *table;
- uint32_t size;
- uint8_t type;
-};
-
-enum { /* action in struct hci_qo_s_cbk_node_stru *f */
- HCI_QOS_ACTION_GO = 0,
- HCI_QOS_ACTION_STOP = 1
-};
-
-struct hci_qo_s_cbk_node_stru { /* for hci_qos_reg */
- void (*f)(uint8_t action); /* etc, HCI_QOS_ACTION_GO */
- uint8_t idx; /* to match Unreg with Reg */
-};
-
-/* cbk arg for HCI_EVO_COMMAND_ERROR, also for L2 command finish/cancel */
-struct hci_command_error_stru {
- uint16_t status; /* Extended by HCI_STATUS_RTX, include COMMAND_STATUS failed */
- uint16_t opcode; /* HCI_OPC_ */
- uint8_t req[1]; /* Varable length, visit as void *, check platform CPU */
-};
-
-/* -----------------------------------------------------------------------------
-Description:
- Level 2 Command Node Queue finished callback.
------------------------------------------------------------------------------ */
-typedef void (hci_l2queue_cbk_func)(HANDLE hdl, void *context, struct hci_command_error_stru *arg, uint16_t len);
-
-#define HCI_COMMAND_MASK_TRANSPARENT 0x01 /* The input command parameter is in the PDU format */
-
-struct hci_command_node_stru { /* Level 1 command node */
- struct fsm_timer *timer; /* RTX/ERTX Timer */
- void *par; /* raw structure for context. */
- void *context; /* application context pointer */
- hci_l2queue_cbk_func *qcbk; /* Level 2 queue, when this command finished for any reason, cbk */
- uint16_t opcode; /* etc: HCI_OPC_INQUIRY */
-#ifndef CONFIG_HCI_NEW_STREAM_STRUCT_CONVERSION
- uint16_t struinfo; /* Command & Return structure convert info */
-#endif
- /* Waiting for this event for complete, if command op may wait more than 1 event, check table for patch */
- uint8_t evindex;
- uint8_t mask; /* HCI_COMMAND_MASK_TRANSPARENT */
-#ifdef CONFIG_HCI_NEW_STREAM_STRUCT_CONVERSION
- uint8_t par_stru_len; /* length of par, which is a struct */
- uint8_t recv_cmd_status_evt; /* FALSE: Hasn't received cmd_status_evt, TRUE: Has received cmd_status_evt */
-#endif
- uint8_t ampid;
- void *_rom;
-};
-
-struct hci_command_queue_stru { /* Level 2 command queue node */
- struct bth_list_stru list; /* node is struct hci_command_node_stru */
- hci_l2queue_cbk_func *qcbk; /* Use to cbk when queue finished */
- /* cbk arg by caller, this shall be a unique memory address used as a marker of this l2 queue */
- void *context;
- uint8_t ampid; /* target controller id */
-};
-
-union hci_set_event_filter_condition_in_union {
- struct hci_set_event_filter_condition_in_stru {
- uint8_t class_of_device[3];
- uint8_t class_of_device_mask[3];
- } c;
- uint8_t bd[6];
-};
-
-struct hci_set_event_filter_in_stru { /* UI Interface for hci_set_event_filter */
- uint8_t filter_type;
- uint8_t filter_condition_type; /* optional */
- union hci_set_event_filter_condition_in_union condition;
- uint8_t auto_accept_flag; /* optional */
-};
-
-enum { /* flag in struct hci_inquiry_in_stru */
- HCI_INQUIRY_FLAG_ENTER_PERIOIDIC_MODE = 0,
- HCI_INQUIRY_FLAG_EXIT_PERIOIDIC_MODE = 1,
- HCI_INQUIRY_FLAG_INQUIRY = 2,
- HCI_INQUIRY_FLAG_INQUIRY_CANCEL = 3,
-
- HCI_INQUIRY_FLAG_CLASS_OF_DEVICE = 0x80, /* Set_Event_Filter */
- HCI_INQUIRY_FLAG_BD = 0x40, /* Set_Event_Filter */
- HCI_INQUIRY_FLAG_SET_EVENT_FILTER = (HCI_INQUIRY_FLAG_CLASS_OF_DEVICE | HCI_INQUIRY_FLAG_BD)
-};
-
-struct hci_inquiry_in_stru { /* input arg for hci_inquiry */
- hci_l2queue_cbk_func *cbk;
- void *context;
- uint16_t max_period_len;
- uint16_t min_period_len;
- uint8_t lap[3];
- uint8_t inquiry_len;
- uint8_t num_responses;
- uint8_t flag; /* HCI_INQUIRY_FLAG_xxx */
- union hci_set_event_filter_condition_in_union condition;
-};
-
-struct hci_eir_data_node_stru { /* Node in hci_extended_inquiry_response_decode */
-#ifdef CONFIG_SUB_STRUCTURE_ALIGNED_FIXED
- uint8_t padding[2]; /* For ARM Linux GCC, substru is algined by 4 octets */
-#endif
- uint8_t len; /* 1 type + x length */
- uint8_t eir_data_type; /* etc:HCI_EIR_DATATYPE_FLAGS */
- union {
- /* General data pointer */
- uint8_t p[1];
-
- /* HCI_EIR_DATATYPE_SHORTENED_LOCAL_NAME,
- HCI_EIR_DATATYPE_COMPLETE_LOCAL_NAME */
- struct hci_eir_data_name_stru {
- uint8_t data[1]; /* len - 1 octets */
- } name;
-
- /* HCI_EIR_DATATYPE_FLAGS */
- uint8_t flags; /* etc, HCI_EIR_FLAGS_BREDR_NOT_SUPPORTED */
-
- /* HCI_EIR_DATATYPE_MANUFACTURER_SPECIFIC_DATA */
- struct hci_eir_data_manufacturer_data_stru {
- uint8_t company_identifier_code[2];
- uint8_t data[1]; /* len - 1 - 2 octets */
- } manufacturer_data;
-#ifdef ENABLE_CHANGE_DEVICE_NAME
- /* HCI_EIR_DATATYPE_MANUFACTURER_SPECIFIC_DATA */
- struct hci_eir_data_device_id_stru {
- uint8_t vendor_id_src[2]; // two bytes in device id profile
- uint8_t vendor_id[2]; // two bytes in device id profile
- uint8_t product_id[2]; // two bytes in device id profile
- uint8_t version[2]; // two bytes in device id profile
- } device_id_data;
-#endif
- /* HCI_EIR_DATATYPE_TX_POWER_LEVEL */
- uint8_t tx_power_level; /* -127 to + 127dBm, pathloss = Tx Power Level - RSSI */
-
- /* HCI_EIR_DATATYPE_SLAVE_CONNECTION_INTERVAL_RANGE, only for LE AD */
- struct hci_eir_data_slave_connection_interval_range_stru {
- uint8_t conn_interval_min[2];
- uint8_t conn_interval_max[2];
- /* The first 2 octets defines the minimum value for the connection interval, the second 2oct for maximum */
- } slave_connection_interval_range;
-
- /* HCI_EIR_DATATYPE_INCOMPLETE_LIST_OF_16BIT_SERVICE_CLASS_UUIDS,
- HCI_EIR_DATATYPE_COMPLETE_LIST_OF_16BIT_SERVICE_CLASS_UUIDS,
- HCI_EIR_DATATYPE_LIST_OF_16BIT_SERVICE_SOLICITATION_UUIDS,
- HCI_EIR_DATATYPE_INCOMPLETE_LIST_OF_32BIT_SERVICE_CLASS_UUIDS,
- HCI_EIR_DATATYPE_COMPLETE_LIST_OF_32BIT_SERVICE_CLASS_UUIDS,
- HCI_EIR_DATATYPE_LIST_OF_32BIT_SERVICE_SOLICITATION_UUIDS,
- HCI_EIR_DATATYPE_INCOMPLETE_LIST_OF_128BIT_SERVICE_CLASS_UUIDS,
- HCI_EIR_DATATYPE_COMPLETE_LIST_OF_128BIT_SERVICE_CLASS_UUIDS,
- HCI_EIR_DATATYPE_LIST_OF_128BIT_SERVICE_SOLICITATION_UUIDS */
- uint8_t uuid[1]; /* 2,4,or 16 octets */
-
- /* HCI_EIR_DATATYPE_SERVICE_DATA_16BIT_UUID */
- struct hci_eir_data_service_data16stru {
- uint8_t uuid16[2];
- uint8_t data[1]; /* len - 1 - 2 octets */
- } service_data16;
-
- /* HCI_EIR_DATATYPE_SERVICE_DATA_32BIT_UUID */
- struct hci_eir_data_service_data32stru {
- uint8_t uuid32[4];
- uint8_t data[1]; /* len - 1 - 4 octets */
- } service_data32;
-
- /* HCI_EIR_DATATYPE_SERVICE_DATA_128BIT_UUID */
- struct hci_eir_data_service_data128stru {
- uint8_t uuid128[16];
- uint8_t data[1]; /* len - 1 - 16 octets */
- } service_data128;
-
- /* HCI_EIR_DATATYPE_APPEARANCE, only for LE AD */
- uint8_t appearance[2];
-
- /* HCI_EIR_DATATYPE_PUBLIC_TARGET_ADDRESS,
- HCI_EIR_DATATYPE_RANDOM_TARGET_ADDRESS, only for LE AD */
- uint8_t addr[6]; /* Multiples of 6 octets */
-
- /* HCI_EIR_DATATYPE_LE_BLUETOOTH_DEVICE_ADDRESS, only for LE AD */
- /* The least significant bit of the most significant octet defines if the Device Address is a
- Public Address or a Random Address. LSB = 1 Then Random Device Address.
- LSB = 0 Then Public Device Address. Bits 1 to 7 in the most significant octet are reserved for future use */
- uint8_t leaddr[7]; /* 7 octets */
-
- /* HCI_EIR_DATATYPE_LE_ROLE */
- uint8_t le_role; /* etc, HCI_LE_ROLE_ONLY_PERIPHERAL_ROLE_SUPPORTED */
-
- /* HCI_EIR_DATATYPE_ADVERTISING_INTERVAL, only for LE AD */
- uint8_t advertising_interval[2]; /* Units: 0.625 msec */
-
- /* Following only for Vol3, Part C, 5.2.2.7 OOB data Block format */
- /* HCI_EIR_DATATYPE_CLASS_OF_DEVICE */
- uint8_t class_of_device[3];
-
- /* HCI_EIR_DATATYPE_SIMPLE_PAIRING_HASH_C192 */
- /* HCI_EIR_DATATYPE_SIMPLE_PAIRING_HASH_C256 */
- uint8_t simple_pairing_hash_c[16]; /* 16 octets */
-
- /* HCI_EIR_DATATYPE_SIMPLE_PAIRING_RANDOMIZER_R192 */
- /* HCI_EIR_DATATYPE_SIMPLE_PAIRING_RANDOMIZER_R256 */
- uint8_t simple_pairing_randomizer_r[16]; /* 16 octets */
-
- /* HCI_EIR_DATATYPE_LE_SECURE_CONNECTIONS_CONFIRMATION_VALUE */
- uint8_t lesc_confirmation[16];
-
- /* HCI_EIR_DATATYPE_LE_SECURE_CONNECTIONS_RANDOM_VALUE */
- uint8_t lesc_random[16];
- } u;
-}; /* all member uint8_t, so no pendding at all, visit from &node->len */
-
-/* ACL link auto-sniff, by YDX, 2019.3.20 */
-struct hci_auto_sniff_par_stru {
- uint8_t idle_time; /* Idle time in seconds before entering sniff mode */
- uint16_t sniff_max_interval; /* sniff maximum interval */
- uint16_t sniff_min_interval; /* sniff minimum interval */
- uint16_t sniff_attempt; /* sniff attempt */
- uint16_t sniff_timeout; /* sniff timeout */
-};
-
-struct hci_auto_sniff_req_stru {
- uint8_t bd[6];
- struct hci_auto_sniff_par_stru *par;
-};
-
-/* --------------------------------------------------------------------------- */
-/* callback for HCI_EVO_Events */
-/* --------------------------------------------------------------------------- */
-enum {
- /* Local born without buffer size, without BD, just used to active waiting, for TL-REG caller */
- HCI_LOCALCONTROLLER_TLREG_FINISH,
- HCI_LOCALCONTROLLER_REMOVE, /* Local controller removed */
- HCI_LOCALCONTROLLER_NOTIFY_BUFFER_SIZE, /* ACL/LE buffer size, or data block size */
- HCI_LOCALCONTROLLER_NOTIFY_AMPINFO, /* AMP status notify, temply saved in le_status */
- HCI_LOCALCONTROLLER_NOTIFY_BREDR_LE_CAP /* BREDR or LE or DuleMode */
-};
-
-struct hci_local_controller_changed_stru { /* par of HCI_EVO_LOCALCONTROLLER_CHANGED */
- HANDLE tl_hdl;
- struct hci_address_stru addr; /* Local Read_BDADDR for BD and feature to get cap */
- uint16_t max_pdusize; /* 1500 */
- uint8_t ampid; /* HCI_AMPID_BREDR */
- uint8_t action; /* etc: HCI_LOCALCONTROLLER_TLREG_FINISH */
- uint8_t amp_status; /* HCI_AMP_STATUS_NO_CAPACITY */
- uint8_t cap; /* etc: HCI_ADDRESS_CAP_LE */
-};
-
-#define HCI_MPN 2 /* 2*uint,64bits,enough? */
-
-typedef struct {
- uint32_t num[HCI_MPN];
-} hci_mp_int;
-
-enum { /* dcounter[x] in struct hci_local_stru */
- HCI_DCOUNTER_SEND,
- HCI_DCOUNTER_RECV
-};
-
-struct hci_info_read_local_stru {
- struct hci_address_stru br_addr; /* BREDR address - Shall be all 0s in LE-only mode */
- /* Identity address - May be public or static if LE supported. Otherwise, shall be all 0s. */
- struct hci_address_stru id_addr;
- /* Random address - May be all 0s, or RPA, or None-RPA if LE supported. Otherwise, shall be all 0s. */
- struct hci_address_stru rd_addr;
- hci_mp_int dcounter[2]; /* etc: HCI_DCOUNTER_SEND */
- uint8_t hci_version;
- uint8_t ampid;
-};
-
-#define HCI_REMOTE_INFO_SRC_INQUIRY 1
-#define HCI_REMOTE_INFO_SRC_CONNECT_REQ 2
-/* The upper two provide device_of_class */
-#define HCI_REMOTE_INFO_SRC_ADV_REPORT 3
-#define HCI_REMOTE_INFO_SRC_SCAN_RESPONSE 4
-#define HCI_REMOTE_INFO_SRC_REMOTE_FEATURES 5
-#define HCI_REMOTE_INFO_SRC_OTHER 0xFF
-
-struct hci_remote_info_stru {
- /* Could be Public from BREDR, from LE, or Random from LE, or converted by SMP into public, just a reference */
- struct hci_address_stru addr;
- uint8_t src; /* HCI_REMOTE_INFO_SRC_INQUIRY_RESULT etc. */
- /* etc, HCI_CLASS_OF_DEVICE_LIMITED_DISCOVERABLE_MODE, 23~13 for bitmask, 12~8 for enum major, 7~2 for minor,
- 1~0 are 0 */
- uint8_t class_of_device[3];
- uint8_t page_scan_repetition_mode; /* etc: HCI_PAGE_SCAN_REPETITION_MODE_R2 */
-
- /* BR/EDR Range: -128 <= N <= 127 (signed integer) Units: dB */
- /* AMP: Range: AMP type specific (signed integer) Units: dBm */
- /* LE: Range: -127 to 20, 127 (signed integer) Units: dBm */
- uint8_t rssi;
- uint8_t eir_len;
- uint8_t eir[1]; /* Variable length */
-};
-
-/* SDU segment flag */
-enum {
- QOS_SDU_START = 0x01, /* 0x01 start of SDU, a bitmask */
- QOS_SDU_END = 0x80, /* 0x80 end of SDU, a bitmask */
- QOS_SDU_CONTINUE = 0x02 /* 0x02, not start, not end */
-};
-
-struct hci_l2cap_data_cfm_stru { /* QoS DataCfm */
- uint16_t cid;
-};
-
-struct hci_info_read_link_security_stru { /* = struct HCI_ACLLinkSecurityStru part */
- uint16_t mask; /* etc: HCI_SECURITY_AUTHENTICATE, HCI_SECURITY_LINKKEY */
-};
-
-struct hci_info_read_le_size_number_stru { /* All LE Controller size or number limitations */
- uint8_t white_list_size; /* White list size */
- uint8_t resolving_list_size; /* Resolving list size */
- uint16_t max_adv_data_length; /* Maximum advertising data length */
- uint8_t number_of_adv_sets; /* Number of advertising sets supported */
- uint8_t prd_dev_list_size; /* Periodic advertiser list size */
-
- void *_rom;
-};
-enum { /* result of struct hci_security_author_req_stru */
- HCI_SECURITY_AUTHOR_PASS,
- HCI_SECURITY_AUTHOR_NOTALLOW
-};
-
-struct hci_security_author_req_stru { /* par of HCI_EVO_AUTHORIZATION_REQUEST */
- struct hci_address_stru addr[2]; /* x in HCI_LOCAL */
- uint16_t hcihdl; /* Based on a link object */
- uint16_t channel; /* PSM for L2CAP Server channel for RFCOMM */
- uint8_t proto_id; /* etc: PROT_L2CAP, PROT_RFCOMM */
- uint8_t result; /* etc: HCI_SECURITY_AUTHOR_PASS */
-};
-
-enum { /* parameter values of hci_le_set_op_report_stru::op_id */
- HCI_LE_SETOP_SET_ADV_ENABLE,
- HCI_LE_SETOP_CURRENT_ADV_STATE, /* Report current advertising state */
- HCI_LE_SETOP_ADV_NOT_ALLOWED, /* Advertising can't be enabled/disabled */
- HCI_LE_SETOP_SET_SCAN_ENABLE,
- HCI_LE_SETOP_CURRENT_SCAN_STATE, /* Report current scan state */
- HCI_LE_SETOP_SCAN_NOT_ALLOWED, /* LE scan can't be enabled/disabled */
-
- HCI_LE_SETOP_RANDOM_ADDR_UPDATE, /* Local random address is updated */
-};
-
-/* Parameter values of HCI_EVO_LE_SET_SCAN_ADV_STEP */
-struct hci_le_set_op_report_stru {
- uint8_t op_id; /* Operation being executed */
- uint8_t op_value; /* 0 - Disable 1 - Enable. */
-};
-
-/* Parameter values of HCI_EVO_PAIRCFM_ASK4 */
-struct hci_security_pair_cfm_ask4stru {
- uint8_t remote_bd[6]; /* remote BD_ADDR */
- uint8_t initiator; /* 0 - Remote initiates pairing 1 - Local initiates pairing */
- uint8_t bond; /* HCI_BOND_NOBOND/HCI_BOND_DEDICATED/HCI_BOND_GENERAL */
-};
-
-/* Parameter values of HCI_EVO_ENCRYPTION_CHANGED */
-struct hci_security_encryption_changed_stru {
- uint8_t remote_bd[6]; /* remote BD_ADDR */
- uint8_t encryption_result; /* encryption result */
-};
-
-enum { /* HCI Command Error Internal reason */
- HCI_STATUS_NO_FLOWCONTROL = 0x0100, /* for HCI_OPC_HOST_NUMBER_OF_COMPLETED_PACKETS */
- HCI_STATUS_NOT_SUPPORTED,
- HCI_STATUS_RTX,
- HCI_STATUS_CANCELED,
- HCI_STATUS_LOCAL_CONTROLLER_REMOVED,
- HCI_STATUS_MITM_NOT_SATISIFIED, /* Were requested for MITM, but for IO or other reason, result is non_MITM */
- HCI_STATUS_LINK_DISCONNECTED, /* Some link-related cmd should be removed when link disconnected */
-};
-
-enum { /* For hci_cbk Additional event section in struct HCI_EvCBKStru, added enum for HCI_EVI_xxx */
- HCI_EVO_ACLLINK = HCI_EVI_ENDLINE, /* Create/Delete/1st Ready, struct hci_link_cbk_stru */
- HCI_EVO_LELINK, /* LE, struct hci_link_cbk_stru */
- /* eSCO, HCI_EVI_CONNECTION_REQUEST, waiting for Connection_Response */
- HCI_EVO_ESCOLINK,
- HCI_EVO_LOCALCONTROLLER_CHANGED, /* struct hci_local_controller_changed_stru */
- HCI_EVO_REMOTECONTROLLER_CHANGED, /* struct hci_remote_info_stru */
- HCI_EVO_ACL_DATA_IND, /* struct buff_stru */
- HCI_EVO_PHY_DATA_IND, /* struct buff_stru */
- HCI_EVO_LE_DATA_IND, /* struct buff_stru */
- HCI_EVO_SCO_DATA_IND, /* struct buff_stru */
-
- /* HCI Internal filter event from EVI_ */
- HCI_EVO_COMMAND_ERROR, /* Command Terminate reason for OpCbk, struct hci_command_error_stru */
- /* Shall Register OPC(Cover Error) before EVI(Cover Passive) with one function */
-
- HCI_EVO_AUTHORIZATION_REQUEST, /* struct hci_security_author_req_stru */
- HCI_EVO_AUTHORIZATION_ABORT, /* struct hci_security_author_req_stru */
- /* struct hci_user_confirmation_request_ev_stru, Popup a window and display something */
- HCI_EVO_SECURITY_DISPLAY,
- HCI_EVO_LINK_KEY_SAVE, /* struct hci_security_link_key_save_stru, app to save bonded linkkey */
- HCI_EVO_LINK_KEY_ASK4, /* struct hci_security_link_key_ask4stru, ask for linkkey */
- HCI_EVO_PIN_CODE, /* struct hci_pin_code_request_ev_stru, ask for PINCode */
- HCI_EVO_COMMAND_COMPLETE, /* return parameter in command_complete */
- HCI_EVO_LOOPBACK, /* struct hci_loopback_command_ev_stru */
- HCI_EVO_L2CAP_DATACFM, /* struct hci_l2cap_data_cfm_stru */
- HCI_EVO_REMOTE_OOB_DATA_REQUEST, /* struct hci_remote_oob_data_request_stru */
- HCI_EVO_NO_FLOW_CONTROL, /* NULL */
- HCI_EVO_LE_SET_OP_REPORT, /* struct hci_le_set_op_report_stru */
- HCI_EVO_PAIRCFM_ASK4, /* struct hci_security_pair_cfm_ask4stru */
- HCI_EVO_ENCRYPTION_CHANGED, /* struct hci_security_encryption_changed_stru */
-
- HCI_EVO_GLELINK,
- HCI_EVO_GLE_DATA_IND,
-};
-
-enum { /* Bitmask in hci_acl_link_ref */
- /* input r is the acllink object, no need to find again */
- HCI_ACLLINK_ACLOBJECT = 0x8000,
- HCI_ACLLINK_LE = 0x4000,
-
- /* UI interface */
- HCI_ACLLINK_REF_BREDR = (0x0001),
- HCI_ACLLINK_REF_LE = (0x0002 | HCI_ACLLINK_LE)
-};
-
-enum { /* Job in struct hci_link_cbk_stru, for HCI_EVO_LELINK & HCI_EVO_ACLLINK */
- HCI_LINKCBK_CREATE, /* to create a shadow obj */
- HCI_LINKCBK_DELETE, /* Disconnected, kill shadow obj */
- HCI_LINKCBK_CONNECTED, /* Connected, Notify hcihdl, address, role, etc */
- HCI_LINKCBK_READY /* Ready to use the link for upper */
-};
-
-enum { /* mask in HCI_Set_Channel_Classification */
- HCI_SETAFH_OCCUPY = 0x01, /* otherwise release */
- HCI_SETAFH_SENDCMD = 0x02 /* or later */
-};
-
-enum { /* mask in struct hci_link_stru / struct hci_link_cbk_stru */
- /* Local initiated connection, local manage disconnect of the link */
- HCI_ACLMASK_INITIATOR = 0x01,
- /* Before connection complete is judged, two bits may exist simultaneously */
- HCI_ACLMASK_ACCEPTOR = 0x08,
- /* Connection complete OK/ACL already exist received, only disconnect can kill link */
- HCI_ACLMASK_CONNECTION_COMPLETED = 0x10,
-
- /* Master or Slave(Unknown yet), only for LE since Role_Change is not watched */
- HCI_ACLMASK_MASTER = 0x02,
- HCI_ACLMASK_RECVDATA_TAIL_UNCOMPLETE = 0x04 /* Recedata list tail node is a uncomplete L2CAP segments head
- or is complete but waiting for link status change to ready(GetRemoteInfo) */
-};
-
-enum { /* addr[x] in struct hci_link_cbk_stru */
- HCI_LOCAL = 0,
- HCI_REMOTE = 1
-};
-
-enum {
- BTH_LINK_BR = 0,
- BTH_LINK_BLE = 1,
- BTH_LINK_GLE = 2,
-};
-struct hci_link_cbk_stru { /* Cbk arg of hci_acl_link_cbk */
- void *hci; /* Host link handle */
- uint16_t hdl; /* Controller link handle */
- /* HCI_LOCAL(Current used) & HCI_REMOTE(Public/Static Prefered, or CurLink) */
- struct hci_address_stru addr[2];
- uint8_t mask; /* etc: HCI_ACLMASK_INITIATOR, This is only valid when ready */
- uint8_t job; /* etc: HCI_LINKCBK_CREATE */
- uint8_t reason; /* etc: HCI_STATUS_CONNECTION_FAILED_TO_BE_ESTABLISHED */
-
- void *_rom;
-};
-
-struct hci_physical_link_stru { /* in of HCI_PhysicalLink */
- void *acllink; /* As handle */
- uint8_t *assoc; /* Remote assoc, sub mem */
- uint32_t opscode; /* HCI_OPS_ACCEPT_PHYSICAL_LINK or HCI_OPS_CREATE_PHYSICAL_LINK */
- uint16_t assoc_len;
- uint8_t phyhdl;
- uint8_t ampid;
-
- void *_rom;
-};
-
-enum { /* fea in struct smp_key_stru */
- SMP_KEYFEA_ECDH = 0x01, /* By ECDH */
- SMP_KEYFEA_MITM = 0x02, /* Authenticated */
- SMP_KEYFEA_LTK_SEND = 0x04, /* Ability to been encrypt as a slave */
- SMP_KEYFEA_LTK_RECV = 0x08, /* Ability to encrypt as a master */
- SMP_KEYFEA_CSRK_ENCODE = 0x10, /* Ability to encode the signing data */
- SMP_KEYFEA_CSRK_DECODE = 0x20, /* Ability to decode/verify the signing data */
- SMP_KEYFEA_IRK_SEND = 0x40, /* Ability to use RPA, remote could recognize */
- SMP_KEYFEA_IRK_RECV = 0x80 /* Ability to decode remote`s RPA */
-};
-
-struct smp_key_stru { /* Master role security database */
- /* as Security Level, both side share this length, by pairing_request and response min */
- uint8_t ltk_len;
- uint8_t fea; /* etc, SMP_KEYFEA_ECDH */
-
- /* Local sent to remote information */
- uint8_t div[2]; /* 16bits, 2octets, Peripherial(slave) distributed DIV for remote(Master) */
-
- /* Remote sent to local, or LESC derived on both sides */
- uint8_t ltk[16]; /* corresponding to Public/Static address or IRK(RPA) */
- uint8_t ediv[2]; /* eDIV and Rand are only used in legacy LTK encryption(no LESC) */
- uint8_t rand[8]; /* Encryption keys */
- uint8_t irk[16]; /* Resolveable address */
- /* Signature, CSRK_DECODE. CSRK_ENCODE is generated by d1(ER, DIV, 1) locally */
- uint8_t csrk[16];
-};
-
-struct smp_key_store_stru { /* Keys that indexes by addr */
- struct hci_address_stru addr; /* peer address, is dule-mode? */
- struct smp_key_stru key; /* Bonding information */
-};
-#define HCI_SEC_LINKKEY_MAX_LEN 16
-struct hci_security_remote_stru {
- /* from hci_ev_io_capability_response */
- uint8_t io_capability; /* [033],Enum */
- uint8_t authentication_requirements; /* [035],Enum, Remote */
-
- uint8_t pin_code_len; /* Default PINCode Length, if 0, PINCode not valid */
- uint8_t pin_code[HCI_PIN_CODE_MAX_LEN]; /* Default PINCode */
-
- /* Remote OOB info, local have peer`s */
- /* Local recieves Remote`s OOB, [034],Enum etc, HCI_OOB_DATA_PRESENT_OOB_AUTHENTICATION_DATA_NOT_PRESENT */
- uint8_t oob_data_present;
-
- /* LE Keys by SMP */
- struct smp_key_stru *lekey;
- /* Local send OOB to Remote, OOB need to generate PK[LOCAL] and R[Local] before pairing,
- sk[32] + pk[64] + tk(r)[16] */
- uint8_t *oob_pkr;
-
- /* align */
- struct bth_list_stru reqlist; /* struct hci_security_node_stru */
- uint16_t mask; /* etc: HCI_SECURITY_AUTHENTICATE, HCI_SECURITY_LINKKEY */
- uint8_t link_key[HCI_SEC_LINKKEY_MAX_LEN];
- uint8_t key_type; /* etc: HCI_KEY_TYPE_COMBINATION_KEY */
- /* Pairing Failes 3 consecutive times, ACLLink disconnect with error code 0x05 - Authentication Failure */
- uint8_t fail_counter;
-};
-
-struct hci_remote_oob_data_request_stru {
- uint8_t bd[BD_ADDR_LEN];
- /* 0 = HCI_OPS_REMOTE_OOB_DATA_REQUEST_REPLY / 1 = HCI_OPS_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY */
- uint8_t extended;
-};
-
-enum { /* mask in struct hci_remote_stru */
- /* hci_ev_read_remote_extended_features or hci_ev_remote_host_supported_features_notification */
- HCI_REMOTEMASK_CONTROLLER_FEATURES = 0x01, /* Page 0 */
- HCI_REMOTEMASK_HOST_FEATURES = 0x02, /* Page 1, When got remote host features, don`t ask again */
- /* Got remote IO Capability Response, use to detect Request before or after Response */
- HCI_REMOTEMASK_IO_CAPABILITY_RESPONSE = 0x04,
- HCI_REMOTEMASK_IO_CAPABILITY_REQUEST = 0x08,
- HCI_REMOTEMASK_IO_CAPABILITY_ROUND =
- (HCI_REMOTEMASK_IO_CAPABILITY_REQUEST | HCI_REMOTEMASK_IO_CAPABILITY_RESPONSE),
- HCI_REMOTEMASK_BREDR_PAIRING_ONPROGRESS = 0x10,
- /* When start inquiry or scan, set this cap to die if not seen */
- HCI_REMOTEMASK_TO_DIE = 0x20,
- HCI_REMOTEMASK_ASK4_LINK_KEY = 0x40, /* When asking for Link Key from the APP */
- HCI_REMOTEMASK_ASK4_PAIRING_CONFIRMATION = 0x80
-};
-
-enum {
- HCI_REMOTE_MIN = 0,
- HCI_REMOTE_MAX = 1
-};
-
-#define HCI_LMP_FEATURE_MAX_PAGE 3 /* 0, 1, 2, for local & remote */
-
-struct hci_remote_stru { /* Only Remote Primary BREDR/LE controller, AMP is not a remote obj */
- struct hci_security_remote_stru sec;
- /* etc: HCI_ADDR_IDENTITY, HCI use current address, whatever type it is, the address for controller */
- struct hci_address_stru addr[2];
- /* etc: HCI_REMOTE_MIN, Min, Max, [210],Time, From AD Perpherial Perfered Parameter */
- uint16_t conn_interval[2];
- uint16_t clock_offset; /* etc: HCI_CLOCK_OFFSET_VALID | x */
- uint8_t cap; /* etc: HCI_ADDRESS_CAP_LE */
- uint8_t page_scan_repetition_mode; /* etc: HCI_PAGE_SCAN_REPETITION_MODE_R0 */
- uint16_t mask; /* etc: HCI_REMOTEMASK_HOST_FEATURES */
- /* extended features 8 pages? current allocate 3 page? need bitmask if we have already asked */
- uint8_t lmp_features[HCI_LMP_FEATURE_MAX_PAGE][8];
- void *_gle;
-};
-
-enum { /* mode in struct HCI_SecuritySetModeStru */
- HCI_SECURITY_MODE1, /* No Security, Forbidden in 2.1, expection is SDP */
- HCI_SECURITY_MODE2, /* Service Level Security, 3 & 1 is part of 2, so treat as 2 */
- HCI_SECURITY_MODE3, /* Link Level Security, HCI_OPS_WRITE_AUTHENTICATION_ENABLE */
- /* Mode2, but Forced to Auth/Encrypt, expection is SDP, HCI_OPC_WRITE_SIMPLE_PAIRING_MODE */
- HCI_SECURITY_MODE4
-};
-
-enum { /* Additional enum bit mask identifies the types of Security OOB data available */
- HCI_OOB_DATA_NOT_PRESENT = 0x00,
- HCI_OOB_DATA_P192_CR_VALUE_PRESENT = 0x01,
- HCI_OOB_DATA_P256_CR_VALUE_PRESENT = 0x02,
- HCI_OOB_DATA_P192_AND_P256_CR_VALUE_PRESENT = 0x03,
- HCI_OOB_DATA_SMP_TK_VALUE_PRESENT = 0x10,
- HCI_OOB_DATA_SECURE_SMP_CR_VALUE_PRESENT = 0x20,
- HCI_OOB_DATA_SMP_TK_AND_SECURE_SMP_CR_VALUE_PRESENT = 0x30
-};
-
-struct hci_security_remote_oob_stru { /* Remote Controller Security OOB data */
- struct hci_address_stru addr; /* Remote Addr */
-
- /* Direction for: HCI_OPS_IO_CAPABILITY_REQUEST_REPLY and SMP Pairing_Request / Security_Request */
- /* [034],Enum etc, HCI_OOB_DATA_PRESENT_OOB_AUTHENTICATION_DATA_NOT_PRESENT */
- uint8_t oob_data_present;
-};
-
-struct hci_security_link_key_recover_stru { /* in of hci_security_link_key_recover */
- uint8_t bd[BD_ADDR_LEN]; /* [123],Val */
- uint8_t link_key[HCI_SEC_LINKKEY_MAX_LEN]; /* [173],Val */
- uint8_t key_type; /* etc: HCI_KEY_TYPE_COMBINATION_KEY */
- uint8_t accept; /* TRUE for Reply or recover key, FALSE for Negative Reply */
-};
-
-enum { /* mask in struct hci_security_node_stru */
- /* authentication, ask this device is allowed or not? we are initiator of HCI_Authentication_Requested */
- HCI_SECURITY_AUTHENTICATE = 0x0001,
- HCI_SECURITY_AUTHORIZE = 0x0002, /* authorization, popup to ask if this PSM is allowed? */
- HCI_SECURITY_ENCRYPT = 0x0004, /* encryption is required on node, encrypted on remote */
- HCI_SECURITY_MITM = 0x0008, /* authentication with keytype check for MITM, Level 3 */
- HCI_SECURITY_P256 = 0x0010, /* AES-CCM, P256 ECDH */
- /* Incoming channel, upper layer concept, this is not security direction! */
- HCI_SECURITY_INCOMING = 0x0020,
-
- /* Other internal masks for remote->sec.mask, also encrypt, mitm, p256, authenticate */
- /* Authorization callback ongoing, for abort, only for require node */
- HCI_SECURITY_AUTHORIZE_ONGOING = 0x8000,
- HCI_SECURITY_LINKKEY = 0x1000, /* LinkKey validation, go for authencation for it */
- HCI_SECURITY_BAD_LINKKEY = 0x0800, /* LinkKey Level not enough, a temp procedure mask */
- HCI_SECURITY_BONDED = 0x0400, /* Bonded, linkkey is bonded or unbonded(temp) */
- HCI_SECURITY_BONDABLE = 0x0200 /* Bondable */
-};
-
-enum { /* Result in Security callback */
- HCI_SECURITY_CBK_COMPLETE = 0,
- HCI_SECURITY_CBK_PENDDING = (1 << 16)
-};
-
-struct hci_security_info_stru { /* node in HCI_SECURITYLIST */
- uint16_t channel; /* PSM or server channel */
- uint16_t mask; /* etc: HCI_SECURITY_AUTHENTICATE */
- uint8_t proto_id; /* etc: PROT_L2CAP */
-};
-
-#ifdef BTH_AUDIO_OVER_DSP
-#pragma pack(2)
-struct hci_share_mem_for_voice_data_stru {
- uint16_t sync_hdl; /* connect handle */
- uint32_t stream_out_mem; /* memory for voice data transmission from dsp to BTC */
- uint32_t stream_in_mem; /* memory for voice data transmission from BTC to dsp */
- uint16_t enable; /* enable/disable the memory */
-};
-#pragma pack()
-#endif
-
-enum { /* Bond in struct hci_security_node_stru */
- HCI_BOND_NOBOND = 0, /* No Bond */
- HCI_BOND_DEDICATED = 1, /* Without a L2CAP/RFCOMM channel */
- HCI_BOND_GENERAL = 2 /* With a L2CAP/RFCOMM channel */
-};
-
-struct hci_security_node_stru { /* node in link->sec.reqlist */
- struct hci_security_info_stru info; /* Must in 1st item for searching */
- /* Security Caller cbk, HCI_SMCbkFunc *, but dead-lock called, so void *, for KEIL compile reason */
- void *cbk;
- uint16_t hcihdl; /* Based on a link object */
- uint8_t bond; /* etc: HCI_BOND_DEDICATED */
-};
-
-/* -----------------------------------------------------------------------------
-Description:
- Security Request ListNode callback.
------------------------------------------------------------------------------ */
-typedef void (HCI_SMCbkFunc)(struct hci_security_node_stru *node, uint32_t result);
-
-#define HCI_SECURITY_LINK_KEY_REQUEST_REPLY_STRU hci_security_link_key_recover_stru /* For compatibility */
-
-struct hci_security_link_key_ask4stru { /* HCI_EVO_LINK_KEY_ASK4 */
- uint8_t local_bd[BD_ADDR_LEN]; /* [123],Val */
- uint8_t remote_bd[BD_ADDR_LEN]; /* [123],Val */
-};
-
-struct hci_security_link_key_save_stru { /* HCI_EVO_LINK_KEY_SAVE */
- uint8_t local_bd[BD_ADDR_LEN]; /* [123],Val */
- uint8_t remote_bd[BD_ADDR_LEN]; /* [123],Val */
- uint8_t link_key[16]; /* [173],Val */
- uint8_t key_type; /* etc: HCI_KEY_TYPE_COMBINATION_KEY */
-};
-
-#ifdef CONFIG_JITWS
-/* Macro components of HCI_OPS_ */
-/* Ret struinfo offset or EVI selector bitmask */
-#define hci_ops2mask(ops_) (((uint16_t)ops_ >= 0xFC00)? 0:((ops_) & 0x8000))
-/* OPCode, remove 0x8000 bitmask */
-#define hci_ops2opc(ops_) (((uint16_t)ops_ >= \
- 0xFC00)?(uint16_t)(ops_):((uint16_t)((ops_) & 0x7FFF)))
-#ifdef CONFIG_HCI_NEW_STREAM_STRUCT_CONVERSION
-#define hci_ops2strulen(ops_) ((uint8_t)((ops_) >> 16)) /* struct lenght of opcode */
-#else
-#define hci_ops2reqoff(ops_) ((uint8_t)((ops_) >> 16)) /* Req struinfo offset */
-#endif
-#define hci_ops2retevi(ops_) ((uint8_t)((ops_) >> 24)) /* Ret struinfo offset or EVI */
-
-#define hci_set_off(p, evindex_) ((p)[(evindex_) >> 3] &= ~((1 << ((evindex_) & 7))))
-#define hci_set_bit(p, evindex_) ((p)[(evindex_) >> 3] |= (1 << ((evindex_) & 7)))
-#define hci_check_bit(p, evindex_) ((p)[(evindex_) >> 3] & (1 << ((evindex_) & 7)))
-#else
-
-/* Macro components of HCI_OPS_ */
-#define hci_ops2mask(ops_) ((ops_) & 0x8000) /* Ret struinfo offset or EVI selector bitmask */
-#define hci_ops2opc(ops_) ((uint16_t)((ops_) & 0x7FFF)) /* OPCode, remove 0x8000 bitmask */
-#ifdef CONFIG_HCI_NEW_STREAM_STRUCT_CONVERSION
-#define hci_ops2strulen(ops_) ((uint8_t)((ops_) >> 16)) /* struct lenght of opcode */
-#else
-#define hci_ops2reqoff(ops_) ((uint8_t)((ops_) >> 16)) /* Req struinfo offset */
-#endif
-#define hci_ops2retevi(ops_) ((uint8_t)((ops_) >> 24)) /* Ret struinfo offset or EVI */
-
-#define hci_set_off(p, evindex_) ((p)[(evindex_) >> 3] &= ~((1 << ((evindex_) & 7))))
-#define hci_set_bit(p, evindex_) ((p)[(evindex_) >> 3] |= (1 << ((evindex_) & 7)))
-#define hci_check_bit(p, evindex_) ((p)[(evindex_) >> 3] & (1 << ((evindex_) & 7)))
-#endif
-/* -----------------------------------------------------------------------------
-Description:
- HCI LE UI structures.
------------------------------------------------------------------------------ */
-/* Parameters of Extended Scan */
-struct hci_le_ext_scan_parameters_stru {
- /* Extended Scann Parameters */
- /* Policy to filter advertising packets, one of t_hci_scanning_filter_policy, e.g.
- HCI_SCANNING_FILTER_POLICY_ACCEPT_ALL */
- uint8_t scan_filter_policy;
- uint8_t scan_phys; /* Scanning PHYs, combination of t_hci_scanning_ph_ys, e.g. HCI_SCANNING_PHYS_1M */
- /* type of the scan of 1M PHY. one of t_hci_le_scan_type, e.g. HCI_LE_SCAN_TYPE_PASSIVE_SCANNING */
- uint8_t scan_type_1m;
- /* type of the scan of Coded PHY. one of t_hci_le_scan_type, e.g. HCI_LE_SCAN_TYPE_PASSIVE_SCANNING */
- uint8_t scan_type_coded;
- /* Parameters for 1M PHY */
- /* Time interval from when the Controller started its last scan until it begins the subsequent scan on the
- primary advertising channel, 0x0004 - 0xFFFF. N*0.625ms */
- uint16_t scan_interval_1m;
- /* Duration of the scan on the primary advertising channel, 0x0004 - 0xFFFF. N*0.625ms */
- uint16_t scan_window_1m;
- /* Parameters for 1M Coded PHY */
- /* Time interval from when the Controller started its last scan until it begins the subsequent scan on the
- primary advertising channel, 0x0004 - 0xFFFF. N*0.625ms */
- uint16_t scan_interval_coded;
- /* Duration of the scan on the primary advertising channel, 0x0004 - 0xFFFF. N*0.625ms */
- uint16_t scan_window_coded;
-};
-
-/* Parameters of Extended Scan Enable */
-struct hci_le_ext_scan_enable_stru {
- /* One of t_hci_filter_duplicates, e.g. HCI_FILTER_DUPLICATES_DUPLICATE_FILTERING_DISABLED */
- uint8_t filter_duplicate;
- uint8_t limited; /* e.g. LE_DISCOVERYMODE_GENERAL */
- uint16_t duration; /* Scan duration, 0x0001 - 0xFFFF. N*0.625ms */
- uint16_t period; /* Scan period, 0x0001 - 0xFFFF. N*1.28s */
-};
-
-struct hci_white_addr_list {
- uint8_t count;
- struct hci_controller_addr_node_stru *addr_list;
-};
-
-/* --------------------------------------------------------------------------- */
-/* UI Functions */
-/* --------------------------------------------------------------------------- */
-void hcih_init(void);
-#ifdef CONFIG_BT_STACK_DONE
-void hci_done(void);
-#endif
-void hci_cleanup(void);
-
-void hci_cbk_reg(const struct hci_cbk_line_stru *table, uint32_t size);
-void hci_cbk_prime_reg(const struct hci_cbk_line_stru *table, uint32_t size);
-void hci_cbk_un_reg(const struct hci_cbk_line_stru *table);
-void hci_cbk_un_reg_sync(const struct hci_cbk_line_stru *table);
-
-void hci_tl_reg(HANDLE tl_hdl, transport_layer_stru *func);
-void hci_tl_un_reg(HANDLE tl_hdl);
-
-void *hci_acl_link_ref(struct hci_address_stru *r, uint32_t flag);
-void hci_acl_link_un_ref(void *hci);
-void hci_acl_link_kill(void *hci);
-
-BOOL hci_get_remote_addr_by_acl_hdl(uint16_t conn_hdl, struct hci_address_stru *rmt_addr);
-BOOL hci_get_remote_link_key_by_acl_hdl(uint16_t conn_hdl, uint8_t *link_key);
-
-void hci_create_sco_connection(struct hci_create_scoui_stru *in);
-void hci_acl_connection_response(struct hci_acl_connection_response_ui_stru *in);
-void hci_synchronous_connection_response(struct hci_synchronous_connection_response_ui_stru *in);
-void hci_enhanced_synchronous_connection_response(
- struct hci_synchronous_enhanced_connection_response_ui_stru *in);
-void hci_set_default_link_role(uint8_t is_master);
-
-void hci_command_send_amp(void *context, void *par, uint32_t opscode, uint8_t ampid);
-void hci_command_send_vendor(void *context, void *par, uint16_t opcode, uint8_t evi, uint8_t paramlen, uint8_t ampid);
-void hci_commandl2_send_queue(struct hci_command_queue_stru *queue);
-/* context when create queue */
-#ifdef CONFIG_BREDR_HCI
-void hci_commandl2_cancel_queue(void *context, uint8_t ampid);
-#endif
-void hci_cmd_send_func(void *context, void *par, uint32_t opscode);
-#define hci_command_send(context_, par_, opscode_) hci_command_send_amp((context_), (par_), (opscode_), \
- HCI_AMPID_BREDR)
-
-struct hci_command_queue_stru *hci_commandl2_new_queue(hci_l2queue_cbk_func *cbk, void *context, uint8_t ampid);
-struct hci_command_node_stru *hci_commandl2_new_node(struct bth_list_stru *list, uint32_t opscode);
-struct hci_set_event_filter_stru *hci_set_event_filter(struct hci_set_event_filter_in_stru *in);
-void hci_controller_init(hci_l2queue_cbk_func *cbk, void *context, uint8_t ampid);
-void hci_controller_reconfig(hci_l2queue_cbk_func *cbk, void *context, uint8_t ampid);
-void *hci_inquiry(struct hci_inquiry_in_stru *in);
-void hci_disconnect(uint16_t connection_handle, hci_active_dis_reason reason);
-void hci_acl_data_send(struct buff_stru *data, uint32_t cid_hcihdl, uint8_t ampid);
-void hci_sco_data_send(struct buff_stru *data, uint16_t scohdl);
-void hci_set_auto_sniff(uint8_t *bd, struct hci_auto_sniff_par_stru *par);
-
-uint8_t hci_compare_addr(struct hci_address_stru *s, struct hci_address_stru *r);
-uint8_t hci_compare_bd(struct hci_address_stru *addr, const uint8_t *bd);
-uint8_t hci_compare_addr_non_0(struct hci_address_stru *s, struct hci_address_stru *r);
-uint8_t hci_compare_all_num(uint8_t *p, uint8_t num, uint32_t len);
-#ifdef NOT_USED_YET
-uint8_t hci_available_addr_cap(struct hci_address_stru *r);
-#endif
-uint8_t hci_available_addr_cap2(const struct hci_remote_stru *remote);
-uint8_t hci_secure_connection_supported(struct hci_remote_stru *remote);
-void hci_remote_new_cap_addr(struct hci_remote_stru *remote, struct hci_address_stru *r, uint8_t cap);
-struct hci_remote_stru *hci_remote_find_create(uint8_t *bd, uint8_t atype, uint8_t cap);
-void hci_remote_change_notify(uint8_t src, struct hci_remote_stru *remote, uint8_t *class_of_device, uint8_t rssi,
- uint8_t *eir, uint8_t eir_len);
-
-uint8_t hci_extended_inquiry_response_encode(struct bth_list_stru *in, uint8_t *out, uint8_t *end);
-uint8_t hci_extended_inquiry_response_decode(struct bth_list_stru *list, uint8_t *eir, uint8_t *end);
-
-struct hci_info_read_local_stru *hci_info_read_local(uint8_t ampid);
-void hci_info_read_link_security(struct hci_info_read_link_security_stru *out, void *acl);
-void hci_info_read_le_size_number(struct hci_info_read_le_size_number_stru *out, uint8_t ampid);
-
-void hci_security_set_bondable(uint8_t bondable);
-void hci_security_set_oob(struct hci_security_remote_oob_stru *in);
-void hci_security_read_local_oob_data(void);
-void hci_security_set_local_io(uint8_t io_capability);
-void hci_security_request(struct hci_security_node_stru *in);
-void hci_security_abort(struct hci_security_node_stru *in);
-void hci_security_authorized(struct hci_security_author_req_stru *in);
-void hci_security_require_reg(struct hci_security_info_stru *in);
-void hci_security_require_un_reg(struct hci_security_info_stru *in);
-void hci_security_pin_code_reply(struct hci_pin_code_request_reply_stru *in);
-void hci_security_pairing_confirmation(uint8_t *bd, uint8_t response);
-
-void hci_security_link_key_recover(struct hci_security_link_key_recover_stru *in);
-#define HCI_SECURITY_LINKKEY_REPLY hci_security_link_key_recover /* For compatibility */
-void hci_security_link_key_remove(uint8_t *bd);
-void hci_security_le_keys_recover(struct bth_list_stru *list);
-void hci_security_le_keys_remove(struct hci_address_stru *addr);
-
-uint8_t *hci_security_get_sc_link_key(void *hci);
-/* 6 octets */
-uint32_t hci_security_passkey_entry_input(uint8_t *in);
-uint8_t hci_security_get_local_io(void);
-uint8_t hci_security_get_bondable(void);
-#ifdef CONFIG_SMP_LESC_LINKKEY
-uint8_t hci_security_get_bredr_pairing_status(const struct hci_remote_stru *remote);
-#endif
-
-uint32_t hci_command_get_len(const void *stru, uint32_t opscode);
-/* Central Frequency, etc,2412 */
-/* Bandwidth, 22,40 */
-void hci_set_channel_classification(uint32_t c, uint32_t w,
- /* etc, HCI_SETAFH_OCCUPY */
- uint8_t mask);
-#ifdef NOT_USED_YET
-void hci_qos_reg(void (*f)(uint8_t action), uint8_t idx);
-void hci_qos_un_reg(void (*f)(uint8_t action), uint8_t idx);
-const uint8_t *bt_get_le_mac(void);
-#endif
-void hci_iso_data_send(struct buff_stru *data);
-
-enum { /* Returning of l2cap_header_check */
- L2CAP_HEADERCHECK_OK = 0,
- L2CAP_HEADERCHECK_ERROR = 1,
- L2CAP_HEADERCHECK_KEEPWAIT = 2
-};
-
-uint16_t hci_get_mobile_connection_handle(uint8_t *bd);
-#if (BTH_WITH_SMART_WEAR == YES)
-uint8_t hci_page0feature_find_by_remote_addr(uint8_t *addr);
-#endif
-void hmac_sha256(uint8_t *key, uint32_t key_len, uint8_t *data, uint32_t data_len);
-
-void hci_le_set_event_mask(uint8_t isset, uint8_t *mask);
-
-#endif /* G_HCI_UI_H */
-
#include "bth_stack_gap.h"
#include "stack_def.h"
#include "btsrv_task.h"
-#include "bts_br_gap.h"
#include "datatype.h"
#include "bts_def.h"
void bt_srv_conn_callback_register(void);
int32_t btsrv_start_phone_reconnect_timer(bd_addr_t *addr);
void btsrv_stop_phone_reconnect_timer(void);
-bool btsrv_exist_conn_node_of_type(bool phone);
-void btsrv_notify_gap_acl_state_changed(const bd_addr_t *addr, gap_acl_state_t state, unsigned int reason);
-void btsrv_access_ble_conn_lock(void);
-void btsrv_release_ble_conn_lock(void);
#endif /* __BTSRV_CONNECTION_MANAGER_H__ */
bool btsrv_set_local_addr(const bd_addr_t *bd_addr);
bool is_bts_auto_reconnect_enable(void);
-bool is_bts_a2dp_snk_enable(void);
/* 本地设备运行模式设置和查询 */
uint32_t btsrv_set_local_device_mode(btsrv_local_device_mode mode);
void btsrv_remote_device_deinit(void);
remote_device_list_node *btsrv_get_remote_paired_phone_node(void);
remote_device_list_node *btsrv_find_remote_dev_node(const uint8_t *bd_addr, uint32_t dev_hdl, bool add);
-uint32_t btsrv_get_remote_dev_addr_by_hdl(uint32_t dev_hdl, bd_addr_t *addr);
+uint32_t btsrv_get_remote_dev_addr_by_hdl(uint32_t dev_hdl, const bd_addr_t *addr);
void btsrv_set_remote_dev_status_found_2_none(void);
void btsrv_handle_remote_device_found(uint32_t dev_hdl, bt_sdk_dev_found_info *info);
/* 维测:打印远端设备信息链表 */
void btsrv_dfx_show_remote_dev_list(void);
-/* 配置BLE安全连接标记 */
-void btsrv_set_ble_sc_flag(bool is_enable);
-/* 获取BLE安全连接标记 */
-bool btsrv_get_ble_sc_flag(void);
-/* 配置BLE一键双连标记 */
-void btsrv_set_ble_ctkd_flag(bool is_enable);
-/* 获取BLE一键双连标记 */
-bool btsrv_get_ble_ctkd_flag(void);
-
#endif /* __REMOTE_DEVICE_MANAGER_H__ */
void reset_found_dev_list(void)
{
if (!g_sample_found_list_init) {
- g_sample_found_list_init = true;
OSAL_INIT_LIST_HEAD(&g_sample_found_dev_list_head);
return;
}
bts_sample_log_no_header("\n");
add_node_to_found_dev_list(bd_addr, device_name, cod, 0);
- bt_os_free(device_name);
}
static void sample_gap_pair_requested_callback(const bd_addr_t *bd_addr)
*(int *)&feature = atoi(params[0]);
bts_sample_log("feature:%d bt_auto_reconnect_closed:%d\n", *(int *)&feature, feature.bt_auto_reconnect_closed);
errcode_t ret = bts_set_features(&feature);
- bts_sample_log("bts set features ret:0x%x\n", ret);
+ bts_sample_log("bts set features ret:%d\n", ret);
}
static void btsrv_sample_cmd_get_feature_config(const char **params, int32_t params_cnt)
BTSRV_SAMPLE_GATT_BLE_SET_SEC_PARAM, /* 58 设置安全参数信息 */
BTSRV_SAMPLE_GATTC_SPEED = 59,
BTSRV_SAMPLE_GATTS_SPEED = 60,
-
- /* 61 */
- BTSRV_SAMPLE_GATT_BLE_SET_CTKD_ENABLE, /* 61 设置一键双连开关 */
-
} btsrv_gatt_sample_cmd_id;
static int32_t g_btsrv_sample_server_id = 0;
bt_os_free(ind_para.value);
}
-static void sample_gatt_cmd_ble_ctkd_param(const char **params, int32_t params_cnt)
-{
- errcode_t ret;
- if (params_cnt != 1) { /* 1:参数个数 */
- bts_sample_log("ble secure ctkd param error! need: bd_addr.\n");
- return;
- }
-
- bool ctkd_enable = (bool)atoi(params[0]);
- ret = gap_ble_set_ctkd_enable(ctkd_enable);
- bts_sample_log("set ble ctkd ret:0x%x.\n", ret);
-}
-
typedef void (*ble_at_gatt_cmd_handle_func)(char **params, int32_t params_cnt);
typedef struct {
uint32_t id;
{ BTSRV_SAMPLE_GATT_BLE_SET_DATA_LEN, sample_gatt_cmd_ble_set_data_len },
{ BTSRV_SAMPLE_GATT_BLE_GET_CONN_PARAM, sample_gatt_cmd_ble_get_conn_param },
- /* 56 */
+ /* 55 */
{ BTSRV_SAMPLE_GATTS_SHOW_LIST, sample_gatts_show_service_list },
{ BTSRV_SAMPLE_GATTC_CONN_LIST, NULL },
{ BTSRV_SAMPLE_GATT_BLE_SET_SEC_PARAM, sample_gatt_cmd_ble_set_sec_param },
{ BTSRV_SAMPLE_GATTC_SPEED, sample_gattc_speed},
{ BTSRV_SAMPLE_GATTS_SPEED, sample_gatts_speed},
-
- /* 61 */
- { BTSRV_SAMPLE_GATT_BLE_SET_CTKD_ENABLE, sample_gatt_cmd_ble_ctkd_param},
};
void btsrv_gatt_sample_cmd(uint32_t cmd_id, char **params, int32_t params_cnt)
int32_t btsdk_a2dp_stream_start(void *stream_hdl);
int32_t btsdk_a2dp_stream_suspend(void *stream_hdl);
int32_t a2dp_src_set_stream_codec_req(bool reconfig, const void *stream_hdl, const void *cfg, uint32_t size);
-int32_t btsdk_unregistera2dpsnk_service(void);
void btsdk_a2dp_reg_cbk(const btsdka2dp_cbk *a2dp_cbk);
void btsdk_a2dp_snk_reg_cbk(const btsdka2dp_cbk *a2dp_cbk);
+++ /dev/null
-add_subdirectory_if_exist(gap)\r
-if(${CHIP} MATCHES "brandy")\r
- set(\r
- bt_comm_src_list\r
- ${CMAKE_CURRENT_SOURCE_DIR}/stack_mpc.c\r
- ${CMAKE_CURRENT_SOURCE_DIR}/stack_gap_if.c\r
- ${CMAKE_CURRENT_SOURCE_DIR}/stack_av_if.c\r
- ${CMAKE_CURRENT_SOURCE_DIR}/stack_avrcp_if.c\r
- ${CMAKE_CURRENT_SOURCE_DIR}/stack_dft_if.c\r
- ${CMAKE_CURRENT_SOURCE_DIR}/stack_hfp_if.c\r
- ${CMAKE_CURRENT_SOURCE_DIR}/stack_pbap_if.c\r
- ${CMAKE_CURRENT_SOURCE_DIR}/stack_spp_if.c\r
- ${CMAKE_CURRENT_SOURCE_DIR}/stack_pan_if.c\r
- )\r
- set(BTH_SDK_LIST "${BTH_SDK_LIST}" "${bt_comm_src_list}" CACHE INTERNAL "bt ram obj list" FORCE)\r
-endif()\r
+++ /dev/null
-set(\r
- bt_comm_src_list\r
- ${CMAKE_CURRENT_SOURCE_DIR}/advertising_scan.c\r
-)\r
-set(BTH_SDK_LIST "${BTH_SDK_LIST}" "${bt_comm_src_list}" CACHE INTERNAL "bt ram obj list" FORCE)\r
-\r
+++ /dev/null
-/*
- * Copyright (c) @CompanyNameMagicTag 2021-2022. All rights reserved.
- * Description: sdk common
- * Author: @CompanyNameTag
- * Create: 2021-09-01
- */
-#ifndef STACK_API_H
-#define STACK_API_H
-
-#include <stdint.h>
-#include "soc_osal.h"
-
-#ifdef __cplusplus
-#if __cplusplus
-extern "C" {
-#endif
-#endif
-
-#define HEADER_FIELD_LEN 1
-#define BT_STACK_SHIFT_8 8
-
-#define IPC_MAX_FIELD_LEN 24
-
-/* 同步或者异步接口调用 */
-typedef enum {
- STACK_API_SYNC = 0,
- STACK_API_ASYNC,
-} t_stack_api_flag;
-
-typedef void (stack_api_cfm_cb)(void *context, uint32_t result, void *parameter);
-
-struct handle_param {
- uint16_t opcode;
- uint8_t field_len;
- uint8_t field_id[0];
-};
-
-struct handle_struct {
- uint8_t sync_flag; /* 用于标记调用该接口的操作是异步还是同步 */
- uint16_t opcode;
- uint8_t field_len;
- uint8_t *field_id;
- osal_semaphore sem; /* 针对同步调用模式下 , 需要等待的信号量的handle id */
- uint16_t out_len; /* 调用结束后结果长度 */
- uint8_t *out_data; /* 调用结束后结果数据 */
- stack_api_cfm_cb *cfm_cbk; /* 针对异步调用的场景,需要注册的回调接口 */
-};
-
-void stack_mpc_init_handle(void);
-void stack_mpc_deinit_handle(void);
-struct handle_struct *stack_mpc_find_handle(uint16_t opcode, uint8_t field_len, uint8_t *field_id);
-struct handle_struct *stack_mpc_create_handle(uint8_t sync_flag, struct handle_param *param, void *cbk);
-uint32_t stack_mpc_wait_handle(struct handle_struct *hdl);
-uint8_t stack_mpc_delete_handle(struct handle_struct *hdl);
-uint8_t stack_mpc_activate_handle(uint16_t opcode, uint8_t field_len, uint8_t *field_id,
- uint16_t out_len, const uint8_t *out_data);
-int32_t stack_mpc_msg_send_sync(struct handle_param *param, uint16_t in_len,
- uint8_t *in_para, uint16_t *out_len, uint8_t **out_value);
-#ifdef __cplusplus
-#if __cplusplus
-}
-#endif /* __cpluscplus */
-#endif /* __cpluscplus */
-#endif /* STACK_API_H */
version https://git-lfs.github.com/spec/v1
-oid sha256:722262aca924ef0156bc2cda810f9687d668b627c7846adb03d0c30c2aff90b1
-size 425472
+oid sha256:1aeac35f55a5b6611664a0ba2e8df7978d338ae5997a05936f6a72bf63d68502
+size 424520
version https://git-lfs.github.com/spec/v1
-oid sha256:52718d4082ae98fca23b0b5e19bd01a07bcb42bb9f7f152e203854f8bac7bd7a
-size 350088
+oid sha256:5fe2c957c1ebfe67a6b5d823b49f16c5045aae025364c8927b9b663aa1e21247
+size 349776
version https://git-lfs.github.com/spec/v1
-oid sha256:37c3879f164d520afa160bee7505eabd501840aca871b3077033ebc3bfbe0c23
-size 331008
+oid sha256:9fd362db76e002ff8ddb9e37a86ecfe210de0ae3855d707365dbe23730560181
+size 330696
version https://git-lfs.github.com/spec/v1
-oid sha256:7ef85fa292de2d6ccfd8009f7a758234cf2fa4d5a2df9def4e8fc46f0765ba6b
-size 344736
+oid sha256:3a529edcb039824693731bfdbf78a0de57c70dc1548f45fd38aec8e7882b7af3
+size 344424