* Don't make EEPROM size assumptions with dynamic keymaps.
* Add support for checking against emulated flash, error out if someone attempts to build a board without specifying EEPROM size.
* Reorder defines so that MCU is considered last.
* Refactor EEPROM definitions for simplicity.
* Fix max sizing of kabedon/kabedon980.
* Fix max sizing of mechlovin/olly/jf.
* Fix unit tests.
* Review comments, add messages with values during build failures.
* Add open-drain GPIO support.
* `qmk format-c`
* Wording.
* Remove port GPIO implementations as the only board that uses it has its own internal defs anyway. Will wait for first-class handling of ports in core before reimplementing.
* Add ifndef to WS2812 timing constraints
Due to the way that the PrimeKB Meridian PCB was designed, this change
is needed in order to properly adjust the LEDs.
Testing:
* Compiled primekb/meridian:default successfully
* Compiled random board (walletburner/neuron:default) successfully
* Fix linting errors
Missed some spacing
* More linting fixes
Spacing on the comments... really?
* Rename WS2812 timing parameters for clarity; add comments
* Add docs update for the WS2812 timing macros
* Fix typo on comment
* Add ifndef for WS2812_RES
* Update double backticks and table with parameters
* Move timing adjustments documentation to ws2812_drivers
* Move timings adjustment discussion to bitbang section
* Update T0H and T1H definitions in subtractions
* format
Co-authored-by: Gondolindrim <alvaro.volpato@usp.br>
Co-authored-by: zvecr <git@zvecr.com>
* [Core] Fix RISC-V toolchain installation
The risc-v toolchain is only available on distributions based on Debian 11+
so we check for their availability before installing them.
* [Core] Fix heap symbols and syscalls for picolibc
picolibc internally uses __heap_start and __heap_end instead of the
defacto chibios linker script standard __heap_base__ and __heap_end__
therefore we introduce these symbols as an alias. Usually all memory
used within QMK is statically allocated, but some algorithms make usage
of malloc and friends.
Also the timeval struct is not defined by picolibc for syscalls, therefore it
is declared as stub.
* 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.
* Add support for RISC-V builds and GD32VF103 MCU
* Add toolchain selection in chibios.mk based on the mcu selected in
mcu_selection.mk
* Reorder and added comments to chibios.mk to have a streamlined makefile
* Add GD32VF103 mcu to possible targets for QMK.
* Add STM32 compatibility for GD32VF103 MCU, this is hacky but more efficent
then rewriting every driver.
* Add GigaDevice DFU bootloader as flash target, please note that
dfu-util of at least version 0.10 is needed.
* Add analog driver compatibility
* Add apa102 bitbang driver compatibility
* Add ws2812 bitbang driver compatibility
* Add eeprom in flash emulation compatibility
* Allow faster re-builds with ccache
* Add SiPeed Longan Nano to platform files
* Add SiPeed Longan Nano Onekeys
* Make quine compatible with other bootloaders
* Support builds with picolibc
* Add risc-v toolchain to arch and debian/ubuntu scripts
* Move Audio drivers from quantum to platform drivers folder
* fix path for audio drivers
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add RGBW support to PWM and SPI drivers for ChibiOS
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>