diff --git a/features/unsupported/tests/usb/host/mass_storage/main.cpp b/features/unsupported/tests/usb/host/mass_storage/main.cpp new file mode 100644 index 0000000000..ae0d7bc49a --- /dev/null +++ b/features/unsupported/tests/usb/host/mass_storage/main.cpp @@ -0,0 +1,44 @@ +#include "mbed.h" +#include "USBHostMSD.h" +DigitalOut led(LED1); +void msd_task(void const *) { + printf("init msd\n"); + USBHostMSD msd("usb"); + int i = 0; + printf("wait for usb memory stick insertion\n"); + while(1) { + + // try to connect a MSD device + while(!msd.connect()) { + Thread::wait(500); + } + + // in a loop, append a file + // if the device is disconnected, we try to connect it again + + // append a file + FILE * fp = fopen("/usb/test1.txt", "a"); + + if (fp != NULL) { + fprintf(fp, "Hello fun SD Card World: %d!\r\n", i++); + printf("Goodbye World!\r\n"); + fclose(fp); + } else { + printf("FILE == NULL\r\n"); + } + Thread::wait(500); + printf("again\n"); + // if device disconnected, try to connect again + while (msd.connected()) { + Thread::wait(500); + } + } +} + +int main() { + Thread msdTask(msd_task, NULL, osPriorityNormal, 1024 * 4); + while(1) { + led=!led; + Thread::wait(500); + } +} diff --git a/tools/tests.py b/tools/tests.py index b9040ef48b..1feb7e8ac9 100644 --- a/tools/tests.py +++ b/tools/tests.py @@ -978,7 +978,8 @@ TESTS = [ "supported": CORTEX_ARM_SUPPORT, }, - # USB Tests + # USB Tests + # USB device test list { "id": "USB_1", "description": "Mouse", "source_dir": join(TEST_DIR, "usb", "device", "basic"), @@ -1019,6 +1020,12 @@ TESTS = [ "source_dir": join(TEST_DIR, "usb", "device", "audio_cb"), "dependencies": [MBED_LIBRARIES, USB_LIBRARIES], }, + # USB host test list + { + "id": "USB_10", "description": "MSD", + "source_dir": join(TEST_DIR, "usb", "host", "mass_storage"), + "dependencies": [MBED_LIBRARIES, USB_HOST_LIBRARIES, FAT_FS, RTOS], + }, # CMSIS DSP {