summaryrefslogtreecommitdiff
path: root/ports/stm32/usb.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2018-05-14 16:15:58 +1000
committerDamien George <damien.p.george@gmail.com>2018-05-14 16:15:58 +1000
commitbf08a99ccdbe79bb13a1f28c48e31da8dbaaf6f6 (patch)
tree8022f30776e6a039b52735fa9cfabd0e922cc5e9 /ports/stm32/usb.c
parented32284b70d83c9ffd223070d8eb9cd05afc8465 (diff)
stm32/usb: Combine CDC lower-layer and interface state into one struct.
Diffstat (limited to 'ports/stm32/usb.c')
-rw-r--r--ports/stm32/usb.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/ports/stm32/usb.c b/ports/stm32/usb.c
index 1e8052d2f..e86f69ac5 100644
--- a/ports/stm32/usb.c
+++ b/ports/stm32/usb.c
@@ -119,12 +119,6 @@ bool pyb_usb_dev_init(uint16_t vid, uint16_t pid, usb_device_mode_t mode, USBD_H
if (!usb_dev->enabled) {
// only init USB once in the device's power-lifetime
- // configure the VID, PID and the USBD mode (interfaces it will expose)
- USBD_SetVIDPIDRelease(&usb_dev->usbd_cdc_msc_hid_state, vid, pid, 0x0200, mode == USBD_MODE_CDC);
- if (USBD_SelectMode(&usb_dev->usbd_cdc_msc_hid_state, mode, hid_info) != 0) {
- return false;
- }
-
// set up the USBD state
USBD_HandleTypeDef *usbd = &usb_dev->hUSBDDevice;
usbd->id = MICROPY_HW_USB_MAIN_DEV;
@@ -132,10 +126,16 @@ bool pyb_usb_dev_init(uint16_t vid, uint16_t pid, usb_device_mode_t mode, USBD_H
usbd->pDesc = (USBD_DescriptorsTypeDef*)&USBD_Descriptors;
usbd->pClass = &USBD_CDC_MSC_HID;
usb_dev->usbd_cdc_msc_hid_state.pdev = usbd;
- usb_dev->usbd_cdc_msc_hid_state.cdc = &usb_dev->usbd_cdc_itf;
+ usb_dev->usbd_cdc_msc_hid_state.cdc = &usb_dev->usbd_cdc_itf.base;
usb_dev->usbd_cdc_msc_hid_state.hid = &usb_dev->usbd_hid_itf;
usbd->pClassData = &usb_dev->usbd_cdc_msc_hid_state;
+ // configure the VID, PID and the USBD mode (interfaces it will expose)
+ USBD_SetVIDPIDRelease(&usb_dev->usbd_cdc_msc_hid_state, vid, pid, 0x0200, mode == USBD_MODE_CDC);
+ if (USBD_SelectMode(&usb_dev->usbd_cdc_msc_hid_state, mode, hid_info) != 0) {
+ return false;
+ }
+
switch (pyb_usb_storage_medium) {
#if MICROPY_HW_HAS_SDCARD
case PYB_USB_STORAGE_MEDIUM_SDCARD: