From 37409534d7c8165853b4e673aa95d8bda8377806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Redon?= Date: Wed, 9 Jan 2019 14:44:31 +0100 Subject: enable flashing by providing real downloaded data length Change-Id: I6f16170a4b41a70d89954e2c4a841efc67a26786 --- usb/class/dfu/device/dfudf.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/usb/class/dfu/device/dfudf.c b/usb/class/dfu/device/dfudf.c index aefcab4..41e235b 100644 --- a/usb/class/dfu/device/dfudf.c +++ b/usb/class/dfu/device/dfudf.c @@ -245,11 +245,9 @@ static int32_t dfudf_out_req(uint8_t ep, struct usb_req *req, enum usb_ctrl_stag } else { // there is data to be flash if (USB_SETUP_STAGE == stage) { // there will be data to be flash to_return = usbdc_xfer(ep, dfu_download_data, req->wLength, false); // send ack to the setup request to get the data - //to_return = usbdc_xfer(ep, NULL, 0, false); // send ACK } else { // now there is data to be flashed dfu_download_progress = req->wValue * sizeof(dfu_download_data); // remember which block to flash - dfu_download_length = 0; - //dfu_download_length = req->wLength; // remember the data size to be flash + dfu_download_length = req->wLength; // remember the data size to be flash dfu_state = USB_DFU_STATE_DFU_DNLOAD_SYNC; // go to sync state to_return = usbdc_xfer(ep, NULL, 0, false); // ACK the data // we let the main application flash the data because this can be long and would stall the USB ISR -- cgit v1.2.3