projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Minor updates to the Benito programmer - remove redundant PORT register manipulations.
[pub/USBasp.git]
/
LUFA
/
Drivers
/
USB
/
HighLevel
/
USBInterrupt.c
diff --git
a/LUFA/Drivers/USB/HighLevel/USBInterrupt.c
b/LUFA/Drivers/USB/HighLevel/USBInterrupt.c
index
86dfa85
..
20545a4
100644
(file)
--- a/
LUFA/Drivers/USB/HighLevel/USBInterrupt.c
+++ b/
LUFA/Drivers/USB/HighLevel/USBInterrupt.c
@@
-32,9
+32,9
@@
\r
void USB_INT_DisableAllInterrupts(void)
\r
{
\r
\r
void USB_INT_DisableAllInterrupts(void)
\r
{
\r
- #if defined(USB_
FULL_CONTROLLE
R)
\r
+ #if defined(USB_
SERIES_6_AVR) || defined(USB_SERIES_7_AV
R)
\r
USBCON &= ~((1 << VBUSTE) | (1 << IDTE));
\r
USBCON &= ~((1 << VBUSTE) | (1 << IDTE));
\r
- #elif defined(USB_
MODIFIED_FULL_CONTROLLE
R)
\r
+ #elif defined(USB_
SERIES_4_AV
R)
\r
USBCON &= ~(1 << VBUSTE);
\r
#endif
\r
\r
USBCON &= ~(1 << VBUSTE);
\r
#endif
\r
\r
@@
-50,7
+50,7
@@
void USB_INT_DisableAllInterrupts(void)
\r
void USB_INT_ClearAllInterrupts(void)
\r
{
\r
\r
void USB_INT_ClearAllInterrupts(void)
\r
{
\r
- #if defined(USB_
FULL_CONTROLLER) || defined(USB_MODIFIED_FULL_CONTROLLE
R)
\r
+ #if defined(USB_
SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AV
R)
\r
USBINT = 0;
\r
#endif
\r
\r
USBINT = 0;
\r
#endif
\r
\r
@@
-67,7
+67,7
@@
void USB_INT_ClearAllInterrupts(void)
ISR(USB_GEN_vect, ISR_BLOCK)
\r
{
\r
#if defined(USB_CAN_BE_DEVICE)
\r
ISR(USB_GEN_vect, ISR_BLOCK)
\r
{
\r
#if defined(USB_CAN_BE_DEVICE)
\r
- #if defined(USB_
FULL_CONTROLLER) || defined(USB_MODIFIED_FULL_CONTROLLE
R)
\r
+ #if defined(USB_
SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AV
R)
\r
if (USB_INT_HasOccurred(USB_INT_VBUS) && USB_INT_IsEnabled(USB_INT_VBUS))
\r
{
\r
USB_INT_Clear(USB_INT_VBUS);
\r
if (USB_INT_HasOccurred(USB_INT_VBUS) && USB_INT_IsEnabled(USB_INT_VBUS))
\r
{
\r
USB_INT_Clear(USB_INT_VBUS);
\r
@@
-78,17
+78,17
@@
ISR(USB_GEN_vect, ISR_BLOCK)
{
\r
EVENT_USB_VBUSConnect();
\r
\r
{
\r
EVENT_USB_VBUSConnect();
\r
\r
- if (USB_
IsConnect
ed)
\r
+ if (USB_
DeviceState != DEVICE_STATE_Unattach
ed)
\r
EVENT_USB_Disconnect();
\r
\r
USB_ResetInterface();
\r
EVENT_USB_Disconnect();
\r
\r
USB_ResetInterface();
\r
-
\r
- USB_IsConnected = true;
\r
\r
\r
+ USB_DeviceState = DEVICE_STATE_Powered;
\r
EVENT_USB_Connect();
\r
}
\r
else
\r
{
\r
EVENT_USB_Connect();
\r
}
\r
else
\r
{
\r
+ USB_DeviceState = DEVICE_STATE_Unattached;
\r
EVENT_USB_Disconnect();
\r
\r
USB_Detach();
\r
EVENT_USB_Disconnect();
\r
\r
USB_Detach();
\r
@@
-96,8
+96,6
@@
ISR(USB_GEN_vect, ISR_BLOCK)
USB_PLL_Off();
\r
USB_REG_Off();
\r
\r
USB_PLL_Off();
\r
USB_REG_Off();
\r
\r
- USB_IsConnected = false;
\r
-
\r
EVENT_USB_VBUSDisconnect();
\r
\r
USB_INT_Clear(USB_INT_VBUS);
\r
EVENT_USB_VBUSDisconnect();
\r
\r
USB_INT_Clear(USB_INT_VBUS);
\r
@@
-117,16
+115,12
@@
ISR(USB_GEN_vect, ISR_BLOCK)
if (!(USB_Options & USB_OPT_MANUAL_PLL))
\r
USB_PLL_Off();
\r
\r
if (!(USB_Options & USB_OPT_MANUAL_PLL))
\r
USB_PLL_Off();
\r
\r
- USB_IsSuspended = true;
\r
-
\r
+ #if defined(USB_SERIES_2_AVR) && !defined(NO_LIMITED_CONTROLLER_CONNECT)
\r
+ USB_DeviceState = DEVICE_STATE_Unattached;
\r
+ EVENT_USB_Disconnect();
\r
+ #else
\r
+ USB_DeviceState = DEVICE_STATE_Suspended;
\r
EVENT_USB_Suspend();
\r
EVENT_USB_Suspend();
\r
-
\r
- #if defined(USB_LIMITED_CONTROLLER) && !defined(NO_LIMITED_CONTROLLER_CONNECT)
\r
- if (USB_IsConnected)
\r
- {
\r
- USB_IsConnected = false;
\r
- EVENT_USB_Disconnect();
\r
- }
\r
#endif
\r
}
\r
\r
#endif
\r
}
\r
\r
@@
-145,23
+139,20
@@
ISR(USB_GEN_vect, ISR_BLOCK)
USB_INT_Disable(USB_INT_WAKEUP);
\r
USB_INT_Enable(USB_INT_SUSPEND);
\r
\r
USB_INT_Disable(USB_INT_WAKEUP);
\r
USB_INT_Enable(USB_INT_SUSPEND);
\r
\r
- #if defined(USB_
LIMITED_CONTROLLE
R) && !defined(NO_LIMITED_CONTROLLER_CONNECT)
\r
- if (!(USB_IsConnected))
\r
- {
\r
- USB_IsConnected = true;
\r
-
EVENT_USB_Connect()
;
\r
- }
\r
+ #if defined(USB_
SERIES_2_AV
R) && !defined(NO_LIMITED_CONTROLLER_CONNECT)
\r
+ USB_DeviceState = DEVICE_STATE_Powered;
\r
+ EVENT_USB_Connect();
\r
+ #else
\r
+
USB_DeviceState = (USB_ConfigurationNumber) ? DEVICE_STATE_Configured : DEVICE_STATE_Addressed
;
\r
+ EVENT_USB_WakeUp();
\r
#endif
\r
#endif
\r
-
\r
- USB_IsSuspended = false;
\r
-
\r
- EVENT_USB_WakeUp();
\r
}
\r
\r
if (USB_INT_HasOccurred(USB_INT_EORSTI) && USB_INT_IsEnabled(USB_INT_EORSTI))
\r
{
\r
USB_INT_Clear(USB_INT_EORSTI);
\r
\r
}
\r
\r
if (USB_INT_HasOccurred(USB_INT_EORSTI) && USB_INT_IsEnabled(USB_INT_EORSTI))
\r
{
\r
USB_INT_Clear(USB_INT_EORSTI);
\r
\r
+ USB_DeviceState = DEVICE_STATE_Default;
\r
USB_ConfigurationNumber = 0;
\r
\r
USB_INT_Clear(USB_INT_SUSPEND);
\r
USB_ConfigurationNumber = 0;
\r
\r
USB_INT_Clear(USB_INT_SUSPEND);
\r
@@
-217,7
+208,7
@@
ISR(USB_GEN_vect, ISR_BLOCK)
\r
USB_INT_Enable(USB_INT_DDISCI);
\r
\r
\r
USB_INT_Enable(USB_INT_DDISCI);
\r
\r
- USB_HostState = HOST_STATE_
Attach
ed;
\r
+ USB_HostState = HOST_STATE_
Power
ed;
\r
}
\r
\r
if (USB_INT_HasOccurred(USB_INT_BCERRI) && USB_INT_IsEnabled(USB_INT_BCERRI))
\r
}
\r
\r
if (USB_INT_HasOccurred(USB_INT_BCERRI) && USB_INT_IsEnabled(USB_INT_BCERRI))
\r
@@
-227,7
+218,7
@@
ISR(USB_GEN_vect, ISR_BLOCK)
EVENT_USB_DeviceEnumerationFailed(HOST_ENUMERROR_NoDeviceDetected, 0);
\r
EVENT_USB_DeviceUnattached();
\r
\r
EVENT_USB_DeviceEnumerationFailed(HOST_ENUMERROR_NoDeviceDetected, 0);
\r
EVENT_USB_DeviceUnattached();
\r
\r
- if (USB_
IsConnect
ed)
\r
+ if (USB_
HostState != HOST_STATE_Unattach
ed)
\r
EVENT_USB_Disconnect();
\r
\r
USB_ResetInterface();
\r
EVENT_USB_Disconnect();
\r
\r
USB_ResetInterface();
\r
@@
-239,13
+230,16
@@
ISR(USB_GEN_vect, ISR_BLOCK)
{
\r
USB_INT_Clear(USB_INT_IDTI);
\r
\r
{
\r
USB_INT_Clear(USB_INT_IDTI);
\r
\r
- if (USB_IsConnected)
\r
+ if (USB_DeviceState != DEVICE_STATE_Unattached)
\r
+ EVENT_USB_Disconnect();
\r
+
\r
+ if (USB_HostState != HOST_STATE_Unattached)
\r
{
\r
{
\r
- if (USB_CurrentMode == USB_MODE_HOST)
\r
- EVENT_USB_DeviceUnattached();
\r
- else
\r
- EVENT_USB_Disconnect();
\r
+ EVENT_USB_Disconnect();
\r
+ EVENT_USB_DeviceUnattached();
\r
}
\r
}
\r
+
\r
+ EVENT_USB_Disconnect();
\r
\r
EVENT_USB_UIDChange();
\r
\r
\r
EVENT_USB_UIDChange();
\r
\r