You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
2.2 KiB

3 years ago
  1. // #pragma once
  2. // #include "port.h"
  3. // #include "ozone_work.h"
  4. // #include "pwm.h"
  5. // #define POWER_KEY_TRIGGER_TIME 3000
  6. // #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
  7. // #define ZKEY_INIT(_name, _get_key_state) \
  8. // { .name = _name, .get_key_state = _get_key_state }
  9. // #define ZMODULE_INIT(_keys, _onkey) /**/ \
  10. // { /**/ \
  11. // .keys = _keys, /**/ \
  12. // .nkey = ARRAY_SIZE(_keys), /**/ \
  13. // .onkey = _onkey /**/ \
  14. // }
  15. // typedef enum {
  16. // // mode1
  17. // zks_keep,
  18. // zks_rising_edge, //�����ذ������´�0-1
  19. // zks_falling_edge, //�½��ذ���̧��1-0
  20. // // mode2
  21. // zks_trigger_event, //����
  22. // zks_longtime_trigger_event, //��ʱ�䴥��
  23. // } zkey_event_t;
  24. // typedef zkey_event_t zkey_state_t;
  25. // typedef bool (*get_key_state_t)(void);
  26. // typedef struct {
  27. // const char *name;
  28. // get_key_state_t get_key_state;
  29. // bool last_io_state;
  30. // zkey_state_t cur_state; //��ǰ��״̬
  31. // uint32_t keep_state_count; /*������ǰ״̬�����˶���*/
  32. // bool hasProcessed; /*useful for user*/
  33. // bool after_filter_state;
  34. // uint32_t currentstatekeep_count; //����ʹ��
  35. // bool last_real_state; //����ʹ��
  36. // } zkey_t;
  37. // static uint16_t s_key_press_state;
  38. // static uint16_t s_key_long_press_time_ms = 3000; //�����ж�ʱ��
  39. // #define KEY_SCAN_PERIOD 20 //ɨ������20ms
  40. // typedef struct {
  41. // zkey_t *keys;
  42. // int nkey;
  43. // void (*onkey)(zkey_t *key, zkey_state_t key_state);
  44. // } zkey_module_t;
  45. // static zkey_module_t *s_module;
  46. // static bool s_inited;
  47. // void zkey_init(zkey_module_t *module);
  48. // void zkey_do_loop_in_each_period(void *_null);
  49. // void zkey_process_each(zkey_t *each);
  50. // void zkey_process_each_after_filter(zkey_t *each, bool now_io_state);
  51. // void read_key_state(void);
  52. // void onkey(zkey_t *key, zkey_state_t key_state);
  53. // void port_key_state(void);