From b4aadbdcb24b44db3932ee661eea413e2cd577a1 Mon Sep 17 00:00:00 2001 From: Sadek Baroudi Date: Sun, 3 Oct 2021 10:52:57 -0700 Subject: [PATCH] updated barobord underglow to include all effects --- bin/build-barobord-underglow-noenc-nooled.sh | 11 ++ .../rules-underglow-noenc-nooled.config.h | 142 ++++++++++++++++++ .../barobord/rules-underglow-noenc-nooled.mk | 48 ++++++ 3 files changed, 201 insertions(+) create mode 100755 bin/build-barobord-underglow-noenc-nooled.sh create mode 100644 keyboards/xoiviox/barobord/rules-underglow-noenc-nooled.config.h create mode 100644 keyboards/xoiviox/barobord/rules-underglow-noenc-nooled.mk diff --git a/bin/build-barobord-underglow-noenc-nooled.sh b/bin/build-barobord-underglow-noenc-nooled.sh new file mode 100755 index 0000000000..173687a5a9 --- /dev/null +++ b/bin/build-barobord-underglow-noenc-nooled.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# TODO: consolidate all the build files into one + +cp keyboards/xoiviox/barobord/rules.mk keyboards/xoiviox/barobord/rules.mk.bak +cp keyboards/xoiviox/barobord/rules-underglow-noenc-nooled.mk keyboards/xoiviox/barobord/rules.mk +cp keyboards/xoiviox/barobord/config.h keyboards/xoiviox/barobord/config.h.bak +cp keyboards/xoiviox/barobord/rules-underglow-noenc-nooled.config.h keyboards/xoiviox/barobord/config.h +make xoiviox/barobord:sadekbaroudi ; cp .build/xoiviox_barobord_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/barobord-underglow-noenc-nooled/ ; +mv keyboards/xoiviox/barobord/rules.mk.bak keyboards/xoiviox/barobord/rules.mk +mv keyboards/xoiviox/barobord/config.h.bak keyboards/xoiviox/barobord/config.h diff --git a/keyboards/xoiviox/barobord/rules-underglow-noenc-nooled.config.h b/keyboards/xoiviox/barobord/rules-underglow-noenc-nooled.config.h new file mode 100644 index 0000000000..e75ea0a85c --- /dev/null +++ b/keyboards/xoiviox/barobord/rules-underglow-noenc-nooled.config.h @@ -0,0 +1,142 @@ +/* +Copyright 2021 Sadek Baroudi + +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 DEVICE_VER 0x0001 +#define VENDOR_ID 0xFEFE +#define PRODUCT_ID 0x5850 +//#define DEVICE_VER 0x0001 // Now defined in the revX/config.h +#define MANUFACTURER sadekbaroudi +#define PRODUCT barobord + +/* key matrix size */ +/* Rows are doubled up */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 11 + +// wiring +#define MATRIX_ROW_PINS \ + { B0, B1, B6, C6 } +#define MATRIX_COL_PINS \ + { F1, F4, F5, F6, F7, B3, B2, D2, D3, D5, C7 } +#define UNUSED_PINS + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define RGB_DI_PIN F0 +#ifdef RGBLIGHT_ENABLE + #define RGBLED_NUM 10 + #define RGBLIGHT_HUE_STEP 16 + #define RGBLIGHT_SAT_STEP 16 + #define RGBLIGHT_VAL_STEP 16 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level for RGBLIGHT_ENABLE */ + #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 + +#ifdef RGB_MATRIX_ENABLE + #define DRIVER_LED_TOTAL 40 + #define RGB_MATRIX_CENTER {100, 32} + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 112 /* The maximum brightness level for RGB_MATRIX */ + #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set + #define RGB_MATRIX_KEYPRESSES + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + #define RGB_MATRIX_KEYREACTIVE_ENABLED + // #define DISABLE_RGB_MATRIX_ALPHAS_MODS + #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT + // #define DISABLE_RGB_MATRIX_BREATHING + // #define DISABLE_RGB_MATRIX_BAND_SAT + // #define DISABLE_RGB_MATRIX_BAND_VAL + #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT + #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL + #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT + #define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL + #define DISABLE_RGB_MATRIX_CYCLE_ALL + // #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT + // #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN + #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + // #define DISABLE_RGB_MATRIX_DUAL_BEACON + #define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define DISABLE_RGB_MATRIX_CYCLE_SPIRAL + #define DISABLE_RGB_MATRIX_RAINBOW_BEACON + #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS + // #define DISABLE_RGB_MATRIX_RAINDROPS + // #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + // #define DISABLE_RGB_MATRIX_DIGITAL_RAIN + // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE + // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define DISABLE_RGB_MATRIX_SPLASH + #define DISABLE_RGB_MATRIX_MULTISPLASH + #define DISABLE_RGB_MATRIX_SOLID_SPLASH + #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif + +#define ENCODERS_PAD_A {B4 , D6} +#define ENCODERS_PAD_B {D7 , D4} + +#define ENCODER_RESOLUTION 4 +// Per encoder settings +//#define ENCODER_RESOLUTIONS { 4, 4 } + +#ifdef THUMBSTICK_ENABLE +# define THUMBSTICK_FLIP_X +# define THUMBSTICK_FLIP_Y +# define THUMBSTICK_PIN_X F7 +# define THUMBSTICK_PIN_Y F0 +#endif + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +#define TRACKBALL_ORIENTATION 2 + +// If using encoder type 2, uncomment this +// #define ENCODERS_B_REVERSE diff --git a/keyboards/xoiviox/barobord/rules-underglow-noenc-nooled.mk b/keyboards/xoiviox/barobord/rules-underglow-noenc-nooled.mk new file mode 100644 index 0000000000..6ff618d28c --- /dev/null +++ b/keyboards/xoiviox/barobord/rules-underglow-noenc-nooled.mk @@ -0,0 +1,48 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality + +# Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +#RGB_MATRIX_ENABLE = yes +#RGB_MATRIX_DRIVER = WS2812 + +MIDI_ENABLE = no # MIDI support +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE = no # Audio output on port C6 +FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches +#ENCODER_ENABLE = yes + +# If you don't have pimoroni trackball +#OLED_DRIVER_ENABLE = yes # this can be yes or no depending on if you have an OLED +MOUSEKEY_ENABLE = yes # Mouse keys + +# If you have pimoroni trackball +#OLED_DRIVER_ENABLE = yes # this must be yes since it uses the I2C for pimoroni +#PIMORONI_TRACKBALL_ENABLE = yes +# unfortunately, these two take up a lot of space, so you may need to disable macros :'( +#EXTRAFLAGS += -flto +#MOUSEKEY_ENABLE = no \ No newline at end of file