summaryrefslogtreecommitdiff
path: root/examples/device
diff options
context:
space:
mode:
authorhathach <[email protected]>2018-07-31 13:45:31 +0700
committerhathach <[email protected]>2018-07-31 13:45:31 +0700
commit191b73b58c5ad6a098c652f31459ef39078a484b (patch)
tree21da893ed74932c7fa9e82687f35ee4a86e8833e /examples/device
parent1a0ffcee25566c03cc267c96cceb7a0189d2b026 (diff)
tud_hid_generic_get_report_cb and tud_hid_generic_set_report_cb are mandantory
Diffstat (limited to 'examples/device')
-rw-r--r--examples/device/nrf52840/src/main.c9
-rw-r--r--examples/device/nrf52840/src/msc_device_app.c14
2 files changed, 19 insertions, 4 deletions
diff --git a/examples/device/nrf52840/src/main.c b/examples/device/nrf52840/src/main.c
index 0008bb69c..9a80accc9 100644
--- a/examples/device/nrf52840/src/main.c
+++ b/examples/device/nrf52840/src/main.c
@@ -143,7 +143,16 @@ void usb_hid_task(void)
}
}
+uint16_t tud_hid_generic_get_report_cb(uint8_t report_id, hid_report_type_t report_type, uint8_t* buffer, uint16_t reqlen)
+{
+ // TODO not Implemented
+ return 0;
+}
+void tud_hid_generic_set_report_cb(uint8_t report_id, hid_report_type_t report_type, uint8_t const* buffer, uint16_t bufsize)
+{
+ // TODO not Implemented
+}
//--------------------------------------------------------------------+
// tinyusb callbacks
diff --git a/examples/device/nrf52840/src/msc_device_app.c b/examples/device/nrf52840/src/msc_device_app.c
index 916e4331c..9f5015042 100644
--- a/examples/device/nrf52840/src/msc_device_app.c
+++ b/examples/device/nrf52840/src/msc_device_app.c
@@ -90,17 +90,23 @@ int32_t tud_msc_scsi_cb (uint8_t lun, uint8_t const scsi_cmd[16], void* buffer,
start_stop->start;
start_stop->load_eject;
*/
- resplen = 0;
+ resplen = 0;
break;
- // negative means error -> tusb could stall and/or response with failed status
- default: return -1;
+
+ default:
+ // Set Sense = Invalid Command Operation
+ tud_msc_set_sense(lun, SCSI_SENSE_ILLEGAL_REQUEST, 0x20, 0x00);
+
+ // negative means error -> tinyusb could stall and/or response with failed status
+ resplen = -1;
+ break;
}
// return resplen must not larger than bufsize
if ( resplen > bufsize ) resplen = bufsize;
- if ( response && resplen )
+ if ( response && (resplen > 0) )
{
if(in_xfer)
{