[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.
This commit is contained in:
marksard 2020-05-07 18:23:26 +09:00 committed by GitHub
parent 606438692d
commit ae5f7365ea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 249 additions and 155 deletions

View file

@ -1,22 +1,18 @@
/* /* Copyright 2019 marksard
This is the c configuration file for the keymap *
* This program is free software: you can redistribute it and/or modify
Copyright 2012 Jun Wako <wakojun@gmail.com> * it under the terms of the GNU General Public License as published by
Copyright 2015 Jack Humbert * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
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 * This program is distributed in the hope that it will be useful,
the Free Software Foundation, either version 2 of the License, or * but WITHOUT ANY WARRANTY; without even the implied warranty of
(at your option) any later version. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
This program is distributed in the hope that it will be useful, *
but WITHOUT ANY WARRANTY; without even the implied warranty of * You should have received a copy of the GNU General Public License
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * along with this program. If not, see <http://www.gnu.org/licenses/>.
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 <http://www.gnu.org/licenses/>.
*/
#pragma once #pragma once
@ -30,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef MOUSEKEY_ENABLE #ifdef MOUSEKEY_ENABLE
#undef MOUSEKEY_INTERVAL #undef MOUSEKEY_INTERVAL
#define MOUSEKEY_INTERVAL 1 #define MOUSEKEY_INTERVAL 1
#undef MOUSEKEY_TIME_TO_MAX #undef MOUSEKEY_TIME_TO_MAX
#define MOUSEKEY_TIME_TO_MAX 150 #define MOUSEKEY_TIME_TO_MAX 150
@ -43,16 +38,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#undef MOUSEKEY_DELAY #undef MOUSEKEY_DELAY
#define MOUSEKEY_DELAY 0 #define MOUSEKEY_DELAY 0
#endif #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

View file

@ -38,12 +38,12 @@ enum custom_keycodes {
#define KC_Z_CT LCTL_T(KC_Z) #define KC_Z_CT LCTL_T(KC_Z)
#define KC_X_AL LALT_T(KC_X) #define KC_X_AL LALT_T(KC_X)
#define KC_C_GU LGUI_T(KC_C) #define KC_C_GU LGUI_T(KC_C)
#define KC_SSCT LCTL_T(KC_SLSH) #define KC_SSCT RCTL_T(KC_SLSH)
#define KC_ENSF LSFT_T(KC_ENT) #define KC_ENSF RSFT_T(KC_ENT)
// Lower layer mod tap // Lower layer mod tap
#define KC_F6SF LSFT_T(KC_F6) #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_11CT LCTL_T(KC_F11)
#define KC_12AL LALT_T(KC_F12) #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_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 _______, KC_MLAD
// `---------|---------' // `---------|---------'
@ -99,9 +99,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT( [_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, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX,
//`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'

View file

@ -2,10 +2,9 @@
# change to "no" to disable the options, or define them in the Makefile in # change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically # the appropriate keymap folder that will get included automatically
# #
# If your custom treadstone32 pcb, you can rewrite to yes. # If your custom treadstone32 pcb, you can rewrite to yes.
RGBLIGHT_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.) RGBLIGHT_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.)
LED_ANIMATIONS = yes # LED animations
# Other selectable option # Other selectable option
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)

View file

@ -1,22 +1,18 @@
/* /* Copyright 2019 marksard
This is the c configuration file for the keymap *
* This program is free software: you can redistribute it and/or modify
Copyright 2012 Jun Wako <wakojun@gmail.com> * it under the terms of the GNU General Public License as published by
Copyright 2015 Jack Humbert * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
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 * This program is distributed in the hope that it will be useful,
the Free Software Foundation, either version 2 of the License, or * but WITHOUT ANY WARRANTY; without even the implied warranty of
(at your option) any later version. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
This program is distributed in the hope that it will be useful, *
but WITHOUT ANY WARRANTY; without even the implied warranty of * You should have received a copy of the GNU General Public License
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * along with this program. If not, see <http://www.gnu.org/licenses/>.
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 <http://www.gnu.org/licenses/>.
*/
#pragma once #pragma once
@ -30,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef MOUSEKEY_ENABLE #ifdef MOUSEKEY_ENABLE
#undef MOUSEKEY_INTERVAL #undef MOUSEKEY_INTERVAL
#define MOUSEKEY_INTERVAL 1 #define MOUSEKEY_INTERVAL 1
#undef MOUSEKEY_TIME_TO_MAX #undef MOUSEKEY_TIME_TO_MAX
#define MOUSEKEY_TIME_TO_MAX 150 #define MOUSEKEY_TIME_TO_MAX 150
@ -43,16 +38,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#undef MOUSEKEY_DELAY #undef MOUSEKEY_DELAY
#define MOUSEKEY_DELAY 0 #define MOUSEKEY_DELAY 0
#endif #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

View file

@ -39,12 +39,12 @@ enum custom_keycodes {
#define KC_Z_CT LCTL_T(KC_Z) #define KC_Z_CT LCTL_T(KC_Z)
#define KC_X_AL LALT_T(KC_X) #define KC_X_AL LALT_T(KC_X)
#define KC_C_GU LGUI_T(KC_C) #define KC_C_GU LGUI_T(KC_C)
#define KC_SSCT LCTL_T(KC_SLSH) #define KC_SSCT RCTL_T(KC_SLSH)
#define KC_ENSF LSFT_T(KC_ENT) #define KC_ENSF RSFT_T(KC_ENT)
// Lower layer mod tap // Lower layer mod tap
#define KC_F6SF LSFT_T(KC_F6) #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_11CT LCTL_T(KC_F11)
#define KC_12AL LALT_T(KC_F12) #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_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 _______, KC_MLAD
// `---------|---------' // `---------|---------'
@ -100,9 +100,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT( [_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, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX,
//`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'

View file

@ -1,14 +1,10 @@
# Build Options # Build Options
# change to "no" to disable the options, or define them in the Makefile in # change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically # the appropriate keymap folder that will get included automatically
# #
TAP_DANCE_ENABLE = no
# If your custom treadstone32 pcb, you can rewrite to yes. # If your custom treadstone32 pcb, you can rewrite to yes.
RGBLIGHT_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.) RGBLIGHT_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.)
LED_ANIMATIONS = yes # LED animations
# Other selectable option # Other selectable option
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
@ -20,6 +16,3 @@ endif
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
OPT_DEFS += -DIOS_DEVICE_ENABLE OPT_DEFS += -DIOS_DEVICE_ENABLE
endif 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

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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

View file

@ -13,31 +13,4 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "treadstone32.h" #include "lite.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);
}

View file

@ -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

View file

@ -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 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). 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](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) [Firmware](https://github.com/marksard/qmk_firmware/tree/my_customize/keyboards/treadstone32)

View file

@ -48,29 +48,38 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW, ROW2COL */ /* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW #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 RGB_DI_PIN D3
#define RGBLIGHT_TIMER #ifdef RGB_DI_PIN
#define ws2812_PORTREG PORTD #define RGBLED_NUM 6
#define ws2812_DDRREG DDRD #ifndef IOS_DEVICE_ENABLE
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
#define RGBLED_NUM 6 #define RGBLIGHT_VAL_STEP 8
#else
#ifndef IOS_DEVICE_ENABLE #define RGBLIGHT_LIMIT_VAL 50
#define RGBLIGHT_LIMIT_VAL 200 #define RGBLIGHT_VAL_STEP 4
#define RGBLIGHT_VAL_STEP 17 #endif
#else #define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 4 #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 #endif
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
// USB_MAX_POWER_CONSUMPTION value for treadstone32 keyboard // USB_MAX_POWER_CONSUMPTION value for treadstone32 keyboard
@ -84,20 +93,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define USB_MAX_POWER_CONSUMPTION 100 #define USB_MAX_POWER_CONSUMPTION 100
#endif #endif
/* /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
* Feature disable options #define DEBOUNCE 5
* 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

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#include "rev1.h"

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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 } \
}

View file

@ -27,3 +27,5 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
LEADER_ENABLE = no LEADER_ENABLE = no
DEFAULT_FOLDER = treadstone32/rev1