keychron_qmk_firmware/drivers/chibios
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
..
analog.c 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
analog.h Initial arm->chibios pass - simplify some platform logic (#8450) 2020-03-21 16:20:04 +11:00
i2c_master.c 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
i2c_master.h Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
serial_usart_duplex.c 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
serial_usart.c Extensible split data sync (#11930) 2021-06-18 09:10:06 +10:00
serial_usart.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
serial.c Extensible split data sync (#11930) 2021-06-18 09:10:06 +10:00
spi_master.c spi_master Kinetis support (#13098) 2021-06-08 19:54:33 +10:00
spi_master.h spi_master Kinetis support (#13098) 2021-06-08 19:54:33 +10:00
uart.c Format code according to conventions (#11905) 2021-02-15 06:55:43 +11:00
uart.h UART driver refactor (#11637) 2021-01-27 17:42:49 +11:00
usbpd_stm32g4.c Format code according to conventions (#11907) 2021-02-15 11:53:15 +11:00
ws2812_pwm.c 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
ws2812_spi.c Fix up WS2812 SPI driver on F072. (#13022) 2021-06-03 09:48:16 +10:00
ws2812.c Add BGR byte order for WS2812 drivers (#11562) 2021-01-16 08:42:30 +11:00