summaryrefslogtreecommitdiffstats
path: root/drivers/avr/i2c_master.c
Commit message (Collapse)AuthorAgeFilesLines
* Extensible split data sync (#11930)Nick Brassel2021-06-181-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | * 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
|
* Removed prescaler define from avr i2c, as it was impossible to use (#6617)Mikkel Jeppesen2019-08-301-2/+2
|
* clang-format changesskullY2019-08-301-130/+130
|
* Add GPL3 header to avr i2c files (#6332)Drashna Jaelre2019-07-151-0/+15
| | | | | | | | * Add GPL3 header to avr i2c files * Add for i2c_slave as well * Fix formatting of license header
* OLED Driver FeatureRyan Caltabiano2019-04-201-2/+2
|
* i2c_init update to work with atmega32a boards (#5562)MechMerlin2019-04-061-0/+12
| | | | | | | * On i2c_init, enable two wire interface, twi interrupt, and slave address ACK along with pull up resistors. * thanks to some testing by drashna, we know that setting TWI doesn't work for all boards. Putting the new code into an ifdef block
* Fix return value of i2c_readReg and i2c_receive (#5410)zvecr2019-03-151-2/+2
|
* Next set of split_common changes (#4974)James Churchill2019-03-121-93/+67
| | | | | | | | | | | | | | | | * 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
* Adds support for JacoBurge's TouchPad (#4186)Jack Humbert2019-01-101-1/+4
| | | | | | | | | | | | | | | | * add touchpad * progress * working with leds and vibrations * adds readme * Update keyboards/touchpad/readme.md Co-Authored-By: jackhumbert <jack.humb@gmail.com> * updates
* DC01 updates and I2C avr speed overwrite (#4088)yiancar2018-10-081-0/+2
| | | | | | | | | * DC01 updates and I2C avr speed overwrite - General updating of DC01 - Made F_SCL define in AVR I2C driver overwritable from config.h * Update drivers/avr/i2c_master.c
* DC01 keyboard addition (#3428)yiancar2018-07-181-55/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* remove comment codeJack Humbert2018-06-231-1/+0
|
* adds immediate i2c return, fixes ez matrix codeJack Humbert2018-06-231-6/+6
|
* refactor, non-workingJack Humbert2018-06-221-51/+82
|
* start updating i2c for timeoutsJack Humbert2018-06-201-66/+36
|
* adds timeout to avr i2cJack Humbert2018-06-121-12/+77
|
* revert some attempts, update i2cJack Humbert2018-06-121-1/+1
|
* i2c fixJack Humbert2018-05-151-19/+23
|
* Rgb matrix fixes, I2C library can now retry if it has failed (#2943)yiancar2018-05-141-0/+149
* Added Modular keyboards L,R and NUM Created code modules for the 3 modules of the modular keyboard. Original idea by MechboardsUK. Uses i2c implementation similar to lets split * Remove modular from master This is to fix incorrect branching * General fixes for RGB_matrix - Complited speed support for all effects - Fixed raindrop effects to initialized after toggle - Fixed raindrop effects to use all available LEDs - Fixed effect step reverse function - Moved RGB_MATRIX_SOLID_REACTIVE under correct flag * Documentation update for RGBmatrix * More doc updates * I2C library can now retry if it has failed - Replaced the original TWIlib by LFKeyboard's modified version - Allows for an extra argument on TWITransmitData, if blocking is set to 1 function will retry to transmit on failure. Good for noisy boards. * RGB Matrix, use alternative I2C library TWIlib seems to be hanging for me sometimes probably due to ISR routine. I have used i2c_master as a good alternative. Note: this commit is for Wilba6582 to verify before merge * Update rgb_matrix.c * RGB matrix cleanup - Remove TWIlib