blob: 847668a1dea11854b96cafaffcd02ee5ceeb6dad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#include "MK20D5.h"
#include "wait.h"
#include "gpio_api.h"
#include "PinNames.h"
#include "matrix.h"
#include "timer.h"
#include "action.h"
#include "keycode.h"
#include "host.h"
#include "host_driver.h"
#include "mbed_driver.h"
int main() {
gpio_t led;
gpio_init_out(&led, PTA19);
uint16_t t = 0;
host_set_driver(&mbed_driver);
keyboard_init();
while(1) {
keyboard_task();
bool matrix_on = false;
matrix_scan();
for (int i = 0; i < MATRIX_ROWS; i++) {
if (matrix_get_row(i)) {
matrix_on = true;
break;
}
}
if (matrix_on)
gpio_write(&led, 1);
else {
if (timer_elapsed(t) > 500) {
gpio_write(&led, !gpio_read(&led));
t = timer_read();
}
}
}
}
|