projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update UC3 platform driver support to use the bitmasks defined in the header files...
[pub/USBasp.git]
/
Demos
/
Host
/
LowLevel
/
MassStorageHost
/
Lib
/
MassStoreCommands.c
diff --git
a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c
b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c
index
1ab7007
..
48d6035
100644
(file)
--- a/
Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c
+++ b/
Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c
@@
-1,13
+1,13
@@
/*
LUFA Library
/*
LUFA Library
- Copyright (C) Dean Camera, 201
0
.
+ Copyright (C) Dean Camera, 201
1
.
dean [at] fourwalledcubicle [dot] com
dean [at] fourwalledcubicle [dot] com
- www.fourwalledcubicle.com
+ www.lufa-lib.org
*/
/*
*/
/*
- Copyright 201
0
Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 201
1
Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
@@
-68,20
+68,23
@@
static uint8_t MassStore_SendCommand(MS_CommandBlockWrapper_t* const SCSICommand
{
uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
{
uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
- /* Each transmission should have a unique tag value, increment before use */
- SCSICommandBlock->Tag = ++MassStore_Tag;
-
/* Wrap Tag value when invalid - MS class defines tag values of 0 and 0xFFFFFFFF to be invalid */
/* Wrap Tag value when invalid - MS class defines tag values of 0 and 0xFFFFFFFF to be invalid */
- if (MassStore_Tag == 0xFFFFFFFF)
+ if (
++
MassStore_Tag == 0xFFFFFFFF)
MassStore_Tag = 1;
MassStore_Tag = 1;
+ /* Each transmission should have a unique tag value, increment before use */
+ SCSICommandBlock->Tag = MassStore_Tag;
+
/* Select the OUT data pipe for CBW transmission */
Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);
Pipe_Unfreeze();
/* Write the CBW command to the OUT pipe */
/* Select the OUT data pipe for CBW transmission */
Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);
Pipe_Unfreeze();
/* Write the CBW command to the OUT pipe */
- if ((ErrorCode = Pipe_Write_Stream_LE(SCSICommandBlock, sizeof(MS_CommandBlockWrapper_t))) != PIPE_RWSTREAM_NoError)
- return ErrorCode;
+ if ((ErrorCode = Pipe_Write_Stream_LE(SCSICommandBlock, sizeof(MS_CommandBlockWrapper_t), NULL)) !=
+ PIPE_RWSTREAM_NoError)
+ {
+ return ErrorCode;
+ }
/* Send the data in the OUT pipe to the attached device */
Pipe_ClearOUT();
/* Send the data in the OUT pipe to the attached device */
Pipe_ClearOUT();
@@
-92,7
+95,7
@@
static uint8_t MassStore_SendCommand(MS_CommandBlockWrapper_t* const SCSICommand
/* Freeze pipe after use */
Pipe_Freeze();
/* Freeze pipe after use */
Pipe_Freeze();
- /* Send data if any */
+ /* Send data if any
has been given
*/
if ((BufferPtr != NULL) &&
((ErrorCode = MassStore_SendReceiveData(SCSICommandBlock, BufferPtr)) != PIPE_READYWAIT_NoError))
{
if ((BufferPtr != NULL) &&
((ErrorCode = MassStore_SendReceiveData(SCSICommandBlock, BufferPtr)) != PIPE_READYWAIT_NoError))
{
@@
-189,7
+192,7
@@
static uint8_t MassStore_SendReceiveData(MS_CommandBlockWrapper_t* const SCSICom
uint16_t BytesRem = SCSICommandBlock->DataTransferLength;
/* Check the direction of the SCSI command data stage */
uint16_t BytesRem = SCSICommandBlock->DataTransferLength;
/* Check the direction of the SCSI command data stage */
- if (SCSICommandBlock->Flags &
COMMAND_DIRECTION
_DATA_IN)
+ if (SCSICommandBlock->Flags &
MS_COMMAND_DIR
_DATA_IN)
{
/* Wait until the device has replied with some data */
if ((ErrorCode = MassStore_WaitForDataReceived()) != PIPE_RWSTREAM_NoError)
{
/* Wait until the device has replied with some data */
if ((ErrorCode = MassStore_WaitForDataReceived()) != PIPE_RWSTREAM_NoError)
@@
-200,7
+203,7
@@
static uint8_t MassStore_SendReceiveData(MS_CommandBlockWrapper_t* const SCSICom
Pipe_Unfreeze();
/* Read in the block data from the pipe */
Pipe_Unfreeze();
/* Read in the block data from the pipe */
- if ((ErrorCode = Pipe_Read_Stream_LE(BufferPtr, BytesRem)) != PIPE_RWSTREAM_NoError)
+ if ((ErrorCode = Pipe_Read_Stream_LE(BufferPtr, BytesRem
, NULL
)) != PIPE_RWSTREAM_NoError)
return ErrorCode;
/* Acknowledge the packet */
return ErrorCode;
/* Acknowledge the packet */
@@
-213,7
+216,7
@@
static uint8_t MassStore_SendReceiveData(MS_CommandBlockWrapper_t* const SCSICom
Pipe_Unfreeze();
/* Write the block data to the pipe */
Pipe_Unfreeze();
/* Write the block data to the pipe */
- if ((ErrorCode = Pipe_Write_Stream_LE(BufferPtr, BytesRem)) != PIPE_RWSTREAM_NoError)
+ if ((ErrorCode = Pipe_Write_Stream_LE(BufferPtr, BytesRem
, NULL
)) != PIPE_RWSTREAM_NoError)
return ErrorCode;
/* Acknowledge the packet */
return ErrorCode;
/* Acknowledge the packet */
@@
-251,9
+254,12
@@
static uint8_t MassStore_GetReturnedStatus(MS_CommandStatusWrapper_t* const SCSI
Pipe_Unfreeze();
/* Load in the CSW from the attached device */
Pipe_Unfreeze();
/* Load in the CSW from the attached device */
- if ((ErrorCode = Pipe_Read_Stream_LE(SCSICommandStatus, sizeof(MS_CommandStatusWrapper_t))) != PIPE_RWSTREAM_NoError)
- return ErrorCode;
-
+ if ((ErrorCode = Pipe_Read_Stream_LE(SCSICommandStatus, sizeof(MS_CommandStatusWrapper_t), NULL)) !=
+ PIPE_RWSTREAM_NoError)
+ {
+ return ErrorCode;
+ }
+
/* Clear the data ready for next reception */
Pipe_ClearIN();
/* Clear the data ready for next reception */
Pipe_ClearIN();
@@
-347,9
+353,9
@@
uint8_t MassStore_Inquiry(const uint8_t LUNIndex,
/* Create a CBW with a SCSI command to issue INQUIRY command */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
/* Create a CBW with a SCSI command to issue INQUIRY command */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
- .Signature = CBW_SIGNATURE,
+ .Signature =
MS_
CBW_SIGNATURE,
.DataTransferLength = sizeof(SCSI_Inquiry_Response_t),
.DataTransferLength = sizeof(SCSI_Inquiry_Response_t),
- .Flags =
COMMAND_DIRECTION
_DATA_IN,
+ .Flags =
MS_COMMAND_DIR
_DATA_IN,
.LUN = LUNIndex,
.SCSICommandLength = 6,
.SCSICommandData =
.LUN = LUNIndex,
.SCSICommandLength = 6,
.SCSICommandData =
@@
-398,9
+404,9
@@
uint8_t MassStore_RequestSense(const uint8_t LUNIndex,
/* Create a CBW with a SCSI command to issue REQUEST SENSE command */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
/* Create a CBW with a SCSI command to issue REQUEST SENSE command */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
- .Signature = CBW_SIGNATURE,
+ .Signature =
MS_
CBW_SIGNATURE,
.DataTransferLength = sizeof(SCSI_Request_Sense_Response_t),
.DataTransferLength = sizeof(SCSI_Request_Sense_Response_t),
- .Flags =
COMMAND_DIRECTION
_DATA_IN,
+ .Flags =
MS_COMMAND_DIR
_DATA_IN,
.LUN = LUNIndex,
.SCSICommandLength = 6,
.SCSICommandData =
.LUN = LUNIndex,
.SCSICommandLength = 6,
.SCSICommandData =
@@
-455,9
+461,9
@@
uint8_t MassStore_ReadDeviceBlock(const uint8_t LUNIndex,
/* Create a CBW with a SCSI command to read in the given blocks from the device */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
/* Create a CBW with a SCSI command to read in the given blocks from the device */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
- .Signature = CBW_SIGNATURE,
+ .Signature =
MS_
CBW_SIGNATURE,
.DataTransferLength = ((uint32_t)Blocks * BlockSize),
.DataTransferLength = ((uint32_t)Blocks * BlockSize),
- .Flags =
COMMAND_DIRECTION
_DATA_IN,
+ .Flags =
MS_COMMAND_DIR
_DATA_IN,
.LUN = LUNIndex,
.SCSICommandLength = 10,
.SCSICommandData =
.LUN = LUNIndex,
.SCSICommandLength = 10,
.SCSICommandData =
@@
-516,9
+522,9
@@
uint8_t MassStore_WriteDeviceBlock(const uint8_t LUNIndex,
/* Create a CBW with a SCSI command to write the given blocks to the device */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
/* Create a CBW with a SCSI command to write the given blocks to the device */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
- .Signature = CBW_SIGNATURE,
+ .Signature =
MS_
CBW_SIGNATURE,
.DataTransferLength = ((uint32_t)Blocks * BlockSize),
.DataTransferLength = ((uint32_t)Blocks * BlockSize),
- .Flags =
COMMAND_DIRECTION
_DATA_OUT,
+ .Flags =
MS_COMMAND_DIR
_DATA_OUT,
.LUN = LUNIndex,
.SCSICommandLength = 10,
.SCSICommandData =
.LUN = LUNIndex,
.SCSICommandLength = 10,
.SCSICommandData =
@@
-569,9
+575,9
@@
uint8_t MassStore_TestUnitReady(const uint8_t LUNIndex)
/* Create a CBW with a SCSI command to issue TEST UNIT READY command */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
/* Create a CBW with a SCSI command to issue TEST UNIT READY command */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
- .Signature = CBW_SIGNATURE,
+ .Signature =
MS_
CBW_SIGNATURE,
.DataTransferLength = 0,
.DataTransferLength = 0,
- .Flags =
COMMAND_DIRECTION
_DATA_IN,
+ .Flags =
MS_COMMAND_DIR
_DATA_IN,
.LUN = LUNIndex,
.SCSICommandLength = 6,
.SCSICommandData =
.LUN = LUNIndex,
.SCSICommandLength = 6,
.SCSICommandData =
@@
-620,9
+626,9
@@
uint8_t MassStore_ReadCapacity(const uint8_t LUNIndex,
/* Create a CBW with a SCSI command to issue READ CAPACITY command */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
/* Create a CBW with a SCSI command to issue READ CAPACITY command */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
- .Signature = CBW_SIGNATURE,
+ .Signature =
MS_
CBW_SIGNATURE,
.DataTransferLength = sizeof(SCSI_Capacity_t),
.DataTransferLength = sizeof(SCSI_Capacity_t),
- .Flags =
COMMAND_DIRECTION
_DATA_IN,
+ .Flags =
MS_COMMAND_DIR
_DATA_IN,
.LUN = LUNIndex,
.SCSICommandLength = 10,
.SCSICommandData =
.LUN = LUNIndex,
.SCSICommandLength = 10,
.SCSICommandData =
@@
-680,9
+686,9
@@
uint8_t MassStore_PreventAllowMediumRemoval(const uint8_t LUNIndex,
/* Create a CBW with a SCSI command to issue PREVENT ALLOW MEDIUM REMOVAL command */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
/* Create a CBW with a SCSI command to issue PREVENT ALLOW MEDIUM REMOVAL command */
MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
{
- .Signature = CBW_SIGNATURE,
+ .Signature =
MS_
CBW_SIGNATURE,
.DataTransferLength = 0,
.DataTransferLength = 0,
- .Flags =
COMMAND_DIRECTION
_DATA_OUT,
+ .Flags =
MS_COMMAND_DIR
_DATA_OUT,
.LUN = LUNIndex,
.SCSICommandLength = 6,
.SCSICommandData =
.LUN = LUNIndex,
.SCSICommandLength = 6,
.SCSICommandData =