Stefan Kerkmann
3f9d464412
[Core] usb_device_state
: consolidate usb state handling across implementations ( #24258 )
...
* usb_device_state: add idle_rate, led and protocol
Previously all usb drivers and platform implementations (expect for our
oddball atsam) tracked the same two global variables:
- keyboard_protocol: to indicate if we are in report or boot protocol
- keyboard_idle: for the idle_rate of the keyboard endpoint
And a local variable that was exposed trough some indirection:
- keyboard_led_state: for the currently set indicator leds (caps lock etc.)
These have all been moved into the usb_device_state struct wich is
accessible by getters and setters.
This reduces code duplication and centralizes the state management
across platforms and drivers.
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
* usb_device_state: reset protocol on reset
The usb hid specification section 7.2.6 states:
When initialized, all devices default to report protocol. However the
host should not make any assumptions about the device’s state and should
set the desired protocol whenever initializing a device.
Thus on reset we should always do exactly that.
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
* keyboards: fix oversize warnings
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
---------
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
2024-10-18 09:57:08 +02:00
Ryan
6129af93f4
Rename RGB and HSV structs ( #24471 )
2024-10-12 00:10:02 +01:00
Ryan
208ebf54a9
WS2812 API rework ( #24364 )
...
* 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
Dasky
43e82ed5c7
Remove binary blobs from optical sensors. ( #24428 )
...
* remove pmw srom
* remove adns9800 srom
* Update drivers/sensors/pmw33xx_common.c
2024-10-06 20:41:55 +13:00
QMK Bot
928b5fdf50
Merge remote-tracking branch 'origin/master' into develop
2024-09-26 18:44:11 +00:00
Eric
805cde674d
input_club/ergodox_infinity ST7565 call spi_stop ( #24429 )
2024-09-26 11:43:39 -07:00
QMK Bot
17be3e4a54
Merge remote-tracking branch 'origin/master' into develop
2024-09-18 14:46:48 +00:00
Dasky
1c03574424
Fix ADNS-9800 read ( #24406 )
2024-09-18 15:46:13 +01:00
Dasky
49e339ba8d
Add LD7032 support to QP. ( #20828 )
...
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2024-09-18 21:44:33 +10:00
Colin Kinloch
cc3bc2af11
Add ability to poweroff ADNS5050 sensor ( #24223 )
...
* Add ability to poweroff ADNS5050 sensor
* ploopyco/trackball_nano: Poweroff ADNS5050 on suspend
2024-08-26 14:06:53 -06:00
Ryan
f8596b40a4
Normalise mouse keycodes ( #23975 )
2024-07-03 18:35:54 +10:00
Ryan
bc0c69570b
Rename encoder pins defines ( #24003 )
2024-07-03 17:18:27 +10:00
Nick Brassel
7bc3eef8cc
SPI flash API cleanup, add async erase capability. ( #23894 )
2024-07-02 10:16:41 +10:00
Dasky
a7aa58cc81
Change ADNS9800 and PMW33XX SROM uploads to opt in. ( #24001 )
...
Make SROM upload optional
2024-06-27 05:10:13 +01:00
Ryan
55538b2e1e
APA102: API rework ( #23355 )
2024-06-13 22:19:45 +10:00
Fernando Birra
a82b0628b3
GC9xxx LCD family drivers (GC9107 and GC9A01) ( #23091 )
...
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: jack <0x6A73@pm.me>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
Co-authored-by: rookiebwoy <81021475+rookiebwoy@users.noreply.github.com>
Fixup boardsource/equals (#23106 )
Fix make clean test:os_detection (#23112 )
Fix make clean test:os_detection (#23112 )"
Fixup boardsource/equals (#23106 )"
2024-06-05 08:41:26 +10:00
Purdea Andrei
267dffda15
EEPROM: Don't erase if we don't have to. Adding eeprom_driver_format abstraction. ( #18332 )
2024-05-28 12:49:55 +01:00
Michael Büchler
a850f7d695
Fix PS/2 Trackpoint mouse clicks ( #22265 ) ( #23694 )
2024-05-21 00:36:48 +01:00
Ryan
d0cf7b8519
Update GPIO expander API naming ( #23375 )
2024-03-29 16:57:21 +00:00
Ryan
f7cf40fa77
Add init function to RGBLight driver struct ( #23076 )
2024-03-18 22:03:27 +11:00
Ryan
23b7a02ebe
LED drivers: add support for IS31FL3236 ( #23264 )
2024-03-17 19:23:14 +11:00
Ryan
c371cb3bc4
IS31FL3729 updates ( #23109 )
2024-02-22 17:51:49 +11:00
Drashna Jaelre
66780783c7
[Bug] Fix pmw33xx sensor corruption on get-cpi call ( #23116 )
2024-02-20 11:36:28 +11:00
Nick Brassel
9d9cdaaa2d
Add encoder abstraction. ( #21548 )
2024-02-18 21:17:15 +11:00
Ryan
2d1aed78a6
Update GPIO macro usages in core ( #23093 )
2024-02-18 17:08:27 +11:00
Pablo Martínez
5383335717
[Driver] ILI9486 on Quantum Painter ( #18521 )
...
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-02-17 18:36:05 +11:00
HorrorTroll
f6709e65eb
Add RGB matrix & LED Matrix support for IS31FL3729 ( #21944 )
...
Co-authored-by: Xelus22 <preyas22@gmail.com>
Co-authored-by: dexter93 <d3xter93@gmail.com>
2024-02-17 01:41:35 +11:00
Ryan
a9f1105f98
LED drivers: add support for shutdown pin ( #23058 )
...
* LED drivers: add support for shutdown pin
* Update candidate boards
2024-02-15 07:11:50 +00:00
Ryan
0b7df03ab7
AW20216S: combine EN pin defines ( #23067 )
2024-02-15 07:05:08 +00:00
Ryan
c8c55e3220
is31fl3741: split PWM and scaling buffers ( #23049 )
2024-02-14 11:16:27 +11:00
Ryan
3ba88f7798
LED drivers: update PWM register defines for g_<driver>_leds
( #23052 )
2024-02-12 02:19:45 +00:00
Ryan
66015f1645
LED drivers: create structs to hold PWM/scaling buffers ( #22955 )
2024-02-10 18:48:13 +11:00
Ryan
a5ea619139
LED drivers: place I2C addresses into an array ( #22975 )
2024-02-09 22:37:18 +11:00
Drashna Jaelre
b910b1261d
Init pins for Analog Joystick sensor ( #22985 )
2024-01-30 23:20:30 +00:00
burkfers
f2299ee5f8
Azoteq driver: Remove call to removed i2c function ( #22966 )
2024-01-26 20:20:04 +01:00
Ryan
728aa576b0
LED drivers: update I2C API usage ( #22951 )
2024-01-24 12:11:41 +11:00
Ryan
d96ac7084e
LED drivers: remove write_pwm_buffer()
from public API ( #22884 )
2024-01-24 09:18:44 +11:00
Dasky
2c3d0126ba
crique zidle fix ( #22948 )
2024-01-23 10:05:59 +00:00
David Hoelscher
e9bd7d7ad3
I2C driver cleanup ( #21273 )
...
* remove i2c_start and i2c_stop from i2c drivers
* remove static i2c_address variable from chibios i2c driver
2024-01-17 14:05:38 +01:00
Ryan
a522b1f156
i2c: rename read/write register functions ( #22905 )
2024-01-16 02:26:40 +00:00
Ryan
eb7ecae4b4
LED drivers: remove PWM register offsets ( #22897 )
2024-01-13 19:21:15 +00:00
JohSchneider
6b52c6d83d
Cirque reachable calibration aide ( #22803 )
...
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
Co-authored-by: Johannes <you@example.com>
2024-01-13 00:28:09 -08:00
Ryan
58696a3937
LED drivers: switch to i2c_writeReg() ( #22878 )
2024-01-10 17:25:34 +11:00
Ryan
7a3183b8c8
LED drivers: change write_pwm_buffer()
return type to void
( #22869 )
2024-01-10 12:48:19 +11:00
Ryan
8b95dc6e00
LED drivers: more formatting ( #22865 )
2024-01-08 17:28:40 +11:00
Ryan
7467231158
snled27351: change write_register()
return type to void
( #22825 )
2024-01-08 04:54:47 +00:00
Ryan
368a2eb08f
is31fl3733: change write_register()
return type to void
( #22824 )
2024-01-08 04:54:26 +00:00
Ryan
bdede8b2cd
LED drivers: misc formatting and typos ( #22857 )
2024-01-08 12:24:10 +11:00
Ryan
b3f55cb5b2
apa102: cleanups ( #22826 )
2024-01-07 17:48:14 +11:00
Ryan
e5203f86e2
is31fl3733: fix driver sync backwards compatibility defines ( #22851 )
2024-01-07 17:46:12 +11:00