summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Wasson <jwasson+github@gmail.com>2017-08-20 05:35:41 +0200
committerJack Humbert <jack.humb@gmail.com>2017-08-20 17:51:57 +0200
commitbdc0880ca5ead73a4a66355ade85b005507764c1 (patch)
treef530f3c1d1506fab723718541fcb5cfb5dc347cc
parentfc70c9ac9e725310144d7b8227fbc931e5b2d5a1 (diff)
downloadqmk_firmware-bdc0880ca5ead73a4a66355ade85b005507764c1.tar.gz
qmk_firmware-bdc0880ca5ead73a4a66355ade85b005507764c1.tar.xz
Add compile error if too many endpoints are defined for the ATmega32U4.
-rw-r--r--docs/stenography.md2
-rw-r--r--tmk_core/protocol/lufa/descriptor.h3
2 files changed, 3 insertions, 2 deletions
diff --git a/docs/stenography.md b/docs/stenography.md
index 8c779032b..5b457a2a6 100644
--- a/docs/stenography.md
+++ b/docs/stenography.md
@@ -30,7 +30,7 @@ GeminiPR encodes 42 keys into a 6-byte packet. While TX Bolt contains everything
## Configuring QMK for Steno
-Firstly, enable steno in your keymap's Makefile. You should also diable mousekeys to prevent conflicts.
+Firstly, enable steno in your keymap's Makefile. You may also need disable mousekeys, extra keys, or another USB endpoint to prevent conflicts. The builtin USB stack for some processors only supports a certain number of USB endpoints and the virtual serial port needed for steno fills 3 of them.
```Makefile
STENO_ENABLE = yes
diff --git a/tmk_core/protocol/lufa/descriptor.h b/tmk_core/protocol/lufa/descriptor.h
index cde44abc9..43001c977 100644
--- a/tmk_core/protocol/lufa/descriptor.h
+++ b/tmk_core/protocol/lufa/descriptor.h
@@ -238,7 +238,8 @@ typedef struct
# define CDC_OUT_EPNUM MIDI_STREAM_OUT_EPNUM
#endif
-#if defined(__AVR_ATmega32U2__) && CDC_OUT_EPNUM > 4
+#if (defined(__AVR_ATmega32U2__) && CDC_OUT_EPNUM > 4) || \
+ (defined(__AVR_ATmega32U4__) && CDC_OUT_EPNUM > 6)
# error "Endpoints are not available enough to support all functions. Remove some in Makefile.(MOUSEKEY, EXTRAKEY, CONSOLE, NKRO, MIDI, SERIAL)"
#endif