summaryrefslogtreecommitdiffstats
path: root/drivers/avr/i2c_slave.c
Commit message (Collapse)AuthorAgeFilesLines
* Extensible split data sync (#11930)Nick Brassel2021-06-181-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Fix capitalisation of "GitHub" (#9184)Ryan2020-05-251-1/+1
|
* clang-format changesskullY2019-08-301-9/+9
|
* Add GPL3 header to avr i2c files (#6332)Drashna Jaelre2019-07-151-1/+16
| | | | | | | | * Add GPL3 header to avr i2c files * Add for i2c_slave as well * Fix formatting of license header
* Next set of split_common changes (#4974)James Churchill2019-03-121-1/+1
| | | | | | | | | | | | | | | | * 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
* Rename i2c_slave functions so it can coexist with i2c_master (#4875)James Churchill2019-01-221-11/+14
| | | Also merges tx/rx buffers, as only one is necessary.
* DC01 keyboard addition (#3428)yiancar2018-07-181-83/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * DC01 initial commit - Addition of directories - Left readme * Initial commit of left half * Initial files for right half * arrow * i2c adjustments * I2C slave and DC01 refractoring - Cleaned up state machine of I2C slave driver - Modified DC01 left to use already pressent I2C master driver - Modified DC01 matrixes * Fixed tabs to spaces * Addition of Numpad * Add keymaps - Orthopad keymap for numpad module - Numpad keymap for numpad module - ISO, ANSI and HHKB version of keymap for right module * Minor matrix.c fixes * Update Readmes
* Add I2C slave libraryyiancar2018-07-151-0/+100
- Add I2C slave library for general use.