summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2012-11-22 02:06:02 +0100
committertmk <nobody@nowhere>2014-11-24 08:04:03 +0100
commitb92ea1f985de8f014974920fe982027b3d82b2e0 (patch)
treecd1733048894a35823595d8283f8759fa27317c9
parented52ebb9870a26496b13a0565c1aaca8ded3465b (diff)
downloadqmk_firmware-b92ea1f985de8f014974920fe982027b3d82b2e0.tar.gz
qmk_firmware-b92ea1f985de8f014974920fe982027b3d82b2e0.tar.xz
Fix endpoint buffer setting for AT90USB82/162.
-rw-r--r--protocol/pjrc/MEMO.txt25
-rw-r--r--protocol/pjrc/usb.h2
-rw-r--r--protocol/pjrc/usb_mouse.h2
3 files changed, 27 insertions, 2 deletions
diff --git a/protocol/pjrc/MEMO.txt b/protocol/pjrc/MEMO.txt
new file mode 100644
index 000000000..b0f059831
--- /dev/null
+++ b/protocol/pjrc/MEMO.txt
@@ -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
diff --git a/protocol/pjrc/usb.h b/protocol/pjrc/usb.h
index 0eb58fc39..a195b671d 100644
--- a/protocol/pjrc/usb.h
+++ b/protocol/pjrc/usb.h
@@ -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
diff --git a/protocol/pjrc/usb_mouse.h b/protocol/pjrc/usb_mouse.h
index eb3056126..ce26887c9 100644
--- a/protocol/pjrc/usb_mouse.h
+++ b/protocol/pjrc/usb_mouse.h
@@ -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)