Browse Source

update

Finny_test
zwsd 3 years ago
parent
commit
72c221c4ce
  1. 15
      main/app_main.cpp
  2. 16
      main/key.c
  3. 5
      main/key.h

15
main/app_main.cpp

@ -45,6 +45,18 @@ static void T_all_light_init(void)
T_wifi_state_light_init(&wifi_state_light_structer);
}
/* 有反应板的处理 */
void process_camera_identifies_successful_event(void) {}
/* 没有反应板的处理(加热) */
void process_camera_identifies_failed_event(void)
{
if (T_temp_get_data() <= 48.0)
{
T_heating_plate_start();
}
}
extern "C" void app_main(void)
{
T_debug_light_init();
@ -54,8 +66,7 @@ extern "C" void app_main(void)
T_key_init(&T_key_structer);
T_wifi_init();
T_temp_init();
T_key_registered_cb(camera_recognition_reaction_plate);
T_key_registered_cb(camera_recognition_reaction_plate, process_camera_identifies_successful_event, process_camera_identifies_failed_event);
T_wifi_registered_cb();
while (true)

16
main/key.c

@ -12,16 +12,20 @@
#include "key.h"
static T_key_structer_t *T_key_structer_s;
static key_cb callback_s;
static key_camera_cb camera_callback_s;
static key_event_cb successful_event_cb_s;
static key_event_cb failed_event_cb_s;
void T_key_init(T_key_structer_t *T_key_structer)
{
T_key_structer_s = T_key_structer;
}
void T_key_registered_cb(key_cb cb)
void T_key_registered_cb(key_camera_cb camera_cb, key_event_cb successful_event_cb, key_event_cb failed_event_cb)
{
callback_s = cb;
camera_callback_s = camera_cb;
successful_event_cb_s = successful_event_cb;
failed_event_cb_s = failed_event_cb;
}
void T_key_on_event(void)
@ -33,13 +37,13 @@ void T_key_schedule(void)
T_key_structer_s->key_now_state = T_key_get_level();
if ((T_key_structer_s->key_before_state != T_key_structer_s->key_now_state) && (T_key_structer_s->key_now_state == true))
{
if (callback_s())
if (camera_callback_s())
{
/* 有反应板的处理 */
successful_event_cb_s();
}
else
{
/* 没有反应板的处理(加热) */
failed_event_cb_s();
}
}
T_key_structer_s->key_before_state = T_key_structer_s->key_now_state;

5
main/key.h

@ -8,10 +8,11 @@ typedef struct
bool key_now_state;
} T_key_structer_t;
typedef bool (*key_cb)(void);
typedef bool (*key_camera_cb)(void);
typedef void (*key_event_cb)(void);
void T_key_init(T_key_structer_t *T_key_structer);
void T_key_registered_cb(key_cb cb);
void T_key_registered_cb(key_camera_cb camera_cb, key_event_cb successful_event_cb, key_event_cb failed_event_cb);
void T_key_on_event(void);
void T_key_schedule(void);
bool T_key_get_level(void);
Loading…
Cancel
Save