test
Dependencies: SDFileSystem USBHost_SAMPLE mbed
main.cpp@1:16b9397301c6, 2017-09-28 (annotated)
- Committer:
- Login10
- Date:
- Thu Sep 28 01:34:14 2017 +0000
- Revision:
- 1:16b9397301c6
- Parent:
- 0:e91bd159d16f
test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Login10 | 0:e91bd159d16f | 1 | #include "mbed.h" |
Login10 | 0:e91bd159d16f | 2 | #include "USBHostKeyboard.h" |
Login10 | 0:e91bd159d16f | 3 | #include "SDFileSystem.h" |
Login10 | 0:e91bd159d16f | 4 | |
Login10 | 0:e91bd159d16f | 5 | DigitalOut led(LED1); |
Login10 | 0:e91bd159d16f | 6 | SDFileSystem sd(p5, p6, p7, p8, "sd"); |
Login10 | 0:e91bd159d16f | 7 | int i=0; |
Login10 | 0:e91bd159d16f | 8 | |
Login10 | 0:e91bd159d16f | 9 | |
Login10 | 0:e91bd159d16f | 10 | void onKey(uint8_t key) { |
Login10 | 0:e91bd159d16f | 11 | printf("Key: %c\r\n", key); |
Login10 | 0:e91bd159d16f | 12 | char log[8]; |
Login10 | 0:e91bd159d16f | 13 | ++i; |
Login10 | 0:e91bd159d16f | 14 | |
Login10 | 0:e91bd159d16f | 15 | FILE *fp; |
Login10 | 0:e91bd159d16f | 16 | sprintf(log, "log%03d.csv", i); |
Login10 | 0:e91bd159d16f | 17 | fp = fopen("log", "a"); |
Login10 | 0:e91bd159d16f | 18 | fprintf(fp, "Keydata[%d],:,%c\r\n", i, key); |
Login10 | 0:e91bd159d16f | 19 | fclose(fp); |
Login10 | 0:e91bd159d16f | 20 | } |
Login10 | 0:e91bd159d16f | 21 | |
Login10 | 0:e91bd159d16f | 22 | void keyboard_task(void const *) { |
Login10 | 0:e91bd159d16f | 23 | |
Login10 | 0:e91bd159d16f | 24 | USBHostKeyboard keyboard; |
Login10 | 0:e91bd159d16f | 25 | |
Login10 | 0:e91bd159d16f | 26 | while(1) { |
Login10 | 0:e91bd159d16f | 27 | // try to connect a USB keyboard |
Login10 | 0:e91bd159d16f | 28 | while(!keyboard.connect()) |
Login10 | 0:e91bd159d16f | 29 | Thread::wait(500); |
Login10 | 0:e91bd159d16f | 30 | |
Login10 | 0:e91bd159d16f | 31 | // when connected, attach handler called on keyboard event |
Login10 | 0:e91bd159d16f | 32 | keyboard.attach(onKey); |
Login10 | 0:e91bd159d16f | 33 | |
Login10 | 0:e91bd159d16f | 34 | // wait until the keyboard is disconnected |
Login10 | 0:e91bd159d16f | 35 | while(keyboard.connected()) |
Login10 | 0:e91bd159d16f | 36 | Thread::wait(500); |
Login10 | 0:e91bd159d16f | 37 | } |
Login10 | 0:e91bd159d16f | 38 | } |
Login10 | 0:e91bd159d16f | 39 | |
Login10 | 0:e91bd159d16f | 40 | int main() { |
Login10 | 0:e91bd159d16f | 41 | mkdir("/sd/keylog", 0777); |
Login10 | 0:e91bd159d16f | 42 | FILE *fp; |
Login10 | 0:e91bd159d16f | 43 | fp = fopen("/sd/keylog/log.csv","w"); |
Login10 | 0:e91bd159d16f | 44 | fclose(fp); |
Login10 | 0:e91bd159d16f | 45 | |
Login10 | 0:e91bd159d16f | 46 | |
Login10 | 0:e91bd159d16f | 47 | Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 256 * 4); |
Login10 | 0:e91bd159d16f | 48 | |
Login10 | 0:e91bd159d16f | 49 | while(1) { |
Login10 | 0:e91bd159d16f | 50 | led=!led; |
Login10 | 0:e91bd159d16f | 51 | Thread::wait(500); |
Login10 | 0:e91bd159d16f | 52 | } |
Login10 | 0:e91bd159d16f | 53 | } |