Fix endpoint buffer setting for AT90USB82/162.
authortmk <nobody@nowhere>
Thu, 22 Nov 2012 01:06:02 +0000 (10:06 +0900)
committertmk <nobody@nowhere>
Mon, 24 Nov 2014 07:04:03 +0000 (16:04 +0900)
protocol/pjrc/MEMO.txt [new file with mode: 0644]
protocol/pjrc/usb.h
protocol/pjrc/usb_mouse.h

diff --git a/protocol/pjrc/MEMO.txt b/protocol/pjrc/MEMO.txt
new file mode 100644 (file)
index 0000000..b0f0598
--- /dev/null
@@ -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
index 0eb58fc3955c73879ba3a400966e247ff95e515b..a195b671d03bb3c44a71008fb508a65a64e2fdf6 100644 (file)
@@ -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
index eb3056126d58ee8468fb520b3c0a3d828b235e45..ce26887c9b2247abeb85f77ee3cff49dc9203e3c 100644 (file)
@@ -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)
Imprint / Impressum