summaryrefslogtreecommitdiffstats
path: root/keyboards/adafruit/macropad/config.h
diff options
context:
space:
mode:
authorjpe230 <pablin.123.ra@gmail.com>2022-07-08 17:33:03 -0500
committerGitHub <noreply@github.com>2022-07-08 23:33:03 +0100
commit13b2b93fb0e66e421430733360f0af852bae8964 (patch)
tree21c15023ad33c967b002215e8b71ae4f65abe394 /keyboards/adafruit/macropad/config.h
parent30f2556ae99039c7b296c268b9002e6a40d43279 (diff)
Add Adafruit Macropad (#17512)
Diffstat (limited to 'keyboards/adafruit/macropad/config.h')
-rw-r--r--keyboards/adafruit/macropad/config.h137
1 files changed, 137 insertions, 0 deletions
diff --git a/keyboards/adafruit/macropad/config.h b/keyboards/adafruit/macropad/config.h
new file mode 100644
index 0000000000..8d7298e09c
--- /dev/null
+++ b/keyboards/adafruit/macropad/config.h
@@ -0,0 +1,137 @@
+/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 3
+
+#define VENDOR_ID 0x239A
+#define PRODUCT_ID 0x0108
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Adafruit
+#define PRODUCT Macropad RP2040
+
+/* Keyboard Matrix Assignments */
+// clang-format off
+#define DIRECT_PINS { \
+ { NO_PIN, NO_PIN, GP0 }, \
+ { GP1, GP2, GP3 }, \
+ { GP4, GP5, GP6 }, \
+ { GP7, GP8, GP9 }, \
+ { GP10, GP11, GP12 } \
+}
+// clang-format on
+
+/* OLED SPI Defines */
+#define OLED_DISPLAY_128X64
+#define OLED_IC OLED_IC_SH1106
+
+/* OLED SPI Pins */
+#define OLED_DC_PIN GP24
+#define OLED_CS_PIN GP22
+#define OLED_RST_PIN GP23
+
+/* Shift OLED columns by 2 pixels */
+#define OLED_COLUMN_OFFSET 2
+
+/* Divisor for OLED */
+#define OLED_SPI_DIVISOR 4
+
+/* ChibiOS SPI definitions */
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN GP26
+#define SPI_MOSI_PIN GP27
+#define SPI_MISO_PIN GP28
+
+/* Encoders */
+#define ENCODERS_PAD_A { GP18 }
+#define ENCODERS_PAD_B { GP17 }
+
+#define DEBOUNCE 5
+
+/* Bootmagic lite */
+/* (Press the Encoder button while plugging the keyboard to enter the bootloader) */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 2
+
+/* Double tap the side button to enter bootloader */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP13
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
+
+/* Audio (Unsupported for now)*/
+// #define AUDIO_PIN GP16
+// #define SPEAKER_SHUTDOWN GP14
+
+#ifdef RGB_MATRIX_ENABLE
+
+ /* RGB Defines */
+# define RGB_DI_PIN GP19
+# define DRIVER_LED_TOTAL 12
+# define RGBLED_NUM 12
+
+ /* Enable Framebuffer and keypress effects */
+# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+# define RGB_MATRIX_KEYPRESSES
+
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# define ENABLE_RGB_MATRIX_RAINDROPS
+# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_HUE_BREATHING
+# define ENABLE_RGB_MATRIX_HUE_PENDULUM
+# define ENABLE_RGB_MATRIX_HUE_WAVE
+# define ENABLE_RGB_MATRIX_PIXEL_RAIN
+# define ENABLE_RGB_MATRIX_PIXEL_FLOW
+# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif