From ae5f7365eae0e25339615908c275bf383dc7b335 Mon Sep 17 00:00:00 2001 From: marksard <38324387+marksard@users.noreply.github.com> Date: Thu, 7 May 2020 18:23:26 +0900 Subject: [PATCH] [Keyboard] Add keyboard firmware treadstone32lite (#8720) * Keyboard: add treeadstone48 * rename layout defines * Use of pragma once * move common include code * fixed info.json * change keymap layout from kc to normal * fix alpha revision keymap * fixed info.json * remove USE_Link_Time_Optimization * Add keyboard firmware of treadstone32lite * fixed by the review * I used to set this to a per-keymap setting, so I'll undo it. --- .../treadstone32/keymaps/default/config.h | 48 +++------- .../treadstone32/keymaps/default/keymap.c | 14 +-- .../treadstone32/keymaps/default/rules.mk | 3 +- .../treadstone32/keymaps/like_jis/config.h | 48 +++------- .../treadstone32/keymaps/like_jis/keymap.c | 12 +-- .../treadstone32/keymaps/like_jis/rules.mk | 7 -- keyboards/treadstone32/lite/config.h | 96 +++++++++++++++++++ .../{treadstone32.c => lite/lite.c} | 29 +----- .../{treadstone32.h => lite/lite.h} | 0 keyboards/treadstone32/lite/rules.mk | 9 ++ keyboards/treadstone32/readme.md | 5 +- keyboards/treadstone32/{ => rev1}/config.h | 70 +++++++------- keyboards/treadstone32/rev1/rev1.c | 16 ++++ keyboards/treadstone32/rev1/rev1.h | 45 +++++++++ keyboards/treadstone32/rules.mk | 2 + 15 files changed, 249 insertions(+), 155 deletions(-) create mode 100644 keyboards/treadstone32/lite/config.h rename keyboards/treadstone32/{treadstone32.c => lite/lite.c} (51%) rename keyboards/treadstone32/{treadstone32.h => lite/lite.h} (100%) create mode 100644 keyboards/treadstone32/lite/rules.mk rename keyboards/treadstone32/{ => rev1}/config.h (62%) create mode 100644 keyboards/treadstone32/rev1/rev1.c create mode 100644 keyboards/treadstone32/rev1/rev1.h diff --git a/keyboards/treadstone32/keymaps/default/config.h b/keyboards/treadstone32/keymaps/default/config.h index a6363f9b9..863588c5a 100644 --- a/keyboards/treadstone32/keymaps/default/config.h +++ b/keyboards/treadstone32/keymaps/default/config.h @@ -1,22 +1,18 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -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 . -*/ +/* Copyright 2019 marksard + * + * 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 @@ -30,7 +26,6 @@ along with this program. If not, see . #ifdef MOUSEKEY_ENABLE #undef MOUSEKEY_INTERVAL #define MOUSEKEY_INTERVAL 1 - #undef MOUSEKEY_TIME_TO_MAX #define MOUSEKEY_TIME_TO_MAX 150 @@ -43,16 +38,3 @@ along with this program. If not, see . #undef MOUSEKEY_DELAY #define MOUSEKEY_DELAY 0 #endif - -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - //#define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - //#define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - //#define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/treadstone32/keymaps/default/keymap.c b/keyboards/treadstone32/keymaps/default/keymap.c index b49e55f27..7ca797fcc 100644 --- a/keyboards/treadstone32/keymaps/default/keymap.c +++ b/keyboards/treadstone32/keymaps/default/keymap.c @@ -38,12 +38,12 @@ enum custom_keycodes { #define KC_Z_CT LCTL_T(KC_Z) #define KC_X_AL LALT_T(KC_X) #define KC_C_GU LGUI_T(KC_C) -#define KC_SSCT LCTL_T(KC_SLSH) -#define KC_ENSF LSFT_T(KC_ENT) +#define KC_SSCT RCTL_T(KC_SLSH) +#define KC_ENSF RSFT_T(KC_ENT) // Lower layer mod tap #define KC_F6SF LSFT_T(KC_F6) -#define KC_BSSF LSFT_T(KC_BSLS) +#define KC_QUSF RSFT_T(KC_QUOT) #define KC_11CT LCTL_T(KC_F11) #define KC_12AL LALT_T(KC_F12) @@ -77,9 +77,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,---------------------------------------------------------------------------------------------------. KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - KC_F6SF, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUOT, + KC_F6SF, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUSF, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - KC_11CT, KC_12AL, KC_ESC, KC_TAB, KANJI, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_GRV, + KC_11CT, KC_12AL, KC_ESC, KC_TAB, KANJI, KC_DEL, XXXXXXX, XXXXXXX, KC_RO, KC_GRV, //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' _______, KC_MLAD // `---------|---------' @@ -99,9 +99,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( //,---------------------------------------------------------------------------------------------------. - RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NLCK, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' diff --git a/keyboards/treadstone32/keymaps/default/rules.mk b/keyboards/treadstone32/keymaps/default/rules.mk index 5ca4c5258..882ddd697 100644 --- a/keyboards/treadstone32/keymaps/default/rules.mk +++ b/keyboards/treadstone32/keymaps/default/rules.mk @@ -2,10 +2,9 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # + # If your custom treadstone32 pcb, you can rewrite to yes. RGBLIGHT_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.) -LED_ANIMATIONS = yes # LED animations - # Other selectable option IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) diff --git a/keyboards/treadstone32/keymaps/like_jis/config.h b/keyboards/treadstone32/keymaps/like_jis/config.h index a6363f9b9..863588c5a 100644 --- a/keyboards/treadstone32/keymaps/like_jis/config.h +++ b/keyboards/treadstone32/keymaps/like_jis/config.h @@ -1,22 +1,18 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -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 . -*/ +/* Copyright 2019 marksard + * + * 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 @@ -30,7 +26,6 @@ along with this program. If not, see . #ifdef MOUSEKEY_ENABLE #undef MOUSEKEY_INTERVAL #define MOUSEKEY_INTERVAL 1 - #undef MOUSEKEY_TIME_TO_MAX #define MOUSEKEY_TIME_TO_MAX 150 @@ -43,16 +38,3 @@ along with this program. If not, see . #undef MOUSEKEY_DELAY #define MOUSEKEY_DELAY 0 #endif - -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - //#define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - //#define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - //#define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/treadstone32/keymaps/like_jis/keymap.c b/keyboards/treadstone32/keymaps/like_jis/keymap.c index 891f48446..a738226d9 100644 --- a/keyboards/treadstone32/keymaps/like_jis/keymap.c +++ b/keyboards/treadstone32/keymaps/like_jis/keymap.c @@ -39,12 +39,12 @@ enum custom_keycodes { #define KC_Z_CT LCTL_T(KC_Z) #define KC_X_AL LALT_T(KC_X) #define KC_C_GU LGUI_T(KC_C) -#define KC_SSCT LCTL_T(KC_SLSH) -#define KC_ENSF LSFT_T(KC_ENT) +#define KC_SSCT RCTL_T(KC_SLSH) +#define KC_ENSF RSFT_T(KC_ENT) // Lower layer mod tap #define KC_F6SF LSFT_T(KC_F6) -#define KC_BSSF LSFT_T(KC_BSLS) +#define KC_BSSF RSFT_T(KC_BSLS) #define KC_11CT LCTL_T(KC_F11) #define KC_12AL LALT_T(KC_F12) @@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| KC_F6SF, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUOT, KC_BSSF, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - KC_11CT, KC_12AL, KC_ESC, KC_TAB, KANJI, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_RO, + KC_11CT, KC_12AL, KC_ESC, KC_TAB, KANJI, KC_DEL, XXXXXXX, XXXXXXX, KC_GRV, KC_RO, //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' _______, KC_MLAD // `---------|---------' @@ -100,9 +100,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( //,---------------------------------------------------------------------------------------------------. - RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NLCK, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' diff --git a/keyboards/treadstone32/keymaps/like_jis/rules.mk b/keyboards/treadstone32/keymaps/like_jis/rules.mk index 8c4541fa1..882ddd697 100644 --- a/keyboards/treadstone32/keymaps/like_jis/rules.mk +++ b/keyboards/treadstone32/keymaps/like_jis/rules.mk @@ -1,14 +1,10 @@ - # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -TAP_DANCE_ENABLE = no # If your custom treadstone32 pcb, you can rewrite to yes. RGBLIGHT_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.) -LED_ANIMATIONS = yes # LED animations - # Other selectable option IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) @@ -20,6 +16,3 @@ endif ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) OPT_DEFS += -DIOS_DEVICE_ENABLE endif - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/treadstone32/lite/config.h b/keyboards/treadstone32/lite/config.h new file mode 100644 index 000000000..f7c9b2e0d --- /dev/null +++ b/keyboards/treadstone32/lite/config.h @@ -0,0 +1,96 @@ +/* +Copyright 2020 marksard + +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 0xFEED +#define PRODUCT_ID 0xDFA5 +#define DEVICE_VER 0x0015 +#define MANUFACTURER marksard +#define PRODUCT treadstone32 lite +#define DESCRIPTION Minimal Symmetrical staggered 32-Key Keyboard + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 5 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { B6, B2, F7, F6, B3, B1, F4, F5 } +#define MATRIX_COL_PINS { B5, B4, E6, D7, C6 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */ +#define DIODE_DIRECTION COL2ROW +#define RGB_DI_PIN D3 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 6 + #ifndef IOS_DEVICE_ENABLE + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_VAL_STEP 8 + #else + #define RGBLIGHT_LIMIT_VAL 50 + #define RGBLIGHT_VAL_STEP 4 + #endif + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +// #define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ + /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ + #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 + /*==== use exp() and sin() ====*/ + #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 + #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) +// USB_MAX_POWER_CONSUMPTION value for treadstone32 keyboard +// 120 RGBoff +// 330 RGB 6 +// 300 RGB 32 + #define USB_MAX_POWER_CONSUMPTION 400 +#else + // fix iPhone and iPad power adapter issue + // iOS device need lessthan 100 + #define USB_MAX_POWER_CONSUMPTION 100 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/treadstone32/treadstone32.c b/keyboards/treadstone32/lite/lite.c similarity index 51% rename from keyboards/treadstone32/treadstone32.c rename to keyboards/treadstone32/lite/lite.c index 9d27f86ff..a1997feff 100644 --- a/keyboards/treadstone32/treadstone32.c +++ b/keyboards/treadstone32/lite/lite.c @@ -13,31 +13,4 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "treadstone32.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} +#include "lite.h" diff --git a/keyboards/treadstone32/treadstone32.h b/keyboards/treadstone32/lite/lite.h similarity index 100% rename from keyboards/treadstone32/treadstone32.h rename to keyboards/treadstone32/lite/lite.h diff --git a/keyboards/treadstone32/lite/rules.mk b/keyboards/treadstone32/lite/rules.mk new file mode 100644 index 000000000..4bdc53c11 --- /dev/null +++ b/keyboards/treadstone32/lite/rules.mk @@ -0,0 +1,9 @@ +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp +BOOTLOADER = caterina diff --git a/keyboards/treadstone32/readme.md b/keyboards/treadstone32/readme.md index 989a29c20..99cbe4e01 100644 --- a/keyboards/treadstone32/readme.md +++ b/keyboards/treadstone32/readme.md @@ -10,9 +10,12 @@ Hardware Availability: links to where you can find this hardware Make example for this keyboard (after setting up your build environment): - make treadstone32:default:dfu + make treadstone32:default + or + make treadstone32/lite: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). [Build guide](https://github.com/marksard/Keyboards/blob/master/treadstone32/documents/treadstone32_buildguide.md) +[Build guide (lite)](https://github.com/marksard/Keyboards/blob/master/treadstone32/documents/treadstone32lite_buildguide.md) [Firmware](https://github.com/marksard/qmk_firmware/tree/my_customize/keyboards/treadstone32) diff --git a/keyboards/treadstone32/config.h b/keyboards/treadstone32/rev1/config.h similarity index 62% rename from keyboards/treadstone32/config.h rename to keyboards/treadstone32/rev1/config.h index b9cd94d4b..caec9c582 100644 --- a/keyboards/treadstone32/config.h +++ b/keyboards/treadstone32/rev1/config.h @@ -48,29 +48,38 @@ along with this program. If not, see . /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* ws2812 RGB LED */ #define RGB_DI_PIN D3 -#define RGBLIGHT_TIMER -#define ws2812_PORTREG PORTD -#define ws2812_DDRREG DDRD - -#define RGBLED_NUM 6 - -#ifndef IOS_DEVICE_ENABLE - #define RGBLIGHT_LIMIT_VAL 200 - #define RGBLIGHT_VAL_STEP 17 -#else - #define RGBLIGHT_LIMIT_VAL 50 - #define RGBLIGHT_VAL_STEP 4 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 6 + #ifndef IOS_DEVICE_ENABLE + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_VAL_STEP 8 + #else + #define RGBLIGHT_LIMIT_VAL 50 + #define RGBLIGHT_VAL_STEP 4 + #endif + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +// #define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ + /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ + #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 + /*==== use exp() and sin() ====*/ + #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 + #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value for treadstone32 keyboard @@ -84,20 +93,5 @@ along with this program. If not, see . #define USB_MAX_POWER_CONSUMPTION 100 #endif -/* - * 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 +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/treadstone32/rev1/rev1.c b/keyboards/treadstone32/rev1/rev1.c new file mode 100644 index 000000000..bf41abddb --- /dev/null +++ b/keyboards/treadstone32/rev1/rev1.c @@ -0,0 +1,16 @@ +/* Copyright 2019 marksard + * + * 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 . + */ +#include "rev1.h" diff --git a/keyboards/treadstone32/rev1/rev1.h b/keyboards/treadstone32/rev1/rev1.h new file mode 100644 index 000000000..90181124c --- /dev/null +++ b/keyboards/treadstone32/rev1/rev1.h @@ -0,0 +1,45 @@ +/* Copyright 2019 marksard. + * + * 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" + +#define K_N KC_NO + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + L09, L08, L07, L06, L05, L04, L03, L02, L01, L00, \ + L19, L18, L17, L16, L15, L14, L13, L12, L11, L10, \ + L29, L28, L27, L26, L25, L24, L23, L22, L21, L20, \ + L35, L34 \ + ) \ + { \ + { L00, L01, L02, L03, L04 }, \ + { L10, L11, L12, L13, L14 }, \ + { L20, L21, L22, L23, L24 }, \ + { K_N, K_N, K_N, K_N, L34 }, \ + { L05, L06, L07, L08, L09 }, \ + { L15, L16, L17, L18, L19 }, \ + { L25, L26, L27, L28, L29 }, \ + { L35, K_N, K_N, K_N, K_N } \ + } diff --git a/keyboards/treadstone32/rules.mk b/keyboards/treadstone32/rules.mk index d779e7002..64ca6a721 100644 --- a/keyboards/treadstone32/rules.mk +++ b/keyboards/treadstone32/rules.mk @@ -27,3 +27,5 @@ UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. LEADER_ENABLE = no + +DEFAULT_FOLDER = treadstone32/rev1