diff options
Diffstat (limited to 'Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c')
| -rw-r--r-- | Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c | 37 | 
1 files changed, 17 insertions, 20 deletions
| diff --git a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c index 94b86873f..55e17bcc6 100644 --- a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c +++ b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c @@ -146,8 +146,6 @@ void EVENT_USB_Device_UnhandledControlRequest(void)  		case Req_InitiateAbortBulkOut:
  			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_ENDPOINT))
  			{
 -				Endpoint_ClearSETUP();
 -				
  				/* Check that no split transaction is already in progress and the data transfer tag is valid */
  				if (RequestInProgress != 0)
  				{
 @@ -165,6 +163,8 @@ void EVENT_USB_Device_UnhandledControlRequest(void)  					/* Save the split request for later checking when a new request is received */
  					RequestInProgress = Req_InitiateAbortBulkOut;
  				}
 +
 +				Endpoint_ClearSETUP();
  				/* Write the request response byte */
  				Endpoint_Write_Byte(TMCRequestStatus);
 @@ -177,16 +177,16 @@ void EVENT_USB_Device_UnhandledControlRequest(void)  		case Req_CheckAbortBulkOutStatus:
  			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_ENDPOINT))
  			{
 -				Endpoint_ClearSETUP();
 -				
  				/* Check that an ABORT BULK OUT transaction has been requested and that the request has completed */
  				if (RequestInProgress != Req_InitiateAbortBulkOut)
  				  TMCRequestStatus = TMC_STATUS_SPLIT_NOT_IN_PROGRESS;				
  				else if (IsTMCBulkOUTReset)
  				  TMCRequestStatus = TMC_STATUS_PENDING;
  				else
 -				  RequestInProgress = 0;			
 -				
 +				  RequestInProgress = 0;	
 +
 +				Endpoint_ClearSETUP();
 +								
  				/* Write the request response bytes */
  				Endpoint_Write_Byte(TMCRequestStatus);
  				Endpoint_Write_Word_LE(0);
 @@ -200,8 +200,6 @@ void EVENT_USB_Device_UnhandledControlRequest(void)  		case Req_InitiateAbortBulkIn:
  			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_ENDPOINT))
  			{
 -				Endpoint_ClearSETUP();
 -				
  				/* Check that no split transaction is already in progress and the data transfer tag is valid */
  				if (RequestInProgress != 0)
  				{
 @@ -219,6 +217,8 @@ void EVENT_USB_Device_UnhandledControlRequest(void)  					/* Save the split request for later checking when a new request is received */
  					RequestInProgress = Req_InitiateAbortBulkIn;
  				}
 +
 +				Endpoint_ClearSETUP();
  				/* Write the request response bytes */
  				Endpoint_Write_Byte(TMCRequestStatus);
 @@ -232,8 +232,6 @@ void EVENT_USB_Device_UnhandledControlRequest(void)  		case Req_CheckAbortBulkInStatus:
  			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_ENDPOINT))
  			{
 -				Endpoint_ClearSETUP();
 -				
  				/* Check that an ABORT BULK IN transaction has been requested and that the request has completed */
  				if (RequestInProgress != Req_InitiateAbortBulkIn)
  				  TMCRequestStatus = TMC_STATUS_SPLIT_NOT_IN_PROGRESS;
 @@ -241,7 +239,9 @@ void EVENT_USB_Device_UnhandledControlRequest(void)  				  TMCRequestStatus = TMC_STATUS_PENDING;
  				else
  				  RequestInProgress = 0;
 -				
 +
 +				Endpoint_ClearSETUP();
 +								
  				/* Write the request response bytes */
  				Endpoint_Write_Byte(TMCRequestStatus);
  				Endpoint_Write_Word_LE(0);
 @@ -255,8 +255,6 @@ void EVENT_USB_Device_UnhandledControlRequest(void)  		case Req_InitiateClear:
  			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
  			{
 -				Endpoint_ClearSETUP();
 -				
  				/* Check that no split transaction is already in progress */
  				if (RequestInProgress != 0)
  				{
 @@ -271,6 +269,8 @@ void EVENT_USB_Device_UnhandledControlRequest(void)  					/* Save the split request for later checking when a new request is received */
  					RequestInProgress = Req_InitiateClear;
  				}
 +
 +				Endpoint_ClearSETUP();
  				/* Write the request response byte */
  				Endpoint_Write_Byte(TMCRequestStatus);
 @@ -283,8 +283,6 @@ void EVENT_USB_Device_UnhandledControlRequest(void)  		case Req_CheckClearStatus:
  			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
  			{
 -				Endpoint_ClearSETUP();
 -				
  				/* Check that a CLEAR transaction has been requested and that the request has completed */
  				if (RequestInProgress != Req_InitiateClear)
  				  TMCRequestStatus = TMC_STATUS_SPLIT_NOT_IN_PROGRESS;				
 @@ -292,7 +290,9 @@ void EVENT_USB_Device_UnhandledControlRequest(void)  				  TMCRequestStatus = TMC_STATUS_PENDING;
  				else
  				  RequestInProgress = 0;
 -				
 +
 +				Endpoint_ClearSETUP();
 +
  				/* Write the request response bytes */
  				Endpoint_Write_Byte(TMCRequestStatus);
  				Endpoint_Write_Byte(0);
 @@ -305,13 +305,10 @@ void EVENT_USB_Device_UnhandledControlRequest(void)  		case Req_GetCapabilities:
  			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
  			{
 -				/* Acknowledge the SETUP packet, ready for data transfer */
  				Endpoint_ClearSETUP();
  				/* Write the device capabilities to the control endpoint */
 -				Endpoint_Write_Control_Stream_LE(&Capabilities, sizeof(TMC_Capabilities_t));
 -				
 -				/* Finalize the stream transfer to send the last packet or clear the host abort */
 +				Endpoint_Write_Control_Stream_LE(&Capabilities, sizeof(TMC_Capabilities_t));				
  				Endpoint_ClearOUT();
  			}
 | 
