Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: F401RE-USBHostMIDI_RecieveExample
Fork of F401RE-USBHost by
Diff: USBHost/USBHost.h
- Revision:
- 6:03ef38d6e1ba
- Parent:
- 5:10bfc10afcc8
- Child:
- 7:9a20482c9a7a
--- a/USBHost/USBHost.h Mon Jan 27 11:00:28 2014 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-// Simple USBHost for FRDM-KL46Z
-#pragma once
-#include "mbed.h"
-#include "USBHALHost.h"
-#include "USBEndpoint.h"
-
-class USBDeviceConnected {}; //dummy
-class IUSBEnumerator {}; // dummy
-
-class USBHost : public USBHALHost {
-public:
- /**
- * Static method to create or retrieve the single USBHost instance
- */
- static USBHost* getHostInst();
-
- /**
- * Control read: setup stage, data stage and status stage
- *
- * @param dev the control read will be done for this device
- * @param requestType request type
- * @param request request
- * @param value value
- * @param index index
- * @param buf pointer on a buffer where will be store the data received
- * @param len length of the transfer
- *
- * @returns status of the control read
- */
- USB_TYPE controlRead(USBDeviceConnected * dev, uint8_t requestType, uint8_t request, uint32_t value, uint32_t index, uint8_t * buf, uint32_t len);
-
- /**
- * Control write: setup stage, data stage and status stage
- *
- * @param dev the control write will be done for this device
- * @param requestType request type
- * @param request request
- * @param value value
- * @param index index
- * @param buf pointer on a buffer which will be written
- * @param len length of the transfer
- *
- * @returns status of the control write
- */
- USB_TYPE controlWrite(USBDeviceConnected * dev, uint8_t requestType, uint8_t request, uint32_t value, uint32_t index, uint8_t * buf, uint32_t len);
- /**
- * Bulk read
- *
- * @param dev the bulk transfer will be done for this device
- * @param ep USBEndpoint which will be used to read a packet
- * @param buf pointer on a buffer where will be store the data received
- * @param len length of the transfer
- * @param blocking if true, the read is blocking (wait for completion)
- *
- * @returns status of the bulk read
- */
- USB_TYPE bulkRead(USBDeviceConnected * dev, USBEndpoint * ep, uint8_t * buf, uint32_t len, bool blocking = true);
-
- /**
- * Bulk write
- *
- * @param dev the bulk transfer will be done for this device
- * @param ep USBEndpoint which will be used to write a packet
- * @param buf pointer on a buffer which will be written
- * @param len length of the transfer
- * @param blocking if true, the write is blocking (wait for completion)
- *
- * @returns status of the bulk write
- */
- USB_TYPE bulkWrite(USBDeviceConnected * dev, USBEndpoint * ep, uint8_t * buf, uint32_t len, bool blocking = true);
-
- /**
- * Interrupt read
- *
- * @param dev the interrupt transfer will be done for this device
- * @param ep USBEndpoint which will be used to write a packet
- * @param buf pointer on a buffer which will be written
- * @param len length of the transfer
- * @param blocking if true, the read is blocking (wait for completion)
- *
- * @returns status of the interrupt read
- */
- USB_TYPE interruptRead(USBDeviceConnected * dev, USBEndpoint * ep, uint8_t * buf, uint32_t len, bool blocking = true);
-
- /**
- * Interrupt write
- *
- * @param dev the interrupt transfer will be done for this device
- * @param ep USBEndpoint which will be used to write a packet
- * @param buf pointer on a buffer which will be written
- * @param len length of the transfer
- * @param blocking if true, the write is blocking (wait for completion)
- *
- * @returns status of the interrupt write
- */
- USB_TYPE interruptWrite(USBDeviceConnected * dev, USBEndpoint * ep, uint8_t * buf, uint32_t len, bool blocking = true);
-
- int ControlRead(SETUP_PACKET* setup, uint8_t* data, int size);
- int ControlWrite(SETUP_PACKET* setup, uint8_t* data = NULL, int size = 0);
- int BulkRead(uint8_t* data, int size, int timeout_ms = -1);
- int BulkWrite(const uint8_t* data, int size);
- int InterruptRead(uint8_t* data, int size);
- int IsochronousRead(USBEndpoint*ep, uint8_t* data, int size);
-
-private:
- USBHost();
- static USBHost* inst;
- virtual bool enumeration();
- int dev_addr;
- USBEndpoint ep_ctl_in_out;
- USBEndpoint ep_int_in;
- USBEndpoint ep_bulk_in;
- USBEndpoint ep_bulk_out;
-};
-
