12
12
13
13
#if defined(USB_DISC_PIN )
14
14
// Compatibility with the old way to specify this
15
- #define USBD_ATTACH_PIN digitalPinToPinName(USB_DISC_PIN)
15
+ #define USBD_ATTACH_PINNAME digitalPinToPinName(USB_DISC_PIN)
16
16
#define USBD_ATTACH_LEVEL LOW
17
17
#warning "USB_DISC_PIN is deprecated, use USBD_ATTACH_PINNAME instead"
18
18
#endif /* USB_DISC_PIN */
23
23
// bit of a hack by using the DP pin as a DETACH pin, so it will be
24
24
// driven low very briefly, which looks like a missing pullup to the
25
25
// host. Probably violates USB specs, but works properly in practice.
26
- #if !defined(USBD_ATTACH_PINNAME ) && !defined(USBD_DETACH_PIN ) && !defined(USB_OTG_DCTL_SDIS )
26
+ #if !defined(USBD_ATTACH_PINNAME ) && !defined(USBD_DETACH_PINNAME ) && !defined(USB_OTG_DCTL_SDIS )
27
27
#if defined(USE_USB_HS_IN_FS )
28
28
#define USBD_DETACH_PINNAME USB_OTG_HS_DP
29
29
#elif defined(USB_OTG_FS )
35
35
// Make sure to revert to INPUT (instead of OUTPUT HIGH) after the
36
36
// detach "pulse" to restore normal operation.
37
37
#define USBD_ATTACH_MODE INPUT
38
- #endif /* !defined(USBD_ATTACH_PINNAME) && !defined(USBD_DETACH_PIN ) && !defined(USB_OTG_DCTL_SDIS) */
38
+ #endif /* !defined(USBD_ATTACH_PINNAME) && !defined(USBD_DETACH_PINNAME ) && !defined(USB_OTG_DCTL_SDIS) */
39
39
40
- #if defined(USBD_ATTACH_PINNAME ) && !defined(USBD_ATTACH_MODE )
40
+ #if defined(USBD_DETACH_PINNAME ) && !defined(USBD_ATTACH_MODE )
41
41
// Normally (e.g. when controlling a transistor), keep the pin in
42
42
// OUTPUT mode after the detach "pulse" to actively drive the
43
43
// transistor.
44
44
#define USBD_ATTACH_MODE OUTPUT
45
45
#endif /* defined(USBD_ATTACH_PINNAME) && !defined(USBD_ATTACH_MODE) */
46
46
47
47
// Some sanity checks
48
- #if defined(USBD_ATTACH_PINNAME ) && defined(USBD_DETACH_PIN )
49
- #error "Cannot define both USBD_ATTACH_PINNAME and USBD_DETACH_PIN "
50
- #endif /* defined(USBD_ATTACH_PINNAME) && defined(USBD_DETACH_PIN ) */
48
+ #if defined(USBD_ATTACH_PINNAME ) && defined(USBD_DETACH_PINNAME )
49
+ #error "Cannot define both USBD_ATTACH_PINNAME and USBD_DETACH_PINNAME "
50
+ #endif /* defined(USBD_ATTACH_PINNAME) && defined(USBD_DETACH_PINNAME ) */
51
51
#if defined(USBD_ATTACH_PINNAME ) && !defined(USBD_ATTACH_LEVEL )
52
52
#error "USBD_ATTACH_PINNAME also needs USBD_ATTACH_LEVEL defined"
53
53
#endif /* defined(USBD_ATTACH_PINNAME) && !defined(USBD_ATTACH_LEVEL) */
@@ -64,17 +64,17 @@ WEAK void USBD_reenumerate(void)
64
64
{
65
65
#ifndef USBD_REENUM_DISABLED
66
66
/* Re-enumerate the USB */
67
- #ifdef USBD_DETACH_PINNAME
67
+ #if defined( USBD_DETACH_PINNAME )
68
68
// Default is attached, so detach, wait, and reattach.
69
69
pin_function (USBD_DETACH_PINNAME , STM_PIN_DATA (STM_MODE_OUTPUT_PP , GPIO_NOPULL , 0 ));
70
70
digitalWriteFast (USBD_DETACH_PINNAME , USBD_DETACH_LEVEL );
71
71
delay (USBD_ENUM_DELAY );
72
- if (USBD_ATTACH_MODE_INPUT == OUTPUT ) {
72
+ if (USBD_ATTACH_MODE == OUTPUT ) {
73
73
digitalWriteFast (USBD_DETACH_PINNAME , !USBD_DETACH_LEVEL );
74
74
} else {
75
75
pin_function (USBD_DETACH_PINNAME , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
76
76
}
77
- #elif USBD_ATTACH_PINNAME
77
+ #elif defined( USBD_ATTACH_PINNAME )
78
78
// Default is detached, so just attach
79
79
pin_function (USBD_ATTACH_PINNAME , STM_PIN_DATA (STM_MODE_OUTPUT_PP , GPIO_NOPULL , 0 ));
80
80
digitalWriteFast (USBD_ATTACH_PINNAME , USBD_ATTACH_LEVEL );
0 commit comments