]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/light_ws2812.c
Fix buffer overrun in lcd_keyframes
[qmk_firmware.git] / quantum / light_ws2812.c
index 6edbc0f2bd7b0c077551a5346ea6d486afd230c7..2506e3d8ec63e31609c33a1bbe3e572ab39dadf5 100755 (executable)
@@ -7,7 +7,18 @@
 * Jan 18th, 2014  v2.0b Initial Version
 * Nov 29th, 2015  v2.3  Added SK6812RGBW support
 *
-* License: GNU GPL v2 (see License.txt)
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "light_ws2812.h"
@@ -16,8 +27,6 @@
 #include <util/delay.h>
 #include "debug.h"
 
-#define RGBW_BB_TWI 1
-
 #ifdef RGBW_BB_TWI
 
 // Port for the I2C
@@ -72,7 +81,7 @@ void I2C_WriteBit(unsigned char c)
 
 // Inits bitbanging port, must be called before using the functions below
 //
-void I2C_Init()
+void I2C_Init(void)
 {
     I2C_PORT &= ~ ((1 << I2C_DAT) | (1 << I2C_CLK));
 
@@ -84,7 +93,7 @@ void I2C_Init()
 
 // Send a START Condition
 //
-void I2C_Start()
+void I2C_Start(void)
 {
     // set both to high at the same time
     I2C_DDR &= ~ ((1 << I2C_DAT) | (1 << I2C_CLK));
@@ -99,7 +108,7 @@ void I2C_Start()
 
 // Send a STOP Condition
 //
-void I2C_Stop()
+void I2C_Stop(void)
 {
     I2C_CLOCK_HI();
     _delay_us(I2C_DELAY);
@@ -171,7 +180,6 @@ void inline ws2812_setleds_rgbw(LED_TYPE *ledarray, uint16_t leds)
     }
     I2C_Stop();
     SREG=sreg_prev;
-    // TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
     TWCR=twcr_prev;
   #endif