修改OBU ui界面,添加语音播报消息 701/1
authorpenglei <1624952103@qq.com>
Wed, 14 Aug 2024 12:09:13 +0000 (20:09 +0800)
committerpenglei <1624952103@qq.com>
Wed, 14 Aug 2024 12:09:13 +0000 (20:09 +0800)
code/sdk/application/wearable/fd230app/nativeui/obumessage/include/OBUMessageModel.h
code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageModel.cpp
code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageView.cpp
code/sdk/application/wearable/fd230app/nativeui/uiservice/src/ui_service.cpp
code/sdk/drivers/peripheral/a5133/A5133Main.c
code/sdk/drivers/peripheral/utils/custom_utils.c

index ac2fc98..7e842e3 100644 (file)
@@ -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> 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> 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> playerCallback{nullptr};
+        std::map<std::string, std::string> header;
+        std::shared_ptr<Source> source{nullptr};
+        std::shared_ptr<OBUPlayerListener> playerInterruptListener{nullptr};
+        AudioSession sessionId;
+        AudioInterrupt interrupt;
+        std::shared_ptr<Player> playerCtr{nullptr};
+        int RingIndex_{0};
+
+        int OBUPlayerStop(void);
+        int OBUPlayerStart(void);
     };
 }
 
index bbc880a..01bce9e 100644 (file)
@@ -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 <cmsis_os2.h>
 #include <cmsis_os.h>
 #include <service/graphic_service.h>
+#include "UiConfig.h"
+#include <iostream>
+
 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_ = 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<Player>();
+        if (playerCtr.get() == nullptr) {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playerCtr new fail");
+            return OHOS_FAILURE;
+        }
+        playerCallback = std::make_shared<OBUPlayerCallbackImpl>();
+        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<Source>(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<OBUPlayerListener>();
+        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;
+    }
+
+
 }
+
index af5e85b..83400fb 100644 (file)
@@ -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 <string>
+#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;
index 46d3ee3..72d2dd6 100644 (file)
@@ -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模型是否连接成功的状态
index 4f85a3d..3860ba7 100644 (file)
@@ -843,6 +843,8 @@ void RxPacket(void)
                // }\r
                uint32_t msg_timestamp = *(uint32_t*)&tmpbuf[1+2+4+4+4+2];\r
                uint16_t datalen = *(uint16_t*)&tmpbuf[1];\r
+\r
+#if 0\r
                uint8_t *pt=(uint8_t*)&datalen;\r
                uint8_t t = pt[1];\r
                pt[1]=pt[0];\r
@@ -854,6 +856,7 @@ void RxPacket(void)
                t = pt[1];\r
                pt[1]=pt[2];\r
                pt[2]=t;\r
+#endif\r
                //  total(64) , header(4), timestamp(4), len(1), data(n-11) , crc(2)\r
                //  frame_start_flag(1),len(2)\r
                if (datalen >0 && datalen <= (FIFO_LEN-1-2))\r
@@ -869,10 +872,11 @@ void RxPacket(void)
                        {\r
                                tmpbuf_len = datalen-4-4-4-2-4;\r
                                tmpbuf_rx_timestamp = msg_timestamp;\r
-                               // if(history_timestamp != tmpbuf_rx_timestamp)\r
+                               if(history_timestamp != tmpbuf_rx_timestamp)\r
                                {\r
                                        history_timestamp = tmpbuf_rx_timestamp;\r
-                                       if(datalen == 0X24)\r
+                                       //if(datalen == 0X24)\r
+                                       if(datalen == 48)\r
                                                update_flag++;\r
                                        else\r
                                                update_flag1++;\r
index fddc569..cabbde9 100644 (file)
@@ -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