From fd0eff307bc092d3fe9d5a4fa70a93dc000a8c9f Mon Sep 17 00:00:00 2001 From: zwsd Date: Wed, 24 Aug 2022 17:27:46 +0800 Subject: [PATCH] update --- APP/main.c | 24 +++++++++++++++++++++--- APP/this_device.h | 14 +++++++++++++- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/APP/main.c b/APP/main.c index ec42415..32ca670 100644 --- a/APP/main.c +++ b/APP/main.c @@ -14,7 +14,7 @@ static key_t s_keys[] = { s_key_init("intervalkey", port_gpio_get_interval_key_state), }; -static ThisDevice_t this_device = {.power = false}; +static ThisDevice_t this_device; static void mf_init_all_subdevice_state() { port_debug_set(false); @@ -28,14 +28,23 @@ static void mf_init_all_subdevice_state() { port_led_b_set(false); } +//开始工作 +static void startwork() { port_fan_set(true); } +//停止工作 +static void stopwork() { port_fan_set(false); } + static void poweron() { this_device.power = true; - port_fan_set(true); + this_device.ozone_level = level_low; + this_device.ozone_module = normal; + startwork(); + return; } static void powerdown() { this_device.power = false; - port_fan_set(false); + stopwork(); + return; } @@ -52,14 +61,23 @@ static void mf_process_poweron_key(key_t *key) { return; } static void mf_process_level_key(key_t *key) { + if (!this_device.power) { + return; + } printf("key name:%s\n", key->name); return; } static void mf_process_timer_key(key_t *key) { + if (!this_device.power) { + return; + } printf("key name:%s\n", key->name); return; } static void mf_process_interval_key(key_t *key) { + if (!this_device.power) { + return; + } printf("key name:%s\n", key->name); return; } diff --git a/APP/this_device.h b/APP/this_device.h index cb4a9b4..6a7f68f 100644 --- a/APP/this_device.h +++ b/APP/this_device.h @@ -2,7 +2,19 @@ #include #include +typedef enum { + level_low, + level_high, +} ozone_level_t; + +typedef enum { + normal, + timingMode, + intermittentMode, +} ozone_module_t; + typedef struct { - /* data */ bool power; + ozone_level_t ozone_level; + ozone_module_t ozone_module; } ThisDevice_t;