]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/light_ws2812.h
converted to new format
[qmk_firmware.git] / quantum / light_ws2812.h
index 576c3bc483e55a1291cd3c8b3be760b748217dd5..9498e550e97fddb6a7456e1bc0bc004c246fa8bf 100755 (executable)
 #include <avr/io.h>
 #include <avr/interrupt.h>
 //#include "ws2812_config.h"
-#include "i2cmaster.h"
+//#include "i2cmaster.h"
 
 #define LIGHT_I2C 1
 #define LIGHT_I2C_ADDR        0x84
 #define LIGHT_I2C_ADDR_WRITE  ( (LIGHT_I2C_ADDR<<1) | I2C_WRITE )
 #define LIGHT_I2C_ADDR_READ   ( (LIGHT_I2C_ADDR<<1) | I2C_READ  )
 
+#define RGBW 1
+
+#ifdef RGBW
+  #define LED_TYPE struct cRGBW
+#else
+  #define LED_TYPE struct cRGB
+#endif
+
 
 /*
  *  Structure of the LED array
@@ -49,9 +57,9 @@ struct cRGBW { uint8_t g; uint8_t r; uint8_t b; uint8_t w;};
  *         - Wait 50�s to reset the LEDs
  */
 
-void ws2812_setleds     (struct cRGB  *ledarray, uint16_t number_of_leds);
-void ws2812_setleds_pin (struct cRGB  *ledarray, uint16_t number_of_leds,uint8_t pinmask);
-void ws2812_setleds_rgbw(struct cRGBW *ledarray, uint16_t number_of_leds);
+void ws2812_setleds     (LED_TYPE *ledarray, uint16_t number_of_leds);
+void ws2812_setleds_pin (LED_TYPE *ledarray, uint16_t number_of_leds,uint8_t pinmask);
+void ws2812_setleds_rgbw(LED_TYPE *ledarray, uint16_t number_of_leds);
 
 /*
  * Old interface / Internal functions