From 2098d98e57e7dd2b984658f17d72118ed150ac5e Mon Sep 17 00:00:00 2001
From: Xelus22 <17491233+Xelus22@users.noreply.github.com>
Date: Mon, 9 Nov 2020 23:05:49 +0000
Subject: [PATCH] Refactor xelus/dawn60 for Rev2 later (#10584)
* refactor for rev2 incoming
* fix cr
* Update keyboards/xelus/dawn60/rev1/config.h
* Update keyboards/xelus/dawn60/dawn60.h
* Update keyboards/xelus/dawn60/config.h
* Update keyboards/xelus/dawn60/dawn60.h
* fix tabs
* small update
---
keyboards/xelus/dawn60/config.h | 132 +------------------
keyboards/xelus/dawn60/dawn60.c | 19 +--
keyboards/xelus/dawn60/dawn60.h | 22 +---
keyboards/xelus/dawn60/readme.md | 2 +-
keyboards/xelus/dawn60/rev1/config.h | 143 +++++++++++++++++++++
keyboards/xelus/dawn60/rev1/rev1.c | 18 +++
keyboards/xelus/dawn60/rev1/rev1.h | 36 ++++++
keyboards/xelus/dawn60/{ => rev1}/rules.mk | 0
8 files changed, 205 insertions(+), 167 deletions(-)
create mode 100644 keyboards/xelus/dawn60/rev1/config.h
create mode 100644 keyboards/xelus/dawn60/rev1/rev1.c
create mode 100644 keyboards/xelus/dawn60/rev1/rev1.h
rename keyboards/xelus/dawn60/{ => rev1}/rules.mk (100%)
diff --git a/keyboards/xelus/dawn60/config.h b/keyboards/xelus/dawn60/config.h
index 59eb828fa6..ebd231ca97 100644
--- a/keyboards/xelus/dawn60/config.h
+++ b/keyboards/xelus/dawn60/config.h
@@ -1,4 +1,4 @@
-/* Copyright 2017 Jason Williams (Wilba)
+/* Copyright 2020 Harrison Chan (Xelus)
*
* 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
@@ -13,133 +13,5 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#pragma once
-
+
#include "config_common.h"
-
-// USB Device descriptor parameter
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0x0060 // Dawn60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Dawn60
-#define DESCRIPTION Dawn60
-
-// key matrix size
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 14
-
-//no underglow - prototype
-//#define MATRIX_ROW_PINS { B1, B3, B7, F6, F7 }
-//#define MATRIX_COL_PINS { B0, D5, B2, F5, D2, D3, D4, D6, D7, B4, B5, B6, C6, C7 }
-//#define UNUSED_PINS
-
-//underglow
-#define MATRIX_ROW_PINS { B1, B3, F1, F6, F7 }
-#define MATRIX_COL_PINS { B0, D5, B2, F5, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
-
-// IS31FL3731 driver
-#define DRIVER_COUNT 2
-#define DRIVER_LED_TOTAL 64
-
-// COL2ROW or ROW2COL
-#define DIODE_DIRECTION COL2ROW
-
-// Set 0 if debouncing isn't needed
-#define DEBOUNCE 5
-
-// Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
-#define LOCKING_SUPPORT_ENABLE
-// Locking resynchronize hack
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-// disable debug print
-//#define NO_DEBUG
-
-// disable print
-//#define NO_PRINT
-
-// disable action features
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#define RGB_BACKLIGHT_ENABLED 1
-
-// This conditionally compiles the backlight code for Dawn60 specifics
-#define RGB_BACKLIGHT_DAWN60
-
-//RGB Underglow defines
-#define RGB_DI_PIN F0
-#define WS2812_LED_TOTAL 20
-
-#define RGB_UNDERGLOW_ALPHA_TOP_START 0
-#define RGB_UNDERGLOW_ALPHA_TOP_END 6
-#define RGB_UNDERGLOW_ALPHA_BOT_START 12
-#define RGB_UNDERGLOW_ALPHA_BOT_END 15
-
-// enable/disable LEDs based on layout
-// switch between split backspace (1) or normal backspace(0)
-#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 1
-// switch between Tsangan (1) or Arrows Bottom Row (0)
-#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0
-// switch between standard split rshift (0) or arrows r shift (1)
-// .------------------. .-------------------.
-// | ? | Shift | Fn | vs | Shift | Up | Fn |
-// `------------------' `-------------------'
-#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 1
-
-//not used
-#define RGB_BACKLIGHT_USE_ISO_ENTER 0
-#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
-#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0
-
-// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
-#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
-
-// disable backlight after timeout in minutes, 0 = no timeout
-#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0
-
-// the default brightness
-#define RGB_BACKLIGHT_BRIGHTNESS 255
-
-// the default effect (RGB test)
-#define RGB_BACKLIGHT_EFFECT 255
-
-// the default effect speed (0-3)
-#define RGB_BACKLIGHT_EFFECT_SPEED 0
-
-// the default color1 and color2
-#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
-#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
-
-// These define which keys in the matrix are alphas/mods
-// Used for backlight effects so colors are different for
-// alphas vs. mods
-// Each value is for a row, bit 0 is column 0
-// Alpha=0 Mod=1
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0000000000000001
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0010000000000001
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0011000000000001
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0011000000000001
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0011111000011111
-
-#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-
-// Backlight config starts after VIA's EEPROM usage,
-// dynamic keymaps start after this.
-#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
-
-// VIA lighting is handled by the keyboard-level code
-#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/xelus/dawn60/dawn60.c b/keyboards/xelus/dawn60/dawn60.c
index bce6eea9df..3e009b3bdf 100644
--- a/keyboards/xelus/dawn60/dawn60.c
+++ b/keyboards/xelus/dawn60/dawn60.c
@@ -1,18 +1 @@
-/* Copyright 2017 Jason Williams (Wilba)
- *
- * 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 .
- */
-#ifndef RGB_BACKLIGHT_DAWN60
-#error RGB_BACKLIGHT_DAWN60 not defined, you done goofed somehao, brah
-#endif
+#include "dawn60.h"
diff --git a/keyboards/xelus/dawn60/dawn60.h b/keyboards/xelus/dawn60/dawn60.h
index fe63de10fe..e663e3bbe7 100644
--- a/keyboards/xelus/dawn60/dawn60.h
+++ b/keyboards/xelus/dawn60/dawn60.h
@@ -1,4 +1,4 @@
-/* Copyright 2017 Jason Williams (Wilba)
+/* Copyright 2020 Harrison Chan (Xelus)
*
* 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
@@ -16,21 +16,7 @@
#pragma once
#include "quantum.h"
-#include "keyboards/wilba_tech/wt_rgb_backlight_keycodes.h"
-#include "via.h"
-#define XXX KC_NO
-
-#define LAYOUT_60_all( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3B, K3C, K3D, \
- K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, XXX, K3B, K3C, K3D }, \
- { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D } \
-}
+#if defined(KEYBOARD_xelus_dawn60_rev1)
+ #include "rev1.h"
+#endif
diff --git a/keyboards/xelus/dawn60/readme.md b/keyboards/xelus/dawn60/readme.md
index 3409bac1ee..8e01381939 100644
--- a/keyboards/xelus/dawn60/readme.md
+++ b/keyboards/xelus/dawn60/readme.md
@@ -8,6 +8,6 @@ An in-switch RGB LED keyboard with RGB underglow.
Make example for this keyboard (after setting up your build environment):
- make xelus/dawn60:default
+ make xelus/dawn60/rev1:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
\ No newline at end of file
diff --git a/keyboards/xelus/dawn60/rev1/config.h b/keyboards/xelus/dawn60/rev1/config.h
new file mode 100644
index 0000000000..375bea9486
--- /dev/null
+++ b/keyboards/xelus/dawn60/rev1/config.h
@@ -0,0 +1,143 @@
+/* Copyright 2020 Harrison Chan (Xelus)
+ *
+ * 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 .
+ */
+#pragma once
+
+#include "config_common.h"
+
+// USB Device descriptor parameter
+#define VENDOR_ID 0x5845 // XE
+#define PRODUCT_ID 0x0060 // Dawn60
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Xelus
+#define PRODUCT Dawn60
+// key matrix size
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+//no underglow - prototype
+//#define MATRIX_ROW_PINS { B1, B3, B7, F6, F7 }
+//#define MATRIX_COL_PINS { B0, D5, B2, F5, D2, D3, D4, D6, D7, B4, B5, B6, C6, C7 }
+//#define UNUSED_PINS
+
+//underglow
+#define MATRIX_ROW_PINS { B1, B3, F1, F6, F7 }
+#define MATRIX_COL_PINS { B0, D5, B2, F5, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
+#define UNUSED_PINS
+
+// IS31FL3731 driver
+#define DRIVER_COUNT 2
+#define DRIVER_LED_TOTAL 64
+
+// COL2ROW or ROW2COL
+#define DIODE_DIRECTION COL2ROW
+
+// Set 0 if debouncing isn't needed
+#define DEBOUNCE 5
+
+// Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
+#define LOCKING_SUPPORT_ENABLE
+// Locking resynchronize hack
+#define LOCKING_RESYNC_ENABLE
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+// disable debug print
+//#define NO_DEBUG
+
+// disable print
+//#define NO_PRINT
+
+// disable action features
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+#define RGB_BACKLIGHT_ENABLED 1
+
+// This conditionally compiles the backlight code for Dawn60 specifics
+#define RGB_BACKLIGHT_DAWN60
+
+//RGB Underglow defines
+#define RGB_DI_PIN F0
+#define WS2812_LED_TOTAL 20
+
+#define RGB_UNDERGLOW_ALPHA_TOP_START 0
+#define RGB_UNDERGLOW_ALPHA_TOP_END 6
+#define RGB_UNDERGLOW_ALPHA_BOT_START 12
+#define RGB_UNDERGLOW_ALPHA_BOT_END 15
+
+// enable/disable LEDs based on layout
+// switch between split backspace (1) or normal backspace(0)
+#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 1
+// switch between Tsangan (1) or Arrows Bottom Row (0)
+#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0
+// switch between standard split rshift (0) or arrows r shift (1)
+// .------------------. .-------------------.
+// | ? | Shift | Fn | vs | Shift | Up | Fn |
+// `------------------' `-------------------'
+#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 1
+
+//not used
+#define RGB_BACKLIGHT_USE_ISO_ENTER 0
+#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
+#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0
+
+// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
+#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
+
+// disable backlight after timeout in minutes, 0 = no timeout
+#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0
+
+// the default brightness
+#define RGB_BACKLIGHT_BRIGHTNESS 255
+
+// the default effect (RGB test)
+#define RGB_BACKLIGHT_EFFECT 255
+
+// the default effect speed (0-3)
+#define RGB_BACKLIGHT_EFFECT_SPEED 0
+
+// the default color1 and color2
+#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
+#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
+
+// These define which keys in the matrix are alphas/mods
+// Used for backlight effects so colors are different for
+// alphas vs. mods
+// Each value is for a row, bit 0 is column 0
+// Alpha=0 Mod=1
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0000000000000001
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0010000000000001
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0011000000000001
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0011000000000001
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0011111000011111
+
+#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
+#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
+#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
+#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
+
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/xelus/dawn60/rev1/rev1.c b/keyboards/xelus/dawn60/rev1/rev1.c
new file mode 100644
index 0000000000..2d0b465bcc
--- /dev/null
+++ b/keyboards/xelus/dawn60/rev1/rev1.c
@@ -0,0 +1,18 @@
+/* Copyright 2020 Harrison Chan (Xelus)
+ *
+ * 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 .
+ */
+#ifndef RGB_BACKLIGHT_DAWN60
+#error RGB_BACKLIGHT_DAWN60 not defined, you done goofed somehao, brah
+#endif
diff --git a/keyboards/xelus/dawn60/rev1/rev1.h b/keyboards/xelus/dawn60/rev1/rev1.h
new file mode 100644
index 0000000000..53d40e5499
--- /dev/null
+++ b/keyboards/xelus/dawn60/rev1/rev1.h
@@ -0,0 +1,36 @@
+/* Copyright 2020 Harrison Chan (Xelus)
+ *
+ * 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 .
+ */
+#pragma once
+
+#include "quantum.h"
+#include "keyboards/wilba_tech/wt_rgb_backlight_keycodes.h"
+#include "via.h"
+
+#define XXX KC_NO
+
+#define LAYOUT_60_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3B, K3C, K3D, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, XXX, K3B, K3C, K3D }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D } \
+}
diff --git a/keyboards/xelus/dawn60/rules.mk b/keyboards/xelus/dawn60/rev1/rules.mk
similarity index 100%
rename from keyboards/xelus/dawn60/rules.mk
rename to keyboards/xelus/dawn60/rev1/rules.mk