#endif
static unsigned long g_app_queue;
-
+uint8_t g_long_press_flag = 0;
/**
* @if Eng
* @brief Button state enum.
g_button[id].is_clicked = true;
g_button[id].click_cnt = 0;
g_button[id].click_start_time = g_button[id].end_time;
- } else if (g_button[id].is_clicked == true) {
+ } else if (g_button[id].is_clicked == true && g_long_press_flag != 1) {
/* continue click */
g_button[id].click_cnt++;
g_button[id].click_start_time = g_button[id].end_time;
osTimerStop(g_button_app_timer);
g_button[id].is_clicked = 0;
g_button[id].click_cnt = 0;
+ g_long_press_flag = 0;
button_set_state(id, BUTTON_STATE_NONE);
}
}
}
g_button[id].is_clicked = 0;
g_button[id].click_cnt = 0;
+ g_long_press_flag = 0;
button_set_state(id, BUTTON_STATE_NONE);
osTimerStop(g_button_app_timer);
}
g_button_report_state_record = BUTTON_LONGPRESS_1S;
g_button_state_record = BUTTON_LONGPRESS_1S_STATUS;
g_button_press_time = BUTTON_PRESS_TIME_1S + BUTTON_PRESS_TIME_1S;
+ g_long_press_flag = 1;
}
}
if ((button_get_state(id) == g_button_state_record) && (button_get_state(id) > BUTTON_RELEASE_STATUS)) {
(osThreadFunc_t)transmit_process_thread, NULL,
(CreateQueueFunction_t)transmit_thread_msg_init, USE_DTCM_MEM },
#endif
-#ifdef SUPPORT_POWER_MANAGER
+#if defined(SUPPORT_POWER_MANAGER) && !defined(SUPPORT_AT_OHOSFWK)
+ /* OHOS场景,pms不需要独立的队列和线程,事件由UI线程接管处理 */
{ { "power_display", 0, NULL, 0, NULL, PM_DISPLAY_MSG_STACK_SIZE, TASK_PRIORITY_TRANSMIT, 0, 0 },
(osThreadFunc_t)power_display_msg_thread, NULL,
(CreateQueueFunction_t)power_display_task_init, USE_DTCM_MEM },
}
}
ClearTransitionResource();
+ RootView::GetInstance()->Invalidate();
}
} // namespace OHOS
void AlarmClockModel::PopInterCancelMusic()
{
- SendMsgToUIService(SCREEN_TURN_OFF_TO_UI, 0, nullptr, 0);
+ ScreenTurnOff();
GraphicService::GetInstance()->PostGraphicEvent(
std::bind(&AlarmClockModel::AlarmPlayerStop, AlarmClockModel::GetInstance()));
}
void AlarmClockModel::PopInterPlayMusic()
{
- int32_t timeout = -1;
- SendMsgToUIService(SCREEN_TURN_ON_TO_UI, 0, &timeout, sizeof(int32_t));
+ ScreenTurnOn(-1);
GraphicService::GetInstance()->PostGraphicEvent(
std::bind(&AlarmClockModel::AlarmPlayerStart, AlarmClockModel::GetInstance()));
}
if (!PlayersModel::GetInstance()->GetAudioInitStatus()) {
PlayersModel::GetInstance()->AudioInit();
}
- int32_t timeout = -1;
- SendMsgToUIService(SCREEN_TURN_ON_TO_UI, 0, &timeout, sizeof(int32_t));
+ ScreenTurnOn(-1);
AlarmGetClockNum();
NativeAbility::GetInstance().ChangeSlice(VIEW_ALARM_POP_UP, TransitionType::TRANSITION_INVALID, PRIORITY_TWO);
return;
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmCallBackProcA");\r
AlarmClockEventData unuse;\r
- GraphicService::GetInstance()->PostGraphicEvent(\r
- std::bind(AlarmTimerEventPublish, TOPIC_EVENT_ALARM_RING, unuse));\r
+ AlarmTimerEventPublish(TOPIC_EVENT_ALARM_RING, unuse);\r
}\r
\r
static void AlarmCallBackProcB(void)\r
{\r
AlarmClockEventData unuse;\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmCallBackProcB");\r
- GraphicService::GetInstance()->PostGraphicEvent(\r
- std::bind(AlarmTimerEventPublish, TOPIC_EVENT_NEXTDAY_UPDATE, unuse));\r
- GraphicService::GetInstance()->PostGraphicEvent(SetZeroAlarm);\r
+ AlarmTimerEventPublish(TOPIC_EVENT_NEXTDAY_UPDATE, unuse);\r
+ SetZeroAlarm();\r
}\r
\r
void AlarmScan(void *arg)\r
#include "msg_center_msg.h"\r
#include "dfx_channel.h"\r
#include "tcxo.h"\r
+#include "ui_service.h"\r
\r
namespace OHOS {\r
\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
+ bd_addr_t addr = {{0x1C, 0x1D, 0x2B, 0x0, 0x0, 0x0} ,0};\r
+ addr.addr[3] = currentUs & 0xFF;\r
+ addr.addr[4] = (currentUs & 0XFF00) >> 8;\r
+ addr.addr[5] = currentUs & 0xFF;\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
bdAddr->addr[2], bdAddr->addr[1], bdAddr->addr[0]); /* mac下标 0 1 2 3 4 5 */\r
if ((gap_get_device_class(bdAddr) & 0x200) != 0) {\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "GapAclStateChangedCallback: Mobile Phone Device");\r
+ if (state == GAP_ACL_STATE_DISCONNECTED) {\r
+ /* 通知msg_center,ble状态仍用bt状态,此处不区分 */\r
+ SendMsgToMsgCenterService(BT_DISCONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
+ SendMsgToUIService(BT_DISCONNECTED_TO_UI, 0, nullptr, 0);\r
+ } else if (state == GAP_ACL_STATE_CONNECTED) {\r
+ SendMsgToMsgCenterService(BT_CONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
+ SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);\r
+ }\r
return;\r
}\r
+\r
GraphicService::GetInstance()->PostGraphicEvent(\r
std::bind(&BluetoothModel::BtGapAclStateChangedHandle, BluetoothModel::GetInstance(), state, reason, *bdAddr));\r
}\r
if (connState == PROFILE_STATE_DISCONNECTED) {\r
PhoneAudioManagerSetDeviceConnState(OUT_BLUETOOTH_A2DP, AUDIO_DEVICE_DISCONNECTED);\r
GraphicService::GetInstance()->PostGraphicEvent(std::bind(ACLConnectionFail, *bdAddr));\r
+ /* 实验室测试耳机回连场景,用户根据需要调整策略 */\r
+ bool 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, "a2dp disc: gap_br_set_bt_scan_mode ret = 0x%x", ret);\r
+ }\r
}\r
}\r
\r
if (HealthModel::GetInstance()->GetBriScrStatus() == 0) {
ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, imgView, DROPDOWN_DROPDOWN_BRI_SCREEN_B);
HealthModel::GetInstance()->UpdateBriScrStatus(1);
- int32_t enable = 0;
- SendMsgToUIService(SCREEN_OFF_ENABLE_TO_UI, 0, &enable, sizeof(int32_t));
+ ScreenOffEnable(0);
} else {
ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, imgView, DROPDOWN_DROPDOWN_BRI_SCREEN);
HealthModel::GetInstance()->UpdateBriScrStatus(0);
- int32_t enable = 1;
- SendMsgToUIService(SCREEN_OFF_ENABLE_TO_UI, 0, &enable, sizeof(int32_t));
+ ScreenOffEnable(1);
}
}
void* DialBinParser::MallocAndReadBuf(FILE* file, uint32_t readSize)\r
{\r
if (file == nullptr || readSize == 0) {\r
- GRAPHIC_LOGE("[%s: %d]param error!\n", __FUNCTION__, __LINE__);\r
+ GRAPHIC_LOGE("Invalid param! file: %p, readSize: %u.", file, readSize);\r
return nullptr;\r
}\r
uint8_t* data = static_cast<uint8_t*>(UIMalloc(readSize));\r
if (data == nullptr) {\r
- GRAPHIC_LOGE("UIMalloc fail!\n");\r
+ GRAPHIC_LOGE("UIMalloc fail! size: %u.", readSize);\r
return nullptr;\r
}\r
\r
if (fread(data, 1, readSize, file) != readSize) {\r
UIFree(data);\r
- GRAPHIC_LOGE("fread fail!\n");\r
+ GRAPHIC_LOGE("fread fail! readSize: %u.", readSize);\r
return nullptr;\r
}\r
return data;\r
}\r
\r
uint16_t* imgIdArray = static_cast<uint16_t*>(MallocAndReadBuf(fp, (sizeof(uint16_t) * data->count)));\r
- if (data == nullptr) {\r
+ if (imgIdArray == nullptr) {\r
UIFree(data);\r
GRAPHIC_LOGE("[%s: %d]malloc or read fail!\n", __FUNCTION__, __LINE__);\r
return -1;\r
void VocassistPresenter::OnStart()
{
Presenter<MainVocassistView>::OnStart();
- int32_t timeout = -1;
- SendMsgToUIService(SCREEN_TURN_ON_TO_UI, 0, &timeout, sizeof(int32_t));
+ ScreenTurnOn(-1);
}
void VocassistPresenter::OnPause(void) {}
void VocassistPresenter::OnStop(void)
{
Presenter<MainVocassistView>::OnStop();
- SendMsgToUIService(SCREEN_TURN_OFF_TO_UI, 0, nullptr, 0);
+ ScreenTurnOff();
}
}
#include "service_id_define.h"
#include "samgr_lite.h"
#include "ui_service.h"
-#include "msg_center_msg.h"
#ifdef __cplusplus
extern "C" {
static void PhoneServiceScreenCtr(bool turnOnFlag)
{
if (turnOnFlag) {
- int32_t timeout = -1;
- SendMsgToUIService(SCREEN_TURN_ON_TO_UI, 0, &timeout, sizeof(int32_t));
+ ScreenTurnOn(-1);
} else {
- SendMsgToUIService(SCREEN_TURN_OFF_TO_UI, 0, nullptr, 0);
+ ScreenTurnOff();
}
}
case PROFILE_STATE_CONNECTED: // 蓝牙连接成功
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT connected");
BtConnectedPro(bdAddr);
- SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);
- SendMsgToMsgCenterService(BT_CONNECTED_TO_MSGCENTER, 0, nullptr, 0);
break;
case PROFILE_STATE_DISCONNECTING: // 蓝牙连接断连
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT disconnecting");
case PROFILE_STATE_DISCONNECTED: // 蓝牙断开连接
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT disconnected");
BtDisconnectedPro();
- SendMsgToUIService(BT_DISCONNECTED_TO_UI, 0, nullptr, 0);
- SendMsgToMsgCenterService(BT_DISCONNECTED_TO_MSGCENTER, 0, nullptr, 0);
break;
default:
break;
#include "AppViewIDs.h"
#include "MainViewSample.h"
#include "ui_screennotify.h"
+#include "components/root_view.h"
#ifdef __cplusplus
extern "C" {
void notify_screen_on_event(void)
{
- GraphicService::GetInstance()->PostGraphicEvent(
- [&] {
- for (auto callback : g_callback) {
- callback(SCREEN_STATUS_ON);
- }
- ChangeToHomeView();
- });
+ for (auto callback : g_callback) {
+ callback(SCREEN_STATUS_ON);
+ }
+ ChangeToHomeView();
}
void notify_screen_off_event(void)
{
- GraphicService::GetInstance()->PostGraphicEvent(
- [&] {
- for (auto callback : g_callback) {
- callback(SCREEN_STATUS_OFF);
- }
- });
+ for (auto callback : g_callback) {
+ callback(SCREEN_STATUS_OFF);
+ }
}
void set_back_to_home_interval(uint32_t time_sec)
if (!ret) {
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "GetDialPreviewInfo %s fail",
dialFullName.c_str());
+ fclose(fp);
return -1;
}
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ParseDialHeader dialFullName: %s",
preInfo.imgId, dialFullName, fp, false, preInfo.offset);
if (info == nullptr) {
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ParseDialHeader loadimage fail");
+ fclose(fp);
return -1;
}
JS_UNINSTALL_SUCESS_TO_UI,
BT_CONNECTED_TO_UI,
BT_DISCONNECTED_TO_UI,
- SCREEN_TURN_ON_TO_UI,
- SCREEN_TURN_OFF_TO_UI,
- SCREEN_OFF_ENABLE_TO_UI,
UI_ADD_SLEEP_VETO,
UI_RM_SLEEP_VETO,
} UiServiceMsgId;
void SendMsgToUIService(int32_t msgId, uint32_t msgValue, void *data, int32_t dataLen);
+void ScreenTurnOn(int32_t timeout);
+void ScreenTurnOff(void);
+void ScreenOffEnable(int32_t enable);
+
#ifdef __cplusplus
}
#endif
const int BYTE_OFFSET = 8;
static uint32_t g_interval = 5;
-static void ScreenTurnOn(Request *request)
+void ScreenTurnOn(int32_t timeout)
{
if (OHOS::HealthModel::GetInstance()->GetBriScrStatus() == 1) {
return;
}
#if defined(SUPPORT_POWER_MANAGER)
- int32_t timeout = *((int32_t*)request->data);
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ScreenTurn] timeout = %d", timeout);
g_interval = get_back_to_home_interval();
set_back_to_home_interval(0xFFFFFFFF);
return;
}
-static void ScreenTurnOff(Request *request)
+void ScreenTurnOff(void)
{
if (OHOS::HealthModel::GetInstance()->GetBriScrStatus() == 1) {
return;
return;
}
-static void ScreenOffEnable(Request *request)
+void ScreenOffEnable(int32_t enable)
{
#if defined(SUPPORT_POWER_MANAGER)
- int32_t enable = *((int32_t*)request->data);
const power_display_svr_api_t *display_api = power_display_svr_get_api();
display_api->set_auto_timeout_function(enable);
#endif
GraphicService::GetInstance()->PostGraphicEvent(
std::bind(&OHOS::SettingModel::UpdateBlueToothConnectStatus, &OHOS::SettingModel::GetInstance(), false));
break;
- case SCREEN_TURN_ON_TO_UI:
- ScreenTurnOn(request);
- break;
- case SCREEN_TURN_OFF_TO_UI:
- ScreenTurnOff(request);
- break;
- case SCREEN_OFF_ENABLE_TO_UI:
- ScreenOffEnable(request);
- break;
case UI_ADD_SLEEP_VETO:
uapi_pm_add_sleep_veto(PM_ID_SCREEN);
break;
set(COMPONENT_NAME "baidumapsdk")
set(LIBS ${CMAKE_CURRENT_SOURCE_DIR}/libs/lib${COMPONENT_NAME}.a)
+set(PUBLIC_DEFINES
+ SUPPORT_BAIDU
+)
+
set(WHOLE_LINK
true
)
MSGCENTER_TYPE_ID_XIAODU_START_RECORD,\r
MSGCENTER_TYPE_ID_XIAODU_SEND_PCM_STREAM,\r
MSGCENTER_TYPE_ID_XIAODU_END_RECORD,\r
+ MSGCENTER_TYPE_ID_XIAODU_SEND_JS_EXIT,\r
} msg_center_xiaodu_type_id_t;\r
\r
typedef enum msg_center_navigation_type_id {\r
errcode_t msg_center_xiaodu_start_record(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
errcode_t msg_center_xiaodu_send_pcm_stream(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
errcode_t msg_center_xiaodu_send_end_record(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
+errcode_t msg_center_xiaodu_send_stop_answer(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
errcode_t msg_center_xiaodu_recv_tts(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
errcode_t msg_center_vector_navi_pull_up(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
errcode_t msg_center_vector_navi_recv_svg(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
{ MSGCENTER_CMD_XIAODU, MSGCENTER_TYPE_ID_XIAODU_START_RECORD, msg_center_xiaodu_start_record},
{ MSGCENTER_CMD_XIAODU, MSGCENTER_TYPE_ID_XIAODU_SEND_PCM_STREAM, msg_center_xiaodu_send_pcm_stream},
{ MSGCENTER_CMD_XIAODU, MSGCENTER_TYPE_ID_XIAODU_END_RECORD, msg_center_xiaodu_send_end_record},
+ { MSGCENTER_CMD_XIAODU, MSGCENTER_TYPE_ID_XIAODU_SEND_JS_EXIT, msg_center_xiaodu_send_stop_answer},
{ MSGCENTER_CMD_NAVIGATION, MSGCENTER_TYPE_ID_NAVIGATION_START, msg_center_navigation_start},
{ MSGCENTER_CMD_NAVIGATION, MSGCENTER_TYPE_ID_NAVIGATION_RECV, msg_center_navigation_recv},
{ MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_PULL_UP, msg_center_vector_navi_pull_up},
res = msg_center_xiaodu_send_pcm_stream(MSGCENTER_CMD_XIAODU, MSGCENTER_TYPE_ID_XIAODU_SEND_PCM_STREAM,\r
msg.data, msg.len);\r
free(msg.data);\r
+ msg.data = nullptr;\r
if (res != ERRCODE_SUCC) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "send pcm stream failed");\r
return ERRCODE_FAIL;\r
res = msg_center_xiaodu_send_end_record(MSGCENTER_CMD_XIAODU, MSGCENTER_TYPE_ID_XIAODU_END_RECORD, msg.data,\r
msg.len);\r
free(msg.data);\r
+ msg.data = nullptr;\r
if (res != ERRCODE_SUCC) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "send pcm stream failed");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "send pcm end failed");\r
return ERRCODE_FAIL;\r
}\r
return ERRCODE_SUCC;\r
return ERRCODE_SUCC;\r
}\r
\r
+errcode_t msg_center_xiaodu_send_stop_answer(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
+{\r
+ errcode_t ret = ERRCODE_SUCC;\r
+\r
+ ret = msg_center_send_data(cmd_id, type, usr_data, usr_len);\r
+ if (ret != ERRCODE_SUCC) {\r
+ return ERRCODE_FAIL;\r
+ }\r
+\r
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "send js exit msg, usr_data = %d, usr_len = %d\r\n",\r
+ *(uint8_t *)usr_data, usr_len); /* usr_data: 0 --normal exit, 1 -- abnormal exit */\r
+ return ERRCODE_SUCC;\r
+}\r
+\r
static void msg_center_transfer_longbuf(char *data, uint8_t type)\r
{\r
FILE *fp = nullptr;\r
return msg_center_vector_navi_rec_common_proc(cmd_id, type, usr_data, usr_len);\r
}\r
\r
+__attribute__((weak)) uint8_t duer_msg_center_recv_map_info(uint8_t command_id, uint8_t type, struct Content *content)\r
+{\r
+ return 0;\r
+}\r
+\r
+__attribute__((weak)) uint8_t duer_msg_center_send_map_info(uint8_t duer_type, void *usr_data, uint16_t usr_len)\r
+{\r
+ return 0;\r
+}\r
+\r
+__attribute__((weak)) uint8_t duer_msg_center_map_to_title(void *data, uint16_t len)\r
+{\r
+ return 0;\r
+}\r
+\r
#ifdef __cplusplus\r
}\r
#endif\r
#include "pm_lp_stub.h"\r
#include "hal_pmu_ldo.h"\r
#include "cmsis_os2.h"\r
+#ifdef CFG_DRIVERS_NANDFLASH\r
+#include "nandflash_to_os.h"\r
+#endif\r
#ifdef SUPPORT_AT_OHOSFWK\r
#include "ui_screennotify.h"\r
#endif\r
last_screen_on_timestamp = get_display_timestamp();\r
caculate_screen_off_time();\r
ext_errno ret;\r
+#ifdef CFG_DRIVERS_NANDFLASH\r
+ nand_lock();\r
+#endif\r
uapi_pm_request_mode(PM_ID_VIDEO, PM_MODE_PERFORMACE);\r
+#ifdef CFG_DRIVERS_NANDFLASH\r
+ nand_unlock();\r
+#endif\r
if (g_pms_lcd_on_first_flag == false) {\r
if (lcd_get_status()) {\r
POWER_DISPLAY_PRINT_ERR(0, "\r\nLCD has benn on.\r\n");\r
return ERRCODE_FAIL;\r
}\r
}\r
-#ifdef SUPPORT_AT_OHOSFWK\r
- notify_screen_on_event();\r
-#endif\r
#if defined(ENABLE_UIKIT) || defined(ENABLE_LVGL)\r
NotifyScreenOn(); // Instruct the uikit to start the display operation.\r
#endif\r
NotifyScreenOff(); // Instruct the uikit to close the display operation.\r
#endif\r
\r
-#ifdef SUPPORT_AT_OHOSFWK\r
- notify_screen_off_event();\r
-#endif\r
-\r
osDelay(100); // Wait 100ms for the uikit to complete display.\r
touch_screen_suspend(); // close touch\r
ext_errno ret = drv_vau_suspend(NULL);\r
lcd_set_status(false);\r
g_pms_dpu_ready = false;\r
display_suspend_power_off();\r
+#ifdef CFG_DRIVERS_NANDFLASH\r
+ nand_lock();\r
+#endif\r
uapi_pm_request_mode(PM_ID_VIDEO, PM_MODE_LP);\r
+#ifdef CFG_DRIVERS_NANDFLASH\r
+ nand_unlock();\r
+#endif\r
return ERRCODE_SUCC;\r
}\r
\r
#include "touch_screen_def.h"\r
#include "display_state_machine.h"\r
#include "touch_screen_def.h"\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+#include "graphic_service_wrapper.h"\r
+#endif\r
\r
#define DISPLAY_AUTO_POWER_OFF_PERIOD_MS 5000\r
#define DISPLAY_DEFAULT_BRIGHTNESS 50\r
.press_state = 0,\r
};\r
\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_turnon_handle_ext(void *data);\r
+void power_display_turnoff_handle_ext(void *data);\r
+void power_display_set_screenoff_timeout_handle_ext(void *data);\r
+void power_display_set_screenoff_switch_handle_ext(void *data);\r
+void power_display_set_keepon_timeout_handle_ext(void *data);\r
+void power_display_set_brightness_handle_ext(void *data);\r
+void power_display_gui_cmd_handle_ext(void *data);\r
+void power_display_timer_cmd_handle_ext(void *data);\r
+#endif\r
+\r
static unsigned long g_power_display_queue_id = 0;\r
static uint32_t g_power_recv_msg_num = 0;\r
bool g_discard_all_events = false;\r
\r
static errcode_t power_display_turn_on_screen(void)\r
{\r
+#ifndef SUPPORT_AT_OHOSFWK\r
message_type_t mt = TURN_ON_SCREEN_CMD;\r
uint32_t event_info = 0;\r
errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
if (ret != ERRCODE_SUCC) {\r
return ERRCODE_FAIL;\r
}\r
+#else\r
+ PostGraphicEvent(power_display_turnon_handle_ext, NULL);\r
+#endif\r
return ERRCODE_SUCC;\r
}\r
\r
static errcode_t power_display_turn_off_screen(void)\r
{\r
+#ifndef SUPPORT_AT_OHOSFWK \r
message_type_t mt = TURN_OFF_SCREEN_CMD;\r
uint32_t event_info = 0;\r
errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
if (ret != ERRCODE_SUCC) {\r
return ERRCODE_FAIL;\r
}\r
+#else\r
+ PostGraphicEvent(power_display_turnoff_handle_ext, NULL);\r
+#endif\r
return ERRCODE_SUCC;\r
}\r
\r
}\r
message_type_t mt = SET_AUTO_OFF_TIMEOUT_CMD;\r
uint32_t event_info = timeout;\r
+#ifndef SUPPORT_AT_OHOSFWK\r
errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
if (ret != ERRCODE_SUCC) {\r
return ERRCODE_FAIL;\r
}\r
+#else\r
+ uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+ if (data != NULL) {\r
+ *data = event_info;\r
+ PostGraphicEvent(power_display_set_screenoff_timeout_handle_ext, data);\r
+ }\r
+#endif\r
return ERRCODE_SUCC;\r
}\r
\r
{\r
message_type_t mt = SET_AUTO_OFF_FUNC_CMD;\r
uint32_t event_info = enable;\r
+#ifndef SUPPORT_AT_OHOSFWK\r
errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
if (ret != ERRCODE_SUCC) {\r
return ERRCODE_FAIL;\r
}\r
+#else\r
+ uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+ if (data != NULL) {\r
+ *data = event_info;\r
+ PostGraphicEvent(power_display_set_screenoff_switch_handle_ext, data);\r
+ }\r
+#endif\r
return ERRCODE_SUCC;\r
}\r
\r
message_type_t mt = SET_KEEP_SCREEN_ON_TIMEOUT_CMD;\r
uint32_t real_time = time > POWER_DISPLAY_MAX_SET_TIME ? POWER_DISPLAY_MAX_SET_TIME : time;\r
uint32_t event_info = real_time;\r
+#ifndef SUPPORT_AT_OHOSFWK\r
errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
if (ret != ERRCODE_SUCC) {\r
return ERRCODE_FAIL;\r
}\r
+#else\r
+ uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+ if (data != NULL) {\r
+ *data = event_info;\r
+ PostGraphicEvent(power_display_set_keepon_timeout_handle_ext, data);\r
+ }\r
+#endif\r
return ERRCODE_SUCC;\r
}\r
\r
{\r
message_type_t mt = SET_BRIGHTNESS_CMD;\r
uint32_t event_info = brightness;\r
+#ifndef SUPPORT_AT_OHOSFWK\r
errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
if (ret != ERRCODE_SUCC) {\r
return ERRCODE_FAIL;\r
}\r
+#else\r
+ uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+ if (data != NULL) {\r
+ *data = event_info;\r
+ PostGraphicEvent(power_display_set_brightness_handle_ext, data);\r
+ }\r
+#endif\r
return ERRCODE_SUCC;\r
}\r
\r
unused(event_value);\r
message_type_t mt = GUI_EVENT_CMD;\r
uint32_t event_info = KEY;\r
+#ifndef SUPPORT_AT_OHOSFWK\r
errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
if (ret != ERRCODE_SUCC) {\r
POWER_DISPLAY_PRINT_ERR(0, "key_event send msg fail, ret:%u.", ret);\r
}\r
+#else\r
+ uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+ if (data != NULL) {\r
+ *data = event_info;\r
+ PostGraphicEvent(power_display_gui_cmd_handle_ext, data);\r
+ }\r
+#endif\r
return;\r
}\r
\r
if (g_power_tp_press_num > 1) {\r
return;\r
}\r
+#ifndef SUPPORT_AT_OHOSFWK\r
errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
if (ret != ERRCODE_SUCC) {\r
POWER_DISPLAY_PRINT_ERR(0, "touch_event send msg fail, ret:%u.", ret);\r
}\r
-\r
+#else\r
+ uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+ if (data != NULL) {\r
+ *data = event_info;\r
+ PostGraphicEvent(power_display_gui_cmd_handle_ext, data);\r
+ }\r
+#endif\r
return;\r
}\r
\r
{\r
message_type_t mt = TIMER_EVENT_CMD;\r
uint32_t event_info = event;\r
+#ifndef SUPPORT_AT_OHOSFWK\r
errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
if (ret != ERRCODE_SUCC) {\r
POWER_DISPLAY_PRINT_ERR(0, "power_display_timeout_event_proc send msg fail, ret:%u.", ret);\r
return ERRCODE_FAIL;\r
}\r
-\r
+#else\r
+ uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+ if (data != NULL) {\r
+ *data = event_info;\r
+ PostGraphicEvent(power_display_timer_cmd_handle_ext, data);\r
+ }\r
+#endif\r
return ERRCODE_SUCC;\r
}\r
\r
power_display_save_gui_event_stamp(ac, event_type);\r
return power_display_execute_state_change_action(event_type, ac, event);\r
}\r
-\r
errcode_t power_display_turnon_handle(uint32_t message_type, uint32_t message_value)\r
{\r
unused(message_type);\r
return power_display_execute_filter_rules(GUI_EVENT, keyid);\r
}\r
\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_turnon_handle_ext(void *data)\r
+{\r
+ unused(data);\r
+ errcode_t ret = power_display_turnon_handle(TURN_ON_SCREEN_CMD, 0);\r
+ POWER_DISPLAY_PRINT_DEBUG(0, "display_turnon ret:%u.", ret);\r
+}\r
+#endif\r
+\r
errcode_t power_display_turnoff_handle(uint32_t message_type, uint32_t message_value)\r
{\r
unused(message_type);\r
return power_display_execute_filter_rules(GUI_EVENT, keyid);\r
}\r
\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_turnoff_handle_ext(void *data)\r
+{\r
+ unused(data);\r
+ errcode_t ret = power_display_turnoff_handle(TURN_OFF_SCREEN_CMD, 0);\r
+ POWER_DISPLAY_PRINT_DEBUG(0, "display_turnoff ret:%u.", ret);\r
+}\r
+#endif\r
+\r
errcode_t power_display_set_screenoff_timeout_handle(uint32_t message_type, uint32_t message_value)\r
{\r
unused(message_type);\r
return power_display_execute_filter_rules(TIMER_EVENT, SET_DEFAULT_TIMEOUT);\r
}\r
\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_set_screenoff_timeout_handle_ext(void *data)\r
+{\r
+ uint32_t *message_value = (uint32_t *)data;\r
+ errcode_t ret = power_display_set_screenoff_timeout_handle(SET_AUTO_OFF_TIMEOUT_CMD, *message_value);\r
+ POWER_DISPLAY_PRINT_DEBUG(0, "display_set_screenoff_timeout ret:%u.", ret);\r
+ free(message_value);\r
+}\r
+#endif\r
+\r
errcode_t power_display_set_screenoff_switch_handle(uint32_t message_type, uint32_t message_value)\r
{\r
unused(message_type);\r
return ERRCODE_SUCC;\r
}\r
\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_set_screenoff_switch_handle_ext(void *data)\r
+{\r
+ uint32_t *message_value = (uint32_t *)data;\r
+ errcode_t ret = power_display_set_screenoff_switch_handle(SET_AUTO_OFF_FUNC_CMD, *message_value);\r
+ POWER_DISPLAY_PRINT_DEBUG(0, "display_set_screenoff_switch ret:%u.", ret);\r
+ free(message_value);\r
+}\r
+#endif\r
+\r
errcode_t power_display_set_keepon_timeout_handle(uint32_t message_type, uint32_t message_value)\r
{\r
unused(message_type);\r
return power_display_execute_filter_rules(TIMER_EVENT, SET_KEEP_ON_TIMEOUT);\r
}\r
\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_set_keepon_timeout_handle_ext(void *data)\r
+{\r
+ uint32_t *message_value = (uint32_t *)data;\r
+ errcode_t ret = power_display_set_keepon_timeout_handle(SET_KEEP_SCREEN_ON_TIMEOUT_CMD, *message_value);\r
+ POWER_DISPLAY_PRINT_DEBUG(0, "display_set_keepon_timeout ret:%u.", ret);\r
+ free(message_value);\r
+}\r
+#endif\r
+\r
errcode_t power_display_set_brightness_handle(uint32_t message_type, uint32_t message_value)\r
{\r
unused(message_type);\r
return ERRCODE_SUCC;\r
}\r
\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_set_brightness_handle_ext(void *data)\r
+{\r
+ uint32_t *message_value = (uint32_t *)data;\r
+ errcode_t ret = power_display_set_brightness_handle(SET_BRIGHTNESS_CMD, *message_value);\r
+ POWER_DISPLAY_PRINT_DEBUG(0, "display_set_brightness ret:%u.", ret);\r
+ free(message_value);\r
+}\r
+#endif\r
+\r
errcode_t power_display_set_brightness_mode_handle(uint32_t message_type, uint32_t message_value)\r
{\r
unused(message_type);\r
return power_display_execute_filter_rules(GUI_EVENT, message_value);\r
}\r
\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_gui_cmd_handle_ext(void *data)\r
+{\r
+ uint32_t *message_value = (uint32_t *)data;\r
+ errcode_t ret = power_display_gui_cmd_handle(GUI_EVENT_CMD, *message_value);\r
+ POWER_DISPLAY_PRINT_DEBUG(0, "display_gui_cmd ret:%u.", ret);\r
+ free(message_value);\r
+}\r
+#endif\r
+\r
errcode_t power_display_other_cmd_handle(uint32_t message_type, uint32_t message_value)\r
{\r
unused(message_type);\r
return power_display_execute_filter_rules(TIMER_EVENT, message_value);\r
}\r
\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_timer_cmd_handle_ext(void *data)\r
+{\r
+ uint32_t *message_value = (uint32_t *)data;\r
+ errcode_t ret = power_display_timer_cmd_handle(TIMER_EVENT_CMD, *message_value);\r
+ POWER_DISPLAY_PRINT_DEBUG(0, "display_timer_cm ret:%u.", ret);\r
+ free(message_value);\r
+}\r
+#endif\r
+\r
static const power_display_svr_api_t g_power_display_svr_api = {\r
.turn_on_screen = power_display_turn_on_screen,\r
.turn_off_screen = power_display_turn_off_screen,\r
\r
uint32_t btsrv_wstp_at_pbap_pull_vcard_listing(const bt_manager_commu_inter_info_t *at_para)\r
{\r
- uint8_t *folder = NULL;\r
- uint8_t *vcf = NULL;\r
- uint16_t *max_list_count = NULL;\r
- uint16_t *list_offset = NULL;\r
- uint8_t *order = NULL;\r
+ char **params[POS_7] = {NULL};\r
+ int32_t params_cnt = 0;\r
+ char *p = NULL;\r
char *delim = ",";\r
uint16_t *tmp_para = (uint16_t *)BSP_MEM_ALLOC(at_para->payloadLength * sizeof(uint16_t));\r
int ret = memcpy_s(tmp_para, at_para->payloadLength, &at_para->payload[POS_0], at_para->payloadLength);\r
BSP_MEM_FREE((void *)tmp_para);\r
return ERRCODE_FAIL;\r
}\r
- folder = (uint8_t *)strtok((char*)tmp_para, delim);\r
- vcf = (uint8_t *)strtok(NULL, delim);\r
- max_list_count = (uint16_t *)strtok(NULL, delim);\r
- list_offset = (uint16_t *)strtok(NULL, delim);\r
- order = (uint8_t *)strtok(NULL, delim);\r
-\r
- if ((folder == NULL) || (vcf == NULL) || (max_list_count == NULL) || (list_offset == NULL) || (order == NULL)) {\r
- wstp_print("input err\r\n");\r
- BSP_MEM_FREE((void *)tmp_para);\r
- return ERRCODE_FAIL;\r
+ p = strtok((char*)tmp_para, delim);\r
+ for (int i = 0; i < POS_7 && p != NULL; i++) {\r
+ params_cnt++;\r
+ params[i] = p;\r
+ p = strtok((char*)NULL, delim);\r
}\r
-\r
- *folder = (uint8_t)atoi((char*)folder);\r
- *vcf = (uint8_t)atoi((char*)vcf);\r
- *max_list_count = (uint16_t)atoi((char*)max_list_count);\r
- *list_offset = (uint16_t)atoi((char*)list_offset);\r
- *order = (uint8_t)atoi((char*)order);\r
- wstp_print("folder=%d vcf=%d max_list_count=%d list_offset=%d order=%d\n",\r
- *folder,\r
- *vcf,\r
- *max_list_count,\r
- *list_offset,\r
- *order);\r
- wstp_pbap_cmd_pull_vcard_listing(*folder, *vcf, *max_list_count, *list_offset, *order);\r
+ wstp_pbap_cmd_pull_vcard_listing(params, params_cnt);\r
BSP_MEM_FREE((void *)tmp_para);\r
return ERRCODE_SUCC;\r
}\r
extern void wstp_avrcp_ct_hdl_notify_play_status(uint8_t play_status);\r
extern void wstp_pbap_cmd_pull_phonebook(\r
uint8_t folder, uint8_t vcf, uint16_t max_list_count, uint16_t list_offset, uint8_t format);\r
-extern void wstp_pbap_cmd_pull_vcard_listing(\r
- uint8_t folder, uint8_t vcf, uint16_t max_list_count, uint16_t list_offset, uint8_t order);\r
extern void wstp_pbap_cmd_pull_vcard_entry(uint8_t folder, uint8_t vcf, char *vcf_name, uint8_t format);\r
extern int pbap_pce_stop_trans(const bth_bd_addr *bd_addr);\r
extern int pbap_pce_get_device_connect_state(const bth_bd_addr *bd_addr);\r
#include "nandflash_qspi.h"\r
#include "nandflash_config.h"\r
#include "hal_nandflash.h"\r
+#include "pinctrl_porting.h"\r
+#include "gpio.h"\r
#include "nandflash.h"\r
\r
#define OFFSET 0\r
uint8_t nand_write_buf[DEFALUT_BUFLENGTH] __attribute__((aligned(4)));\r
uint8_t nand_read_buf[DEFALUT_BUFLENGTH] __attribute__((aligned(4)));\r
\r
+void cs_pulldown(void)\r
+{\r
+ if (SER_SELECT == 1) {\r
+ uapi_pin_set_mode(S_HGPIO11, (pin_mode_t)HAL_PIO_FUNC_GPIO);\r
+ uapi_gpio_set_dir(S_HGPIO11, GPIO_DIRECTION_OUTPUT);\r
+ uapi_gpio_set_val(S_HGPIO11, GPIO_LEVEL_LOW);\r
+ } else {\r
+ uapi_pin_set_mode(S_HGPIO12, (pin_mode_t)HAL_PIO_FUNC_GPIO);\r
+ uapi_gpio_set_dir(S_HGPIO12, GPIO_DIRECTION_OUTPUT);\r
+ uapi_gpio_set_val(S_HGPIO12, GPIO_LEVEL_LOW);\r
+ }\r
+}\r
+\r
+void cs_pullup(void)\r
+{\r
+ if (SER_SELECT == 1) {\r
+ uapi_pin_set_mode(S_HGPIO11, (pin_mode_t)HAL_PIO_FUNC_QSPI2);\r
+ } else {\r
+ uapi_pin_set_mode(S_HGPIO12, (pin_mode_t)HAL_PIO_FUNC_QSPI2);\r
+ }\r
+}\r
+\r
uint8_t mc_flash_get_offset(void)\r
{\r
return OFFSET;\r
static_time_before = uapi_tcxo_get_us();\r
}\r
unsigned int irq_sts = osal_irq_lock();\r
+ cs_pulldown();\r
writel(SER, 0x0);\r
nand_qspi_write_data(ins);\r
nand_qspi_write_data(0); // addr is 0\r
nand_qspi_write_data(qspi_data->data_ptr[i]);\r
}\r
}\r
+ cs_pullup();\r
osal_irq_restore(irq_sts);\r
if (SUPPORT_STATISTIC == 1) {\r
static_time_after = uapi_tcxo_get_us();\r
'fs_image': False
},
#native-js: liteos + uikit + nandflash + mipi + psram + audio 典型合封UIKIT版本
+ #用户可参考user版本,删除reg/mem dump
'brandy-native-js': {
'board': 'evb',
'base_target_name': 'target_standard_brandy_application_template',
'ulp_aon', 'hal_l2ram', 'bt_manager_at_service',
'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', 'baidumapsdk'],
+ "audio_proc", "audio_dump", "audio_probe", "power_manager", "gpu_proc",'bts_header'],
'ram_component_set': ['bgh', 'media', 'gpu', 'graphic_uikit', 'bgh_audio', 'dfx_set', 'ohos_set', 'wearable_set', 'alipay_set'],
'dsp_version': 'max',
'packet': True,
},
#native-js-user: liteos + uikit + nandflash + mipi + psram + audio 典型合封UIKIT版本
#离线日志版本
+ #删除reg/mem dump,写法如下:'-:DUMP_MEM_SUPPORT', '-:DUMP_REG_SUPPORT', '-:SUPPORT_DFX_EXCEPTION'
'brandy-native-js-user': {
'base_target_name': 'brandy-native-js',
- 'defines': ['-:SW_UART_DEBUG'],
+ 'defines': ['-:SW_UART_DEBUG', '-:DUMP_MEM_SUPPORT', '-:DUMP_REG_SUPPORT', '-:SUPPORT_DFX_EXCEPTION'],
},
#auto-ota-server
'brandy-auto-ota-ser': {
'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', 'baidumapsdk'],
+ "audio_proc", "audio_dump", "audio_probe", "power_manager", "gpu_proc", 'bts_header'],
'ram_component_set': ['bgh', 'media', 'gpu', 'graphic_uikit', 'bgh_audio', 'dfx_set', 'ohos_set', 'wearable_set', 'xts_set', 'xts_test_set', 'alipay_set'],
'dsp_version': 'max',
'packet': True,
button_debounced_t g_button_debounced = {0};
button_map_t g_button_pin_map[BUTTON_PIN_MAP_MAX] = {0};
timer_handle_t g_button_timer = {0};
+timer_handle_t g_gpio_button_timer = {0};
button_info_t g_button_info = {0};
bool g_timer_is_running = false;
msg_send_callback_t g_msg_send_cb = NULL;
}
if (start) {
- uapi_rtc_stop(g_button_timer);
- uapi_rtc_start(g_button_timer, BUTTON_CHECK_RELEADSED, button_check_released_timer_callback, 0);
+ uapi_rtc_stop(g_gpio_button_timer);
+ uapi_rtc_start(g_gpio_button_timer, BUTTON_CHECK_RELEADSED, button_check_released_timer_callback, 0);
}
}
uapi_rtc_stop(g_button_timer);
uapi_rtc_delete(g_button_timer);
g_button_timer = NULL;
+ uapi_rtc_stop(g_gpio_button_timer);
+ uapi_rtc_delete(g_gpio_button_timer);
+ g_gpio_button_timer = NULL;
for (uint8_t i = 0; i < BUTTON_PIN_MAP_MAX; i++) {
g_button_pin_map[i].pin = PIN_NONE;
g_button_pin_map[i].button = BUTTON_MAX;
PRINT("uapi_rtc_create FAILED 0x%x", ret);
return ret;
}
+ ret = uapi_rtc_create(0, &g_gpio_button_timer); /* 1: using timer1 */
+ if (ret != ERRCODE_SUCC) {
+ PRINT("uapi_rtc_create FAILED 0x%x", ret);
+ return ret;
+ }
return ERRCODE_SUCC;
}
\r
uint32_t read_buffer_single_line_width_32(qspi_data_type_def *qspi_data);\r
\r
-void cs_pulldown(void) {\r
+void cs_pulldown(void)\r
+{\r
if (SER_SELECT == 1) {\r
uapi_pin_set_mode(S_HGPIO11, (pin_mode_t)HAL_PIO_FUNC_GPIO);\r
uapi_gpio_set_dir(S_HGPIO11, GPIO_DIRECTION_OUTPUT);\r
}\r
}\r
\r
-void cs_pullup(void) {\r
+void cs_pullup(void)\r
+{\r
if (SER_SELECT == 1) {\r
uapi_pin_set_mode(S_HGPIO11, (pin_mode_t)HAL_PIO_FUNC_QSPI2);\r
} else {\r
return;\r
}\r
\r
-void debug_read_buffer(void) {\r
- if (readw(0x57000010) == 0x5a)\r
- {\r
- for (uint32_t i = 0; i < DEFALUT_BUFLENGTH; i++)\r
- {\r
+void debug_read_buffer(void)\r
+{\r
+ if (readw(0x57000010) == 0x5a) {\r
+ for (uint32_t i = 0; i < DEFALUT_BUFLENGTH; i++) {\r
PRINT("nand_read_buf index:%d , VALUE:%d] \r\n", i, nand_read_buf[i]);\r
}\r
writew(0x57000010, 0);\r
}\r
}\r
\r
-uint32_t read_buffer(qspi_data_type_def *qspi_data, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len, enum nandflash_trans_type type)\r
+uint32_t read_buffer(qspi_data_type_def *qspi_data, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len,\r
+ enum nandflash_trans_type type)\r
{\r
while (is_nandflash_working) {\r
uapi_tcxo_delay_us(HAL_NAND_WAIT_3US);\r
\r
uint32_t write_by_cpu_single_line(qspi_data_type_def *qspi_data)\r
{\r
- PRINT("write_by_cpu_single_line !!!\r\n");\r
qspi_busy_wait();\r
uint16_t address = SWAP_U16(qspi_data->address);\r
uint8_t *addr = (uint8_t *)&address;\r
uint8_t mc_flash_get_offset(void);\r
uint16_t read_id(qspi_data_type_def *qspi_data);\r
uint32_t read_cell_array(qspi_data_type_def *qspi_data);\r
-uint32_t read_buffer(qspi_data_type_def *qspi_data, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len, enum nandflash_trans_type type);\r
+uint32_t read_buffer(qspi_data_type_def *qspi_data, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len,\r
+ enum nandflash_trans_type type);\r
uint8_t read_sr(qspi_data_type_def *qspi_data, uint8_t address);\r
uint32_t write_sr(qspi_data_type_def *qspi_data, uint8_t addr, uint8_t data);\r
void write_cmd(uint8_t command);\r
dma_channel_t dma_send_data(uint32_t trans_num, uint8_t *data_ptr, uint8_t width);\r
dma_channel_t dma_recv_data(uint32_t trans_num, uint8_t *data_ptr, uint8_t width);\r
uint32_t read_buffer_single_line_width_8(qspi_data_type_def *qspi_data);\r
-uint32_t read_bPffer_single_line_width_32(qspi_data_type_def *qspi_data);\r
+uint32_t read_buffer_single_line_width_32(qspi_data_type_def *qspi_data);\r
uint32_t read_buffer_by_dma(qspi_data_type_def *qspi_data);\r
uint32_t program_load_by_dma_width_32(qspi_data_type_def *qspi_data);\r
uint32_t read_buffer_by_dma_width32(qspi_data_type_def *qspi_data);\r
struct nand_driver_struct {\r
uint32_t (*nand_flash_init)(void);\r
uint16_t (*check_id)(void);\r
- uint32_t (*read_page)(uint32_t nand_page, uint8_t *data, uint32_t data_len,\r
- uint8_t *oob, uint32_t oob_len, uint8_t *status_reg, enum nandflash_trans_type type);\r
+ uint32_t (*read_page)(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len,\r
+ uint8_t *status_reg, enum nandflash_trans_type type);\r
uint32_t (*write_page)(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len);\r
uint32_t (*erase_block)(uint32_t block_no);\r
uint32_t (*mark_bad_block)(uint32_t block_no);\r
uint32_t mc_flash_write_sr(uint8_t addr, uint8_t data);\r
void mc_flash_write_cmd(uint8_t cmd);\r
void mc_flash_busy_wait(void);\r
-uint32_t mc_flash_read_page(uint32_t nand_page, uint8_t *data, uint32_t data_len,\r
- uint8_t *oob, uint32_t oob_len, uint8_t *status_reg, enum nandflash_trans_type type); \r
+uint32_t mc_flash_read_page(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len,\r
+ uint8_t *status_reg, enum nandflash_trans_type type);\r
uint32_t mc_flash_write_page(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len);\r
uint32_t mc_flash_erase_block(uint32_t block_no);\r
uint32_t mc_flash_mark_bad_block(uint32_t block_no);\r
* @return 0 SUCESS 1 FAILURE\r
*/\r
int os_nand_block_markbad(const struct mtd_info *mtd, size_t ofs);\r
+\r
+/**\r
+ * @brief lock nand\r
+ */\r
+void nand_lock(void);\r
+\r
+/**\r
+ * @brief unlock nand\r
+ */\r
+void nand_unlock(void);\r
#endif\r
#include "mtd_partition.h"\r
#include "dpal.h"\r
#include "nandflash.h"\r
+#include "chip_io.h"\r
#include "hal_nandflash.h"\r
#include "nandflash_tc58cyg.h"\r
#include "nandflash_ds35x1g.h"\r
return ret;\r
}\r
\r
-/* ʹÓÃÔ¼Êø£ºÖжϺÍÒì³£ÖУ¬½ûÖ¹sync²Ù×÷ */\r
+/* 使用约束:中断和异常中,禁止sync操作 */\r
void nandflash_yaffs_sync(void)\r
{\r
if (osal_in_interrupt() != true && get_exception_status() != true) {\r
}\r
}\r
\r
-#include "chip_io.h"\r
void test_nand_flash_read_8(struct nand_driver_struct *test_nand_flash_driver, uint32_t nand_page)\r
{\r
-\r
- struct mtd_info *mtd;\r
+ struct mtd_info *mtd;\r
mtd = get_mtd("nand");\r
- if (mtd == NULL)\r
- {\r
+ if (mtd == NULL) {\r
nand_register(mtd);\r
}\r
-\r
memset_s(buffer_verify, DEFALUT_BUFLENGTH, 0, DEFALUT_BUFLENGTH);\r
-\r
PRINT("nandflash [READ][PAGE:%d]\r\n", nand_page);\r
uint32_t retlen;\r
writew(0x57000010, 0x5a);\r
- os_nand_read_oob(mtd, mtd->writesize * nand_page, mtd->writesize + mtd->oobsize, &retlen, (const char *)buffer_verify);\r
+ os_nand_read_oob(\r
+ mtd, mtd->writesize * nand_page, mtd->writesize + mtd->oobsize, &retlen, (const char *)buffer_verify);\r
writew(0x57000010, 0x0);\r
for (uint32_t i = 0; i < test_nand_flash_driver->bytes_per_page; i++) {\r
PRINT("[READ DATA INDEX:%d , VALUE:%d] \r\n", i, buffer_verify[i]);\r
{\r
struct mtd_info *mtd;\r
mtd = get_mtd("nand");\r
- if (mtd == NULL)\r
- {\r
+ if (mtd == NULL) {\r
nand_register(mtd);\r
}\r
- \r
\r
int j = 0;\r
for (uint32_t i = 0; i < test_nand_flash_driver->bytes_per_page; i++) {\r
PRINT("nandflash [READ][PAGE:%d]\r\n", nand_page);\r
PRINT("[WRITE][WRITE][WRITE][WRITE][WRITE][WRITE][WRITE][WRITE]\r\n");\r
uint32_t retlen;\r
- os_nand_write_oob(mtd, mtd->writesize * nand_page, mtd->writesize + mtd->oobsize, &retlen, (const char *)buffer_verify);\r
+ os_nand_write_oob(\r
+ mtd, mtd->writesize * nand_page, mtd->writesize + mtd->oobsize, &retlen, (const char *)buffer_verify);\r
}\r
\r
void nandflash_qspi_init(void)\r
\r
static qspi_data_type_def g_qspi_data = {0};\r
\r
-static uint32_t mc_ds35x1g_read_page(\r
- uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len, const uint32_t *ecc_result, enum nandflash_trans_type type)\r
+static uint32_t mc_ds35x1g_read_page(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob,\r
+ uint32_t oob_len, const uint32_t *ecc_result, enum nandflash_trans_type type)\r
{\r
unused(ecc_result);\r
uint32_t ret;\r
\r
static qspi_data_type_def g_qspi_data = {0};\r
\r
-static uint32_t mc_tc58cyg_read_page(\r
- uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len, const uint32_t *ecc_result, enum nandflash_trans_type type)\r
+static uint32_t mc_tc58cyg_read_page(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob,\r
+ uint32_t oob_len, const uint32_t *ecc_result, enum nandflash_trans_type type)\r
{\r
unused(ecc_result);\r
uint32_t ret;\r
uint8_t status_reg;\r
- ret = mc_flash_read_page(nand_page, data, data_len, oob, oob_len, &status_reg,type);\r
+ ret = mc_flash_read_page(nand_page, data, data_len, oob, oob_len, &status_reg, type);\r
if (ret != MC_SUCCESS) {\r
return MC_FAILURE;\r
}\r
#include "los_misc_pri.h"\r
#endif\r
#include "nandflash_config.h"\r
-#include "nandflash_to_os.h"\r
#include "soc_osal.h"\r
#include "soc_errno.h"\r
#include "pinctrl_porting.h"\r
#include "hal_gpio.h"\r
#include "platform_core.h"\r
#include "pinctrl.h"\r
+#include "nandflash_to_os.h"\r
\r
#define NAND_FLASH_TYLE 4\r
#define NAND_FLASH_FLAGS 0x400\r
#define SUCCESS 0\r
#define FAILURE 1\r
#define MAX_RETRYS 3\r
+\r
extern uint8_t nand_read_buf[DEFALUT_BUFLENGTH] __attribute__((aligned(4)));\r
bool test_overturn = false;\r
\r
void test_nand_io_init(void)\r
{\r
- test_overturn = false; \r
+ test_overturn = false;\r
uapi_pin_set_mode(S_AGPIO_R8, (pin_mode_t)HAL_PIO_FUNC_GPIO);\r
uapi_gpio_set_dir(S_AGPIO_R8, GPIO_DIRECTION_OUTPUT);\r
uapi_gpio_set_val(S_AGPIO_R8, GPIO_LEVEL_HIGH);\r
\r
void test_nand_io_overturn(void)\r
{\r
- if(test_overturn)\r
- {\r
+ if (test_overturn) {\r
test_overturn = false;\r
uapi_gpio_set_dir(S_AGPIO_R8, GPIO_DIRECTION_OUTPUT);\r
uapi_gpio_set_val(S_AGPIO_R8, GPIO_LEVEL_LOW);\r
- }\r
- else\r
- {\r
+ } else {\r
test_overturn = true; \r
uapi_gpio_set_dir(S_AGPIO_R8, GPIO_DIRECTION_OUTPUT);\r
uapi_gpio_set_val(S_AGPIO_R8, GPIO_LEVEL_HIGH);\r
\r
void nand_register(struct mtd_info *mtd)\r
{\r
- test_nand_io_init();\r
ext_errno ret;\r
if (file_system_mux.mutex == NULL) {\r
ret = osal_mutex_init(&(file_system_mux));\r
- if (ret != OSAL_SUCCESS)\r
- {\r
+ if (ret != OSAL_SUCCESS) {\r
return;\r
}\r
}\r
-\r
nand_driver = get_nand_flash();\r
mtd->size = nand_driver->pages_per_block * nand_driver->bytes_per_page * nand_driver->total_block;\r
mtd->erasesize = nand_driver->pages_per_block * nand_driver->bytes_per_page;\r
int os_nand_erase(const struct mtd_info *mtd, const struct erase_info *instr)\r
{\r
#ifdef __LITEOS__\r
- NFPRINT("os_nand_erase %s \r\n",OsCurTaskNameGet());\r
+ NFPRINT("os_nand_erase %s \r\n", OsCurTaskNameGet());\r
#endif\r
nand_lock();\r
uint32_t addr = (uint32_t)instr->addr;\r
\r
int os_nand_read_oob(struct mtd_info *mtd, size_t from, size_t len, size_t *retlen, char *buf)\r
{\r
-\r
nand_lock();\r
uint32_t *change = (uint32_t *)&from;\r
uint32_t addr_from = change[0];\r
*retlen = len;\r
NFPRINT("read oob addr_from=%x len=%d \r\n", addr_from, len);\r
if ((addr_from & (mtd->writesize - 1)) != 0) {\r
- PRINT("Attempt to read non page aligned data, addr_from %08x.\n",\r
- (uint32_t)addr_from);\r
+ PRINT("Attempt to read non page aligned data, addr_from %08x.\n", (uint32_t)addr_from);\r
nand_unlock();\r
return FAILURE;\r
}\r
if ((len % (mtd->writesize + mtd->oobsize)) != 0) {\r
PRINT("Attempt to read non aligned data, read length should "\r
- "be aligned with (pagesize + oobsize), length:%d "\r
- "pagesize:%d oobsize:%d\n",\r
- (uint32_t)len, mtd->writesize, mtd->oobsize);\r
+ "be aligned with (pagesize + oobsize), length:%d "\r
+ "pagesize:%d oobsize:%d\n",\r
+ (uint32_t)len,\r
+ mtd->writesize,\r
+ mtd->oobsize);\r
nand_unlock();\r
return FAILURE;\r
}\r
mtd->writesize, (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize) +\r
mtd->writesize, mtd->oobsize, &status, TRANS_DEFAULT);\r
if (ret != MC_SUCCESS) {\r
- ret = nand_driver->read_page(frompage + i, (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize),\r
- mtd->writesize, (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize) + mtd->writesize, mtd->oobsize, &status, TRANS_BY_CPU_SINGLE_LINE);\r
+ ret = nand_driver->read_page(frompage + i,\r
+ (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize),\r
+ mtd->writesize,\r
+ (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize) + mtd->writesize,\r
+ mtd->oobsize,\r
+ &status,\r
+ TRANS_BY_CPU_SINGLE_LINE);\r
}\r
if (ret != MC_SUCCESS) {\r
- PRINT("NAND read to from %08x failed %d \r\n",\r
- (uint32_t)addr_from + i * mtd->writesize, ret);\r
+ PRINT("NAND read to from %08x failed %d \r\n", (uint32_t)addr_from + i * mtd->writesize, ret);\r
nand_unlock();\r
return FAILURE;\r
}\r
int os_nand_write_oob(struct mtd_info *mtd, size_t to, size_t len, size_t *retlen, const char *buf)\r
{\r
#ifdef __LITEOS__\r
- NFPRINT("os_nand_write_oob %s \r\n",OsCurTaskNameGet());\r
+ NFPRINT("os_nand_write_oob %s \r\n", OsCurTaskNameGet());\r
#endif\r
nand_lock();\r
uint32_t *change = (uint32_t *)&to;\r
uint32_t read_ret;\r
for (uint32_t i = 0; i < len_data / mtd->writesize; i++) {\r
uint8_t status;\r
- write_ret = nand_driver->write_page(frompage + i, (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize),\r
- mtd->writesize, (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize) + mtd->writesize, mtd->oobsize);\r
+ write_ret = nand_driver->write_page(frompage + i,\r
+ (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize),\r
+ mtd->writesize,\r
+ (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize) + mtd->writesize,\r
+ mtd->oobsize);\r
memset_s(buffer_verify, OS_DUMP_LEN, 0, OS_DUMP_LEN);\r
read_ret = nand_driver->read_page(frompage + i, (uint8_t *)buffer_verify, mtd->writesize,\r
(uint8_t *)buffer_verify + mtd->writesize, mtd->oobsize,\r
&status, TRANS_BY_CPU_SINGLE_LINE);\r
- if (write_ret != MC_SUCCESS)\r
- {\r
+ if (write_ret != MC_SUCCESS) {\r
PRINT("NAND write to %08x failed %d \r\n", (uint32_t)from + i * mtd->writesize, write_ret);\r
nand_unlock();\r
return FAILURE;\r
PRINT("PAGE = %d\r\n", frompage + i);\r
PRINT("origin-----------------------------------------, diff index = %d\r\n", t);\r
OsDumpMemByte(OS_DUMP_LEN, (const char *)buf + i * (mtd->writesize + mtd->oobsize));\r
- PRINT("after1--nand_read_buf---------------------------, diff index = %d\r\n", t);\r
- OsDumpMemByte(200, nand_read_buf);\r
- PRINT("after2------------------------------------------, diff index = %d\r\n", t);\r
+ PRINT("after-dma-nand_read_buf---------------------------, diff index = %d\r\n", t);\r
+ OsDumpMemByte(OS_DUMP_LEN, nand_read_buf);\r
+ PRINT("after-copy-----------------------------------------, diff index = %d\r\n", t);\r
OsDumpMemByte(OS_DUMP_LEN, buffer_verify);\r
\r
#endif\r
#define W25N01G_ECC_ERROR 0x03\r
#define NAND_ID_DATA_SIZE 0x2\r
\r
-static uint32_t mc_w25n01g_read_page(uint32_t nand_page, uint8_t *data, uint32_t data_len,\r
- uint8_t *oob, uint32_t oob_len, const uint32_t *ecc_result, enum nandflash_trans_type type)\r
+static uint32_t mc_w25n01g_read_page(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob,\r
+ uint32_t oob_len, const uint32_t *ecc_result, enum nandflash_trans_type type)\r
{\r
unused(ecc_result);\r
uint32_t ret;\r
*/
errcode_t gap_ble_remove_all_pairs(void);
+/**
+ * @if Eng
+ * @brief Use this funtion to get the bonded state of a specific device.
+ * @par Use this funtion to get the bonded state of a specific device.
+ * @attention NULL
+ * @param [out] addr the list of paired devices address.
+ * @param [inout] number as input parameter, the buffer size of user,
+ as output parameter, the number of paired devices.
+ * @retval error code.
+ * @par Dependency:
+ * @li bts_def.h
+ * @else
+ * @brief 获取本端设备的已绑定设备。
+ * @par 获取本端设备的已绑定设备。
+ * @attention 无
+ * @param [out] addr 绑定设备地址链表。
+ * @param [inout] number 作为入参时为用户分配的内存大小,作为出参时为绑定设备数量。
+ * @retval 执行结果错误码。
+ * @par 依赖:
+ * @li bts_def.h
+ * @endif
+ */
+errcode_t gap_ble_get_bonded_devices(bd_addr_t *addr, uint16_t *number);
+
+/**
+ * @if Eng
+ * @brief Use this funtion to remove all bond devices info from the paired list.
+ * @par Use this funtion to remove all paired devices info from the paired list.
+ * @attention NULL
+ * @param NULL
+ * @retval error code.
+ * @par Dependency:
+ * @li bts_def.h
+ * @else
+ * @brief 删除所有BLE绑定设备信息。
+ * @par 删除所有BLE绑定设备信息。
+ * @attention 无
+ * @param 无
+ * @retval 执行结果错误码。
+ * @par 依赖:
+ * @li bts_def.h
+ * @endif
+ */
+errcode_t gap_ble_remove_all_bond_devices(void);
+
/**
* @if Eng
* @brief Use this funtion to update ble connect param.
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style_name failed. @app_style.cpp(29),ERROR" ID="0xe11000ea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="style_name set string value error @app_style.cpp(33),ERROR" ID="0xe110010a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="transform prop value must be set. @app_style.cpp(169),ERROR" ID="0xe110054a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(187),ERROR" ID="0xe11005da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(193),ERROR" ID="0xe110060a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc space error @app_style.cpp(265),ERROR" ID="0xe110084a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="convert style name to char failed, will be dropped @app_style.cpp(295),ERROR" ID="0xe110093a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="style name length is 0 or max, will be dropped @app_style.cpp(300),ERROR" ID="0xe1100962" />
- <MSG STRUCTURE="diag_log_msg0" NAME="create style error @app_style.cpp(308),ERROR" ID="0xe11009a2" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style_name failed. @app_style.cpp(29),ERROR" ID="0xe11400ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="style_name set string value error @app_style.cpp(33),ERROR" ID="0xe114010a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="transform prop value must be set. @app_style.cpp(169),ERROR" ID="0xe114054a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(187),ERROR" ID="0xe11405da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(193),ERROR" ID="0xe114060a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc space error @app_style.cpp(265),ERROR" ID="0xe114084a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="convert style name to char failed, will be dropped @app_style.cpp(295),ERROR" ID="0xe114093a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="style name length is 0 or max, will be dropped @app_style.cpp(300),ERROR" ID="0xe1140962" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="create style error @app_style.cpp(308),ERROR" ID="0xe11409a2" />
</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="0xe11201d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="app_style set string value error @app_style_item.cpp(62),ERROR" ID="0xe11201f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="style item transform num to string fail @app_style_item.cpp(77),ERROR" ID="0xe112026a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="convert style prop name to char failed, will be dropped @app_style_item.cpp(90),ERROR" ID="0xe11202d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="style prop name length is 0, will be dropped @app_style_item.cpp(95),ERROR" ID="0xe11202fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(114),ERROR" ID="0xe1120392" />
- <MSG STRUCTURE="diag_log_msg0" NAME="convert style value to char failed, will be dropped @app_style_item.cpp(135),ERROR" ID="0xe112043a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(161),ERROR" ID="0xe112050a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style item string failed. @app_style_item.cpp(58),ERROR" ID="0xe11601d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="app_style set string value error @app_style_item.cpp(62),ERROR" ID="0xe11601f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="style item transform num to string fail @app_style_item.cpp(77),ERROR" ID="0xe116026a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="convert style prop name to char failed, will be dropped @app_style_item.cpp(90),ERROR" ID="0xe11602d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="style prop name length is 0, will be dropped @app_style_item.cpp(95),ERROR" ID="0xe11602fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(114),ERROR" ID="0xe1160392" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="convert style value to char failed, will be dropped @app_style_item.cpp(135),ERROR" ID="0xe116043a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(161),ERROR" ID="0xe116050a" />
</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="0xe11601f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="convert id value to char failed, will be dropped @app_style_manager.cpp(227),ERROR" ID="0xe116071a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="not supported yet @app_style_manager.cpp(243),WARNING" ID="0xe116079b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="invalid prop count @app_style_manager.cpp(283),ERROR" ID="0xe11608da" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="malloc flags data buffer failed @app_style_manager.cpp(62),ERROR" ID="0xe11a01f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="convert id value to char failed, will be dropped @app_style_manager.cpp(227),ERROR" ID="0xe11a071a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="not supported yet @app_style_manager.cpp(243),WARNING" ID="0xe11a079b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="invalid prop count @app_style_manager.cpp(283),ERROR" ID="0xe11a08da" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg1" NAME="stream_hdl: %08x @bt_audio_hal.c(142),INFO" ID="0xd8000475" />
<MSG STRUCTURE="diag_log_msg2" NAME="stream_hdl: %08x ret: %08x @bt_audio_hal.c(155),INFO" ID="0xd80004dd" />
<MSG STRUCTURE="diag_log_msg1" NAME="stream not exist. stream_hdl: %08x @bt_audio_hal.c(157),ERROR" ID="0xd80004ea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp src get invalid dev hdl @bt_audio_hal.c(187),ERROR" ID="0xd80005da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp snk get invalid dev hdl @bt_audio_hal.c(190),ERROR" ID="0xd80005f2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stream is not a2dp src. stream_hdl: %08x @bt_audio_hal.c(187),ERROR" ID="0xd80005da" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="stream is not a2dp snk. stream_hdl: %08x @bt_audio_hal.c(190),ERROR" ID="0xd80005f2" />
<MSG STRUCTURE="diag_log_msg4" NAME="dev_hdl: %08x stream_hdl: %08x enable %x shm_id: %08x @bt_audio_hal.c(194),INFO" ID="0xd8000615" />
<MSG STRUCTURE="diag_log_msg4" NAME="dev_hdl: %08x stream_hdl: %08x shm_id: %08x ret: %08x @bt_audio_hal.c(197),INFO" ID="0xd800062d" />
<MSG STRUCTURE="diag_log_msg3" NAME="stream_hdl: %08x port_type: %d shm_id: %08x @bt_audio_hal.c(209),INFO" ID="0xd800068d" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ACore] data_config write err. @bt_database.c(95),INFO" ID="0xd88002fd" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ACore] config sync data memcpy err. @bt_database.c(99),ERROR" ID="0xd880031a" />
<MSG STRUCTURE="diag_log_msg0" NAME="bt acore save smp key err! @bt_database.c(112),ERROR" ID="0xd8800382" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore save smp key err! @bt_database.c(135),ERROR" ID="0xd880043a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt_acore_set_product_type err! @bt_database.c(148),ERROR" ID="0xd88004a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore set sys config err! @bt_database.c(161),ERROR" ID="0xd880050a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore set product type err! @bt_database.c(171),ERROR" ID="0xd880055a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get smp keys param err! @bt_database.c(182),ERROR" ID="0xd88005b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get smp keys read data err! @bt_database.c(191),ERROR" ID="0xd88005fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get smp keys memcpy err! @bt_database.c(201),ERROR" ID="0xd880064a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get product type read data err! @bt_database.c(213),ERROR" ID="0xd88006aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get system config read data err! @bt_database.c(222),ERROR" ID="0xd88006f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get calibration data read data err! @bt_database.c(230),ERROR" ID="0xd8800732" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key read data err! @bt_database.c(242),ERROR" ID="0xd8800792" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key write data err! @bt_database.c(248),ERROR" ID="0xd88007c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key memcpy err! @bt_database.c(260),ERROR" ID="0xd8800822" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get bonded device err! @bt_database.c(270),ERROR" ID="0xd8800872" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key read data err! @bt_database.c(282),ERROR" ID="0xd88008d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key memcpy err! @bt_database.c(292),ERROR" ID="0xd8800922" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key write data err! @bt_database.c(299),ERROR" ID="0xd880095a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore save smp key err! @bt_database.c(142),ERROR" ID="0xd8800472" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt_acore_set_product_type err! @bt_database.c(155),ERROR" ID="0xd88004da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore set sys config err! @bt_database.c(168),ERROR" ID="0xd8800542" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore set product type err! @bt_database.c(178),ERROR" ID="0xd8800592" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get smp keys param err! @bt_database.c(189),ERROR" ID="0xd88005ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get smp keys read data err! @bt_database.c(198),ERROR" ID="0xd8800632" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get smp keys memcpy err! @bt_database.c(208),ERROR" ID="0xd8800682" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get product type read data err! @bt_database.c(220),ERROR" ID="0xd88006e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get system config read data err! @bt_database.c(229),ERROR" ID="0xd880072a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get calibration data read data err! @bt_database.c(237),ERROR" ID="0xd880076a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt_acore_delete_smp_key malloc ble_key filed @bt_database.c(248),INFO" ID="0xd88007c5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt_acore_delete_smp_key malloc invaild_info filed @bt_database.c(255),INFO" ID="0xd88007fd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key read data err! @bt_database.c(267),ERROR" ID="0xd880085a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key write data err! @bt_database.c(273),ERROR" ID="0xd880088a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key memcpy err! @bt_database.c(287),ERROR" ID="0xd88008fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get bonded device memcpy err! @bt_database.c(311),ERROR" ID="0xd88009ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key read data err! @bt_database.c(328),ERROR" ID="0xd8800a42" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key memcpy err! @bt_database.c(338),ERROR" ID="0xd8800a92" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key write data err! @bt_database.c(345),ERROR" ID="0xd8800aca" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc add descriptor param fail @btsrv_gatt_server.c(847),ERROR" ID="0xd81a1a7a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] data memcpy fail @btsrv_gatt_server.c(854),ERROR" ID="0xd81a1ab2" />
<MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] short uuid memcpy fail @btsrv_gatt_server.c(867),ERROR" ID="0xd81a1b1a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc add service param fail @btsrv_gatt_server.c(914),ERROR" ID="0xd81a1c92" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] long uuid memcpy fail @btsrv_gatt_server.c(926),ERROR" ID="0xd81a1cf2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][INFO] gatts not found on handle:%x @btsrv_gatt_server.c(961),ERROR" ID="0xd81a1e0a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts change event param is NULL @btsrv_gatt_server.c(996),ERROR" ID="0xd81a1f22" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts change event conn_node is NULL @btsrv_gatt_server.c(1001),ERROR" ID="0xd81a1f4a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts read req event conn_node is NULL @btsrv_gatt_server.c(1030),ERROR" ID="0xd81a2032" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write req value memcpy fail @btsrv_gatt_server.c(1058),ERROR" ID="0xd81a2112" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts write req event conn_node is NULL @btsrv_gatt_server.c(1064),ERROR" ID="0xd81a2142" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] GATT server has already been initialized. @btsrv_gatt_server.c(1079),INFO" ID="0xd81a21bd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] GATT server has not been initialized. @btsrv_gatt_server.c(1088),INFO" ID="0xd81a2205" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][ERROR] service_node num reached maximum: %d @btsrv_gatt_server.c(1100),ERROR" ID="0xd81a2262" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] service_uuid already exists @btsrv_gatt_server.c(1105),ERROR" ID="0xd81a228a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc service_node fail @btsrv_gatt_server.c(1110),ERROR" ID="0xd81a22b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] service_node uuid memcpy fail @btsrv_gatt_server.c(1120),ERROR" ID="0xd81a2302" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character memnew fail @btsrv_gatt_server.c(1134),ERROR" ID="0xd81a2372" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character_node uuid memcpy fail @btsrv_gatt_server.c(1144),ERROR" ID="0xd81a23c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character val memnew fail @btsrv_gatt_server.c(1152),ERROR" ID="0xd81a2402" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character_node uuid memcpy fail @btsrv_gatt_server.c(1157),ERROR" ID="0xd81a242a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor memnew fail @btsrv_gatt_server.c(1173),ERROR" ID="0xd81a24aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor uuid memcpy fail @btsrv_gatt_server.c(1182),ERROR" ID="0xd81a24f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor val memnew fail @btsrv_gatt_server.c(1190),ERROR" ID="0xd81a2532" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor val memcpy fail @btsrv_gatt_server.c(1196),ERROR" ID="0xd81a2562" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to register bcore callback. @btsrv_gatt_server.c(1221),ERROR" ID="0xd81a262a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1230),ERROR" ID="0xd81a2672" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to register a server. @btsrv_gatt_server.c(1235),ERROR" ID="0xd81a269a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add server node. @btsrv_gatt_server.c(1240),ERROR" ID="0xd81a26c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1252),ERROR" ID="0xd81a2722" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid server_id. @btsrv_gatt_server.c(1257),ERROR" ID="0xd81a274a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][INFO] unregister server %d success. @btsrv_gatt_server.c(1264),INFO" ID="0xd81a2785" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1275),ERROR" ID="0xd81a27da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1281),ERROR" ID="0xd81a280a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add service node. @btsrv_gatt_server.c(1286),ERROR" ID="0xd81a2832" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1293),ERROR" ID="0xd81a286a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1305),ERROR" ID="0xd81a28ca" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1310),ERROR" ID="0xd81a28f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add service node. @btsrv_gatt_server.c(1315),ERROR" ID="0xd81a291a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1329),ERROR" ID="0xd81a298a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1334),ERROR" ID="0xd81a29b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add character node. @btsrv_gatt_server.c(1339),ERROR" ID="0xd81a29da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1347),ERROR" ID="0xd81a2a1a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1360),ERROR" ID="0xd81a2a82" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1365),ERROR" ID="0xd81a2aaa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1370),ERROR" ID="0xd81a2ad2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add character node. @btsrv_gatt_server.c(1375),ERROR" ID="0xd81a2afa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1388),ERROR" ID="0xd81a2b62" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1393),ERROR" ID="0xd81a2b8a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add descriptor node. @btsrv_gatt_server.c(1398),ERROR" ID="0xd81a2bb2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1406),ERROR" ID="0xd81a2bf2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1420),ERROR" ID="0xd81a2c62" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1425),ERROR" ID="0xd81a2c8a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1430),ERROR" ID="0xd81a2cb2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add descriptor node. @btsrv_gatt_server.c(1435),ERROR" ID="0xd81a2cda" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1448),ERROR" ID="0xd81a2d42" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1454),ERROR" ID="0xd81a2d72" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[btsrv][ERROR] invalid service service already started, server id %d hdl %d @btsrv_gatt_server.c(1460),ERROR" ID="0xd81a2da2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc start_service fail @btsrv_gatt_server.c(1466),ERROR" ID="0xd81a2dd2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response addr memcpy fail @btsrv_gatt_server.c(1471),ERROR" ID="0xd81a2dfa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1493),ERROR" ID="0xd81a2eaa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] server_id not exist @btsrv_gatt_server.c(1498),ERROR" ID="0xd81a2ed2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid service handle, or service not active yet. @btsrv_gatt_server.c(1504),ERROR" ID="0xd81a2f02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] long uuid memcpy fail @btsrv_gatt_server.c(1514),ERROR" ID="0xd81a2f52" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1522),ERROR" ID="0xd81a2f92" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1534),ERROR" ID="0xd81a2ff2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] server_id not exist @btsrv_gatt_server.c(1539),ERROR" ID="0xd81a301a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][ERROR] service handle(%d) not exists, or service is still active (need to stop first). @btsrv_gatt_server.c(1545),ERROR" ID="0xd81a304a" />
- <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][INFO] add character chara is null @btsrv_gatt_server.c(896),INFO" ID="0xd81a1c05" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc add service param fail @btsrv_gatt_server.c(918),ERROR" ID="0xd81a1cb2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] long uuid memcpy fail @btsrv_gatt_server.c(930),ERROR" ID="0xd81a1d12" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][INFO] gatts not found on handle:%x @btsrv_gatt_server.c(965),ERROR" ID="0xd81a1e2a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts change event param is NULL @btsrv_gatt_server.c(1000),ERROR" ID="0xd81a1f42" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts change event conn_node is NULL @btsrv_gatt_server.c(1005),ERROR" ID="0xd81a1f6a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts read req event conn_node is NULL @btsrv_gatt_server.c(1034),ERROR" ID="0xd81a2052" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write req value memcpy fail @btsrv_gatt_server.c(1062),ERROR" ID="0xd81a2132" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts write req event conn_node is NULL @btsrv_gatt_server.c(1068),ERROR" ID="0xd81a2162" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] GATT server has already been initialized. @btsrv_gatt_server.c(1083),INFO" ID="0xd81a21dd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] GATT server has not been initialized. @btsrv_gatt_server.c(1092),INFO" ID="0xd81a2225" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][ERROR] service_node num reached maximum: %d @btsrv_gatt_server.c(1104),ERROR" ID="0xd81a2282" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] service_uuid already exists @btsrv_gatt_server.c(1109),ERROR" ID="0xd81a22aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc service_node fail @btsrv_gatt_server.c(1114),ERROR" ID="0xd81a22d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] service_node uuid memcpy fail @btsrv_gatt_server.c(1124),ERROR" ID="0xd81a2322" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character memnew fail @btsrv_gatt_server.c(1138),ERROR" ID="0xd81a2392" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character_node uuid memcpy fail @btsrv_gatt_server.c(1148),ERROR" ID="0xd81a23e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character val memnew fail @btsrv_gatt_server.c(1156),ERROR" ID="0xd81a2422" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character_node uuid memcpy fail @btsrv_gatt_server.c(1161),ERROR" ID="0xd81a244a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character node not exist @btsrv_gatt_server.c(1176),ERROR" ID="0xd81a24c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor memnew fail @btsrv_gatt_server.c(1181),ERROR" ID="0xd81a24ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor uuid memcpy fail @btsrv_gatt_server.c(1190),ERROR" ID="0xd81a2532" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor val memnew fail @btsrv_gatt_server.c(1198),ERROR" ID="0xd81a2572" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor val memcpy fail @btsrv_gatt_server.c(1204),ERROR" ID="0xd81a25a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to register bcore callback. @btsrv_gatt_server.c(1229),ERROR" ID="0xd81a266a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1238),ERROR" ID="0xd81a26b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to register a server. @btsrv_gatt_server.c(1243),ERROR" ID="0xd81a26da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add server node. @btsrv_gatt_server.c(1248),ERROR" ID="0xd81a2702" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1260),ERROR" ID="0xd81a2762" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid server_id. @btsrv_gatt_server.c(1265),ERROR" ID="0xd81a278a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][INFO] unregister server %d success. @btsrv_gatt_server.c(1272),INFO" ID="0xd81a27c5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1283),ERROR" ID="0xd81a281a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1289),ERROR" ID="0xd81a284a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add service node. @btsrv_gatt_server.c(1294),ERROR" ID="0xd81a2872" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1301),ERROR" ID="0xd81a28aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1313),ERROR" ID="0xd81a290a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1318),ERROR" ID="0xd81a2932" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add service node. @btsrv_gatt_server.c(1323),ERROR" ID="0xd81a295a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1337),ERROR" ID="0xd81a29ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1342),ERROR" ID="0xd81a29f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add character node. @btsrv_gatt_server.c(1347),ERROR" ID="0xd81a2a1a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1355),ERROR" ID="0xd81a2a5a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1368),ERROR" ID="0xd81a2ac2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1373),ERROR" ID="0xd81a2aea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1378),ERROR" ID="0xd81a2b12" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add character node. @btsrv_gatt_server.c(1383),ERROR" ID="0xd81a2b3a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1396),ERROR" ID="0xd81a2ba2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1401),ERROR" ID="0xd81a2bca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add descriptor node. @btsrv_gatt_server.c(1406),ERROR" ID="0xd81a2bf2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1414),ERROR" ID="0xd81a2c32" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1428),ERROR" ID="0xd81a2ca2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1433),ERROR" ID="0xd81a2cca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1438),ERROR" ID="0xd81a2cf2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add descriptor node. @btsrv_gatt_server.c(1443),ERROR" ID="0xd81a2d1a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1456),ERROR" ID="0xd81a2d82" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1462),ERROR" ID="0xd81a2db2" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[btsrv][ERROR] invalid service service already started, server id %d hdl %d @btsrv_gatt_server.c(1468),ERROR" ID="0xd81a2de2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc start_service fail @btsrv_gatt_server.c(1474),ERROR" ID="0xd81a2e12" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response addr memcpy fail @btsrv_gatt_server.c(1479),ERROR" ID="0xd81a2e3a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1501),ERROR" ID="0xd81a2eea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] server_id not exist @btsrv_gatt_server.c(1506),ERROR" ID="0xd81a2f12" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid service handle, or service not active yet. @btsrv_gatt_server.c(1512),ERROR" ID="0xd81a2f42" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] long uuid memcpy fail @btsrv_gatt_server.c(1522),ERROR" ID="0xd81a2f92" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1530),ERROR" ID="0xd81a2fd2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1542),ERROR" ID="0xd81a3032" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] server_id not exist @btsrv_gatt_server.c(1547),ERROR" ID="0xd81a305a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][ERROR] service handle(%d) not exists, or service is still active (need to stop first). @btsrv_gatt_server.c(1553),ERROR" ID="0xd81a308a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1561),ERROR" ID="0xd81a30ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1571),ERROR" ID="0xd81a311a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1581),ERROR" ID="0xd81a316a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1592),ERROR" ID="0xd81a31c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response param new fail @btsrv_gatt_server.c(1598),ERROR" ID="0xd81a31f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response addr memcpy fail @btsrv_gatt_server.c(1607),ERROR" ID="0xd81a323a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response data memcpy fail @btsrv_gatt_server.c(1614),ERROR" ID="0xd81a3272" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1631),ERROR" ID="0xd81a32fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1636),ERROR" ID="0xd81a3322" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc send notification param fail @btsrv_gatt_server.c(1645),ERROR" ID="0xd81a336a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] data memcpy fail @btsrv_gatt_server.c(1653),ERROR" ID="0xd81a33aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1670),ERROR" ID="0xd81a3432" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1675),ERROR" ID="0xd81a345a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] param new fail @btsrv_gatt_server.c(1683),ERROR" ID="0xd81a349a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] sen ntf/ind by uuid memcpy fail @btsrv_gatt_server.c(1693),ERROR" ID="0xd81a34ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] sen ntf/ind by uuid memcpy fail @btsrv_gatt_server.c(1702),ERROR" ID="0xd81a3532" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="set mtu out of bounds use dft_val:23 set_val:%d. @btsrv_gatt_server.c(1718),WARNING" ID="0xd81a35b3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatt server callback memcpy fail @btsrv_gatt_server.c(1731),ERROR" ID="0xd81a361a" />
</MSG_LOG>
\ No newline at end of file
<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 STRUCTURE="diag_log_msg0" NAME="exist same type conn_node, disconnect. @connection_manager.c(583),INFO" ID="0xd806123d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="find remote node fail @connection_manager.c(591),WARNING" ID="0xd806127b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="add conn info error! @connection_manager.c(598),ERROR" ID="0xd80612b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="create acl ret = %08x @connection_manager.c(610),WARNING" ID="0xd8061313" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="acl is connected @connection_manager.c(618),INFO" ID="0xd8061355" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(627),INFO" ID="0xd806139d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="not exist conn node. @connection_manager.c(630),INFO" ID="0xd80613b5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="is phone=0x%x @connection_manager.c(633),INFO" ID="0xd80613cd" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="status error dev_hdl: %x status: %d @connection_manager.c(636),WARNING" ID="0xd80613e3" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @connection_manager.c(676),INFO" ID="0xd8061525" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting @connection_manager.c(708),INFO" ID="0xd8061625" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(712),ERROR" ID="0xd8061642" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(716),ERROR" ID="0xd8061662" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(722),ERROR" ID="0xd8061692" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting success! @connection_manager.c(725),INFO" ID="0xd80616ad" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="stop timer @connection_manager.c(730),INFO" ID="0xd80616d5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="stop timer success! @connection_manager.c(738),INFO" ID="0xd8061715" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="start timer @connection_manager.c(743),INFO" ID="0xd806173d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(753),ERROR" ID="0xd806178a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="create timer error! ret: %x @connection_manager.c(758),ERROR" ID="0xd80617b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="start timer error! ret: %x @connection_manager.c(764),ERROR" ID="0xd80617e2" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="start timer success! try to reconnect %d times interval %dms @connection_manager.c(769),INFO" ID="0xd806180d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x reason: %08x @connection_manager.c(806),INFO" ID="0xd8061935" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="no conn record dev_hdl: %08x @connection_manager.c(815),WARNING" ID="0xd806197b" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="rmt device class=0x%x is phone: 0x%x @connection_manager.c(825),INFO" ID="0xd80619cd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get addr fail @connection_manager.c(838),WARNING" ID="0xd8061a33" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="get remote dev addr failed. dev_hdl: %x @connection_manager.c(852),WARNING" ID="0xd8061aa3" />
+ <MSG STRUCTURE="diag_log_msg6" NAME="addr: ****%02x%02x%02x%02x dev_hdl: %08x gap_remove_pair ret(bool): %d @connection_manager.c(861),INFO" ID="0xd8061aed" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="error dev_hdl: %x pair_ret: %x disconn_ret: %x @connection_manager.c(870),WARNING" ID="0xd8061b33" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(877),INFO" ID="0xd8061b6d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="conn node is null dev_hdl: %x @connection_manager.c(881),INFO" ID="0xd8061b8d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="status error dev_hdl: %x status: %d @connection_manager.c(887),INFO" ID="0xd8061bbd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(901),INFO" ID="0xd8061c2d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get addr fail @connection_manager.c(909),WARNING" ID="0xd8061c6b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="rmt device is phone @connection_manager.c(916),INFO" ID="0xd8061ca5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="rmt device is not phone @connection_manager.c(919),INFO" ID="0xd8061cbd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="node not exist @connection_manager.c(930),INFO" ID="0xd8061d15" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="success @connection_manager.c(938),INFO" ID="0xd8061d55" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="add remote list error! @connection_manager.c(992),WARNING" ID="0xd8061f03" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="descovery result @connection_manager.c(1018),INFO" ID="0xd8061fd5" />
+ <MSG STRUCTURE="diag_log_msg5" NAME="found device addr: ****%02x%02x%02x%02x name: %s @connection_manager.c(1027),INFO" ID="0xd806201d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gap_get_device_name failed @connection_manager.c(1029),INFO" ID="0xd806202d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get device name fail @connection_manager.c(1054),WARNING" ID="0xd80620f3" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id: %d @connection_manager.c(1123),WARNING" ID="0xd806231b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="set discovery status to stop @connection_manager.c(1141),INFO" ID="0xd80623ad" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id: %d @connection_manager.c(1212),WARNING" ID="0xd80625e3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show conn list: @connection_manager.c(1233),INFO" ID="0xd806268d" />
+ <MSG STRUCTURE="diag_log_msg7" NAME="| %-4s | %-32s | %-12s | %-16s | %-16s | %-8s | %-8s | @connection_manager.c(1235),INFO" ID="0xd806269d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="remote is null @connection_manager.c(1243),ERROR" ID="0xd80626da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1246),ERROR" ID="0xd80626f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="name memcpy_s fail @connection_manager.c(1249),ERROR" ID="0xd806270a" />
+ <MSG STRUCTURE="diag_log_msg10" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16d | %-16d | %-8d | %-8d | @connection_manager.c(1254),INFO" ID="0xd8062735" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show conn list end! @connection_manager.c(1259),INFO" ID="0xd806275d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show ble conn list: @connection_manager.c(1267),INFO" ID="0xd806279d" />
+ <MSG STRUCTURE="diag_log_msg9" NAME="| %-4s | %-12s | %-10s | %-8s | %-12s | %-12s | %-12s | %-12s | %-48s | @connection_manager.c(1272),INFO" ID="0xd80627c5" />
+ <MSG STRUCTURE="diag_log_msg11" NAME="| %-4d | %02x******%02x%02x | %-10d | %-8d | %-12d | %-12d | %-12d | %-12d | %-48s | @connection_manager.c(1285),INFO" ID="0xd806282d" />
+ <MSG STRUCTURE="diag_log_msg8" NAME="| %-4s | %-12s | %-10s | %-8s | %-12s | %-12s | %-12s | %-12s | @connection_manager.c(1292),INFO" ID="0xd8062865" />
+ <MSG STRUCTURE="diag_log_msg10" NAME="| %-4d | %02x******%02x%02x | %-10d | %-8d | %-12d | %-12d | %-12d | %-12d | @connection_manager.c(1298),INFO" ID="0xd8062895" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show ble conn list end! @connection_manager.c(1305),INFO" ID="0xd80628cd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show link mode: @connection_manager.c(1317),INFO" ID="0xd806292d" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="| %-4s | %-32s | %-12s | %-16s | @connection_manager.c(1319),INFO" ID="0xd806293d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="remote is null @connection_manager.c(1328),ERROR" ID="0xd8062982" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1331),ERROR" ID="0xd806299a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="name memcpy_s fail @connection_manager.c(1334),ERROR" ID="0xd80629b2" />
+ <MSG STRUCTURE="diag_log_msg7" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16s | @connection_manager.c(1342),INFO" ID="0xd80629f5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="show link mode end! @connection_manager.c(1347),INFO" ID="0xd8062a1d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="set scan mode old=%d new=%d @connection_manager.c(1409),INFO" ID="0xd8062c0d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_set_discovery_mode ret: %x @connection_manager.c(1420),INFO" ID="0xd8062c65" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="btsdk_set_discovery_mode mode: %x ret: %x @connection_manager.c(1431),INFO" ID="0xd8062cbd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="already in discovery @connection_manager.c(1453),INFO" ID="0xd8062d6d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bt is not enabled @connection_manager.c(1466),WARNING" ID="0xd8062dd3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="discovery already stopped @connection_manager.c(1471),WARNING" ID="0xd8062dfb" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_stop_device_discovery ret=0x%x @connection_manager.c(1476),INFO" ID="0xd8062e25" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="discovery stopped @connection_manager.c(1479),INFO" ID="0xd8062e3d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="not start bt @connection_manager.c(1505),INFO" ID="0xd8062f0d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="param id null @connection_manager.c(1509),INFO" ID="0xd8062f2d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="exist connect audio device @connection_manager.c(1515),INFO" ID="0xd8062f5d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gap_br_cancel_discovery fail @connection_manager.c(1520),INFO" ID="0xd8062f85" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @connection_manager.c(1556),INFO" ID="0xd80630a5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatt client add conn node memcpy fail. @connection_manager.c(1623),ERROR" ID="0xd80632ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="btsrv connect state change cbk arg NULL! @connection_manager.c(1637),ERROR" ID="0xd806332a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect state update memcpy fail. @connection_manager.c(1642),ERROR" ID="0xd8063352" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect node is null. @connection_manager.c(1658),ERROR" ID="0xd80633d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble smp paired keys cbk param error @connection_manager.c(1677),ERROR" ID="0xd806346a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="paired keys malloc fail. @connection_manager.c(1683),ERROR" ID="0xd806349a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="paired keys malloc fail. @connection_manager.c(1688),ERROR" ID="0xd80634c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="pair keys notify, keys addr memcpy fail. @connection_manager.c(1693),ERROR" ID="0xd80634ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="pair keys notify, keys memcpy fail. @connection_manager.c(1700),ERROR" ID="0xd8063522" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ble smp paired complete cbk param error @connection_manager.c(1717),ERROR" ID="0xd80635aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect param update incomes arg is NULL! @connection_manager.c(1728),ERROR" ID="0xd8063602" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect param update, conn_node not found. @connection_manager.c(1735),ERROR" ID="0xd806363a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect param update,connect_params NULL. @connection_manager.c(1741),ERROR" ID="0xd806366a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="connect param update, addr memcpy fail. @connection_manager.c(1747),ERROR" ID="0xd806369a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="connect param update done ret:%d. @connection_manager.c(1756),INFO" ID="0xd80636e5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gap_ble_connect_remote_device not start bt @connection_manager.c(1765),INFO" ID="0xd806372d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="gap_ble_connect_remote_device param id null @connection_manager.c(1769),INFO" ID="0xd806374d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] addr memcpy to param fail. @connection_manager.c(1775),INFO" ID="0xd806377d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv]addr memcpy fail. @connection_manager.c(1793),INFO" ID="0xd806380d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1811),ERROR" ID="0xd806389a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read remote device rssi, conn_node not found. @connection_manager.c(1832),ERROR" ID="0xd8063942" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read remote device rssi fail @connection_manager.c(1837),ERROR" ID="0xd806396a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="conn_node not found. @connection_manager.c(1853),ERROR" ID="0xd80639ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="auto reconnect is enabled, close it first. @connection_manager.c(1876),ERROR" ID="0xd8063aa2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(1881),ERROR" ID="0xd8063aca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(1885),ERROR" ID="0xd8063aea" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(1892),ERROR" ID="0xd8063b22" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting success! @connection_manager.c(1896),INFO" ID="0xd8063b45" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg1" NAME="ResId is invalid: 0x%x @image_cache_manager.cpp(64),ERROR" ID="0xcb1c0202" />
<MSG STRUCTURE="diag_log_msg2" NAME="DirId can not match: resId: 0x%x, dirId: 0x%x @image_cache_manager.cpp(69),ERROR" ID="0xcb1c022a" />
<MSG STRUCTURE="diag_log_msg1" NAME="ResId is out of the range: 0x%x @image_cache_manager.cpp(74),ERROR" ID="0xcb1c0252" />
- <MSG STRUCTURE="diag_log_msg0" NAME="multiImgInfo is nullptr! @image_cache_manager.cpp(95),ERROR" ID="0xcb1c02fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc node failed! @image_cache_manager.cpp(105),ERROR" ID="0xcb1c034a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="multiImgInfo.info is nullptr @image_cache_manager.cpp(115),ERROR" ID="0xcb1c039a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc for node failed! @image_cache_manager.cpp(155),ERROR" ID="0xcb1c04da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ImageCacheMalloc for img data failed! @image_cache_manager.cpp(163),ERROR" ID="0xcb1c051a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(230),ERROR" ID="0xcb1c0732" />
- <MSG STRUCTURE="diag_log_msg0" NAME="fread info header failed! @image_cache_manager.cpp(244),ERROR" ID="0xcb1c07a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="LoadAllImgInfo failed! @image_cache_manager.cpp(270),ERROR" ID="0xcb1c0872" />
- <MSG STRUCTURE="diag_log_msg0" NAME="LoadSingleImgInfo failed! node is nullptr or imgIndex is invalid. @image_cache_manager.cpp(278),ERROR" ID="0xcb1c08b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(300),ERROR" ID="0xcb1c0962" />
- <MSG STRUCTURE="diag_log_msg0" NAME="LoadSingleImgInfo failed! @image_cache_manager.cpp(328),ERROR" ID="0xcb1c0a42" />
- <MSG STRUCTURE="diag_log_msg1" NAME="LoadAllInMultiRes failed! Open file failed: %s @image_cache_manager.cpp(339),ERROR" ID="0xcb1c0a9a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="fread bin header failed! @image_cache_manager.cpp(351),ERROR" ID="0xcb1c0afa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="LoadAllImgInfo failed! @image_cache_manager.cpp(370),ERROR" ID="0xcb1c0b92" />
- <MSG STRUCTURE="diag_log_msg1" NAME="LoadAllInMultiRes failed! file: %s @image_cache_manager.cpp(385),ERROR" ID="0xcb1c0c0a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Res file is already loaded. @image_cache_manager.cpp(393),WARNING" ID="0xcb1c0c4b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(411),ERROR" ID="0xcb1c0cda" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy info header failed! @image_cache_manager.cpp(415),ERROR" ID="0xcb1c0cfa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy img data failed! @image_cache_manager.cpp(420),ERROR" ID="0xcb1c0d22" />
- <MSG STRUCTURE="diag_log_msg2" NAME="LoadOneInMultiRes failed! resId: 0x%x, file: %s @image_cache_manager.cpp(507),ERROR" ID="0xcb1c0fda" />
- <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(521),ERROR" ID="0xcb1c104a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="Res file is not loaded: %s @image_cache_manager.cpp(578),ERROR" ID="0xcb1c1212" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Res file is not loaded. @image_cache_manager.cpp(606),ERROR" ID="0xcb1c12f2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="Res file is not loaded: %s @image_cache_manager.cpp(633),ERROR" ID="0xcb1c13ca" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Res file is not loaded. @image_cache_manager.cpp(648),ERROR" ID="0xcb1c1442" />
- <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(695),ERROR" ID="0xcb1c15ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="FillPath failed! Length of filepath with a null terminator is greater than 64. @image_cache_manager.cpp(86),ERROR" ID="0xcb1c02b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="strcpy_s failed. @image_cache_manager.cpp(90),ERROR" ID="0xcb1c02d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="multiImgInfo is nullptr! @image_cache_manager.cpp(110),ERROR" ID="0xcb1c0372" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc node failed! @image_cache_manager.cpp(120),ERROR" ID="0xcb1c03c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="multiImgInfo.info is nullptr @image_cache_manager.cpp(130),ERROR" ID="0xcb1c0412" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="LRU free short term image %s resid:%d @image_cache_manager.cpp(148),WARNING" ID="0xcb1c04a3" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="LRU free long term image %s resid:%d @image_cache_manager.cpp(157),WARNING" ID="0xcb1c04eb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc for node failed! @image_cache_manager.cpp(170),ERROR" ID="0xcb1c0552" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ImageCacheMalloc for img data failed! @image_cache_manager.cpp(178),ERROR" ID="0xcb1c0592" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="File is not loaded. File: %s. @image_cache_manager.cpp(216),ERROR" ID="0xcb1c06c2" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="MultiImgInfo is nullptr, or resId is invalid. File: %s, ResId: %u. @image_cache_manager.cpp(224),ERROR" ID="0xcb1c0702" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="Node is nullptr. File: %s, ResId: %u. @image_cache_manager.cpp(229),ERROR" ID="0xcb1c072a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="LoadSingleRes failed. File: %s, ResId: %u. @image_cache_manager.cpp(244),ERROR" ID="0xcb1c07a2" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="LoadOneInMultiRes failed. File: %s, ResId: %u. @image_cache_manager.cpp(250),ERROR" ID="0xcb1c07d2" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="Update image info failed. Set img data to nullptr. File: %s, FileLen: %u, ResId: %u. @image_cache_manager.cpp(262),ERROR" ID="0xcb1c0832" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(284),ERROR" ID="0xcb1c08e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="fread info header failed! @image_cache_manager.cpp(298),ERROR" ID="0xcb1c0952" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="LoadAllImgInfo failed! @image_cache_manager.cpp(327),ERROR" ID="0xcb1c0a3a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="LoadSingleImgInfo failed! node is nullptr or imgIndex is invalid. @image_cache_manager.cpp(335),ERROR" ID="0xcb1c0a7a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="LoadSingleImgInfo failed! @image_cache_manager.cpp(385),ERROR" ID="0xcb1c0c0a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="LoadAllInMultiRes failed! Open file failed: %s @image_cache_manager.cpp(396),ERROR" ID="0xcb1c0c62" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="fread bin header failed! @image_cache_manager.cpp(408),ERROR" ID="0xcb1c0cc2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="LoadAllImgInfo failed! @image_cache_manager.cpp(427),ERROR" ID="0xcb1c0d5a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="LoadAllInMultiRes failed! file: %s @image_cache_manager.cpp(442),ERROR" ID="0xcb1c0dd2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Res file is already loaded. @image_cache_manager.cpp(450),WARNING" ID="0xcb1c0e13" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(468),ERROR" ID="0xcb1c0ea2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy info header failed! @image_cache_manager.cpp(472),ERROR" ID="0xcb1c0ec2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy img data failed! @image_cache_manager.cpp(477),ERROR" ID="0xcb1c0eea" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="LoadOneInMultiRes failed! resId: 0x%x, file: %s @image_cache_manager.cpp(564),ERROR" ID="0xcb1c11a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(578),ERROR" ID="0xcb1c1212" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="Res file is not loaded: %s @image_cache_manager.cpp(635),ERROR" ID="0xcb1c13da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Res file is not loaded. @image_cache_manager.cpp(663),ERROR" ID="0xcb1c14ba" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="Res file is not loaded: %s @image_cache_manager.cpp(690),ERROR" ID="0xcb1c1592" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Res file is not loaded. @image_cache_manager.cpp(705),ERROR" ID="0xcb1c160a" />
</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="0xe10a00ed" />
- <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="0xe10a014a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="init state -> ready state @js_page_state.cpp(49),INFO" ID="0xe10a018d" />
- <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="0xe10a01e2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> show state @js_page_state.cpp(68),INFO" ID="0xe10a0225" />
- <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="0xe10a026a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> background state @js_page_state.cpp(85),INFO" ID="0xe10a02ad" />
- <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="0xe10a02ea" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> destroy state @js_page_state.cpp(102),INFO" ID="0xe10a0335" />
- <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="0xe10a037a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="undefined state -> init state @js_page_state.cpp(29),INFO" ID="0xe10e00ed" />
+ <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="0xe10e014a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="init state -> ready state @js_page_state.cpp(49),INFO" ID="0xe10e018d" />
+ <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="0xe10e01e2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> show state @js_page_state.cpp(68),INFO" ID="0xe10e0225" />
+ <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="0xe10e026a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> background state @js_page_state.cpp(85),INFO" ID="0xe10e02ad" />
+ <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="0xe10e02ea" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> destroy state @js_page_state.cpp(102),INFO" ID="0xe10e0335" />
+ <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="0xe10e037a" />
</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="0xe10c029a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc path memory heap failed. @js_page_state_machine.cpp(116),ERROR" ID="0xe10c03a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(148),ERROR" ID="0xe10c04a2" />
- <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="0xe10c0502" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as object is invalid. @js_page_state_machine.cpp(177),ERROR" ID="0xe10c058a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(186),ERROR" ID="0xe10c05d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(194),ERROR" ID="0xe10c0612" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is empty. @js_page_state_machine.cpp(201),ERROR" ID="0xe10c064a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as generating js file's path failed. @js_page_state_machine.cpp(211),ERROR" ID="0xe10c069a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as js file isn't existed. @js_page_state_machine.cpp(220),ERROR" ID="0xe10c06e2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(278),ERROR" ID="0xe10c08b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="relocat page JS file failed @js_page_state_machine.cpp(295),ERROR" ID="0xe10c093a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Eval JS file failed @js_page_state_machine.cpp(301),ERROR" ID="0xe10c096a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="JS Heap allocBytes[%d], peakAllocBytes[%d] @js_page_state_machine.cpp(333),DBG" ID="0xe10c0a6e" />
- <MSG STRUCTURE="diag_log_msg0" NAME="StateMachine::ShowPage @js_page_state_machine.cpp(365),INFO" ID="0xe10c0b6d" />
- <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="0xe10c0b7b" />
- <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="0xe10c0bf3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="input parameter is invalid when invoking page life cycle callback. @js_page_state_machine.cpp(399),ERROR" ID="0xe10c0c7a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(424),ERROR" ID="0xe10c0d42" />
- <MSG STRUCTURE="diag_log_msg0" NAME="delete $root property failed from global object. @js_page_state_machine.cpp(433),ERROR" ID="0xe10c0d8a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%d] components leaked! @js_page_state_machine.cpp(475),ERROR" ID="0xe10c0eda" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(83),ERROR" ID="0xe110029a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc path memory heap failed. @js_page_state_machine.cpp(116),ERROR" ID="0xe11003a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(148),ERROR" ID="0xe11004a2" />
+ <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="0xe1100502" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as object is invalid. @js_page_state_machine.cpp(177),ERROR" ID="0xe110058a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(186),ERROR" ID="0xe11005d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(194),ERROR" ID="0xe1100612" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is empty. @js_page_state_machine.cpp(201),ERROR" ID="0xe110064a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as generating js file's path failed. @js_page_state_machine.cpp(211),ERROR" ID="0xe110069a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as js file isn't existed. @js_page_state_machine.cpp(220),ERROR" ID="0xe11006e2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(278),ERROR" ID="0xe11008b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="relocat page JS file failed @js_page_state_machine.cpp(295),ERROR" ID="0xe110093a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Eval JS file failed @js_page_state_machine.cpp(301),ERROR" ID="0xe110096a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="JS Heap allocBytes[%d], peakAllocBytes[%d] @js_page_state_machine.cpp(333),DBG" ID="0xe1100a6e" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="StateMachine::ShowPage @js_page_state_machine.cpp(365),INFO" ID="0xe1100b6d" />
+ <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="0xe1100b7b" />
+ <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="0xe1100bf3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="input parameter is invalid when invoking page life cycle callback. @js_page_state_machine.cpp(399),ERROR" ID="0xe1100c7a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(424),ERROR" ID="0xe1100d42" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="delete $root property failed from global object. @js_page_state_machine.cpp(433),ERROR" ID="0xe1100d8a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%d] components leaked! @js_page_state_machine.cpp(475),ERROR" ID="0xe1100eda" />
</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="0xe10e00fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="router is replacing, can not handle the new request @js_router.cpp(43),ERROR" ID="0xe10e015a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc state machine memory heap failed. @js_router.cpp(48),ERROR" ID="0xe10e0182" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dispatch replacing request failed @js_router.cpp(64),ERROR" ID="0xe10e0202" />
- <MSG STRUCTURE="diag_log_msg0" NAME="replace sync failed, new sm should be prepared @js_router.cpp(78),ERROR" ID="0xe10e0272" />
- <MSG STRUCTURE="diag_log_msg0" NAME="the whole application is in background, move to HIDE state directly @js_router.cpp(94),DBG" ID="0xe10e02f6" />
- <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing show @js_router.cpp(110),ERROR" ID="0xe10e0372" />
- <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing background @js_router.cpp(122),ERROR" ID="0xe10e03d2" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="replace async failed with null input parameter @js_router.cpp(31),ERROR" ID="0xe11200fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="router is replacing, can not handle the new request @js_router.cpp(43),ERROR" ID="0xe112015a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc state machine memory heap failed. @js_router.cpp(48),ERROR" ID="0xe1120182" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dispatch replacing request failed @js_router.cpp(64),ERROR" ID="0xe1120202" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="replace sync failed, new sm should be prepared @js_router.cpp(78),ERROR" ID="0xe1120272" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="the whole application is in background, move to HIDE state directly @js_router.cpp(94),DBG" ID="0xe11202f6" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing show @js_router.cpp(110),ERROR" ID="0xe1120372" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing background @js_router.cpp(122),ERROR" ID="0xe11203d2" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="InitKaleidoscopeInfo failed. @kaleidoscope_utils.cpp(236),ERROR" ID="0xcb3c0762" />
<MSG STRUCTURE="diag_log_msg0" NAME="InitInnerPath failed. @kaleidoscope_utils.cpp(243),ERROR" ID="0xcb3c079a" />
<MSG STRUCTURE="diag_log_msg0" NAME="InitPartialInfo failed. @kaleidoscope_utils.cpp(251),ERROR" ID="0xcb3c07da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="kaleidoscopeInfo_ or partialInfo_ is nullptr. @kaleidoscope_utils.cpp(422),ERROR" ID="0xcb3c0d32" />
- <MSG STRUCTURE="diag_log_msg0" NAME="kaleidoscopeInfo_ or kaleidoscopeInfo_->info.data is nullptr. @kaleidoscope_utils.cpp(445),ERROR" ID="0xcb3c0dea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="ConstructPartial failed. @kaleidoscope_utils.cpp(452),ERROR" ID="0xcb3c0e22" />
- <MSG STRUCTURE="diag_log_msg0" NAME="UpdateKaleidoscopeImgInfo failed, because isInternalMem_ is false. @kaleidoscope_utils.cpp(461),ERROR" ID="0xcb3c0e6a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="UpdateKaleidoscopeImgInfo failed, because addr is nullptr. @kaleidoscope_utils.cpp(466),ERROR" ID="0xcb3c0e92" />
- <MSG STRUCTURE="diag_log_msg0" NAME="UpdateKaleidoscopeImgInfo failed, because kaleidoscopeInfo_ is nullptr. @kaleidoscope_utils.cpp(471),ERROR" ID="0xcb3c0eba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ConstructPartial failed. UpdateImageInfoIfNecessary failed. @kaleidoscope_utils.cpp(325),ERROR" ID="0xcb3c0a2a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="kaleidoscopeInfo_ or partialInfo_ is nullptr. @kaleidoscope_utils.cpp(426),ERROR" ID="0xcb3c0d52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="kaleidoscopeInfo_ or kaleidoscopeInfo_->info.data is nullptr. @kaleidoscope_utils.cpp(449),ERROR" ID="0xcb3c0e0a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="ConstructPartial failed. @kaleidoscope_utils.cpp(456),ERROR" ID="0xcb3c0e42" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="UpdateKaleidoscopeImgInfo failed, because isInternalMem_ is false. @kaleidoscope_utils.cpp(465),ERROR" ID="0xcb3c0e8a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="UpdateKaleidoscopeImgInfo failed, because addr is nullptr. @kaleidoscope_utils.cpp(470),ERROR" ID="0xcb3c0eb2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="UpdateKaleidoscopeImgInfo failed, because kaleidoscopeInfo_ is nullptr. @kaleidoscope_utils.cpp(475),ERROR" ID="0xcb3c0eda" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="g_rmt_dev: %d @pbap_service.c(54),INFO" ID="0xd82801b5" />
- <MSG STRUCTURE="diag_log_msg4" NAME="addr: ****%02x%02x%02x%02x @pbap_service.c(61),INFO" ID="0xd82801ed" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s addr fail @pbap_service.c(64),ERROR" ID="0xd8280202" />
- <MSG STRUCTURE="diag_log_msg0" NAME="callback functon not registered @pbap_service.c(87),INFO" ID="0xd82802bd" />
- <MSG STRUCTURE="diag_log_msg2" NAME="event=0x%x result=0x%x @pbap_service.c(93),INFO" ID="0xd82802ed" />
- <MSG STRUCTURE="diag_log_msg1" NAME="start transferring %s: @pbap_service.c(100),INFO" ID="0xd8280325" />
- <MSG STRUCTURE="diag_log_msg1" NAME="%10u bytes @pbap_service.c(102),INFO" ID="0xd8280335" />
- <MSG STRUCTURE="diag_log_msg1" NAME="%10u byte transferred @pbap_service.c(104),INFO" ID="0xd8280345" />
- <MSG STRUCTURE="diag_log_msg2" NAME="extra app event=%u g_pbap_get_size=0x%x @pbap_service.c(108),INFO" ID="0xd8280365" />
- <MSG STRUCTURE="diag_log_msg1" NAME="result: 0x%x @pbap_service.c(110),WARNING" ID="0xd8280373" />
- <MSG STRUCTURE="diag_log_msg0" NAME="free g_sdk_param @pbap_service.c(127),INFO" ID="0xd82803fd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bd_addr is null! @pbap_service.c(143),ERROR" ID="0xd828047a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bd_addr is wrong! @pbap_service.c(146),ERROR" ID="0xd8280492" />
- <MSG STRUCTURE="diag_log_msg0" NAME="invalid bd_addr! @pbap_service.c(155),ERROR" ID="0xd82804da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="No device selected @pbap_service.c(159),ERROR" ID="0xd82804fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="already connected @pbap_service.c(163),INFO" ID="0xd828051d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="g_rmt_dev=0x%x @pbap_service.c(167),INFO" ID="0xd828053d" />
- <MSG STRUCTURE="diag_log_msg2" NAME="bt_connect_ex finish, result: 0x%x conn_handle=0x%x @pbap_service.c(169),INFO" ID="0xd828054d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="already connected @pbap_service.c(173),INFO" ID="0xd828056d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="invalid bd_addr! @pbap_service.c(186),ERROR" ID="0xd82805d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="no connection @pbap_service.c(190),INFO" ID="0xd82805f5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pbap_pce_stop_trans result: 0x%x @pbap_service.c(196),INFO" ID="0xd8280625" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[Line: %d] finish, result: 0x%x @pbap_service.c(199),INFO" ID="0xd828063d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="already disconnected @pbap_service.c(204),INFO" ID="0xd8280665" />
- <MSG STRUCTURE="diag_log_msg0" NAME="reset g_pbap_conn @pbap_service.c(214),INFO" ID="0xd82806b5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="free g_sdk_param @pbap_service.c(220),INFO" ID="0xd82806e5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="conn_handle=0x%x @pbap_service.c(228),INFO" ID="0xd8280725" />
- <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(230),ERROR" ID="0xd8280732" />
- <MSG STRUCTURE="diag_log_msg0" NAME="invalid param! @pbap_service.c(234),ERROR" ID="0xd8280752" />
- <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param is busy! @pbap_service.c(238),WARNING" ID="0xd8280773" />
- <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param malloc failed! @pbap_service.c(243),ERROR" ID="0xd828079a" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[Line: %d] finish, name:%s, ret: 0x%x @pbap_service.c(256),INFO" ID="0xd8280805" />
- <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(265),ERROR" ID="0xd828084a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="invalid param! @pbap_service.c(269),ERROR" ID="0xd828086a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param is busy! @pbap_service.c(273),WARNING" ID="0xd828088b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param malloc failed! @pbap_service.c(278),ERROR" ID="0xd82808b2" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[Line: %d] finish, name:%s, ret: 0x%x @pbap_service.c(289),INFO" ID="0xd828090d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(298),ERROR" ID="0xd8280952" />
- <MSG STRUCTURE="diag_log_msg0" NAME="invalid param! @pbap_service.c(302),ERROR" ID="0xd8280972" />
- <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param is busy! @pbap_service.c(306),WARNING" ID="0xd8280993" />
- <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param malloc failed! @pbap_service.c(311),ERROR" ID="0xd82809ba" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[Line: %d] finish, name:%s, ret: %u @pbap_service.c(320),INFO" ID="0xd8280a05" />
- <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(329),ERROR" ID="0xd8280a4a" />
- <MSG STRUCTURE="diag_log_msg4" NAME="[Line: %d] finish, name:%s, len:%d ret: 0x%x @pbap_service.c(334),INFO" ID="0xd8280a75" />
- <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(343),ERROR" ID="0xd8280aba" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[Line: %d] finish, ret: %u @pbap_service.c(347),INFO" ID="0xd8280add" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="g_rmt_dev: %d @pbap_service.c(55),INFO" ID="0xd82801bd" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="addr: ****%02x%02x%02x%02x @pbap_service.c(62),INFO" ID="0xd82801f5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s addr fail @pbap_service.c(65),ERROR" ID="0xd828020a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="callback functon not registered @pbap_service.c(88),INFO" ID="0xd82802c5" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="event=0x%x result=0x%x @pbap_service.c(94),INFO" ID="0xd82802f5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="start transferring %s: @pbap_service.c(101),INFO" ID="0xd828032d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="%10u bytes @pbap_service.c(103),INFO" ID="0xd828033d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="%10u byte transferred @pbap_service.c(105),INFO" ID="0xd828034d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="extra app event=%u g_pbap_get_size=0x%x @pbap_service.c(109),INFO" ID="0xd828036d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="result: 0x%x @pbap_service.c(111),WARNING" ID="0xd828037b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="free g_sdk_param @pbap_service.c(128),INFO" ID="0xd8280405" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bd_addr is null! @pbap_service.c(144),ERROR" ID="0xd8280482" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bd_addr is wrong! @pbap_service.c(147),ERROR" ID="0xd828049a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="invalid bd_addr! @pbap_service.c(156),ERROR" ID="0xd82804e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="No device selected @pbap_service.c(160),ERROR" ID="0xd8280502" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="already connected @pbap_service.c(164),INFO" ID="0xd8280525" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="g_rmt_dev=0x%x @pbap_service.c(168),INFO" ID="0xd8280545" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="bt_connect_ex finish, result: 0x%x conn_handle=0x%x @pbap_service.c(170),INFO" ID="0xd8280555" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="already connected @pbap_service.c(174),INFO" ID="0xd8280575" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="invalid bd_addr! @pbap_service.c(187),ERROR" ID="0xd82805da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="no connection @pbap_service.c(191),INFO" ID="0xd82805fd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pbap_pce_stop_trans result: 0x%x @pbap_service.c(197),INFO" ID="0xd828062d" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[Line: %d] finish, result: 0x%x @pbap_service.c(200),INFO" ID="0xd8280645" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="already disconnected @pbap_service.c(205),INFO" ID="0xd828066d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="reset g_pbap_conn @pbap_service.c(215),INFO" ID="0xd82806bd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="free g_sdk_param @pbap_service.c(221),INFO" ID="0xd82806ed" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="conn_handle=0x%x @pbap_service.c(229),INFO" ID="0xd828072d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(231),ERROR" ID="0xd828073a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="invalid param! @pbap_service.c(235),ERROR" ID="0xd828075a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param is busy! @pbap_service.c(239),WARNING" ID="0xd828077b" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param malloc failed! @pbap_service.c(244),ERROR" ID="0xd82807a2" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[Line: %d] finish, name:%s, ret: 0x%x @pbap_service.c(257),INFO" ID="0xd828080d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(266),ERROR" ID="0xd8280852" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="invalid param! @pbap_service.c(270),ERROR" ID="0xd8280872" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="invalid search value len! @pbap_service.c(275),ERROR" ID="0xd828089a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param is busy! @pbap_service.c(279),WARNING" ID="0xd82808bb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param malloc failed! @pbap_service.c(284),ERROR" ID="0xd82808e2" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[Line: %d] finish, name:%s, ret: 0x%x @pbap_service.c(300),INFO" ID="0xd8280965" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(309),ERROR" ID="0xd82809aa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="invalid param! @pbap_service.c(313),ERROR" ID="0xd82809ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param is busy! @pbap_service.c(317),WARNING" ID="0xd82809eb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param malloc failed! @pbap_service.c(322),ERROR" ID="0xd8280a12" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[Line: %d] finish, name:%s, ret: %u @pbap_service.c(331),INFO" ID="0xd8280a5d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(340),ERROR" ID="0xd8280aa2" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="[Line: %d] finish, name:%s, len:%d ret: 0x%x @pbap_service.c(345),INFO" ID="0xd8280acd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(354),ERROR" ID="0xd8280b12" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[Line: %d] finish, ret: %u @pbap_service.c(358),INFO" ID="0xd8280b35" />
</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="0xe11a0116" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ACELite commit: %s @platform_adapter.cpp(35),DBG" ID="0xe11a011e" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ACELite build stamp: %s @platform_adapter.cpp(36),DBG" ID="0xe11a0126" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="ACELite version: %s @platform_adapter.cpp(34),DBG" ID="0xe11e0116" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ACELite commit: %s @platform_adapter.cpp(35),DBG" ID="0xe11e011e" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="ACELite build stamp: %s @platform_adapter.cpp(36),DBG" ID="0xe11e0126" />
</MSG_LOG>
\ No newline at end of file
<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 STRUCTURE="diag_log_msg0" NAME="remove all bond devices fail @remote_device_manager.c(1124),ERROR" ID="0xd80a2322" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="get bonded devices fail ret = %d @remote_device_manager.c(1144),ERROR" ID="0xd80a23c2" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="get bonded devices error no enough space, real addr cnt:%d, number:%d @remote_device_manager.c(1149),ERROR" ID="0xd80a23ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="get bonded devices memcpy fail @remote_device_manager.c(1154),ERROR" ID="0xd80a2412" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="get bonded devices cnt = %d @remote_device_manager.c(1157),INFO" ID="0xd80a242d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(1186),ERROR" ID="0xd80a2512" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(1191),ERROR" ID="0xd80a253a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1200),INFO" ID="0xd80a2585" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1223),INFO" ID="0xd80a263d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(1242),INFO" ID="0xd80a26d5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1266),INFO" ID="0xd80a2795" />
</MSG_LOG>
\ No newline at end of file
<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 STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp set key from btc atb. @sdk_general_gap.c(606),INFO" ID="0xd86c12f5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble remove adv by handle atb. @sdk_general_gap.c(616),INFO" ID="0xd86c1345" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble disable adv by handle atb. @sdk_general_gap.c(623),INFO" ID="0xd86c137d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[warning] uapi disconnect ble link conn_node not found disc all. @sdk_general_gap.c(746),INFO" ID="0xd86c1755" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[error] uapi disconnect ble link addr memcpy fail. @sdk_general_gap.c(752),INFO" ID="0xd86c1785" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[INFO] uapi disconnect ble link ret:%u. @sdk_general_gap.c(757),INFO" ID="0xd86c17ad" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] ble general: set ble sec param comes. @sdk_general_gap.c(769),INFO" ID="0xd86c180d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[Error] bt at cmd set ble sec param fail, value is null! @sdk_general_gap.c(772),ERROR" ID="0xd86c1822" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="osal_sem_init error %x @spp_service.c(84),ERROR" ID="0xd82a02a2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="osal_sem_down error %x @spp_service.c(110),ERROR" ID="0xd82a0372" />
- <MSG STRUCTURE="diag_log_msg0" NAME="client num reached max limit @spp_service.c(134),WARNING" ID="0xd82a0433" />
- <MSG STRUCTURE="diag_log_msg0" NAME="client malloc fail @spp_service.c(140),ERROR" ID="0xd82a0462" />
- <MSG STRUCTURE="diag_log_msg0" NAME="uuid memcpy fail @spp_service.c(147),ERROR" ID="0xd82a049a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="spp client %x add success @spp_service.c(158),WARNING" ID="0xd82a04f3" />
- <MSG STRUCTURE="diag_log_msg1" NAME="uuid=%s @spp_service.c(182),INFO" ID="0xd82a05b5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="sleep too long. %d ms. @spp_service.c(249),WARNING" ID="0xd82a07cb" />
- <MSG STRUCTURE="diag_log_msg1" NAME="spp client %x delete success @spp_service.c(255),WARNING" ID="0xd82a07fb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="add client fail @spp_service.c(264),WARNING" ID="0xd82a0843" />
- <MSG STRUCTURE="diag_log_msg1" NAME="spp server %x add success @spp_service.c(293),WARNING" ID="0xd82a092b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="spp server %x add fail @spp_service.c(296),WARNING" ID="0xd82a0943" />
- <MSG STRUCTURE="diag_log_msg1" NAME="sleep too long. %d ms. @spp_service.c(337),WARNING" ID="0xd82a0a8b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unregister spp service ret: %x @spp_service.c(344),WARNING" ID="0xd82a0ac3" />
- <MSG STRUCTURE="diag_log_msg1" NAME="spp server %x delete success @spp_service.c(351),WARNING" ID="0xd82a0afb" />
- <MSG STRUCTURE="diag_log_msg3" NAME="connHdl: %x devHdl: %x svcHdl: %x @spp_service.c(356),WARNING" ID="0xd82a0b23" />
- <MSG STRUCTURE="diag_log_msg0" NAME="server not exist @spp_service.c(362),WARNING" ID="0xd82a0b53" />
- <MSG STRUCTURE="diag_log_msg0" NAME="client not exist @spp_service.c(369),WARNING" ID="0xd82a0b8b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="connHdl: %x @spp_service.c(383),WARNING" ID="0xd82a0bfb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="client not exist @spp_service.c(387),WARNING" ID="0xd82a0c1b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="server %x disconnected @spp_service.c(399),INFO" ID="0xd82a0c7d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @spp_service.c(419),WARNING" ID="0xd82a0d1b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="params socket_para invalid. @spp_service.c(428),WARNING" ID="0xd82a0d63" />
- <MSG STRUCTURE="diag_log_msg0" NAME="params name len invalid. @spp_service.c(434),WARNING" ID="0xd82a0d93" />
- <MSG STRUCTURE="diag_log_msg0" NAME="exist same uuid client @spp_service.c(441),WARNING" ID="0xd82a0dcb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="add server fail @spp_service.c(447),WARNING" ID="0xd82a0dfb" />
- <MSG STRUCTURE="diag_log_msg0" NAME="btsdk_register_spp_service fail @spp_service.c(463),WARNING" ID="0xd82a0e7b" />
- <MSG STRUCTURE="diag_log_msg2" NAME="server %x create success. svc_hdl: %x @spp_service.c(467),WARNING" ID="0xd82a0e9b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_DisconnectConnection fail retCode: %x @spp_service.c(514),ERROR" ID="0xd82a1012" />
- <MSG STRUCTURE="diag_log_msg1" NAME="access_cnt=%d @spp_service.c(520),INFO" ID="0xd82a1045" />
- <MSG STRUCTURE="diag_log_msg0" NAME="socket_type invalid @spp_service.c(533),ERROR" ID="0xd82a10aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="uuid invalid @spp_service.c(538),ERROR" ID="0xd82a10d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="acl not connected @spp_service.c(543),ERROR" ID="0xd82a10fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dev_hdl invalid @spp_service.c(549),ERROR" ID="0xd82a112a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="add client fail @spp_service.c(563),INFO" ID="0xd82a119d" />
- <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_LOG><MSG STRUCTURE="diag_log_msg1" NAME="osal_sem_init error %x @spp_service.c(85),ERROR" ID="0xd82a02aa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="osal_sem_down error %x @spp_service.c(111),ERROR" ID="0xd82a037a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="client num reached max limit @spp_service.c(135),ERROR" ID="0xd82a043a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="client malloc fail @spp_service.c(141),ERROR" ID="0xd82a046a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="uuid memcpy fail @spp_service.c(148),ERROR" ID="0xd82a04a2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="spp client %x add success @spp_service.c(159),INFO" ID="0xd82a04fd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="uuid=%s @spp_service.c(183),INFO" ID="0xd82a05bd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="client_id invalid @spp_service.c(238),ERROR" ID="0xd82a0772" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="sleep too long. %d ms. @spp_service.c(251),WARNING" ID="0xd82a07db" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="spp client %x delete success @spp_service.c(257),INFO" ID="0xd82a080d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="add client fail @spp_service.c(266),ERROR" ID="0xd82a0852" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="spp server %x add success @spp_service.c(295),INFO" ID="0xd82a093d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="spp server %x add fail @spp_service.c(298),ERROR" ID="0xd82a0952" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="sleep too long. %d ms. @spp_service.c(339),WARNING" ID="0xd82a0a9b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unregister spp service ret: %x @spp_service.c(346),WARNING" ID="0xd82a0ad3" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="spp server %x delete success @spp_service.c(353),INFO" ID="0xd82a0b0d" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="spp connect connHdl: %x devHdl: %x svcHdl: %x @spp_service.c(358),INFO" ID="0xd82a0b35" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="server not exist @spp_service.c(364),WARNING" ID="0xd82a0b63" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="client not exist @spp_service.c(371),WARNING" ID="0xd82a0b9b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="spp disconnect connHdl: %x @spp_service.c(385),INFO" ID="0xd82a0c0d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="client not exist @spp_service.c(389),WARNING" ID="0xd82a0c2b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="server %x disconnected @spp_service.c(401),INFO" ID="0xd82a0c8d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @spp_service.c(426),WARNING" ID="0xd82a0d53" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="params socket_para invalid. @spp_service.c(434),ERROR" ID="0xd82a0d92" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="uuid invalid @spp_service.c(439),ERROR" ID="0xd82a0dba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="params name len invalid. @spp_service.c(445),ERROR" ID="0xd82a0dea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="exist same uuid client @spp_service.c(452),ERROR" ID="0xd82a0e22" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="add server fail @spp_service.c(458),ERROR" ID="0xd82a0e52" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="btsdk_register_spp_service fail @spp_service.c(474),WARNING" ID="0xd82a0ed3" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="server %x create success. svc_hdl: %x @spp_service.c(478),INFO" ID="0xd82a0ef5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_DisconnectConnection fail retCode: %x @spp_service.c(525),ERROR" ID="0xd82a106a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="access_cnt=%d @spp_service.c(531),INFO" ID="0xd82a109d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="socket_type invalid @spp_service.c(543),ERROR" ID="0xd82a10fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="uuid invalid @spp_service.c(548),ERROR" ID="0xd82a1122" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="acl not connected @spp_service.c(553),ERROR" ID="0xd82a114a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="dev_hdl invalid @spp_service.c(559),ERROR" ID="0xd82a117a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="add client fail @spp_service.c(573),INFO" ID="0xd82a11ed" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="connect spp fail. ret: %x @spp_service.c(582),INFO" ID="0xd82a1235" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_DisconnectConnection fail retCode: %x @spp_service.c(607),ERROR" ID="0xd82a12fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="spp read data failed @spp_service.c(693),ERROR" ID="0xd82a15aa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="client is null. client id %d @spp_service.c(717),ERROR" ID="0xd82a166a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="client not connected. client id %d @spp_service.c(721),ERROR" ID="0xd82a168a" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="connHdl: %x dataLen: %d writeRet: %d writeLen: %d @spp_service.c(736),WARNING" ID="0xd82a1703" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="hdl 0x%x not exist @spp_service.c(750),WARNING" ID="0xd82a1773" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="no recieve function registered @spp_service.c(757),INFO" ID="0xd82a17ad" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="hdl 0x%x not exist @spp_service.c(772),WARNING" ID="0xd82a1823" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="no match client id for hdl 0x%x, try %d times @spp_service.c(776),INFO" ID="0xd82a1845" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_CONNECTED hdl=0x%x @spp_service.c(792),INFO" ID="0xd82a18c5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_DISCONNECTED hdl=0x%x @spp_service.c(796),INFO" ID="0xd82a18e5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_FC_ON hdl=0x%x @spp_service.c(803),INFO" ID="0xd82a191d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unknown msg hdl=0x%x @spp_service.c(806),WARNING" ID="0xd82a1933" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(55),ERROR" ID="0xd8e801ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="param memcpy failed @stack_pbap_if.c(61),ERROR" ID="0xd8e801ea" />
- <MSG STRUCTURE="diag_log_msg3" NAME="conn_hdl=0x%x path_len=%u path=%s @stack_pbap_if.c(66),INFO" ID="0xd8e80215" />
- <MSG STRUCTURE="diag_log_msg1" NAME="max_count=%hu @stack_pbap_if.c(67),INFO" ID="0xd8e8021d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(80),ERROR" ID="0xd8e80282" />
- <MSG STRUCTURE="diag_log_msg0" NAME="param memcpy failed @stack_pbap_if.c(86),ERROR" ID="0xd8e802b2" />
- <MSG STRUCTURE="diag_log_msg2" NAME="path=%s path_len=%u @stack_pbap_if.c(91),INFO" ID="0xd8e802dd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(104),ERROR" ID="0xd8e80342" />
- <MSG STRUCTURE="diag_log_msg0" NAME="param memcpy failed @stack_pbap_if.c(110),ERROR" ID="0xd8e80372" />
- <MSG STRUCTURE="diag_log_msg2" NAME="path=%s path_len=%u @stack_pbap_if.c(115),INFO" ID="0xd8e8039d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(130),ERROR" ID="0xd8e80412" />
- <MSG STRUCTURE="diag_log_msg2" NAME="path=%s path_len=%u @stack_pbap_if.c(134),INFO" ID="0xd8e80435" />
- <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: btsdk_pbap_reg_cbk error @stack_pbap_if.c(180),ERROR" ID="0xd8e805a2" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(56),ERROR" ID="0xd8e801c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="param memcpy failed @stack_pbap_if.c(62),ERROR" ID="0xd8e801f2" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="conn_hdl=0x%x path_len=%u path=%s @stack_pbap_if.c(67),INFO" ID="0xd8e8021d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="max_count=%hu @stack_pbap_if.c(68),INFO" ID="0xd8e80225" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(86),ERROR" ID="0xd8e802b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="param memcpy failed @stack_pbap_if.c(92),ERROR" ID="0xd8e802e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="search_value memcpy failed @stack_pbap_if.c(98),ERROR" ID="0xd8e80312" />
+ <MSG STRUCTURE="diag_log_msg4" NAME="path=%s path_len=%u search_attrib=0x%x search_val=%s @stack_pbap_if.c(105),INFO" ID="0xd8e8034d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(119),ERROR" ID="0xd8e803ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="param memcpy failed @stack_pbap_if.c(125),ERROR" ID="0xd8e803ea" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="path=%s path_len=%u @stack_pbap_if.c(130),INFO" ID="0xd8e80415" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(145),ERROR" ID="0xd8e8048a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="path=%s path_len=%u @stack_pbap_if.c(149),INFO" ID="0xd8e804ad" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: btsdk_pbap_reg_cbk error @stack_pbap_if.c(195),ERROR" ID="0xd8e8061a" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="memcpy for data failed. @ui_canvas_ext.cpp(130),ERROR" ID="0xcaea0412" />
<MSG STRUCTURE="diag_log_msg0" NAME="can only set matrix after beginning any path. @ui_canvas_ext.cpp(144),ERROR" ID="0xcaea0482" />
<MSG STRUCTURE="diag_log_msg0" NAME="Index out of range. @ui_canvas_ext.cpp(152),ERROR" ID="0xcaea04c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Image is invalid! @ui_canvas_ext.cpp(335),ERROR" ID="0xcaea0a7a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="path or paint or matrix is nullptr. @ui_canvas_ext.cpp(384),ERROR" ID="0xcaea0c02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for cmd failed. @ui_canvas_ext.cpp(443),ERROR" ID="0xcaea0dda" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for cmd failed. @ui_canvas_ext.cpp(480),ERROR" ID="0xcaea0f02" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for cmd failed. @ui_canvas_ext.cpp(514),ERROR" ID="0xcaea1012" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Sector is not supported currently @ui_canvas_ext.cpp(530),WARNING" ID="0xcaea1093" />
- <MSG STRUCTURE="diag_log_msg0" NAME="startAngle and endAngle can not be smaller than 0. @ui_canvas_ext.cpp(538),ERROR" ID="0xcaea10d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="endAngle should not be equal to startAngle @ui_canvas_ext.cpp(542),ERROR" ID="0xcaea10f2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="realpath fail: %s @ui_canvas_ext.cpp(583),ERROR" ID="0xcaea123a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="new svgdata obj failed @ui_canvas_ext.cpp(595),ERROR" ID="0xcaea129a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="OverlayOpacity Failed!!! @ui_canvas_ext.cpp(620),ERROR" ID="0xcaea1362" />
- <MSG STRUCTURE="diag_log_msg0" NAME="can only set matrix after beginning any path. @ui_canvas_ext.cpp(707),ERROR" ID="0xcaea161a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="index error @ui_canvas_ext.cpp(711),ERROR" ID="0xcaea163a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read data fail. @ui_canvas_ext.cpp(774),ERROR" ID="0xcaea1832" />
- <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc path fail. @ui_canvas_ext.cpp(792),ERROR" ID="0xcaea18c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="HandleStyleAndPattern failed. UpdateImageInfoIfNecessary failed. @ui_canvas_ext.cpp(273),ERROR" ID="0xcaea088a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Image is invalid! @ui_canvas_ext.cpp(339),ERROR" ID="0xcaea0a9a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="path or paint or matrix is nullptr. @ui_canvas_ext.cpp(389),ERROR" ID="0xcaea0c2a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for cmd failed. @ui_canvas_ext.cpp(448),ERROR" ID="0xcaea0e02" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for cmd failed. @ui_canvas_ext.cpp(485),ERROR" ID="0xcaea0f2a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for cmd failed. @ui_canvas_ext.cpp(519),ERROR" ID="0xcaea103a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Sector is not supported currently @ui_canvas_ext.cpp(535),WARNING" ID="0xcaea10bb" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="startAngle and endAngle can not be smaller than 0. @ui_canvas_ext.cpp(543),ERROR" ID="0xcaea10fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="endAngle should not be equal to startAngle @ui_canvas_ext.cpp(547),ERROR" ID="0xcaea111a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="realpath fail: %s @ui_canvas_ext.cpp(588),ERROR" ID="0xcaea1262" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="new svgdata obj failed @ui_canvas_ext.cpp(600),ERROR" ID="0xcaea12c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="OverlayOpacity Failed!!! @ui_canvas_ext.cpp(625),ERROR" ID="0xcaea138a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="can only set matrix after beginning any path. @ui_canvas_ext.cpp(712),ERROR" ID="0xcaea1642" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="index error @ui_canvas_ext.cpp(716),ERROR" ID="0xcaea1662" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read data fail. @ui_canvas_ext.cpp(779),ERROR" ID="0xcaea185a" />
<MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc path fail. @ui_canvas_ext.cpp(797),ERROR" ID="0xcaea18ea" />
- <MSG STRUCTURE="diag_log_msg1" NAME="open %s fail @ui_canvas_ext.cpp(813),ERROR" ID="0xcaea196a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc path fail. @ui_canvas_ext.cpp(802),ERROR" ID="0xcaea1912" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="open %s fail @ui_canvas_ext.cpp(818),ERROR" ID="0xcaea1992" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="[ERROR][CFG]BT_CFG_FAIL @bt_em_config.c(1131),ERROR" ID="0x8944235a" />
<MSG STRUCTURE="diag_log_msg0" NAME="[ERROR][CFG] bt_write_cfg_by_em failed @bt_em_config.c(1186),ERROR" ID="0x89442512" />
<MSG STRUCTURE="diag_log_msg0" NAME="[INFO][DFX]dfx_bt_parse_debug_cmd:too many Parameter, quit parsing @patch_btdfx.c(50),INFO" ID="0x8a560195" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull phonebook ret=0x%x @bt_ahi_pbap.c(50),INFO" ID="0x8c9e0195" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardlist ret=0x%x @bt_ahi_pbap.c(68),INFO" ID="0x8c9e0225" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardentry ret=0x%x @bt_ahi_pbap.c(86),INFO" ID="0x8c9e02b5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv set path ret=0x%x @bt_ahi_pbap.c(103),INFO" ID="0x8c9e033d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull phonebook ret=0x%x @bt_ahi_pbap.c(51),INFO" ID="0x8c9e019d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardlist ret=0x%x @bt_ahi_pbap.c(72),INFO" ID="0x8c9e0245" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardentry ret=0x%x @bt_ahi_pbap.c(90),INFO" ID="0x8c9e02d5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv set path ret=0x%x @bt_ahi_pbap.c(107),INFO" ID="0x8c9e035d" />
<MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][BIS]not find big conhdl @llm_bis.c(130),WARNING" ID="0x89520413" />
<MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][BIS]not find big conhdl @llm_bis.c(179),WARNING" ID="0x8952059b" />
<MSG STRUCTURE="diag_log_msg1" NAME="[INFO][WBS]wbs_init entered for task id=%d @lc_wbs.c(110),INFO" ID="0x886a0375" />
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull phonebook ret=0x%x @bt_ahi_pbap.c(50),INFO" ID="0x8c9e0195" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardlist ret=0x%x @bt_ahi_pbap.c(68),INFO" ID="0x8c9e0225" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardentry ret=0x%x @bt_ahi_pbap.c(86),INFO" ID="0x8c9e02b5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv set path ret=0x%x @bt_ahi_pbap.c(103),INFO" ID="0x8c9e033d" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull phonebook ret=0x%x @bt_ahi_pbap.c(51),INFO" ID="0x8c9e019d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardlist ret=0x%x @bt_ahi_pbap.c(72),INFO" ID="0x8c9e0245" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardentry ret=0x%x @bt_ahi_pbap.c(90),INFO" ID="0x8c9e02d5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv set path ret=0x%x @bt_ahi_pbap.c(107),INFO" ID="0x8c9e035d" />
</MSG_LOG>
\ No newline at end of file
LOSCFG_BASE_CORE_TSK_LIMIT=40
LOSCFG_BASE_CORE_TSK_MIN_STACK_SIZE=1024
LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE=2048
-LOSCFG_BASE_CORE_TSK_SWTMR_STACK_SIZE=2048
+LOSCFG_BASE_CORE_TSK_SWTMR_STACK_SIZE=3072
LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE=3072
LOSCFG_BASE_CORE_TSK_DEFAULT_PRIO=10
LOSCFG_BASE_CORE_TICK_PER_SECOND=1000
LOSCFG_BASE_CORE_TSK_LIMIT=40
LOSCFG_BASE_CORE_TSK_MIN_STACK_SIZE=1024
LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE=2048
-LOSCFG_BASE_CORE_TSK_SWTMR_STACK_SIZE=2048
+LOSCFG_BASE_CORE_TSK_SWTMR_STACK_SIZE=3072
LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE=3072
LOSCFG_BASE_CORE_TSK_DEFAULT_PRIO=10
LOSCFG_BASE_CORE_TICK_PER_SECOND=1000
JSI_CPP,
APP_MODULE_CPP,
DEVICE_MODULE_CPP,
+ NFC_MODULE_CPP,
+ GEOLOCATION_MODULE_CPP,
VIBRATOR_MODULE_CPP,
BATTERY_MODULE_CPP,
SENSOR_MODULE_CPP,
)
set(PUBLIC_DEFINES
- SUPPORT_DFX_EXCEPTION
)
# use this when you want to add ccflags like -include xxx
set_trans_type(TRANS_BY_CPU_SINGLE_LINE);\r
ret = exc_info_write(g_exc_info_path, 0, (const uint8_t *)exc_info_save, exc_size);\r
dump_all_to_file();\r
+ save_preserve_file_to_nand();\r
#endif\r
#ifdef CFG_DRIVERS_MMC\r
char *exc_info_buffer = (char *)osal_kmalloc_align(ONE_SECTOR_SIZE, 0, MMC_BUFFER_ALIGN);\r
uint64_t length;
} AddrInfo;
+TryToFreeImgCallback g_tryToFreeImgCallback = NULL;
#if ENABLE_GMMU
static bool g_gmmuAllocated[FB_COUNT] = {false, false};
struct gmmu_buf_struct g_gmmuMem = { 0 };
DISP_LOGE("malloc mem for buffer failed.\n");
return DISPLAY_NULL_PTR;
}
-
int32_t ret = InitBufferHandle(buffer, info);
if (ret != DISPLAY_SUCCESS) {
DISP_LOGE("InitBufferHandle failed.\n");
goto END;
}
-#if !ENABLE_GMMU
- if (buffer->size > MAX_MALLOC_SIZE || buffer->size == 0) {
- DISP_LOGE("bufferSize[%lld] is invalid.\n", buffer->size);
- ret = DISPLAY_FAILURE;
- goto END;
- }
-#endif
-
if ((info->usage & HBM_USE_MEM_FB) == HBM_USE_MEM_FB) {
ret = AllocMemForFB(buffer);
goto END;
}
- 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)){
- pool = g_fontPoolId;
- }
+ uint8_t *pool = (((info->usage & HBM_USE_MEM_FONT) == HBM_USE_MEM_FONT) ||
+ ((info->usage & HBM_USE_MEM_PATH) == HBM_USE_MEM_PATH)) ? g_fontPoolId : g_poolId;
- uint8_t *addr = LosAllocMem(pool, (uint32_t)(buffer->size));
- if (addr == NULL) {
+ int32_t maxSize = ((pool == g_poolId) ? MEM_POOL_UI_OTHER_SIZE : MEM_POOL_UI_FONT_SIZE);
+ if ((buffer->size <= 0) || (buffer->size > maxSize)) {
+ DISP_LOGE("bufferSize[%lld] is invalid.\n", buffer->size);
ret = DISPLAY_FAILURE;
goto END;
}
+
+ uint8_t *addr = LosAllocMem(pool, (uint32_t)(buffer->size));
+ if ((pool == g_poolId) && (g_tryToFreeImgCallback != NULL)) {
+ while (addr == NULL) {
+ if (g_tryToFreeImgCallback()) {
+ DISP_LOGW("Success to free image during AllocMem size:%d\n", buffer->size);
+ addr = LosAllocMem(pool, (uint32_t)(buffer->size));
+ } else {
+ DISP_LOGE("Failed to AllocMem size:%d and no image can be free\n", buffer->size);
+ break;
+ }
+ }
+ }
+ ret = (addr == NULL) ? DISPLAY_FAILURE : DISPLAY_SUCCESS;
buffer->virAddr = (void *)addr;
buffer->phyAddr = (uint64_t)addr;
free(handle);
}
+static void RegisterTryToFreeImgCallback(TryToFreeImgCallback callback)
+{
+ g_tryToFreeImgCallback = callback;
+}
+
int32_t GrallocInitialize(GrallocFuncs **funcs)
{
CHECK_NULLPOINTER_RETURN_VALUE(funcs, DISPLAY_NULL_PTR);
(void)memset_s(gFuncs, sizeof(GrallocFuncs), 0, sizeof(GrallocFuncs));
gFuncs->AllocMem = AllocMem;
gFuncs->FreeMem = FreeMem;
+ gFuncs->RegisterTryToFreeImgCallback = RegisterTryToFreeImgCallback;
*funcs = gFuncs;
#if ENABLE_GMMU
#include <string>
#include <cstdint>
#include <unordered_map>
+#include "securec.h"
#include "gfx_utils/image_info.h"
#include "gfx_utils/heap_base.h"
#include "graphic_config.h"
*/
void UpdateImageInfoIfNecessary(ImageInfo& info);
- void* FreeAndGetBuf(const AllocInfo& info, GrallocBuffer& buffer);
+ bool TryToFreeImage();
/**
* @brief Dump image information.
std::unordered_map<std::string, MultiImageInfo*> pathMap_;
std::unordered_map<uint8_t*, MultiImageInfo*> bufMap_;
- ImageNode longTermList_ = {0};
- ImageNode shortTermList_ = {0};
+ ImageNode longTermList_;
+ ImageNode shortTermList_;
ImageCacheManager()
{
+ memset_s(&longTermList_, sizeof(longTermList_), 0, sizeof(longTermList_));
+ memset_s(&shortTermList_, sizeof(shortTermList_), 0, sizeof(shortTermList_));
longTermList_.prev = &longTermList_;
longTermList_.next = &longTermList_;
shortTermList_.prev = &shortTermList_;
* @version 1.0
*/
+#include <memory>
#include "common/ihardware_view.h"
#include "common/lite_surface.h"
#include "common/image.h"
* @param event, indicates the task to post.\r
*/\r
void PostGraphicEvent(const GraphicEvent& event, bool exitLowPower = true);\r
+\r
+ /**\r
+ * @brief Clear graphic event queue.\r
+ */\r
void ClearGraphicEvent();\r
\r
private:\r
std::queue<GraphicEvent> eventQueue_;\r
GraphicMutex queueMutex_;\r
GraphicCond pthreadCond_;\r
-\r
GraphicEventHandler();\r
virtual ~GraphicEventHandler();\r
};\r
\r
/**\r
* @brief Set Native UI running state.\r
- * @param running, indicates whether Native UI is Running or not;\r
+ * @param running, indicates whether Native UI is Running or not.\r
*/\r
void SetNativeUIRunning(bool isRunning);\r
\r
+ /**\r
+ * @brief Return whether Native UI is Running or not.\r
+ */\r
int IsNativeRunning() const;\r
\r
+ /**\r
+ * @brief Return whether screen is on or not.\r
+ */\r
int IsScreenOn() const;\r
\r
+ /**\r
+ * @brief Return graphic task triggered count.\r
+ */\r
int GetGraphicTaskTriggeredCount() const;\r
\r
/**\r
private:\r
friend class GraphicEventHandler;\r
static VsyncCallback jsVsyncCallback_;\r
-#if !defined(_WIN32)\r
static osal_atomic isNativeRunning_;\r
static osal_atomic graphicTaskTriggeredCount_;\r
static osal_atomic isScreenOn_;\r
-#else\r
- static std::atomic<int> isNativeRunning_;\r
- static std::atomic<int> graphicTaskTriggeredCount_;\r
- static std::atomic<int> isScreenOn_;\r
-#endif\r
static OHOS::GraphicMutex rtcEventMutex_;\r
static OHOS::GraphicCond rtcEventCond_;\r
- static bool fullRefreshFlag_;\r
bool isGpuReseting = false;\r
void DecreaseTriggerCount();\r
void SetUpRootView();\r
extern "C" {
#endif
+typedef void (*GraphicEventCb)(void*);
+
/**
* @brief Get current frequence.
*/
*/
void HideGraphicLogo(void);
+void PostGraphicEvent(GraphicEventCb eventCb, void* userData);
#ifdef __cplusplus
};
#endif
${UIKIT_ROOT_DIR}/proprietary/src/ui/frameworks
${UIKIT_ROOT_DIR}/proprietary/src/ui/innerkits
${ROOTDIR}/open_source/openharmony/drivers/peripheral/display/interfaces/include
+ ${ROOTDIR}/application/wearable/nativeapp/nativeui/screennotify/include
)
set(PRIVATE_DEFINES
#include "engines/gfx/lite_m_gfx_engine.h"\r
#include "common/screen.h"\r
#include "components/root_view.h"\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+#include "ui_screennotify.h"\r
+#endif\r
\r
VsyncCallback GraphicService::jsVsyncCallback_;\r
-#if !defined(_WIN32)\r
osal_atomic GraphicService::isNativeRunning_{1};\r
osal_atomic GraphicService::graphicTaskTriggeredCount_{0};\r
osal_atomic GraphicService::isScreenOn_{0};\r
-#else\r
-std::atomic<int> GraphicService::isNativeRunning_(1);\r
-std::atomic<int> GraphicService::graphicTaskTriggeredCount_(0);\r
-std::atomic<int> GraphicService::isScreenOn_(0);\r
-#endif\r
OHOS::GraphicMutex GraphicService::rtcEventMutex_;\r
OHOS::GraphicCond GraphicService::rtcEventCond_;\r
static ThreadId g_rtcEventThreadId;\r
static ThreadId g_mainThreadId;\r
-bool GraphicService::fullRefreshFlag_{false};\r
\r
GraphicService::GraphicService() {}\r
\r
\r
bool GraphicService::SyncTriggerJSGraphicTask()\r
{\r
-#if !defined(_WIN32)\r
- if ((osal_atomic_read(&isNativeRunning_) == 1) || osal_atomic_read(&graphicTaskTriggeredCount_) > 0 ||\r
- osal_atomic_read(&isScreenOn_) == 0) {\r
+ if ((IsNativeRunning() == 1) || (GetGraphicTaskTriggeredCount() > 0) || (IsScreenOn() == 0)) {\r
GRAPHIC_LOGI("Trigger JS Task failed. Native is running or Graphic Task is already triggered.");\r
return false;\r
}\r
-#else\r
- if ((isNativeRunning_.load() == 1) || graphicTaskTriggeredCount_.load() > 0 ||\r
- isScreenOn_.load() == 0) {\r
- GRAPHIC_LOGI("Trigger JS Task failed. Native is running or Graphic Task is already triggered.");\r
- return false;\r
- }\r
-#endif\r
\r
OHOS::TaskManager::GetInstance()->TaskHandler();\r
return true;\r
\r
bool GraphicService::AsyncTriggerNativeGraphicTask()\r
{\r
-#if !defined(_WIN32)\r
- if (osal_atomic_read(&graphicTaskTriggeredCount_) <= 1) {\r
+ if (GraphicService::GetInstance()->GetGraphicTaskTriggeredCount() <= 1) {\r
osal_atomic_inc(&graphicTaskTriggeredCount_);\r
-#else\r
- if (graphicTaskTriggeredCount_.load() <= 1) {\r
- graphicTaskTriggeredCount_.fetch_add(1);\r
-#endif\r
OHOS::GraphicEventHandler::GetInstance()->PostGraphicEvent(\r
[] {\r
- OHOS::TaskManager::GetInstance()->TaskHandler();\r
+ if (GraphicService::GetInstance()->IsScreenOn()) {\r
+ OHOS::TaskManager::GetInstance()->TaskHandler();\r
+ } else {\r
+ GRAPHIC_LOGW("ignore redundant task when screen is off\n");\r
+ }\r
GraphicService::GetInstance()->DecreaseTriggerCount();\r
},\r
false);\r
void GraphicService::SetNativeUIRunning(bool isRunning)\r
{\r
if (isRunning) {\r
-#if !defined(_WIN32)\r
osal_atomic_set(&isNativeRunning_, 1);\r
} else {\r
osal_atomic_set(&isNativeRunning_, 0);\r
OHOS::GraphicEventHandler::GetInstance()->ClearGraphicEvent();\r
osal_atomic_set(&graphicTaskTriggeredCount_, 0);\r
-#else\r
- isNativeRunning_.store(1);\r
- } else {\r
- isNativeRunning_.store(0);\r
- OHOS::GraphicEventHandler::GetInstance()->ClearGraphicEvent();\r
- graphicTaskTriggeredCount_.store(0);\r
-#endif\r
}\r
}\r
\r
int GraphicService::IsNativeRunning() const\r
{\r
-#if !defined(_WIN32)\r
return osal_atomic_read(&isNativeRunning_);\r
-#else\r
- return isNativeRunning_.load();\r
-#endif\r
}\r
\r
int GraphicService::GetGraphicTaskTriggeredCount() const\r
{\r
-#if !defined(_WIN32)\r
return osal_atomic_read(&graphicTaskTriggeredCount_);\r
-#else\r
- return graphicTaskTriggeredCount_.load();\r
-#endif\r
}\r
\r
int GraphicService::IsScreenOn() const\r
{\r
-#if !defined(_WIN32)\r
return osal_atomic_read(&isScreenOn_);\r
-#else\r
- return isScreenOn_.load();\r
-#endif\r
}\r
\r
void GraphicService::DecreaseTriggerCount()\r
{\r
-#if !defined(_WIN32)\r
osal_atomic_dec(&graphicTaskTriggeredCount_);\r
-#else\r
- graphicTaskTriggeredCount_.fetch_sub(1);\r
-#endif\r
}\r
\r
void GraphicService::PostGraphicEvent(const OHOS::GraphicEvent& event)\r
\r
void GraphicService::NotifyScreenOn()\r
{\r
- fullRefreshFlag_ = true;\r
-#if !defined(_WIN32)\r
- if (osal_atomic_read(&isScreenOn_) == 0) {\r
- osal_atomic_set(&isScreenOn_, 1);\r
- }\r
-#else\r
- if (isScreenOn_.load() == 0) {\r
- isScreenOn_.store(1);\r
- }\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+ notify_screen_on_event();\r
#endif\r
+ OHOS::RootView::GetInstance()->Invalidate(); // full refresh\r
+\r
+ osal_atomic_set(&isScreenOn_, 1);\r
}\r
\r
void GraphicService::NotifyScreenOff()\r
{\r
-#if !defined(_WIN32)\r
- osal_atomic_set(&isScreenOn_, 0);\r
- OHOS::GraphicEventHandler::GetInstance()->ClearGraphicEvent();\r
- osal_atomic_set(&graphicTaskTriggeredCount_, 0);\r
-#else\r
- isScreenOn_.store(0);\r
- OHOS::GraphicEventHandler::GetInstance()->ClearGraphicEvent();\r
- graphicTaskTriggeredCount_.store(0);\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+ notify_screen_off_event();\r
#endif\r
+ EnableAsyncMode(false); // flush pending frame if necessary\r
+\r
+ osal_atomic_set(&isScreenOn_, 0);\r
}\r
\r
void GraphicService::EnableAsyncMode(bool enable)\r
rtcEventMutex_.Lock();\r
rtcEventCond_.Wait(rtcEventMutex_);\r
rtcEventMutex_.Unlock();\r
-#if !defined(_WIN32)\r
- if (osal_atomic_read(&isScreenOn_) == 0) {\r
-#else\r
- if (isScreenOn_.load() == 0) {\r
-#endif\r
+ if (GraphicService::GetInstance()->IsScreenOn() == 0) {\r
continue;\r
}\r
- if (fullRefreshFlag_) {\r
- if (OHOS::RootView::GetInstance()->GetChildrenHead() != nullptr) {\r
- OHOS::RootView::GetInstance()->Invalidate();\r
- }\r
- fullRefreshFlag_ = false;\r
- }\r
\r
-#if !defined(_WIN32)\r
- if (osal_atomic_read(&isNativeRunning_) == 1) {\r
+ if (GraphicService::GetInstance()->IsNativeRunning() == 1) {\r
AsyncTriggerNativeGraphicTask();\r
} else {\r
jsVsyncCallback_();\r
}\r
-#else\r
- if (isNativeRunning_.load() == 1) {\r
- AsyncTriggerNativeGraphicTask();\r
- }\r
-#endif\r
}\r
#if !defined(ENABLE_CMSIS)\r
return nullptr;\r
#if !defined(_WIN32)
#include "rtc.h"
#endif
-#include "graphic_event_handler.h"
#include "graphic_service.h"
#include "gfx_utils/graphic_log.h"
#include "common/low_power_manager.h"
#if !defined(_WIN32)
static rtc_handle_t g_rtcHandle = nullptr;
#endif
-static int32_t g_timeInterval = 16;
-static int32_t g_freq = FULL_FREQUENCE;
+static int32_t g_timeInterval = -1;
+static int32_t g_freq = 0;
static bool g_initialized = false;
bool g_isScreenOn = false;
static bool g_showLogo = false;
{
(void)(data);
if (!g_initialized || !g_isScreenOn) {
+ GRAPHIC_LOGE("RTC should not be started when g_isScreenOn:%d g_initialized:%d", g_isScreenOn, g_initialized);
return;
}
#if !defined(_WIN32)
if ((g_freq != freq) && (freq != 0)) {
g_freq = freq;
g_timeInterval = SECOND_TO_MILLISECOND / freq;
- GRAPHIC_LOGI("set freq: %d, time: %dms", freq, g_timeInterval);
+ GRAPHIC_LOGI("set freq: %d, time: %dms\n", freq, g_timeInterval);
if (freq == FULL_FREQUENCE) {
if (!OHOS::LowPowerManager::GetInstance()->IsLiteSurfaceInRootView()) {
GraphicService::GetInstance()->EnableAsyncMode(true);
void NotifyScreenOn(void)
{
+ GraphicService::GetInstance()->NotifyScreenOn();
#if !defined(_WIN32)
if (g_rtcHandle == nullptr) {
return;
if (!g_isScreenOn) {
g_isScreenOn = true;
OHOS::LowPowerManager::GetInstance()->ExitLowPower();
-#if !defined(_WIN32)
- GRAPHIC_LOGP("ScreenOn and start RTC! time interval: %d", g_timeInterval);
- uapi_rtc_start(g_rtcHandle, g_timeInterval, static_cast<rtc_callback_t>(UikitRTCCallBack), 0);
-#endif
}
- GraphicService::GetInstance()->NotifyScreenOn();
}
void NotifyScreenOff(void)
{
#if !defined(_WIN32)
- if (g_rtcHandle == nullptr) {
- return;
- }
-#endif
-
- if (g_isScreenOn) {
- g_isScreenOn = false;
-#if !defined(_WIN32)
- GRAPHIC_LOGP("ScreenOff and stop RTC!");
+ if (g_rtcHandle != nullptr) {
uapi_rtc_stop(g_rtcHandle);
-#endif
+ g_freq = 0;
+ g_timeInterval = -1;
}
- g_freq = 1;
- g_timeInterval = SECOND_TO_MILLISECOND;
+#endif
+ g_isScreenOn = false;
GraphicService::GetInstance()->NotifyScreenOff();
- OHOS::GraphicEventHandler::GetInstance()->PostGraphicEvent(
- [] {
- GraphicService::GetInstance()->EnableAsyncMode(false);
- },
- false);
}
void InitGraphicService(void)
}
#if !defined(_WIN32)
- /* start RTC timer */
+ /* create RTC timer */
uapi_rtc_create(RTC_0, &g_rtcHandle);
if (g_rtcHandle == nullptr) {
GRAPHIC_LOGE("create RTC timer fail!!");
g_logo->SetResizeMode(OHOS::UIImageView::CENTER);
g_imgInfo = OHOS::ImageCacheManager::GetInstance().LoadSingleRes(IMAGE_OPEN_LOGO_PATH);
g_logo->SetSrc(g_imgInfo);
- OHOS::GraphicEventHandler::GetInstance()->PostGraphicEvent(
+ GraphicService::GetInstance()->PostGraphicEvent(
[] {
OHOS::RootView::GetInstance()->Add(g_logo);
OHOS::RootView::GetInstance()->Invalidate();
- },
- false);
+ });
}
void HideGraphicLogo()
return;
}
g_showLogo = false;
- OHOS::GraphicEventHandler::GetInstance()->PostGraphicEvent(
+ GraphicService::GetInstance()->PostGraphicEvent(
[] {
if (g_logo != nullptr) {
OHOS::RootView::GetInstance()->Remove(g_logo);
OHOS::ImageCacheManager::GetInstance().UnloadSingleRes(IMAGE_OPEN_LOGO_PATH);
g_imgInfo = nullptr;
}
- },
- false);
+ });
}
+void PostGraphicEvent(GraphicEventCb eventCb, void* userData)
+{
+ GraphicService::GetInstance()->PostGraphicEvent(
+ [=] {
+ eventCb(userData);
+ });
+}
#ifdef __cplusplus
};
#endif
hand.imageInfo_ = entry.GetImageInfo();
} else if (hand.image_.GetSrcType() == IMG_SRC_VARIABLE) {
ImageCacheManager::GetInstance().UpdateImageInfoIfNecessary(hand.imageInfo_);
+ if (hand.imageInfo_.data == nullptr) {
+ GRAPHIC_LOGE("DrawHand failed. UpdateImageInfoIfNecessary failed.");
+ return;
+ }
}
DrawHandImage(gfxDstBuffer, current, invalidatedArea, hand);
} else {
void UITextPreviewBox::InsertChar(UI_KEYCODE& keyCode)
{
+ uint16_t len = TypedText::GetUTF8CharacterSize(GetText());
+ if (len >= GetMaxLength()) {
+ return;
+ }
std::wstring temp = tempText_;
std::string str;
temp.insert(cursorIndex_, 1, static_cast<wchar_t>(keyCode));
void UITextPreviewBox::InsertHanzi(const std::string &u8hanzi)
{
+ uint16_t len = TypedText::GetUTF8CharacterSize(GetText());
+ if (len >= GetMaxLength()) {
+ return;
+ }
std::wstring temp = tempText_;
std::string str;
std::wstring u16hanzi = Utf8ToUtf16(u8hanzi);
printf("=== Dump State ===\n");
printf(" NativeRunninng: %d\n", GraphicService::GetInstance()->IsNativeRunning());
printf(" IsScreenOn: %d\n", GraphicService::GetInstance()->IsScreenOn());
- printf(" GraphicTaskTriggeredCount_: %d\n", GraphicService::GetInstance()->GetGraphicTaskTriggeredCount());
+ printf(" GraphicTaskTriggeredCount: %d\n", GraphicService::GetInstance()->GetGraphicTaskTriggeredCount());
}
void LeakPanic(int argc, char *argv[])
{UI_ICOSAHEDRON_VIEW, "UI_ICOSAHEDRON_VIEW"},
{UI_TRANSFORM_GROUP, "UI_TRANSFORM_GROUP"},
{UI_TRANSFORM_LIST, "UI_TRANSFORM_LIST"},
+ {UI_COVER_FLOW_2, "UI_COVER_FLOW_2"},
{UI_NUMBER_MAX, "UI_NUMBER_MAX"},
};
return &instance;
}
+static bool TryToFreeImage()
+{
+ return ImageCacheManager::GetInstance().TryToFreeImage();
+}
+
bool GrallocEngines::Init()
{
if (grallocFuncs_ != nullptr) {
if (GrallocInitialize(&grallocFuncs_) != DISPLAY_SUCCESS) {
return false;
}
+ grallocFuncs_->RegisterTryToFreeImgCallback(TryToFreeImage);
return true;
}
-bool GrallocEngines::AllocBufferOnce(const AllocInfo& info, GrallocBuffer& buffer)
+bool GrallocEngines::AllocBuffer(const AllocInfo& info, GrallocBuffer& buffer)
{
if (grallocFuncs_ == nullptr) {
GRAPHIC_LOGE("GrallocEngines not init!");
}
BufferHandle* bufferHandle = nullptr;
if (grallocFuncs_->AllocMem(&info, &bufferHandle) != DISPLAY_SUCCESS || bufferHandle == nullptr) {
+ GRAPHIC_LOGE("GrallocEngines AllocMem size:%d usage:%x failed.", info.expectedSize, info.usage);
+#if ENABLE_MEMORY_CHECK
+ DumpMem();
+#endif
+#ifdef __LITEOS__
+ OsMemInfoPrint(reinterpret_cast<void*>(MEM_POOL_UI_OTHER));
+#endif
return false;
}
g_buffers.insert(std::make_pair(reinterpret_cast<uint64_t>(bufferHandle->virAddr), bufferHandle));
printf("[Alloc] addr = %p, size = %d, usage = %llu\n", bufferHandle->virAddr, bufferHandle->size, bufferHandle->usage);
}
#endif
- return true;
-}
-
-bool GrallocEngines::AllocBuffer(const AllocInfo& info, GrallocBuffer& buffer)
-{
- if (grallocFuncs_ == nullptr && info.expectedSize == 0) {
- GRAPHIC_LOGE("alloc failed!!, size: %u", info.expectedSize);
- return false;
- }
-
- if (!AllocBufferOnce(info, buffer)) {
- GRAPHIC_LOGE("GrallocEngines::AllocBuffer realloc size: %u", info.expectedSize);
- if (ImageCacheManager::GetInstance().FreeAndGetBuf(info, buffer) == nullptr) {
-#if ENABLE_MEMORY_CHECK
- DumpMem();
-#endif
-#ifdef __LITEOS__
- OsMemInfoPrint(reinterpret_cast<void*>(MEM_POOL_UI_OTHER));
-#endif
- return false;
- }
- }
if ((info.usage & HBM_USE_MEM_YUV) == HBM_USE_MEM_YUV) {
yuvBufCnt_++;
if (yuvBufCnt_ > 3) { // 3: yuv buf cnt
DfxTPGetEvent();
}
DeviceData curData;
- if (!dataBuf_.IsEmpty()) {
- curData = dataBuf_.Front();
- dataBuf_.PopFront();
+ if (!tpList_.empty()) {
+ curData = tpList_.front();
+ tpList_.pop_front();
} else {
curData = deviceData_;
}
}
if (type == InputDevType::INDEV_TYPE_KEY) {
- if (keyList_.IsEmpty()) {
+ if (keyList_.empty()) {
data.keyId = INVALID_KEY_ID;
eventLock_.Unlock();
return;
}
- DeviceData* tmp = keyList_.Front();
- keyList_.PopFront();
- data.keyId = tmp->keyId;
- data.state = tmp->state;
- data.timestamp = tmp->timestamp;
- delete tmp;
- tmp = nullptr;
+ DeviceData tmp = keyList_.front();
+ keyList_.pop_front();
+ data.keyId = tmp.keyId;
+ data.state = tmp.state;
+ data.timestamp = tmp.timestamp;
}
eventLock_.Unlock();
}
deviceData_.point.y = event.y;
deviceData_.state = event.state;
deviceData_.timestamp = event.timestamp;
- dataBuf_.PushBack(deviceData_);
- while (dataBuf_.Size() > BUFLEN) {
- dataBuf_.PopFront();
+ while (tpList_.size() >= MAX_TP_LIST_SIZE) {
+ tpList_.pop_front();
}
+ tpList_.push_back(deviceData_);
eventLock_.Unlock();
return;
}
if (event.type == InputDevType::INDEV_TYPE_KEY) {
- DeviceData* data = new DeviceData();
- data->keyId = event.keyId;
- data->state = event.state;
- data->timestamp = event.timestamp;
- if (keyList_.Size() >= MAX_KEY_LIST_SIZE) {
- DeviceData* tmp = keyList_.Front();
- keyList_.PopFront();
- delete tmp;
- tmp = nullptr;
+ DeviceData data;
+ data.keyId = event.keyId;
+ data.state = event.state;
+ data.timestamp = event.timestamp;
+ while (keyList_.size() >= MAX_KEY_LIST_SIZE) {
+ keyList_.pop_front();
}
- keyList_.PushBack(data);
+ keyList_.push_back(data);
}
eventLock_.Unlock();
}
bool LiteInputDistributer::IsEventEmpty(InputDevType type)
{
if (type == InputDevType::INDEV_TYPE_TOUCH) {
- return ((g_lastData.state == 0) && (deviceData_.state == 0) && (dataBuf_.IsEmpty()));
+ return ((g_lastData.state == 0) && (deviceData_.state == 0) && (tpList_.empty()));
} else if (type == InputDevType::INDEV_TYPE_KEY) {
- return keyList_.IsEmpty();
+ return keyList_.empty();
}
return true;
}
#if ENABLE_MEMORY_CHECK
#include "gfx_utils/mem_check.h"
#endif
+#include "engines/gfx/lite_m_gfx_engine.h"
namespace OHOS {
void* ImageCacheMalloc(ImageInfo& info)
}
info.phyAddr = reinterpret_cast<uint8_t*>(buffer.phyAddr);
info.data = reinterpret_cast<uint8_t*>(buffer.virAddr);
- info.cacheNode = nullptr;
+ info.fileLen = 0;
+ info.resId = 0;
return buffer.virAddr;
}
if (info.data == nullptr) {
return;
}
+
+ if (LiteMGfxEngine::GetInstance()->IsAsyncModeEnabled()) {
+ LiteMGfxEngine::GetInstance()->Flush(Rect(0, 0, 0, 0));
+ }
+ LiteMGfxEngine::GetInstance()->SyncHwDraw();
GrallocEngines::GetInstance()->FreeBuffer(const_cast<uint8_t*>(info.data));
info.phyAddr = nullptr;
info.data = nullptr;
#define GRAPHIC_LITE_INPUT_DISTRIBUTER_H
#include <cstdio>
+#include <list>
#include "dock/input_device.h"
#include "gfx_utils/input_event_info.h"
-#include "gfx_utils/list.h"
#include "graphic_mutex.h"
namespace OHOS {
const uint16_t INVALID_KEY_ID = 0xffff;
const uint8_t MAX_KEY_LIST_SIZE = 60;
+const uint8_t MAX_TP_LIST_SIZE = 3;
class LiteInputDistributer : public HeapBase {
public:
static LiteInputDistributer* GetInstance()
GraphicMutex eventLock_;
DeviceData deviceData_;
- List<DeviceData*> keyList_;
- List<DeviceData> dataBuf_;
- static const uint8_t BUFLEN = 3;
+ std::list<DeviceData> keyList_;
+ std::list<DeviceData> tpList_;
};
}
#endif
{
if (srcType_ == IMG_SRC_VARIABLE) {
ImageCacheManager::GetInstance().UpdateImageInfoIfNecessary(*const_cast<ImageInfo*>(imageInfo_));
+ if (imageInfo_->data == nullptr) {
+ GRAPHIC_LOGE("DrawImage failed. UpdateImageInfoIfNecessary failed.");
+ return;
+ }
DrawImage::DrawCommon(gfxDstBuffer, coords, mask, imageInfo_, style, opaScale);
} else if (srcType_ == IMG_SRC_FILE) {
DrawImage::DrawCommon(gfxDstBuffer, coords, mask, path_, style, opaScale);
hand.imageInfo_ = entry.GetImageInfo();
} else if (hand.image_.GetSrcType() == IMG_SRC_VARIABLE) {
ImageCacheManager::GetInstance().UpdateImageInfoIfNecessary(hand.imageInfo_);
+ if (hand.imageInfo_.data == nullptr) {
+ GRAPHIC_LOGE("DrawHand failed. UpdateImageInfoIfNecessary failed.");
+ return;
+ }
}
DrawHandImage(gfxDstBuffer, current, invalidatedArea, hand);
} else {
maxLength = MAX_TEXT_LENGTH;
}
maxLength_ = maxLength;
- if (textStr_.length() > maxLength) {
- SetText(textStr_.substr(0, maxLength));
+ uint16_t curLen = static_cast<uint16_t>(TypedText::GetUTF8CharacterSize(textStr_.c_str()));
+ if (curLen > maxLength) {
+ uint32_t byteIndex = TypedText::GetByteIndexFromUTF8Id(textStr_.c_str(), maxLength);
+ std::string str = textStr_.substr(0, byteIndex);
+ SetText(str);
}
}
imgInfo = entry.GetImageInfo();
} else {
ImageCacheManager::GetInstance().UpdateImageInfoIfNecessary(*const_cast<ImageInfo*>(GetImageInfo()));
+ if (GetImageInfo()->data == nullptr) {
+ GRAPHIC_LOGE("Draw UIImageView failed. UpdateImageInfoIfNecessary failed.");
+ return;
+ }
imgInfo = *(GetImageInfo());
}
uint8_t pxSize = DrawUtils::GetPxSizeByColorMode(imgInfo.header.colorMode);
if (image_.GetSrcType() == IMG_SRC_VARIABLE && buf != nullptr) {
memset_s(buf, size, 0, size);
const ImageInfo* info = image_.GetImageInfo();
- sprintf_s(buf, size, "ImgInfo[%p]: size = [%d, %d], fmt = %d, data = %p, dataSize = %d, cacheNode = %p",
- info, info->header.width, info->header.height,
- info->header.colorMode, info->data, info->dataSize, info->cacheNode);
+ sprintf_s(buf, size, "ImgInfo[%p]: size = [%d, %d], fmt = %d, data = %p, dataSize = %d, file = %s, resId = %u",
+ info, info->header.width, info->header.height, info->header.colorMode,
+ info->data, info->dataSize, info->file, info->resId);
std::string res(buf);
delete []buf;
return res;
if (info == nullptr) {
printf(" ImgInfo[%p]\n", info);
} else {
- printf(" ImgInfo[%p]: size = [%d, %d], fmt = %d, data = %p, dataSize = %d, cacheNode = %p\n",
- info, info->header.width, info->header.height, info->header.colorMode, info->data, info->dataSize, info->cacheNode);
+ printf(" ImgInfo[%p]: size = [%d, %d], fmt = %d, data = %p, dataSize = %d, file = %s, resId = %u\n",
+ info, info->header.width, info->header.height, info->header.colorMode,
+ info->data, info->dataSize, info->file, info->resId);
}
}
{
if (info != nullptr) {
ImageCacheManager::GetInstance().UpdateImageInfoIfNecessary(*const_cast<ImageInfo*>(info));
+ if (info->data == nullptr) {
+ GRAPHIC_LOGE("ClipCircle failed. UpdateImageInfoIfNecessary failed.");
+ return;
+ }
}
ClipPath path;
* @since 1.0
* @version 1.0
*/
- void SetElasticTime(bool elasticTime)
+ void SetElasticTime(uint16_t elasticTime)
{
elasticTime_ = elasticTime;
}
#include "animator/animator.h"
#include "common/text.h"
+#include "common/typed_text.h"
#include "components/ui_view.h"
#include <string>
namespace OHOS {
#include <cstdint>
#include "graphic_config.h"
namespace OHOS {
+#define MAX_IMG_PATH_LEN 64
/**
* @brief Defines image head node information.
*/
const uint8_t* phyAddr;
/** used for ImageCacheManager lru logic */
void* cacheNode;
+ char file[MAX_IMG_PATH_LEN];
+ uint8_t fileLen;
+ uint32_t resId;
#endif
union {
/** used for alpha image */
member.process(member.argument);
-#ifdef CMSIS_SUPPORT\r
-#ifndef CMSIS_SUPPORT_JOIN\r
- if (!member.detached) {\r
- osThreadFlagsSet(member.mainId, THREAD_EVENT_EXIT_FLAG);\r
- }\r
+#ifdef CMSIS_SUPPORT
+#ifndef CMSIS_SUPPORT_JOIN
+ if (!member.detached) {
+ osThreadFlagsSet(member.mainId, THREAD_EVENT_EXIT_FLAG);
+ }
#endif
#endif
if (member.detached) {
osThreadAttr_t taskAttr = {
attr->name, attrBits, nullptr, 0, nullptr, attr->stackSize, osPriorityNormal, 0, 0
};
- // Allocate the memory of the thread to the psram.
- taskAttr.stack_mem = memalign(0x10, attr->stackSize);
MediaSetCmsisThreadPriorityAttr(&taskAttr, attr->prioty);
subId = osThreadNew((osThreadFunc_t)MediaThreadFunc, member, &taskAttr);
}
return;
}
#ifdef CMSIS_SUPPORT
-#ifdef CMSIS_SUPPORT_JOIN\r
- osThreadJoin((osThreadId_t)*thdId);\r
-#else\r
- /*\r
- * MediaThreadMember *member = *thdId;\r
- * osThreadJoin not support join, can use osThreadFlagsSet/osThreadFlagsWait replace\r
- */\r
+#ifdef CMSIS_SUPPORT_JOIN
+ osThreadJoin((osThreadId_t)*thdId);
+#else
+ /*
+ * MediaThreadMember *member = *thdId;
+ * osThreadJoin not support join, can use osThreadFlagsSet/osThreadFlagsWait replace
+ */
osThreadFlagsWait(THREAD_EVENT_EXIT_FLAG, osFlagsWaitAll, osWaitForever);
#endif
#else
uint32_t attrBits = osThreadDetached;
#endif
osThreadAttr_t taskAttr = { attr->name, attrBits, NULL, 0, NULL, attr->stackSize, osPriorityNormal, 0, 0 };
- // Allocate the memory of the thread to the psram.
- taskAttr.stack_mem = memalign(0x10, attr->stackSize);
MediaHalSetCmsisThreadPriorityAttr(&taskAttr, attr->prioty);
subId = osThreadNew(MediaHalThreadFunc, member, &taskAttr);
}
set(PUBLIC_DEFINES
SUPPORT_DFX_LOG
- SUPPORT_DFX_EXCEPTION
)
# use this when you want to add ccflags like -include xxx
#endif
#endif
#include "chip_io.h"
-#include "nandflash_config.h"
#define STACK_SIZE 3
#elif CORE == APPS && !defined(BUILD_RECOVERY_IMAGE)
#ifdef HSO_SUPPORT
dfx_last_dump();
- nand_driver_init(SPEED_SLOW);
- set_trans_type(TRANS_BY_CPU_SINGLE_LINE);
-#if defined SAVE_EXC_INFO
- save_preserve_file_to_nand();
-#endif
#else
log_exception_dump_memory(APP_ITCM_ORIGIN, APP_ITCM_LENGTH);
log_exception_dump_memory(APP_DTCM_ORIGIN, APP_DTCM_LENGTH);
#include "tcxo.h"
#include "pm.h"
#endif
+#include "nandflash_config.h"
#define NON_OS_ENTER_MAX_NUM 8
#define MAX_STR_LEN 64
if (g_panic_dump_callback != NULL) { g_panic_dump_callback(); }
-#ifdef SUPPORT_DFX_LOG
+#ifdef SUPPORT_DFX_EXCEPTION
// Dump whole memory
log_oml_memory_dump();
+#endif
+#ifdef CFG_DRIVERS_NANDFLASH
+ nand_driver_init(SPEED_SLOW);
+ set_trans_type(TRANS_BY_CPU_SINGLE_LINE);
+#if defined(SAVE_EXC_INFO) && (CONFIG_DFX_SUPPORT_FILE_SYSTEM == DFX_YES)
+ save_preserve_file_to_nand();
+#endif
#endif
panic_deal_wait();
non_os_exit_critical();
g_preserve_data_lib.reboot_status = REBOOT_SOFT_PANIC_TRIGGER_STATUS;
}
}
-#if defined SAVE_EXC_INFO
+#if defined(SAVE_EXC_INFO) && (CONFIG_DFX_SUPPORT_FILE_SYSTEM == DFX_YES)
#if !defined(BUILD_RECOVERY_IMAGE)
void save_preserve_file_to_nand(void)
{
const char *preserve_info_ex_path = "/user/exc/preserve.bin";
int32_t ret = exc_info_write(preserve_info_ex_path, 0, (uint8_t *)&g_preserve_data_lib, sizeof(preserve_data_t));
- printf("save_preserve_file_to_nand ret:%d.\r\n", ret);
+ PRINT("save_preserve_file_to_nand ret:%d.\r\n", ret);
}
void save_btram_file_to_nand(void)
const char *btram_info_path = "/user/exc/bt_ram_info.bin";
int32_t ret =
exc_info_write(btram_info_path, 0, (uint8_t *)BT_RAM_ORIGIN_APP_MAPPING, BT_RAM_ORIGIN_APP_MAPPING_LENGTH);
- printf("save_btram_file_to_nand ret:%d.\r\n", ret);
+ PRINT("save_btram_file_to_nand ret:%d.\r\n", ret);
}
void save_btrace_file_to_nand(void)
{
const char *btrace_info_path = "/user/exc/btrace_info.bin";
int32_t ret = exc_info_write(btrace_info_path, 0, (uint8_t *)BTRACE_ADDR_EXEC, BTRACE_ADDR_EXEC_LEN);
- printf("save_btrace_file_to_nand ret:%d.\r\n", ret);
+ PRINT("save_btrace_file_to_nand ret:%d.\r\n", ret);
}
#endif
#endif
extern "C" {
#endif
+typedef bool (*TryToFreeImgCallback)(void);
/**
* @brief Defines pointers to the memory driver functions.
*/
* @version 1.0
*/
int32_t (*InvalidateCache)(BufferHandle* handle);
+
+ void (*RegisterTryToFreeImgCallback)(TryToFreeImgCallback callback);
} GrallocFuncs;
/**
BaiduMapComponent::~BaiduMapComponent()\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"BaiduMapComponent destructor");\r
+#ifdef SUPPORT_BAIDU\r
MapComponentApi::getInstance().destroy();\r
uapi_vau_set_cubic_threshold(0.125f);\r
+#endif\r
}\r
\r
UIView *BaiduMapComponent::GetComponentRootView() const\r
{\r
+#ifdef SUPPORT_BAIDU\r
return const_cast<UIView *>(MapComponentApi::getInstance().get_baidumap_root_view());\r
+#else\r
+ return nullptr;\r
+#endif\r
}\r
\r
JSValue BaiduMapComponent::SetZoomEventEnabled(const jerry_value_t func, const jerry_value_t context,\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"SetZoomEventEnabled");\r
+#ifdef SUPPORT_BAIDU\r
bool enabled = BoolOf(args[0]);\r
MapComponentApi::getInstance().set_zoom_event_enabled(enabled);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"ZoomIn");\r
+#ifdef SUPPORT_BAIDU\r
MapComponentApi::getInstance().zoom_in();\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"ZoomOut");\r
+#ifdef SUPPORT_BAIDU\r
MapComponentApi::getInstance().zoom_out();\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"ZoomTo");\r
+#ifdef SUPPORT_BAIDU\r
int amount = IntegerOf(args[0]);\r
MapComponentApi::getInstance().zoom_to(amount);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"ZoomBy");\r
+#ifdef SUPPORT_BAIDU\r
int amount = IntegerOf(args[0]);\r
MapComponentApi::getInstance().zoom_by(amount);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"SetMapBackgroundColor");\r
+#ifdef SUPPORT_BAIDU\r
char *json_color = MallocStringOf(args[0]);\r
MapComponentApi::getInstance().set_map_background_color(json_color);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"SetMapOverlayerEnabled");\r
+#ifdef SUPPORT_BAIDU\r
bool enabled = BoolOf(args[0]);\r
MapComponentApi::getInstance().set_map_overlayer_enabled(enabled);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"SetMapTilesEnabled");\r
+#ifdef SUPPORT_BAIDU\r
bool enabled = BoolOf(args[0]);\r
MapComponentApi::getInstance().set_map_tiles_enabled(enabled);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"SetScrollGesturesEnabled");\r
+#ifdef SUPPORT_BAIDU\r
bool enabled = BoolOf(args[0]);\r
MapComponentApi::getInstance().set_scroll_gestures_enabled(enabled);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"ScrollBy");\r
+#ifdef SUPPORT_BAIDU\r
int pixel_x = IntegerOf(args[0]);\r
int pixel_y = IntegerOf(args[1]);\r
MapComponentApi::getInstance().scroll_by(pixel_x,pixel_y);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"NewLatLng");\r
+#ifdef SUPPORT_BAIDU\r
char *json_lat_lng = MallocStringOf(args[0]);\r
MapComponentApi::getInstance().new_lat_lng(json_lat_lng);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"NewLatLngZoom");\r
+#ifdef SUPPORT_BAIDU\r
char *json_lat_lng = MallocStringOf(args[0]);\r
int zoom = IntegerOf(args[1]);\r
MapComponentApi::getInstance().new_lat_lng_zoom(json_lat_lng,zoom);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"ClearMapOverlayer");\r
+#ifdef SUPPORT_BAIDU\r
MapComponentApi::getInstance().clear_map_overlayer();\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"DrawMarker");\r
+#ifdef SUPPORT_BAIDU\r
char *json_marker = MallocStringOf(args[0]);\r
MapComponentApi::getInstance().draw_marker(json_marker);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"DrawNaviMarker");\r
+#ifdef SUPPORT_BAIDU\r
char *json_navi_marker = MallocStringOf(args[0]);\r
MapComponentApi::getInstance().draw_navi_marker(json_navi_marker);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"DrawPolygon");\r
+#ifdef SUPPORT_BAIDU\r
char *json_polygon = MallocStringOf(args[0]);\r
MapComponentApi::getInstance().draw_polygon(json_polygon);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"DrawPath");\r
+#ifdef SUPPORT_BAIDU\r
char *json_path = MallocStringOf(args[0]);\r
MapComponentApi::getInstance().draw_path(json_path);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"DrawCircle");\r
+#ifdef SUPPORT_BAIDU\r
char *json_circle = MallocStringOf(args[0]);\r
MapComponentApi::getInstance().draw_circle(json_circle);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"DrawText");\r
+#ifdef SUPPORT_BAIDU\r
char *json_text = MallocStringOf(args[0]);\r
MapComponentApi::getInstance().draw_text(json_text);\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"OverlayerClearCircle");\r
+#ifdef SUPPORT_BAIDU\r
MapComponentApi::getInstance().overlayer_clear_circle();\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"OverlayerClearMarker");\r
+#ifdef SUPPORT_BAIDU\r
MapComponentApi::getInstance().overlayer_clear_marker();\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"OverlayerClearNaviMarker");\r
+#ifdef SUPPORT_BAIDU\r
MapComponentApi::getInstance().overlayer_clear_navi_marker();\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const jerry_value_t args[], const jerry_length_t argsSize)\r
{\r
HILOG_INFO(HILOG_MODULE_ACE,"Destroy");\r
+#ifdef SUPPORT_BAIDU\r
MapComponentApi::getInstance().destroy();\r
+#endif\r
return UNDEFINED;\r
}\r
\r
const char * const CanvasComponent::FUNC_ARC = "arc";
const char * const CanvasComponent::FUNC_CLOSEPATH = "closePath";
const char * const CanvasComponent::FUNC_STROKE = "stroke";
+const char * const CanvasComponent::FUNC_CLEAR = "clear";
// create canvas draw attribute-callback mapping
const AttrMap CanvasComponent::attrMap_[] = {
{FUNC_RECT, Rect},
{FUNC_ARC, Arc},
{FUNC_CLOSEPATH, ClosePath},
- {FUNC_STROKE, Stroke}
+ {FUNC_STROKE, Stroke},
+ {FUNC_CLEAR, Clear}
};
CanvasComponent::CanvasComponent(jerry_value_t options, jerry_value_t children, AppStyleManager *styleManager)
return UNDEFINED;
}
+jerry_value_t CanvasComponent::Clear(const jerry_value_t func,
+ const jerry_value_t context,
+ const jerry_value_t args[],
+ const jerry_length_t argsNum)
+{
+ (void)func;
+ (void)args;
+ (void)argsNum;
+ CanvasComponent *component = static_cast<CanvasComponent *>(ComponentUtils::GetComponentFromBindingObject(context));
+ if (component == nullptr) {
+ HILOG_ERROR(HILOG_MODULE_ACE, "canvas_component: get canvas component from js object failed!");
+ return jerry_create_error(JERRY_ERROR_TYPE,
+ reinterpret_cast<const jerry_char_t *>("get canvas component from js object failed"));
+ }
+
+ component->canvas_.Clear();
+ return UNDEFINED;
+}
+
void CanvasComponent::GetSubFont(const char *font, const uint8_t index, char *&subFont) const
{
if (font == nullptr || *font == '\0') {
const jerry_value_t args[],
const jerry_length_t argsNum);
+ static jerry_value_t Clear(const jerry_value_t func,
+ const jerry_value_t context,
+ const jerry_value_t args[],
+ const jerry_length_t argsNum);
+
UICanvas canvas_;
jerry_value_t context_;
Paint paint_;
static const char * const FUNC_ARC;
static const char * const FUNC_CLOSEPATH;
static const char * const FUNC_STROKE;
+ static const char * const FUNC_CLEAR;
};
} // namespace ACELite
} // namespace OHOS
{
ACE_DELETE(onClickListener_);
ACE_DELETE(onLongPressListener_);
- ACE_DELETE(onKeyInputListener_);
#ifdef JS_TOUCH_EVENT_SUPPORT
ACE_DELETE(keyBoardEventListener_);
ACE_DELETE(onTouchStartListener_);
switch (pickerType_) {
case PickerType::TEXT: {
UIPicker *textPicker = reinterpret_cast<UIPicker *>(pickerView_);
+ if (PICKER_ITEM_HEIGHT < selectedFontSize_) {
+ textPicker->SetItemHeight(selectedFontSize_);
+ }
textPicker->SetBackgroundFont(fontFamily_, fontSize_);
textPicker->SetHighlightFont(selectedFontFamily_, selectedFontSize_);
textPicker->SetTextColor(color_, selectedColor_);
#include "app_module.h"
#include "ace_log.h"
#include "js_app_context.h"
+#include "bundle_manager.h"
#ifdef FEATURE_SCREEN_ON_VISIBLE
#include "js_async_work.h"
#include "product_adapter.h"
namespace ACELite {
const char * const AppModule::FILE_MANIFEST = "manifest.json";
const char * const AppModule::KEY_APP_NAME = "appName";
+const char * const AppModule::KEY_APP_ID = "appID";
const char * const AppModule::KEY_VERSION_NAME = "versionName";
const char * const AppModule::KEY_VERSION_CODE = "versionCode";
return result;
}
- cJSON *appName = cJSON_GetObjectItem(manifest, KEY_APP_NAME);
+ cJSON *appID = cJSON_GetObjectItem(manifest, KEY_APP_ID);
+
cJSON *versionName = cJSON_GetObjectItem(manifest, KEY_VERSION_NAME);
cJSON *versionCode = cJSON_GetObjectItem(manifest, KEY_VERSION_CODE);
result = JSI::CreateObject();
- if (appName != nullptr && appName->type == cJSON_String) {
- JSI::SetStringProperty(result, KEY_APP_NAME, appName->valuestring);
+ if (appID != nullptr && appID->type == cJSON_String) {
+ BundleInfo bundleInfo;
+ uint8_t ret = GetBundleInfo(appID->valuestring, true, &bundleInfo);
+ if (ret == 0) {
+ JSI::SetStringProperty(result, KEY_APP_NAME, bundleInfo.label);
+ }
}
if (versionName != nullptr && versionName->type == cJSON_String) {
JSI::SetStringProperty(result, KEY_VERSION_NAME, versionName->valuestring);
static const char * const KEY_APP_NAME;
static const char * const KEY_VERSION_NAME;
static const char * const KEY_VERSION_CODE;
-
+ static const char * const KEY_APP_ID;
static cJSON* ReadManifest();
#ifdef FEATURE_SCREEN_ON_VISIBLE
return JSI::CreateBoolean(0);
}
+/**
+ * stop answer
+ */
+JSIValue BaiduMapComponentModule::StopAnswer(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
+{
+ HILOG_INFO(HILOG_MODULE_ACE,"StopAnswer");
+ char *data = JSI::JsonStringify(args[0]);
+ HILOG_INFO(HILOG_MODULE_ACE,"StopAnswer : %s \n",data);
+ msg_center_xiaodu_send_stop_answer(MSGCENTER_CMD_XIAODU,MSGCENTER_TYPE_ID_XIAODU_SEND_JS_EXIT,data,strlen(data));
+ return JSI::CreateBoolean(0);
+}
+
+
void InitBaiduMapComponentModule(JSIValue exports)
{
HILOG_INFO(HILOG_MODULE_ACE,"InitBaiduMapComponentModule");
* exit navigation
*/
JSI::SetModuleAPI(exports, "naviDestroy", BaiduMapComponentModule::NaviDestroy);
+ /**
+ * stop anwser
+ */
+ JSI::SetModuleAPI(exports, "stopAnswer", BaiduMapComponentModule::StopAnswer);
}
} // namespace ACELite
return 0;
}
+__attribute__((weak)) void WGS84ToGCJ02(double lon, double lat, JSCoordinate &output)
+{
+
+}
+
+__attribute__((weak)) void GCJ02ToBD09(double lon, double lat, JSCoordinate &output)
+{
+
+}
+
+__attribute__((weak)) void WGS84ToBD09(double lon, double lat, JSCoordinate &output)
+{
+
+}
+
+__attribute__((weak)) void BD09ToGCJ02(double bd_lon, double bd_lat, JSCoordinate &output)
+{
+
+}
*/
static JSIValue NaviDestroy(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
+ /**
+ * stop answer
+ */
+ static JSIValue StopAnswer(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
};
void InitBaiduMapComponentModule(JSIValue exports);
--- /dev/null
+/*\r
+ * Copyright (c) 2021 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
+/**\r
+ * @addtogroup ohos_mem_pool\r
+ * @{\r
+ *\r
+ * @brief Provides functions for memory alloc and memory free.\r
+ *\r
+ * @since 1.0\r
+ * @version 1.0\r
+ */\r
+\r
+/**\r
+ * @file ohos_mem_pool.h\r
+ *\r
+ * @brief Provides functions for memory alloc and memory free.\r
+ *\r
+ * @since 1.0\r
+ * @version 1.0\r
+ */\r
+\r
+#ifndef OHOS_MEM_POOL_H\r
+#define OHOS_MEM_POOL_H\r
+\r
+#include "ohos_types.h"\r
+\r
+#ifdef __cplusplus\r
+#if __cplusplus\r
+extern "C"{\r
+#endif\r
+#endif /* End of #ifdef __cplusplus */\r
+\r
+/**\r
+ * @brief memory pool enum definition.\r
+ */\r
+typedef enum {\r
+ MEM_TYPE_BEGIN = 100,\r
+ MEM_TYPE_UIKIT = MEM_TYPE_BEGIN, /* UIKIT memory pool */\r
+ MEM_TYPE_UIKIT_LSRAM, /* UIKIT low speed memory pool */\r
+ MEM_TYPE_APPFMK, /* appexecfmk memory pool */\r
+ MEM_TYPE_APPFMK_LSRAM, /* appexecfmk low speed memory pool */\r
+ MEM_TYPE_ACE, /* ACE memory pool */\r
+ MEM_TYPE_ACE_LSRAM, /* ACE low speed memory pool */\r
+ MEM_TYPE_JERRY, /* jerry script memory pool */\r
+ MEM_TYPE_JERRY_LSRAM, /* jerry script low speed memory pool */\r
+ MEM_TYPE_HICHAIN, /* security memory pool */\r
+ MEM_TYPE_SOFTBUS_LSRAM, /* softbus low speed memory pool */\r
+ MEM_TYPE_I18N_LSRAM = 111, /* global i18n low speed memory pool */\r
+ MEM_TYPE_CJSON_LSRAM = 114,\r
+ MEM_TYPE_APP_VERIFY_LSRAM = 116,\r
+\r
+ MEM_TYPE_MAX /* maximum definition of memory, add a new memory pool before it */\r
+} MemType;\r
+\r
+/**\r
+ * @brief According to the input parameters type and size,\r
+ * memory is applied in the corresponding memory pool.\r
+ *\r
+ * Because memory management needs to consume memory,\r
+ * it is not recommended to use the memory application interface to apply for memory\r
+ * if the application memory is small (less than 8 bytes).\r
+ * Applying for small memory blocks is easy to cause memory fragmentation.\r
+ *\r
+ * @param type identify which memory pool to apply for memory in\r
+ * @param size size of memory block to apply for\r
+ * @return requested memory block address\r
+ * return if the memory request fails <b>NULL</b>.\r
+ * @since 1.0.\r
+ * @version 1.0.\r
+ */\r
+void *OhosMalloc(MemType type, uint32 size);\r
+\r
+/**\r
+ * @brief free incoming memory space.\r
+ *\r
+ * @param ptr identify the memory blocks that need to be released.\r
+ * @attention Do not release null pointers or memory blocks not requested by OhosMalloc!\r
+ * @return void\r
+ * @since 1.0.\r
+ * @version 1.0.\r
+ */\r
+void OhosFree(void *ptr);\r
+\r
+#ifdef __cplusplus\r
+#if __cplusplus\r
+}\r
+#endif\r
+#endif /* End of #ifdef __cplusplus */\r
+\r
+#endif /* End of #ifndef OHOS_MEM_POOL_H */\r
+/** @} */
\ No newline at end of file
enum {
SPP_MSG_ID_HANDLE_SPP_CONNECT,
SPP_MSG_ID_HANDLE_SPP_DISCONNECT,
+ SPP_MSG_ID_HANDLE_SPP_CONNECTION_EVENT,
};
/* 发送A2DP Service模块消息 */
#else
#include "bt_audio_manager_wrapper.h"
#endif
+#include "bts_pbap.h"
#ifdef __cplusplus
extern "C" {
"Finished"
};
+#define HFP_PHONENUM_MAX_DIGITS 32
static void sample_handle_hfp_call_state_changed(const bd_addr_t *bd_addr, const hfp_hf_calls_info_t *call)
{
sample_hfp_hf_print_addr(bd_addr);
}
bts_sample_log_no_header(", outgoing: %d, state: %s\n", call->outgoing, g_call_state_string[call->state]);
}
+ /* 响铃时查询电话号码对应的list返回vcf和name */
+ if (call->state == HFP_HF_CALL_STATE_INCOMING && call->number_len != 0) {
+ char *tel_name = "telecom";
+ uint32_t ret = (uint32_t)pbap_pce_set_phone_book(bd_addr, (unsigned char*)tel_name);
+ if (ret != ERRCODE_BT_SUCCESS) {
+ bts_sample_log_with_func("set phone book ret 0x%x\n", ret);
+ return;
+ }
+ char *name = "pb";
+ char number[HFP_PHONENUM_MAX_DIGITS + 1] = {0};
+ if (memcpy_s(number, HFP_PHONENUM_MAX_DIGITS, call->number, call->number_len) != EOK) {
+ bts_sample_log("memcpy_s fail.");
+ return;
+ }
+ pbap_pce_pull_vcard_listing_param_t thr_par = {0};
+ thr_par.name = (unsigned char*)name;
+ thr_par.max_list_count = 1; /* 1: max list */
+ thr_par.list_offset = 0;
+ thr_par.order = PBAP_ORDER_INDEXED;
+ thr_par.search_value = (unsigned char*)number; /* 查询条件要有字符串结束符 */
+ thr_par.search_property = PBAP_SEARCH_PROPERTY_NUMBER;
+ bts_sample_log_with_func("pull vcard list number %s search_value %s\n", call->number, thr_par.search_value);
+ ret = pbap_pce_pull_vcard_listing(bd_addr, &thr_par);
+ bts_sample_log_with_func("pull vcard list ret 0x%x\n", ret);
+ }
}
void sample_hfp_hf_set_spk_volume(uint8_t volume)
}
/* get phone vCard-Listing */
-void wstp_pbap_cmd_pull_vcard_listing(
- uint8_t folder, uint8_t vcf, uint16_t max_list_count, uint16_t list_offset, uint8_t order)
+void wstp_pbap_cmd_pull_vcard_listing(const char **params, int32_t params_cnt)
{
+ if (params_cnt != 5 && params_cnt != 7) { /* 5个参数不带过滤,7个参数带过滤 */
+ bts_sample_log_with_func("params cnt err: %d!\n", params_cnt);
+ return;
+ }
+ uint8_t folder = (uint8_t)atoi(params[0]); /* index = 0 */
+ uint8_t vcf = (uint8_t)atoi(params[1]); /* index = 1 */
+ uint16_t max_list_count = (uint16_t)atoi(params[2]); /* index = 2 */
+ uint16_t list_offset = (uint16_t)atoi(params[3]); /* index = 3 */
if (!wstp_pbap_check_param_valid(folder, vcf, max_list_count, list_offset, 0)) {
bts_sample_log_with_func("pbap param invalid\n");
return;
thr_par->max_list_count = max_list_count;
thr_par->list_offset = list_offset; /* index = 5 */
/* 0:索引序 1:字典序 */
- thr_par->order = order;
-
+ thr_par->order = (uint8_t)atoi(params[4]); /* index = 4 */
+ if (params_cnt == 7) { /* 7个参数带过滤 */
+ thr_par->search_value = (unsigned char *)params[5]; /* index = 5 */
+ thr_par->search_property = (uint8_t)atoi(params[6]); /* index = 6 */
+ }
+ bts_sample_log_with_func("folder=%d vcf=%d max_list_count=%d list_offset=%d order=%d search_value=%s property=%d\n",
+ folder, vcf, max_list_count, list_offset, thr_par->order, thr_par->search_value, thr_par->search_property);
if (sample_pbap_set_vcard_listing_name(bd_addr, folder, vcf, thr_par->name)) {
bts_sample_log_with_func("pbap_pce_pull_vcard_listing name=%s\n", thr_par->name);
pbap_pce_pull_vcard_listing(bd_addr, thr_par);
void wstp_pbap_pce_reg_callback(void);
void wstp_pbap_cmd_pull_phonebook(
uint8_t folder, uint8_t vcf, uint16_t max_list_count, uint16_t list_offset, uint8_t format);
-void wstp_pbap_cmd_pull_vcard_listing(
- uint8_t folder, uint8_t vcf, uint16_t max_list_count, uint16_t list_offset, uint8_t order);
+void wstp_pbap_cmd_pull_vcard_listing(const char **params, int32_t params_cnt);
void wstp_pbap_cmd_pull_vcard_entry(uint8_t folder, uint8_t vcf, td_char *vcf_name, uint8_t format);
#endif /* SAMPLE_PBAP_SERVICE_H */
#define DATA_CONFIG_H
#include "custdefs.h"
+#include "bts_def.h"
#include "mpc_struct.h"
#include "stack_gap_if.h"
#ifdef __cplusplus
void bt_acore_get_calibration_data(uint8_t *calibration_data, uint16_t data_length);
void bt_acore_delete_smp_key(struct hci_address_stru *delete_addr, uint8_t *delete_num);
void bt_acore_delete_single_smp_key(struct hci_address_stru *delete_addr);
-int8_t bt_acore_get_bonded_device(uint8_t *bonded_device);
+errcode_t bt_acore_get_bonded_device(bd_addr_t *bonded_device, uint16_t *number);
void bt_acore_set_sys_config(uint8_t is_key_from_btc);
void bt_acore_set_product_type(uint8_t product_type);
uint8_t bt_acore_get_local_dev_info(uint16_t kvalue_max_length, uint16_t *kvalue_length, uint8_t *kvalue);
int8_t mc_ble_smp_remove_pair_device(uint8_t *addr);
int8_t mc_ble_disconnect_all_links(void);
int8_t mc_ble_smp_pair_remote_device(bth_address *addr);
-int8_t mc_get_bonded_device(uint8_t *bonded_device);
int8_t mc_ble_smp_remove_pair_info(void);
uint8_t ble_gap_internal_callback_regist(uint16_t module_id,
uint16_t event, sdk_ble_cbk cbk);
+import baidu from '@system.baidumapcomponent';
+
export default {
onCreate() {
console.info("Application onCreate");
},
onDestroy() {
+ baidu.stopAnswer({});
console.info("Application onDestroy");
}
};
\ No newline at end of file
import router from '@system.router';\r
import messageCenter from "@system.message";\r
+import baidu from '@system.baidumapcomponent';\r
\r
var receiverDataStr = ""\r
var receiverindex = 0\r
console.info("Life Cycle onShow" + this);\r
},\r
onHide() {\r
+ baidu.stopAnswer({})\r
receiverDataStr = null\r
clearInterval(iid)\r
unregisterReceiver(receiver)\r
--- /dev/null
+【补丁名称】patch_0720_to_0812\r
+【基础版本】b602 + 0521 + 0626 +0720\r
+【修复问题】\r
+BT合入内容\r
+ 1、解决【手表连接时检查到连接已存在上报了断开导致连接状态错误】问题。\r
+ 2、解决【空所有配对信息接口,存在已配对未连接的配对信息时,无法全部清除】问题。\r
+ 3、解决【连接spp时找不到匹配的client】问题。\r
+ 4、解决【snk音乐请求开始后未开始前断开连接未unmap后续unmap时失败】问题。\r
+ 5、解决【通过PBAP-PCE 模块通过电话号码查找对应的联系人】问题。\r
+ 6、新增BLE绑定信息查询和删除接口,解决【BLE 绑定信息无法删除】问题。\r
+PLT合入内容\r
+ 1、隔离baidumapsdk组件,默认不参与编译\r
+ 2、亮灭平过程中屏蔽调频对NANDFLASH的影响\r
+ 3、解决button双击误报以及按键失效\r
+ 4、PMS不拉起单独线程,事件由UI线程处理\r
+GUI合入内容\r
+ 1、修复SetElasticTime接口问题\r
+ 2、修复UICrossView单张卡片问题\r
+ 3、修复输入法输入中文字符问题\r
+ 4、完善LRU资源释放方案\r
+ 5、图片资源加载优化\r
+ 6、量灭屏优化,在UI主线程处理量灭屏事件\r
+ 7、touch/key事件上报流程优化\r
+AUDIO&MEDIA合入内容\r
+ 1、媒体线程栈重新部署到DTCM,解决内存泄露以及适配兼容的问题\r
+OHOS合入内容\r
+ 1、小度语音Demo新加stopAnswer方法,更新bin文件\r
+ 2、文心一言新加answer打断协议+接口名称修改\r
+ 3、msgCenter下发消息到js失败,释放msgBody\r
+ 4、picker-view设置超大字体item自适应\r
+ 5、解决客户多次进入退出js会触发list冻屏问题\r
+ 6、解决Canvas控件卡顿问题,js增加clear接口\r
+ 7、app_module模块getinfo接口修改\r
+SDK Sample合入内容:\r
+ 1、BT链接状态上报JS时在MsgCenter做判断拦截\r
+ 2、User版本去除reg/mem dump\r
+ 3、耳机断链后开启scan 60秒,用于耳机回连测试\r
+【修改影响】NA\r
+【使用方法】\r
+ 1、合入0521补丁\r
+ 2、合入0626补丁\r
+ 3、合入0720补丁\r
+ 4、合入0812补丁\r
+【自测情况】\r
+ 自验证范围:\r
+ 全功能冒烟\r
+ 自验证target:\r
+ Native-js、target3 rc版本\r
+【是否合入版本】根据测试结果确定\r
+\r
+【遗留问题】\r
+ 1、IOS手机连接手表,长时间压测音乐通话并发场景概率出现系统异常,后续补丁解决。\r