summaryrefslogtreecommitdiffstats
path: root/common_features.mk
Commit message (Collapse)AuthorAgeFilesLines
* Add a new led driver for Keychron's keyboards. (#14872)lalalademaxiya12021-11-021-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add a new led driver for Keychron's keyboards. * Update ckled2001.c/ckled2001.h. * Update ckled2001.c/ckled2001.h. * Update ckled2001.c/ckled2001.h. * Update ckled2001.c * Add a new led driver * Update ckled2001.c * Update ckled2001.c * Update ckled2001.c * Update ckled2001.c * Delete ckled2001.c * Create ckled2001.c * Update ckled2001.c * Update chibios-contrib Co-authored-by: keychron-dev <85598583+keychron-dev@users.noreply.github.com> Co-authored-by: lokher <lokher@gmail.com>
* More platform/protocol alignment (#14976)Joel Challis2021-10-291-0/+7
|
* Relocate protocol files within tmk_core/common/ (#14972)Joel Challis2021-10-281-1/+1
| | | | | * Relocate non platform files within tmk_core/common/ * clang
* Tidy up LCD_ENABLE/visualizer references (#14855)Joel Challis2021-10-201-4/+0
| | | | | | | * Tidy up LCD_ENABLE/visualizer references * Fix up my (333fred) ergodox keymap with new LCD driver Co-authored-by: Fredric Silberberg <fred@silberberg.xyz>
* Relocate PS2 code (#14895)Joel Challis2021-10-201-0/+34
| | | | | | | * Relocate ps2 protocol code * clang * Move makefile logic
* Split out HAPTIC_ENABLE to have separate DRIVER option (#14854)Joel Challis2021-10-181-14/+10
| | | | | | | | | | | * DRIVER -> ENABLE * Update generic_features.mk Co-authored-by: Ryan <fauxpark@gmail.com> * Update common_features.mk Co-authored-by: Ryan <fauxpark@gmail.com>
* [Core] Add support for RISC-V builds and GD32VF103 MCU (#12508)Stefan Kerkmann2021-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Infer more when building features (#13890)Joel Challis2021-10-171-83/+0
|
* Further tidy up of STM32 eeprom emulation (#14591)Joel Challis2021-10-161-36/+3
|
* Remove QWIIC_DRIVERS (#14174)Joel Challis2021-10-091-2/+0
|
* Enable eeprom with F401xE ld (#14752)Dasky2021-10-081-1/+1
|
* Remove SERIAL_LINK feature (#14727)Joel Challis2021-10-071-13/+0
| | | | | | | | | | | | | | | | | * Remove SERIAL_LINK * more stale paths in doxygen-todo * Fix * More refs * Update testing docs * Update doxygen-todo Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* Purge uGFX. (#14720)Nick Brassel2021-10-071-4/+0
| | | | | | | * Purge uGFX. * Remove remnants of visualizer. * Remove remnants of uGFX.
* Remove sysex API (#14723)Ryan2021-10-061-8/+0
|
* Move Audio drivers from quantum to platform drivers folder (#14308)Drashna Jaelre2021-10-061-1/+1
| | | | | | | | | * 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>
* Added power tracking api (#12691)Purdea Andrei2021-09-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Add power tracking API to lufa and chibios targets * power.c: Pass through power state to the notify function * power: added notify_power_state_change_user too. * making it pass the PR linter * Add a POWER_STATE_NO_INIT state, that we start in before calling power_init(); * Rename *power* to *usb_power* * removing stray newline * Rename usb_power* to usb_device_state* * Update quantum/usb_device_state.h Co-authored-by: Drashna Jaelre <drashna@live.com> * Fix comment * usb_device_state.h: Don't include quantum.h, only the necessary headers. Co-authored-by: Drashna Jaelre <drashna@live.com>
* Initial pass of F405 support (#14584)Joel Challis2021-09-251-1/+1
| | | | | | | | | * Initial pass of F405 support * remove some conf files * docs * clang
* Relocate Adafruit BLE code (#14530)Ryan2021-09-211-2/+3
|
* Add Support for USB programmable buttons (#12950)Thomas Weißschuh2021-09-151-0/+6
|
* Implement F4 eeprom (#14195)Joel Challis2021-09-151-1/+7
|
* Migrate STM32_EEPROM_ENABLE to use EEPROM_DRIVER (#14433)Joel Challis2021-09-151-4/+12
|
* RN42 Bluetooth typo fix (#14421)Ryan2021-09-131-1/+1
|
* Move Bluetooth config to common_features.mk (#14404)Ryan2021-09-121-0/+23
| | | | | | | | | * Move Bluetooth config to common_features.mk * Update common_features.mk Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
* Bugfix for Joystick and JSON schema (#14295)Ryan2021-09-091-9/+13
|
* [Core] Refactor OLED to allow easy addition of other types (#13454)Xelus222021-08-241-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add docs * core changes * update keyboards to new OLED * updated users to new OLED * update layouts to new OLED * fixup docs * drashna's suggestion * fix up docs * new keyboards with oled * core split changes * remaining keyboard files * Fix The Helix keyboards oled options * reflect develop Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: mtei <2170248+mtei@users.noreply.github.com>
* Fix Mouse Shared EP functionality (#14136)Drashna Jaelre2021-08-241-2/+2
| | | Specifically, if you enable the shared endpoint for mouse reports (or keyboard, which force enables it for mouse), and you don't have mousekeys enabled, it does not properly enable shared mouse EP for pointing device (which uses mouse reports). This cause it to error out in compiling. This fixes up some of the logic to ensure that all use cases are supported, and consolidates some of the code.
* Various fixes from reorg of files (#14051)Joel Challis2021-08-181-1/+1
|
* Migrate platform independent code from tmk_core -> quantum (#13673)Joel Challis2021-08-181-0/+7
| | | * Migrate action|keyboard|keycode|eeconfig from tmk_core -> quantum
* Relocate platform specific drivers (#13894)Joel Challis2021-08-171-0/+1
| | | | | | | * Relocate platform specific drivers * Move stm eeprom * Tidy up slightly
* Digitizer HID interface : absolute coordinates for mouse cursor (#12851)a-chol2021-08-181-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add digitizer HID interface for setting the mouse cursor position at absolute screen coordinates. Tested on Pro Micro, Proton C and Blackpill. * Update docs/feature_digitizer.md Co-authored-by: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/usb_descriptor.c Co-authored-by: Ryan <fauxpark@gmail.com> * Add missing copyrights Add V-USB support * Add support for digitizer dedicated endpoint for lufa and chibios. Fix formatting issues Move digitizer_task definition to the feature's base implementation file * Run cformat on modified files * Change digitizer report usage to Digitizer instead of Pen to avoid pointer disappearing on Windows. * Update tmk_core/protocol/vusb/vusb.c Co-authored-by: Ryan <fauxpark@gmail.com> * Run cformat from docker image * Remove send_digitizer from host_driver_t and instead rely on the declaration being the interface to the implementation in each HW-specific usb implementation. * Fix build : send_digitizer shouldn't be static in vusb and add weak-linkage implementation for tests without usb implementation * Change digitizer user interface to match pointing device's * Update documentation with new API Co-authored-by: a-chol <nothing@none.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* Remove backwards compatibility of debounce names (#13877)Joel Challis2021-08-091-14/+2
| | | | | | | * Remove backwards compatibility of debounce names * Update docs * Update keyboards/keymaps
* Remove Full Bootmagic (#13846)James Young2021-08-061-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * disambiguate Bootmagic rules in keymaps The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic. This commit edits the files to specify that full Bootmagic is intended. * remove BOOTMAGIC_ENABLE=full setting * unify commented BOOTMAGIC_ENABLE rules in keyboards Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no # Virtual DIP switch configuration;g' {} + ``` * remove commented Bootmagic rules from keymap/user level Command: ``` find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} + ``` * update keyboard BOOTMAGIC_ENABLE rule formatting Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later). Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' + ``` * update keyboards' BOOTMAGIC_ENABLE settings Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' + ``` * update keymap/user BOOTMAGIC_ENABLE settings Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used. Commands: ``` find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' + find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' + ``` * remove and replace inline comments in keyboards and keymap/user files Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`. Commands: ``` find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' + find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' + find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1 # Enable Bootmagic Lite;g' '{}' + find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1 # Enable Bootmagic Lite;g' '{}' + find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1 # Enable Bootmagic Lite;g' '{}' + ``` * rename improperly named makefiles Some files intended to be used as makefiles had improper names causing them to not be used as intended when building. This commit corrects the filenames of the affected files. * update renamed file with new rule formatting * update QMK's template files Updates QMK's `rules.mk` templates to use the new inline comment. * update QMK Docs - remove documentation of full Bootmagic - update links to Bootmagic Lite doc - add doc for Magic Keycodes * rules.mk patch for coarse/ixora and coarse/vinta
* Move print/debug files to quantum (#12069)Joel Challis2021-08-031-1/+9
| | | | | * move print/debug files to quantum * Update comments
* Move some led drivers to common folder (#13749)Joel Challis2021-07-311-7/+7
| | | * Move some led drivers to common folder
* Minor tidy up of key overrides (#13747)Joel Challis2021-07-281-5/+5
| | | | | | | * Minor tidy up of key overrides * Update quantum/quantum.c * Update quantum/quantum.c
* Remove legacy BACKLIGHT_CUSTOM_DRIVER option (#13731)Joel Challis2021-07-271-5/+0
|
* Haptic: driver-> feature (#13713)Joel Challis2021-07-251-1/+2
|
* Include lib8tion.c into RGB/LED matrix build list (#12699)Albert Y2021-07-221-0/+2
| | | Co-authored-by: filterpaper <filterpaper@localhost>
* Revert "Add rgblight to RGB Matrix VPATH" (#13559)Ryan2021-07-171-3/+0
|
* [Feature] Key Overrides (#11422)Jonas Gessner2021-07-131-0/+5
|
* Unify matrix for split common and regular matrix (#13330)Drashna Jaelre2021-07-111-5/+1
|
* Add rgblight to RGB Matrix VPATH (#13371)Ryan2021-07-021-0/+3
|
* Move RGBLight code into its own folder (#13312)Ryan2021-06-281-2/+3
|
* Fix CRC for AVR and enable again. (#13253)Dasky2021-06-251-1/+2
|
* Fix linker error when rgblight and RGB Matrix are both enabled (#13304)Ryan2021-06-231-6/+6
|
* Move LED/RGB Matrix code into their own directories (#13257)Ryan2021-06-221-6/+12
|
* Temporary disable of CRC (#13252)Joel Challis2021-06-201-1/+0
|
* Extensible split data sync (#11930)Nick Brassel2021-06-181-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | * Extensible split data sync capability through transactions. - Split common transport has been split up between the transport layer and data layer. - Split "transactions" model used, with convergence between I2C and serial data definitions. - Slave matrix "generation count" is used to determine if the full slave matrix needs to be retrieved. - Encoders get the same "generation count" treatment. - All other blocks of data are synchronised when a change is detected. - All transmissions have a globally-configurable deadline before a transmission is forced (`FORCED_SYNC_THROTTLE_MS`, default 100ms). - Added atomicity for all core-synced data, preventing partial updates - Added retries to AVR i2c_master's i2c_start, to minimise the number of failed transactions when interrupts are disabled on the slave due to atomicity checks. - Some keyboards have had slight modifications made in order to ensure that they still build due to firmware size restrictions. * Fixup LED_MATRIX compile. * Parameterise ERROR_DISCONNECT_COUNT.
* Add CRC8 calculation subsystem to quantum (#12641)Stefan Kerkmann2021-06-181-0/+6
| | | | | | | | | | | * Intended usage is data validation in split transport code. * Default space efficient algorithm. * Opt-in fast table based algorithmn with #define CRC8_USE_TABLE switch. * Define switches for size and speed optimized versions, the default is size optimized by using uint_least8_t as datatype for calculations. * #define CRC8_OPTIMIZE_SPEED uses uint_fast8_t as datatype for calculations, this only affects 32-bit Archs like ARM and RISC-V. * Placeholder crc_init() function for hardware backed crc calculation, not implemented yet.
* Add ST7565 LCD driver (#13089)Ryan2021-06-101-0/+8
| | | Co-authored-by: Joakim Tufvegren <jocke@barbanet.com>