Refactoring wilba.tech PCBs, updating Rama Works U80-A (#6272)
* Added WT65-B, WT75-B, minor fixes * Update keyboards/wilba_tech/wt65_b/config.h Co-Authored-By: Drashna Jaelre <drashna@live.com> * Update keyboards/wilba_tech/wt65_b/readme.md Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update keyboards/wilba_tech/wt75_b/config.h Co-Authored-By: Drashna Jaelre <drashna@live.com> * Change DEBOUNCING_DELAY to DEBOUNCE * Change DEBOUNCING_DELAY to DEBOUNCE * Move Zeal60/Zeal65 files to keyboards/wilba_tech * Change DEBOUNCING_DELAY to DEBOUNCE * Refactoring zeal60 code to wilba_tech * Moved Rama Works PCBs to wilba_tech * Rename Rama Works files * Cleanup info.json * Cleanup readme.md * Cleanup USB device strings * U80-A RGB matrix, IS31FL3731 driver changes * Fixed #include from keyboards/zeal60
This commit is contained in:
6
keyboards/wilba_tech/zeal60/keymaps/tusing/Makefile
Normal file
6
keyboards/wilba_tech/zeal60/keymaps/tusing/Makefile
Normal file
@@ -0,0 +1,6 @@
|
||||
# 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
|
||||
#
|
||||
RGBLIGHT_ENABLE = yes
|
||||
AUDIO_ENABLE = no # Underglow cannot be used with audio.
|
80
keyboards/wilba_tech/zeal60/keymaps/tusing/README.md
Normal file
80
keyboards/wilba_tech/zeal60/keymaps/tusing/README.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# RGB Underglow Strip on the Zeal60: A Guide
|
||||
|
||||
<img src="https://i.imgur.com/UuUdOCb.jpg" width="800">
|
||||
|
||||
## Requirements
|
||||
|
||||
- WS2812B RGB strip, preferably 60 LEDs/meter
|
||||
- Wire, solder
|
||||
- Tape, hot glue, or some sort of adhesive
|
||||
|
||||
## A. Connecting the strip
|
||||
You might find the [**full PCB image**](https://cdn.shopify.com/s/files/1/0490/7329/files/zeal60jumpers.png) helpful. Ignore the red boxes!
|
||||
|
||||
1. Connect V+ to the receiving end of the thermistor labeled F1; connect GND to the board's GND pin. (*Avoid connecting +V to the board's +5V pin* - you will likely overload the thermistor, and you will limit your maximum brightness.)
|
||||
|
||||
<img src="https://i.imgur.com/jd7qivh.png" width="300">
|
||||
|
||||
2. Connect DI to PB0.
|
||||
|
||||
<img src="https://i.imgur.com/BiMyMLv.jpg" width="300">
|
||||
|
||||
3. Should look something like this when finished:
|
||||
|
||||
<img src="https://i.imgur.com/ngxYMuA.jpg" width="600">
|
||||
|
||||
*Optional:* To allow considerably more light to escape, consider angling the strip outwards by using some sort of fulcrum under the strip. (I used a thick wire.)
|
||||
|
||||
## B. Enabling the strip
|
||||
1. If it is not present already, add the following to your ***keymap's*** ```Makefile```:
|
||||
|
||||
```Makefile
|
||||
RGBLIGHT_ENABLE = yes
|
||||
AUDIO_ENABLE = no #Underglow animations cannot be used with audio.
|
||||
```
|
||||
2. If it is not present already, add the following to your *keymap's* ```config.h```, and edit the values as necessary:
|
||||
|
||||
```c
|
||||
// Set up RGB underglow.
|
||||
#define RGB_DI_PIN B0 // The pin your RGB strip is wired to
|
||||
#define RGBLIGHT_ANIMATIONS // Require for fancier stuff (not compatible with audio)
|
||||
#define RGBLED_NUM 35 // Number of LEDs
|
||||
#define RGBLIGHT_HUE_STEP 5 // How much each press of rgb_hue changes hue
|
||||
#define RGBLIGHT_SAT_STEP 10 // How much each press of rgb_sat changes sat
|
||||
#define RGBLIGHT_VAL_STEP 10 // How much each press of rgb_val changes val
|
||||
```
|
||||
3. If they are not present already, add the following keycodes to your keymap to control the RGB strip: ```RGB_TOG``` (on/off), ```RGB_MOD``` (step through modes), ```RGB_HUI```, ```RGB_HUD```, ```RGB_SAI```, ```RGB_SAD```, ```RGB_VAI```, ```RGB_VAD``` (HSV increase/decrease). Add these to your keymap.
|
||||
|
||||
## C. Dealing with current limits
|
||||
USB 2.0 ports on laptops provide up to 500mA max, but USB 3.0 ports can provide up to 900mA; USB 3.1 up to 1.5A; and powered USB hubs even more. We can run our keyboard at a higher brightness if we draw more power. **The Zeal60 uses 500mA at max brightness.** This means that **you have about 400mA remaining for the strip to use on a USB 3.0 port**; 1000mA free on a USB 3.1 port, so on and so forth.
|
||||
|
||||
***Warning:*** **This means you will need to turn *off* your RGB strip before connecting to a USB 2.0 port**, as USB 2.0 cannot sustain the current necessary!
|
||||
|
||||
1. If not present already, add the following to your keymap's ```config.h```. Change the numbers based on your needs. The ones below are safe underestimates.
|
||||
|
||||
```c
|
||||
// Enable current limiting for RGB underglow.
|
||||
#define RGBSTRIP_CURRENT_LIMIT 400 // Strip current limit in mA. (USB amperage - 500mA for keyboard)
|
||||
#define RGBSTRIP_MAX_CURRENT_PER_LIGHT 50 // mA per light when at max brightness.
|
||||
```
|
||||
*Example:* I use a USB port capable of providing 1800 mA. The keyboard uses 500mA, so my personal value (in the `tusing` keymap) for `RGBSTRIP_CURRENT_LIMIT` is 1300. The particular WS2812B RGB strip I have uses a maximum of 60 mA per LED, so that is my personal value for `RGBSTRIP_MAX_CURRENT_PER_LIGHT`.
|
||||
2. Toggle on the LED strip (```RGB_TOG```) and step through animations (```RGB_MOD```) to test it out!
|
||||
|
||||
## D. Sources and resources
|
||||
### A. Connecting the strip.
|
||||
* [In-depth description of connecting an RGB strip to the GH60](https://www.reddit.com/r/MechanicalKeyboards/comments/4d5or2/my_first_custom_build_satan_gh60_rbg_underglow_in/d1nz3o7/)
|
||||
* [32U4 Pinout](https://40.media.tumblr.com/93b6bbd4113418c2b45459bb177e67c5/tumblr_mi49a20QMB1s5t695o1_1280.png)
|
||||
* [Redditor describes connecting RGB strips on his Satan GH60](https://www.reddit.com/r/MechanicalKeyboards/comments/4hbjw4/finally_finished_my_satan_gh60_also_granite_o/d2qn8zx/?context=3)
|
||||
* [Another Redditor on RGB with the Satan GH60](https://www.reddit.com/r/MechanicalKeyboards/comments/4ewzdx/gh60_satan_with_the_rgb_mod/d251uu6/ )
|
||||
|
||||
### B. Enabling the strip.
|
||||
* [QMK Wiki portion on underglow](https://github.com/jackhumbert/qmk_firmware/wiki#rgb-under-glow-mod)
|
||||
* [Planck ```Makefile```, ```config.h```, and ```keymap.c``` config example](https://github.com/jackhumbert/qmk_firmware/tree/master/keyboards/planck/keymaps/yang)
|
||||
* [Video demonstrating keycode functions and RGB modes on a KC60](https://www.youtube.com/watch?v=VKrpPAHlisY)
|
||||
|
||||
### C. Dealing with current limits.
|
||||
* [Discussion of cutting jumpers and adding resistors to lower current from Zeal60](https://www.reddit.com/r/MechanicalKeyboards/comments/5hou92/photos_zeal60_lets_just_say_santa_came_early_this/db23qid/)
|
||||
* [A selection of 900mA-1.5A current hold fuses - look for an SMD 0805-sized fuse.](https://goo.gl/748avG)
|
||||
* [Video detailing technique to solder 0805 resistors](https://www.youtube.com/watch?v=PU7wLcuqc-I&t=123s&list=FLheMlKEVQ5cmVXazUt6HrxQ&index=2)
|
||||
* [QMK feature request to implement max power draw limits in ```config.h```](https://github.com/jackhumbert/qmk_firmware/issues/954)
|
||||
* [Commit enabling max power draw limits in ```config.h```](https://github.com/jackhumbert/qmk_firmware/commit/83e613ad239459582ae28f78b6c81535b9b138d7)
|
36
keyboards/wilba_tech/zeal60/keymaps/tusing/config.h
Normal file
36
keyboards/wilba_tech/zeal60/keymaps/tusing/config.h
Normal file
@@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
|
||||
/* Enable/disable LEDs based on layout. */
|
||||
#undef RGB_BACKLIGHT_USE_SPLIT_BACKSPACE
|
||||
#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0
|
||||
|
||||
#undef RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT
|
||||
#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
|
||||
|
||||
#undef RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT
|
||||
#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0
|
||||
|
||||
#undef RGB_BACKLIGHT_USE_7U_SPACEBAR
|
||||
#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0
|
||||
|
||||
#undef RGB_BACKLIGHT_USE_ISO_ENTER
|
||||
#define RGB_BACKLIGHT_USE_ISO_ENTER 0
|
||||
|
||||
#undef RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS
|
||||
#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0
|
||||
|
||||
// Set up RGB underglow.
|
||||
#define RGB_DI_PIN B0 // The pin your RGB strip is wired to
|
||||
#define RGBLIGHT_ANIMATIONS // Require for fancier stuff (not compatible with audio)
|
||||
#define RGBLED_NUM 35 // Number of LEDs
|
||||
#define RGBLIGHT_HUE_STEP 5 // How much each press of rgb_hue changes hue
|
||||
#define RGBLIGHT_SAT_STEP 10 // How much each press of rgb_sat changes sat
|
||||
#define RGBLIGHT_VAL_STEP 10 // How much each press of rgb_val changes val
|
||||
|
||||
// Enable current limiting for RGB underglow.
|
||||
#define RGBSTRIP_CURRENT_LIMIT 1300 // Strip current limit in mA. (USB amperage - 500mA for keyboard)
|
||||
#define RGBSTRIP_MAX_CURRENT_PER_LIGHT 40 // mA per light when at max brightness.
|
||||
|
||||
// Scale brightnes according to BRIGHTNESS_CORRECTION_TABLE in quantum/rgblight.c.
|
||||
// This allows to mitigate uneven brightness from LED underglow strips.
|
||||
// #define LED_BRIGHTNESS_CORRECTION
|
48
keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c
Normal file
48
keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c
Normal file
@@ -0,0 +1,48 @@
|
||||
// Default layout for Zeal60
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// For readability.
|
||||
#define _x_ KC_NO
|
||||
#define AUD_PRV LCTL(KC_MPRV) // Previous music track
|
||||
#define AUD_PLY LCTL(KC_MPLY) // Pause music
|
||||
#define AUD_NXT LCTL(KC_MNXT) // Next music track
|
||||
|
||||
// Zeal60-specific keys:
|
||||
// EF_INC, EF_DEC, // next/previous backlight effect
|
||||
// H1_INC, H1_DEC, // Color 1 hue increase/decrease
|
||||
// S1_INC, S1_DEC, // Color 1 saturation increase/decrease
|
||||
// H2_INC, H2_DEC, // Color 2 hue increase/decrease
|
||||
// S2_INC, S2_DEC, // Color 2 saturation increase/decrease
|
||||
// BR_INC, BR_DEC, // backlight brightness increase/decrease
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// Default layer: Pressing caps-lock momentarily switches to Layer 1.
|
||||
// This is the default layer. Pressing an empty keycode on another layer will take you here.
|
||||
[0] = {
|
||||
{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC},
|
||||
{KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS},
|
||||
{MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, _x_ },
|
||||
{KC_LSFT, _x_ , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, _x_ },
|
||||
{KC_LCTL, KC_LGUI, KC_LALT, _x_ , _x_ , _x_ , _x_ , KC_SPC, _x_ , _x_ , KC_LEFT, KC_UP, KC_DOWN, KC_RGHT}
|
||||
},
|
||||
|
||||
// Layer 1: Pressing enter switches to layer 2, where backlight controls live.
|
||||
// This is a momentary layer: once you let go of caps, you'll be back in layer 1.
|
||||
[1] = {
|
||||
{KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL },
|
||||
{_______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_INS, KC_DEL, _______},
|
||||
{_______, AUD_PRV, AUD_PLY, AUD_NXT, _______, _______, _______, _______, _______, _______, _______, _______, TO(2) , _x_ },
|
||||
{KC_CAPS, _x_ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _x_ },
|
||||
{KC_RCTL, KC_RGUI, KC_RALT, _x_ , _x_ , _x_ , _x_ , _______, _x_ , _x_ , KC_HOME, KC_PGUP, KC_PGDN, KC_END}
|
||||
},
|
||||
|
||||
// Layer 2: Zeal60 and backlight configuration. (Get here quickly by pressing Caps+Enter from Layer 1.)
|
||||
// This is a persistent layer. Get back to the default layer by pressing enter.
|
||||
[2] = {
|
||||
{RESET, EF_DEC, EF_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, _______, _______, _______, _______, _______, _______, _______},
|
||||
{_______, H1_DEC, H1_INC, S1_DEC, S1_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||
{_______, H2_DEC, H2_INC, S2_DEC, S2_INC, _______, _______, _______, _______, _______, _______, _______, TO(0) , _x_ },
|
||||
{RGB_MOD, _x_ , RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _x_ },
|
||||
{RGB_TOG, RGB_VAD, RGB_VAI, _x_ , _x_ , _x_ , _x_ , _______, _x_ , _x_ , _______, _______, _______, _______}
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user