USBLocalFileSystem.lib testing program for LPC11U35

Dependencies:   BaseDAP SWD USBDAP USBLocalFileSystem mbed DA14580 SWSPI W25X40BV

USB memory + Writer for DA14580 BLE chip + CMSIS-DAP debugger + USB-UART functions in one chip

One button input loads your application into DA14580 or DA14580 included BLE modules

Quote:

Current compatible hardware description can be found at https://github.com/K4zuki/da14580/releases/tag/MurataBLEr04

Committer:
k4zuki
Date:
Mon Aug 17 19:20:25 2015 +0000
Revision:
0:eba731be11fb
Child:
1:484bd6db1378
initial forked version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
k4zuki 0:eba731be11fb 1 #include "mbed.h"
k4zuki 0:eba731be11fb 2 #include "USBLocalFileSystem.h"
k4zuki 0:eba731be11fb 3 #include "USBDAP.h"
k4zuki 0:eba731be11fb 4 #include "BaseDAP.h"
k4zuki 0:eba731be11fb 5 #include "USB_HID.h"
k4zuki 0:eba731be11fb 6
k4zuki 0:eba731be11fb 7 SWD swd(p25,p24,p23); // SWDIO,SWCLK,nRESET
k4zuki 0:eba731be11fb 8 DigitalOut connected(LED1);
k4zuki 0:eba731be11fb 9 DigitalOut running(LED2);
k4zuki 0:eba731be11fb 10
k4zuki 0:eba731be11fb 11 class myDAP : public BaseDAP
k4zuki 0:eba731be11fb 12 {
k4zuki 0:eba731be11fb 13 public:
k4zuki 0:eba731be11fb 14 myDAP(SWD* swd):BaseDAP(swd) {};
k4zuki 0:eba731be11fb 15 virtual void infoLED(int select, int value) {
k4zuki 0:eba731be11fb 16 switch(select) {
k4zuki 0:eba731be11fb 17 case 0:
k4zuki 0:eba731be11fb 18 connected = value^1;
k4zuki 0:eba731be11fb 19 running = 1;
k4zuki 0:eba731be11fb 20 break;
k4zuki 0:eba731be11fb 21 case 1:
k4zuki 0:eba731be11fb 22 running = value^1;
k4zuki 0:eba731be11fb 23 connected = 1;
k4zuki 0:eba731be11fb 24 break;
k4zuki 0:eba731be11fb 25 }
k4zuki 0:eba731be11fb 26 }
k4zuki 0:eba731be11fb 27 };
k4zuki 0:eba731be11fb 28
k4zuki 0:eba731be11fb 29 int main()
k4zuki 0:eba731be11fb 30 {
k4zuki 0:eba731be11fb 31 USBLocalFileSystem* usb_local = new USBLocalFileSystem(P0_9, P0_8, P0_10, P0_7,"local"); // RamDisk(64KB)
k4zuki 0:eba731be11fb 32 myDAP* dap = new myDAP(&swd);
k4zuki 0:eba731be11fb 33
k4zuki 0:eba731be11fb 34 // USBStorage2* _usb = usb_local->getUsb();
k4zuki 0:eba731be11fb 35 // USB_HID* _hid = _usb->getHID();
k4zuki 0:eba731be11fb 36
k4zuki 0:eba731be11fb 37 while(1) {
k4zuki 0:eba731be11fb 38 usb_local->lock(true);
k4zuki 0:eba731be11fb 39 usb_local->remount();
k4zuki 0:eba731be11fb 40 char filename[32];
k4zuki 0:eba731be11fb 41 if (usb_local->find(filename, sizeof(filename), "*.TXT")) {
k4zuki 0:eba731be11fb 42 FILE* fp = fopen(filename, "r");
k4zuki 0:eba731be11fb 43 if (fp) {
k4zuki 0:eba731be11fb 44 int c;
k4zuki 0:eba731be11fb 45 while((c = fgetc(fp)) != EOF) {
k4zuki 0:eba731be11fb 46 usb_local->putc(c);
k4zuki 0:eba731be11fb 47 }
k4zuki 0:eba731be11fb 48 fclose(fp);
k4zuki 0:eba731be11fb 49 #if defined(__MICROLIB) && defined(__ARMCC_VERSION) // with microlib and ARM compiler
k4zuki 0:eba731be11fb 50 free(fp);
k4zuki 0:eba731be11fb 51 #endif
k4zuki 0:eba731be11fb 52 }
k4zuki 0:eba731be11fb 53 }
k4zuki 0:eba731be11fb 54
k4zuki 0:eba731be11fb 55 HID_REPORT recv_report;
k4zuki 0:eba731be11fb 56 if( usb_local->getUsb()->getHID()->readNB(&recv_report) ) {
k4zuki 0:eba731be11fb 57 HID_REPORT send_report;
k4zuki 0:eba731be11fb 58 dap->Command(recv_report.data, send_report.data);
k4zuki 0:eba731be11fb 59 send_report.length = 64;
k4zuki 0:eba731be11fb 60 usb_local->getUsb()->getHID()->send(&send_report);
k4zuki 0:eba731be11fb 61 }
k4zuki 0:eba731be11fb 62
k4zuki 0:eba731be11fb 63 usb_local->lock(false);
k4zuki 0:eba731be11fb 64 wait_ms(100*5);
k4zuki 0:eba731be11fb 65 }
k4zuki 0:eba731be11fb 66 }