From 392d9fb3530bdb0d9cfc6a28901ff906ec44b1e7 Mon Sep 17 00:00:00 2001 From: penglei <1624952103@qq.com> Date: Wed, 14 Aug 2024 20:09:13 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E6=94=B9OBU=20ui=E7=95=8C=E9=9D=A2,?= =?utf8?q?=E6=B7=BB=E5=8A=A0=E8=AF=AD=E9=9F=B3=E6=92=AD=E6=8A=A5=E6=B6=88?= =?utf8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../obumessage/include/OBUMessageModel.h | 76 ++++- .../obumessage/src/OBUMessageModel.cpp | 269 +++++++++++++++++- .../obumessage/src/OBUMessageView.cpp | 113 ++++++-- .../nativeui/uiservice/src/ui_service.cpp | 4 +- code/sdk/drivers/peripheral/a5133/A5133Main.c | 8 +- .../drivers/peripheral/utils/custom_utils.c | 2 +- 6 files changed, 429 insertions(+), 43 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/obumessage/include/OBUMessageModel.h b/code/sdk/application/wearable/fd230app/nativeui/obumessage/include/OBUMessageModel.h index ac2fc98f6..7e842e329 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/obumessage/include/OBUMessageModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/obumessage/include/OBUMessageModel.h @@ -1,30 +1,98 @@ /* * @Author: luozheng 1732036298@qq.com * @Date: 2024-07-27 11:22:07 - * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-07-27 13:55:09 - * @FilePath: /xts_origin/FD230/code/sdk/application/wearable/fd230app/nativeui/obumessage/include/OBUMessageModel.h + * @LastEditors: penglei 1624952103@qq.com + * @LastEditTime: 2024-08-14 15:15:30 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/obumessage/include/OBUMessageModel.h * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ #ifndef OBU_MESSAGE_MODEL_H #define OBU_MESSAGE_MODEL_H +#include "player.h" +#include "source.h" +#include "audio_manager.h" +#include "audio_base_type.h" + namespace OHOS { + + using OHOS::Media::Player; + using OHOS::Media::Source; + using namespace OHOS::Media; + using namespace Audio; + using Audio::AudioManager; + + class OBUPlayerListener : public InterruptListener { + public: + OBUPlayerListener() {} + ~OBUPlayerListener() {} + + void SetOwner(std::shared_ptr player); + void RestFlag(); + bool IsPaused(); + bool IsDelayed(); + bool IsResumed(); + bool IsBeginStopped(); + bool IsEndStopped(); + void StartOBU(); + void StopOBU(); + void OnInterrupt(int32_t type, int32_t hint) override; + + private: + std::shared_ptr player_{nullptr}; + bool isPaused_{false}; + bool isDelayed_{false}; + bool isResumed_{false}; + bool isBeginStopped_{false}; + bool isEndStopped_{false}; + }; + + // 播放器回调 + class OBUPlayerCallbackImpl : public OHOS::Media::PlayerCallback { + public: + OBUPlayerCallbackImpl() {} + ~OBUPlayerCallbackImpl() {} + void OnPlaybackComplete(); + void OnError(int32_t errorType, int32_t errorCode); + void OnInfo(int type, int extra); + void OnRewindToComplete(); + }; + + class OBUMessageModel { public: static OBUMessageModel &GetInstance(void); - void UpdateOBUMessageViewData(void); + // void UpdateOBUMessageViewData(void); + void UpdateOBUMessageModelData(void); void OBUMessage_StartTimer(int interval = 1000); void OBUMessage_StopTimer(void); + + void PopInterCancelMusic(); + void PopInterPlayMusic(); + void PlayMusic_01(); + void PlayMusic_02(); private: OBUMessageModel(); ~OBUMessageModel(); OBUMessageModel(const OBUMessageModel &) = delete; OBUMessageModel &operator=(const OBUMessageModel &) = delete; + + std::string uri; + std::shared_ptr playerCallback{nullptr}; + std::map header; + std::shared_ptr source{nullptr}; + std::shared_ptr playerInterruptListener{nullptr}; + AudioSession sessionId; + AudioInterrupt interrupt; + std::shared_ptr playerCtr{nullptr}; + int RingIndex_{0}; + + int OBUPlayerStop(void); + int OBUPlayerStart(void); }; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageModel.cpp index bbc880abf..01bce9e0d 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageModel.cpp @@ -1,9 +1,9 @@ /* * @Author: luozheng 1732036298@qq.com * @Date: 2024-07-27 11:22:17 - * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-07-27 14:09:11 - * @FilePath: /xts_origin/FD230/code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageModel.cpp + * @LastEditors: penglei 1624952103@qq.com + * @LastEditTime: 2024-08-14 15:41:21 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageModel.cpp * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ @@ -13,6 +13,9 @@ #include #include #include +#include "UiConfig.h" +#include + namespace OHOS { OBUMessageModel::OBUMessageModel() {} @@ -25,7 +28,7 @@ namespace OHOS return instance; } - void OBUMessageModel::UpdateOBUMessageViewData(void) + void OBUMessageModel::UpdateOBUMessageModelData(void) { OBUMessagePresenter *obuMessagePresenter = OBUMessagePresenter::GetInstance(); if (obuMessagePresenter != nullptr) @@ -41,7 +44,7 @@ namespace OHOS static void OBUMessage_TimerCallbackProc(int data) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OBUMessage_TimerCallbackProc"); - OBUMessageModel::GetInstance().UpdateOBUMessageViewData(); + OBUMessageModel::GetInstance().UpdateOBUMessageModelData(); } /* @@ -58,7 +61,7 @@ namespace OHOS */ void OBUMessageModel::OBUMessage_StartTimer(int interval) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OBUMessageViewEventListener::OBUMessage_StartTimer"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OBUMessageModelEventListener::OBUMessage_StartTimer"); /* -------------------------- 1.检查定时器是否已经存在,如果存在则返回 ------------------------- */ if (g_timer != NULL) { @@ -102,7 +105,7 @@ namespace OHOS // 检查定时器是否存在 if (g_timer != NULL) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OBUMessageViewEventListener::OBUMessage_StopTimer"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OBUMessageModelEventListener::OBUMessage_StopTimer"); // 删除定时器并置为 NULL osStatus_t ret = osTimerDelete(g_timer); if (ret != osOK) @@ -112,4 +115,256 @@ namespace OHOS g_timer = NULL; } } + + + // player + void OBUPlayerListener::SetOwner(std::shared_ptr player) + { + player_ = player; + } + + void OBUPlayerListener::RestFlag() + { + isPaused_ = false; + isDelayed_ = false; + isResumed_ = false; + isBeginStopped_ = false; + isEndStopped_ = false; + } + + bool OBUPlayerListener::IsPaused() + { + return isPaused_; + } + + bool OBUPlayerListener::IsDelayed() + { + return isDelayed_; + } + + bool OBUPlayerListener::IsResumed() + { + return isResumed_; + } + + bool OBUPlayerListener::IsBeginStopped() + { + return isBeginStopped_; + } + + bool OBUPlayerListener::IsEndStopped() + { + return isEndStopped_; + } + + static void Start(void) + { + OBUMessageModel::GetInstance().PopInterPlayMusic(); + } + + static void Stop(void) + { + OBUMessageModel::GetInstance().PopInterCancelMusic(); + } + + void OBUPlayerListener::StartOBU(void) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[OBUPlayerListener::StopOBU]"); + GraphicService::GetInstance()->PostGraphicEvent(Start); + } + + void OBUPlayerListener::StopOBU(void) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[OBUPlayerListener::StopOBU]"); + GraphicService::GetInstance()->PostGraphicEvent(Stop); + } + + /*响应外部的音频中断事件*/ + void OBUPlayerListener::OnInterrupt(int32_t type, int32_t hint) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnInterrupt go in, type %d, hint %d.", type, hint); + if (type == INTERRUPT_TYPE_BEGIN && hint == INTERRUPT_HINT_PAUSE) + { + isDelayed_ = true; + } + + if (type == INTERRUPT_TYPE_BEGIN && hint == INTERRUPT_HINT_STOP) + { + StopOBU(); + } + // else if (type == INTERRUPT_TYPE_END && isDelayed_) + // { + // // 重新开始查找手表的音乐播放 + // StartOBU(); + // isDelayed_ = false; + // } + // return; + } + + + /* --------------------- PlayerCallbackImpl -------------------- */ + void OBUPlayerCallbackImpl::OnPlaybackComplete(void) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnPlaybackComplete"); + OBUMessageModel::GetInstance().PopInterCancelMusic(); + // OBUMessageModel::GetInstance().PopInterPlayMusic(); + } + + void OBUPlayerCallbackImpl::OnError(int32_t errorType, int32_t errorCode) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnError test, errorType %d, errorCode %d", errorType, errorCode); + // 此处实现代码处理错误事件 + } + + void OBUPlayerCallbackImpl::OnInfo(int type, int extra) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnInfo test, type %d, extra %d.", type, extra); + // 此处实现代码处理普通事件 + } + + void OBUPlayerCallbackImpl::OnRewindToComplete(void) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnRewindToComplete test"); + // 此处实现代码处理进度控制完成的事件 + } + + + // play audio + void OBUMessageModel::PopInterCancelMusic() + { + // ScreenTurnOff(); + + GraphicService::GetInstance()->PostGraphicEvent( + std::bind(&OBUMessageModel::OBUPlayerStop, &OBUMessageModel::GetInstance())); + } + + void OBUMessageModel::PopInterPlayMusic() + { + // ScreenTurnOn(-1); + + // if(true != ConfigModel::GetInstance()->GetDnotdisturb()) + { + GraphicService::GetInstance()->PostGraphicEvent( + std::bind(&OBUMessageModel::OBUPlayerStart, &OBUMessageModel::GetInstance())); + } + } + + void OBUMessageModel::PlayMusic_01() + { + // ScreenTurnOn(-1); + OBUPlayerStop(); + RingIndex_ = 1; + OBUPlayerStart(); + } + + void OBUMessageModel::PlayMusic_02() + { + // ScreenTurnOn(-1); + OBUPlayerStop(); + RingIndex_ = 2; + OBUPlayerStart(); + } + + int OBUMessageModel::OBUPlayerStop(void) + { + int32_t ret = 0; + AudioManager &amIntance = AudioManager::GetInstance(); + if (playerCtr.get() == nullptr) { + return OHOS_FAILURE; + } + + ret = playerCtr->Stop(); + playerCtr->Reset(); + playerCtr->Release(); + if (amIntance.DeactivateAudioInterrupt(interrupt) != 0) { + return OHOS_FAILURE; + } + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Reset, ret:%d", ret); + return OHOS_SUCCESS; + } + + int OBUMessageModel::OBUPlayerStart(void) + { + // 本地播放文件路径和状态 + if(1 == RingIndex_) + uri = (char *)"obu_ring_01.mp3"; + else if(2 == RingIndex_) + uri = (char *)"obu_ring_02.mp3"; + else + uri = (char *)"alarm.mp3"; // 播放音乐的文件名 + + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayerInit start!"); + + std::string strSongName = uri; + std::string pureName = strSongName.substr(0, strSongName.rfind(".")); // 播放音乐的路径需要引用.号 + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayerInit, url:%s ", uri); + //std::string strSrcMusic(APP_MUSIC_PATH); + std::string strSrcMusic("/music/ring"); + std::string tempStr("/"); + std::string strName = uri; + uri = strSrcMusic + tempStr + strName; + // 创建 AM + + playerCtr = std::make_shared(); + if (playerCtr.get() == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playerCtr new fail"); + return OHOS_FAILURE; + } + playerCallback = std::make_shared(); + if (playerCallback.get() == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playerCallback new fail"); + return OHOS_FAILURE; + } + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayerInit end!"); + + // if(NotificationManager::GetInstance()->GetWatchCallStatus()) + // { + // return 0; + // } + + // 设置回调函数 + if (playerCtr.get() == nullptr) { + return OHOS_FAILURE; + } + //playerCtr->SetPlayerCallback(playerCallback); + // 申请资源 + source = std::make_shared(uri, header); + if (source.get() == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "source new fail"); + return OHOS_FAILURE; + } + + playerCtr->SetSource(*source); + playerCtr->SetAudioStreamType(AUDIO_STREAM_MUSIC); + playerCtr->Prepare(); + + // 申请焦点 + AudioManager &amIntance = AudioManager::GetInstance(); + sessionId = amIntance.MakeSessionId(); + if (sessionId == AUDIO_SESSION_ID_NONE) { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "session invalid"); + return OHOS_FAILURE; + } + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MakeSessionId %d", sessionId); + playerInterruptListener = std::make_shared(); + if (playerInterruptListener.get() == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playerInterruptListener new fail"); + return OHOS_FAILURE; + } + interrupt = { AUDIO_STREAM_MUSIC, sessionId, playerInterruptListener }; + // 激活音频中断 5s超时 + if (amIntance.ActivateAudioInterrupt(interrupt) == INTERRUPT_FAILED) { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ActivateAudioInterrupt faild"); + return OHOS_FAILURE; + } + playerCtr->SetAudioSessionId(sessionId); + playerCtr->SetVolume(amIntance.GetMaxVolume(AUDIO_STREAM_MUSIC),amIntance.GetMaxVolume(AUDIO_STREAM_MUSIC)); + // 播放 + playerCtr->Play(); + + return OHOS_SUCCESS; + } + + } + diff --git a/code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageView.cpp b/code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageView.cpp index af5e85ba4..83400fbd5 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageView.cpp @@ -1,8 +1,8 @@ /* * @Author: luozheng 1732036298@qq.com * @Date: 2024-05-07 11:25:58 - * @LastEditors: SnickerSun snickersun@163.com - * @LastEditTime: 2024-08-09 16:37:41 + * @LastEditors: penglei 1624952103@qq.com + * @LastEditTime: 2024-08-14 16:00:04 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageView.cpp */ #include "obumessage/include/OBUMessagePresenter.h" @@ -11,6 +11,8 @@ #include "custom_utils.h" #include "iostream" #include +#include "obumessage/include/OBUMessageModel.h" + namespace OHOS { @@ -172,14 +174,14 @@ namespace OHOS return; } } - obuMessageLabel1->SetPosition(100, 100, 360, 50); + obuMessageLabel1->SetPosition(23, 110, 420, 50); obuMessageLabel1->SetStyle(STYLE_BORDER_RADIUS, 33); - obuMessageLabel1->SetStyle(STYLE_TEXT_FONT, 40); - obuMessageLabel1->SetStyle(STYLE_LINE_HEIGHT, 45); + obuMessageLabel1->SetStyle(STYLE_TEXT_FONT, 35); + obuMessageLabel1->SetStyle(STYLE_LINE_HEIGHT, 50); obuMessageLabel1->SetText(""); - obuMessageLabel1->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS); - obuMessageLabel1->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_CENTER); - obuMessageLabel1->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + obuMessageLabel1->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); + obuMessageLabel1->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + obuMessageLabel1->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 35); group->Add(obuMessageLabel1); /* ----------------------------- obuMessageLabel2 ---------------------------- */ @@ -339,30 +341,87 @@ namespace OHOS void OBUMessageView::UpdateOBUMessageViewDisplayData(void) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OBUMessageView::UpdateOBUMessageViewDisplayDate"); - num1 = uapi_get_a5133_update_state(); - num2 = uapi_get_a5133_update_state1(); - - uint8_t rxdata[80] = {0}; - uint32_t rxdata_timestamp = 0; - uapi_get_a5133_rxdata(rxdata, 80); - rxdataStr = std::string((char *)rxdata); - uapi_get_a5133_rxdata_timestamp(&rxdata_timestamp); - char labelTime[20] = {0}; - if (uapi_get_TIME_STR(rxdata_timestamp, labelTime, '.', ':', DATE_H_M_S) != ERRCODE_SUCC) + + int temp_num1 = uapi_get_a5133_update_state(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayData01:%d-%d", num1, temp_num1); + if(num1 != temp_num1) { - labelTimeStr = std::string("--"); + num1 = temp_num1; + + OHOS::OBUMessageModel::GetInstance().PlayMusic_01(); + + uint8_t rxdata[80] = {0}; + uint32_t rxdata_timestamp = 0; + uapi_get_a5133_rxdata(rxdata, 80); + rxdataStr = std::string((char *)rxdata); + uapi_get_a5133_rxdata_timestamp(&rxdata_timestamp); + char labelTime[20] = {0}; + if (uapi_get_TIME_STR(rxdata_timestamp, labelTime, '.', ':', DATE_H_M_S) != ERRCODE_SUCC) + { + labelTimeStr = std::string("--"); + } + else + { + labelTimeStr = std::string(labelTime); + } + + obuMessageLabel1->SetText("您已进入北斗收费路段"); /*数据更新*/ + displayTimeLabel->SetText(labelTimeStr.c_str()); /*时间更新:时:分:秒*/ } - else + + + int temp_num2 = uapi_get_a5133_update_state1(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayData02:%d-%d", num2, temp_num2); + if(num2 != temp_num2) { - labelTimeStr = std::string(labelTime); + num2 = temp_num2; + + OHOS::OBUMessageModel::GetInstance().PlayMusic_02(); + + uint8_t rxdata[80] = {0}; + uint32_t rxdata_timestamp = 0; + uapi_get_a5133_rxdata(rxdata, 80); + rxdataStr = std::string((char *)rxdata); + uapi_get_a5133_rxdata_timestamp(&rxdata_timestamp); + char labelTime[20] = {0}; + if (uapi_get_TIME_STR(rxdata_timestamp, labelTime, '.', ':', DATE_H_M_S) != ERRCODE_SUCC) + { + labelTimeStr = std::string("--"); + } + else + { + labelTimeStr = std::string(labelTime); + } + + obuMessageLabel1->SetText("您已超速,请减速慢行!"); + displayTimeLabel->SetText(labelTimeStr.c_str()); /*时间更新:时:分:秒*/ } + + + // num1 = uapi_get_a5133_update_state(); + // num2 = uapi_get_a5133_update_state1(); + + // uint8_t rxdata[80] = {0}; + // uint32_t rxdata_timestamp = 0; + // uapi_get_a5133_rxdata(rxdata, 80); + // rxdataStr = std::string((char *)rxdata); + // uapi_get_a5133_rxdata_timestamp(&rxdata_timestamp); + // char labelTime[20] = {0}; + // if (uapi_get_TIME_STR(rxdata_timestamp, labelTime, '.', ':', DATE_H_M_S) != ERRCODE_SUCC) + // { + // labelTimeStr = std::string("--"); + // } + // else + // { + // labelTimeStr = std::string(labelTime); + // } - // obuMessageLabel1->SetText(rxdataStr.c_str()); /*数据更新*/ - obuMessageLabel1->SetText("您已进入北斗收费路段"); /*数据更新*/ - MessageNumLabel1->SetText(std::to_string(num1).c_str()); - obuMessageLabel2->SetText("您已超速,请减速慢行!"); - MessageNumLabel2->SetText(std::to_string(num2).c_str()); - displayTimeLabel->SetText(labelTimeStr.c_str()); /*时间更新:时:分:秒*/ + // // obuMessageLabel1->SetText(rxdataStr.c_str()); /*数据更新*/ + // obuMessageLabel1->SetText("您已进入北斗收费路段"); /*数据更新*/ + // MessageNumLabel1->SetText(std::to_string(num1).c_str()); + // obuMessageLabel2->SetText("您已超速,请减速慢行!"); + // MessageNumLabel2->SetText(std::to_string(num2).c_str()); + // displayTimeLabel->SetText(labelTimeStr.c_str()); /*时间更新:时:分:秒*/ /* OBUItem item; diff --git a/code/sdk/application/wearable/fd230app/nativeui/uiservice/src/ui_service.cpp b/code/sdk/application/wearable/fd230app/nativeui/uiservice/src/ui_service.cpp index 46d3ee39a..72d2dd668 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/uiservice/src/ui_service.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/uiservice/src/ui_service.cpp @@ -573,8 +573,8 @@ void HandleWatchFirstPaired(Request *request) void HandleUpdateOBUMessage(Request *request) { WEARABLE_LOGI(WEARABLE_LOG_MODULE_UI_SERVICE, "HandleUpdateOBUMessage"); - GraphicService::GetInstance()->PostGraphicEvent( - std::bind(&OHOS::OBUMessageModel::UpdateOBUMessageViewData, &OHOS::OBUMessageModel::GetInstance())); + // GraphicService::GetInstance()->PostGraphicEvent( + // std::bind(&OHOS::OBUMessageModel::UpdateOBUMessageViewData, &OHOS::OBUMessageModel::GetInstance())); } //处理更新查询AI模型是否连接成功的状态 diff --git a/code/sdk/drivers/peripheral/a5133/A5133Main.c b/code/sdk/drivers/peripheral/a5133/A5133Main.c index 4f85a3d06..3860ba7eb 100644 --- a/code/sdk/drivers/peripheral/a5133/A5133Main.c +++ b/code/sdk/drivers/peripheral/a5133/A5133Main.c @@ -843,6 +843,8 @@ void RxPacket(void) // } uint32_t msg_timestamp = *(uint32_t*)&tmpbuf[1+2+4+4+4+2]; uint16_t datalen = *(uint16_t*)&tmpbuf[1]; + +#if 0 uint8_t *pt=(uint8_t*)&datalen; uint8_t t = pt[1]; pt[1]=pt[0]; @@ -854,6 +856,7 @@ void RxPacket(void) t = pt[1]; pt[1]=pt[2]; pt[2]=t; +#endif // total(64) , header(4), timestamp(4), len(1), data(n-11) , crc(2) // frame_start_flag(1),len(2) if (datalen >0 && datalen <= (FIFO_LEN-1-2)) @@ -869,10 +872,11 @@ void RxPacket(void) { tmpbuf_len = datalen-4-4-4-2-4; tmpbuf_rx_timestamp = msg_timestamp; - // if(history_timestamp != tmpbuf_rx_timestamp) + if(history_timestamp != tmpbuf_rx_timestamp) { history_timestamp = tmpbuf_rx_timestamp; - if(datalen == 0X24) + //if(datalen == 0X24) + if(datalen == 48) update_flag++; else update_flag1++; diff --git a/code/sdk/drivers/peripheral/utils/custom_utils.c b/code/sdk/drivers/peripheral/utils/custom_utils.c index fddc5699a..cabbde90c 100644 --- a/code/sdk/drivers/peripheral/utils/custom_utils.c +++ b/code/sdk/drivers/peripheral/utils/custom_utils.c @@ -2723,7 +2723,7 @@ uint32_t uapi_get_a5133_update_state(void) uint32_t uapi_get_a5133_update_state1(void) { #ifdef SUPPORT_A5133_SERVICE - return a5133_get_update_state(); + return a5133_get_update_state1(); #else return 0; #endif -- 2.17.1