]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/jj40/jj40.c
[Keyboard] Refactor jj40 to current standards (#5574)
[qmk_firmware.git] / keyboards / jj40 / jj40.c
index 51f5295f465dea9765224848cff27e43507330a0..26cfa6c067e93b7bb5bff7edec75a6044103795a 100644 (file)
@@ -18,53 +18,26 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "jj40.h"
 
-#include <avr/pgmspace.h>
-
-#include "action_layer.h"
-#include "quantum.h"
+#ifdef RGBLIGHT_ENABLE
 
-#include "i2c.h"
+#include <string.h>
+#include "i2c_master.h"
+#include "rgblight.h"
 
-#include "backlight.h"
-#include "backlight_custom.h"
+extern rgblight_config_t rgblight_config;
 
-// for keyboard subdirectory level init functions
-// @Override
 void matrix_init_kb(void) {
+  i2c_init();
   // call user level keymaps, if any
   matrix_init_user();
 }
-
-#ifdef BACKLIGHT_ENABLE
-/// Overrides functions in `quantum.c`
-void backlight_init_ports(void) {
-  b_led_init_ports();
-}
-
-void backlight_task(void) {
-  b_led_task();
-}
-
-void backlight_set(uint8_t level) {
-  b_led_set(level);
-}
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-extern rgblight_config_t rgblight_config;
-
 // custom RGB driver
 void rgblight_set(void) {
   if (!rgblight_config.enable) {
-    for (uint8_t i=0; i<RGBLED_NUM; i++) {
-      led[i].r = 0;
-      led[i].g = 0;
-      led[i].b = 0;
-    }
+    memset(led, 0, 3 * RGBLED_NUM);
   }
 
-  i2c_init();
-  i2c_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
+  i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
 }
 
 bool rgb_init = false;
@@ -72,26 +45,12 @@ bool rgb_init = false;
 void matrix_scan_kb(void) {
   // if LEDs were previously on before poweroff, turn them back on
   if (rgb_init == false && rgblight_config.enable) {
-    i2c_init();
-    i2c_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
+    i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
     rgb_init = true;
   }
 
   rgblight_task();
-#else
-void matrix_scan_kb(void) {
-#endif
   matrix_scan_user();
-  /* Nothing else for now. */
-}
-
-__attribute__((weak)) // overridable
-void matrix_init_user(void) {
-
 }
 
-
-__attribute__((weak)) // overridable
-void matrix_scan_user(void) {
-
-}
+#endif