|
@ -1,27 +1,31 @@ |
|
|
/** |
|
|
/** |
|
|
* @file key.c |
|
|
* @file key.c |
|
|
* @author Finny (tianjialong0106@163.com) |
|
|
* @author Finny (tianjialong0106@163.com) |
|
|
* @brief |
|
|
|
|
|
|
|
|
* @brief |
|
|
* @version 0.1 |
|
|
* @version 0.1 |
|
|
* @date 2022-09-26 |
|
|
* @date 2022-09-26 |
|
|
* |
|
|
|
|
|
|
|
|
* |
|
|
* @copyright Copyright (c) 2022 |
|
|
* @copyright Copyright (c) 2022 |
|
|
* |
|
|
|
|
|
|
|
|
* |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
|
|
|
#include "key.h" |
|
|
#include "key.h" |
|
|
|
|
|
|
|
|
static T_key_structer_t *T_key_structer_s; |
|
|
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) |
|
|
void T_key_init(T_key_structer_t *T_key_structer) |
|
|
{ |
|
|
{ |
|
|
T_key_structer_s = 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) |
|
|
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(); |
|
|
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 ((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 |
|
|
else |
|
|
{ |
|
|
{ |
|
|
/* 没有反应板的处理(加热) */ |
|
|
|
|
|
|
|
|
failed_event_cb_s(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
T_key_structer_s->key_before_state = T_key_structer_s->key_now_state; |
|
|
T_key_structer_s->key_before_state = T_key_structer_s->key_now_state; |
|
|