X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=keyboard%2Finfinity%2Fmain.cpp;h=847668a1dea11854b96cafaffcd02ee5ceeb6dad;hb=47775af20671e347e7e5545f63b42a51f0a4df04;hp=f28840d3ef9ee25abc4d062929ef510ff7e15820;hpb=4acde45102cbf7b29f524c227bcd1c11aa83ebc0;p=max%2Ftmk_keyboard.git diff --git a/keyboard/infinity/main.cpp b/keyboard/infinity/main.cpp index f28840d3..847668a1 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)); } }