Commit Graph

402 Commits

Author SHA1 Message Date
QMK Bot ee60542bd6 Merge remote-tracking branch 'origin/master' into develop 2025-11-30 19:25:52 +00:00
QMK Bot 6ed61c65dd [CI] Format code according to conventions (#25827)
Format code according to conventions
2025-11-30 19:25:13 +00:00
QMK Bot 9acd127cc1 Merge remote-tracking branch 'origin/master' into develop 2025-11-27 13:37:29 +00:00
Nick Brassel 9c2ca00074 QMK CLI Environment bootstrapper (#25038)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Pascal Getreuer <getreuer@google.com>
2025-11-28 00:36:49 +11:00
Stefan Kerkmann c68e4dec10 [Core] suspend: suppress wake up keypress (#23389)
* suspend: suppress wake up keypress

Waking the host from suspend is done by pressing any key on the
keyboard, the regular key codes assigned to the keys are not important
and must not be sent - otherwise they usually end up in password prompts
as ghost characters that have to be deleted again. This commit adds
suppression for all keys pressed at the time of wake up. Once a key is
released it functions as a regular key again.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>

* suspend: update wake up matrix after wake up delay

If USB_SUSPEND_WAKEUP_DELAY is set, the keyboard sleeps during wake up -
which can be up to multiple seconds. To handle key presses and releases
in that time frame we have to handle the following cases:

1. Key not pressed before suspend, and not pressed after wakeup → do
   nothing (normal case).
2. Key not pressed before suspend, but pressed after wakeup → set the
   wakeup_matrix bit to 1 (so that the press and release events would be
   suppressed).
3. Key pressed before suspend, but not pressed after wakeup → do nothing
   (the release event will be generated on the first matrix_task() call
   after the wakeup).
4. Key pressed before suspend, and still pressed after wakeup → do
   nothing (the release event will be generated some time later).

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* keyboards: anavi: macropad8: disable snake and rgb_test effects

...to shrink the binary size.
2025-11-11 23:35:03 +11:00
Drashna Jaelre 28eeb92f8e Add I2C Transmit and Receive function (#25637)
* feat: adds a transmit and receive i2c method

* fix: address the i2c transmit and receive length on u16

* Add AVR/LUFA implementation

Didn't add a progmem version, since that would only apply to receive.
Figured it wasn't worth it, but can add.

* Rearrange order of functions

* Add docs

* Fix doc gen error

* Fix lint issues

* fix more lint issues
2025-11-11 23:02:35 +11:00
QMK Bot fb6d7762b9 Merge remote-tracking branch 'origin/master' into develop 2025-11-08 20:49:51 +00:00
Joel Challis 00eebfb575 Fix pmw33xx sensor initialisation (#25777) 2025-11-08 20:49:15 +00:00
Joel Challis f4068dbfb0 Update STM32F446 default HSE to 8MHz (#25717) 2025-10-13 06:40:45 +01:00
Ryan eda39f4356 Update default OLED font (#25565) 2025-09-09 17:34:33 +01:00
Jack Sangdahl 5ef94415aa Configure SPI for QMK_PM2040 board (#25481) 2025-07-13 17:00:10 +01:00
Jack Sangdahl d67e94fb1b Configure SPI for STEMCELL board (#25486) 2025-07-13 16:59:59 +01:00
Jack Sangdahl f797d4f49d Configure SPI for QMK_BLOK board (#25487) 2025-07-13 16:59:44 +01:00
Copilot 90b5c17034 Fix SPI bus lock issue in spi_start_extended when using mutual exclusion (#25447) 2025-07-06 07:20:48 +01:00
Nick Brassel 7f9ceef3dd More compiledb fixes. (#25355) 2025-06-15 11:56:10 +10:00
Pablo Martínez 955809bd5a Add compiler_support.h (#25274) 2025-05-22 23:31:15 +10:00
Stefan Kerkmann f686ad9e63 [Core] STM32G0x1 support (#24301) 2025-05-19 15:51:28 +10:00
Nick Brassel a4ef1ae736 gcc15 AVR compilation fixes (#25238) 2025-05-19 09:22:31 +10:00
Joel Challis 3e7ce54902 Fix Wear Leveling compilation (#25254) 2025-05-12 08:39:38 +10:00
Nick Brassel bb9dd05c6a [Bug] Minimise force-included files (#25194) 2025-05-05 10:07:53 +10:00
Nick Brassel 6b8670fe8f Cater for use of __errno_r() in ChibiOS syscalls.c with newer picolibc revisions (#25121) 2025-04-10 01:43:25 +01:00
QMK Bot 35019fe136 Merge remote-tracking branch 'origin/master' into develop 2025-04-08 02:36:21 +00:00
Joel Challis 2645751ce1 Add warning when deprecated 'promicro_rp2040' is used (#25112) 2025-04-08 12:35:43 +10:00
QMK Bot cbe48b67df Merge remote-tracking branch 'origin/master' into develop 2025-03-28 10:04:33 +00:00
lsh4711 5a6595357d Fix path typo related RP2040 (#25069)
Fix path typo
2025-03-28 21:03:59 +11:00
Joel Challis 6e1d3d6d07 Add EOL to non-keyboard files (#24990) 2025-03-06 23:17:51 +00:00
Joel Beckmeyer 63b095212b fix EEPROM driver for STM32L0/1 cat.1 devices (#24928) 2025-02-26 22:25:01 +11:00
HorrorTroll d035f02c08 Patch up issue for inverted complementary output on Backlight (#24794)
Change complementary output to active high, when backlight on state is 1
2025-02-16 15:07:17 +00:00
Ryan ee63d39058 Unify spi_master headers (#24857)
* Move default config to .c file

* Explicitly define PAL modes for boards with custom init

* Unify spi_master headers
2025-01-26 22:37:37 +01:00
Ryan ef29a46c87 Unify i2c_master headers (#24846)
* Unify i2c_master headers

* More documentation improvements

* Reorganise PAL mode defaults
2025-01-26 13:48:46 +01:00
Ryan 291d154d7b Unify UART headers (#24855)
* Remove deprecated defines

* Move default config to .c files

* Unify UART headers

* Clean up docs

* Reorganise PAL mode defaults
2025-01-26 13:46:46 +01:00
Ryan 68130cc8a5 ferris/0_1: update I2C API usage (#24839) 2025-01-20 22:53:46 +00:00
Ryan 58aea4b479 i2c_master: remove deprecated functions (#24832) 2025-01-19 23:24:28 +00:00
Joel Challis cedd49c59b Consolidate timer_elapsed implementations (#24830) 2025-01-19 17:07:11 +00:00
HorrorTroll 7f1c236c75 Bugfix and update for AT32F415 (#24807) 2025-01-13 21:20:36 -08:00
QMK Bot 1cc42e8c6e Merge remote-tracking branch 'origin/master' into develop 2025-01-06 21:49:38 +00:00
Nick Brassel bcee1d2f2e Remove preprocessor sanity check for STM32L0/L1 now that it relies on types in C. (#24793) 2025-01-07 08:48:28 +11:00
QMK Bot e6a08dbc64 Merge remote-tracking branch 'origin/master' into develop 2025-01-03 20:33:57 +00:00
HorrorTroll cc3823f767 Update some changes for AT32F415 (#24766)
* Fixed SPI can't compiled issue

* Added solenoid support and use 256KB ldscript for Onekey board
2025-01-03 20:33:22 +00:00
David Hoelscher c53d02d511 Ensure timer_read() is safe to call from interrupt handlers on ARM (#24529) 2025-01-01 23:11:10 -08:00
David Hoelscher 8157b37438 always return audio pin to 0 on ARM (#24503) 2025-01-01 23:10:07 -08:00
boessu d3c9dff9d2 small refactoring of TIMER_DIFF (#24678)
A small refactoring of the defines TIMER_DIFF_8, TIMER_DIFF_16, TIMER_DIFF_32, TIMER_DIFF_RAW.
Removing obsolete TIMER_DIFF helper.
Discussion: https://github.com/qmk/qmk_firmware/issues/24652
2024-12-16 10:27:42 +01:00
Nick Brassel df9bf9efa1 Update ChibiOS to latest stable branch. (#24651) 2024-11-30 22:51:41 +11:00
Drashna Jaelre c7a04bd930 Bring supported STM32F4 configs in line with F4x1 (#24413)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2024-11-21 22:54:01 +11:00
HorrorTroll 39161b9ee7 Added MCU support for ArteryTek AT32F415 (#23445) 2024-11-21 17:28:28 +11:00
David Hoelscher 7630a80791 Change default ARM hardware PWM WS2812 tick frequency to 800kHz (#24508) 2024-10-27 23:29:43 -07:00
Dasky 5c85271e48 Add timer_save and _restore functions. (#23887)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-10-25 18:10:17 +01:00
Sadek Baroudi 9d17779832 Add svlinky converter (#24449) 2024-10-12 00:16:25 +01:00
Nick Brassel 305e7baa71 Allow for get_hardware_id() to be used for serial number. (#24053)
* Allow for `get_hardware_id()` to be used for serial number.

* Length checks.

* Explain length.

* Cleanup.

* Preprocessor magic.

* Use the force, Batman.

* Swap logic; if SERIAL_NUMBER is defined use that, otherwise derive it.

* Cleanup.

* Cleanup.
2024-10-06 21:44:36 +13: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