From fced377ac007d27f2650ccffbe0b18abcdcfe23d Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 30 May 2020 13:14:59 -0700 Subject: 2020 May 30 Breaking Changes Update (#9215) * Branch point for 2020 May 30 Breaking Change * Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954) * Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957) * Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958) * Migrate `ACTION_LAYER_MODS` to `LM()` (#8959) * Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968) * Convert V-USB usbdrv to a submodule (#8321) * Unify Tap Hold functions and documentation (#8348) * Changing board names to prevent confusion (#8412) * Move the Keyboardio Model01 to a keyboardio/ subdir (#8499) * Move spaceman keyboards (#8830) * Migrate miscellaneous `fn_actions` entries (#8977) * Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979) * Organizing my keyboards (plaid, tartan, ergoinu) (#8537) * Refactor Lily58 to use split_common (#6260) * Refactor zinc to use split_common (#7114) * Add a message if bin/qmk doesn't work (#9000) * Fix conflicting types for 'tfp_printf' (#8269) * Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480) * Refactor and updates to TKC1800 code (#8472) * Switch to qmk forks for everything (#9019) * audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484) * Audio enable corrections (2/3) (#8903) * Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582) * Audio enable corrections (Part 4) (#8974) * Fix typo from PR7114 (#9171) * Augment future branch Changelogs (#8978) * Revert "Branch point for 2020 May 30 Breaking Change" --- keyboards/zinc/config.h | 25 -- keyboards/zinc/i2c.c | 162 ------- keyboards/zinc/i2c.h | 49 --- keyboards/zinc/keymaps/default/config.h | 2 - keyboards/zinc/keymaps/default/keymap.c | 26 +- keyboards/zinc/keymaps/default/readme_en.md | 131 ++++++ keyboards/zinc/keymaps/default/readme_jp.md | 48 ++- keyboards/zinc/keymaps/default/rules.mk | 57 ++- keyboards/zinc/keymaps/ginjake/config.h | 2 - keyboards/zinc/keymaps/ginjake/rules.mk | 48 ++- keyboards/zinc/keymaps/monks/config.h | 2 - keyboards/zinc/keymaps/monks/keymap.c | 3 +- keyboards/zinc/keymaps/monks/readme_jp.md | 2 +- keyboards/zinc/keymaps/monks/rules.mk | 50 ++- keyboards/zinc/keymaps/toshi0383/config.h | 2 - keyboards/zinc/keymaps/toshi0383/rules.mk | 67 ++- keyboards/zinc/readme.md | 6 +- keyboards/zinc/rev1/config.h | 61 +-- keyboards/zinc/rev1/matrix.c | 357 ---------------- keyboards/zinc/rev1/rev1.c | 1 - keyboards/zinc/rev1/rev1.h | 15 - keyboards/zinc/rev1/rules.mk | 5 +- keyboards/zinc/rev1/serial_config.h | 18 - keyboards/zinc/rev1/serial_config_simpleapi.h | 8 - keyboards/zinc/rev1/split_scomm.c | 95 ----- keyboards/zinc/rev1/split_scomm.h | 24 -- keyboards/zinc/rev1/split_util.c | 70 --- keyboards/zinc/rev1/split_util.h | 19 - keyboards/zinc/reva/config.h | 56 ++- keyboards/zinc/reva/matrix.c | 357 ---------------- keyboards/zinc/reva/reva.c | 1 - keyboards/zinc/reva/reva.h | 15 - keyboards/zinc/reva/rules.mk | 5 +- keyboards/zinc/reva/serial_config.h | 18 - keyboards/zinc/reva/serial_config_simpleapi.h | 8 - keyboards/zinc/reva/split_scomm.c | 95 ----- keyboards/zinc/reva/split_scomm.h | 24 -- keyboards/zinc/reva/split_util.c | 70 --- keyboards/zinc/reva/split_util.h | 19 - keyboards/zinc/rules.mk | 4 - keyboards/zinc/serial.c | 589 -------------------------- keyboards/zinc/serial.h | 84 ---- keyboards/zinc/zinc.h | 6 +- 43 files changed, 443 insertions(+), 2263 deletions(-) delete mode 100644 keyboards/zinc/i2c.c delete mode 100644 keyboards/zinc/i2c.h create mode 100644 keyboards/zinc/keymaps/default/readme_en.md delete mode 100644 keyboards/zinc/rev1/matrix.c delete mode 100644 keyboards/zinc/rev1/serial_config.h delete mode 100644 keyboards/zinc/rev1/serial_config_simpleapi.h delete mode 100644 keyboards/zinc/rev1/split_scomm.c delete mode 100644 keyboards/zinc/rev1/split_scomm.h delete mode 100644 keyboards/zinc/rev1/split_util.c delete mode 100644 keyboards/zinc/rev1/split_util.h delete mode 100644 keyboards/zinc/reva/matrix.c delete mode 100644 keyboards/zinc/reva/serial_config.h delete mode 100644 keyboards/zinc/reva/serial_config_simpleapi.h delete mode 100644 keyboards/zinc/reva/split_scomm.c delete mode 100644 keyboards/zinc/reva/split_scomm.h delete mode 100644 keyboards/zinc/reva/split_util.c delete mode 100644 keyboards/zinc/reva/split_util.h delete mode 100644 keyboards/zinc/serial.c delete mode 100644 keyboards/zinc/serial.h (limited to 'keyboards/zinc') diff --git a/keyboards/zinc/config.h b/keyboards/zinc/config.h index 712db0ac6d..cfb6bf4ffc 100644 --- a/keyboards/zinc/config.h +++ b/keyboards/zinc/config.h @@ -17,30 +17,5 @@ along with this program. If not, see . */ #pragma once -//#ifndef CONFIG_H -//#define CONFIG_H #include "config_common.h" - -// GCC include 'config.h" sequence in qmk_firmware/keyboards/zinc/ -// -include keyboards/zinc/config.h -// -include keyboards/zinc/rev?/config.h -// -include keyboards/zinc/rev?/keymaps/MAPNAME/config.h -// XXXX.c - -#include - -// GCC include search path in qmk_firmare/keyboards/zinc/ -// #include "..." search starts here: -// #include <...> search starts here: -// keyboards/zinc/rev?/keymaps/MAPNAME -// keyboards/zinc -// keyboards/zinc/rev? -// . -// ./tmk_core -// ...... - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -//#endif /* CONFIG_H */ diff --git a/keyboards/zinc/i2c.c b/keyboards/zinc/i2c.c deleted file mode 100644 index 4bee5c6398..0000000000 --- a/keyboards/zinc/i2c.c +++ /dev/null @@ -1,162 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "i2c.h" - -#ifdef USE_I2C - -// Limits the amount of we wait for any one i2c transaction. -// Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is -// 9 bits, a single transaction will take around 90μs to complete. -// -// (F_CPU/SCL_CLOCK) => # of μC cycles to transfer a bit -// poll loop takes at least 8 clock cycles to execute -#define I2C_LOOP_TIMEOUT (9+1)*(F_CPU/SCL_CLOCK)/8 - -#define BUFFER_POS_INC() (slave_buffer_pos = (slave_buffer_pos+1)%SLAVE_BUFFER_SIZE) - -volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE]; - -static volatile uint8_t slave_buffer_pos; -static volatile bool slave_has_register_set = false; - -// Wait for an i2c operation to finish -inline static -void i2c_delay(void) { - uint16_t lim = 0; - while(!(TWCR & (1<10. - // Check datasheets for more info. - TWBR = ((F_CPU/SCL_CLOCK)-16)/2; -} - -// Start a transaction with the given i2c slave address. The direction of the -// transfer is set with I2C_READ and I2C_WRITE. -// returns: 0 => success -// 1 => error -uint8_t i2c_master_start(uint8_t address) { - TWCR = (1< slave ACK -// 1 => slave NACK -uint8_t i2c_master_write(uint8_t data) { - TWDR = data; - TWCR = (1<= SLAVE_BUFFER_SIZE ) { - ack = 0; - slave_buffer_pos = 0; - } - slave_has_register_set = true; - } else { - i2c_slave_buffer[slave_buffer_pos] = TWDR; - BUFFER_POS_INC(); - } - break; - - case TW_ST_SLA_ACK: - case TW_ST_DATA_ACK: - // master has addressed this device as a slave transmitter and is - // requesting data. - TWDR = i2c_slave_buffer[slave_buffer_pos]; - BUFFER_POS_INC(); - break; - - case TW_BUS_ERROR: // something went wrong, reset twi state - TWCR = 0; - default: - break; - } - // Reset everything, so we are ready for the next TWI interrupt - TWCR |= (1< - -#ifndef F_CPU -#define F_CPU 16000000UL -#endif - -#define I2C_READ 1 -#define I2C_WRITE 0 - -#define I2C_ACK 1 -#define I2C_NACK 0 - -#define SLAVE_BUFFER_SIZE 0x10 - -// i2c SCL clock frequency 400kHz -#define SCL_CLOCK 400000L - -extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE]; - -void i2c_master_init(void); -uint8_t i2c_master_start(uint8_t address); -void i2c_master_stop(void); -uint8_t i2c_master_write(uint8_t data); -uint8_t i2c_master_read(int); -void i2c_reset_state(void); -void i2c_slave_init(uint8_t address); - - -static inline unsigned char i2c_start_read(unsigned char addr) { - return i2c_master_start((addr << 1) | I2C_READ); -} - -static inline unsigned char i2c_start_write(unsigned char addr) { - return i2c_master_start((addr << 1) | I2C_WRITE); -} - -// from SSD1306 scrips -extern unsigned char i2c_rep_start(unsigned char addr); -extern void i2c_start_wait(unsigned char addr); -extern unsigned char i2c_readAck(void); -extern unsigned char i2c_readNak(void); -extern unsigned char i2c_read(unsigned char ack); - -#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak(); - -#endif diff --git a/keyboards/zinc/keymaps/default/config.h b/keyboards/zinc/keymaps/default/config.h index 4dcb0724ff..2185dc9ebe 100644 --- a/keyboards/zinc/keymaps/default/config.h +++ b/keyboards/zinc/keymaps/default/config.h @@ -20,8 +20,6 @@ along with this program. If not, see . */ #pragma once -// if you need more program area, try uncomment follow line -#include "serial_config_simpleapi.h" // place overrides here // Selection of RGBLIGHT MODE to use. diff --git a/keyboards/zinc/keymaps/default/keymap.c b/keyboards/zinc/keymaps/default/keymap.c index 0f08d21ee7..cd1bf0328b 100644 --- a/keyboards/zinc/keymaps/default/keymap.c +++ b/keyboards/zinc/keymaps/default/keymap.c @@ -139,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \ * |------+------+------+------+------+------| |------+------+------+------+------+------| * | |RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | MODE | HUE- | SAT- | VAL- | | | | | | | | | + * |MODE R| MODE | HUE- | SAT- | VAL- | | | | | | |PageUp| | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | | | EISU | EISU | EISU | | KANA | KANA | Home |PageDn|PageUp| End | * `-----------------------------------------' `-----------------------------------------' @@ -147,13 +147,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \ [_ADJUST] = LAYOUT_ortho_4x12( \ _______, RESET, RGBRST, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS, \ _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SLCK, KC_PAUS,\ - _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,\ - _______, _______, _______, EISU, EISU, EISU, KANA, KANA, KC_HOME, KC_PGDN, KC_PGUP, KC_END\ + RGB_RMOD,RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, KC_PGUP, _______,\ + _______, _______, _______, EISU, EISU, EISU, KANA, KANA, KANA, KC_HOME, KC_PGDN, KC_END\ ) }; // define variables for reactive RGB -bool TOG_STATUS = false; +bool TOG_STATUS = false; // Setting ADJUST layer RGB back to default void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { @@ -211,7 +211,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; - + case RAISE: if (record->event.pressed) { //not sure how to have keyboard check mode and set it to a variable, so my work around @@ -244,16 +244,28 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; + //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released + case RGB_RMOD: + #if defined(RGBLIGHT_ENABLE) + if (record->event.pressed) { + rgblight_mode_noeeprom(RGB_current_config.mode); + rgblight_step_reverse(); + RGB_current_config.mode = rgblight_config.mode; + } + return false; + #endif + break; + case RGB_MOD: - #ifdef RGBLIGHT_ENABLE + #if defined(RGBLIGHT_ENABLE) if (record->event.pressed) { rgblight_mode_noeeprom(RGB_current_config.mode); rgblight_step(); RGB_current_config.mode = rgblight_config.mode; } - #endif return false; + #endif break; case EISU: diff --git a/keyboards/zinc/keymaps/default/readme_en.md b/keyboards/zinc/keymaps/default/readme_en.md new file mode 100644 index 0000000000..6447e96ed4 --- /dev/null +++ b/keyboards/zinc/keymaps/default/readme_en.md @@ -0,0 +1,131 @@ +# The Default Zinc Layout +## layout + +### Qwerty + +``` + ,-----------------------------------------. ,-----------------------------------------. + | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | Esc | Fn | Alt | Win |Lower |Space | | Space| Raise| Left | Down | Up | Right| + `------------------------------------------ ------------------------------------------' +``` + +### Colemak + +``` + ,-----------------------------------------. ,-----------------------------------------. + | Tab | Q | W | F | P | G | | J | L | U | Y | ; | Bksp | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | Shift| Z | X | C | V | B | | K | M | , | . | / |Enter | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | Esc |ADJUST| Alt | Win |LOWER |Space | | Space| RAISE| Left | Down | Up | Right| + `------------------------------------------ ------------------------------------------' +``` + +### Dvorak + +``` + ,-----------------------------------------. ,-----------------------------------------. + | Tab | ' | , | . | P | Y | | F | G | C | R | L | Del | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | Ctrl | A | O | E | U | I | | D | H | T | N | S | / | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | Shift| ; | Q | J | K | X | | B | M | W | V | Z |Enter | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | Esc |ADJUST| Alt | Win |LOWER |Space | | Space| RAISE| Left | Down | Up | Right| + `-----------------------------------------' `-----------------------------------------' +``` + +### Lower +``` + ,-----------------------------------------. ,-----------------------------------------. + | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | | | | | | | - | _ | + | { | } | | | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | | | | | | | | | | Home | End | | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | | | | | | | | | Next | Vol- | Vol+ | Play | + `-----------------------------------------' `-----------------------------------------' +``` + +### RAISE +``` + ,-----------------------------------------. ,-----------------------------------------. + | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | F7 | F8 | F9 | F10 | F11 | | F12 | | | | | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | | | | | | | | | Next | Vol- | Vol+ | Play | + `-----------------------------------------' `-----------------------------------------' +``` + +### Adjust (Lower + Raise) +``` + ,-----------------------------------------. ,-----------------------------------------. + | | Reset|RGBRST|Aud on|Audoff| | | |Qwerty|Colemk|Dvorak| | Ins | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | |RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause | + |------+------+------+------+------+------| |------+------+------+------+------+------| + |MODE R|RGBMOD| HUE- | SAT- | VAL- | | | | | | |PageUp| | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | | | EISU | EISU | EISU | | KANA | KANA | KANA | Home |PageDn| End | + `-----------------------------------------' `-----------------------------------------' +``` + +## Compile + +go to qmk top directory. + +``` +$ cd qmk_firmware +``` +make with `zinc:` + +``` +$ make zinc:default +``` + +To make and flash with `:flash` + +``` +$ make zinc:default:flash +``` + + +## Customize + +You can customize from the command line. + +``` +# Zinc keyboard 'default' keymap: convenient command line option +make ZINC= zinc:defualt +# option= back | under | both | cont | na | ios +# ex. +# make ZINC=under zinc:defualt +# make ZINC=under,ios zinc:defualt +# make ZINC=back zinc:default +# make ZINC=back,na zinc:default +# make ZINC=back,ios zinc:default +``` + +Or edit `qmk_firmware/keyboards/zinc/rev1/keymaps/~/rules.mk` directly. + +``` +# Zinc keyboard customize +LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight) +LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight) +LED_BOTH_ENABLE = no # LED backlight and underglow +LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc +LED_ANIMATIONS = yes # LED animations +IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) +``` diff --git a/keyboards/zinc/keymaps/default/readme_jp.md b/keyboards/zinc/keymaps/default/readme_jp.md index dfedb37c15..8132f5036e 100644 --- a/keyboards/zinc/keymaps/default/readme_jp.md +++ b/keyboards/zinc/keymaps/default/readme_jp.md @@ -43,6 +43,44 @@ `-----------------------------------------' `-----------------------------------------' ``` + ### Lower +``` + ,-----------------------------------------. ,-----------------------------------------. + | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | | | | | | | - | _ | + | { | } | | | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | | | | | | | | | | Home | End | | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | | | | | | | | | Next | Vol- | Vol+ | Play | + `-----------------------------------------' `-----------------------------------------' +``` + +### RAISE +``` + ,-----------------------------------------. ,-----------------------------------------. + | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | F7 | F8 | F9 | F10 | F11 | | F12 | | | | | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | | | | | | | | | Next | Vol- | Vol+ | Play | + `-----------------------------------------' `-----------------------------------------' +``` + +### Adjust (Lower + Raise) +``` + ,-----------------------------------------. ,-----------------------------------------. + | | Reset|RGBRST|Aud on|Audoff| | | |Qwerty|Colemk|Dvorak| | Ins | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | |RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause | + |------+------+------+------+------+------| |------+------+------+------+------+------| + |MODE R|RGBMOD| HUE- | SAT- | VAL- | | | | | | |PageUp| | + |------+------+------+------+------+------| |------+------+------+------+------+------| + | | | | EISU | EISU | EISU | | KANA | KANA | KANA | Home |PageDn| End | + `-----------------------------------------' `-----------------------------------------' +``` ## コンパイルの仕方 @@ -76,7 +114,7 @@ $ make zinc:default:clean ``` # Zinc keyboard 'default' keymap: convenient command line option make ZINC= zinc:defualt -# option= back | under | na | ios +# option= back | under | both | cont | na | ios # ex. # make ZINC=under zinc:defualt # make ZINC=under,ios zinc:defualt @@ -85,16 +123,16 @@ make ZINC= zinc:defualt # make ZINC=back,ios zinc:default ``` -あるいは`qmk_firmware/keyboards/zinc/rev1/keymaps/default/rules.mk` の以下の部分を直接編集して機能を有効化してください。 +あるいは`qmk_firmware/keyboards/zinc/rev1/keymaps/~/rules.mk` の以下の部分を直接編集して機能を有効化してください。 ``` # Zinc keyboard customize LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight) LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight) +LED_BOTH_ENABLE = no # LED backlight and underglow +LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc LED_ANIMATIONS = yes # LED animations IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) - - ``` ## RGB backlight を有効にする @@ -120,4 +158,4 @@ RBG Underglow や RGBバックライトの輝度を抑えて、iPad, iPhone に ``` IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) -``` \ No newline at end of file +``` diff --git a/keyboards/zinc/keymaps/default/rules.mk b/keyboards/zinc/keymaps/default/rules.mk index c980f7d00b..32e0f21610 100644 --- a/keyboards/zinc/keymaps/default/rules.mk +++ b/keyboards/zinc/keymaps/default/rules.mk @@ -20,6 +20,9 @@ define ZINC_CUSTOMISE_MSG $(info Zinc customize) $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) + $(info - LED_BOTH_ENABLE=$(LED_BOTH_ENABLE)) + $(info - LED_RGB_CONT=$(LED_RGB_CONT)) + $(info - RGB_MATRIX=$(RGB_MATRIX)) $(info - LED_ANIMATION=$(LED_ANIMATIONS)) $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) endef @@ -27,6 +30,10 @@ endef # Zinc keyboard customize LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight) LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight) +LED_BOTH_ENABLE = no # LED backlight and underglow +LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc +RGB_MATRIX = no # RGB LED Matrix +RGB_MATRIX_SPLIT_RIGHT = no # RGB Matrix for RIGHT Hand LED_ANIMATIONS = yes # LED animations IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) Link_Time_Optimization = no # if firmware size over limit, try this option @@ -36,7 +43,7 @@ Link_Time_Optimization = no # if firmware size over limit, try this option ### Zinc keyboard 'default' keymap: convenient command line option ## make ZINC= zinc:defualt -## option= back | under | na | ios +## option= back | under | both | cont | matrix | na | ios ## ex. ## make ZINC=under zinc:defualt ## make ZINC=under,ios zinc:defualt @@ -47,9 +54,22 @@ Link_Time_Optimization = no # if firmware size over limit, try this option ifneq ($(strip $(ZINC)),) ifeq ($(findstring back,$(ZINC)), back) LED_BACK_ENABLE = yes - else ifeq ($(findstring under,$(ZINC)), under) + endif + ifeq ($(findstring under,$(ZINC)), under) LED_UNDERGLOW_ENABLE = yes endif + ifeq ($(findstring both,$(ZINC)), both) + LED_BOTH_ENABLE = yes + endif + ifeq ($(findstring cont,$(ZINC)), cont) + LED_RGB_CONT = yes + endif + ifeq ($(findstring matrix,$(ZINC)), matrix) + RGB_MATRIX = yes + endif + ifeq ($(findstring right,$(ZINC)), right) + RGB_MATRIX_SPLIT_RIGHT = yes + endif ifeq ($(findstring na,$(ZINC)), na) LED_ANIMATIONS = no endif @@ -62,10 +82,11 @@ endif ifeq ($(strip $(LED_BACK_ENABLE)), yes) RGBLIGHT_ENABLE = yes - OPT_DEFS += -DRGBLED_BACK ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - $(eval $(call ZINC_CUSTOMISE_MSG)) - $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') + OPT_DEFS += -DRGBLED_BOTH + $(info LED_BOTH_ENABLE option is enabled instead of LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE) + else + OPT_DEFS += -DRGBLED_BACK endif else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) RGBLIGHT_ENABLE = yes @@ -73,18 +94,36 @@ else RGBLIGHT_ENABLE = no endif +ifeq ($(strip $(LED_BOTH_ENABLE)), yes) + RGBLIGHT_ENABLE = yes + OPT_DEFS += -DRGBLED_BOTH +endif + +ifeq ($(strip $(LED_RGB_CONT)), yes) + OPT_DEFS += -DRGBLED_CONT +endif + +ifeq ($(strip $(RGB_MATRIX)), yes) + RGBLIGHT_ENABLE = no + RGB_MATRIX_ENABLE = WS2812 +endif + ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) - OPT_DEFS += -DIOS_DEVICE_ENABLE + OPT_DEFS += -DIOS_DEVICE_ENABLE endif ifeq ($(strip $(LED_ANIMATIONS)), yes) -# OPT_DEFS += -DRGBLIGHT_ANIMATIONS - OPT_DEFS += -DLED_ANIMATIONS +# OPT_DEFS += -DRGBLIGHT_ANIMATIONS + OPT_DEFS += -DLED_ANIMATIONS + +endif +ifeq ($(strip $(RGB_MATRIX_SPLIT_RIGHT)), yes) + OPT_DEFS += -DRGB_MATRIX_SPLIT_RIGHT endif ifeq ($(strip $(Link_Time_Optimization)),yes) - EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization + EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization endif # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE diff --git a/keyboards/zinc/keymaps/ginjake/config.h b/keyboards/zinc/keymaps/ginjake/config.h index 4dcb0724ff..2185dc9ebe 100644 --- a/keyboards/zinc/keymaps/ginjake/config.h +++ b/keyboards/zinc/keymaps/ginjake/config.h @@ -20,8 +20,6 @@ along with this program. If not, see . */ #pragma once -// if you need more program area, try uncomment follow line -#include "serial_config_simpleapi.h" // place overrides here // Selection of RGBLIGHT MODE to use. diff --git a/keyboards/zinc/keymaps/ginjake/rules.mk b/keyboards/zinc/keymaps/ginjake/rules.mk index 2dcefc0016..2cb59fe8b8 100644 --- a/keyboards/zinc/keymaps/ginjake/rules.mk +++ b/keyboards/zinc/keymaps/ginjake/rules.mk @@ -1,12 +1,11 @@ - # 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 # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality @@ -21,6 +20,8 @@ define ZINC_CUSTOMISE_MSG $(info Zinc customize) $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) + $(info - LED_BOTH_ENABLE=$(LED_BOTH_ENABLE)) + $(info - LED_RGB_CONT=$(LED_RGB_CONT)) $(info - LED_ANIMATION=$(LED_ANIMATIONS)) $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) endef @@ -28,6 +29,8 @@ endef # Zinc keyboard customize LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight) LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight) +LED_BOTH_ENABLE = no # LED backlight and underglow +LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc LED_ANIMATIONS = yes # LED animations IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) Link_Time_Optimization = no # if firmware size over limit, try this option @@ -37,7 +40,7 @@ Link_Time_Optimization = no # if firmware size over limit, try this option ### Zinc keyboard 'default' keymap: convenient command line option ## make ZINC= zinc:defualt -## option= back | under | na | ios +## option= back | under | both | cont | na | ios ## ex. ## make ZINC=under zinc:defualt ## make ZINC=under,ios zinc:defualt @@ -48,9 +51,16 @@ Link_Time_Optimization = no # if firmware size over limit, try this option ifneq ($(strip $(ZINC)),) ifeq ($(findstring back,$(ZINC)), back) LED_BACK_ENABLE = yes - else ifeq ($(findstring under,$(ZINC)), under) + endif + ifeq ($(findstring under,$(ZINC)), under) LED_UNDERGLOW_ENABLE = yes endif + ifeq ($(findstring both,$(ZINC)), both) + LED_BOTH_ENABLE = yes + endif + ifeq ($(findstring cont,$(ZINC)), cont) + LED_RGB_CONT = yes + endif ifeq ($(findstring na,$(ZINC)), na) LED_ANIMATIONS = no endif @@ -63,10 +73,11 @@ endif ifeq ($(strip $(LED_BACK_ENABLE)), yes) RGBLIGHT_ENABLE = yes - OPT_DEFS += -DRGBLED_BACK ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - $(eval $(call ZINC_CUSTOMISE_MSG)) - $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') + OPT_DEFS += -DRGBLED_BOTH + $(info LED_BOTH_ENABLE option is enabled instead of LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE) + else + OPT_DEFS += -DRGBLED_BACK endif else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) RGBLIGHT_ENABLE = yes @@ -74,18 +85,27 @@ else RGBLIGHT_ENABLE = no endif +ifeq ($(strip $(LED_BOTH_ENABLE)), yes) + RGBLIGHT_ENABLE = yes + OPT_DEFS += -DRGBLED_BOTH +endif + +ifeq ($(strip $(LED_RGB_CONT)), yes) + OPT_DEFS += -DRGBLED_CONT +endif + ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) - OPT_DEFS += -DIOS_DEVICE_ENABLE + OPT_DEFS += -DIOS_DEVICE_ENABLE endif ifeq ($(strip $(LED_ANIMATIONS)), yes) -# OPT_DEFS += -DRGBLIGHT_ANIMATIONS - OPT_DEFS += -DLED_ANIMATIONS +# OPT_DEFS += -DRGBLIGHT_ANIMATIONS + OPT_DEFS += -DLED_ANIMATIONS endif ifeq ($(strip $(Link_Time_Optimization)),yes) - EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization + EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization endif # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE diff --git a/keyboards/zinc/keymaps/monks/config.h b/keyboards/zinc/keymaps/monks/config.h index 4dcb0724ff..2185dc9ebe 100644 --- a/keyboards/zinc/keymaps/monks/config.h +++ b/keyboards/zinc/keymaps/monks/config.h @@ -20,8 +20,6 @@ along with this program. If not, see . */ #pragma once -// if you need more program area, try uncomment follow line -#include "serial_config_simpleapi.h" // place overrides here // Selection of RGBLIGHT MODE to use. diff --git a/keyboards/zinc/keymaps/monks/keymap.c b/keyboards/zinc/keymaps/monks/keymap.c index 5fd7c6aa85..a30e8ac5fc 100644 --- a/keyboards/zinc/keymaps/monks/keymap.c +++ b/keyboards/zinc/keymaps/monks/keymap.c @@ -119,6 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \ // define variables for reactive RGB bool TOG_STATUS = false; + // Setting ADJUST layer RGB back to default void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { @@ -163,7 +164,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; - + case RAISE: if (record->event.pressed) { //not sure how to have keyboard check mode and set it to a variable, so my work around diff --git a/keyboards/zinc/keymaps/monks/readme_jp.md b/keyboards/zinc/keymaps/monks/readme_jp.md index f1495af4c8..e518eb7696 100644 --- a/keyboards/zinc/keymaps/monks/readme_jp.md +++ b/keyboards/zinc/keymaps/monks/readme_jp.md @@ -100,4 +100,4 @@ RBG Underglow や RGBバックライトの輝度を抑えて、iPad, iPhone に ``` IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) -``` \ No newline at end of file +``` diff --git a/keyboards/zinc/keymaps/monks/rules.mk b/keyboards/zinc/keymaps/monks/rules.mk index eeabc004c3..c1b98deada 100644 --- a/keyboards/zinc/keymaps/monks/rules.mk +++ b/keyboards/zinc/keymaps/monks/rules.mk @@ -1,12 +1,11 @@ - # 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 # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality @@ -21,6 +20,8 @@ define ZINC_CUSTOMISE_MSG $(info Zinc customize) $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) + $(info - LED_BOTH_ENABLE=$(LED_BOTH_ENABLE)) + $(info - LED_RGB_CONT=$(LED_RGB_CONT)) $(info - LED_ANIMATION=$(LED_ANIMATIONS)) $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) endef @@ -28,6 +29,8 @@ endef # Zinc keyboard customize LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight) LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight) +LED_BOTH_ENABLE = no # LED backlight and underglow +LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc LED_ANIMATIONS = yes # LED animations IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) Link_Time_Optimization = no # if firmware size over limit, try this option @@ -37,7 +40,7 @@ Link_Time_Optimization = no # if firmware size over limit, try this option ### Zinc keyboard 'default' keymap: convenient command line option ## make ZINC= zinc:defualt -## option= back | under | na | ios +## option= back | under | both | cont | na | ios ## ex. ## make ZINC=under zinc:defualt ## make ZINC=under,ios zinc:defualt @@ -48,9 +51,16 @@ Link_Time_Optimization = no # if firmware size over limit, try this option ifneq ($(strip $(ZINC)),) ifeq ($(findstring back,$(ZINC)), back) LED_BACK_ENABLE = yes - else ifeq ($(findstring under,$(ZINC)), under) + endif + ifeq ($(findstring under,$(ZINC)), under) LED_UNDERGLOW_ENABLE = yes endif + ifeq ($(findstring both,$(ZINC)), both) + LED_BOTH_ENABLE = yes + endif + ifeq ($(findstring cont,$(ZINC)), cont) + LED_RGB_CONT = yes + endif ifeq ($(findstring na,$(ZINC)), na) LED_ANIMATIONS = no endif @@ -63,10 +73,11 @@ endif ifeq ($(strip $(LED_BACK_ENABLE)), yes) RGBLIGHT_ENABLE = yes - OPT_DEFS += -DRGBLED_BACK ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - $(eval $(call ZINC_CUSTOMISE_MSG)) - $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') + OPT_DEFS += -DRGBLED_BOTH + $(info LED_BOTH_ENABLE option is enabled instead of LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE) + else + OPT_DEFS += -DRGBLED_BACK endif else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) RGBLIGHT_ENABLE = yes @@ -74,17 +85,27 @@ else RGBLIGHT_ENABLE = no endif +ifeq ($(strip $(LED_BOTH_ENABLE)), yes) + RGBLIGHT_ENABLE = yes + OPT_DEFS += -DRGBLED_BOTH +endif + +ifeq ($(strip $(LED_RGB_CONT)), yes) + OPT_DEFS += -DRGBLED_CONT +endif + ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) - OPT_DEFS += -DIOS_DEVICE_ENABLE + OPT_DEFS += -DIOS_DEVICE_ENABLE endif ifeq ($(strip $(LED_ANIMATIONS)), yes) -# OPT_DEFS += -DRGBLIGHT_ANIMATIONS - OPT_DEFS += -DLED_ANIMATIONS +# OPT_DEFS += -DRGBLIGHT_ANIMATIONS + OPT_DEFS += -DLED_ANIMATIONS + endif ifeq ($(strip $(Link_Time_Optimization)),yes) - EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization + EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization endif # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE @@ -94,4 +115,3 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) # $(info -- OPT_DEFS=$(OPT_DEFS)) # $(info ) - diff --git a/keyboards/zinc/keymaps/toshi0383/config.h b/keyboards/zinc/keymaps/toshi0383/config.h index 33108a29e6..0d53d44247 100644 --- a/keyboards/zinc/keymaps/toshi0383/config.h +++ b/keyboards/zinc/keymaps/toshi0383/config.h @@ -21,8 +21,6 @@ along with this program. If not, see . */ #pragma once -// if you need more program area, try uncomment follow line -#include "serial_config_simpleapi.h" // place overrides here // Selection of RGBLIGHT MODE to use. diff --git a/keyboards/zinc/keymaps/toshi0383/rules.mk b/keyboards/zinc/keymaps/toshi0383/rules.mk index dca9aa7ff8..26ac02f3a0 100644 --- a/keyboards/zinc/keymaps/toshi0383/rules.mk +++ b/keyboards/zinc/keymaps/toshi0383/rules.mk @@ -1,11 +1,12 @@ # Build Options -# change yes to no to disable +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically # BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys +MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration +COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls @@ -19,6 +20,9 @@ define ZINC_CUSTOMISE_MSG $(info Zinc customize) $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) + $(info - LED_BOTH_ENABLE=$(LED_BOTH_ENABLE)) + $(info - LED_RGB_CONT=$(LED_RGB_CONT)) + $(info - RGB_MATRIX=$(RGB_MATRIX)) $(info - LED_ANIMATION=$(LED_ANIMATIONS)) $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) endef @@ -26,6 +30,10 @@ endef # Zinc keyboard customize LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight) LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight) +LED_BOTH_ENABLE = no # LED backlight and underglow +LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc +RGB_MATRIX = no # RGB LED Matrix +RGB_MATRIX_SPLIT_RIGHT = no # RGB Matrix for RIGHT Hand LED_ANIMATIONS = yes # LED animations IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) Link_Time_Optimization = no # if firmware size over limit, try this option @@ -35,7 +43,7 @@ Link_Time_Optimization = no # if firmware size over limit, try this option ### Zinc keyboard 'default' keymap: convenient command line option ## make ZINC= zinc:defualt -## option= back | under | na | ios +## option= back | under | both | cont | matrix | na | ios ## ex. ## make ZINC=under zinc:defualt ## make ZINC=under,ios zinc:defualt @@ -46,9 +54,22 @@ Link_Time_Optimization = no # if firmware size over limit, try this option ifneq ($(strip $(ZINC)),) ifeq ($(findstring back,$(ZINC)), back) LED_BACK_ENABLE = yes - else ifeq ($(findstring under,$(ZINC)), under) + endif + ifeq ($(findstring under,$(ZINC)), under) LED_UNDERGLOW_ENABLE = yes endif + ifeq ($(findstring both,$(ZINC)), both) + LED_BOTH_ENABLE = yes + endif + ifeq ($(findstring cont,$(ZINC)), cont) + LED_RGB_CONT = yes + endif + ifeq ($(findstring matrix,$(ZINC)), matrix) + RGB_MATRIX = yes + endif + ifeq ($(findstring right,$(ZINC)), right) + RGB_MATRIX_SPLIT_RIGHT = yes + endif ifeq ($(findstring na,$(ZINC)), na) LED_ANIMATIONS = no endif @@ -61,10 +82,11 @@ endif ifeq ($(strip $(LED_BACK_ENABLE)), yes) RGBLIGHT_ENABLE = yes - OPT_DEFS += -DRGBLED_BACK ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - $(eval $(call ZINC_CUSTOMISE_MSG)) - $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') + OPT_DEFS += -DRGBLED_BOTH + $(info LED_BOTH_ENABLE option is enabled instead of LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE) + else + OPT_DEFS += -DRGBLED_BACK endif else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) RGBLIGHT_ENABLE = yes @@ -72,24 +94,43 @@ else RGBLIGHT_ENABLE = no endif +ifeq ($(strip $(LED_BOTH_ENABLE)), yes) + RGBLIGHT_ENABLE = yes + OPT_DEFS += -DRGBLED_BOTH +endif + +ifeq ($(strip $(LED_RGB_CONT)), yes) + OPT_DEFS += -DRGBLED_CONT +endif + +ifeq ($(strip $(RGB_MATRIX)), yes) + RGBLIGHT_ENABLE = no + RGB_MATRIX_ENABLE = WS2812 +endif + ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) - OPT_DEFS += -DIOS_DEVICE_ENABLE + OPT_DEFS += -DIOS_DEVICE_ENABLE endif ifeq ($(strip $(LED_ANIMATIONS)), yes) -# OPT_DEFS += -DRGBLIGHT_ANIMATIONS - OPT_DEFS += -DLED_ANIMATIONS +# OPT_DEFS += -DRGBLIGHT_ANIMATIONS + OPT_DEFS += -DLED_ANIMATIONS + +endif + +ifeq ($(strip $(RGB_MATRIX_SPLIT_RIGHT)), yes) + OPT_DEFS += -DRGB_MATRIX_SPLIT_RIGHT endif ifeq ($(strip $(Link_Time_Optimization)),yes) - EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization + EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization 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 + # Uncomment these for debugging # $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) # $(info -- OPT_DEFS=$(OPT_DEFS)) # $(info ) - diff --git a/keyboards/zinc/readme.md b/keyboards/zinc/readme.md index 3b4ce105c8..0e8d6cd65d 100644 --- a/keyboards/zinc/readme.md +++ b/keyboards/zinc/readme.md @@ -5,9 +5,9 @@ Zinc 40% row-staggered split keyboard. -Keyboard Maintainer: [monksoffunk](https://github.com/monksoffunk/) [@monksoffunkJP](https://twitter.com/monksoffunkJP) -Hardware Supported: Zinc PCB -Hardware Availability: (https://twitter.com/monksoffunkJP) +* Keyboard Maintainer: [monksoffunk](https://github.com/monksoffunk/) [@monksoffunkJP](https://twitter.com/monksoffunkJP) +* Hardware Supported: Zinc PCB +* Hardware Availability: (https://twitter.com/monksoffunkJP) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/zinc/rev1/config.h b/keyboards/zinc/rev1/config.h index 6713b3098a..1eb63df5bc 100644 --- a/keyboards/zinc/rev1/config.h +++ b/keyboards/zinc/rev1/config.h @@ -18,9 +18,6 @@ along with this program. If not, see . #pragma once -//#ifndef REV1_CONFIG_H -//#define REV1_CONFIG_H - /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x9991 @@ -33,9 +30,8 @@ along with this program. If not, see . #define TAPPING_TERM 100 /* Use I2C or Serial */ -//#define USE_I2C #define USE_SERIAL -//#define USE_MATRIX_I2C +#define SOFT_SERIAL_PIN D2 /* Select hand configuration */ #define MASTER_LEFT @@ -44,18 +40,14 @@ along with this program. If not, see . /* key matrix size */ // Rows are doubled-up - #define MATRIX_ROWS 8 - #define MATRIX_ROW_PINS { F6, F7, B1, B3 } +#define MATRIX_ROWS 8 +#define MATRIX_ROW_PINS { F6, F7, B1, B3 } // wiring of each half #define MATRIX_COLS 6 #define MATRIX_COL_PINS { F4, D4, C6, D7, E6, B4 } -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ -// #define BACKLIGHT_LEVELS 3 +#define DIODE_DIRECTION COL2ROW /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 @@ -67,25 +59,44 @@ along with this program. If not, see . /* ws2812 RGB LED */ #define RGB_DI_PIN D3 -#define RGBLIGHT_TIMER -//#define RGBLED_NUM 12 // Number of LEDs. see ./keymaps/default/config.h -#define ws2812_PORTREG PORTD -#define ws2812_DDRREG DDRD // RGB LED support //#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no // see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes -#ifdef RGBLED_BACK - #define RGBLED_NUM 24 -#else - #define RGBLED_NUM 6 +#ifdef RGBLIGHT_ENABLE + #define RGBLIGHT_SPLIT + #ifdef RGBLED_BACK + #ifdef RGBLED_CONT + #define RGBLED_NUM 48 + #define RGBLED_SPLIT { 24, 24 } + #else + #define RGBLED_NUM 24 + #endif + #else + #ifdef RGBLED_BOTH + #ifdef RGBLED_CONT + #define RGBLED_NUM 60 + #define RGBLED_SPLIT { 30, 30 } +// #define RGBLIGHT_LED_MAP {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29} + #else + #define RGBLED_NUM 30 + #endif + #else + #ifdef RGBLED_CONT + #define RGBLED_NUM 12 + #define RGBLED_SPLIT { 6, 6 } + #else + #define RGBLED_NUM 6 + #endif + #endif + #endif #endif #ifndef IOS_DEVICE_ENABLE - #if RGBLED_NUM <= 6 + #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12)) #define RGBLIGHT_LIMIT_VAL 255 #else - #if RGBLED_NUM <= 16 + #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32)) #define RGBLIGHT_LIMIT_VAL 130 #else #define RGBLIGHT_LIMIT_VAL 120 @@ -93,10 +104,10 @@ along with this program. If not, see . #endif #define RGBLIGHT_VAL_STEP 17 #else - #if RGBLED_NUM <= 6 + #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12)) #define RGBLIGHT_LIMIT_VAL 90 #else - #if RGBLED_NUM <= 16 + #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32)) #define RGBLIGHT_LIMIT_VAL 45 #else #define RGBLIGHT_LIMIT_VAL 35 @@ -136,5 +147,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -//#endif diff --git a/keyboards/zinc/rev1/matrix.c b/keyboards/zinc/rev1/matrix.c deleted file mode 100644 index df674ce143..0000000000 --- a/keyboards/zinc/rev1/matrix.c +++ /dev/null @@ -1,357 +0,0 @@ -/* -Copyright 2012 Jun Wako - -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 . -*/ - -/* - * scan matrix - */ -#include -#include -#include -#include -#include -#include -#include -#include "print.h" -#include "debug.h" -#include "util.h" -#include "matrix.h" -#include "split_util.h" -#include "quantum.h" - -#ifdef USE_MATRIX_I2C -# include "i2c.h" -#else // USE_SERIAL -# include "split_scomm.h" -#endif - -#ifndef DEBOUNCE -# define DEBOUNCE 5 -#endif - -#define ERROR_DISCONNECT_COUNT 5 - -static uint8_t debouncing = DEBOUNCE; -static const int ROWS_PER_HAND = MATRIX_ROWS/2; -static uint8_t error_count = 0; -uint8_t is_master = 0 ; - -static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; -static matrix_row_t matrix_debouncing[MATRIX_ROWS]; - -static matrix_row_t read_cols(void); -static void init_cols(void); -static void unselect_rows(void); -static void select_row(uint8_t row); -static uint8_t matrix_master_scan(void); - - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) -{ - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) -{ - return MATRIX_COLS; -} - -void matrix_init(void) -{ - debug_enable = true; - debug_matrix = true; - debug_mouse = true; - // initialize row and col - unselect_rows(); - init_cols(); - - setPinOutput(B0); - setPinOutput(D5); - writePinHigh(D5); - writePinHigh(B0); - - // initialize matrix state: all keys off - for (uint8_t i=0; i < MATRIX_ROWS; i++) { - matrix[i] = 0; - matrix_debouncing[i] = 0; - } - - is_master = has_usb(); - - matrix_init_quantum(); -} - -uint8_t _matrix_scan(void) -{ - // Right hand is stored after the left in the matirx so, we need to offset it - int offset = isLeftHand ? 0 : (ROWS_PER_HAND); - - for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { - select_row(i); - _delay_us(30); // without this wait read unstable value. - matrix_row_t cols = read_cols(); - if (matrix_debouncing[i+offset] != cols) { - matrix_debouncing[i+offset] = cols; - debouncing = DEBOUNCE; - } - unselect_rows(); - } - - if (debouncing) { - if (--debouncing) { - _delay_ms(1); - } else { - for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { - matrix[i+offset] = matrix_debouncing[i+offset]; - } - } - } - - return 1; -} - -#ifdef USE_MATRIX_I2C - -// Get rows from other half over i2c -int i2c_transaction(void) { - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; - - int err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_WRITE); - if (err) goto i2c_error; - - // start of matrix stored at 0x00 - err = i2c_master_write(0x00); - if (err) goto i2c_error; - - // Start read - err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_READ); - if (err) goto i2c_error; - - if (!err) { - int i; - for (i = 0; i < ROWS_PER_HAND-1; ++i) { - matrix[slaveOffset+i] = i2c_master_read(I2C_ACK); - } - matrix[slaveOffset+i] = i2c_master_read(I2C_NACK); - i2c_master_stop(); - } else { -i2c_error: // the cable is disconnceted, or something else went wrong - i2c_reset_state(); - return err; - } - - return 0; -} - -#else // USE_SERIAL - -int serial_transaction(int master_changed) { - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; -#ifdef SERIAL_USE_MULTI_TRANSACTION - int ret=serial_update_buffers(master_changed); -#else - int ret=serial_update_buffers(); -#endif - if (ret ) { - if(ret==2) writePinLow(B0); - return 1; - } - writePinHigh(B0); - memcpy(&matrix[slaveOffset], - (void *)serial_slave_buffer, sizeof(serial_slave_buffer)); - return 0; -} -#endif - -uint8_t matrix_scan(void) -{ - if (is_master) { - matrix_master_scan(); - }else{ - matrix_slave_scan(); - int offset = (isLeftHand) ? ROWS_PER_HAND : 0; - memcpy(&matrix[offset], - (void *)serial_master_buffer, sizeof(serial_master_buffer)); - matrix_scan_quantum(); - } - return 1; -} - - -uint8_t matrix_master_scan(void) { - - int ret = _matrix_scan(); - int mchanged = 1; - int offset = (isLeftHand) ? 0 : ROWS_PER_HAND; - -#ifdef USE_MATRIX_I2C -// for (int i = 0; i < ROWS_PER_HAND; ++i) { - /* i2c_slave_buffer[i] = matrix[offset+i]; */ -// i2c_slave_buffer[i] = matrix[offset+i]; -// } -#else // USE_SERIAL - #ifdef SERIAL_USE_MULTI_TRANSACTION - mchanged = memcmp((void *)serial_master_buffer, - &matrix[offset], sizeof(serial_master_buffer)); - #endif - memcpy((void *)serial_master_buffer, - &matrix[offset], sizeof(serial_master_buffer)); -#endif - -#ifdef USE_MATRIX_I2C - if( i2c_transaction() ) { -#else // USE_SERIAL - if( serial_transaction(mchanged) ) { -#endif - // turn on the indicator led when halves are disconnected - writePinLow(D5); - - error_count++; - - if (error_count > ERROR_DISCONNECT_COUNT) { - // reset other half if disconnected - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[slaveOffset+i] = 0; - } - } - } else { - // turn off the indicator led on no error - writePinHigh(D5); - error_count = 0; - } - matrix_scan_quantum(); - return ret; -} - -void matrix_slave_scan(void) { - _matrix_scan(); - - int offset = (isLeftHand) ? 0 : ROWS_PER_HAND; - -#ifdef USE_MATRIX_I2C - for (int i = 0; i < ROWS_PER_HAND; ++i) { - /* i2c_slave_buffer[i] = matrix[offset+i]; */ - i2c_slave_buffer[i] = matrix[offset+i]; - } -#else // USE_SERIAL - #ifdef SERIAL_USE_MULTI_TRANSACTION - int change = 0; - #endif - for (int i = 0; i < ROWS_PER_HAND; ++i) { - #ifdef SERIAL_USE_MULTI_TRANSACTION - if( serial_slave_buffer[i] != matrix[offset+i] ) - change = 1; - #endif - serial_slave_buffer[i] = matrix[offset+i]; - } - #ifdef SERIAL_USE_MULTI_TRANSACTION - slave_buffer_change_count += change; - #endif -#endif -} - -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<> 4) + 1) &= ~_BV(col_pins[x] & 0xF); - _SFR_IO8((col_pins[x] >> 4) + 2) |= _BV(col_pins[x] & 0xF); - } -} - -static matrix_row_t read_cols(void) -{ - matrix_row_t result = 0; - for(int x = 0; x < MATRIX_COLS; x++) { - result |= (_SFR_IO8(col_pins[x] >> 4) & _BV(col_pins[x] & 0xF)) ? 0 : (1 << x); - } - return result; -} - -static void unselect_rows(void) -{ - for(int x = 0; x < ROWS_PER_HAND; x++) { - _SFR_IO8((row_pins[x] >> 4) + 1) &= ~_BV(row_pins[x] & 0xF); - _SFR_IO8((row_pins[x] >> 4) + 2) |= _BV(row_pins[x] & 0xF); - } -} - -static void select_row(uint8_t row) -{ - _SFR_IO8((row_pins[row] >> 4) + 1) |= _BV(row_pins[row] & 0xF); - _SFR_IO8((row_pins[row] >> 4) + 2) &= ~_BV(row_pins[row] & 0xF); -} diff --git a/keyboards/zinc/rev1/rev1.c b/keyboards/zinc/rev1/rev1.c index 2ce08a07c4..a9c2cfdbac 100644 --- a/keyboards/zinc/rev1/rev1.c +++ b/keyboards/zinc/rev1/rev1.c @@ -3,4 +3,3 @@ void matrix_init_kb(void) { matrix_init_user(); }; - diff --git a/keyboards/zinc/rev1/rev1.h b/keyboards/zinc/rev1/rev1.h index aa1c408b0b..1bf2c565ae 100644 --- a/keyboards/zinc/rev1/rev1.h +++ b/keyboards/zinc/rev1/rev1.h @@ -1,22 +1,7 @@ #pragma once -#include "../zinc.h" - #include "quantum.h" -#ifdef RGBLIGHT_ENABLE -//rgb led driver -#include "ws2812.h" -#endif - -#ifdef USE_I2C -#include -#ifdef __AVR__ - #include - #include -#endif -#endif - // Standard Keymap // (TRRS jack on both halves are to the left side) #define LAYOUT( \ diff --git a/keyboards/zinc/rev1/rules.mk b/keyboards/zinc/rev1/rules.mk index e78b9258d7..d38a618090 100644 --- a/keyboards/zinc/rev1/rules.mk +++ b/keyboards/zinc/rev1/rules.mk @@ -1,4 +1 @@ -SRC += rev1/matrix.c -SRC += rev1/split_util.c -SRC += rev1/split_scomm.c -SRC += ws2812.c +SPLIT_KEYBOARD = yes diff --git a/keyboards/zinc/rev1/serial_config.h b/keyboards/zinc/rev1/serial_config.h deleted file mode 100644 index 9fb5dfc671..0000000000 --- a/keyboards/zinc/rev1/serial_config.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef SOFT_SERIAL_CONFIG_H -#define SOFT_SERIAL_CONFIG_H - -#ifndef SOFT_SERIAL_PIN -/* Soft Serial defines */ -#define SOFT_SERIAL_PIN D2 -// OPTIONAL: #define SELECT_SOFT_SERIAL_SPEED ? // ? = 1,2,3,4,5 -// // 1: about 137kbps (default) -// // 2: about 75kbps -// // 3: about 39kbps -// // 4: about 26kbps -// // 5: about 20kbps -#endif - -//// USE flexible API (using multi-type transaction function) -#define SERIAL_USE_MULTI_TRANSACTION - -#endif /* SOFT_SERIAL_CONFIG_H */ diff --git a/keyboards/zinc/rev1/serial_config_simpleapi.h b/keyboards/zinc/rev1/serial_config_simpleapi.h deleted file mode 100644 index e2d22a41e7..0000000000 --- a/keyboards/zinc/rev1/serial_config_simpleapi.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef SERIAL_CONFIG_SIMPLEAPI_H -#define SERIAL_CONFIG_SIMPLEAPI_H - -#undef SERIAL_USE_MULTI_TRANSACTION -#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 -#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 - -#endif // SERIAL_CONFIG_SIMPLEAPI_H diff --git a/keyboards/zinc/rev1/split_scomm.c b/keyboards/zinc/rev1/split_scomm.c deleted file mode 100644 index 50d233ce9a..0000000000 --- a/keyboards/zinc/rev1/split_scomm.c +++ /dev/null @@ -1,95 +0,0 @@ -#ifdef USE_SERIAL -#ifdef SERIAL_USE_MULTI_TRANSACTION -/* --- USE flexible API (using multi-type transaction function) --- */ - -