This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Hoernchen gerrit-no-reply at lists.osmocom.orgHoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17037 )
Change subject: usb dfu header cleanup
......................................................................
usb dfu header cleanup
Change-Id: I689d7122872b28444b6c5343df3bac0c30f23b1d
---
M sysmoOCTSIM/usb/class/dfu/device/dfudf.c
M sysmoOCTSIM/usb/class/dfu/device/dfudf.h
D sysmoOCTSIM/usb/class/dfu/device/dfudf_desc.h
D sysmoOCTSIM/usb/class/dfu/usb_protocol_dfu.h
M sysmoOCTSIM/usb_dfu.h
M sysmoOCTSIM/usb_start.h
6 files changed, 45 insertions(+), 319 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/37/17037/1
diff --git a/sysmoOCTSIM/usb/class/dfu/device/dfudf.c b/sysmoOCTSIM/usb/class/dfu/device/dfudf.c
index 2b11fb4..7a035da 100644
--- a/sysmoOCTSIM/usb/class/dfu/device/dfudf.c
+++ b/sysmoOCTSIM/usb/class/dfu/device/dfudf.c
@@ -21,8 +21,8 @@
*/
#include "dfudf.h"
-#include "usb_protocol_dfu.h"
-#include "dfudf_desc.h"
+#include "usb_dfu.h"
+
/** USB Device DFU Function Specific Data */
struct dfudf_func_data {
@@ -35,12 +35,8 @@
static struct usbdf_driver _dfudf;
static struct dfudf_func_data _dfudf_funcd;
-/** USB DFU functional descriptor (with DFU attributes) */
-static const uint8_t usb_dfu_func_desc_bytes[] = {DFUD_IFACE_DESCB};
-static const usb_dfu_func_desc_t* usb_dfu_func_desc = (usb_dfu_func_desc_t*)&usb_dfu_func_desc_bytes;
-
-enum usb_dfu_state dfu_state = USB_DFU_STATE_APP_IDLE;
-enum usb_dfu_status dfu_status = USB_DFU_STATUS_OK;
+enum dfu_state dfu_state = DFU_STATE_appIDLE;
+enum usb_dfu_status dfu_status = DFU_STATUS_OK;
uint8_t dfu_download_data[512];
uint16_t dfu_download_length = 0;
@@ -68,7 +64,7 @@
ifc_desc.bInterfaceNumber = ifc[2];
ifc_desc.bInterfaceClass = ifc[5];
- if (USB_DFU_CLASS == ifc_desc.bInterfaceClass) {
+ if (0xfe == ifc_desc.bInterfaceClass) {
if (func_data->func_iface == ifc_desc.bInterfaceNumber) { // Initialized
return ERR_ALREADY_INITIALIZED;
} else if (func_data->func_iface != 0xFF) { // Occupied
@@ -104,7 +100,7 @@
if (desc) {
ifc_desc.bInterfaceClass = desc->sod[5];
// Check interface
- if (ifc_desc.bInterfaceClass != USB_DFU_CLASS) {
+ if (ifc_desc.bInterfaceClass != 0xfe) {
return ERR_NOT_FOUND;
}
}
@@ -156,7 +152,7 @@
uint8_t response[6]; // buffer for the response to this request
switch (req->bRequest) {
case USB_DFU_UPLOAD: // upload firmware from flash not supported
- dfu_state = USB_DFU_STATE_DFU_ERROR; // unsupported class request
+ dfu_state = DFU_STATE_dfuERROR; // unsupported class request
to_return = ERR_UNSUPPORTED_OP; // stall control pipe (don't reply to the request)
break;
case USB_DFU_GETSTATUS: // get status
@@ -167,24 +163,13 @@
response[4] = dfu_state; // set state
response[5] = 0; // string not used
to_return = usbdc_xfer(ep, response, 6, false); // send back status
- if (USB_DFU_STATE_DFU_DNLOAD_SYNC == dfu_state) { // download has not completed
- dfu_state = USB_DFU_STATE_DFU_DNBUSY; // switch to busy state
- } else if (USB_DFU_STATE_DFU_MANIFEST_SYNC == dfu_state) {
- if (!dfu_manifestation_complete) {
- dfu_state = USB_DFU_STATE_DFU_MANIFEST; // go to manifest mode
- } else if (usb_dfu_func_desc->bmAttributes & USB_DFU_ATTRIBUTES_MANIFEST_TOLERANT) {
- dfu_state = USB_DFU_STATE_DFU_IDLE; // go back to idle mode
- } else { // this should not happen (after manifestation the state should be dfuMANIFEST-WAIT-RESET if we are not manifest tolerant)
- dfu_state = USB_DFU_STATE_DFU_MANIFEST_WAIT_RESET; // wait for reset
- }
- }
break;
case USB_DFU_GETSTATE: // get state
response[0] = dfu_state; // return state
to_return = usbdc_xfer(ep, response, 1, false); // send back state
break;
default: // all other DFU class IN request
- dfu_state = USB_DFU_STATE_DFU_ERROR; // unknown or unsupported class request
+ dfu_state = DFU_STATE_dfuERROR; // unknown or unsupported class request
to_return = ERR_INVALID_ARG; // stall control pipe (don't reply to the request)
break;
}
@@ -205,7 +190,7 @@
switch (req->bRequest) {
case USB_DFU_DETACH: // detach makes only sense in DFU run-time/application mode
#if (DISABLE_DFU_DETACH != 0)
- dfu_state = USB_DFU_STATE_DFU_ERROR; // unsupported class request
+ dfu_state = DFU_STATE_dfuERROR; // unsupported class request
to_return = ERR_UNSUPPORTED_OP; // stall control pipe (don't reply to the request)
#else
to_return = usbdc_xfer(ep, NULL, 0, false);
@@ -218,19 +203,19 @@
#endif
break;
case USB_DFU_CLRSTATUS: // clear status
- if (USB_DFU_STATE_DFU_ERROR == dfu_state || USB_DFU_STATUS_OK != dfu_status) { // only clear in case there is an error
- dfu_status = USB_DFU_STATUS_OK; // clear error status
- dfu_state = USB_DFU_STATE_DFU_IDLE; // put back in idle state
+ if (DFU_STATE_dfuERROR == dfu_state || DFU_STATUS_OK != dfu_status) { // only clear in case there is an error
+ dfu_status = DFU_STATUS_OK; // clear error status
+ dfu_state = DFU_STATE_dfuIDLE; // put back in idle state
}
to_return = usbdc_xfer(ep, NULL, 0, false); // send ACK
break;
case USB_DFU_ABORT: // abort current operation
dfu_download_offset = 0; // reset download progress
- dfu_state = USB_DFU_STATE_DFU_IDLE; // put back in idle state (nothing else to do)
+ dfu_state = DFU_STATE_dfuIDLE; // put back in idle state (nothing else to do)
to_return = usbdc_xfer(ep, NULL, 0, false); // send ACK
break;
default: // all other DFU class OUT request
- dfu_state = USB_DFU_STATE_DFU_ERROR; // unknown class request
+ dfu_state = DFU_STATE_dfuERROR; // unknown class request
to_return = ERR_INVALID_ARG; // stall control pipe (don't reply to the request)
break;
}
diff --git a/sysmoOCTSIM/usb/class/dfu/device/dfudf.h b/sysmoOCTSIM/usb/class/dfu/device/dfudf.h
index cee5845..3a1be1e 100644
--- a/sysmoOCTSIM/usb/class/dfu/device/dfudf.h
+++ b/sysmoOCTSIM/usb/class/dfu/device/dfudf.h
@@ -35,10 +35,10 @@
#define USBDF_DFU_H_
#include "usbdc.h"
-#include "usb_protocol_dfu.h"
+
/** Current DFU state */
-extern enum usb_dfu_state dfu_state;
+extern enum dfu_state dfu_state;
/**< Current DFU status */
extern enum usb_dfu_status dfu_status;
diff --git a/sysmoOCTSIM/usb/class/dfu/device/dfudf_desc.h b/sysmoOCTSIM/usb/class/dfu/device/dfudf_desc.h
deleted file mode 100644
index 50a79e4..0000000
--- a/sysmoOCTSIM/usb/class/dfu/device/dfudf_desc.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * \file
- *
- * \brief USB Device Stack DFU Function Descriptor Setting.
- *
- * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries.
- * Copyright (c) 2018 sysmocom -s.f.m.c. GmbH, Author: Kevin Redon <kredon at sysmocom.de>
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- */
-
-#ifndef USBDF_DFU_DESC_H_
-#define USBDF_DFU_DESC_H_
-
-#include "usb_protocol.h"
-#include "usbd_config.h"
-#include "usb_protocol_dfu.h"
-
-#define DFUD_DEV_DESC \
- USB_DEV_DESC_BYTES(CONF_USB_DFUD_BCDUSB, \
- CONF_USB_DFUD_BDEVICECLASS, \
- CONF_USB_DFUD_BDEVICESUBCLASS, \
- CONF_USB_DFUD_BDEVICEPROTOCOL, \
- CONF_USB_DFUD_BMAXPKSZ0, \
- CONF_USB_OPENMOKO_IDVENDOR, \
- CONF_USB_OSMOASF4DFU_IDPRODUCT, \
- CONF_USB_DFUD_BCDDEVICE, \
- CONF_USB_DFUD_IMANUFACT, \
- CONF_USB_DFUD_IPRODUCT, \
- CONF_USB_DFUD_ISERIALNUM, \
- CONF_USB_DFUD_BNUMCONFIG)
-
-#define DFUD_DEV_QUAL_DESC \
- USB_DEV_QUAL_DESC_BYTES(CONF_USB_DFUD_BCDUSB, \
- CONF_USB_DFUD_BDEVICECLASS, \
- CONF_USB_DFUD_BDEVICESUBCLASS, \
- CONF_USB_DFUD_BMAXPKSZ0, \
- CONF_USB_DFUD_BNUMCONFIG)
-
-#define DFUD_CFG_DESC \
- USB_CONFIG_DESC_BYTES(CONF_USB_DFUD_WTOTALLENGTH, \
- CONF_USB_DFUD_BNUMINTERFACES, \
- CONF_USB_DFUD_BCONFIGVAL, \
- CONF_USB_DFUD_ICONFIG, \
- CONF_USB_DFUD_BMATTRI, \
- CONF_USB_DFUD_BMAXPOWER)
-
-#define DFUD_OTH_SPD_CFG_DESC \
- USB_OTH_SPD_CFG_DESC_BYTES(CONF_USB_DFUD_WTOTALLENGTH, \
- CONF_USB_DFUD_BNUMINTERFACES, \
- CONF_USB_DFUD_BCONFIGVAL, \
- CONF_USB_DFUD_ICONFIG, \
- CONF_USB_DFUD_BMATTRI, \
- CONF_USB_DFUD_BMAXPOWER)
-
-#define DFUD_IFACE_DESCB USB_DFU_FUNC_DESC_BYTES(USB_DFU_ATTRIBUTES_CAN_DOWNLOAD | USB_DFU_ATTRIBUTES_WILL_DETACH, \
- 0, /**< detaching makes only sense in run-time mode */ \
- 512, /**< transfer size corresponds to page size for optimal flash writing */ \
- 0x0110 /**< DFU specification version 1.1 used */ )
-
-#define DFUD_IFACE_DESCES \
- USB_IFACE_DESC_BYTES(CONF_USB_DFUD_BIFCNUM, \
- CONF_USB_DFUD_BALTSET, \
- CONF_USB_DFUD_BNUMEP, \
- USB_DFU_CLASS, \
- USB_DFU_SUBCLASS, \
- USB_DFU_PROTOCOL_DFU, \
- CONF_USB_DFUD_IINTERFACE), \
- DFUD_IFACE_DESCB
-
-#define DFUD_STR_DESCES \
- CONF_USB_DFUD_LANGID_DESC \
- CONF_USB_DFUD_IMANUFACT_STR_DESC \
- CONF_USB_DFUD_IPRODUCT_STR_DESC \
- CONF_USB_DFUD_ISERIALNUM_STR_DESC \
- CONF_USB_DFUD_ICONFIG_STR_DESC \
- CONF_USB_DFUD_IINTERFACE_STR_DESC
-
-/** USB Device descriptors and configuration descriptors */
-#define DFUD_DESCES_LS_FS \
- DFUD_DEV_DESC, DFUD_CFG_DESC, DFUD_IFACE_DESCES, DFUD_STR_DESCES
-
-#define DFUD_HS_DESCES_LS_FS \
- DFUD_DEV_DESC, DFUD_DEV_QUAL_DESC, DFUD_CFG_DESC, DFUD_M_IFACE_DESCES, \
- DFUD_IFACE_DESCES, DFUD_OTH_SPD_CFG_DESC, \
- DFUD_IFACE_DESCES_HS, DFUD_STR_DESCES
-
-#define DFUD_HS_DESCES_HS \
- DFUD_CFG_DESC, DFUD_IFACE_DESCES, DFUD_IFACE_DESCES_HS, DFUD_OTH_SPD_CFG_DESC, \
- DFUD_IFACE_DESCES
-
-#endif /* USBDF_DFU_DESC_H_ */
diff --git a/sysmoOCTSIM/usb/class/dfu/usb_protocol_dfu.h b/sysmoOCTSIM/usb/class/dfu/usb_protocol_dfu.h
deleted file mode 100644
index 7f82743..0000000
--- a/sysmoOCTSIM/usb/class/dfu/usb_protocol_dfu.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/**
- * \file
- *
- * \brief USB Device Firmware Upgrade (DFU) protocol definitions
- *
- * Copyright (c) 2018 sysmocom -s.f.m.c. GmbH, Author: Kevin Redon <kredon at sysmocom.de>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef _USB_PROTOCOL_DFU_H_
-#define _USB_PROTOCOL_DFU_H_
-
-#include "usb_includes.h"
-
-/*
- * \ingroup usb_protocol_group
- * \defgroup dfu_protocol_group Device Firmware Upgrade Definitions
- * \implements USB Device Firmware Upgrade Specification, Revision 1.1
- * @{
- */
-
-/**
- * \name USB DFU Subclass IDs
- */
-//@{
-#define USB_DFU_CLASS 0xFE //!< Application Specific Class Code
-//@}
-
-//! \name USB DFU Subclass IDs
-//@{
-#define USB_DFU_SUBCLASS 0x01 //!< Device Firmware Upgrade Code
-//@}
-
-//! \name USB DFU Protocol IDs
-//@{
-#define USB_DFU_PROTOCOL_RUNTIME 0x01 //!< Runtime protocol
-#define USB_DFU_PROTOCOL_DFU 0x02 //!< DFU mode protocol
-//@}
-
-//! \name USB DFU Attributes bits mask
-//@{
-#define USB_DFU_ATTRIBUTES_CAN_DOWNLOAD 0x01
-#define USB_DFU_ATTRIBUTES_CAN_UPLOAD 0x02
-#define USB_DFU_ATTRIBUTES_MANIFEST_TOLERANT 0x04
-#define USB_DFU_ATTRIBUTES_WILL_DETACH 0x08
-//@}
-
-//! \name USB DFU Request IDs
-//@{
-#define USB_REQ_DFU_DETACH 0x00
-#define USB_REQ_DFU_DNLOAD 0x01
-#define USB_REQ_DFU_UPLOAD 0x02
-#define USB_REQ_DFU_GETSTATUS 0x03
-#define USB_REQ_DFU_CLRSTATUS 0x04
-#define USB_REQ_DFU_GETSTATE 0x05
-#define USB_REQ_DFU_ABORT 0x06
-//@}
-
-/*
- * Need to pack structures tightly, or the compiler might insert padding
- * and violate the spec-mandated layout.
- */
-COMPILER_PACK_SET(1)
-
-//! \name USB DFU Descriptors
-//@{
-
-//! DFU Functional Descriptor
-typedef struct usb_dfu_func_desc {
- uint8_t bFunctionLength; /**< Size of this descriptor, in bytes (always 9) */
- uint8_t bDescriptorType; /**< DFU FUNCTIONAL descriptor type (always 0x21) */
- uint8_t bmAttributes; /**< DFU attributes bit mask */
- le16_t wDetachTimeOut; /**< Time, in milliseconds, that the device will wait after receipt of the DFU_DETACH request */
- le16_t wTransferSize; /**< Maximum number of bytes that the device can accept per control-write transaction */
- le16_t bcdDFUVersion; /**< Numeric expression identifying the version of the DFU Specification release */
-} usb_dfu_func_desc_t;
-
-#define USB_DFU_FUNC_DESC_LEN 9
-#define USB_DFU_FUNC_DESC_TYPE 0x21
-#define USB_DFU_FUNC_DESC_BYTES(bmAttributes, wDetachTimeOut, wTransferSize, bcdDFUVersion) \
- USB_DFU_FUNC_DESC_LEN, /* bFunctionLength */ \
- USB_DFU_FUNC_DESC_TYPE, /* bDescriptorType */ \
- bmAttributes, \
- LE_BYTE0(wDetachTimeOut), LE_BYTE1(wDetachTimeOut), \
- LE_BYTE0(wTransferSize), LE_BYTE1(wTransferSize), \
- LE_BYTE0(bcdDFUVersion), LE_BYTE1(bcdDFUVersion)
-
-COMPILER_PACK_RESET()
-
-//! @}
-
-//! USB DFU Request IDs
-enum usb_dfu_req {
- USB_DFU_DETACH,
- USB_DFU_DNLOAD,
- USB_DFU_UPLOAD,
- USB_DFU_GETSTATUS,
- USB_DFU_CLRSTATUS,
- USB_DFU_GETSTATE,
- USB_DFU_ABORT,
-};
-
-//! USB DFU Device Status IDs
-enum usb_dfu_status {
- USB_DFU_STATUS_OK,
- USB_DFU_STATUS_ERR_TARGET,
- USB_DFU_STATUS_ERR_FILE,
- USB_DFU_STATUS_ERR_WRITE,
- USB_DFU_STATUS_ERR_ERASE,
- USB_DFU_STATUS_ERR_CHECK_ERASED,
- USB_DFU_STATUS_ERR_PROG,
- USB_DFU_STATUS_ERR_VERIFY,
- USB_DFU_STATUS_ERR_ADDRESS,
- USB_DFU_STATUS_ERR_NOTDONE,
- USB_DFU_STATUS_ERR_FIRMWARE,
- USB_DFU_STATUS_ERR_VENDOR,
- USB_DFU_STATUS_ERR_USBR,
- USB_DFU_STATUS_ERR_POR,
- USB_DFU_STATUS_ERR_UNKNOWN,
- USB_DFU_STATUS_ERR_STALLEDPKT,
-};
-
-//! USB DFU Device State IDs
-enum usb_dfu_state {
- USB_DFU_STATE_APP_IDLE,
- USB_DFU_STATE_APP_DETACH,
- USB_DFU_STATE_DFU_IDLE,
- USB_DFU_STATE_DFU_DNLOAD_SYNC,
- USB_DFU_STATE_DFU_DNBUSY,
- USB_DFU_STATE_DFU_DNLOAD_IDLE,
- USB_DFU_STATE_DFU_MANIFEST_SYNC,
- USB_DFU_STATE_DFU_MANIFEST,
- USB_DFU_STATE_DFU_MANIFEST_WAIT_RESET,
- USB_DFU_STATE_DFU_UPLOAD_IDLE,
- USB_DFU_STATE_DFU_ERROR,
-};
-
-#endif // _USB_PROTOCOL_DFU_H_
diff --git a/sysmoOCTSIM/usb_dfu.h b/sysmoOCTSIM/usb_dfu.h
index b447c7c..ee30a26 100644
--- a/sysmoOCTSIM/usb_dfu.h
+++ b/sysmoOCTSIM/usb_dfu.h
@@ -30,13 +30,16 @@
#define USB_DT_DFU_SIZE 9
/* DFU class-specific requests (Section 3, DFU Rev 1.1) */
-#define USB_REQ_DFU_DETACH 0x00
-#define USB_REQ_DFU_DNLOAD 0x01
-#define USB_REQ_DFU_UPLOAD 0x02
-#define USB_REQ_DFU_GETSTATUS 0x03
-#define USB_REQ_DFU_CLRSTATUS 0x04
-#define USB_REQ_DFU_GETSTATE 0x05
-#define USB_REQ_DFU_ABORT 0x06
+enum usb_dfu_req {
+ USB_DFU_DETACH,
+ USB_DFU_DNLOAD,
+ USB_DFU_UPLOAD,
+ USB_DFU_GETSTATUS,
+ USB_DFU_CLRSTATUS,
+ USB_DFU_GETSTATE,
+ USB_DFU_ABORT,
+};
+
struct dfu_status {
uint8_t bStatus;
@@ -45,22 +48,24 @@
uint8_t iString;
} __attribute__((packed));
-#define DFU_STATUS_OK 0x00
-#define DFU_STATUS_errTARGET 0x01
-#define DFU_STATUS_errFILE 0x02
-#define DFU_STATUS_errWRITE 0x03
-#define DFU_STATUS_errERASE 0x04
-#define DFU_STATUS_errCHECK_ERASED 0x05
-#define DFU_STATUS_errPROG 0x06
-#define DFU_STATUS_errVERIFY 0x07
-#define DFU_STATUS_errADDRESS 0x08
-#define DFU_STATUS_errNOTDONE 0x09
-#define DFU_STATUS_errFIRMWARE 0x0a
-#define DFU_STATUS_errVENDOR 0x0b
-#define DFU_STATUS_errUSBR 0x0c
-#define DFU_STATUS_errPOR 0x0d
-#define DFU_STATUS_errUNKNOWN 0x0e
-#define DFU_STATUS_errSTALLEDPKT 0x0f
+enum usb_dfu_status {
+ DFU_STATUS_OK =0x00,
+ DFU_STATUS_errTARGET =0x01,
+ DFU_STATUS_errFILE =0x02,
+ DFU_STATUS_errWRITE =0x03,
+ DFU_STATUS_errERASE =0x04,
+ DFU_STATUS_errCHECK_ERASED =0x05,
+ DFU_STATUS_errPROG =0x06,
+ DFU_STATUS_errVERIFY =0x07,
+ DFU_STATUS_errADDRESS =0x08,
+ DFU_STATUS_errNOTDONE =0x09,
+ DFU_STATUS_errFIRMWARE =0x0a,
+ DFU_STATUS_errVENDOR =0x0b,
+ DFU_STATUS_errUSBR =0x0c,
+ DFU_STATUS_errPOR =0x0d,
+ DFU_STATUS_errUNKNOWN =0x0e,
+ DFU_STATUS_errSTALLEDPKT =0x0f,
+};
enum dfu_state {
DFU_STATE_appIDLE = 0,
diff --git a/sysmoOCTSIM/usb_start.h b/sysmoOCTSIM/usb_start.h
index 089c58d..12537bb 100644
--- a/sysmoOCTSIM/usb_start.h
+++ b/sysmoOCTSIM/usb_start.h
@@ -16,7 +16,7 @@
#include "cdcdf_acm_desc.h"
#include "ccid_df.h"
#include "dfudf.h"
-#include "dfudf_desc.h"
+
void usb_start(void);
void cdc_device_acm_init(void);
--
To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17037
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ccid-firmware
Gerrit-Branch: master
Gerrit-Change-Id: I689d7122872b28444b6c5343df3bac0c30f23b1d
Gerrit-Change-Number: 17037
Gerrit-PatchSet: 1
Gerrit-Owner: Hoernchen <ewild at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200128/6b45116e/attachment.htm>