]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/ergodox_ez/config.h
adds timeout to avr i2c
[qmk_firmware.git] / keyboards / ergodox_ez / config.h
index b258a5b2e60fa5453cf66fea6d51e6155aacc313..ec1620030c9c18e55c0265bc4472092426824bc9 100644 (file)
@@ -31,6 +31,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 /* key matrix size */
 #define MATRIX_ROWS 14
+#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2)
 #define MATRIX_COLS 6
 
 #define MOUSEKEY_INTERVAL       20
@@ -61,8 +62,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* number of backlight levels */
 #define BACKLIGHT_LEVELS 3
 
+#ifndef LED_BRIGHTNESS_LO
 #define LED_BRIGHTNESS_LO       15
+#endif
+#ifndef LED_BRIGHTNESS_HI
 #define LED_BRIGHTNESS_HI       255
+#endif
+#define LED_BRIGHTNESS_DEFAULT (LED_BRIGHTNESS_HI)
 
 /* ws2812 RGB LED */
 #define RGB_DI_PIN D7
@@ -75,18 +81,44 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* fix space cadet rollover issue */
 #define DISABLE_SPACE_CADET_ROLLOVER
 
-// #define RGB_MIDI
-#define RGBW_BB_TWI
+// #define RGBW_BB_TWI
 
-#define RGBW 1
+// #define RGBW 1
 
-/* Set 0 if debouncing isn't needed */
+/* "debounce" is measured in keyboard scans. Some users reported
+ * needing values as high as 15, which was at the time around 50ms.
+ * If you don't define it here, the matrix code will default to
+ * 5, which is now closer to 10ms, but still plenty according to
+ * manufacturer specs.
+ *
+ * Default is quite high, because of reports with some production
+ * runs seeming to need it. This may change when configuration for
+ * this is more directly exposed.
+ */
 #define DEBOUNCE    15
 
 #define PREVENT_STUCK_MODIFIERS
 
 #define USB_MAX_POWER_CONSUMPTION 500
 
+// RGB backlight
+#define DRIVER_ADDR_1 0b1110100
+#define DRIVER_ADDR_2 0b1110111
+#define DRIVER_COUNT 2
+#define DRIVER_1_LED_TOTAL 24
+#define DRIVER_2_LED_TOTAL 24
+#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL
+#define RGB_MATRIX_SKIP_FRAMES 10
+
+// #define RGBLIGHT_COLOR_LAYER_0 0x00, 0x00, 0xFF
+/* #define RGBLIGHT_COLOR_LAYER_1 0x00, 0x00, 0xFF */
+/* #define RGBLIGHT_COLOR_LAYER_2 0xFF, 0x00, 0x00 */
+/* #define RGBLIGHT_COLOR_LAYER_3 0x00, 0xFF, 0x00 */
+/* #define RGBLIGHT_COLOR_LAYER_4 0xFF, 0xFF, 0x00 */
+/* #define RGBLIGHT_COLOR_LAYER_5 0x00, 0xFF, 0xFF */
+/* #define RGBLIGHT_COLOR_LAYER_6 0xFF, 0x00, 0xFF */
+/* #define RGBLIGHT_COLOR_LAYER_7 0xFF, 0xFF, 0xFF */
+
 /*
  * Feature disable options
  *  These options are also useful to firmware size reduction.
@@ -106,4 +138,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define NO_ACTION_FUNCTION
 //#define DEBUG_MATRIX_SCAN_RATE
 
+#define I2C_TIMEOUT 1000
+
 #endif