Fixed EVENT_USB_CDC_ControLineStateChanged() event not taking the CDC interface structure as a parameter.

Converted TestApp demo over to the new demo structure.

More class driver documentation improvements.
This commit is contained in:
Dean Camera 2009-06-04 06:26:35 +00:00
parent dc42c5eb6b
commit 7665bf323e
9 changed files with 100 additions and 127 deletions

View file

@ -389,21 +389,21 @@
*
* \return Boolean true if the endpoints were sucessfully configured, false otherwise
*/
bool USB_Audio_ConfigureEndpoints(USB_ClassInfo_Audio_t* AudioInterfaceInfo);
bool USB_Audio_ConfigureEndpoints(USB_ClassInfo_Audio_t* AudioInterfaceInfo);
/** Processes incomming control requests from the host, that are directed to the given Audio class interface. This should be
* linked to the library \ref EVENT_USB_UnhandledControlPacket() event.
*
* \param AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
*/
void USB_Audio_ProcessControlPacket(USB_ClassInfo_Audio_t* AudioInterfaceInfo);
void USB_Audio_ProcessControlPacket(USB_ClassInfo_Audio_t* AudioInterfaceInfo);
/** General management task for a given Audio class interface, required for the correct operation of the interface. This should
* be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
*
* \param AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
*/
void USB_Audio_USBTask(USB_ClassInfo_Audio_t* AudioInterfaceInfo);
void USB_Audio_USBTask(USB_ClassInfo_Audio_t* AudioInterfaceInfo);
/** Reads the next 8-bit audio sample from the current audio interface.
*
@ -412,7 +412,7 @@
*
* \return Signed 8-bit audio sample from the audio interface
*/
int8_t USB_Audio_ReadSample8(void);
int8_t USB_Audio_ReadSample8(void);
/** Reads the next 16-bit audio sample from the current audio interface.
*
@ -421,7 +421,7 @@
*
* \return Signed 16-bit audio sample from the audio interface
*/
int16_t USB_Audio_ReadSample16(void);
int16_t USB_Audio_ReadSample16(void);
/** Reads the next 24-bit audio sample from the current audio interface.
*
@ -430,7 +430,7 @@
*
* \return Signed 24-bit audio sample from the audio interface
*/
int32_t USB_Audio_ReadSample24(void);
int32_t USB_Audio_ReadSample24(void);
/** Writes the next 8-bit audio sample to the current audio interface.
*
@ -439,7 +439,7 @@
*
* \param Sample Signed 8-bit audio sample
*/
void USB_Audio_WriteSample8(int8_t Sample);
void USB_Audio_WriteSample8(int8_t Sample);
/** Writes the next 16-bit audio sample to the current audio interface.
*
@ -448,7 +448,7 @@
*
* \param Sample Signed 16-bit audio sample
*/
void USB_Audio_WriteSample16(int16_t Sample);
void USB_Audio_WriteSample16(int16_t Sample);
/** Writes the next 24-bit audio sample to the current audio interface.
*
@ -457,7 +457,7 @@
*
* \param Sample Signed 24-bit audio sample
*/
void USB_Audio_WriteSample24(int32_t Sample);
void USB_Audio_WriteSample24(int32_t Sample);
/** Determines if the given audio interface is ready for a sample to be read from it.
*
@ -465,7 +465,7 @@
*
* \return Boolean true if the given Audio interface has a sample to be read, false otherwise
*/
bool USB_Audio_IsSampleReceived(USB_ClassInfo_Audio_t* AudioInterfaceInfo);
bool USB_Audio_IsSampleReceived(USB_ClassInfo_Audio_t* AudioInterfaceInfo);
/** Determines if the given audio interface is ready to accept the next sample to be written to it.
*
@ -473,7 +473,7 @@
*
* \return Boolean true if the given Audio interface is ready to accept the next sample, false otherwise
*/
bool USB_Audio_IsReadyForNextSample(USB_ClassInfo_Audio_t* AudioInterfaceInfo);
bool USB_Audio_IsReadyForNextSample(USB_ClassInfo_Audio_t* AudioInterfaceInfo);
/* Disable C linkage for C++ Compilers: */
#if defined(__cplusplus)

View file

@ -73,7 +73,7 @@ void USB_CDC_ProcessControlPacket(USB_ClassInfo_CDC_t* CDCInterfaceInfo)
CDCInterfaceInfo->ControlLineState = USB_ControlRequest.wValue;
EVENT_USB_CDC_ControLineStateChanged();
EVENT_USB_CDC_ControLineStateChanged(CDCInterfaceInfo);
while (!(Endpoint_IsINReady()));
Endpoint_ClearIN();

View file

@ -167,7 +167,7 @@
uint8_t NotificationEndpointNumber; /**< Endpoint number of the CDC interface's IN notification endpoint, if used */
uint16_t NotificationEndpointSize; /**< Size in bytes of the CDC interface's IN notification endpoint, if used */
uint8_t ControlLineState;
uint8_t ControlLineState; /**< Current control line state, as set by the host */
struct
{
@ -187,15 +187,36 @@
void USB_CDC_Event_Stub(void);
void EVENT_USB_CDC_LineEncodingChanged(USB_ClassInfo_CDC_t* CDCInterfaceInfo)
ATTR_WEAK ATTR_ALIAS(USB_CDC_Event_Stub);
void EVENT_USB_CDC_ControLineStateChanged(void) ATTR_WEAK ATTR_ALIAS(USB_CDC_Event_Stub);;
void EVENT_USB_CDC_ControLineStateChanged(USB_ClassInfo_CDC_t* CDCInterfaceInfo)
ATTR_WEAK ATTR_ALIAS(USB_CDC_Event_Stub);
#endif
bool USB_CDC_ConfigureEndpoints(USB_ClassInfo_CDC_t* CDCInterfaceInfo);
void USB_CDC_ProcessControlPacket(USB_ClassInfo_CDC_t* CDCInterfaceInfo);
void USB_CDC_USBTask(USB_ClassInfo_CDC_t* CDCInterfaceInfo);
/** Configures the endpoints of a given CDC interface, ready for use. This should be linked to the library
* \ref EVENT_USB_ConfigurationChanged() event so that the endpoints are configured when the configuration containing the
* given CDC interface is selected.
*
* \param CDCInterfaceInfo Pointer to a structure containing an CDC Class configuration and state.
*
* \return Boolean true if the endpoints were sucessfully configured, false otherwise
*/
bool USB_CDC_ConfigureEndpoints(USB_ClassInfo_CDC_t* CDCInterfaceInfo);
/** Processes incomming control requests from the host, that are directed to the given CDC class interface. This should be
* linked to the library \ref EVENT_USB_UnhandledControlPacket() event.
*
* \param CDCInterfaceInfo Pointer to a structure containing an CDC Class configuration and state.
*/
void USB_CDC_ProcessControlPacket(USB_ClassInfo_CDC_t* CDCInterfaceInfo);
/** General management task for a given CDC class interface, required for the correct operation of the interface. This should
* be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
*
* \param CDCInterfaceInfo Pointer to a structure containing an CDC Class configuration and state.
*/
void USB_CDC_USBTask(USB_ClassInfo_CDC_t* CDCInterfaceInfo);
void EVENT_USB_CDC_LineEncodingChanged(USB_ClassInfo_CDC_t* CDCInterfaceInfo);
void EVENT_USB_CDC_ControLineStateChanged(void);
void EVENT_USB_CDC_ControLineStateChanged(USB_ClassInfo_CDC_t* CDCInterfaceInfo);
void USB_CDC_SendString(USB_ClassInfo_CDC_t* CDCInterfaceInfo, char* Data, uint16_t Length);
void USB_CDC_SendByte(USB_ClassInfo_CDC_t* CDCInterfaceInfo, uint8_t Data);