blob: 1df940aa9781045a922015ec3cc729a8ef066246 (
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#include "mbed.h"
#include "HIDKeyboard.h"
#include "debug.h"
#include "timer.h"
/*
//#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;
dprintf("HIDKeyboard:\r\n");
timer_init();
xprintf("timer: %i\r\n", timer_read());
report_keyboard_t report = { 2, 0, 4, }; //a
report_keyboard_t report_off = { 0 };
bool last_isp = isp;
uint32_t last_timer;
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());
if (last_isp == isp) continue;
if (isp == 0) {
led_red = 0; // on
xprintf("timer: %i\r\n", timer_read32());
xprintf("diff: %i\r\n", timer_elapsed32(last_timer));
//keyboard.sendReport(report);
} else {
led_red = 1; // off
//keyboard.sendReport(report_off);
}
last_isp = isp;
last_timer = timer_read();
//led_green = !led_green;
//wait(0.5);
}
}
|