Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Erik Strand
lufa
Commits
bde64666
Commit
bde64666
authored
Jun 08, 2009
by
Dean Camera
Browse files
Finished CDC device class driver documentation.
parent
e6881fd1
Changes
5
Hide whitespace changes
Inline
Side-by-side
Bootloaders/DFU/BootloaderDFU.c
View file @
bde64666
...
...
@@ -462,8 +462,10 @@ static void DiscardFillerBytes(uint8_t NumberOfBytes)
/* Wait until next data packet received */
while
(
!
(
Endpoint_IsOUTReceived
()));
}
Endpoint_Discard_Byte
();
else
{
Endpoint_Discard_Byte
();
}
}
}
...
...
LUFA/ChangeLog.txt
View file @
bde64666
...
...
@@ -5,13 +5,12 @@
*/
========== TODO: ===========
- Fix bootloaders - make compatible with smaller USB AVRS (USB_IsConnected)
- Document new device class drivers
- Ma
d
e new host class drivers
- Ma
k
e new host class drivers
- Document new host class drivers
- Convert Host mode demos to class drivers
- Convert Host mode demos to schedulerless
- Add standardized descriptor names to class driver structures, controlled by USE_NONSTANDARD_DESCRIPTOR_NAMES
- Add multiple-report HID demo to the library
============================
/** \page Page_ChangeLog Project Changelog
...
...
LUFA/Drivers/USB/Class/Device/CDC.c
View file @
bde64666
...
...
@@ -130,6 +130,9 @@ void USB_CDC_USBTask(USB_ClassInfo_CDC_t* CDCInterfaceInfo)
void
USB_CDC_SendString
(
USB_ClassInfo_CDC_t
*
CDCInterfaceInfo
,
char
*
Data
,
uint16_t
Length
)
{
if
(
!
(
USB_IsConnected
))
return
;
Endpoint_SelectEndpoint
(
CDCInterfaceInfo
->
DataINEndpointNumber
);
Endpoint_Write_Stream_LE
(
Data
,
Length
,
NO_STREAM_CALLBACK
);
}
...
...
@@ -159,6 +162,9 @@ uint16_t USB_CDC_BytesReceived(USB_ClassInfo_CDC_t* CDCInterfaceInfo)
uint8_t
USB_CDC_ReceiveByte
(
USB_ClassInfo_CDC_t
*
CDCInterfaceInfo
)
{
if
(
!
(
USB_IsConnected
))
return
0
;
Endpoint_SelectEndpoint
(
CDCInterfaceInfo
->
DataOUTEndpointNumber
);
uint8_t
DataByte
=
Endpoint_Read_Byte
();
...
...
@@ -171,6 +177,9 @@ uint8_t USB_CDC_ReceiveByte(USB_ClassInfo_CDC_t* CDCInterfaceInfo)
void
USB_CDC_SendSerialLineStateChange
(
USB_ClassInfo_CDC_t
*
CDCInterfaceInfo
,
uint16_t
LineStateMask
)
{
if
(
!
(
USB_IsConnected
))
return
;
Endpoint_SelectEndpoint
(
CDCInterfaceInfo
->
NotificationEndpointNumber
);
USB_Request_Header_t
Notification
=
(
USB_Request_Header_t
)
...
...
LUFA/Drivers/USB/Class/Device/CDC.h
View file @
bde64666
...
...
@@ -234,10 +234,48 @@
*/
void
EVENT_USB_CDC_ControLineStateChanged
(
USB_ClassInfo_CDC_t
*
CDCInterfaceInfo
);
/** Sends a given string to the attached USB host, if connected. If a host is not connected when the function is called, the
* string is discarded.
*
* \param CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
* \param Data Pointer to the string to send to the host
* \param Length Size in bytes of the string to send to the host
*/
void
USB_CDC_SendString
(
USB_ClassInfo_CDC_t
*
CDCInterfaceInfo
,
char
*
Data
,
uint16_t
Length
);
/** Sends a given byte to the attached USB host, if connected. If a host is not connected when the function is called, the
* byte is discarded.
*
* \param CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
* \param Data Byte of data to send to the host
*/
void
USB_CDC_SendByte
(
USB_ClassInfo_CDC_t
*
CDCInterfaceInfo
,
uint8_t
Data
);
/** Determines the number of bytes received by the CDC interface from the host, waiting to be read.
*
* \param CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
*
* \return Total number of buffered bytes received from the host
*/
uint16_t
USB_CDC_BytesReceived
(
USB_ClassInfo_CDC_t
*
CDCInterfaceInfo
);
/** Reads a byte of data from the host. If no data is waiting to be read of if a USB host is not connected, the function
* returns 0. The USB_CDC_BytesReceived() function should be queried before data is recieved to ensure that no data
* underflow occurs.
*
* \param CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
*
* \return Next received byte from the host, or 0 if no data received
*/
uint8_t
USB_CDC_ReceiveByte
(
USB_ClassInfo_CDC_t
*
CDCInterfaceInfo
);
/** Sends a Serial Control Line State Change notification to the host. This should be called when the virtual serial control
* lines (DCD, DSR, etc.) have changed states, or to give BREAK notfications to the host. Line states persist until they are
* cleared via a second notification.
*
* \param CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
* \param LineStateMask Mask of CDC_CONTROL_LINE_IN_* masks giving the current control line states
*/
void
USB_CDC_SendSerialLineStateChange
(
USB_ClassInfo_CDC_t
*
CDCInterfaceInfo
,
uint16_t
LineStateMask
);
/* Disable C linkage for C++ Compilers: */
...
...
LUFA/Drivers/USB/Class/Device/HID.h
View file @
bde64666
...
...
@@ -115,7 +115,7 @@
uint8_t
ReportINEndpointNumber
;
/**< Endpoint number of the HID interface's IN report endpoint */
uint16_t
ReportINEndpointSize
;
/**< Size in bytes of the HID interface's IN report endpoint */
uint8_t
ReportINBufferSize
;
uint8_t
ReportINBufferSize
;
/**< Size of the largest possible report to send to the host, for buffer allocation purposes */
bool
UsingReportProtocol
;
/**< Indicates if the HID interface is set to Boot or Report protocol mode */
uint16_t
IdleCount
;
/**< Report idle period, in ms, set by the host */
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment