aboutsummaryrefslogtreecommitdiffstats
path: root/platforms/chibios/drivers/vendor
Commit message (Collapse)AuthorAgeFilesLines
* WS2812 API rework (#24364)Ryan2024-10-061-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Rename `RGBW` define to `WS2812_RGBW` (#23585)Ryan2024-04-271-3/+3
|
* Add init function to RGBLight driver struct (#23076)Ryan2024-03-181-9/+2
|
* WS2812 PWM: prefix for DMA defines (#23111)Ryan2024-03-021-9/+9
| | | | | * WS2812 PWM: prefix for DMA defines * Add backward compatibility defines
* Merge remote-tracking branch 'upstream/master' into developNick Brassel2023-09-251-1/+1
|\
| * Document the RP2040-specific PS/2 implementation (#22079)Michael Büchler2023-09-251-1/+1
| | | | | | | | Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2023-09-181-0/+1
|\|
| * Add missing gpio include to ps2 vendor (#22063)Dasky2023-09-181-0/+1
| |
* | Clean up RGB LED type (#21859)Ryan2023-09-041-1/+1
|/
* drivers: remove direct `quantum.h` includes (#21473)Ryan2023-07-093-7/+12
|
* Migrate `rgblight.pin` and `RGB_DI_PIN` to `ws2812.pin` (#20303)Ryan2023-04-061-3/+3
|
* [Core] PS/2 PIO Driver for RP2040 (#17893)Marek Kraus2023-03-251-0/+271
| | | | Co-authored-by: Johannes H. Jensen <joh@pseudoberries.com>
* [Bug] rp2040: fix timer wrap deadlock in ws2812 vendor driver (#19652)Stefan Kerkmann2023-01-231-6/+8
| | | Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Fixup WS2812 vendor driver (#19028)jack2022-11-101-1/+1
|
* [Core] Allow custom timings for WS2812 PIO driver (#18006)Stefan Kerkmann2022-11-091-71/+165
|
* ws2812: replace RGBLED_NUM with driver-owned constant to decouple driver ↵Thomas Kriechbaumer2022-10-201-6/+6
| | | | from RGBLEDs/RGBMATRIX defines (#18036)
* [Bug] RP2040: only clear RX FIFO for serial pio driver clear (#18581)Stefan Kerkmann2022-10-041-3/+4
|
* Stabilize Half-duplex PIO split comms take 2 (#18421)Stefan Kerkmann2022-09-201-15/+2
| | | | | | ...by moving the actually timing critical `enter_rx_state()` and `leave_rx_state()` functions to RAM in order to not be affected by XIP cache spikes. This commit also reverts the hacky USB interrupt disabling that was done in 293c53d774
* [Core] RP2040 disable PIO IRQs on serial timeout (#17839)Stefan Kerkmann2022-07-291-0/+2
|
* [Core] Use polled waiting on ChibiOS platforms that support it (#17607)Stefan Kerkmann2022-07-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * Use polled waiting on platforms that support it Due to context switching overhead waiting a very short amount of time on a sleeping thread is often not accurate and in fact not usable for timing critical usage i.e. in a driver. Thus we use polled waiting for ranges in the us range on platforms that support it instead. The fallback is the thread sleeping mechanism. This includes: * ARM platforms with CYCCNT register (ARMv7, ARMv8) this is incremented at CPU clock frequency * GD32VF103 RISC-V port with CSR_MCYCLE register this is incremented at CPU clock frequency * RP2040 ARMv6 port which uses the integrated timer peripheral which is incremented with a fixed 1MHz frequency * Use wait_us() instead of chSysPolledDelayX ...as it is powered by busy waiting now. * Add chibios waiting methods test bench
* Stabilize Half-duplex PIO split comms (#17612)Stefan Kerkmann2022-07-111-3/+17
|
* [Core] Add Raspberry Pi RP2040 support (#14877)Stefan Kerkmann2022-06-302-0/+646
* Disable RESET keycode because of naming conflicts * Add Pico SDK as submodule * Add RP2040 build support to QMK * Adjust USB endpoint structs for RP2040 * Add RP2040 bootloader and double-tap reset routine * Add generic and pro micro RP2040 boards * Add RP2040 onekey keyboard * Add WS2812 PIO DMA enabled driver and documentation Supports regular and open-drain output configuration. RP2040 GPIOs are sadly not 5V tolerant, so this is a bit use-less or needs extra hardware or you take the risk to fry your hardware. * Adjust SIO Driver for RP2040 * Adjust I2C Driver for RP2040 * Adjust SPI Driver for RP2040 * Add PIO serial driver and documentation * Add general RP2040 documentation * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org>