forked from mfulz_github/qmk_firmware
Slight changes to TeensyHID bootloader to ensure it builds under the 2KB boundary.
Changed USB_Init() and USB_Shutdown() so that they are no longer dependant on oneanother for possible code savings when the interface is never explicitly shut down.
This commit is contained in:
parent
e071f3897a
commit
7a5d045987
|
@ -54,9 +54,6 @@ int main(void)
|
|||
|
||||
while (RunBootloader)
|
||||
USB_USBTask();
|
||||
|
||||
/* Reset all configured hardware to their default states for the user app */
|
||||
ResetHardware();
|
||||
|
||||
/* Wait 100ms to give the host time to register the disconnection */
|
||||
_delay_ms(100);
|
||||
|
@ -85,13 +82,6 @@ void SetupHardware(void)
|
|||
USB_Init();
|
||||
}
|
||||
|
||||
/** Resets all configured hardware required for the bootloader back to their original states. */
|
||||
void ResetHardware(void)
|
||||
{
|
||||
/* Shut down the USB subsystem */
|
||||
USB_ShutDown();
|
||||
}
|
||||
|
||||
/** Event handler for the USB_ConfigurationChanged event. This configures the device's endpoints ready
|
||||
* to relay data to and from the attached USB host.
|
||||
*/
|
||||
|
|
|
@ -63,7 +63,6 @@
|
|||
|
||||
/* Function Prototypes: */
|
||||
void SetupHardware(void);
|
||||
void ResetHardware(void);
|
||||
|
||||
void EVENT_USB_ConfigurationChanged(void);
|
||||
void EVENT_USB_UnhandledControlPacket(void);
|
||||
|
|
|
@ -54,8 +54,6 @@ void USB_Init(
|
|||
#endif
|
||||
)
|
||||
{
|
||||
USB_ShutDown();
|
||||
|
||||
#if defined(USB_CAN_BE_BOTH)
|
||||
USB_CurrentMode = Mode;
|
||||
#endif
|
||||
|
@ -120,29 +118,9 @@ void USB_ShutDown(void)
|
|||
EVENT_USB_Disconnect();
|
||||
#endif
|
||||
|
||||
USB_ResetInterface();
|
||||
USB_Detach();
|
||||
|
||||
USB_INT_DisableAllInterrupts();
|
||||
USB_INT_ClearAllInterrupts();
|
||||
|
||||
USB_IsInitialized = false;
|
||||
|
||||
#if defined(USB_CAN_BE_HOST)
|
||||
USB_HostState = HOST_STATE_Unattached;
|
||||
#endif
|
||||
|
||||
#if defined(USB_CAN_BE_DEVICE)
|
||||
USB_DeviceState = DEVICE_STATE_Unattached;
|
||||
USB_ConfigurationNumber = 0;
|
||||
USB_RemoteWakeupEnabled = false;
|
||||
USB_CurrentlySelfPowered = false;
|
||||
#endif
|
||||
|
||||
#if defined(CAN_BE_BOTH)
|
||||
USB_CurrentMode = USB_MODE_NONE;
|
||||
#endif
|
||||
|
||||
USB_Interface_Disable();
|
||||
USB_Controller_Disable();
|
||||
USB_PLL_Off();
|
||||
|
||||
#if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
|
||||
|
@ -152,6 +130,12 @@ void USB_ShutDown(void)
|
|||
#if defined(USB_CAN_BE_BOTH)
|
||||
UHWCON &= ~(1 << UIDE);
|
||||
#endif
|
||||
|
||||
USB_IsInitialized = false;
|
||||
|
||||
#if defined(CAN_BE_BOTH)
|
||||
USB_CurrentMode = USB_MODE_NONE;
|
||||
#endif
|
||||
}
|
||||
|
||||
void USB_ResetInterface(void)
|
||||
|
@ -180,7 +164,7 @@ void USB_ResetInterface(void)
|
|||
while (!(USB_PLL_IsReady()));
|
||||
}
|
||||
|
||||
USB_Interface_Reset();
|
||||
USB_Controller_Reset();
|
||||
|
||||
#if defined(USB_CAN_BE_BOTH)
|
||||
if (UHWCON & (1 << UIDE))
|
||||
|
|
|
@ -334,9 +334,9 @@
|
|||
#define USB_CLK_Freeze() MACROS{ USBCON |= (1 << FRZCLK); }MACROE
|
||||
#define USB_CLK_Unfreeze() MACROS{ USBCON &= ~(1 << FRZCLK); }MACROE
|
||||
|
||||
#define USB_Interface_Enable() MACROS{ USBCON |= (1 << USBE); }MACROE
|
||||
#define USB_Interface_Disable() MACROS{ USBCON &= ~(1 << USBE); }MACROE
|
||||
#define USB_Interface_Reset() MACROS{ uint8_t Temp = USBCON; USBCON = (Temp & ~(1 << USBE)); \
|
||||
#define USB_Controller_Enable() MACROS{ USBCON |= (1 << USBE); }MACROE
|
||||
#define USB_Controller_Disable() MACROS{ USBCON &= ~(1 << USBE); }MACROE
|
||||
#define USB_Controller_Reset() MACROS{ uint8_t Temp = USBCON; USBCON = (Temp & ~(1 << USBE)); \
|
||||
USBCON = (Temp | (1 << USBE)); }MACROE
|
||||
|
||||
/* Inline Functions: */
|
||||
|
|
Loading…
Reference in New Issue