Deleted Host ClassDriver demos -- not yet started, faster to rebase new ClassDriver demos from the newly schedulerless LowLevel host demos rather than re-convert each demo from the previous scheduler-based implementations.
Fixes to MassStorageHost demo to improve compatibility with more USB drives.
This commit is contained in:
@@ -107,10 +107,6 @@ static uint8_t MassStore_WaitForDataReceived(void)
|
||||
{
|
||||
uint16_t TimeoutMSRem = COMMAND_DATA_TIMEOUT_MS;
|
||||
|
||||
/* Unfreeze the OUT pipe so that it can be checked */
|
||||
Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);
|
||||
Pipe_Unfreeze();
|
||||
|
||||
/* Select the IN data pipe for data reception */
|
||||
Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);
|
||||
Pipe_Unfreeze();
|
||||
@@ -130,7 +126,9 @@ static uint8_t MassStore_WaitForDataReceived(void)
|
||||
return PIPE_RWSTREAM_Timeout;
|
||||
}
|
||||
|
||||
Pipe_Freeze();
|
||||
Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);
|
||||
Pipe_Unfreeze();
|
||||
|
||||
/* Check if pipe stalled (command failed by device) */
|
||||
if (Pipe_IsStalled())
|
||||
@@ -140,8 +138,10 @@ static uint8_t MassStore_WaitForDataReceived(void)
|
||||
|
||||
return PIPE_RWSTREAM_PipeStalled;
|
||||
}
|
||||
|
||||
|
||||
Pipe_Freeze();
|
||||
Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);
|
||||
Pipe_Unfreeze();
|
||||
|
||||
/* Check if pipe stalled (command failed by device) */
|
||||
if (Pipe_IsStalled())
|
||||
@@ -156,6 +156,12 @@ static uint8_t MassStore_WaitForDataReceived(void)
|
||||
if (!(USB_IsConnected))
|
||||
return PIPE_RWSTREAM_DeviceDisconnected;
|
||||
};
|
||||
|
||||
Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);
|
||||
Pipe_Freeze();
|
||||
|
||||
Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);
|
||||
Pipe_Freeze();
|
||||
|
||||
return PIPE_RWSTREAM_NoError;
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
#define COMMAND_DIRECTION_DATA_IN (1 << 7)
|
||||
|
||||
/** Timeout period between the issuing of a CBW to a device, and the reception of the first packet */
|
||||
#define COMMAND_DATA_TIMEOUT_MS 500
|
||||
#define COMMAND_DATA_TIMEOUT_MS 2000
|
||||
|
||||
/** Pipe number of the Mass Storage data IN pipe */
|
||||
#define MASS_STORE_DATA_IN_PIPE 1
|
||||
|
||||
@@ -74,6 +74,7 @@ void SetupHardware(void)
|
||||
SerialStream_Init(9600, false);
|
||||
LEDs_Init();
|
||||
Buttons_Init();
|
||||
USB_Init();
|
||||
}
|
||||
|
||||
/** Event handler for the USB_DeviceAttached event. This indicates that a device has been attached to the host, and
|
||||
|
||||
Reference in New Issue
Block a user