public Test program for usbhostmsd looking at ridiculous resource usage

Dependencies:   test_USBHost mbed

Fork of USBHostMSD_HelloWorld by Samuel Mokrani

Committer:
sbts
Date:
Thu Mar 19 02:11:22 2015 +0000
Revision:
9:d86a5e08abcd
Parent:
4:f8a5c8aa895a
public Test program for usbhostmsd looking at ridiculous resource usage

Who changed what in which revision?

UserRevisionLine numberNew contents of line
samux 0:0d68fe822228 1 #include "mbed.h"
samux 0:0d68fe822228 2 #include "USBHostMSD.h"
sbts 9:d86a5e08abcd 3 #include "ramstats.h"
sbts 9:d86a5e08abcd 4
sbts 9:d86a5e08abcd 5 Serial pc(USBTX, USBRX); // tx, rx
samux 0:0d68fe822228 6
samux 0:0d68fe822228 7 DigitalOut led(LED1);
samux 0:0d68fe822228 8
samux 0:0d68fe822228 9 void msd_task(void const *) {
samux 0:0d68fe822228 10
samux 0:0d68fe822228 11 USBHostMSD msd("usb");
samux 0:0d68fe822228 12 int i = 0;
samux 0:0d68fe822228 13
samux 0:0d68fe822228 14 while(1) {
samux 0:0d68fe822228 15
samux 1:473f339c54c1 16 // try to connect a MSD device
samux 1:473f339c54c1 17 while(!msd.connect()) {
samux 1:473f339c54c1 18 Thread::wait(500);
samux 1:473f339c54c1 19 }
samux 1:473f339c54c1 20
samux 4:f8a5c8aa895a 21 // in a loop, append a file
samux 4:f8a5c8aa895a 22 // if the device is disconnected, we try to connect it again
samux 1:473f339c54c1 23 while(1) {
samux 1:473f339c54c1 24
samux 4:f8a5c8aa895a 25 // append a file
samux 1:473f339c54c1 26 FILE * fp = fopen("/usb/test1.txt", "a");
samux 1:473f339c54c1 27
samux 1:473f339c54c1 28 if (fp != NULL) {
samux 1:473f339c54c1 29 fprintf(fp, "Hello fun SD Card World: %d!\r\n", i++);
samux 1:473f339c54c1 30 printf("Goodbye World!\r\n");
samux 1:473f339c54c1 31 fclose(fp);
samux 1:473f339c54c1 32 } else {
samux 1:473f339c54c1 33 printf("FILE == NULL\r\n");
samux 1:473f339c54c1 34 }
samux 1:473f339c54c1 35
samux 0:0d68fe822228 36 Thread::wait(500);
samux 0:0d68fe822228 37
samux 1:473f339c54c1 38 // if device disconnected, try to connect again
samux 1:473f339c54c1 39 if (!msd.connected())
samux 1:473f339c54c1 40 break;
sbts 9:d86a5e08abcd 41 break;}
samux 1:473f339c54c1 42
sbts 9:d86a5e08abcd 43 break;}
sbts 9:d86a5e08abcd 44 DisplayRAMBanks("\r\nmsd thread:\r\n");
samux 0:0d68fe822228 45 }
samux 0:0d68fe822228 46
samux 0:0d68fe822228 47
samux 0:0d68fe822228 48 int main() {
sbts 9:d86a5e08abcd 49 pc.baud(115200);
samux 2:3e3df7a79050 50 Thread msdTask(msd_task, NULL, osPriorityNormal, 1024 * 4);
sbts 9:d86a5e08abcd 51 DisplayRAMBanks("\r\nmain thread:\r\n");
samux 0:0d68fe822228 52 while(1) {
samux 0:0d68fe822228 53 led=!led;
samux 0:0d68fe822228 54 Thread::wait(500);
samux 0:0d68fe822228 55 }
samux 0:0d68fe822228 56 }