diff options
| author | Ha Thach <[email protected]> | 2019-12-24 21:11:40 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-12-24 21:11:40 +0700 |
| commit | 21cc8237e1130c489bc4ef3b7dea1c41eef25d56 (patch) | |
| tree | de9ef9a7d0bff897e84ec46853f21170900d250e /src/class | |
| parent | a601f59df5e61801cbbe87467c70a48b740d4bfd (diff) | |
| parent | bbada1d3e6dba5b339c7cd4129e5df7b3203c11b (diff) | |
Merge pull request #243 from hathach/port-samg55
merge WIP branch for samd dcd fix
Diffstat (limited to 'src/class')
| -rw-r--r-- | src/class/msc/msc_device.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/class/msc/msc_device.c b/src/class/msc/msc_device.c index bf2b5bb8c..93167bc6d 100644 --- a/src/class/msc/msc_device.c +++ b/src/class/msc/msc_device.c @@ -98,6 +98,34 @@ static inline uint16_t rdwr10_get_blockcount(uint8_t const command[]) }
//--------------------------------------------------------------------+
+// Debug
+//--------------------------------------------------------------------+
+#if CFG_TUSB_DEBUG >= 2
+
+static lookup_entry_t const _msc_scsi_cmd_lookup[] =
+{
+ { .key = SCSI_CMD_TEST_UNIT_READY , .data = "Test Unit Ready" },
+ { .key = SCSI_CMD_INQUIRY , .data = "Inquiry" },
+ { .key = SCSI_CMD_MODE_SELECT_6 , .data = "Mode_Select 6" },
+ { .key = SCSI_CMD_MODE_SENSE_6 , .data = "Mode_Sense 6" },
+ { .key = SCSI_CMD_START_STOP_UNIT , .data = "Start Stop Unit" },
+ { .key = SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL , .data = "Prevent Allow Medium Removal" },
+ { .key = SCSI_CMD_READ_CAPACITY_10 , .data = "Read Capacity10" },
+ { .key = SCSI_CMD_REQUEST_SENSE , .data = "Request Sense" },
+ { .key = SCSI_CMD_READ_FORMAT_CAPACITY , .data = "Read Format Capacity" },
+ { .key = SCSI_CMD_READ_10 , .data = "Read10" },
+ { .key = SCSI_CMD_WRITE_10 , .data = "Write10" }
+};
+
+static lookup_table_t const _msc_scsi_cmd_table =
+{
+ .count = TU_ARRAY_SIZE(_msc_scsi_cmd_lookup),
+ .items = _msc_scsi_cmd_lookup
+};
+
+#endif
+
+//--------------------------------------------------------------------+
// APPLICATION API
//--------------------------------------------------------------------+
bool tud_msc_set_sense(uint8_t lun, uint8_t sense_key, uint8_t add_sense_code, uint8_t add_sense_qualifier)
@@ -378,6 +406,9 @@ bool mscd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t TU_ASSERT( event == XFER_RESULT_SUCCESS &&
xferred_bytes == sizeof(msc_cbw_t) && p_cbw->signature == MSC_CBW_SIGNATURE );
+ TU_LOG2(" SCSI Command: %s\n", lookup_find(&_msc_scsi_cmd_table, p_cbw->command[0]));
+ // TU_LOG2_MEM(p_cbw, xferred_bytes, 2);
+
p_csw->signature = MSC_CSW_SIGNATURE;
p_csw->tag = p_cbw->tag;
p_csw->data_residue = 0;
@@ -448,6 +479,9 @@ bool mscd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t break;
case MSC_STAGE_DATA:
+ TU_LOG2(" SCSI Data\n");
+ //TU_LOG2_MEM(_mscd_buf, xferred_bytes, 2);
+
// OUT transfer, invoke callback if needed
if ( !tu_bit_test(p_cbw->dir, 7) )
{
@@ -538,6 +572,9 @@ bool mscd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t // Wait for the command status wrapper complete event
if( (ep_addr == p_msc->ep_in) && (xferred_bytes == sizeof(msc_csw_t)) )
{
+ TU_LOG2(" SCSI Status: %u\n", p_csw->status);
+ // TU_LOG2_MEM(p_csw, xferred_bytes, 2);
+
// Move to default CMD stage
p_msc->stage = MSC_STAGE_CMD;
|
