LibDriver MULTI_BUTTON
Loading...
Searching...
No Matches
driver_multi_button_interface_template.c
Go to the documentation of this file.
1
36
37
#include "
driver_multi_button_interface.h
"
38
46
uint8_t
multi_button_interface_matrix_init
(
void
)
47
{
48
return
0;
49
}
50
58
uint8_t
multi_button_interface_matrix_deinit
(
void
)
59
{
60
return
0;
61
}
62
72
uint8_t
multi_button_interface_matrix_write_row
(uint16_t num, uint8_t level)
73
{
74
return
0;
75
}
76
85
uint8_t
multi_button_interface_matrix_read_row
(uint32_t *col_array)
86
{
87
return
0;
88
}
89
98
uint8_t
multi_button_interface_timestamp_read
(
multi_button_time_t
*t)
99
{
100
return
0;
101
}
102
108
void
multi_button_interface_delay_ms
(uint32_t ms)
109
{
110
111
}
112
118
void
multi_button_interface_debug_print
(
const
char
*
const
fmt, ...)
119
{
120
121
}
122
130
void
multi_button_interface_receive_callback
(uint16_t row, uint16_t col,
multi_button_t
*data)
131
{
132
switch
(data->
status
)
133
{
134
case
MULTI_BUTTON_STATUS_PRESS
:
135
{
136
break
;
137
}
138
case
MULTI_BUTTON_STATUS_RELEASE
:
139
{
140
break
;
141
}
142
case
MULTI_BUTTON_STATUS_SINGLE_CLICK
:
143
{
144
multi_button_interface_debug_print
(
"multi_button: row %d col %d irq single click.\n"
, row, col);
145
146
break
;
147
}
148
case
MULTI_BUTTON_STATUS_DOUBLE_CLICK
:
149
{
150
multi_button_interface_debug_print
(
"multi_button: row %d col %d irq double click.\n"
, row, col);
151
152
break
;
153
}
154
case
MULTI_BUTTON_STATUS_TRIPLE_CLICK
:
155
{
156
multi_button_interface_debug_print
(
"multi_button: row %d col %d irq triple click.\n"
, row, col);
157
158
break
;
159
}
160
case
MULTI_BUTTON_STATUS_REPEAT_CLICK
:
161
{
162
multi_button_interface_debug_print
(
"multi_button: row %d col %d irq repeat click with %d times.\n"
, row, col, data->
times
);
163
164
break
;
165
}
166
case
MULTI_BUTTON_STATUS_SHORT_PRESS_START
:
167
{
168
multi_button_interface_debug_print
(
"multi_button: row %d col %d irq short press start.\n"
, row, col);
169
170
break
;
171
}
172
case
MULTI_BUTTON_STATUS_SHORT_PRESS_END
:
173
{
174
multi_button_interface_debug_print
(
"multi_button: row %d col %d irq short press end.\n"
, row, col);
175
176
break
;
177
}
178
case
MULTI_BUTTON_STATUS_LONG_PRESS_START
:
179
{
180
multi_button_interface_debug_print
(
"multi_button: row %d col %d irq long press start.\n"
, row, col);
181
182
break
;
183
}
184
case
MULTI_BUTTON_STATUS_LONG_PRESS_HOLD
:
185
{
186
multi_button_interface_debug_print
(
"multi_button: row %d col %d irq long press hold.\n"
, row, col);
187
188
break
;
189
}
190
case
MULTI_BUTTON_STATUS_LONG_PRESS_END
:
191
{
192
multi_button_interface_debug_print
(
"multi_button: row %d col %d irq long press end.\n"
, row, col);
193
194
break
;
195
}
196
default :
197
{
198
multi_button_interface_debug_print
(
"multi_button: row %d col %d irq unknown status.\n"
, row, col);
199
200
break
;
201
}
202
}
203
}
driver_multi_button_interface.h
driver multi_button interface header file
multi_button_time_t
struct multi_button_time_s multi_button_time_t
multi_button time structure definition
multi_button_t
struct multi_button_s multi_button_t
multi_button structure definition
MULTI_BUTTON_STATUS_SHORT_PRESS_END
@ MULTI_BUTTON_STATUS_SHORT_PRESS_END
Definition
driver_multi_button.h:92
MULTI_BUTTON_STATUS_REPEAT_CLICK
@ MULTI_BUTTON_STATUS_REPEAT_CLICK
Definition
driver_multi_button.h:90
MULTI_BUTTON_STATUS_DOUBLE_CLICK
@ MULTI_BUTTON_STATUS_DOUBLE_CLICK
Definition
driver_multi_button.h:88
MULTI_BUTTON_STATUS_LONG_PRESS_END
@ MULTI_BUTTON_STATUS_LONG_PRESS_END
Definition
driver_multi_button.h:95
MULTI_BUTTON_STATUS_SINGLE_CLICK
@ MULTI_BUTTON_STATUS_SINGLE_CLICK
Definition
driver_multi_button.h:87
MULTI_BUTTON_STATUS_LONG_PRESS_HOLD
@ MULTI_BUTTON_STATUS_LONG_PRESS_HOLD
Definition
driver_multi_button.h:94
MULTI_BUTTON_STATUS_TRIPLE_CLICK
@ MULTI_BUTTON_STATUS_TRIPLE_CLICK
Definition
driver_multi_button.h:89
MULTI_BUTTON_STATUS_PRESS
@ MULTI_BUTTON_STATUS_PRESS
Definition
driver_multi_button.h:85
MULTI_BUTTON_STATUS_SHORT_PRESS_START
@ MULTI_BUTTON_STATUS_SHORT_PRESS_START
Definition
driver_multi_button.h:91
MULTI_BUTTON_STATUS_RELEASE
@ MULTI_BUTTON_STATUS_RELEASE
Definition
driver_multi_button.h:86
MULTI_BUTTON_STATUS_LONG_PRESS_START
@ MULTI_BUTTON_STATUS_LONG_PRESS_START
Definition
driver_multi_button.h:93
multi_button_interface_matrix_init
uint8_t multi_button_interface_matrix_init(void)
interface matrix init
Definition
driver_multi_button_interface_template.c:46
multi_button_interface_matrix_write_row
uint8_t multi_button_interface_matrix_write_row(uint16_t num, uint8_t level)
interface matrix write row
Definition
driver_multi_button_interface_template.c:72
multi_button_interface_receive_callback
void multi_button_interface_receive_callback(uint16_t row, uint16_t col, multi_button_t *data)
interface receive callback
Definition
driver_multi_button_interface_template.c:130
multi_button_interface_debug_print
void multi_button_interface_debug_print(const char *const fmt,...)
interface print format data
Definition
driver_multi_button_interface_template.c:118
multi_button_interface_timestamp_read
uint8_t multi_button_interface_timestamp_read(multi_button_time_t *t)
interface timestamp read
Definition
driver_multi_button_interface_template.c:98
multi_button_interface_matrix_read_row
uint8_t multi_button_interface_matrix_read_row(uint32_t *col_array)
interface matrix read row
Definition
driver_multi_button_interface_template.c:85
multi_button_interface_delay_ms
void multi_button_interface_delay_ms(uint32_t ms)
interface delay ms
Definition
driver_multi_button_interface_template.c:108
multi_button_interface_matrix_deinit
uint8_t multi_button_interface_matrix_deinit(void)
interface matrix deinit
Definition
driver_multi_button_interface_template.c:58
multi_button_s::status
uint16_t status
Definition
driver_multi_button.h:103
multi_button_s::times
uint16_t times
Definition
driver_multi_button.h:104
interface
driver_multi_button_interface_template.c
Generated by
1.15.0