t
Dependencies: SDFileSystem USBHost_SAMPLE mbed
Fork of USBHost_TEST by
main.cpp@2:c34453addfec, 2017-11-07 (annotated)
- Committer:
- SampleProgram
- Date:
- Tue Nov 07 00:25:56 2017 +0000
- Revision:
- 2:c34453addfec
- Parent:
- 0:e91bd159d16f
- Child:
- 3:df84dd8c122c
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 | void onKey(uint8_t key) { |
SampleProgram | 2:c34453addfec | 10 | printf("Key: 0x%x : %c\r\n", key, key); |
Login10 | 0:e91bd159d16f | 11 | |
SampleProgram | 2:c34453addfec | 12 | ++i; |
Login10 | 0:e91bd159d16f | 13 | FILE *fp; |
SampleProgram | 2:c34453addfec | 14 | fp = fopen("/sd/keylog/keylog.csv", "a"); |
SampleProgram | 2:c34453addfec | 15 | fprintf(fp, "Keydata[%d], :,0x%x,:,%c\r\n", i, key, key); |
Login10 | 0:e91bd159d16f | 16 | fclose(fp); |
SampleProgram | 2:c34453addfec | 17 | |
Login10 | 0:e91bd159d16f | 18 | } |
Login10 | 0:e91bd159d16f | 19 | |
Login10 | 0:e91bd159d16f | 20 | void keyboard_task(void const *) { |
Login10 | 0:e91bd159d16f | 21 | |
Login10 | 0:e91bd159d16f | 22 | USBHostKeyboard keyboard; |
Login10 | 0:e91bd159d16f | 23 | |
Login10 | 0:e91bd159d16f | 24 | while(1) { |
Login10 | 0:e91bd159d16f | 25 | // try to connect a USB keyboard |
Login10 | 0:e91bd159d16f | 26 | while(!keyboard.connect()) |
Login10 | 0:e91bd159d16f | 27 | Thread::wait(500); |
Login10 | 0:e91bd159d16f | 28 | |
Login10 | 0:e91bd159d16f | 29 | // when connected, attach handler called on keyboard event |
Login10 | 0:e91bd159d16f | 30 | keyboard.attach(onKey); |
Login10 | 0:e91bd159d16f | 31 | |
Login10 | 0:e91bd159d16f | 32 | // wait until the keyboard is disconnected |
Login10 | 0:e91bd159d16f | 33 | while(keyboard.connected()) |
Login10 | 0:e91bd159d16f | 34 | Thread::wait(500); |
Login10 | 0:e91bd159d16f | 35 | } |
Login10 | 0:e91bd159d16f | 36 | } |
Login10 | 0:e91bd159d16f | 37 | |
Login10 | 0:e91bd159d16f | 38 | int main() { |
Login10 | 0:e91bd159d16f | 39 | mkdir("/sd/keylog", 0777); |
Login10 | 0:e91bd159d16f | 40 | FILE *fp; |
SampleProgram | 2:c34453addfec | 41 | fp = fopen("/sd/keylog/keylog.csv","w"); |
Login10 | 0:e91bd159d16f | 42 | fclose(fp); |
Login10 | 0:e91bd159d16f | 43 | |
Login10 | 0:e91bd159d16f | 44 | Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 256 * 4); |
SampleProgram | 2:c34453addfec | 45 | while(1) { |
Login10 | 0:e91bd159d16f | 46 | led=!led; |
Login10 | 0:e91bd159d16f | 47 | Thread::wait(500); |
Login10 | 0:e91bd159d16f | 48 | } |
Login10 | 0:e91bd159d16f | 49 | } |