37 return ( usb_task_state);
41 usb_task_state =
state;
53 if((
pep)->epAddr ==
ep)
73 p->address.devAddress =
addr;
128 bool direction =
false;
163 pep->bmRcvToggle = 1;
167#if defined(ESP8266) || defined(ESP32)
194 pep->bmSndToggle = 1;
218 USBTRACE3(
"(USB::InTransfer) ep requested ",
ep, 0x81);
237#if defined(ESP8266) || defined(ESP32)
293 }
else if(bInterval > 0)
331#if defined(ESP8266) || defined(ESP32)
341#if defined(ESP8266) || defined(ESP32)
349#if defined(ESP8266) || defined(ESP32)
380#if defined(ESP8266) || defined(ESP32)
414#if defined(ESP8266) || defined(ESP32)
422#if defined(ESP8266) || defined(ESP32)
466 bool lowspeed =
false;
499 switch(usb_task_state) {
580 p0->lowspeed = (lowspeed) ?
true :
false;
593 p->lowspeed = lowspeed;
722 p->lowspeed = lowspeed;
791 if(!devConfig[
i])
continue;
792 if(devConfig[
i]->GetAddress() ==
addr)
802 return (
ctrlReq(
addr,
ep,
bmREQ_GET_DESCR,
USB_REQUEST_GET_DESCRIPTOR, 0x00,
USB_DESCRIPTOR_DEVICE, 0x0000,
nbytes,
nbytes,
dataptr,
NULL));
807 return (
ctrlReq(
addr,
ep,
bmREQ_GET_DESCR,
USB_REQUEST_GET_DESCRIPTOR,
conf,
USB_DESCRIPTOR_CONFIGURATION, 0x0000,
nbytes,
nbytes,
dataptr,
NULL));
831 return (
ctrlReq(
addr,
ep,
bmREQ_GET_DESCR,
USB_REQUEST_GET_DESCRIPTOR,
conf,
USB_DESCRIPTOR_CONFIGURATION, 0x0000,
total, (
total<
bufSize)?
total:
bufSize,
buf,
p));
837 return (
ctrlReq(
addr,
ep,
bmREQ_GET_DESCR,
USB_REQUEST_GET_DESCRIPTOR, index,
USB_DESCRIPTOR_STRING,
langid,
ns,
ns,
dataptr,
NULL));
842 uint8_t rcode =
ctrlReq(
oldaddr,
ep,
bmREQ_SET,
USB_REQUEST_SET_ADDRESS,
newaddr, 0x00, 0x0000, 0x0000, 0x0000,
NULL,
NULL);
851 return (
ctrlReq(
addr,
ep,
bmREQ_SET,
USB_REQUEST_SET_CONFIGURATION,
conf_value, 0x00, 0x0000, 0x0000, 0x0000,
NULL,
NULL));
#define USB_STATE_RUNNING
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
#define USB_ERROR_INVALID_MAX_PKT_SIZE
#define USB_ATTACHED_SUBSTATE_WAIT_SOF
#define USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE
#define USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
#define USB_ERROR_INVALID_ARGUMENT
#define USB_DETACHED_SUBSTATE_INITIALIZE
#define USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET
#define USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE
#define USB_ATTACHED_SUBSTATE_WAIT_RESET
#define USB_ATTACHED_SUBSTATE_SETTLE
#define USB_STATE_CONFIGURING
#define USB_ERROR_EP_NOT_FOUND_IN_TBL
#define USB_ATTACHED_SUBSTATE_RESET_DEVICE
#define USB_ERROR_TRANSFER_TIMEOUT
#define USB_STATE_DETACHED
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
#define USB_ERROR_EPINFO_IS_NULL
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
#define USB_DETACHED_SUBSTATE_ILLEGAL
#define USB_NAK_MAX_POWER
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)
virtual void FreeAddress(uint8_t addr)
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)
void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset)
uint8_t regRd(uint8_t reg)
void regWr(uint8_t reg, uint8_t data)
uint8_t * bytesWr(uint8_t reg, uint8_t nbytes, uint8_t *data_p)
uint8_t getVbusState(void)
uint8_t * bytesRd(uint8_t reg, uint8_t nbytes, uint8_t *data_p)
virtual void ResetHubPort(uint8_t port)
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
virtual uint8_t Release()
virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)
AddressPool & GetAddressPool()
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
uint8_t getUsbTaskState(void)
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
uint8_t dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit)
uint8_t getStrDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t index, uint16_t langid, uint8_t *dataptr)
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
EpInfo * getEpInfoEntry(uint8_t addr, uint8_t ep)
uint8_t DefaultAddressing(uint8_t parent, uint8_t port, bool lowspeed)
uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)
uint8_t ctrlReq(uint8_t addr, uint8_t ep, uint8_t bmReqType, uint8_t bRequest, uint8_t wValLo, uint8_t wValHi, uint16_t wInd, uint16_t total, uint16_t nbytes, uint8_t *dataptr, USBReadParser *p)
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
void setUsbTaskState(uint8_t state)
uint8_t ReleaseDevice(uint8_t addr)
uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data, uint8_t bInterval=0)
uint8_t Configuring(uint8_t parent, uint8_t port, bool lowspeed)
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
#define USBTRACE3(s, r, l)
#define USB_REQUEST_GET_DESCRIPTOR
#define USB_DESCRIPTOR_CONFIGURATION
#define USB_REQUEST_SET_CONFIGURATION
#define USB_DESCRIPTOR_STRING
#define USB_DESCRIPTOR_DEVICE
#define USB_REQUEST_SET_ADDRESS