summaryrefslogtreecommitdiff
path: root/common_features.mk
AgeCommit message (Collapse)Author
2021-02-02add get_matrix_scan_rate() to tmk_core/common/keyboard.c (#11489)Takeshi ISHII
2021-01-122020 November 28 Breaking Changes Update (#11053)James Young
* Branch point for 2020 November 28 Breaking Change * Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183) * Add support for soft serial to ATmega32U2 (#10204) * Change MIDI velocity implementation to allow direct control of velocity value (#9940) * Add ability to build a subset of all keyboards based on platform. * Actually use eeprom_driver_init(). * Make bootloader_jump weak for ChibiOS. (#10417) * Joystick 16-bit support (#10439) * Per-encoder resolutions (#10259) * Share button state from mousekey to pointing_device (#10179) * Add hotfix for chibios keyboards not wake (#10088) * Add advanced/efficient RGB Matrix Indicators (#8564) * Naming change. * Support for STM32 GPIOF,G,H,I,J,K (#10206) * Add milc as a dependency and remove the installed milc (#10563) * ChibiOS upgrade: early init conversions (#10214) * ChibiOS upgrade: configuration file migrator (#9952) * Haptic and solenoid cleanup (#9700) * XD75 cleanup (#10524) * OLED display update interval support (#10388) * Add definition based on currently-selected serial driver. (#10716) * New feature: Retro Tapping per key (#10622) * Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638) * Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530) * Rescale both ChibiOS and AVR backlighting. * Reduce Helix keyboard build variation (#8669) * Minor change to behavior allowing display updates to continue between task ticks (#10750) * Some GPIO manipulations in matrix.c change to atomic. (#10491) * qmk cformat (#10767) * [Keyboard] Update the Speedo firmware for v3.0 (#10657) * Maartenwut/Maarten namechange to evyd13/Evy (#10274) * [quantum] combine repeated lines of code (#10837) * Add step sequencer feature (#9703) * aeboards/ext65 refactor (#10820) * Refactor xelus/dawn60 for Rev2 later (#10584) * add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824) * [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549) * update chibios os usb for the otg driver (#8893) * Remove HD44780 References, Part 4 (#10735) * [Keyboard] Add Valor FRL TKL (+refactor) (#10512) * Fix cursor position bug in oled_write_raw functions (#10800) * Fixup version.h writing when using SKIP_VERSION=yes (#10972) * Allow for certain code in the codebase assuming length of string. (#10974) * Add AT90USB support for serial.c (#10706) * Auto shift: support repeats and early registration (#9826) * Rename ledmatrix.h to match .c file (#7949) * Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231) * Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840) * Merge point for 2020 Nov 28 Breaking Change
2021-01-12Indicator LEDs as config (#10816)Joel Challis
* First pass * Add config options to docs * Update some wording * Slight tidy up of backlight caps logic * Init pin to correct state * Move init location * Reverse default state
2021-01-12Fix RGB matrix for ATmegaxxU2 (#10723)Ryan
2021-01-12Added EEPROM emulation for STM32F042x6 series processors (#10685)Adrian
* Added STM32F042x6 support for EEPROM emulation * Default to lower stack size on STM32F042 * Moved stack setting * Re-moved stack definition * Removed unnecessary check
2020-09-30quantum/debounce: rename debouncing algorithms (#9564)Purdea Andrei
* quantum/debounce: rename debouncing algorithms according to Issue 8763 This is the second attempt at implementation, with no ts_ and cy_ prefixes, since those will be implemented with macros. * Debouncing documentation: Refactor, add some generic info, and merge into a single document
2020-09-30Allow joysticks to be used without analog pins (#10169)Zach White
* Allow joysticks to be used without analog pins * change how analog/digital joysticks are specified
2020-09-30Define STM32_DMA_REQUIRED when using DMA-based WS2812 driver on STM32. (#10127)Nick Brassel
2020-09-30ARM backlight - timer implementation (#8291)Joel Challis
* Add GPT timer based backlight driver * Update to tim15 to avoid conflict with audio * Update quantum/backlight/backlight_timer.c
2020-09-30Hid joystick interface (#4226)a-chol
* add support for hid gamepad interface add documentation for HID joystick Add joystick_task to read analog axes values even when no key is pressed or release. update doc Update docs/feature_joystick.md Manage pin setup and read to maintain matrix scan after analog read * Incorporates patches and changes to HID reporting There are some patches provided by @a-chol incorporated on this commit, and also some changes I made to the HID Report structure. The most interesting is the one dealing with number of buttons: Linux doesn't seem to care, but Windows requires the HID structure to be byte aligned (that's in the spec). So if one declares 8/16/32... buttons they should not have any issues, but this is what happens when you have 9 buttons: ``` bits |0|1|2|3|4|5|6|7| |*|*|*|*|*|*|*|*| axis 0 (report size 8) |*|*|*|*|*|*|*|*| ... |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| axis 6 |*|*|*|*|*|*|*|*| first 8 buttons (report size 1) |*| | | | | | | | last of 9 buttons, not aligned ``` So for that I added a conditonal that will add a number of reports with size 1 to make sure it aligns to the next multiple of 8. Those reports send dummy inputs that don't do anything aside from aligning the data. Tested on Linux, Windows 10 and Street Fighter (where the joystick is recognized as direct-input) * Add save and restore of each pin used in reading joystick (AVR). Allow output pin to be JS_VIRTUAL_AXIS if the axis is connected to Vcc instead of an output pin from the MCU. Fix joystick report id Fix broken v-usb hid joystick interface. Make it more resilient to unusual settings (none multiple of eight button count, 0 buttons or 0 axes) Correct adc reading for multiple axes. Piecewise range conversion for uncentered raw value range. Input, output and ground pin configuration per axis. Documentation fixes * Fix port addressing for joystick analog read * The other required set of changes As per the PR, the changes still holding it up. Add onekey for testing. Fix ARM builds. Fix device descriptor when either axes or buttons is zero. Add compile-time check for at least one axis or button. Move definition to try to fix conflict. PR review comments. qmk cformat * avoid float functions to compute range mapping for axis adc reading * Remove V-USB support for now. Updated docs accordingly. * Update tmk_core/protocol/lufa/lufa.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/usb_descriptor.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/usb_descriptor.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/usb_descriptor.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Add support for joystick adc reading for stm32 MCUs. Fix joystick hid report sending for chibios * Fix HID joystick report sending for ChibiOS. Add one analog axis to the onekey:joystick keymap. Fix pin state save and restore during joystick analog read for STM32 MCUs. * Update tmk_core/protocol/chibios/usb_main.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/lufa/lufa.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Add missing mcuconf.h and halconf.h to onekey:joystick keymap. Add suggested fixes from PR. * Switch saveState and restoreState signature to use pin_t type. onekey:joystick : add a second axis, virtual and programmatically animated. * Update docs/feature_joystick.md Co-Authored-By: Ryan <fauxpark@gmail.com> * Update docs/feature_joystick.md Co-Authored-By: Ryan <fauxpark@gmail.com> * Add PR corrections * Remove halconf.h and mcuconf.h from onekey keymaps * Change ADC_PIN to A0 Co-authored-by: achol <allecooll@hotmail.com> Co-authored-by: José Júnior <jose.junior@gmail.com> Co-authored-by: a-chol <achol@notamail.com> Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Ryan <fauxpark@gmail.com>
2020-08-08Support IS31FL3741 and IS31FL3741A. (#9201)MelGeek
2020-06-12Add SPI 25xx EEPROM support. (#8780)Nick Brassel
2020-06-12Reorder logic within common_features.mk (#8517)Joel Challis
* Reorder logic within common_features.mk * Revert haptic logic * Add back path to make tests happy * Update common_features.mk Co-Authored-By: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2020-06-12Add Word Per Minute calculation feature (#8054)brickbots
* Add Word Per Minute calculation feature * Fix copyright info * Remove header from quantum.c, setup overloadable keycode inclusion for WPM, update docs * Simplify logic for keycode filtering * Adding link from summary to wpm_feature info * Update docs/feature_wpm.md Typo in function prototype example in docs Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Add WPM transport via i2c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-06-12Initial arm->chibios pass - simplify some platform logic (#8450)Joel Challis
2020-06-12Add support for STM32L0/L1 onboard EEPROM. (#8002)Nick Brassel
* Add support for STM32L0/L1 onboard EEPROM. * Update docs/eeprom_driver.md Co-Authored-By: Joel Challis <git@zvecr.com> Co-authored-by: Joel Challis <git@zvecr.com>
2020-06-12Backlight - Carve out a better location for private driver functionality (#8329)Joel Challis
* rename backlight_soft to match rules.mk * rename backlight_soft to match rules.mk - update common_features * Carve out a better location for private driver backlight functionality
2020-06-12Remove unused LED_BREATHING_TABLEzvecr
2020-06-122020 February 29 Breaking Changes Update (#8064)James Young
2020-02-26Relocate grave keycode processing (#8082)Joel Challis
* Relocate grave keycode processing * Tidy up code * Refactor grave -> grave_esc
2020-02-26Fix boards which were overriding backlight without setting custom (#7970) (#270)Drashna Jaelre
Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Florian Didron <fdidron@users.noreply.github.com>
2020-02-26Remove compilation of i2c for arm splitzvecr
2020-02-26Update split serial code to use driver pattern (#7990)Joel Challis
* Move avr serial code to drivers * Update src+= serial.c to driver pattern
2020-02-26Add additional fixes to EEPROM driver selection (#7274) (#266)Drashna Jaelre
* Add additional fixes to EEPROM driver selection (#7274) - uprintf -> dprintf - Fix atsam "vendor" eeprom. - Bump Kinetis K20x to 64 bytes, too. - Rollback Kinetis to 32 bytes as partitioning can only be done once. Add warning about changing the value. - Change RAM-backed "fake" EEPROM implementations to match eeconfig's current usage. - Add 24LC128 by request. * format code according to conventions [skip ci] Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: QMK Bot <hello@qmk.fm> Co-authored-by: Florian Didron <fdidron@users.noreply.github.com>
2020-02-26switching to you know whats up mode (#7921)Jeremy Bernhardt
2020-02-26Add ws2812 driver type define (#7888)Joel Challis
2020-02-26Relocate common backlight functionally (#7273)Joel Challis
2020-02-26Move some common matrix code to a common location (#7699)Joel Challis
* Move some common matrix code to a common location * Refactor some 'custom_matrix_helper' logic to use custom matrix lite * Fix build for kinesis/stapelberg - abuse of vpath was picking up matrix.c from core when custom matrix was enabled * Add validation for CUSTOM_MATRIX
2020-02-26Make Dynamic Keymaps optional for OryxDrashna Jael're
2020-02-26Limit number of layers due to eeprom size contstraintsDrashna Jael're
2020-02-26Implement core communicationDrashna Jael're
2020-02-26VIA configurator refactorWilba
2020-02-26Start moving code out of webusb and to Oryx featureDrashna Jael're
2020-02-26Apollo (#246)Florian Didron
* Add External EEPROM driver * Add keyboard * Fix i2c address * Revert i2c address for eeprom * Reduce page size for 24LC128 * Disable External EEPROM for now * Fix up RGB Matrix and layout * Cleanup moonlander.c file * Fix led array center * Disable External EEPROM for now * Cleanup and optimization of files * Add and clean up mappings * Enable "ZSA" defaults for Moonlander * Update matrix to use i2c_readReg * Disable render limit for rgb matrix * Update pin controls to GPIO Commands * Add proper changed mechanism * Additional cleanup * Run clang-format on moonlander files * Align keymap * Limit brightness for rgb matrix to 200 To prevent power draw issues * Add USB-IF VID/PID * Add RGB Matrix Sleep code * Enable External EEPROM on Moonlander * Port over Ergodox Expander error handling and retry code * Re-init RGB Matrix drivers when half is reconnected * Add threaded LED display * Correct layer state settings after moonlander_led_task * Update Moonlander to include Oryx configuration * Add webUSB Stuff * Update default keymap * fix: merge conflict Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-01-09Big keycode cleanup (#230)Drashna Jaelre
* clean up quantum.c (#7485) * idea * progress * more stuff * wip * wip * last couple of keycodes you can move safely * Update quantum/quantum.c Co-Authored-By: fauxpark <fauxpark@gmail.com> * Put back RGB_MODE_BREATHE * Compile out some keycode processing when features are disabled (#7506) * Add shift-to-invert to remaining directional RGB_* keycode pairs (#7484) * Add shift-to-invert to remaining directional RGB_* keycode pairs RGB_MODE_FORWARD / RGB_MODE_REVERSE invert their functions when shift is held. This change adds the same capabilities to the remaining directional RGB_* keycode pairs. This improves consistency and provides full RGB control in a keymap containing only one keycode from each pair. * remove redundant variable * fix typo * Fix more typos Flyspell is on now I swear! * Relocate magic keycode processing (#7512) * Move magic keycode processing to own file * Save some bytes * Update comments * Update define to one thats not already used... * Fix audio * Fix breathing toggle when rgb is disabled (#7550) * Ifdef MAGIC_EE_HANDS until #178 drops revert this commit once it does * Add short aliases for Magic keycodes (#7541) * Add short alias for `MAGIC_TOGGLE_NKRO` * Add aliases for the other Bootmagic keycodes * Replace long form in default keymaps * Fix FORCE_NKRO handling (#7601) * Add until #173 drops * Relocate RGB keycode processing (#7508) * Move rgb keycode logic to process_keycode * Fixes for rgb matrix * Fixes for mxss * Fix inc/dec logic, add comments * Fix return RAINBOW_SWIRL logic * stop external use of rgb helper functions * merge fix * Fix 'defined but not used' when all animations are disabled Co-authored-by: Yan-Fa Li <yanfali@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Co-authored-by: fauxpark <fauxpark@gmail.com> Co-authored-by: Florian Didron <fdidron@users.noreply.github.com>
2020-01-09[Core] Convert Dynamic Macro to a Core Feature (#5948) (#207)Drashna Jaelre
* Convert Dynamic Macro to a Core Feature This imports the code from Dynamic Macro into the core code, and handles it, as such. This deprecates the old method but does not remove it, for legacy support. This way, no existing user files need to be touched. Additionally, this reorganizes the documentation to better reflect the changes. Also, it adds user hooks to the feature so users can customize the existing functionality. Based heavily on and closes #2976 * Apply suggestions from code review Co-Authored-By: fauxpark <fauxpark@gmail.com> Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Cleanup based on feedback * Add short-form keycodes and document them - add short-form keycodes to quantum/quantum_keycodes.h - document the new aliases in docs/feature_dynamic_macros.md * Add Dynamic Macros section and keycodes to docs/keycodes.md * Make anti-nesting optional * Add documentation for DYNAMIC_MACRO_NO_NESTING option * Fix Merge artifacts * Fix formatting typo in docs Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Remove DYNAMIC_MACRO_RANGE as it's not needed * Fix includes and layer var type Co-authored-by: Florian Didron <fdidron@users.noreply.github.com>
2020-01-09Convert backlight to follow driver rules patternzvecr
2020-01-09Initial migration of software PWM backlight (#6709)Joel Challis
* Initial migration of software PWM backlight * First pass at backlight driver docs * Correct driver name in docs * Run backlight_task when using BACKLIGHT_PINS * Resolve backlight docs TODOs
2020-01-09Move tmk_core/common/backlight to quantum/backlight (#6710)Joel Challis
* Move tmk_core/common/backlight to quantum/backlight * Add guards to backlight inclusion * Add guards to backlight inclusion * Update backlight guards on clueboard/60 * Use full paths to avoid vpath issues
2020-01-09ARM - Initial backlight support (#6487)Joel Challis
* Move AVR backlight to own file, add borrowed ARM implementation * Tiny fix for backlight custom logic * Remove duplicate board from rebase * Fix f303 onekey example * clang-format * clang-format * Remove backlight keymap debug * Initial pass of ARM backlight docs * Initial pass of ARM backlight docs - resolve todos * fix rules validation logic * Add f072 warning * Add f072 warning * tidy up breathing in backlight keymap * tidy up breathing in backlight keymap * add missing break to backlight keymap
2019-12-06feat: adds pairing keyFlorian Didron
2019-11-04 Refactor ps2avrgb i2c ws2812 to core (#7183)Joel Challis
* Refactor ps2avrgb i2c ws2812 to core * Refactor jj40 to use ws2812 i2c driver * Refactor ps2avrgb template to use ws2812 i2c driver * Add ws2812 stub files * clang-format and driver config * Add ws2812 driver docs * Fix default config values * Update tmk_core/protocol/vusb/main.c Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-11-04Move tmk_core/common/backlight to quantum/backlight (#6710)Joel Challis
* Move tmk_core/common/backlight to quantum/backlight * Add guards to backlight inclusion * Add guards to backlight inclusion * Update backlight guards on clueboard/60 * Use full paths to avoid vpath issues
2019-09-26Add Dip Switch as a core feature (#6140)Drashna Jaelre
* Add Dip Switches as a core feature * Add documentation for Dip Switch feature * Update Preonic Rev3 to use new feature and remove custom matrix * Apply suggestions from code review Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Remove custom matrix line completely Rather than just disabling it Co-Authored-By: fauxpark <fauxpark@gmail.com> * DIP changes Co-Authored-By: fauxpark <fauxpark@gmail.com> * Use better check for DIP Switch configuration * Add to show features * Add bitmask callback for dip switch * Fix OLKB Boards dip switch config * Update docs to include bitmask example * Fix comments/documentation Co-Authored-By: fauxpark <fauxpark@gmail.com> * Fix issues with docs and use example from @tuzonghua * Fix wording Co-Authored-By: fauxpark <fauxpark@gmail.com> * Fix example to use proper formatting Bad, BAAAAAAD drashna!!! * Handle dip switch initialization better
2019-07-10Use QUANTUM_LIB_SRC for i2c_master.c inclusion (qmk#5617)Drashna Jaelre
2019-05-01rgblight 255 hue (#5547)XScorpion2
2019-04-30Merge pull request #33 from zsa/feature/per_level_matrix_effectsFlorian Didron
RGB Matrix: Custom effects on a kb/user level
2019-04-29RGB Matrix: Custom effects on a kb/user level (#5338)Daniel Prilik
* Revamped custom effects approach See docs for example usage * push-up RGB Matrix default mode Override default effect using RGB_MATRIX_STARTUP_MODE. Useful on boards without EEPROM support (*cough* Massdrop ALT/CTRL *cough*) * update docs
2019-04-29Simple extended space cadet (#5277)XScorpion2
* Simplifying and Extending Space Cadet to work on Ctrl and Alt keys * PR Review feedback * Reverting back to keycodes
2019-04-23Merge branch 'master' into feature/oled_driverFlorian Didron