@@ -785,7 +785,7 @@ ISR(USB_COM_vect) | |||
usb_configuration = wValue; | |||
usb_send_in(); | |||
cfg = endpoint_config_table; | |||
for (i=1; i<=6; i++) { | |||
for (i=1; i<=MAX_ENDPOINT; i++) { | |||
UENUM = i; | |||
en = pgm_read_byte(cfg++); | |||
if (en) { | |||
@@ -796,7 +796,7 @@ ISR(USB_COM_vect) | |||
UECONX = 0; | |||
} | |||
} | |||
UERST = 0x7E; | |||
UERST = UERST_MASK; | |||
UERST = 0; | |||
return; | |||
} |
@@ -53,7 +53,13 @@ void usb_remote_wakeup(void); | |||
((s) == 16 ? 0x10 : \ | |||
0x00))) | |||
#define MAX_ENDPOINT 4 | |||
#if defined (__AVR_AT90USB162__) || defined (__AVR_AT90USB82__) | |||
# define MAX_ENDPOINT 4 | |||
# define UERST_MASK 0x1E | |||
#else | |||
# define MAX_ENDPOINT 6 | |||
# define UERST_MASK 0x7E | |||
#endif | |||
#define LSB(n) (n & 255) | |||
#define MSB(n) ((n >> 8) & 255) |