From f5d8bda6e6bdca235126f2766739bd2ad25af11a Mon Sep 17 00:00:00 2001 From: Gareth McMullin Date: Thu, 19 Jan 2012 21:51:42 +1300 Subject: Support DFU GET_STATUS request when in application mode. --- src/stm32/cdcacm.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/stm32/cdcacm.c b/src/stm32/cdcacm.c index 099b20e..0ecb553 100644 --- a/src/stm32/cdcacm.c +++ b/src/stm32/cdcacm.c @@ -434,6 +434,20 @@ static int cdcacm_control_request(struct usb_setup_data *req, uint8_t **buf, return 1; } #endif + case DFU_GETSTATUS: + if(req->wIndex == DFU_IF_NO) { + u32 bwPollTimeout = 0; /* 24-bit integer in DFU class spec */ + + (*buf)[0] = DFU_STATUS_OK; + (*buf)[1] = 0; + (*buf)[2] = 0; + (*buf)[3] = 0; + (*buf)[4] = STATE_APP_IDLE; + (*buf)[5] = 0; /* iString not used here */ + *len = 6; + + return 1; + } case DFU_DETACH: if(req->wIndex == DFU_IF_NO) { *complete = dfu_detach_complete; -- cgit v1.2.3