~ruther/qmk_firmware

446f87f9e82e57fdc255cab3051a4b598fa4da75 — tmk 13 years ago e157aa7
Fiexed AT90USB162 compatibility.(different number of endpoint)
2 files changed, 9 insertions(+), 3 deletions(-)

M pjrc/usb.c
M pjrc/usb.h
M pjrc/usb.c => pjrc/usb.c +2 -2
@@ 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;
		}

M pjrc/usb.h => pjrc/usb.h +7 -1
@@ 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)