LibDriver MULTI_BUTTON
Loading...
Searching...
No Matches
driver_multi_button_basic.c
Go to the documentation of this file.
1
36
38
39static multi_button_handle_t gs_handle;
40
51uint8_t multi_button_basic_init(uint8_t row, uint8_t col, void (*callback)(uint16_t row, uint16_t col, multi_button_t *data))
52{
53 uint8_t res;
54
55 /* link interface function */
65
66 /* init */
67 res = multi_button_init(&gs_handle, row, col);
68 if (res != 0)
69 {
70 multi_button_interface_debug_print("multi_button: init failed.\n");
71
72 return 1;
73 }
74
75 /* set default timeout */
77 if (res != 0)
78 {
79 multi_button_interface_debug_print("multi_button: set timeout failed.\n");
80 (void)multi_button_deinit(&gs_handle);
81
82 return 1;
83 }
84
85 /* set default interval */
87 if (res != 0)
88 {
89 multi_button_interface_debug_print("multi_button: set interval failed.\n");
90 (void)multi_button_deinit(&gs_handle);
91
92 return 1;
93 }
94
95 /* set default short time */
97 if (res != 0)
98 {
99 multi_button_interface_debug_print("multi_button: set short time failed.\n");
100 (void)multi_button_deinit(&gs_handle);
101
102 return 1;
103 }
104
105 /* set default long time */
107 if (res != 0)
108 {
109 multi_button_interface_debug_print("multi_button: set long time failed.\n");
110 (void)multi_button_deinit(&gs_handle);
111
112 return 1;
113 }
114
115 /* set default repeat time */
117 if (res != 0)
118 {
119 multi_button_interface_debug_print("multi_button: set repeat time failed.\n");
120 (void)multi_button_deinit(&gs_handle);
121
122 return 1;
123 }
124
125 /* set default repeat cnt */
127 if (res != 0)
128 {
129 multi_button_interface_debug_print("multi_button: set repeat cnt failed.\n");
130 (void)multi_button_deinit(&gs_handle);
131
132 return 1;
133 }
134
135 /* set default set period */
137 if (res != 0)
138 {
139 multi_button_interface_debug_print("multi_button: set period failed.\n");
140 (void)multi_button_deinit(&gs_handle);
141
142 return 1;
143 }
144
145 return 0;
146}
147
156{
157 if (multi_button_deinit(&gs_handle) != 0)
158 {
159 return 1;
160 }
161
162 return 0;
163}
164
170{
171 /* process */
172 (void)multi_button_process(&gs_handle);
173}
driver multi_button basic header file
uint8_t multi_button_init(multi_button_handle_t *handle, uint8_t row, uint8_t col)
initialize the chip
uint8_t multi_button_process(multi_button_handle_t *handle)
process
uint8_t multi_button_deinit(multi_button_handle_t *handle)
close the chip
struct multi_button_handle_s multi_button_handle_t
multi_button handle structure definition
uint8_t multi_button_set_short_time(multi_button_handle_t *handle, uint32_t us)
set short time
uint8_t multi_button_set_long_time(multi_button_handle_t *handle, uint32_t us)
set long time
uint8_t multi_button_set_repeat_time(multi_button_handle_t *handle, uint32_t us)
set repeat time
uint8_t multi_button_set_repeat_cnt(multi_button_handle_t *handle, uint32_t cnt)
set repeat cnt
uint8_t multi_button_set_period(multi_button_handle_t *handle, uint32_t period)
set period
struct multi_button_s multi_button_t
multi_button structure definition
uint8_t multi_button_set_timeout(multi_button_handle_t *handle, uint32_t us)
set timeout
uint8_t multi_button_set_interval(multi_button_handle_t *handle, uint32_t us)
set interval
#define MULTI_BUTTON_BASIC_DEFAULT_PERIOD
#define MULTI_BUTTON_BASIC_DEFAULT_LONG_TIME
void multi_button_basic_process(void)
basic example process
uint8_t multi_button_basic_deinit(void)
basic example deinit
#define MULTI_BUTTON_BASIC_DEFAULT_REPEAT_TIME
#define MULTI_BUTTON_BASIC_DEFAULT_REPEAT_CNT
#define MULTI_BUTTON_BASIC_DEFAULT_SHORT_TIME
#define MULTI_BUTTON_BASIC_DEFAULT_TIMEOUT
multi_button basic example default definition
uint8_t multi_button_basic_init(uint8_t row, uint8_t col, void(*callback)(uint16_t row, uint16_t col, multi_button_t *data))
basic example init
#define MULTI_BUTTON_BASIC_DEFAULT_INTERVAL
uint8_t multi_button_interface_matrix_init(void)
interface matrix init
uint8_t multi_button_interface_matrix_write_row(uint16_t num, uint8_t level)
interface matrix write row
void multi_button_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t multi_button_interface_timestamp_read(multi_button_time_t *t)
interface timestamp read
uint8_t multi_button_interface_matrix_read_row(uint32_t *col_array)
interface matrix read row
void multi_button_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t multi_button_interface_matrix_deinit(void)
interface matrix deinit