|
|
@ -14,6 +14,7 @@ namespace iflytop { |
|
|
|
using namespace std; |
|
|
|
#define TAG "muReCtrlerBindPage"
|
|
|
|
static bool m_scaning; |
|
|
|
static bool m_bindSuc; |
|
|
|
class muReCtrlerBindPage : public IPageProcesser { |
|
|
|
private: |
|
|
|
public: |
|
|
@ -21,16 +22,16 @@ class muReCtrlerBindPage : public IPageProcesser { |
|
|
|
|
|
|
|
virtual void initialize() override { |
|
|
|
IPageProcesser::initialize(); |
|
|
|
setText(ob_muReCtlerBind_bleCliName, "%s", ""); |
|
|
|
setText(ob_muReCtlerBind_bleCliName, "%s", DeviceSettingDao::get()->bleClientName); |
|
|
|
setText(ob_muReCtlerBind_bleEvent, "%s", ""); |
|
|
|
setText(ob_muReCtlerBind_infoWin, "%s", ""); |
|
|
|
setText(ob_muReCtlerBind_infoWin, "%s", "请点击扫描手柄,进行绑定"); |
|
|
|
|
|
|
|
RCTRL->regOnReport([this](uint8_t* rx, int32_t len) { |
|
|
|
zble_proto_packet_t* packet = (zble_proto_packet_t*)rx; |
|
|
|
if (UIS->getNowPage() != thisPage) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (packet->cmd == kzble_app_report_key_event) { |
|
|
|
int32_t keyEvent = *(int32_t*)packet->data; |
|
|
|
if (keyEvent == hand_acid_remoter_kevent_add_liquid) { |
|
|
@ -39,7 +40,7 @@ class muReCtrlerBindPage : public IPageProcesser { |
|
|
|
if (keyEvent == hand_acid_remoter_kevent_change_next_mode) { |
|
|
|
setText(ob_muReCtlerBind_bleEvent, "模式切换"); |
|
|
|
} |
|
|
|
if (keyEvent == hand_acid_remoter_kevent_reflux) { |
|
|
|
if (keyEvent == hand_acid_remoter_kevent_reflux) { //连按两次为回流事件I
|
|
|
|
setText(ob_muReCtlerBind_bleEvent, "液路回流"); |
|
|
|
} |
|
|
|
if (keyEvent == hand_acid_remoter_kevent_preFilling) { |
|
|
@ -54,8 +55,14 @@ class muReCtrlerBindPage : public IPageProcesser { |
|
|
|
virtual void onPageLoad(OnPageLoadContext* cxt) override { return; }; |
|
|
|
virtual void onBackKey() override { |
|
|
|
if (m_scaning) { |
|
|
|
RCTRL->startScan("XXXXXXXXX", false); // 相当于停止扫描
|
|
|
|
RCTRL->stopScan(); // 相当于停止扫描
|
|
|
|
m_scaning = false; |
|
|
|
} |
|
|
|
|
|
|
|
if (m_bindSuc) { |
|
|
|
RCTRL->startScan(DeviceSettingDao::get()->bleClientName, true); |
|
|
|
} |
|
|
|
|
|
|
|
UIControler::ins()->chpage(pg_navi, true); |
|
|
|
}; |
|
|
|
|
|
|
@ -63,16 +70,32 @@ class muReCtrlerBindPage : public IPageProcesser { |
|
|
|
virtual void onClickRelease(uint8_t bid, uint8_t val, const char* text) override { |
|
|
|
if (bid == ob_muReCtlerBind_scan) { |
|
|
|
ZLOGI(TAG, "bleScan"); |
|
|
|
bool suc = RCTRL->startScan(BLENAME, true); |
|
|
|
bool suc = false; |
|
|
|
for (size_t i = 0; i < 3; i++) { |
|
|
|
if (suc) break; |
|
|
|
suc = RCTRL->startScan(BLENAME, true); |
|
|
|
} |
|
|
|
|
|
|
|
if (suc) { |
|
|
|
setText(ob_muReCtlerBind_infoWin, "%s", "扫描中..."); |
|
|
|
setText(ob_muReCtlerBind_bleCliName, "%s", ""); |
|
|
|
m_scaning = true; |
|
|
|
} else { |
|
|
|
setText(ob_muReCtlerBind_infoWin, "%s", "扫描失败"); |
|
|
|
m_scaning = false; |
|
|
|
} |
|
|
|
m_scaning = true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
virtual void onAppEvent(AppEvent_t* event) override { |
|
|
|
if (!m_scaning) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (thisPage != UIS->getNowPage()) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (event->type == kAE_RemoterConnectedEvent) { |
|
|
|
ZLOGI(TAG, "ble connect success"); |
|
|
|
setText(ob_muReCtlerBind_infoWin, "%s", "扫描到设备"); |
|
|
|