summaryrefslogtreecommitdiff
path: root/quantum
AgeCommit message (Collapse)Author
2021-10-18[Core] Add support for RISC-V builds and GD32VF103 MCU (#12508)Stefan Kerkmann
* 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
2021-10-16Further tidy up of STM32 eeprom emulation (#14591)Joel Challis
2021-10-10Fix misplaced endif in led_matrix_drivers.c (#14785)Ryan
2021-10-10Clean up LED/RGB Matrix driver config (#14760)Ryan
2021-10-09Remove QWIIC_DRIVERS (#14174)Joel Challis
2021-10-08Put back eeconfig_update_ functions (#14751)Joel Challis
2021-10-07Move converter specific tmk_core protocols (#14743)Joel Challis
2021-10-07Correct the Turkish F '?' keycode (TR_QUES) (#14740)precondition
define TR_QUES S(TR_ASTR) // ? → define TR_QUES S(TR_SLSH) // ?
2021-10-07Remove SERIAL_LINK feature (#14727)Joel Challis
* 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>
2021-10-07Reuse of EEPROM debounce logic (#14699)Joel Challis
* reuse rgb debounce logic * Refactor led matrix * Remove log line * timeout should not be hard coded
2021-10-07Purge uGFX. (#14720)Nick Brassel
* Purge uGFX. * Remove remnants of visualizer. * Remove remnants of uGFX.
2021-10-06Remove sysex API (#14723)Ryan
2021-10-06Move Audio drivers from quantum to platform drivers folder (#14308)Drashna Jaelre
* 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>
2021-10-06Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-10-05[Bug] Fix command feature if mousekey is enabled and using 3-speed setting ↵Drashna Jaelre
(#14697)
2021-10-03Add LM() keys to the list of keys disabled by NO_HAPTIC_MOD (#14181)Purdea Andrei
2021-09-30Change `MK66F18` -> `MK66FX1M0` (#14659)Ryan
2021-09-30Added power tracking api (#12691)Purdea Andrei
* 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>
2021-09-29Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-09-29[Core] Fix "6kro enable" and clarify naming (#14563)Drashna Jaelre
* Fix USB_6KRO_ENABLE compilation errors * Add info to docs * Rename define to be more accurate * Remove unused rule * Refixe docs
2021-09-25Remove GCC version check from song list inclusion (#14600)Drashna Jaelre
2021-09-25Initial pass of F405 support (#14584)Joel Challis
* Initial pass of F405 support * remove some conf files * docs * clang
2021-09-21Add ability to use numpad digits for unicode mode UC_WIN (#14496)Marcus van Houdt
Co-authored-by: Konstantin Đorđević <vomindoraan@gmail.com>
2021-09-18Improvements to handling of disconnected split keyboards. (#14033)Joakim Tufvegren
* Use memcmp and memcpy to compare and copy slave matrix. ...and memset to initialize `matrix` and `raw_matrix`. Increased my scan rate (while connected) by ~100 (on Ergodox Infinity). Effect on AVR is unknown. Co-authored-by: Stefan Kerkmann <karlk90@pm.me> * Fix `matrix_post_scan` signalling change on every scan while disconnected. * Undo removal of initialization of `slave_matrix`. This has the effect of increasing my Ergodox Infinity firmware size by 8 bytes instead of decreasing by 8 bytes, and lowers the scan rate while connected back to the initial value before these changes, but _might_ solve some issues on AVR. Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2021-09-15Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-09-15[Bug] Fix IS31fl3741 driver to accept 1 or 2 addresses (#14451)Drashna Jaelre
Co-authored-by: Joel Challis <git@zvecr.com>
2021-09-15Add Support for USB programmable buttons (#12950)Thomas Weißschuh
2021-09-15Migrate STM32_EEPROM_ENABLE to use EEPROM_DRIVER (#14433)Joel Challis
2021-09-15fix typo in backlight code from #14439 (#14442)Drashna Jaelre
2021-09-15Refactor use of _STM32_ defines (#14439)Joel Challis
2021-09-12Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-09-13Apply `TAP_CODE_DELAY` to Tap Dance key sequences (#14412)Drashna Jaelre
* Add support to tap dances * Move default tap code defines to header file
2021-09-09Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-09-08`ST7565_TIMEOUT 0` and `ST7565_DISABLE_TIMEOUT` should behave the same (#14315)JayceFayne
2021-09-08`OLED TIMEOUT 0` and `OLED_DISABLE_TIMEOUT` should behave the same (#14302)JayceFayne
2021-08-30Move feature suspend logic out of platform specific code (#14210)Drashna Jaelre
2021-08-30[Bug] Fix build error when enabling NO_HAPTIC_MOD (#14178)Purdea Andrei
Without this build would fail, if a keyboard had haptic feedback enabled, TAPPING_TOGGLE was not overridden in a config.h, and if NO_HAPTIC_MOD was defined in config.h.
2021-08-25Revert 14083 && 14144 (#14150)Joel Challis
* Revert "Short term bodge for firmware size bloat (#14144)" This reverts commit a8d65473461c337fb1e168d907bfb8c3ac8fdbd0. * Revert "Tidy up quantum.c now some of tmk_core has been merged (#14083)" This reverts commit c4dbf4bf0118dd785802861beb247433b5b7411d.
2021-08-24Align some quantum sub-directories (#14134)Joel Challis
* Misc folder tidy * Review comments * Remove redundant entry
2021-08-24Short term bodge for firmware size bloat (#14144)Joel Challis
2021-08-24Tidy up quantum.c now some of tmk_core has been merged (#14083)Joel Challis
2021-08-24[Core] Refactor OLED to allow easy addition of other types (#13454)Xelus22
* 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>
2021-08-23eeprom_stm32: implement high density wear leveling (#12567)Donald Kjer
* eeprom_stm32: implement wear leveling Update EECONFIG_MAGIC_NUMBER eeprom_stm32: check emulated eeprom size is large enough * eeprom_stm32: Increasing simulated EEPROM density on stm32 * Adding utility script to decode emulated eeprom * Adding unit tests * Applying qmk cformat changes * cleaned up flash mocking * Fix for stm32eeprom_parser.py checking via signature with wrong base * Fix for nk65 keyboard Co-authored-by: Ilya Zhuravlev <whatever@xyz.is> Co-authored-by: zvecr <git@zvecr.com>
2021-08-23Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-08-24Fix US_RDQU keycode (#13464)Olli Helenius
`US_RDQU` and `US_LDQU` were aliased to the same keycode. `US_RDQU` should use the right bracket.
2021-08-24adding uf2 flash support for blackpill 401 (#13968)Path Nirvana
* adding uf2 flash support for blackpill 401 * forgot to add blackpill to keyboard header file * making changes requested by drashna * fixing tzarc s comments * removing the keyboard * undo the change to dactyl_manuform.h
2021-08-22Make solo half of split keyboards (more) usable. (#13523)Joakim Tufvegren
* Make solo half of split keyboards (more) usable. Using only one half of a split keyboard (that's using the split_common framework to communicate) is not a great experience, since several read timeouts per scan cycle cause an unusably slow scan rate. This change blocks all split communication attempts for 500 ms (configurable) after an error occurs, causing the scan rate to become at least _more_ usable, but might need some tweaking to work fully on most keyboards. One read timeout still needs to occur after the 500 ms has passed, and if that timeout isn't low enough, some scan cycles may still be too slow. * Fix lint complaint. * Require 25 consecutive comm errors to see comms as disconnected. The number of max errors can be overridden by defining `SPLIT_MAX_CONNECTION_ERRORS`. * Add comments to new defines, and ability to disable disconnection check. Also increase `SPLIT_MAX_CONNECTION_ERRORS` to 40, since it's divisible by most relevant numbers for the description. * Make lint happy ...again * Only update `connection_check_timer` when needed. * Add new defines to split keyboard documentation. * Move connection timeout logic to transport.c, add `is_transport_connected`. * Use split_common disconnection logic in matrix.c. Instead of doing more or less the same thing twice. * Move disconnection logic to `transport_master`. Is a cleaner implementation, and causes the scan rate while disconnected to increase instead of decrease. * Lint fixes. * Lower default `SERIAL_USART_TIMEOUT` to 20 ms. The read timeout must be low enough to not cause exessively long scan cycles when using a solo split half. 10 ms was determined from testing to work fine even with the slowest defined baudrate of 19200 (5 ms was too low for that case), so 20 ms should be fine for most cases. * Remove `SERIAL_USART_TIMEOUT` from ergodox_infinity/config.h Was somewhat mistakenly included in an earlier PR. * Fix building with `USE_I2C`. * Reduce built firmware size. Not really sure why this works, the idea was taken from tzarc's work on split disconnection. * Tweak and improve opt-out for split disconnection logic. There are now two ways to opt out from this feature: * Set `SPLIT_MAX_CONNECTION_ERRORS` to 0. This will completely disable the connection status checks (also affects the slave matrix reset logic in matrix.c, though). * Set `SPLIT_CONNECTION_CHECK_TIMEOUT` to 0. This will only disable the communication throttling while disconnected. Will make the firmware smaller. * Make split disconnection logic work with custom transports. Includes a fallback implementation for keyboards using a custom split_util.c but not a custom matrix.c (currently no such keyboard seems to be merged, though). * Remove unnecessary include of timer.h Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-20Fix issues with VIA EEPROM init and bring in line with eeconfig ↵Drashna Jaelre
functionality (#13243) Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-20Fix LED Matrix suspend code (#14090)Ryan
2021-08-20[Bug] Fix RGB/LED Matrix Suspend code (#14084)Drashna Jaelre