Commit Graph

404 Commits

Author SHA1 Message Date
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
Joel Challis a7486a8d87
Remove `STM32_PWM_USE_ADVANCED` references (#24432) 2024-09-24 21:04:15 +10:00
QMK Bot 7983f7409b Merge remote-tracking branch 'origin/master' into develop 2024-09-18 09:07:31 +00:00
kbladewht 42f1763db9
Workaround for broken STM32L433 startup (#24404)
Change STM32L433 LSI to False, this is to fix board startup issue , change is same to stm32L432 board
2024-09-18 19:06:50 +10:00
Dasky 2c7bf34d09
Allow for inverted SPI CS logic (#23699) 2024-09-10 08:44:35 +10:00
Mega Mind b5c807fb4a
Refactor F4 ld files to use common files (#18059) 2024-09-05 23:24:14 -07:00
QMK Bot 6af8d4210c Merge remote-tracking branch 'origin/master' into develop 2024-09-05 22:47:01 +00:00
Ryan 4a6ba1e808
Fix RGBW for WS2812 SPI driver (#24367) 2024-09-05 23:46:29 +01:00
Joel Challis 3bd303f204
Remove `arm_atsam` platform (#24337) 2024-09-02 03:48:17 +01:00
QMK Bot 48d3edd66f Merge remote-tracking branch 'origin/master' into develop 2024-08-18 21:33:42 +00:00
Joel Challis 1355eb493f
Default STM32G431 back to wear_leveling EFL driver (#24299) 2024-08-19 07:33:11 +10:00
Dasky 56ebd3b829
Rename promicro_rp2040 converter to sparkfun_pm2040 (#24192) 2024-07-25 22:51:32 +01:00
Nick Brassel daa777d6fb
[WIP] Adds bus acquire/release semantics to SPI start/stop. (#23439) 2024-07-18 08:59:08 +10:00
Nick Brassel 3a711f4cfa
Allow overriding `get_hardware_id()`. (#24051) 2024-07-05 11:22:08 +10:00
Joel Challis b826877c40
Decouple VIA from STM32 L0/L1 EEPROM implementation (#23901) 2024-06-12 13:00:23 +10:00
QMK Bot e381f91c6e Merge remote-tracking branch 'origin/master' into develop 2024-06-10 00:24:00 +00:00
Joel Challis 8b5cdfabf5
Re-implement `eeprom_write_qword` as define (#23890) 2024-06-10 01:23:25 +01:00
Drashna Jaelre 333f8bf0d7
Add STM32F405RG ld script for tinyuf2 (#23885) 2024-06-09 11:08:53 +10:00
dexter93 75d11e0421
[wear_leveling] efl updates (#22489)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-06-04 20:16:45 +10:00
QMK Bot 9be50fdce5 Merge remote-tracking branch 'origin/master' into develop 2024-05-29 01:55:15 +00:00
Joel Challis 2f9f000d0c
Workaround for broken ChibiOS startup (#23822) 2024-05-29 11:54:47 +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
Ryan 0ff53b2498
Rename `RGBW` define to `WS2812_RGBW` (#23585) 2024-04-28 00:36:54 +10:00
Nick Brassel f8a7a6848d
Update ChibiOS submodules. (#23405) 2024-04-05 13:23:43 +11:00
Ryan 01be746fc4
Update I2C API usage in keyboard code (#23360) 2024-03-27 12:41:53 +00:00
Ryan f7cf40fa77
Add init function to RGBLight driver struct (#23076) 2024-03-18 22:03:27 +11:00
Joel Challis 4bbfecae90
Infer eeconfig identifiers (#22135)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-03-14 21:45:03 +11:00
QMK Bot 145a1eca1b Merge remote-tracking branch 'origin/master' into develop 2024-03-09 10:40:47 +00:00
Nick Brassel 900e79febe
Attempt to deal with GCC 13+ and rv32 arch extensions. (#23086) 2024-03-09 21:40:19 +11:00
Drashna Jaelre 83e6ddbbb4
[Audio] Add support for audio shutdown pin (#22731)
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-03-06 22:02:37 +11:00
QMK Bot 73c4ca175b Merge remote-tracking branch 'origin/master' into develop 2024-03-02 18:20:47 +00:00
Joel Challis 092ef661af
Workaround for uart makefile issues (#23192) 2024-03-02 18:20:18 +00:00
Ryan 569b0c70be
WS2812 PWM: prefix for DMA defines (#23111)
* WS2812 PWM: prefix for DMA defines

* Add backward compatibility defines
2024-03-02 17:16:47 +00:00
Nick Brassel 8b8f73098b
Fix up AVR production build target. (#23190) 2024-03-02 08:44:51 +11:00
Stefan Kerkmann 61fa6949fb
[Core] Allow ChibiOS `SIO` driver for `UART` driver (#22839)
* onekey: stm32f3_disco: add usart pins and activate peripheral

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

* chibios: uart: change SD1 prefix to UART

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

* chibios: uart: add SIO driver and RP2040 compatibility

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

* Update platforms/chibios/drivers/uart.h

Co-authored-by: Joel Challis <git@zvecr.com>

---------

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2024-02-20 11:34:24 +01:00
Ryan 865a8f42a6
WS2812 bitbang: prefix for `NOP_FUDGE` define (#23110) 2024-02-20 21:13:18 +11:00
Ryan 2d1aed78a6
Update GPIO macro usages in core (#23093) 2024-02-18 17:08:27 +11:00
Ryan b8646bc40b
Update naming convention for GPIO control macros (#23085) 2024-02-17 00:18:26 +11:00
QMK Bot 3f6e362b8d Merge remote-tracking branch 'origin/master' into develop 2024-02-06 07:09:53 +00:00
Ryan 45ae4dec4d
WS2812: Better error message when trying to use `bitbang` driver on RP2040 (#23025) 2024-02-06 08:09:22 +01:00
Joel Challis 93f20e012e
Workaround for G431 eeprom emulation (#23002) 2024-02-03 19:09:18 +00:00
Joel Challis bb71145632
Tidy up print/debug logging headers (#22969) 2024-01-27 04:30:29 +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
Drashna Jaelre 7ed3138e5f
Remove PWM advanced check for WS2812 driver (#22830) 2024-01-05 12:27:55 +00:00
Drashna Jaelre 29f8fa35cf
[Audio] Enable Complementary output for PWM Hardware driver (#22726)
Co-authored-by: Joel Challis <git@zvecr.com>
2023-12-21 19:38:59 -08:00
Nebuleon 229a1690a7
dac_additive: Decouple the buffer length from the waveform length (#22276)
* dac_additive: Decouple the buffer length from the waveform length

* Formatting changes for the previous commit

* Reformat waveform tables with rows of 16 entries, ending at column 116

* Revert "Reformat waveform tables with rows of 16 entries, ending at column 116"

This reverts commit 6f2d37908d6e73e1505ce61e63190f32f051586f.
2023-12-12 20:06:56 +01:00
Cipulot 81cedf5fa5
Add ADC support STM32L4xx and STM32G4xx series MCUs (#22341)
* Update analog.c

* Changes to remove errors in compile

* Update analog.c

Fix for RP2040 build errors

* Revert "Merge branch 'adc-add-stm32l4xx-stm32g4xx' of https://github.com/Cipulot/qmk_firmware into adc-add-stm32l4xx-stm32g4xx"

This reverts commit b11c2970785ce41ec772689749d71a2bd0ab48e7, reversing
changes made to ed3051f94109b53eb1735882abfe7f57473bdca8.

* Update analog.c

Attempt fix for formatting CI error

* Update platforms/chibios/drivers/analog.c

Co-authored-by: Joel Challis <git@zvecr.com>

* Update platforms/chibios/drivers/analog.c

Co-authored-by: Joel Challis <git@zvecr.com>

* Update platforms/chibios/drivers/analog.c

Co-authored-by: Joel Challis <git@zvecr.com>

---------

Co-authored-by: Joel Challis <git@zvecr.com>
2023-12-08 01:26:44 +00:00
leah-splitkb 2450fe28ee
Add Imera converter (#22419) 2023-11-28 17:53:47 +11:00
Nick Brassel f96a7bbd63
Cater for ECC failures in EFL wear-leveling. (#19749)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2023-11-26 22:59:38 +11:00
Nick Brassel 3a5e4253fc
Add simpler method for relocating functions to RAM. (#21804) 2023-11-22 12:08:52 +11:00
Joel Challis 02d3b233ab
chibios: disable RWX segment warning on newer GNU lds (#22471) 2023-11-13 23:45:40 +00:00
Nick Brassel 4c625d8286
Revert "chibios: disable RWX segment warning on newer GNU lds (#22007)" (#22469)
This reverts commit de3c42125b.
2023-11-13 22:41:12 +00:00
Thomas Weißschuh de3c42125b
chibios: disable RWX segment warning on newer GNU lds (#22007) 2023-11-13 22:29:12 +00:00
Joel Challis bf6f13a2b0
Consolidate some EEPROM Driver configuration (#22321) 2023-10-23 00:37:27 +01:00
Ryan 2b8d9f3193
ChibiOS pin defs: use only vendor if present (#22297) 2023-10-21 14:02:03 +11:00
Ryan 1bff37781b
Prep work for NKRO report separation (#22268)
* Clean up some keyboard/userspace code

* Rename `KEYBOARD_REPORT_BITS` -> `NKRO_REPORT_BITS`

* Add some missing includes

* Use `PACKED` define for report types

* Fix incorrect function signatures for FlexRAM EEPROM driver
2023-10-14 13:21:20 +02:00
Dominik fa1c1cbbee
avrdude: Version 7.2 changes the text output (#22235)
from "could not find USB device with" to "cannot find USB device with"
This should fix issue #22234

Co-authored-by: Dominik Loidolt <dominik.loidolt@univie.ac.at>
2023-10-09 17:41:00 +01:00
QMK Bot fc25b92e0f Merge remote-tracking branch 'origin/master' into develop 2023-09-26 02:21:14 +00:00
Nick Brassel 8d9c770a81
Fix entry into bootloader for STM32G431. (#22138) 2023-09-26 12:20:32 +10:00
Ryan 21ed9b4575
Simplify more feature driver defines (#22090) 2023-09-25 13:06:42 +10:00
Joel Challis 61702b2564
Set default board files for uf2boot bootloader (#22129) 2023-09-25 13:05:28 +10:00
Nick Brassel c597731d1d
Merge remote-tracking branch 'upstream/master' into develop 2023-09-25 13:03:02 +10:00
Michael Büchler 4d994458f0
Document the RP2040-specific PS/2 implementation (#22079)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2023-09-25 13:00:13 +10:00
Purdea Andrei 408d61dcfb
Chibios SPI driver: allow some SPI pins to be left unassigned (#20315)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2023-09-25 12:54:22 +10:00
Andre Brait 960d6e0d7d
[Enhancement] Improvements for debounce test coverage + bug fixes for sym_defer_g and sym_eager_pr (#21667)
Co-authored-by: Nebuleon <2391500+Nebuleon@users.noreply.github.com>
2023-09-25 12:48:55 +10:00
Nebuleon 2f4e1a78ad
Reduce popping during audio initialization using the additive DAC (#21642) 2023-09-25 12:26:32 +10:00
Nebuleon 1d94de5358
Optimize the additive DAC code, fixing performance-related hangs (#21662) 2023-09-25 12:26:02 +10:00
QMK Bot 8f9847248a Merge remote-tracking branch 'origin/master' into develop 2023-09-18 18:56:34 +00:00
Dasky 16f2a3e2f8
Add missing gpio include to ps2 vendor (#22063) 2023-09-18 19:55:51 +01:00
QMK Bot 78fdebb130 Merge remote-tracking branch 'origin/master' into develop 2023-09-17 12:19:00 +00:00
Constantine Karos 1fbd45a594
Add missing gpio and chibios defs to uart.h (#22033) 2023-09-17 13:18:26 +01:00
Joel Challis 1b637287a1
Default wear leveling logical size to half backing (#22006) 2023-09-14 07:13:21 +10:00
Thomas Weißschuh b9f2121d10
chibios: mark boot2 bootlader data readonly (#21986) 2023-09-13 16:48:38 +10:00
Joy Lee bd2e59af60
Fixed WB32 MCU remote wakeup issue (#20863)
Co-authored-by: Joy <chang.li@westberrytech.com>
2023-09-12 15:57:18 +10:00
Joel Challis 06cec720dd
Remove 'Firmware size check does not yet support' message (#21977) 2023-09-12 05:16:39 +01:00
Drashna Jaelre 3aebc8acb0
Add RTC IRQ Priority to RP2040 board files (#21926) 2023-09-06 04:51:34 +01:00
Ryan 41bd4e35a0
Clean up RGB LED type (#21859) 2023-09-04 01:19:59 +01:00
Daniel Schaefer dd887eae36
[Core] Allow customizing PWM frequency (#21717)
* [Core] Allow customizing PWM frequency

Some frequencies can cause audible noise. Changing the frequency
eliminates that.

Signed-off-by: Daniel Schaefer <dhs@frame.work>

* docs/feature-backlight: Mention PWM frequency

Signed-off-by: Daniel Schaefer <dhs@frame.work>

---------

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-09-03 14:56:02 +02:00
Drashna Jaelre 25331be316
Revert changes to ChibiOS Suspend Code (#21830)
* Partially revert #19780

* Finish

* Get teensy 3.5/3.6 board files too

* fix lint issue

* Revert "[Bug] Restore usb suspend wakeup delay (#21676)"

This reverts commit e8e989fd7a.

* Apply suggestions from code review

Co-authored-by: Joel Challis <git@zvecr.com>

---------

Co-authored-by: Joel Challis <git@zvecr.com>
2023-08-27 03:52:12 +01:00
QMK Bot 79491e35e1 Merge remote-tracking branch 'origin/master' into develop 2023-08-23 19:55:42 +00:00
Thomas Weißschuh f699fde7d9
Generalize AVR -Werror=array-bounds workaround (#21798)
GCC 13 needs the same workaround as GCC 12.
To avoid having to maintain an ever-growing list of broken versions
apply the workaround wherever it can be used.

If at some point a fixed version of GCC is released the workaround can
be disabled for those fixed versions.

See #17064
2023-08-23 20:55:03 +01:00
Nebuleon e971ce290c
Remove needless precision in additive DAC sample generation (#21498) 2023-07-26 21:06:14 -07:00
Nebuleon 821db155f2
Fix stuck note with square wave in additive DAC (#21589) 2023-07-26 21:00:27 -07:00
Nebuleon a5e33b1c28
Allow the user to select one tone for the additive DAC (#21591)
Previously, if the user tried to use `#define AUDIO_MAX_SIMULTANEOUS_TONES 1` to conserve CPU time, their firmware would fail to build with this error:

```
platforms/chibios/drivers/audio_dac_additive.c:91:73: error: excess elements in array initializer [-Werror]
   91 | static float   active_tones_snapshot[AUDIO_MAX_SIMULTANEOUS_TONES] = {0, 0};
      |                                                                          ^
```

This also affected the preset `#define AUDIO_DAC_QUALITY_VERY_HIGH`, which called up only one simultaneous tone at 88200 Hz.
2023-07-23 11:44:41 +01:00
Ryan 4137685f8e
backlight: split AVR PWM and timer drivers (#21540) 2023-07-21 09:27:55 +10:00
Ryan da2d2f947d
quantum: remove direct `quantum.h` includes (#21507) 2023-07-16 23:42:56 +10:00
Ryan b9e5895184
Eliminate `TMK_COMMON_*` in makefiles (#21517) 2023-07-15 17:27:32 +10:00
Ryan b6d9409d2f
drivers: remove direct `quantum.h` includes (#21473) 2023-07-09 20:03:50 +10:00
Ryan cb2331713c
Relocate backlight drivers (#21444) 2023-07-08 23:13:10 +10:00
Pascal Getreuer a8a87a0922
[Core] Simplify audio_duration_to_ms() and audio_ms_to_duration(), reduce firmware size by a few bytes. (#21427) 2023-07-08 00:47:16 +10:00
Ryan 87b11345a5
Get rid of `USB_LED_CAPS_LOCK` (#21436) 2023-07-06 09:48:02 +01:00
Nick Brassel 2976bd627e
Fixup STM32-DFU (#21447) 2023-07-04 21:16:14 +10:00
QMK Bot ed6528b3e3 Merge remote-tracking branch 'origin/master' into develop 2023-07-02 22:54:27 +00:00
Sergey Vlasov b708658e2e
usbpd_stm32g4: Configure UCPD before disabling the dead battery mode (#21430) 2023-07-03 08:53:54 +10:00
Nick Brassel c814be0296
STM32H723 support (#21352) 2023-06-28 13:07:14 +10:00
Stefan Kerkmann be3205fae0
Minor board clean-up after #19780 (#21391) 2023-06-27 09:54:31 +10:00
Stefan Kerkmann a87c74ebe1
[Bug] Fix non-functional S3 wakeup / resume from suspense (#19780)
* Update ChibiOS-Contrib for USB suspend fixes

* Remove S3 wakup workaround

ChibiOS OTGv1 driver has a remote wakeup bug that prevents the device to
resume it's operation. 02516cbc24647f522eee975e69cc0c8a925470eb 
introduced a hotfix that forcefully restarted the usb driver as a workaround. 
This workaround broke multiple boards which do not use this driver / 
peripheral. With the update of ChibiOS this hotfix is now obsolete.

* Remove restart_usb_driver overrides

they are no longer necessary as the workaround is not needed anymore
for stm32f4

* Remove unused RP_USB_USE_SOF_INTR defines

The SOF interrupt is enabled dynamically by the RP2040 usb driver
2023-06-26 23:55:52 +02:00
Nick Brassel 416af0171c
Remove CORTEX_ENABLE_WFI_IDLE from keyboards. (#21353)
* Remove CORTEX_ENABLE_WFI_IDLE from the codebase.

* Turn on CORTEX_ENABLE_WFI_IDLE by default.
2023-06-23 20:31:25 +01:00