complete msc demo with lpc13uxx with readonly flash
This commit is contained in:
@@ -65,7 +65,7 @@ static scsi_read_capacity10_data_t mscd_read_capacity10_data TUSB_CFG_ATTR_USBRA
|
||||
};
|
||||
|
||||
ATTR_USB_MIN_ALIGNMENT
|
||||
static scsi_sense_fixed_data_t mscd_sense_data TUSB_CFG_ATTR_USBRAM =
|
||||
scsi_sense_fixed_data_t mscd_sense_data TUSB_CFG_ATTR_USBRAM =
|
||||
{
|
||||
.response_code = 0x70,
|
||||
.sense_key = 0, // no errors
|
||||
@@ -140,6 +140,14 @@ msc_csw_status_t tusbd_msc_scsi_received_isr (uint8_t coreid, uint8_t lun, uint8
|
||||
default: return MSC_CSW_STATUS_FAILED;
|
||||
}
|
||||
|
||||
//------------- clear sense data if it is not request sense command -------------//
|
||||
if ( SCSI_CMD_REQUEST_SENSE != scsi_cmd[0] )
|
||||
{
|
||||
mscd_sense_data.sense_key = SCSI_SENSEKEY_NONE;
|
||||
mscd_sense_data.additional_sense_code = 0;
|
||||
mscd_sense_data.additional_sense_qualifier = 0;
|
||||
}
|
||||
|
||||
return MSC_CSW_STATUS_PASSED;
|
||||
}
|
||||
|
||||
|
||||
@@ -75,6 +75,8 @@ issue at github.com/hathach/tinyusb"
|
||||
void msc_dev_app_init(void);
|
||||
OSAL_TASK_FUNCTION( msc_dev_app_task ) (void* p_task_para);
|
||||
|
||||
extern scsi_sense_fixed_data_t mscd_sense_data;
|
||||
|
||||
#else
|
||||
|
||||
#define msc_dev_app_init()
|
||||
|
||||
@@ -103,6 +103,9 @@ uint16_t tusbd_msc_read10_cb (uint8_t coreid, uint8_t lun, void** pp_buffer, uin
|
||||
uint16_t tusbd_msc_write10_cb(uint8_t coreid, uint8_t lun, void** pp_buffer, uint32_t lba, uint16_t block_count)
|
||||
{
|
||||
(*pp_buffer) = NULL;
|
||||
|
||||
mscd_sense_data.sense_key = SCSI_SENSEKEY_DATA_PROTECT; // let host know that this is read-only disk
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user