diff --git a/keyboards/clueboard/clueboard.h b/keyboards/clueboard/clueboard.h index 4f2a3c1df..295a596d5 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 ad6832385..0d4e6a874 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 95b69befc..13859bc24 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 000000000..191c6bb66 --- /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 000000000..cd12db22e --- /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 000000000..8f703d2c9 --- /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<