Mercurial > louis > kiibohd-controller
annotate Bootloader/dfu.desc.c @ 303:f9c406854bc2
Set DFU bootloader name
Fixes #22
Each (dfu) interface may have more than one a ltsetting each with their own index and name. According to the DFU_1.1 pdf section 4.2.3, "* Alternate settings can be used by an application to access additional memory segments. In this case,
it is suggested that each alternate setting employ a string descriptor to indicate the target memory
segment; e.g., 'EEPROM'." Whether or not we end up using multiple memory segments it is still good to have a descriptive name incase there are other dfu devices connected.
Edit: Fixed previous indentation
author | Rowan Decker <Smasher816@gmail.com> |
---|---|
date | Sun, 08 Mar 2015 16:59:34 -0700 |
parents | b091bb09c55f |
children | f4d4cad283c6 |
rev | line source |
---|---|
193
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
1 // Originally Generated from MCHCK Toolkit |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
2 /* Copyright (c) Jacob Alexander 2014 <haata@kiibohd.com> |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
3 * |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
4 * This program is free software: you can redistribute it and/or modify |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
5 * it under the terms of the GNU General Public License as published by |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
6 * the Free Software Foundation, either version 3 of the License, or |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
7 * (at your option) any later version. |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
8 * |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
9 * This program is distributed in the hope that it will be useful, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
12 * GNU General Public License for more details. |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
13 * |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
14 * You should have received a copy of the GNU General Public License |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
15 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
16 */ |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
17 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
18 // ----- Local Includes ----- |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
19 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
20 #include "dfu.desc.h" |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
21 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
22 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
23 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
24 // ----- Generated Includes ----- |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
25 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
26 #include <buildvars.h> |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
27 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
28 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
29 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
30 // ----- Structs ----- |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
31 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
32 static const struct usb_config_1 usb_config_1 = { |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
33 .config = { |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
34 .bLength = sizeof(struct usb_desc_config_t), |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
35 .bDescriptorType = USB_DESC_CONFIG, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
36 .wTotalLength = sizeof(struct usb_config_1), |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
37 .bNumInterfaces = 1, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
38 .bConfigurationValue = 1, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
39 .iConfiguration = 0, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
40 .one = 1, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
41 .bMaxPower = 100 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
42 }, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
43 .usb_function_0 = { |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
44 .iface = { |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
45 .bLength = sizeof(struct usb_desc_iface_t), |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
46 .bDescriptorType = USB_DESC_IFACE, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
47 .bInterfaceNumber = 0, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
48 .bAlternateSetting = 0, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
49 .bNumEndpoints = 0, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
50 .bInterfaceClass = USB_DEV_CLASS_APP, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
51 .bInterfaceSubClass = USB_DEV_SUBCLASS_APP_DFU, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
52 .bInterfaceProtocol = USB_DEV_PROTO_DFU_DFU, |
303
f9c406854bc2
Set DFU bootloader name
Rowan Decker <Smasher816@gmail.com>
parents:
193
diff
changeset
|
53 .iInterface = 4 |
193
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
54 }, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
55 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
56 .dfu = { |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
57 .bLength = sizeof(struct dfu_desc_functional), |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
58 .bDescriptorType = { |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
59 .id = 0x1, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
60 .type_type = USB_DESC_TYPE_CLASS |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
61 }, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
62 .will_detach = 1, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
63 .manifestation_tolerant = 0, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
64 .can_upload = 0, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
65 .can_download = 1, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
66 .wDetachTimeOut = 0, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
67 .wTransferSize = USB_DFU_TRANSFER_SIZE, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
68 .bcdDFUVersion = { .maj = 1, .min = 1 } |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
69 } |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
70 }, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
71 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
72 }; |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
73 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
74 static const struct usbd_config usbd_config_1 = { |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
75 .init = init_usb_bootloader, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
76 .suspend = NULL, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
77 .resume = NULL, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
78 .desc = &usb_config_1.config, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
79 .function = {&dfu_function}, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
80 }; |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
81 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
82 static const struct usb_desc_dev_t dfu_device_dev_desc = { |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
83 .bLength = sizeof(struct usb_desc_dev_t), |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
84 .bDescriptorType = USB_DESC_DEV, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
85 .bcdUSB = { .maj = 2 }, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
86 .bDeviceClass = USB_DEV_CLASS_SEE_IFACE, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
87 .bDeviceSubClass = USB_DEV_SUBCLASS_SEE_IFACE, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
88 .bDeviceProtocol = USB_DEV_PROTO_SEE_IFACE, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
89 .bMaxPacketSize0 = EP0_BUFSIZE, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
90 .idVendor = VENDOR_ID, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
91 .idProduct = PRODUCT_ID, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
92 .bcdDevice = { .raw = 0 }, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
93 .iManufacturer = 1, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
94 .iProduct = 2, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
95 .iSerialNumber = 3, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
96 .bNumConfigurations = 1, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
97 }; |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
98 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
99 static const struct usb_desc_string_t * const dfu_device_str_desc[] = { |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
100 USB_DESC_STRING_LANG_ENUS, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
101 USB_DESC_STRING(STR_MANUFACTURER), |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
102 USB_DESC_STRING(STR_PRODUCT), |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
103 USB_DESC_STRING(STR_SERIAL), |
303
f9c406854bc2
Set DFU bootloader name
Rowan Decker <Smasher816@gmail.com>
parents:
193
diff
changeset
|
104 USB_DESC_STRING(STR_ALTNAME), |
193
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
105 NULL |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
106 }; |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
107 |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
108 const struct usbd_device dfu_device = { |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
109 .dev_desc = &dfu_device_dev_desc, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
110 .string_descs = dfu_device_str_desc, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
111 .configs = { |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
112 &usbd_config_1, |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
113 NULL |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
114 } |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
115 }; |
b091bb09c55f
Adding McHCK DFU Bootloader
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
116 |