diff options
author | Jun Wako <wakojun@gmail.com> | 2015-01-04 17:03:47 +0900 |
---|---|---|
committer | Jun Wako <wakojun@gmail.com> | 2015-01-04 17:21:43 +0900 |
commit | d0fefb76f8a1430c749e67bc72b4dba00c7143c9 (patch) | |
tree | 2cf2fe560e83fef19c9a99adcc5d2b2300145bfc /keyboard/infinity/main.cpp | |
parent | c6e533ce83d6ae4393e6cdf1f6d39ffefc790115 (diff) |
infinity: Add initial files for keyboard support
Diffstat (limited to 'keyboard/infinity/main.cpp')
-rw-r--r-- | keyboard/infinity/main.cpp | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/keyboard/infinity/main.cpp b/keyboard/infinity/main.cpp index f28840d3ef..847668a1de 100644 --- a/keyboard/infinity/main.cpp +++ b/keyboard/infinity/main.cpp @@ -1,20 +1,44 @@ -//#include "mbed.h" #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) { - wait_ms(500); - uint32_t delay = 0xf; - while (delay--) { - uint32_t delay2 = 0xffff; - while (delay2--) ; + 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(); + } } - gpio_write(&led, !gpio_read(&led)); } } |