summaryrefslogtreecommitdiff
path: root/builddefs/common_features.mk
AgeCommit message (Collapse)Author
2022-12-09Detect host OS based on USB fingerprint (#18463)Ruslan Sayfutdinov
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-12-02Fixup EFL and F4's sector selection. (#19221)Nick Brassel
2022-11-23NVRAM refactor, phase 1. (#18969)Nick Brassel
* Rename `eeprom_stm32` to `eeprom_legacy_emulated_flash`. * Rename `flash_stm32` to `legacy_flash_ops`. * Rename `eeprom_teensy` to `eeprom_kinetis_flexram`.
2022-11-11Move EFL wear-leveling driver to be default for F1, F3, F4, L4, G4, WB32, ↵Nick Brassel
GD32V. (#19020)
2022-11-06Remove thermal printer. (#18959)Nick Brassel
2022-10-22Generalise CTPC logic from common_features (#18803)Joel Challis
2022-10-20Remove quantum/audio from global VPATH (#18753)Ryan
2022-09-30Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-09-29Explicitly specify path to RP2040 wear_leveling config file. (#18541)Nick Brassel
2022-09-29Start Bluetooth API (#18366)Ryan
2022-09-23[Core] Pointing Device Automatic Mouse Layer (#17962)Alabastard-64
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-09-12Refactor Unicode feature (#18333)Ryan
2022-09-07Move Bluetooth-related function calls up to host/keyboard level (#18274)Ryan
* Move Bluetooth-related function calls up to host/keyboard level * Remove pointless set_output() call * Move bluetooth (rn42) init to end of keyboard_init() * Enable SPI/UART for ChibiOS targets * Some more slight tweaks
2022-08-31[Core] Rework PS/2 driver selection (#17892)Marek Kraus
* [Core] Rework PS/2 driver selection Enabling and selecting PS/2 driver was using old approach, so it was reworked to current approach, inspired by Serial and WS2812 driver selections. * [Keyboard] Update keyboards using PS/2 to use new PS/2 driver selection * [Docs] Update PS/2 documentation to use new PS/2 driver selection * Fix indentation * [Core] Add PS2 to data driver * Fix oversight in property name Co-authored-by: Drashna Jaelre <drashna@live.com> * Add PS/2 pins to data driven mappings Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-14Fix Emulated EEPROM issue with F466 (#18039)Drashna Jaelre
2022-08-14[Controller] Added board config for custom controller STeMCell (#16287)Mega Mind
Co-authored-by: Mariappan Ramasamy <947300+Mariappan@users.noreply.github.com> Co-authored-by: Mariappan Ramasamy <maari@basis-ai.com> Co-authored-by: Sadek Baroudi <sadekbaroudi@gmail.com>
2022-08-13Add led matrix support for CKLED2001 (#17643)lokher
2022-08-12[Bug] Fix wrong varaible in encoder block (#18020)Drashna Jaelre
2022-08-12Move Encoder+Encoder Map from generic features (#18018)Drashna Jaelre
2022-07-20Move Pointing Device code to a subdirectory (#17684)Drashna Jaelre
2022-07-19Add support for PAW3204 Optical Sensor (#17669)Drashna Jaelre
Co-authored-by: gompa <gompa@h-bomb.nl> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-07-14[Core] PMW33XX drivers overhaul (#17613)Stefan Kerkmann
* 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
2022-07-12Cirque trackpad features: circular scroll, inertial cursor (#17482)Daniel Kao
2022-07-02Feature-ify Send String (#17275)Ryan
2022-07-02RP2040 emulated EEPROM. (#17519)Nick Brassel
2022-06-30[Core] Add Raspberry Pi RP2040 support (#14877)Stefan Kerkmann
* 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>
2022-06-30Wear-leveling EEPROM drivers: `embedded_flash`, `spi_flash`, `legacy` (#17376)Nick Brassel
2022-06-27Generic wear-leveling algorithm (#16996)Nick Brassel
* 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>
2022-06-23Refactor steno and add `STENO_PROTOCOL = [all|txbolt|geminipr]` (#17065)precondition
* 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
2022-06-18[Core] Split ChibiOS usart split driver in protocol and hardware driver part ↵Stefan Kerkmann
(#16669)
2022-06-08Rework paths for eeprom locations. (#17326)Nick Brassel
* Rework paths for eeprom locations. * File relocation. * Wrong file move. * Fixup test paths.
2022-05-30Removes terminal from QMK. (#17258)Nick Brassel
2022-04-13Quantum Painter (#10174)Nick Brassel
* 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.
2022-03-19HD44780 driver rework (#16370)Ryan
2022-02-11Added external spi flash driver. (#15419)Joy Lee
2022-02-11ps2/avr: use the correct file name (#16316)Idan Kamara
This was missed in https://github.com/qmk/qmk_firmware/pull/14895. Thanks to fauxpark for spotting this.
2022-02-10Migrate more makefile utilities to builddefs sub-directory (#16002)Joel Challis