summaryrefslogtreecommitdiffstats
path: root/builddefs
Commit message (Collapse)AuthorAgeFilesLines
* Move Pointing Device code to a subdirectory (#17684)Drashna Jaelre2022-07-201-4/+5
|
* Add support for PAW3204 Optical Sensor (#17669)Drashna Jaelre2022-07-191-1/+1
| | | | Co-authored-by: gompa <gompa@h-bomb.nl> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
* [Core] PMW33XX drivers overhaul (#17613)Stefan Kerkmann2022-07-141-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * PMW33XX drivers overhaul This combines the PMW3389 and PM3360 drivers as they only differ in the firmware blobs and CPI get and set functions. The following changes have been made: * PMW3389 now gets the same multi-sensor feature that is already available on the PMW3360. * Introduced a shared pmw33xx_report_t struct is now directly readable via SPI transactions instead of individual byte-sized reads, saving multiple copies and bitshift operations. * pmw33(89/60)_get_report functions had unreachable branches in their motion detection logic these have been simplied as much as possible. * The fast firmware upload option has been removed as this becomes obsolete by the newly introduced polled waiting functions for ChibiOS polled waiting * PMW33(60/89)_SPI_LSBFIRST and PMW33(60/89)_SPI_MODE config options have been removed as they don't need to be configurable. * All PMW3389 and PMW3360 defines have been unified to a PMW33XX prefix to reduce code duplication and make the defines interchangeable * Adjust keyboards to PMW33XX naming scheme
* Cirque trackpad features: circular scroll, inertial cursor (#17482)Daniel Kao2022-07-121-0/+4
|
* [Core] Update mpaland/printf to eyalroz/printf fork (#16163)Stefan Kerkmann2022-07-071-3/+3
| | | | | | | | mpaland printf implementation was abandoned in ~2019 and the fork by eyalroz is now regarded to be the goto replacement of it. So this commit incoporates the changes needed to use this fork in QMK. Note that pointer ptrdiff_t is always supported since commit 51c90f93a97fdaef895783ecbe24569be0db7cb8
* Allow for `keymaps` array to be implemented in a file other than ↵Nick Brassel2022-07-051-0/+6
| | | | `$(KEYMAP_C)` (#17559)
* Tentative Teensy 3.5 support (#14420)Ryan2022-07-032-2/+29
| | | | | | | | | | | * Tentative Teensy 3.5 support * Set firmware format to .hex for ARM Teensys * Got to "device descriptor failed" by comparing with Teensy 3.6 code * Drop down to 96MHz... * Bump back up to 120MHz
* Feature-ify Send String (#17275)Ryan2022-07-021-1/+7
|
* RP2040 emulated EEPROM. (#17519)Nick Brassel2022-07-022-2/+10
|
* [Core] Add Raspberry Pi RP2040 support (#14877)Stefan Kerkmann2022-06-303-2/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Wear-leveling EEPROM drivers: `embedded_flash`, `spi_flash`, `legacy` (#17376)Nick Brassel2022-06-302-5/+55
|
* Generic wear-leveling algorithm (#16996)Nick Brassel2022-06-273-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial import of wear-leveling algorithm. * Alignment. * Docs tweaks. * Lock/unlock. * Update quantum/wear_leveling/wear_leveling_internal.h Co-authored-by: Stefan Kerkmann <karlk90@pm.me> * More tests, fix issue with consolidation when unlocked. * More tests. * Review comments. * Add plumbing for FNV1a. * Another test checking that checksum mismatch clears the cache. * Check that the write log still gets played back. Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
* Refactor steno and add `STENO_PROTOCOL = [all|txbolt|geminipr]` (#17065)precondition2022-06-232-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor steno into STENO_ENABLE_[ALL|GEMINI|BOLT] * Update stenography documentation * STENO_ENABLE_TXBOLT → STENO_ENABLE_BOLT TXBOLT is a better name but BOLT is more consistent with the pre-existing TX Bolt related constants, which all drop the "TX " prefix * Comments * STENO_ENABLE_[GEMINI|BOLT|ALL] → STENO_PROTOCOL = [geminipr|txbolt|all] * Add note on lacking V-USB support * Clear chord at the end of the switch(mode){send_steno_chord} block * Return true if NOEVENT * update_chord_xxx → add_xxx_key_to_chord * Enable the defines for all the protocols if STENO_PROTOCOL = all * Mention how to use `steno_set_mode` * Set the default steno protocol to "all" This is done so that existing keymaps invoking `steno_set_mode` don't all suddenly break * Add data driver equivalents for stenography feature * Document format of serial steno packets (Thanks dnaq) * Add missing comma
* [Core] Split ChibiOS usart split driver in protocol and hardware driver part ↵Stefan Kerkmann2022-06-181-1/+9
| | | | (#16669)
* Dump out the largest symbols in flash and in RAM. (#17397)Nick Brassel2022-06-161-0/+13
|
* tap-dance: Restructure code and document in more detail (#16394)Jouke Witteveen2022-06-131-1/+1
|
* Rework paths for eeprom locations. (#17326)Nick Brassel2022-06-081-15/+9
| | | | | | | | | * Rework paths for eeprom locations. * File relocation. * Wrong file move. * Fixup test paths.
* [Core] Update C standard to GNU11, C++ to GNU++14 (#17114)Stefan Kerkmann2022-06-061-107/+10
|
* Add keymap wrappers for introspection into the keymap. (#17229)Nick Brassel2022-06-051-1/+3
| | | | | * Introspection handlers for keymaps. * Renaming.
* Removes terminal from QMK. (#17258)Nick Brassel2022-05-302-7/+0
|
* Added support for Wb32fq95 (#16871)Joy Lee2022-05-231-0/+34
|
* Warn about LTO with arm_atsam, not ChibiOS. (#17106)Nick Brassel2022-05-161-2/+2
|
* Data driven `g_led_config` (#16728)Joel Challis2022-05-161-1/+7
|
* [Core] Add Caps Word feature to core (#16588)Pascal Getreuer2022-05-142-1/+3
| | | | Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
* Merge remote-tracking branch 'origin/master' into developQMK Bot2022-05-061-0/+6
|\
| * Ensure .hex file output for ARM Teensys (#17014)Ryan2022-05-061-0/+6
| |
* | Update wb32-dfu (#16438)Joy Lee2022-04-192-1/+4
| |
* | Implement XAP 'secure' core requirements (#16843)Joel Challis2022-04-162-1/+3
| | | | | | | | Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
* | Quantum Painter (#10174)Nick Brassel2022-04-131-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Install dependencies before executing unit tests. * Split out UTF-8 decoder. * Fixup python formatting rules. * Add documentation for QGF/QFF and the RLE format used. * Add CLI commands for converting images and fonts. * Add stub rules.mk for QP. * Add stream type. * Add base driver and comms interfaces. * Add support for SPI, SPI+D/C comms drivers. * Include <qp.h> when enabled. * Add base support for SPI+D/C+RST panels, as well as concrete implementation of ST7789. * Add support for GC9A01. * Add support for ILI9341. * Add support for ILI9163. * Add support for SSD1351. * Implement qp_setpixel, including pixdata buffer management. * Implement qp_line. * Implement qp_rect. * Implement qp_circle. * Implement qp_ellipse. * Implement palette interpolation. * Allow for streams to work with either flash or RAM. * Image loading. * Font loading. * QGF palette loading. * Progressive decoder of pixel data supporting Raw+RLE, 1-,2-,4-,8-bpp monochrome and palette-based images. * Image drawing. * Animations. * Font rendering. * Check against 256 colours, dump out the loaded palette if debugging enabled. * Fix build. * AVR is not the intended audience. * `qmk format-c` * Generation fix. * First batch of docs. * More docs and examples. * Review comments. * Public API documentation.
* | Add warning for CTCP/CONVERT_TO_PROTON_C. (#16782)Nick Brassel2022-04-031-0/+11
| |
* | Refactor CTPC logic to allow future converters (#16621)Joel Challis2022-04-032-7/+27
| | | | | | | | | | | | | | | | | | * Refactor CTPC logic to allow future converters * Update builddefs/converters.mk Co-authored-by: Stefan Kerkmann <karlk90@pm.me> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
* | HD44780 driver rework (#16370)Ryan2022-03-191-1/+2
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-03-162-5/+16
|\|
| * Print out generated files during build (#16672)Joel Challis2022-03-172-5/+16
| |
* | Add support for encoder mapping. (#13286)Nick Brassel2022-03-092-0/+2
| |
* | Asymmetric encoders, encoder tests. (#16068)Nick Brassel2022-03-082-0/+3
| |
* | ChibiOS 21.11.1 update. (#16251)Nick Brassel2022-03-072-22/+63
|/ | | | | | | | | | | | | | | * ChibiOS 21.11.1 update. * `uf2-tinyuf2` => `tinyuf2` * Updated chibios-contrib, fixup preprocessor for tinyuf2 bootloader. * Fixup keychron L433 boards. * Makefile cleanup. * RISC-V build fixes. * Fixup RISC-V build.
* Added external spi flash driver. (#15419)Joy Lee2022-02-111-0/+15
|
* ps2/avr: use the correct file name (#16316)Idan Kamara2022-02-111-1/+1
| | | | | This was missed in https://github.com/qmk/qmk_firmware/pull/14895. Thanks to fauxpark for spotting this.
* Migrate more makefile utilities to builddefs sub-directory (#16002)Joel Challis2022-02-108-0/+1981
|
* Standardise error output. (#16220)Nick Brassel2022-02-042-1/+6
|
* Create a build error if no bootloader is specified. (#16181)Nick Brassel2022-02-031-1/+10
| | | | | | | | | * Create a build error if no bootloader is specified. * Update builddefs/bootloader.mk Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* Add L432, L442. (#16016)Nick Brassel2022-01-241-0/+37
|
* Fixes for bootloader refactor build failures (#15638)Ryan2022-01-061-0/+40
|
* Refactor `bootloader_jump()` implementations (#15450)Ryan2021-12-271-2/+38
| | | | | | | * Refactor `bootloader_jump()` implementations * Fix tests? * Rename `atmel-samba` to `md-boot`
* Add a clarification to an error message (#15207)Hugo Osvaldo Barrera2021-12-271-2/+3
| | | | | Makes this a bit more foolproof. See https://github.com/qmk/qmk_firmware/issues/15202
* Westberrytech pr (#14422)Joy Lee2021-11-271-1/+30
| | | | | | | * Added support for WB32 MCU * Modified eeprom_wb32.c * Remove the eeprom_wb32-related code
* New feature: `DYNAMIC_TAPPING_TERM_ENABLE` (#11036)precondition2021-11-262-0/+2
| | | | | | | | | * New feature: `DYNAMIC_TAPPING_TERM_ENABLE` 3 new quantum keys to configure the tapping term on the fly. * Replace sprintf call in tapping_term_report by get_u16_str * Replace tab with 4 spaces
* Add support for deferred executors. (#14859)Nick Brassel2021-11-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for deferred executors. * More docs. * Include from quantum.h * Cleanup. * Parameter checks * Comments. * qmk format-c * I accidentally a few words. * API name change. * Apply suggestions from code review Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * Review comments. * qmk format-c * Review comments. Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* More platform/protocol alignment (#14976)Joel Challis2021-10-291-0/+1
|