From 6e2920bc84238077446bdb5bdba25a8ef250d05a Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Mon, 26 Jul 2010 05:02:55 +0000 Subject: Add comments to the currently completed portions of the incomplete Test and Measurement Class demo. --- .../TestAndMeasurement/TestAndMeasurement.c | 23 +++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c index 184e2e23c..d529302fc 100644 --- a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c +++ b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c @@ -100,16 +100,25 @@ void SetupHardware(void) USB_Init(); } +/** Event handler for the USB_Connect event. This indicates that the device is enumerating via the status LEDs and + * starts the library USB task to begin the enumeration and USB management process. + */ void EVENT_USB_Device_Connect(void) { LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING); } +/** Event handler for the USB_Disconnect event. This indicates that the device is no longer connected to a host via + * the status LEDs and stops the USB management and CDC management tasks. + */ void EVENT_USB_Device_Disconnect(void) { LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY); } +/** Event handler for the USB_ConfigurationChanged event. This is fired when the host set the current configuration + * of the USB device after enumeration - the device endpoints are configured and the CDC management task started. + */ void EVENT_USB_Device_ConfigurationChanged(void) { LEDs_SetAllLEDs(LEDMASK_USB_READY); @@ -130,10 +139,15 @@ void EVENT_USB_Device_ConfigurationChanged(void) } } +/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific + * control requests that are not handled internally by the USB library (including the CDC control commands, + * which are all issued via the control endpoint), so that they can be handled appropriately for the application. + */ void EVENT_USB_Device_UnhandledControlRequest(void) { uint8_t TMCRequestStatus = TMC_REQUEST_STATUS_SUCCESS; + /* Process TMC specific control requests */ switch (USB_ControlRequest.bRequest) { case Req_InitiateAbortBulkOut: @@ -141,6 +155,7 @@ void EVENT_USB_Device_UnhandledControlRequest(void) { Endpoint_ClearSETUP(); + /* Check that no split transaction is already in progress and the data OUT transfer tag is valid */ if (RequestInProgess != 0) { TMCRequestStatus = TMC_REQUEST_STATUS_SPLIT_IN_PROGRESS; @@ -171,6 +186,7 @@ void EVENT_USB_Device_UnhandledControlRequest(void) { Endpoint_ClearSETUP(); + /* Check that an ABORT BULK OUT transaction has been requested and that the request has completed */ if (RequestInProgess != Req_InitiateAbortBulkOut) TMCRequestStatus = TMC_REQUEST_STATUS_SPLIT_NOT_IN_PROGRESS; else if (IsTMCBulkOUTReset) @@ -193,6 +209,7 @@ void EVENT_USB_Device_UnhandledControlRequest(void) { Endpoint_ClearSETUP(); + /* Check that no split transaction is already in progress and the data IN transfer tag is valid */ if (RequestInProgess != 0) { TMCRequestStatus = TMC_REQUEST_STATUS_SPLIT_IN_PROGRESS; @@ -224,6 +241,7 @@ void EVENT_USB_Device_UnhandledControlRequest(void) { Endpoint_ClearSETUP(); + /* Check that an ABORT BULK IN transaction has been requested and that the request has completed */ if (RequestInProgess != Req_InitiateAbortBulkIn) TMCRequestStatus = TMC_REQUEST_STATUS_SPLIT_NOT_IN_PROGRESS; else if (IsTMCBulkINReset) @@ -246,6 +264,7 @@ void EVENT_USB_Device_UnhandledControlRequest(void) { Endpoint_ClearSETUP(); + /* Check that no split transaction is already in progress */ if (RequestInProgess != 0) { Endpoint_Write_Byte(TMC_REQUEST_STATUS_SPLIT_IN_PROGRESS); @@ -273,6 +292,7 @@ void EVENT_USB_Device_UnhandledControlRequest(void) { Endpoint_ClearSETUP(); + /* Check that a CLEAR transaction has been requested and that the request has completed */ if (RequestInProgess != Req_InitiateClear) TMCRequestStatus = TMC_REQUEST_STATUS_SPLIT_NOT_IN_PROGRESS; else if (IsTMCBulkINReset || IsTMCBulkOUTReset) @@ -305,7 +325,8 @@ void EVENT_USB_Device_UnhandledControlRequest(void) break; } } - + +/** Function to manage TMC data transmission and reception to and from the host. */ void TMC_Task(void) { /* Device must be connected and configured for the task to run */ -- cgit v1.2.3