Commit Graph

64 Commits

Author SHA1 Message Date
Ryan 9884e4982b
Rename RGB/HSV structs: keyboard-level code () 2024-10-12 19:00:56 +01:00
Ryan 6fa11bf219
Separate RGBLight/RGB Matrix keycode handling ()
* Separate RGBLight/RGB Matrix keycode handling

* Remove `_DISABLE_KEYCODES` handling

* Update RGB Matrix keycode docs

* Update underglow keycodes for previously migrated boards

* Update keycodes for boards with custom handling

* Fix typos

* Fix bad merge
2024-10-12 18:43:50 +02:00
Ryan 208ebf54a9
WS2812 API rework ()
* Begin WS2812 API rework

* Move RGBW conversion, clean up color.h, fix RGBW for AVR bitbang

* Formatting & update PS2AVRGB I2C driver (untested)

* Tested ARM bitbang RGB+RGBW

* Tested ARM SPI RGB - RGBW not working

* Tested ARM PWM RGB+RGBW

* Tested RP2040 PIO driver RGB+RGBW

* Update RGBLight

* Formatting

* Fix BM60HSRGB rev2

* Fix oddforge/vea

* Fix 1k and XD002 RGBLite

* Fix model_m/mschwingen

* Fix handwired/promethium

* Rename `WS2812_LED_TOTAL` for BM60HSRGB

* Fix work_louder boards

* Fix dawn60

* Fix rgbkb/pan

* Fix neson_design/700e and n6

* Fix ergodox_ez/shine

* ergodox_ez/shine: invert indices for left half

* Fix matrix/abelx

* Fix matrix/m20add

* Remove custom rgblight driver for matrix/noah - should be done with lighting layers

* Fix LED indexes for RGBLight split

* Rename `convert_rgb_to_rgbw()` to `ws2812_rgb_to_rgbw()`

* Update WS2812 API docs

* `ergodox_ez/shine`: simplify LED index calculation

* LED/RGB Matrix: Add weak function for LED index resolution

* Bandaid fix for RGB Matrix splits not using WS2812

* `steelseries/prime_plus`: redo custom RGBLight driver

* Update keyboards/steelseries/prime_plus/rgblight_custom.c

Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>

---------

Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2024-10-06 21:01:07 +13:00
Joel Challis 02b43b4b60
Refactor use of `matrix_scan_kb` () 2024-07-26 22:02:51 -07:00
Ryan f9f67d4cb3
Change all RGB mode keycodes to short aliases () 2024-05-12 10:05:11 +10:00
Ryan 1184e0d9be
Adjust keycode alignment around `QK_BOOT` () 2024-05-11 16:50:48 +01:00
Joel Challis 3d83b3e7c5
Migrate build target markers to keyboard.json - Misc () 2024-04-25 08:42:48 +01:00
James Young a1cbdf145f
Data-Driven Keyboard Conversions: M, Part 1 () 2024-04-23 04:06:24 +01:00
Ryan c635733a7f
Remove `quantum.h` includes from keyboard code () 2024-04-03 10:44:25 +11:00
Ryan 2dd406f08f
Remove `quantum.h` includes from keyboard custom `matrix.c`s () 2024-03-30 14:07:19 +00:00
Ryan a522b1f156
i2c: rename read/write register functions () 2024-01-16 02:26:40 +00:00
Ryan 17f36a21bf
Rework RGBLight driver system () 2023-12-05 22:49:14 +11:00
Drashna Jaelre 3ef06aa732
Improve and Cleanup Shutdown callbacks ()
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2023-11-26 22:59:18 +11:00
Joel Challis b35bac6afb
Remove unnecessary driver counts () 2023-11-22 21:37:32 +00:00
Ryan b52aca0af8
Relocate LED driver init code () 2023-11-01 00:53:45 +00:00
Ryan cf7d3435d7
Add `_flush()` functions to LED drivers () 2023-10-22 18:32:27 +01:00
Ryan d56ee70c52
Rename `DRIVER_ADDR_n` defines ()
Co-authored-by: Nick Brassel <nick@tzarc.org>
2023-10-21 21:41:59 +10:00
Ryan c157c19b81
Dedupe I2C, SPI, UART driver inclusions () 2023-10-13 17:25:32 +11:00
Ryan d99dbe4d56
Update ISSI LED types () 2023-10-04 20:12:50 +11:00
Ryan 8f22105289
Add and use I2C address defines for ISSI LED drivers () 2023-09-19 19:31:54 +10:00
Ryan 8136eda6d4
is31fl3731: driver naming cleanups () 2023-09-13 22:53:15 +10:00
Ryan 41bd4e35a0
Clean up RGB LED type () 2023-09-04 01:19:59 +01:00
Ryan 023d644bb6
Move RGBLight animations to data driven ()
* Move RGBLight animations to data driven, 0-9

* Move RGBLight animations to data driven, A

* Move RGBLight animations to data driven, B

* Move RGBLight animations to data driven, C

* Move RGBLight animations to data driven, D

* Move RGBLight animations to data driven, E

* Move RGBLight animations to data driven, F

* Move RGBLight animations to data driven, G

* Move RGBLight animations to data driven, H

* Move RGBLight animations to data driven, handwired

* Move RGBLight animations to data driven, I

* Move RGBLight animations to data driven, J

* Move RGBLight animations to data driven, K

* Move RGBLight animations to data driven, L

* Move RGBLight animations to data driven, M

* Move RGBLight animations to data driven, N

* Move RGBLight animations to data driven, O

* Move RGBLight animations to data driven, P

* Move RGBLight animations to data driven, Q

* Move RGBLight animations to data driven, R

* Move RGBLight animations to data driven, S

* Move RGBLight animations to data driven, T

* Move RGBLight animations to data driven, U

* Move RGBLight animations to data driven, V

* Move RGBLight animations to data driven, W

* Move RGBLight animations to data driven, X

* Move RGBLight animations to data driven, Y

* Move RGBLight animations to data driven, Z

* Fix incorrect placement

* Fix build failures and mismatches
2023-08-23 22:11:39 +01:00
Ryan 37bc949945
RGB Matrix: driver naming cleanups () 2023-08-23 01:00:03 +01:00
Ryan b1783db4ea
Move `RGBLED_NUM` to data driven () 2023-06-18 14:39:07 +10:00
Ryan 47966dc2a6
Migrate `rgblight.pin` and `RGB_DI_PIN` to `ws2812.pin` () 2023-04-06 18:00:54 +10:00
Ryan 8bb4cba7b0
Move TKL layouts to data driven () 2023-04-05 15:53:45 +10:00
Ryan ebb512db82
Debounce defines cleanup ()
* Clean up `DEBOUNCE` in config.h, 0-9

* Clean up `DEBOUNCE` in config.h, A

* Clean up `DEBOUNCE` in config.h, B

* Clean up `DEBOUNCE` in config.h, C

* Clean up `DEBOUNCE` in config.h, D

* Clean up `DEBOUNCE` in config.h, E

* Clean up `DEBOUNCE` in config.h, F

* Clean up `DEBOUNCE` in config.h, G

* Clean up `DEBOUNCE` in config.h, H

* Clean up `DEBOUNCE` in config.h, handwired

* Clean up `DEBOUNCE` in config.h, I

* Clean up `DEBOUNCE` in config.h, J

* Clean up `DEBOUNCE` in config.h, K

* Clean up `DEBOUNCE` in config.h, L

* Clean up `DEBOUNCE` in config.h, M

* Clean up `DEBOUNCE` in config.h, N

* Clean up `DEBOUNCE` in config.h, O

* Clean up `DEBOUNCE` in config.h, P

* Clean up `DEBOUNCE` in config.h, Q

* Clean up `DEBOUNCE` in config.h, R

* Clean up `DEBOUNCE` in config.h, S

* Clean up `DEBOUNCE` in config.h, T

* Clean up `DEBOUNCE` in config.h, U

* Clean up `DEBOUNCE` in config.h, V

* Clean up `DEBOUNCE` in config.h, W

* Clean up `DEBOUNCE` in config.h, X

* Clean up `DEBOUNCE` in config.h, Y

* Clean up `DEBOUNCE` in config.h, Z

* Remove default debounce from info.json

* Migrate non-default debounce to info.json
2023-02-03 19:19:58 +00:00
Ryan 5e4b076af3
Remove legacy keycodes, part 5 ()
* `KC_SLCK` -> `KC_SCRL`
* `KC_NLCK` -> `KC_NUM`
2022-10-15 22:29:43 +01:00
Drashna Jaelre c8e998ccad
Remove RGBLIGHT_ANIMATION and clean up effect defines for L-Q () 2022-10-15 09:55:40 -07:00
Ryan 36c410592d
Change `DRIVER_LED_COUNT` to `{LED,RGB}_MATRIX_LED_COUNT` () 2022-09-23 22:46:23 +10:00
Nick Brassel 154d35ac14
Remove `UNUSED_PINS` () 2022-08-06 23:23:35 +10:00
Ryan 3da6575e24
Move keyboard USB IDs and strings to data driven: M () 2022-08-03 17:15:43 +10:00
Joel Challis b7771ec25b
RESET -> QK_BOOT default keymaps () 2022-05-15 20:26:27 +01:00
Nick Brassel a86d6fffc9
Fixup bootloaders. () 2022-02-06 19:09:21 -08:00
Ryan 5fb93934d0
Fixes for bootloader refactor build failures () 2022-01-06 06:55:46 +11:00
QMK Bot c03859a3e4 Merge remote-tracking branch 'origin/master' into develop 2021-12-13 02:06:27 +00:00
Ryan f718a10889
Fix up build options comments () 2021-12-12 18:05:37 -08:00
fauxpark c394bf1c98 Merge remote-tracking branch 'upstream/master' into develop 2021-12-09 17:24:05 +11:00
Ryan a8d440e4e0
Tidy up NKRO_ENABLE rules () 2021-12-09 16:05:44 +11:00
Joel Challis 3bf2403244
Tidy up existing i2c_master implementations ()
* Move chibios defines out of header

* Make some avr defines internal
2021-12-02 14:32:31 +00:00
Joel Challis 282e916d86
Remove use of __flash due to LTO issues () 2021-11-24 18:38:49 +11:00
James Young 84ea77ead6
Remove `BOOTMAGIC_ENABLE = lite` option ()
* remove BOOTMAGIC_ENABLE=lite setting

* change keyboard BOOTMAGIC_ENABLE rules

Edits keyboard-level instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`.

* change keyboard BOOTMAGIC_ENABLE inline comments

Edits keyboard-level BOOTMAGIC_ENABLE inline comments to "Enable Bootmagic Lite".

* change keymap BOOTMAGIC_ENABLE rules

Edits keymap-level instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`.

* change keymap BOOTMAGIC_ENABLE inline comments

Edits/adds keymap-level BOOTMAGIC_ENABLE inline comments to read "Enable Bootmagic Lite".

* change layout/user BOOTMAGIC_ENABLE rules/comments

Edits instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`.

Edits/adds keymap-level BOOTMAGIC_ENABLE inline comments to read "Enable Bootmagic Lite".

* update non-rules.mk BOOTMAGIC_ENABLE references in keyboards/

* remove docs references to Full Bootmagic

* convert data-driven Bootmagic Lite instances

* remove Bootmagic Lite bodge from data-driven generation

* Merge remote-tracking branch 'upstream/develop' into rm/bootmagic-full_q4a

* update docs/ja/config_options.md per mtei

* update docs/faq_misc.md per mtei

Remove remaining Full Bootmagic reference.
2021-11-05 08:18:09 +11:00
Nick Brassel 5da04fb45b
Update to ChibiOS 20.3.4, support builds against trunk ()
* Add support for building against ChibiOS svn/trunk.

* Swap to 21.6.x

* Update to latest branch revision as released version is broken.

* Updated configs.

* Conf updates.

* Updated ChibiOS

* Convert STM32L422 to actual L422 ChibiOS platform.

* Downgrade to 20.3.4 as ChibiOS 21.6.x is being aborted.

* Rollback L422-based boards.
2021-11-03 08:26:40 +11:00
Joel Challis 0fa217a5b7
Align ChibiOS I2C defs with other drivers ()
* Align ChibiOS I2C defs with other drivers

* Update keyboards/xelus/valor_frl_tkl/config.h

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-12 15:41:33 +01:00
Ryan 4791cfae1a
Remove width, height and key_count from info.json () 2021-09-12 14:04:56 +10:00
James Young a03aa301de
Remove Full Bootmagic ()
* disambiguate Bootmagic rules in keymaps

The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic.

This commit edits the files to specify that full Bootmagic is intended.

* remove BOOTMAGIC_ENABLE=full setting

* unify commented BOOTMAGIC_ENABLE rules in keyboards

Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no       # Virtual DIP switch configuration;g' {} +
```

* remove commented Bootmagic rules from keymap/user level

Command:

```
find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} +
```

* update keyboard BOOTMAGIC_ENABLE rule formatting

Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later).

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
```

* update keyboards' BOOTMAGIC_ENABLE settings

Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' +
```

* update keymap/user BOOTMAGIC_ENABLE settings

Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
```

* remove and replace inline comments in keyboards and keymap/user files

Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1     # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1      # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1       # Enable Bootmagic Lite;g' '{}' +
```

* rename improperly named makefiles

Some files intended to be used as makefiles had improper names causing them to not be used as intended when building.

This commit corrects the filenames of the affected files.

* update renamed file with new rule formatting

* update QMK's template files

Updates QMK's `rules.mk` templates to use the new inline comment.

* update QMK Docs

- remove documentation of full Bootmagic
- update links to Bootmagic Lite doc
- add doc for Magic Keycodes

* rules.mk patch for coarse/ixora and coarse/vinta
2021-08-06 23:59:56 -07:00
Drashna Jaelre 41a770ded3
[Keyboard] Fix SRC include for matrix/m20add issi driver () 2021-07-31 12:18:11 -07:00
Drashna Jaelre 7bcbeffc2d
Fix compile issues due to LED changes () 2021-07-31 17:30:13 +01:00
Joel Challis 70fb3e1aaf
__flash? () 2021-07-31 14:35:30 +01:00