usb_drv_core
USB driver library
|
Author
|
Albert Faber, Copyright © 2008..2021, all rights reserved.
|
|
Adapted-by
|
Matthew Schinkel, Rob Jansen
|
|
Compiler
|
2.5r5
|
Description
Routines for controlling the USB serial interface engine sending
which will ensure the highest possible accuracy.
Sources
http://www.usb.org for USB specifications
Dependencies
Private
-
usb_send_one_byte(byte in data)
This procedure will send one byted via endpoint0, with the contend specified by the
data input parameter, normally not called by the end user
-
usb_stall_ep0()
Set BSTALL bit and UOWN bit (SIE will own the buffer).
-
usb_prime_epx_out( byte in end_point, byte in size )
Initialize the given OUT endpoints with the given size.
-
usb_send_empty_data_pkt()
This procedure sends an empty USB packet via endpoint0, normally not called by the end user
-
usb_send_status_ack()
This procedure sends an USB acknowledge packet, normally not called by the end user
-
usb_send_data_chunk()
This procedure sends the content of the USB delivery buffer in the USB SIE
If the MCU does not own the buffer then nothing will be sent.
Note that this is all data for endpoint0.
-
usb_send_data(byte in endpoint, byte in data[], byte in byte_cnt, bit in is_new_sequence )
This procedure will send the content of an array to the USB end point. The endpoint
input parameter contains the the enpoint number, data[] is the content to be send,
byte_cnt the number of bytes to be send, and is_new_sequence determines if the data
tranmission is starting with USB packet o (if set to true), otherwise the USB packet
is toggled before transmission.
Note: This function is not yet used by the USB driver.
-
usb_configure_endpoints()
This procedure will setup and initalize the USB endpoints,
normally not called by the end user
Endpoint0 is mandatory and was already configured by USB reset. We only configure
endpoint 1-3 here.
-
usb_prime_ep0_out()
Handle an endpoint0 out request (data from Host to MCU).
Private
Here are the list of samples which use this library: