From bc2cfdf0bc8abf83c24725a98ac7ca2072326cb0 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 12 Oct 2023 20:27:46 +0800 Subject: [PATCH] update --- chip/chip.cpp | 11 +++++++++++ chip/chip.hpp | 1 + 2 files changed, 12 insertions(+) diff --git a/chip/chip.cpp b/chip/chip.cpp index c3231de..7ca203b 100644 --- a/chip/chip.cpp +++ b/chip/chip.cpp @@ -4,6 +4,9 @@ extern "C" { static iflytop::ZGPIO g_debuglight; static Pin_t g_debuglight_pin = PinNull; +static bool g_error_state = false; + +void chip_set_error() { g_error_state = true; } void chip_init(chip_cfg_t *cfg) { g_debuglight_pin = cfg->debuglight; @@ -23,10 +26,18 @@ void chip_init(chip_cfg_t *cfg) { iflytop::ChipTimIrqShceduler::instance().regPeriodJob( [](iflytop::ChipTimIrqShceduler::Job *job) { + if (g_error_state) return; if (g_debuglight_pin == PinNull) return; g_debuglight.toggleState(); }, 300); + iflytop::ChipTimIrqShceduler::instance().regPeriodJob( + [](iflytop::ChipTimIrqShceduler::Job *job) { + if (!g_error_state) return; + if (g_debuglight_pin == PinNull) return; + g_debuglight.toggleState(); + }, + 50); ZEARLY_LOGI("SYS", "chip init ok"); ZEARLY_LOGI("SYS", "= manufacturer : %s", MANUFACTURER); diff --git a/chip/chip.hpp b/chip/chip.hpp index 1f4f3af..8228137 100644 --- a/chip/chip.hpp +++ b/chip/chip.hpp @@ -17,4 +17,5 @@ typedef struct { } chip_cfg_t; void chip_init(chip_cfg_t *cfg); +void chip_set_error(); } \ No newline at end of file