t
Dependencies: SDFileSystem USBHost_SAMPLE mbed
Fork of USBHost_TEST by
main.cpp@3:df84dd8c122c, 2017-11-16 (annotated)
- Committer:
- USER10
- Date:
- Thu Nov 16 00:20:03 2017 +0000
- Revision:
- 3:df84dd8c122c
- Parent:
- 2:c34453addfec
- Child:
- 4:418f1273cf02
Host Program;
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 | |
USER10 | 3:df84dd8c122c | 9 | Serial pc2(p13, p14);//tx1, rx1 |
USER10 | 3:df84dd8c122c | 10 | |
Login10 | 0:e91bd159d16f | 11 | void onKey(uint8_t key) { |
USER10 | 3:df84dd8c122c | 12 | pc2.printf("%c", key); |
Login10 | 0:e91bd159d16f | 13 | |
SampleProgram | 2:c34453addfec | 14 | ++i; |
Login10 | 0:e91bd159d16f | 15 | FILE *fp; |
USER10 | 3:df84dd8c122c | 16 | fp = fopen("/sd/keylog/log.csv", "a"); |
USER10 | 3:df84dd8c122c | 17 | fprintf(fp, "Key[%d], :,0x%x,:,%c\r\n", i, key, key); |
Login10 | 0:e91bd159d16f | 18 | fclose(fp); |
SampleProgram | 2:c34453addfec | 19 | |
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; |
USER10 | 3:df84dd8c122c | 43 | fp = fopen("/sd/keylog/log.csv","w"); |
Login10 | 0:e91bd159d16f | 44 | fclose(fp); |
Login10 | 0:e91bd159d16f | 45 | |
Login10 | 0:e91bd159d16f | 46 | Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 256 * 4); |
SampleProgram | 2:c34453addfec | 47 | while(1) { |
Login10 | 0:e91bd159d16f | 48 | led=!led; |
Login10 | 0:e91bd159d16f | 49 | Thread::wait(500); |
Login10 | 0:e91bd159d16f | 50 | } |
Login10 | 0:e91bd159d16f | 51 | } |