summaryrefslogtreecommitdiffstats
path: root/quantum/split_common
Commit message (Collapse)AuthorAgeFilesLines
...
* | [Split] Sync Timer feature (#10997)XScorpion22020-12-011-1/+25
|/ | | A timer that is kept in sync between the halves of a split keyboard
* 2020 November 28 Breaking Changes Update (#11053)James Young2020-11-281-10/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Fix SPLIT_KEYBOARD compilation for ATMega*U2, which doesn't have VBUS/OTG ↵sol2020-10-021-1/+1
| | | | | control (#10460) Co-authored-by: s-ol <s-ol@users.noreply.github.com>
* add SPLIT_HAND_MATRIX_GRID support (#8685)Takeshi ISHII2020-07-041-0/+24
| | | Co-authored-by: Danny <nooges@users.noreply.github.com>
* Fixed slave-side keyboard half unresponsiveness (#9360)Adrian2020-06-101-1/+4
| | | | | | | | | | * Fixed slave-side keyboard half unresponsiveness due to how LUFA handles USB_Disable() * changes to formatting Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Joel Challis <git@zvecr.com>
* Move encoder_read to common location (#9003)Joel Challis2020-06-031-7/+1
|\
| * Move encoder_read to common locationzvecr2020-05-021-7/+1
| |
* | Fix build. (#9163)Nick Brassel2020-05-221-1/+1
| |
* | format code according to conventions [skip ci]QMK Bot2020-05-211-2/+2
| |
* | Slight speed increases for matrix scanning (#9150)Joel Challis2020-05-211-16/+25
| |
* | Use LUFA funcs for split_util (#8594)Joel Challis2020-05-211-21/+44
|/
* Run clang-format manually to fix recently changed files (#8552)Joel Challis2020-03-251-2/+2
|
* Add Word Per Minute calculation feature (#8054)brickbots2020-03-231-0/+27
| | | | | | | | | | | | | | | | | | | | | * 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>
* Split - Avoid race condition during matrix_init_quantum (#8235)Joel Challis2020-02-253-17/+19
| | | | | | * Avoid race condition during matrix_init_quantum * spelling is hard
* Allow 30us matrix delay to be keyboard/user overridable (#8216)Joel Challis2020-02-211-3/+2
| | | | | | | | * Allow 30us matrix delay to be configurable via define * Move wait logic to matrix_common * Move wait logic to matrix_common - fix wait includes
* Align split_common/matrix.c with matrix.c (#8153)Joel Challis2020-02-121-8/+11
|
* Reduce SPLIT_USB_TIMEOUT by 500ms (#7637)Joel Challis2020-02-041-4/+8
| | | | | | | | | | * Update SPLIT_USB_TIMEOUT -500ms * Align keyboard level SPLIT_USB_TIMEOUT defaults * Align keyboard level SPLIT_USB_TIMEOUT_POLL * Review fixes
* Update split serial code to use driver pattern (#7990)Joel Challis2020-01-242-570/+0
| | | | | | * Move avr serial code to drivers * Update src+= serial.c to driver pattern
* Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards (#7915)fauxpark2020-01-191-2/+8
| | | | | | | | | | * Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards * Define diode direction for failing boards * Matching parentheses * Put onekey diode directions in top level config
* Migrate more custom matrix 'lite' code to core (#7863)Joel Challis2020-01-151-8/+2
| | | | | | | | * Migrate more custom matrix lite code to core * Align function names * fix up MATRIX_MASKED
* Move some common matrix code to a common location (#7699)Joel Challis2020-01-042-92/+29
| | | | | | | | | | * 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
* Disable usb on slave half to resolve random 'lockup' (#7649)Joel Challis2019-12-161-1/+3
|
* Remove check for EH define (#7525)Danny2019-12-023-3/+3
| | | Its use in lets_split_eh was factored out in https://github.com/qmk/qmk_firmware/pull/6411
* Remove duplicate pro_micro.h (#7246)fauxpark2019-11-031-1/+0
|
* SPLIT - Remove NO_USB_STARTUP_CHECK requirement for usb detection (#7053)Joel Challis2019-10-171-0/+6
| | | | | | | | | | * Avoid NO_USB_STARTUP_CHECK - Disable USB as checks seem to enable it somehow * Update quantum/split_common/split_util.c Co-Authored-By: fauxpark <fauxpark@gmail.com> * Also remove NO_USB_STARTUP_CHECK from vitamins_included/rev1
* ARM split - detect USB to select master/slave (#6424)Joel Challis2019-10-113-9/+29
| | | | | | | | | | | | * Initial split refactor to allow usb master detection * Add split USB detect docs * Add SPLIT_USB_DETECT demo mode limitation * fix rebase issues * clang-format
* ARM split - Add bootmagic/magic keycodes for setting handedness (#6545)Joel Challis2019-09-241-2/+1
| | | | | | | | | | * Add docs on bootmagic/magic keycodes for setting handedness * Clang format fixes * Maintain backwards compatibility * Maintain backwards compatibility
* clang-format changesskullY2019-08-307-764/+716
|
* AVR GPIO macro defines more readable (#5937)Takeshi ISHII2019-08-211-18/+13
| | | | | | | | | | | | | | | | | | | | | | * A little easier to read the definition of the GPIO control macro for AVR. No change in build result. * Changed to not use GNU statement expression extension. No change in build result. * Modified split_common/serial.c to use qmk_firmware standard GPIO control macro. No change in build result. * fix PE6 -> E6 * remove some space * add some comment to config_common.h * Changed split_common/serial.c to use a newer version of qmk_firmware standard GPIO control macro.
* [Split] Add config option for DIRECT_PINS_RIGHT (#6479)Garrett Singer2019-08-031-0/+8
| | | Adds support for different direct pin mappings on the halves of a split keyboard.
* Fix MATRIX_X_PINS_RIGHT ARM compilation (#6395)Joel Challis2019-07-231-2/+2
|
* Merge pull request #6264 from zvecr/split_master_checkDanny2019-07-201-0/+1
|\ | | | | Allow board to override split keyboard master check
| * Small fix to allow board to override split keyboard master checkzvecr2019-07-051-0/+1
| |
* | Remove the need to specify NUM_OF_ENCODERS for the Encoder feature (#6328)Drashna Jaelre2019-07-161-0/+2
|/ | | | | | | | | | | | * Remove the need to set NUM_OF_ENCODERS Instead, calculate the size of the array, and use that instead * Add hack for split common support * Remove NUM_OF_ENCODERS from keyboard config Can be reverted, if needed
* Set default I2C clock speed to 100kHz for split_common (#6161)Danny2019-06-191-0/+4
| | | | | | | | * Set default I2C clock rate for split_common boards to 100kHz Default from I2C driver is 400kHz. * Update documentation for setting I2C clock speed
* Fix compilation error when I2C and encoder is enabled for split codeDanny Nguyen2019-06-021-1/+1
|
* [Split] fix split_common i2c backlight disabling (#3886)Rainer Clasen2019-05-071-3/+2
| | | | | | | slave backlight was always on - as get_backlight_level() doesn't indicate if the backlight is enabled or not. also updated the corosponding code for serial transport to stop peeking directly at 'internal' backlight_config structure.
* [Keyboard] Sol keyboard conversion to split common (#5773)XScorpion22019-05-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | * Split common conversion * Updated serial and encoder pins * Fixing default folder until r2 * Fixing oled driver on slave split common * Fixing keymap compile errors * Fixing oled inactivity timer on slave split common * Hoisted oled driver task, init, & activity to keyboard.c * Update keyboards/sol/config.h Co-Authored-By: XScorpion2 <rcalt2vt@gmail.com> * Remove TAPPING_FORCE_HOLD
* Change split_common to use RGBLIGHT_SPLIT (#5509)Takeshi ISHII2019-04-192-74/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add I2C_slave_buffer_t to quantum/split_common/transport.c Improvements to ease the maintenance of the I2C slave buffer layout. And this commit does not change the compilation results. * add temporary pdhelix(Patched Helix) code * temporary cherry-pick from #5020 add new version(#5020) quantum/rgblight.[ch], quantum/rgblight_modes.h * add post_config.h support to build_keyboard.mk * add quantum/rgblight_post_config.h, quantum/split_common/post_config.h Add quantum/rgblight_post_config.h and quantum/split_common/post_config.h using POST_CONFIG_H variable of build_keyboard.mk. quantum/rgblight_post_config.h additionally defines RGBLIGHT_SPLIT if RGBLED_SPIT is defined. quantum/split_common/post_config.h defines RGBLIGHT_SPLIT additionally when master-slave communication is I2C. * Change split_common's transport.c I2C to use the synchronization feature of rgblight.c * Change split_common's transport.c serial to use the synchronization feature of rgblight.c * test RGBLIGHT_SPLIT on keyboards/handwired/pdhelix * Test End Revert "test RGBLIGHT_SPLIT on keyboards/handwired/pdhelix" This reverts commit 80118a6bbd3d9fc4c7797fef0c34bc67aa73aa98. [x] make RGBLIGHT_TEST=1 handwired/pdhelix/i2c:default [x] make RGBLIGHT_TEST=2 handwired/pdhelix/i2c:default (same RGBLIGHT_TEST=3) [x] make RGBLIGHT_TEST=3 handwired/pdhelix/i2c:default [x] make RGBLIGHT_TEST=1 handwired/pdhelix/pd2:default [x] make RGBLIGHT_TEST=2 handwired/pdhelix/pd2:default [x] make RGBLIGHT_TEST=3 handwired/pdhelix/pd2:default [x] make RGBLIGHT_TEST=1 handwired/pdhelix/pd2_2oled:default [x] make RGBLIGHT_TEST=2 handwired/pdhelix/pd2_2oled:default [x] make RGBLIGHT_TEST=3 handwired/pdhelix/pd2_2oled:default * Test End, Revert "temporary cherry-pick from #5020" This reverts commit d35069f68bda0c50370442a5c7aae60c2f4ce5c0. * Test End, Revert "add temporary pdhelix(Patched Helix) code" This reverts commit aebddfc1a879796afae297ef0723a4fe73af3660. * temporarily cherry-pick from #5020 to see if it passes the travis-ci test. add new version(#5020) quantum/rgblight.[ch], quantum/rgblight_modes.h * Passed the travis-ci test. Revert "temporarily cherry-pick from #5020 to see if it passes the travis-ci test." This reverts commit 647c0a9755eb6a05f76d09b2d59bce67b85a841f. * update docs/config_options.md * update split_common/transport.c, improves maintainability of serial transaction IDs. No change in build result. * temporary cherry-pick from #5020 * fix build fail keebio/iris/rev3:default * fix build fail lets_split_eh/eh:default * Revert "temporary cherry-pick from #5020" This reverts commit be48ca1b4515366a097af8dd1cd7b28b7ee09947. * temporary cherry-pick from #5020 (0.6.336) * Revert "temporary cherry-pick from #5020 (0.6.336)" This reverts commit 978d26a8b3cf0acc485838a7d76d6128b77c630c. * temporary cherry-pick from #5020 (0.6.336)
* Added encoder support to split common code (#5477)XScorpion22019-04-032-14/+70
| | | | | | | | * Added slave encoder support to split common * Fixing handwired/xealous/rev1 compile error * Removed unnecessary ifdef
* Add support for RGB LEDs wired directly to each half's controller (#5392)Danny2019-03-232-19/+36
| | | | | | | | | | | | | | | | * Add support for wiring RGB LEDs for both halves directly to their respective controllers RGB LEDs for each half don't need to be chained together across the TRRS cable with this * Add split RGB LED support for serial * Update config/rules for bakingpy layout * Un-nest ifdefs for hand detection * Read RGB config state from memory instead of EEPROM for serial updates * Reuse existing LED pointer instead of creating new one
* Fix i2c splits with >8 columns (#5454)James Churchill2019-03-201-3/+3
|
* rgblight split transfer non-eeprom config (#5396)Len Trigg2019-03-151-5/+7
| | | | | | | | | | | * Make rgblight_update_dword not update eeprom (we already have eeconfig_update_rgblight for that). Make split i2c keyboards transfer active rgblight config rather than eeprom saved version of rgblight config, enabling runtime changes that aren't persisted to eeprom. * prev_level and prev_rgb only store successfully transmitted values
* Next set of split_common changes (#4974)James Churchill2019-03-127-420/+85
| | | | | | | | | | | | | | | | * Update split_common to use standard i2c drivers * Eliminate RGB_DIRTY/BACKLIT_DIRTY * Fix avr i2c_master error handling * Fix i2c_slave addressing * Remove unneeded timeout on i2c_stop() * Fix RGB I2C transfers * Remove incorrect comment
* Fix `quantum/split_common/matrix.c: select_col()/select_row()` (#5174)Takeshi ISHII2019-02-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | * add temporary pdhelix(Patched Helix) code * add test code into quantum/split_common/matrix.c * add test code into keyboards/handwired/pdhelix/ * Revert "add test code into keyboards/handwired/pdhelix/" This reverts commit 9ed98f0797ddd962c99756689fc4ecb4cd067d3d. * Revert "add test code into quantum/split_common/matrix.c" This reverts commit 1876d3ed69f6c213153a9f6476192be839f16c1f. * Revert "add temporary pdhelix(Patched Helix) code" This reverts commit 41ac92b814e3f894eaf85bc3e5bb945895342fa8. * fix quantum/split_common/matrix.c: select_col()/select_row()
* Simplify split_common Code significantly (#4772)James Churchill2019-01-179-595/+494
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Eliminate separate slave loop Both master and slave run the standard keyboard_task main loop now. * Refactor i2c/serial specific code Simplify some of the preprocessor mess by using common function names. * Fix missing #endif * Move direct pin mapping support from miniaxe to split_common For boards with more pins than sense--sorry, switches. * Reordering and reformatting only * Don't run matrix_scan_quantum on slave side * Clean up the offset/slaveOffset calculations * Cut undebounced matrix size in half * Refactor debouncing * Minor fixups * Split split_common transport and debounce code into their own files Can now be replaced with custom versions per keyboard using CUSTOM_TRANSPORT = yes and CUSTOM_DEBOUNCE = yes * Refactor debounce for non-split keyboards too * Update handwired/xealous to build using new split_common * Fix debounce breaking basic test * Dodgy method to allow a split kb to only include one of i2c/serial SPLIT_TRANSPORT = serial or SPLIT_TRANSPORT = i2c will include only that driver code in the binary. SPLIT_TRANSPORT = custom (or anything else) will include neither, the keyboard must supply it's own code if SPLIT_TRANSPORT is not defined then the original behaviour (include both avr i2c and serial code) is maintained. This could be better but it would require explicitly updating all the existing split keyboards. * Enable LTO to get lets_split/sockets under the line * Add docs for SPLIT_TRANSPORT, CUSTOM_MATRIX, CUSTOM_DEBOUNCE * Remove avr-specific sei() from split matrix_setup Not needed now that slave doesn't have a separate main loop. Both sides (on avr) call sei() in lufa's main() after exiting keyboard_setup(). * Fix QUANTUM_LIB_SRC references and simplify SPLIT_TRANSPORT. * Add comments and fix formatting.
* Add explicit eeprom include in split_commonJames Churchill2019-01-031-0/+4
| | | | Fixes builds that set EE_HANDS.
* Convert split_common to use generic GPIO apiJames Churchill2019-01-032-53/+22
|
* Fix Split Common Split_util.c typoDrashna Jaelre2018-12-281-1/+1
|
* Update split keyboard docs (#4735)Danny2018-12-282-3/+2
| | | | | | * Remove unused I2C_MASTER_RIGHT setting * Update documentation about split keyboard options