~ruther/qmk_firmware

cc5693e0f13b02a281de04d5e39a4ffbecabf1ac — tmk 10 years ago ed52ebb + b92ea1f
Merge branch 'u2_fix'
3 files changed, 27 insertions(+), 2 deletions(-)

A protocol/pjrc/MEMO.txt
M protocol/pjrc/usb.h
M protocol/pjrc/usb_mouse.h
A protocol/pjrc/MEMO.txt => protocol/pjrc/MEMO.txt +25 -0
@@ 0,0 1,25 @@
Endpoint configuration
----------------------
0   Control endpoint
1   keyboard
2   mouse
3   debug
4   extra key(consumer/system)
5   nkro keyboard(supported only on ATmega32U4/16U4 and AT90USB64/128)


ATmega32U4/16U4, AT90USB64/128
• Endpoint 0:programmable size FIFO up to 64 bytes, default control endpoint
• Endpoints 1 programmable size FIFO up to 256 bytes in ping-pong mode.
• Endpoints 2 to 6: programmable size FIFO up to 64 bytes in ping-pong mode.

AT90USB82/162, ATmega8U2/16U2/32U2
• Endpoint 0:programmable size FIFO up to 64 bytes, default control endpoint
• Endpoints 1 and 2: programmable size FIFO up to 64 bytes.
• Endpoints 3 and 4: programmable size FIFO up to 64 bytes with ping-pong mode.

ping-pong mode means double buffer feature.


NOTE: ATmega8U2/16U2/32U2 is not supported with PJRC stack at this time.
TODO: Macro definition for ATmega8U2/16U2/32U2 in usb.h

M protocol/pjrc/usb.h => protocol/pjrc/usb.h +1 -1
@@ 122,7 122,7 @@ void usb_remote_wakeup(void);
#define KBD_INTERFACE		0
#define KBD_ENDPOINT		1
#define KBD_SIZE		8
#define KBD_BUFFER		EP_DOUBLE_BUFFER
#define KBD_BUFFER		EP_SINGLE_BUFFER
#define KBD_REPORT_KEYS		(KBD_SIZE - 2)

// secondary keyboard

M protocol/pjrc/usb_mouse.h => protocol/pjrc/usb_mouse.h +1 -1
@@ 32,7 32,7 @@
#define MOUSE_INTERFACE		1
#define MOUSE_ENDPOINT		2
#define MOUSE_SIZE		8
#define MOUSE_BUFFER		EP_DOUBLE_BUFFER
#define MOUSE_BUFFER		EP_SINGLE_BUFFER

#define MOUSE_BTN1 (1<<0)
#define MOUSE_BTN2 (1<<1)