44 virtual void ep0_read(uint8_t *data, uint32_t size);
46 virtual void ep0_write(uint8_t *buffer, uint32_t size);
49 virtual bool endpoint_add(usb_ep_t endpoint, uint32_t max_packet, usb_ep_type_t type);
54 virtual bool endpoint_read(usb_ep_t endpoint, uint8_t *data, uint32_t size);
56 virtual bool endpoint_write(usb_ep_t endpoint, uint8_t *data, uint32_t size);
64 static void _usbisr(
void);
virtual bool endpoint_write(usb_ep_t endpoint, uint8_t *data, uint32_t size)
Start a write on the given endpoint.
virtual void configure()
Set this device to the configured state.
virtual void process()
Callback used for performing USB processing.
virtual uint32_t ep0_set_max_packet(uint32_t max_packet)
Set wMaxPacketSize of endpoint 0.
virtual bool endpoint_add(usb_ep_t endpoint, uint32_t max_packet, usb_ep_type_t type)
Configure and enable an endpoint.
virtual void ep0_read(uint8_t *data, uint32_t size)
Start receiving a packet of up to wMaxPacketSize on endpoint 0.
virtual void ep0_write(uint8_t *buffer, uint32_t size)
Write a packet on endpoint 0.
virtual bool endpoint_read(usb_ep_t endpoint, uint8_t *data, uint32_t size)
Start a read on the given endpoint.
virtual void endpoint_stall(usb_ep_t endpoint)
Perform a functional stall on the given endpoint.
Abstract interface to physical USB hardware.
virtual void sof_disable()
Disable the start of frame interrupt.
virtual void connect()
Make the USB phy visible to the USB host.
virtual bool powered()
Check if USB power is present.
virtual void ep0_stall()
Protocol stall on endpoint 0.
virtual uint32_t ep0_read_result()
Read the contents of a received packet.
virtual void endpoint_unstall(usb_ep_t endpoint)
Un-stall the endpoint.
virtual void unconfigure()
Leave the configured state.
virtual void remote_wakeup()
Wake upstream devices.
virtual void disconnect()
Detach the USB phy.
virtual void endpoint_abort(usb_ep_t endpoint)
Abort the current transfer if it has not yet been sent.
virtual void sof_enable()
Enable the start of frame interrupt.
virtual void ep0_setup_read_result(uint8_t *buffer, uint32_t size)
Read the contents of the SETUP packet.
virtual uint32_t endpoint_read_result(usb_ep_t endpoint)
Finish a read on the given endpoint.
virtual void init(USBPhyEvents *events)
Initialize this USBPhy instance.
virtual void set_address(uint8_t address)
Set the USBPhy's address.
virtual void endpoint_remove(usb_ep_t endpoint)
Disable an endpoint.
virtual const usb_ep_table_t * endpoint_table()
Get the endpoint table.
virtual void deinit()
Power down this USBPhy instance.
Event handler for USBPhy.