Rgb matrix fixes, I2C library can now retry if it has failed (#2943)

* 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
This commit is contained in:
yiancar 2018-05-14 15:17:24 +01:00 committed by Jack Humbert
parent f42ec8aa86
commit a98a91cf1b
7 changed files with 184 additions and 343 deletions

View file

@ -18,7 +18,7 @@
#include "rgb_matrix.h"
#include <avr/io.h>
#include "TWIlib.h"
#include "i2c_master.h"
#include <util/delay.h>
#include <avr/interrupt.h>
#include "progmem.h"
@ -722,10 +722,8 @@ void rgb_matrix_indicators_user(void) {}
// }
void rgb_matrix_init_drivers(void) {
//sei();
// Initialize TWI
TWIInit();
i2c_init();
IS31FL3731_init( DRIVER_ADDR_1 );
IS31FL3731_init( DRIVER_ADDR_2 );