aboutsummaryrefslogtreecommitdiff
path: root/quantum/rgb_matrix.c
diff options
context:
space:
mode:
authoryiancar <yiangosyiangou@cytanet.com.cy>2018-05-14 15:17:24 +0100
committerJack Humbert <jack.humb@gmail.com>2018-05-14 10:17:24 -0400
commita98a91cf1b923107e9f26df316c1ef2192ff14f7 (patch)
tree112b22b9ee2f212b4a58e57d2e4b4906d1ef7636 /quantum/rgb_matrix.c
parentf42ec8aa866386ed0ab8faf7acf9c396aa482519 (diff)
downloadqmk_firmware-a98a91cf1b923107e9f26df316c1ef2192ff14f7.tar.gz
qmk_firmware-a98a91cf1b923107e9f26df316c1ef2192ff14f7.zip
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
Diffstat (limited to 'quantum/rgb_matrix.c')
-rw-r--r--quantum/rgb_matrix.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/quantum/rgb_matrix.c b/quantum/rgb_matrix.c
index f3d012bc3..992ce99de 100644
--- a/quantum/rgb_matrix.c
+++ b/quantum/rgb_matrix.c
@@ -18,7 +18,7 @@
18 18
19#include "rgb_matrix.h" 19#include "rgb_matrix.h"
20#include <avr/io.h> 20#include <avr/io.h>
21#include "TWIlib.h" 21#include "i2c_master.h"
22#include <util/delay.h> 22#include <util/delay.h>
23#include <avr/interrupt.h> 23#include <avr/interrupt.h>
24#include "progmem.h" 24#include "progmem.h"
@@ -722,10 +722,8 @@ void rgb_matrix_indicators_user(void) {}
722// } 722// }
723 723
724void rgb_matrix_init_drivers(void) { 724void rgb_matrix_init_drivers(void) {
725 //sei();
726
727 // Initialize TWI 725 // Initialize TWI
728 TWIInit(); 726 i2c_init();
729 IS31FL3731_init( DRIVER_ADDR_1 ); 727 IS31FL3731_init( DRIVER_ADDR_1 );
730 IS31FL3731_init( DRIVER_ADDR_2 ); 728 IS31FL3731_init( DRIVER_ADDR_2 );
731 729