VSF Documented
vsf_usb_dfu.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Copyright(C)2009-2022 by VSF Team *
3 * *
4 * Licensed under the Apache License, Version 2.0 (the "License"); *
5 * you may not use this file except in compliance with the License. *
6 * You may obtain a copy of the License at *
7 * *
8 * http://www.apache.org/licenses/LICENSE-2.0 *
9 * *
10 * Unless required by applicable law or agreed to in writing, software *
11 * distributed under the License is distributed on an "AS IS" BASIS, *
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
13 * See the License for the specific language governing permissions and *
14 * limitations under the License. *
15 * *
16 ****************************************************************************/
17
18#ifndef __VSF_USB_DFU_H__
19#define __VSF_USB_DFU_H__
20
21/*============================ INCLUDES ======================================*/
22
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29/*============================ MACROS ========================================*/
30
31#define USB_DFU_PROTOCOL_APP 1
32#define USB_DFU_PROTOCOL_DFU 2
33
34#define USB_DT_DFU_FUNCTIONAL_SIZE 9
35
36/*============================ MACROFIED FUNCTIONS ===========================*/
37/*============================ TYPES =========================================*/
38
39typedef enum usb_dfu_req_t {
48
49typedef enum usb_dfu_desc_t {
52
53typedef enum usb_dfu_state_t {
66
67enum {
68 DFU_OK = 0,
84};
85
90
91 union {
93 struct {
98 };
104
112
113/*============================ GLOBAL VARIABLES ==============================*/
114/*============================ PROTOTYPES ====================================*/
115
116#ifdef __cplusplus
117}
118#endif
119
120#endif // __VSF_USB_DFU_H__
unsigned short uint16_t
Definition stdint.h:7
unsigned char uint8_t
Definition stdint.h:5
Definition vsf_usb_dfu.h:87
union usb_dfu_functional_descriptor_t::@160 VSF_CAL_PACKED
uint8_t bmAttributes
Definition vsf_usb_dfu.h:92
uint8_t bitCanDnload
Definition vsf_usb_dfu.h:94
uint8_t bitWillDetach
Definition vsf_usb_dfu.h:97
uint8_t bDescriptorType
Definition vsf_usb_dfu.h:89
uint8_t bLength
Definition vsf_usb_dfu.h:88
uint16_t bcdDFUVersion
Definition vsf_usb_dfu.h:102
uint8_t bitCanUpload
Definition vsf_usb_dfu.h:95
uint16_t wTransferSize
Definition vsf_usb_dfu.h:101
uint16_t wDetachTimeOut
Definition vsf_usb_dfu.h:100
uint8_t bitManifestationTolerant
Definition vsf_usb_dfu.h:96
Definition vsf_usb_dfu.h:106
uint8_t bwPollTimeout[3]
Definition vsf_usb_dfu.h:108
uint8_t bState
Definition vsf_usb_dfu.h:109
uint8_t iString
Definition vsf_usb_dfu.h:110
uint8_t bStatus
Definition vsf_usb_dfu.h:107
@ USB_TYPE_CLASS
Definition usb_common.h:110
usb_dfu_req_t
Definition vsf_usb_dfu.h:39
@ USB_DFUREQ_UPLOAD
Definition vsf_usb_dfu.h:42
@ USB_DFUREQ_DNLOAD
Definition vsf_usb_dfu.h:41
@ USB_DFUREQ_GETSTATUS
Definition vsf_usb_dfu.h:43
@ USB_DFUREQ_DETACH
Definition vsf_usb_dfu.h:40
@ USB_DFUREQ_CLRSTATUS
Definition vsf_usb_dfu.h:44
@ USB_DFUREQ_GETSTATE
Definition vsf_usb_dfu.h:45
@ USB_DFUREQ_ABORT
Definition vsf_usb_dfu.h:46
@ DFU_errFILE
Definition vsf_usb_dfu.h:70
@ DFU_OK
Definition vsf_usb_dfu.h:68
@ DFU_errPROG
Definition vsf_usb_dfu.h:74
@ DFU_errADDRESS
Definition vsf_usb_dfu.h:76
@ DFU_errUNKNOWN
Definition vsf_usb_dfu.h:82
@ DFU_errNOTDONE
Definition vsf_usb_dfu.h:77
@ DFU_errFIRMWARE
Definition vsf_usb_dfu.h:78
@ DFU_erVERIFY
Definition vsf_usb_dfu.h:75
@ DFU_errPOR
Definition vsf_usb_dfu.h:81
@ DFU_errCHECK_ERASED
Definition vsf_usb_dfu.h:73
@ DFU_errWRITE
Definition vsf_usb_dfu.h:71
@ DFU_errTARGET
Definition vsf_usb_dfu.h:69
@ DFU_errERASE
Definition vsf_usb_dfu.h:72
@ DFU_errVENDOR
Definition vsf_usb_dfu.h:79
@ DFU_errSTALLEDPKT
Definition vsf_usb_dfu.h:83
@ DFU_errUSBR
Definition vsf_usb_dfu.h:80
usb_dfu_desc_t
Definition vsf_usb_dfu.h:49
@ USB_DT_DFU_FUNCTIONAL
Definition vsf_usb_dfu.h:50
usb_dfu_state_t
Definition vsf_usb_dfu.h:53
@ DFU_appIDLE
Definition vsf_usb_dfu.h:54
@ DFU_dfuDNBUSY
Definition vsf_usb_dfu.h:58
@ DFU_dfuIDLE
Definition vsf_usb_dfu.h:56
@ DFU_dfuDNLOAD_SYNC
Definition vsf_usb_dfu.h:57
@ DFU_dfuDNLOAD_IDLE
Definition vsf_usb_dfu.h:59
@ DFU_dfuUPLOAD_IDLE
Definition vsf_usb_dfu.h:63
@ DFU_dfuERROR
Definition vsf_usb_dfu.h:64
@ DFU_dfuMANIFEST
Definition vsf_usb_dfu.h:61
@ DFU_dfuMANIFEST_SYNC
Definition vsf_usb_dfu.h:60
@ DFU_dfuMANIFEST_WAIT_RESET
Definition vsf_usb_dfu.h:62
@ DFU_appDETACH
Definition vsf_usb_dfu.h:55
struct usb_dfu_functional_descriptor_t VSF_CAL_PACKED