Commit Graph

949 Commits

Author SHA1 Message Date
Florian Didron
5cb5e04f13 Merge pull request #32 from zsa/per_key_matrix_effects_part_1
Update to RGB Matrix LED structure
2019-05-20 09:44:07 +09:00
Ryan Caltabiano
0554bced7c Reduce rgb matrix firmware size 2019-05-19 16:02:42 -07:00
Ryan Caltabiano
18e15a7077 Added custom center point to rgb matrix 2019-05-19 16:02:38 -07:00
XScorpion2
2e08096ba6 Spirals, Pinwheels, and Documentation....Oh My! RGB Matrix Effects (#5877)
* Spirals, Pinwheels, and Documentation....Oh My!

* Spiral effect band thickness adjustments

* Fixing animation spin directions
2019-05-19 16:02:26 -07:00
XScorpion2
5b69491bac Fixing hsv_to_rgb where s = 0 and v < 255 (#5915)
* Fixing hsv to rgb where s is 0 and v is < 255

* Update color.c
2019-05-19 16:02:17 -07:00
XScorpion2
05e01eb565 Single Color Band scrolling left to right effects (#5867) 2019-05-19 16:02:13 -07:00
XScorpion2
95e4c8a461 Fix for Solid Reactive mode bug (#5846)
derp, forgot to remove the pragma once
2019-05-11 12:35:12 -07:00
XScorpion2
a8ed2608b5 RGB Matrix Effects: Cycle Out to In & Cycle Out to In Dual (#5812) 2019-05-10 23:02:43 -07:00
XScorpion2
665e719e31 Cleanup/rgb matrix (#5811)
* clean up rgb matrix extern usage

Moved rgb matrix boiler plate into macros

Rebased onto typing heatmap pr

* Fixing the reversed frame buffer access in digital rain

* Fixing digital rain & typing heatmap if keyreactive effects are not enabled

* Apply suggestions from code review

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Adding parenthesizes to DRIVER_LED_TOTAL where necessary

* Updated docs

* added notes about parentheses
2019-05-10 23:02:43 -07:00
XScorpion2
b4dab5b09b RGB Matrix Typing Heatmap (#5786)
* RGB Matrix Typing Heatmap Effect

* Fixing file name and effect init
2019-05-07 21:49:07 -07:00
XScorpion2
4d57a049b5 rgb_led struct conversion (aka: Per led (key) type rgb matrix effects - part 2) (#5783)
* Initial conversion of the rgb_led struct

* Converting last keyboard & updating effects to take advantage of the new structure

* New struct should not be const

* Updated docs

* Changing define ___ for no led to NO_LED

* Missed converting some keymap usages of the old struct layout
2019-05-07 21:48:47 -07:00
XScorpion2
6364fe4efb Updated rgb_led struct field modifier to flags (#5619)
Updated effects to test led flags
Updated massdrop to use new flags field for led toggle
2019-05-07 21:45:35 -07:00
Jack Humbert
51cc6f398d make a5 high when not in use 2019-05-07 09:48:43 -07:00
Florian Didron
270ab0d3fb Merge branch 'master' into feature/unicode_map_improvements 2019-05-06 10:35:24 +09:00
Florian Didron
3c5dd583e1 Merge pull request #43 from zsa/fix/space_cadet
Space Cadet: Reducing unnecessary reported keypresses (#5781)
2019-05-06 10:29:48 +09:00
Florian Didron
3504bf30e1 Merge pull request #42 from zsa/feature/add_dfu_util_signature
Add DFU Suffix for ARM boards (#5763)
2019-05-06 10:04:59 +09:00
Florian Didron
8e9ac7d142 Merge pull request #40 from zsa/feature/rgblight_static_breathing_table
Use a fixed table if breathing center is not defined for RGB Light
2019-05-06 10:01:42 +09:00
Florian Didron
46ea7dfd51 Merge pull request #39 from zsa/fix/hue_to_rgb_tuning
Adjusted the linear led table and hsv_to_rgb to better handle 255 hue
2019-05-06 09:58:00 +09:00
Florian Didron
1f3fd52b6d Merge pull request #38 from zsa/fix/rgb_matrix_simple_reaction_tracking
Simple fix for selecting which tracked key press to work off of for s…
2019-05-06 09:57:16 +09:00
Florian Didron
e622e6d1bb Merge pull request #37 from zsa/feature/rgb_matrix_led_lookup
Implement kb function for rgb matrix to led lookup
2019-05-06 09:54:03 +09:00
Florian Didron
2a70dc8eea Merge pull request #36 from zsa/fix/ws2812_matrix_refs
Fixing incorrect usage of RGBLED_NUM in ws2812 driver when used with RGB Matrix (#5744)
2019-05-06 09:53:18 +09:00
Konstantin Đorđević
4f2efc06ce New keycode macro (XP) for shifted character pairs using UNICODEMAP + bug fixes and improvements (#4803)
* Expose unicode_saved_mods

* Add UNICODEMAP shift pair functionality and XS keycode

* Add XS to keycode reference documentation

* Pick pair index based on both Shift and Caps Lock state

* Add XS to Unicode feature docs

* Clean up process_unicode* headers

* Extract unicode_map index calculation into function

* Pick pair index as XOR rather than OR of Shift and Caps states

* unicode_input_start() has to be called before the unicode_map index is calculated

* Replace unicodemap_input_error() with more generic unicode_input_cancel()

* Replace register+tap+unregister with tap_code16(LCTL(LSFT(KC_U)))

* UNICODE_OSX_KEY → UNICODE_KEY_OSX, UNICODE_WINC_KEY → UNICODE_KEY_WINC

* Make keycode range checks more robust

* Fix keycode range checks for different input modes

* Add UNICODE_KEY_LNX, update docs

* QK_UNICODEMAP_SHIFT → QK_UNICODEMAP_PAIR

* XS → XP, update docs

* Tweak Unicode docs

* Use recently added MOD_MASK_SHIFT and IS_HOST_LED_ON helpers

* Update Unicode table in docs/keycodes.md

* Update Unicode docs per review comments

* Replace references to Mac OS X with macOS in Unicode docs

* As of v0.9.0, WinCompose supports all possible code points

* Expand descriptions in XP docs

* Update keycode table and cycling docs

* Further expand cycling docs
2019-05-05 17:42:18 -07:00
XScorpion2
25aa7bcbdb Space Cadet: Reducing unnecessary reported keypresses (#5781)
* Reducing unnecessary reported keypresses and minor docs / variable name changes

* Apply suggestions from code review

Co-Authored-By: XScorpion2 <rcalt2vt@gmail.com>
2019-05-05 16:40:51 -07:00
Drashna Jaelre
caef39bf2a Add DFU Suffix for ARM boards (#5763)
* Add DFU Suffix for ARM boards

* Blindly flash DFU SUFFIX ARGS for now

* Fix commented out check

* Fix DFU Suffix Argument check

Thank you jack!

* Update Travis CI Scripts to include dfu-util

So we can get dfu-suffix as well

* Manually add dfu-suffix package

* Use external repo for newer version of dfu-util

One that includes dfu-suffix

* Update .travis.yml

* Silence unnecessary output from dfu-suffix
2019-05-03 08:36:43 -07:00
Takeshi ISHII
4550e29f95 If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table instead of exp() and sin() (#5484)
* If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table instead of exp() and sin()

* Change rgblight breathing table size to be easily selectable.

add RGBLIGHT_BREATHE_TABLE_SIZE macro for customize breathing effect.
2019-05-02 09:12:28 -07:00
XScorpion2
22426a4b4a Adjusted the linear led table and hsv_to_rgb to better handle 255 hue (#5739)
* Adjusted the linear led table and hsv_to_rgb to better handle 255 hue

* small math adjustments to better handle specific uint8_t rounding and overflows
2019-05-01 19:08:52 -07:00
XScorpion2
2351739cd9 Simple fix for selecting which tracked key press to work off of for simple reactive effects (#5745) 2019-05-01 13:27:44 -07:00
XScorpion2
882b8df7af Implement kb function for rgb matrix to led lookup (#5738) 2019-05-01 08:57:17 -07:00
XScorpion2
fd776b06b3 Fixing incorrect usage of RGBLED_NUM in ws2812 driver when used with RGB Matrix (#5744) 2019-05-01 08:52:54 -07:00
XScorpion2
8a9e766bdc rgblight 255 hue (#5547) 2019-05-01 08:47:37 -07:00
Florian Didron
fd06a342ee Merge pull request #33 from zsa/feature/per_level_matrix_effects
RGB Matrix: Custom effects on a kb/user level
2019-04-30 15:42:06 +09:00
Daniel Prilik
b6648f46a8 RGB Matrix: Custom effects on a kb/user level (#5338)
* Revamped custom effects approach

See docs for example usage

* push-up RGB Matrix default mode

Override default effect using RGB_MATRIX_STARTUP_MODE.
Useful on boards without EEPROM support
(*cough* Massdrop ALT/CTRL *cough*)

* update docs
2019-04-29 22:32:18 -07:00
XScorpion2
38c65e4928 Simple extended space cadet (#5277)
* Simplifying and Extending Space Cadet to work on Ctrl and Alt keys

* PR Review feedback

* Reverting back to keycodes
2019-04-29 22:11:57 -07:00
Rockman18
d1d0211bf1 [FIX] Misspelled RGB_YELLOW (#5692) 2019-04-24 15:17:55 -07:00
Erovia
190bc5bada Define RGB colors (#5300)
* Define RGB colors
Define RGB colors and pass them to the rgblight functions, instead of
defining multiple macros.
2019-04-24 15:17:21 -07:00
mtei
5a7085b642 add RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; to rgblight_update_dword() 2019-04-24 15:15:29 -07:00
mtei
2e76759f76 add RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; to eeconfig_update_rgblight_default() 2019-04-24 15:15:21 -07:00
Florian Didron
86f437c81f Merge branch 'master' into feature/more_reactive_modes 2019-04-23 08:44:46 +09:00
Florian Didron
c3a160bf72 Merge branch 'master' into feature/oled_driver 2019-04-23 08:43:47 +09:00
M-AS
6cb88628e9 RGB Matrix Animations: Three/six new reactive effects (wide, cross, nexus) (#5602)
* added 3 new RGB_Matrix effects

* made cross effect behavior smoother

* removed dead code

* added effect descriptions
2019-04-22 10:00:54 -07:00
Ryan Caltabiano
95f8ac3424 OLED Driver Feature 2019-04-22 09:55:39 -07:00
Takeshi ISHII
cedda573be Change split_common to use RGBLIGHT_SPLIT (#5509)
* add I2C_slave_buffer_t to quantum/split_common/transport.c

Improvements to ease the maintenance of the I2C slave buffer layout. And this commit does not change the compilation results.

* add temporary pdhelix(Patched Helix) code

* temporary cherry-pick from #5020

add new version(#5020) quantum/rgblight.[ch], quantum/rgblight_modes.h

* add post_config.h support to build_keyboard.mk

* add quantum/rgblight_post_config.h, quantum/split_common/post_config.h

Add quantum/rgblight_post_config.h and quantum/split_common/post_config.h using POST_CONFIG_H variable of build_keyboard.mk.

quantum/rgblight_post_config.h additionally defines RGBLIGHT_SPLIT if RGBLED_SPIT is defined.

quantum/split_common/post_config.h defines RGBLIGHT_SPLIT additionally when master-slave communication is I2C.

* Change split_common's transport.c I2C to use the synchronization feature of rgblight.c

* Change split_common's transport.c serial to use the synchronization feature of rgblight.c

* test RGBLIGHT_SPLIT on keyboards/handwired/pdhelix

* Test End Revert "test RGBLIGHT_SPLIT on keyboards/handwired/pdhelix"

This reverts commit 80118a6bbd3d9fc4c7797fef0c34bc67aa73aa98.

[x] make RGBLIGHT_TEST=1 handwired/pdhelix/i2c:default
[x] make RGBLIGHT_TEST=2 handwired/pdhelix/i2c:default (same RGBLIGHT_TEST=3)
[x] make RGBLIGHT_TEST=3 handwired/pdhelix/i2c:default

[x] make RGBLIGHT_TEST=1 handwired/pdhelix/pd2:default
[x] make RGBLIGHT_TEST=2 handwired/pdhelix/pd2:default
[x] make RGBLIGHT_TEST=3 handwired/pdhelix/pd2:default

[x] make RGBLIGHT_TEST=1 handwired/pdhelix/pd2_2oled:default
[x] make RGBLIGHT_TEST=2 handwired/pdhelix/pd2_2oled:default
[x] make RGBLIGHT_TEST=3 handwired/pdhelix/pd2_2oled:default

* Test End, Revert "temporary cherry-pick from #5020"

This reverts commit d35069f68bda0c50370442a5c7aae60c2f4ce5c0.

* Test End, Revert "add temporary pdhelix(Patched Helix) code"

This reverts commit aebddfc1a879796afae297ef0723a4fe73af3660.

* temporarily cherry-pick from #5020 to see if it passes the travis-ci test.

add new version(#5020) quantum/rgblight.[ch], quantum/rgblight_modes.h

* Passed the travis-ci test. Revert "temporarily cherry-pick from #5020 to see if it passes the travis-ci test."

This reverts commit 647c0a9755eb6a05f76d09b2d59bce67b85a841f.

* update docs/config_options.md

* update split_common/transport.c, improves maintainability of serial transaction IDs.

No change in build result.

* temporary cherry-pick from #5020

* fix build fail keebio/iris/rev3:default

* fix build fail lets_split_eh/eh:default

* Revert "temporary cherry-pick from #5020"

This reverts commit be48ca1b4515366a097af8dd1cd7b28b7ee09947.

* temporary cherry-pick from #5020 (0.6.336)

* Revert "temporary cherry-pick from #5020 (0.6.336)"

This reverts commit 978d26a8b3cf0acc485838a7d76d6128b77c630c.

* temporary cherry-pick from #5020 (0.6.336)
2019-04-22 09:48:10 -07:00
Takeshi ISHII
f661d86d97 Add function to support split-keyboard in rgblight.[ch]. (#5020)
* add temporary file that is rgblight.c call graph

* add rgblight_update_hook()

* update rgblight-call-graph.dot (temporary file)

* add more hook point

* add TODO comment

* temporary Revert "add TODO comment"

This reverts commit df6165aac9b3a31d1d3e31ce52aadc134b84eac2.

* temporary Revert "add more hook point"

This reverts commit 64592b06f3bcdaac47c59f922018a273bef76776.

* temporary Revert "add rgblight_update_hook()"

This reverts commit 432b74c912ed4333e6633e20a1bcda10c6a10eaf.

* add rgblight_update_hook()

* add more hook point

* add TODO comment

* implement rgblight_update_hook()

* remove rgblight_update_hook(), add RGBLIGHT_SPLIT_SET_CHANGE_XXXX

rgblight_update_hook() is too large.
change to simple flag setting.

* shrink rgblight_config_t

* implement rgblight_update_sync()

Note: The animation synchronization process has not been implemented yet.

* update quantum/rgblight-call-graph.dot (temporary file)

* rmove quantum/rgblight-call-graph.dot (temporary file)

* update rgblight.c

* Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c .

* fix build break rgblight_update_sync() when all animation off

* fix quantum/rgblight.c:rgblight_disable_XX() add RGBLIGHT_SPLIT_SET_CHANGE_MODE

* quantum/rgblight.c change code order: move rgblight_update_sync()

* add mode_base_table[] to quantum/rgblight.c

* quantum/rgblight.c use mode_base_table[] and rgblight_status.base_mode

* quantum/rgblkght.c animation timer integration

* quantum/rgblkght.c add animation sync for split keyboard

* fix mode_base_table[] and snake effect

* fix build break keyboards/mxss.

keyboards/mxss's local rgblight.c need old version rgblight.h

* rgblight.c: fix animation sync

* quantum/rgblight.c: fix snake effect sync

* quantum/rgblight.c: animation sync interverl 30 sec

* quantum/rgblight.c: fix rgblight_effect_rainbow_swirl() and rgblight_effect_knight()

* quantum/rgblight.c: add macro RGBLIGHT_SPLIT_ANIMATION

* cherry-pick from 'rgblight_modes.h sample implementation'

* fix RGBLIGHT_SPLIT_ANIMATION check position

* Update temporary code in Helix keyboard 'five_rows' keymap to test rgblight.c

* Reduce the firmware size by 1500 bytes when rgblight_effect_breathing() is enabled.

* Changed to rgblight_sethsv_eeprom_helper() for easier reading.

* add fail-safe code to quantum/rgblight.c:rgblight_task(),rgblight_timer_enable()

* remove temporary code in Helix keyboard 'five_rows' keymap

* quantum/rgblight.c: add split-keyboard master side sync functions

add functions:
  uint8_t rgblight_get_change_flags(void);
  void rgblight_clear_change_flags(void);
  void rgblight_get_syncinfo(rgblight_syncinfo_t *syncinfo);

change function:
  void rgblight_update_sync(rgblight_syncinfo_t *syncinfo, bool write_to_eeprom);

* Change rgblight_update_sync() to use write_to_eeprom.

* remove TODO comment from quantum/rgblight.h

* Revert "fix build break keyboards/mxss."

This reverts commit 90b9a1aa7d8af226751500e49e3ea0214cc4e024.
(Separated this change into the newly opened PR #5461.)

* Revert "Reduce the firmware size by 1500 bytes when rgblight_effect_breathing() is enabled."

This reverts commit b61004e63e82cf5334cee4def4ba10cffa88885f.

* update quantum/rgblight.c: Code size reduction when not using RGBLIGHT_SPLIT.

* Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c .

* add temporary pdhelix(Patched Helix) code

* Add temporary code to split_common/transport.c to test rgblight.c.

* Finish testing rgblight.c with helix keyboard.

Revert "Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c ."

This reverts commit 0bf81a4723a977adc0cb09b4272ee5c9b4f2bbbb.

* Finish testing rgblight.c with quantum/split_common code.

Revert "Add temporary code to split_common/transport.c to test rgblight.c."

This reverts commit 71db3e24eef40d4c455fb9fd1664e4487c9d927a.

* remove temporary pdhelix(Patched Helix) code

This reverts commit 5287e51a394741bcb6028c7cfc0dd0c984645f76.

* Added description of RGBLIGHT_SPLIT macro to docs/feature_rgblight.md.

* add RGBLIGHT_SPLIT_SET_CHANGE_HSVS to rgblight_init()

* Changed to restart animation only when changing mode.

When changing hue, sat and val, the animation is not restarted and continues.
2019-04-22 09:47:36 -07:00
Drashna Jaelre
0886c7ce57 Update rgb_matrix.c 2019-04-20 09:28:44 -07:00
Drashna Jaelre
60204faed0 Only increment Enable status for RGB Matrix if it supports it 2019-04-20 09:20:26 -07:00
Alex Ong
bcb37d5f57 [core] Fix for eager_pr #5643
Added extra transfer_matrix_values() call whenever counters don't need updating
2019-04-18 15:48:00 -07:00
Florian Didron
25a9a2f91c Merge pull request #14 from ErgoDox-EZ/remove_music
Remove all potentially copyrighted sounds from the repo
2019-04-18 10:05:13 +09:00
Florian Didron
51a682bb9c Merge branch 'master' into feature/ws2812_matrix 2019-04-18 10:03:45 +09:00
Florian Didron
12c0611189 Merge branch 'master' into fix/combo_logic 2019-04-18 09:57:19 +09:00
Drashna Jaelre
eed7c15c2f Remove any potentially copyrighted soungs/sounds from the repo 2019-04-17 13:36:14 -07:00