From af14e672c9c82b4a906ab9e3eae649d96158d2bd Mon Sep 17 00:00:00 2001 From: skullydazed Date: Wed, 6 Sep 2017 15:27:29 -0700 Subject: [PATCH] Add a clueboard rev3 (#1688) * Allow the knight animation to be restricted to a portion of the LED strip * Add keys for jumping directly to particular animation modes * Remove orphaned break statements * Tweak the `RGB_MODE` buttons so they cycle through the same mode. * small indentation fix * Add a new revision of the clueboard with 18 underlight LEDs --- keyboards/clueboard/clueboard.h | 3 ++ keyboards/clueboard/config.h | 3 ++ keyboards/clueboard/readme.md | 3 +- keyboards/clueboard/rev3/Makefile | 3 ++ keyboards/clueboard/rev3/config.h | 46 ++++++++++++++++++++++ keyboards/clueboard/rev3/rev3.c | 63 +++++++++++++++++++++++++++++++ keyboards/clueboard/rev3/rev3.h | 52 +++++++++++++++++++++++++ keyboards/clueboard/rev3/rules.mk | 1 + 8 files changed, 173 insertions(+), 1 deletion(-) create mode 100644 keyboards/clueboard/rev3/Makefile create mode 100644 keyboards/clueboard/rev3/config.h create mode 100644 keyboards/clueboard/rev3/rev3.c create mode 100644 keyboards/clueboard/rev3/rev3.h create mode 100644 keyboards/clueboard/rev3/rules.mk diff --git a/keyboards/clueboard/clueboard.h b/keyboards/clueboard/clueboard.h index 4f2a3c1df1..295a596d5a 100644 --- a/keyboards/clueboard/clueboard.h +++ b/keyboards/clueboard/clueboard.h @@ -7,6 +7,9 @@ #ifdef SUBPROJECT_rev2 #include "rev2.h" #endif +#ifdef SUBPROJECT_rev3 + #include "rev3.h" +#endif #include "quantum.h" diff --git a/keyboards/clueboard/config.h b/keyboards/clueboard/config.h index ad68323856..0d4e6a8746 100644 --- a/keyboards/clueboard/config.h +++ b/keyboards/clueboard/config.h @@ -67,5 +67,8 @@ along with this program. If not, see . #ifdef SUBPROJECT_rev2 #include "rev2/config.h" #endif +#ifdef SUBPROJECT_rev3 + #include "rev3/config.h" +#endif #endif diff --git a/keyboards/clueboard/readme.md b/keyboards/clueboard/readme.md index 95b69befcf..13859bc242 100644 --- a/keyboards/clueboard/readme.md +++ b/keyboards/clueboard/readme.md @@ -8,10 +8,11 @@ A fully customizable 66% keyboard. * Hardware Supported: Clueboard 66% PCB * rev1 (1.0) * rev2 (2.0, 2.0.1, 2.1, 2.5, 2.5.1, 2.6) + * rev3 (2.7) * Hardware Availability: [clueboard.co](https://clueboard.co/) Make example for this keyboard (after setting up your build environment): - make cluepad-default + make clueboard-rev3-default See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. diff --git a/keyboards/clueboard/rev3/Makefile b/keyboards/clueboard/rev3/Makefile new file mode 100644 index 0000000000..191c6bb664 --- /dev/null +++ b/keyboards/clueboard/rev3/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED + include ../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/clueboard/rev3/config.h b/keyboards/clueboard/rev3/config.h new file mode 100644 index 0000000000..cd12db22e1 --- /dev/null +++ b/keyboards/clueboard/rev3/config.h @@ -0,0 +1,46 @@ +#ifndef REV3_CONFIG_H +#define REV3_CONFIG_H + +#include "../config.h" + +#define PRODUCT_ID 0x2370 +#define DEVICE_VER 0x0001 + +/* key matrix size */ +#define MATRIX_ROWS 10 +#define MATRIX_COLS 8 + +// ROWS: Top to bottom, COLS: Left to right +/* Row pin configuration +* row: 0 1 2 3 4 5 6 7 8 9 +* pin: B2 C7 C6 B6 B5 B0 B3 D5 D3 D2 +*/ +#define MATRIX_ROW_PINS { B2, C7, C6, B6, B5, B0, B3, D5, D3, D2 } +/* Column pin configuration + * col: 0 1 2 3 4 5 6 7 + * pin: F0 F1 F4 F5 F6 F7 E6 B1 + */ +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, E6, B1 } +#define UNUSED_PINS + + /* Backlight configuration + */ +#define BACKLIGHT_LEVELS 1 + +/* Underlight configuration + */ +#define RGB_DI_PIN D7 +#define RGBLED_NUM 18 // Number of LEDs +#define RGBLIGHT_HUE_STEP 32 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 666*2 +#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1 +#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 // How many LEDs wide to light up +#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 2 // The led to start at +#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 5 // How many LEDs to travel +#define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // How many LEDs wide to light up + +#endif diff --git a/keyboards/clueboard/rev3/rev3.c b/keyboards/clueboard/rev3/rev3.c new file mode 100644 index 0000000000..8f703d2c99 --- /dev/null +++ b/keyboards/clueboard/rev3/rev3.c @@ -0,0 +1,63 @@ +#include "rev3.h" +#include +#include "backlight.h" +#include "print.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + matrix_init_user(); + led_init_ports(); + + // JTAG disable for PORT F. write JTD bit twice within four cycles. + MCUCR |= (1<