qmk_firmware/quantum
Nick Brassel 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
..
api Move `API_SYSEX_MAX_SIZE` out of `config_common.h` (#12302) 2021-03-25 22:30:42 +11:00
audio Keyboard: Planck THK (#12597) 2021-05-26 20:49:30 +02:00
backlight 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
bootmagic 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
debounce Add asym_eager_defer_pk debounce type (#12689) 2021-06-16 14:00:37 +10:00
keymap_extras Merge remote-tracking branch 'origin/master' into develop 2021-01-13 04:53:32 +00:00
led_matrix_animations 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
led_matrix_runners 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
process_keycode 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
rgb_matrix_animations Limit saturation for RGB_MATRIX_JELLYBEAN_RAINDROPS (#12669) 2021-06-16 14:04:21 +10:00
rgb_matrix_runners
sequencer
serial_link Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
split_common Extensible split data sync (#11930) 2021-06-18 09:10:06 +10:00
template
tools
visualizer Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
api.c
api.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
bitwise.c Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
bitwise.h Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
color.c
color.h Add BGR byte order for WS2812 drivers (#11562) 2021-01-16 08:42:30 +11:00
command.c Merge remote-tracking branch 'origin/master' into develop 2021-02-07 23:16:47 +00:00
command.h Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
config_common.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
crc.c Add CRC8 calculation subsystem to quantum (#12641) 2021-06-18 00:09:43 +01:00
crc.h Add CRC8 calculation subsystem to quantum (#12641) 2021-06-18 00:09:43 +01:00
debounce.h Avoid 8-bit timer overflows in debounce algorithms (#12240) 2021-06-09 17:23:21 +10:00
dip_switch.c
dip_switch.h
dynamic_keymap.c Improve EEPROM defaults for Dynamic Keymaps (#12853) 2021-05-10 15:37:36 -07:00
dynamic_keymap.h
dynamic_macro.h
encoder.c 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
encoder.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
joystick.c
joystick.h
keycode_config.c
keycode_config.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
keymap.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
keymap_common.c
led.c Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
led.h Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
led_matrix.c Fix RGB/LED Suspend defines (#13146) 2021-06-09 22:59:19 -07:00
led_matrix.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
led_matrix_drivers.c 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
led_matrix_types.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
led_tables.c
led_tables.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
matrix.c Use single memcmp to determine if matrix changed. (#13064) 2021-06-09 17:19:42 +10:00
matrix.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
matrix_common.c Remove legacy print backward compatiblitly (#11805) 2021-02-06 16:56:13 +00:00
mcu_selection.mk 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
mousekey.c Fix Kinetic speed condition (#12139) 2021-03-25 23:11:16 +11:00
mousekey.h Migrate mousekey to quantum (#11804) 2021-02-07 13:56:08 +00:00
pointing_device.c Manually run formatting job (#11797) 2021-02-05 13:27:24 +00:00
pointing_device.h Improve Pointing Device report sending (#11064) 2021-02-03 17:25:05 -08:00
quantum.c 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
quantum.h Add ST7565 LCD driver (#13089) 2021-06-10 17:16:09 +10:00
quantum_keycodes.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
rgb.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
rgb_matrix.c Fix RGB/LED Suspend defines (#13146) 2021-06-09 22:59:19 -07:00
rgb_matrix.h GMMK Pro RGB Support (#13147) 2021-06-10 11:40:25 +10:00
rgb_matrix_drivers.c GMMK Pro RGB Support (#13147) 2021-06-10 11:40:25 +10:00
rgb_matrix_types.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
rgblight.c 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
rgblight.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
rgblight_breathe_table.h CLI-ify rgblight_breathing_table_calc.c (#11174) 2020-12-16 14:24:42 +11:00
rgblight_list.h
rgblight_modes.h
rgblight_post_config.h
ring_buffer.h Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
send_string.c Remove hex_to_keycode and move tap_random_base64 to send_string.c (#12079) 2021-03-12 18:03:44 +11:00
send_string.h Remove hex_to_keycode and move tap_random_base64 to send_string.c (#12079) 2021-03-12 18:03:44 +11:00
send_string_keycodes.h Workaround for recent changes to mouse keycodes (#12367) 2021-03-24 19:38:35 +00:00
util.h Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
variable_trace.c
variable_trace.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
velocikey.c
velocikey.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
via.c Fix keycode mappings for via and ensure they don't change within protocol (#12130) 2021-03-15 12:19:01 +11:00
via.h
via_ensure_keycode.h Fix keycode mappings for via and ensure they don't change within protocol (#12130) 2021-03-15 12:19:01 +11:00
wpm.c 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
wpm.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00