1
0
tmk_keyboard/keyboard/mbed_onekey/main.cpp

67 lines
1.6 KiB
C++
Raw Normal View History

2014-06-15 04:56:17 +00:00
#include "mbed.h"
#include "HIDKeyboard.h"
#include "debug.h"
2014-06-16 02:12:45 +00:00
#include "timer.h"
2014-06-15 04:56:17 +00:00
/*
//#define DEBUG
#ifdef DEBUG
Serial ser(UART_TX, UART_RX);
#define dprintf(fmt, ...) ser.printf(fmt, ## __VA_ARGS__)
#else
#define dprintf(fmt, ...)
#endif
*/
// button and LEDs
DigitalIn isp(P0_1);
DigitalOut led_red(P0_20);
DigitalOut led_green(P0_21);
//USBKeyboard
HIDKeyboard keyboard;
int main(void) {
//isp.mode(PullUp);
//led_red = 0;
//led_green = 0;
debug_enable = true;
2014-06-16 02:12:45 +00:00
dprintf("HIDKeyboard:\r\n");
timer_init();
xprintf("timer: %i\r\n", timer_read());
2014-06-15 04:56:17 +00:00
report_keyboard_t report = { 2, 0, 4, }; //a
report_keyboard_t report_off = { 0 };
2014-06-16 02:12:45 +00:00
bool last_isp = isp;
uint32_t last_timer;
2014-06-15 04:56:17 +00:00
while (1) {
//keyboard.mediaControl(KEY_VOLUME_DOWN);
//keyboard.printf("Hello World from Mbed\r\n");
//keyboard.keyCode('s', KEY_CTRL);
//keyboard.keyCode(KEY_CAPS_LOCK);
//led_green = !led_green;
//leds = keyboard.lockStatus();
//ser.putc(ser.getc());
2014-06-16 02:12:45 +00:00
if (last_isp == isp) continue;
2014-06-15 04:56:17 +00:00
if (isp == 0) {
led_red = 0; // on
2014-06-16 02:12:45 +00:00
xprintf("timer: %i\r\n", timer_read32());
xprintf("diff: %i\r\n", timer_elapsed32(last_timer));
//keyboard.sendReport(report);
2014-06-15 04:56:17 +00:00
} else {
led_red = 1; // off
2014-06-16 02:12:45 +00:00
//keyboard.sendReport(report_off);
2014-06-15 04:56:17 +00:00
}
2014-06-16 02:12:45 +00:00
last_isp = isp;
last_timer = timer_read();
//led_green = !led_green;
2014-06-15 04:56:17 +00:00
//wait(0.5);
}
}