t

Dependencies:   SDFileSystem USBHost_SAMPLE mbed

Fork of USBHost_TEST by USER PASS

Committer:
Login10
Date:
Thu Sep 28 01:24:22 2017 +0000
Revision:
0:e91bd159d16f
Child:
2:c34453addfec
test

Who changed what in which revision?

UserRevisionLine numberNew 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 }