Commit Graph

2345 Commits

Author SHA1 Message Date
5f4aa29c0d vial/tap-dance: initial implementation 2021-07-17 23:46:10 -04:00
9ae8b1bc27 qmk_settings: remove debounce, tap-hold 2021-07-17 23:46:10 -04:00
d0747a6904 qmk_settings: wrap mouse keys 2021-07-17 23:46:10 -04:00
2f37c69ac9 qmk_settings: wrap one shot keys 2021-07-17 23:46:10 -04:00
e692dee6c7 qmk_settings: wrap auto shift 2021-07-17 23:46:10 -04:00
2848a74f62 qmk_settings: retrieve supported settings 2021-07-17 23:46:10 -04:00
2affa3ac05 vial: add qmk settings reset command 2021-07-17 23:46:10 -04:00
6b0df5146f qmk_settings: implement setting persistence 2021-07-17 23:46:10 -04:00
b34258dbd6 qmk_settings: update with test settings 2021-07-17 23:46:10 -04:00
8dc2d07288 qmk_settings: initial prototype 2021-07-17 23:46:10 -04:00
c0cd1bfc6c vial: bump protocol version 2021-07-17 23:46:10 -04:00
777fffb067 Revert "Add rgblight to RGB Matrix VPATH" (#13559) 2021-07-17 13:39:52 +10:00
d1295ffe9a Merge remote-tracking branch 'origin/master' into develop 2021-07-17 03:13:57 +00:00
d26537acc1 remove RGBLIGHT_H_DUMMY_DEFINE macro from rgblight.h (#13569) 2021-07-17 12:13:16 +09:00
332a5aa7cb Move SENDSTRING_BELL code to send_string.h (#13566) 2021-07-16 09:40:20 -07:00
10d7eca5af Fix LED Hit Counter for LED/RGB Matrix (#12674) 2021-07-16 09:37:18 -07:00
f0198ad15e Merge remote-tracking branch 'origin/master' into develop 2021-07-16 03:55:56 +00:00
5fda0e2c04 remove #include "rgblight.h" when defined(RGB_MATRIX_ENABLE) from quantum.h (#13555) 2021-07-16 12:54:56 +09:00
70267b35c3 Dual RGB Matrix IS31FL3737 driver support to address #13442 (#13457)
* initial commit

* removed changes to write_pwm_buffer

* backward compatbility added

* fixed issue with backward compatibility

* documentation update

* removed unneccessary comment. branched from master

* updated per comments #13457

* removed blank line

* cformat on diff files
2021-07-15 22:52:05 +01:00
52cfc9259b [Feature] Key Overrides (#11422) 2021-07-13 10:13:51 -07:00
ac2e6e01f1 Change the prototype of matrix_output_unselect_delay() (#13045)
The prototype of matrix_output_unselect_delay() has been changed as follows.

```c
void matrix_output_unselect_delay(uint8_t line, bool key_pressed);
```

Currently, no keyboard seems to be redefining `matrix_output_unselect_delay()`, so there is no change in the system behavior.

With this change, the keyboard level code can get some optimization hints, for example, the following.

```c
 void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {
     /* If none of the keys are pressed,
      *  there is no need to wait for time for the next line. */
     if (key_pressed) {
 #ifdef MATRIX_IO_DELAY
 #  if MATRIX_IO_DELAY > 0
         wait_us(MATRIX_IO_DELAY);
 #  endif
 #else
         wait_us(30);
 #endif
     }
}
```
2021-07-13 16:50:25 +09:00
4706231831 Fix two out of bounds accesses from #13330. (#13525)
Two occurrences of `MATRIX_ROWS` weren't properly changed to
`ROWS_PER_HAND` in #13330, causing a crash during boot on at least my
Ergodox Infinity (including #13481).
2021-07-12 08:43:05 -07:00
ccc0b23a75 Unify matrix for split common and regular matrix (#13330) 2021-07-11 14:31:35 -07:00
50d4dfd2e6 keymap_extras: Remove deprecated defines (#12949) 2021-07-06 09:05:11 +10:00
550d9253b0 Allow invert of SPLIT_HAND_PIN logic (#13433)
* added support for inverting the hand pin for split keyboards

* Added docs about SPLIT_HAND_LOW_IS_LEFT

* Update docs/feature_split_keyboard.md

bring #define for split hand pin low for left half name in line with grid pin define

Co-authored-by: Joel Challis <git@zvecr.com>

* Update quantum/split_common/split_util.c

update split hand pin low is left name to match split hand grid define

Co-authored-by: Joel Challis <git@zvecr.com>

Co-authored-by: Joel Challis <git@zvecr.com>
2021-07-05 09:06:40 +10:00
b5c361542e mousekey: expose current report to users (#13069) 2021-07-03 00:50:47 -07:00
3ab805fc67 Add support for NO_PIN to all matrix types (#12238)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-07-03 00:20:11 -07:00
8da8aabbe5 Improve layer mask handling (#13065) 2021-07-03 00:19:52 -07:00
04bc74d8f5 Switch split_common to CRC subsystem (#13418) 2021-07-02 22:28:32 +01:00
0bde920817 Convert Dip Switch callbacks to boolean functions (#13399) 2021-07-01 08:22:21 -07:00
8b2e5d622c Merge remote-tracking branch 'origin/master' into develop 2021-07-01 06:42:24 +00:00
dc3896e31c Cleanup junk chars, part 4 (#13345) 2021-07-01 16:41:51 +10:00
8bb231aa1c Adds support for STM32L412xB, STM32L422xB. (#13383)
* Adds support for STM32L412xB, STM32L422xB.

* Add to list of supported MCUs.

* Disable SPI1 by default.
2021-06-30 10:07:40 +10:00
653082235a Relocate RGB/HSV color defs to a more fitting place (#13377) 2021-06-29 19:15:58 +01:00
cb23fe9fc1 Move RGBLight code into its own folder (#13312) 2021-06-28 15:15:24 +10:00
c1596da81c vial: update vial encoder signature to match qmk 2021-06-26 16:22:02 -04:00
a89c941828 Merge remote-tracking branch 'qmk/master' into vial 2021-06-26 16:11:57 -04:00
38d979189b Merge remote-tracking branch 'origin/master' into develop 2021-06-23 09:45:48 +00:00
a913db63aa Fix zero condition of reactive runners that will suspend RGB animation (#12710)
* Avoid zero or overflow from user's rgb_matrix_config.speed

* Avoid zero tick for reactive splash.

* Avoid zero time for animation runner.

Co-authored-by: filterpaper <filterpaper@localhost>
2021-06-23 19:45:05 +10:00
791363a680 Remove rgblight stubs (#13302) 2021-06-23 10:16:41 +10:00
d61e5c0027 Move LED/RGB Matrix code into their own directories (#13257) 2021-06-22 18:26:23 +10:00
0e3ae2cde0 Skip EEPROM writes once done. (#13293) 2021-06-22 09:37:28 +10:00
e4a2cfd853 Remove dfu-util arguments from mcu_selection (#13150) 2021-06-21 19:56:55 +10:00
8d9f527081 Add sync_timer support over serial_link (i.e. Ergodox Infinity) (#12845) 2021-06-19 19:18:00 -07:00
fc749b40e6 Merge remote-tracking branch 'origin/master' into develop 2021-06-20 02:14:49 +00:00
7e832e46de Add Mac centric Shift and Alt + GUI Macros (#13107)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-06-19 19:14:19 -07:00
5b7cf9fdc8 RGB Matrix eeprom write limiting (#13238) 2021-06-19 19:03:06 -07:00
172e6a7030 Extensible split data sync (#11930)
* 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.
2021-06-18 09:10:06 +10:00
ef92c9ee2c Add CRC8 calculation subsystem to quantum (#12641)
* 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.
2021-06-18 00:09:43 +01:00
ff61df103e Limit saturation for RGB_MATRIX_JELLYBEAN_RAINDROPS (#12669)
* Set saturation limit to jellybean_raindrops_anim.h

* Use faster bit-shift maths and qadd8

* Remove extra parenthesis

* Single bitmask operation is sufficient.

Co-authored-by: filterpaper <filterpaper@localhost>
2021-06-16 14:04:21 +10:00