aboutsummaryrefslogtreecommitdiff
path: root/keyboard/infinity/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/infinity/main.cpp')
-rw-r--r--keyboard/infinity/main.cpp38
1 files changed, 31 insertions, 7 deletions
diff --git a/keyboard/infinity/main.cpp b/keyboard/infinity/main.cpp
index f28840d3e..847668a1d 100644
--- a/keyboard/infinity/main.cpp
+++ b/keyboard/infinity/main.cpp
@@ -1,20 +1,44 @@
1//#include "mbed.h"
2#include "MK20D5.h" 1#include "MK20D5.h"
3#include "wait.h" 2#include "wait.h"
4#include "gpio_api.h" 3#include "gpio_api.h"
5#include "PinNames.h" 4#include "PinNames.h"
5#include "matrix.h"
6#include "timer.h"
7
8#include "action.h"
9#include "keycode.h"
10#include "host.h"
11#include "host_driver.h"
12#include "mbed_driver.h"
6 13
7 14
8int main() { 15int main() {
9 gpio_t led; 16 gpio_t led;
10 gpio_init_out(&led, PTA19); 17 gpio_init_out(&led, PTA19);
18
19 uint16_t t = 0;
20
21 host_set_driver(&mbed_driver);
22 keyboard_init();
23
11 while(1) { 24 while(1) {
12 wait_ms(500); 25 keyboard_task();
13 uint32_t delay = 0xf; 26
14 while (delay--) { 27 bool matrix_on = false;
15 uint32_t delay2 = 0xffff; 28 matrix_scan();
16 while (delay2--) ; 29 for (int i = 0; i < MATRIX_ROWS; i++) {
30 if (matrix_get_row(i)) {
31 matrix_on = true;
32 break;
33 }
34 }
35 if (matrix_on)
36 gpio_write(&led, 1);
37 else {
38 if (timer_elapsed(t) > 500) {
39 gpio_write(&led, !gpio_read(&led));
40 t = timer_read();
41 }
17 } 42 }
18 gpio_write(&led, !gpio_read(&led));
19 } 43 }
20} 44}