Comment already described
Dependencies: SDFileSystem USBHost_SAMPLE mbed
Fork of USBHost_Test5 by
main.cpp@0:15908ba91581, 2017-11-20 (annotated)
- Committer:
- USER10
- Date:
- Mon Nov 20 05:04:08 2017 +0000
- Revision:
- 0:15908ba91581
- Child:
- 1:923fec2da9d4
USBHost_Test;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
USER10 | 0:15908ba91581 | 1 | #include "mbed.h" |
USER10 | 0:15908ba91581 | 2 | #include "USBHostKeyboard.h" |
USER10 | 0:15908ba91581 | 3 | #include "SDFileSystem.h" |
USER10 | 0:15908ba91581 | 4 | |
USER10 | 0:15908ba91581 | 5 | DigitalOut led(LED1); |
USER10 | 0:15908ba91581 | 6 | int i=0; |
USER10 | 0:15908ba91581 | 7 | SDFileSystem sd(p5, p6, p7, p8, "sd"); |
USER10 | 0:15908ba91581 | 8 | |
USER10 | 0:15908ba91581 | 9 | Serial pc1(p13, p14);//tx1, rx1 |
USER10 | 0:15908ba91581 | 10 | |
USER10 | 0:15908ba91581 | 11 | void onKey(uint8_t key) { |
USER10 | 0:15908ba91581 | 12 | pc1.printf("%c", key); |
USER10 | 0:15908ba91581 | 13 | |
USER10 | 0:15908ba91581 | 14 | ++i; |
USER10 | 0:15908ba91581 | 15 | FILE *fp; |
USER10 | 0:15908ba91581 | 16 | fp = fopen("/sd/keylog/log.csv", "a"); |
USER10 | 0:15908ba91581 | 17 | fprintf(fp, "Key[%d], :,0x%x,:,%c\r\n", i, key, key); |
USER10 | 0:15908ba91581 | 18 | fclose(fp); |
USER10 | 0:15908ba91581 | 19 | } |
USER10 | 0:15908ba91581 | 20 | |
USER10 | 0:15908ba91581 | 21 | void keyboard_task(void const *) { |
USER10 | 0:15908ba91581 | 22 | |
USER10 | 0:15908ba91581 | 23 | USBHostKeyboard keyboard; |
USER10 | 0:15908ba91581 | 24 | |
USER10 | 0:15908ba91581 | 25 | while(1) { |
USER10 | 0:15908ba91581 | 26 | // try to connect a USB keyboard |
USER10 | 0:15908ba91581 | 27 | while(!keyboard.connect()) |
USER10 | 0:15908ba91581 | 28 | Thread::wait(500); |
USER10 | 0:15908ba91581 | 29 | |
USER10 | 0:15908ba91581 | 30 | // when connected, attach handler called on keyboard event |
USER10 | 0:15908ba91581 | 31 | keyboard.attach(onKey); |
USER10 | 0:15908ba91581 | 32 | |
USER10 | 0:15908ba91581 | 33 | // wait until the keyboard is disconnected |
USER10 | 0:15908ba91581 | 34 | while(keyboard.connected()) |
USER10 | 0:15908ba91581 | 35 | Thread::wait(500); |
USER10 | 0:15908ba91581 | 36 | } |
USER10 | 0:15908ba91581 | 37 | } |
USER10 | 0:15908ba91581 | 38 | |
USER10 | 0:15908ba91581 | 39 | int main() { |
USER10 | 0:15908ba91581 | 40 | mkdir("/sd/keylog", 0777); |
USER10 | 0:15908ba91581 | 41 | FILE *fp; |
USER10 | 0:15908ba91581 | 42 | fp = fopen("/sd/keylog/log.csv","w"); |
USER10 | 0:15908ba91581 | 43 | fclose(fp); |
USER10 | 0:15908ba91581 | 44 | |
USER10 | 0:15908ba91581 | 45 | Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 256 * 4); |
USER10 | 0:15908ba91581 | 46 | while(1) { |
USER10 | 0:15908ba91581 | 47 | led=!led; |
USER10 | 0:15908ba91581 | 48 | Thread::wait(500); |
USER10 | 0:15908ba91581 | 49 | } |
USER10 | 0:15908ba91581 | 50 | } |