t

Dependencies:   SDFileSystem USBHost_SAMPLE mbed

Fork of USBHost_TEST by USER PASS

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?

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