From af14e672c9c82b4a906ab9e3eae649d96158d2bd Mon Sep 17 00:00:00 2001 From: skullydazed Date: Wed, 6 Sep 2017 15:27:29 -0700 Subject: 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/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 + 5 files changed, 165 insertions(+) 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 (limited to 'keyboards/clueboard/rev3') 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<