USB device stack; Added getter method for terminal_connected;
Fork of USBDevice by
Example of use:
#include "mbed.h" #include "USBSerial.h" USBSerial pc; DigitalOut blue_led(P0_20); int main() { blue_led = 1; while(!pc.getTerminal_connected()); //Wait for serial terminal to connect... while(1) { blue_led = 0; wait(0.2); blue_led = 1; wait(0.2); } }
Diff: USBMSD/USBMSD.cpp
- Revision:
- 7:f8f057664123
- Parent:
- 5:d27e4c226965
- Child:
- 8:335f2506f422
diff -r d0945750af57 -r f8f057664123 USBMSD/USBMSD.cpp --- a/USBMSD/USBMSD.cpp Thu Dec 20 17:05:37 2012 +0000 +++ b/USBMSD/USBMSD.cpp Mon Jan 21 10:41:28 2013 +0000 @@ -114,7 +114,7 @@ // get memory size MemorySize = disk_size(); - if (BlockCount >= 0) { + if (BlockCount > 0) { BlockSize = MemorySize / BlockCount; if (BlockSize != 0) { page = (uint8_t *)malloc(BlockSize * sizeof(uint8_t)); @@ -222,7 +222,7 @@ // if the array is filled, write it in memory if (!((addr + size)%BlockSize)) { if (!(disk_status() & WRITE_PROTECT)) { - disk_write((const char *)page, addr/BlockSize); + disk_write(page, addr/BlockSize); } } @@ -247,7 +247,7 @@ // beginning of a new block -> load a whole block in RAM if (!(addr%BlockSize)) - disk_read((char *)page, addr/BlockSize); + disk_read(page, addr/BlockSize); // info are in RAM -> no need to re-read memory for (n = 0; n < size; n++) { @@ -495,7 +495,7 @@ // we read an entire block if (!(addr%BlockSize)) - disk_read((char *)page, addr/BlockSize); + disk_read(page, addr/BlockSize); // write data which are in RAM writeNB(EPBULK_IN, &page[addr%BlockSize], n, MAX_PACKET_SIZE_EPBULK);