Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SDFileSystem USBHost_SAMPLE mbed
Fork of Production_ver1_0 by
main.cpp@0:e91bd159d16f, 2017-09-28 (annotated)
- Committer:
- Login10
- Date:
- Thu Sep 28 01:24:22 2017 +0000
- Revision:
- 0:e91bd159d16f
- Child:
- 2:c34453addfec
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 | } |
