-/* Copyright 2018 Clueboard
+/* Copyright 2018 James Laird-Wah
+ * Copyright 2019 Clueboard
*
* 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
#include <stdint.h>
#include <stdbool.h>
#include "quantum.h"
-#include "led_matrix.h"
+#include "ledmatrix.h"
/* Each driver needs to define a struct:
*
i2c_init();
#ifdef IS31FL3731
#ifdef LED_DRIVER_ADDR_1
- IS31FL3731_init(DRIVER_ADDR_1);
+ IS31FL3731_init(LED_DRIVER_ADDR_1);
#endif
#ifdef LED_DRIVER_ADDR_2
- IS31FL3731_init(DRIVER_ADDR_2);
+ IS31FL3731_init(LED_DRIVER_ADDR_2);
#endif
#ifdef LED_DRIVER_ADDR_3
- IS31FL3731_init(DRIVER_ADDR_3);
+ IS31FL3731_init(LED_DRIVER_ADDR_3);
#endif
#ifdef LED_DRIVER_ADDR_4
- IS31FL3731_init(DRIVER_ADDR_4);
+ IS31FL3731_init(LED_DRIVER_ADDR_4);
#endif
#else
#ifdef LED_DRIVER_ADDR_1
- IS31FL3733_init(DRIVER_ADDR_1);
+ IS31FL3733_init(LED_DRIVER_ADDR_1, 0 );
#endif
#ifdef LED_DRIVER_ADDR_2
- IS31FL3733_init(DRIVER_ADDR_2);
+ IS31FL3733_init(LED_DRIVER_ADDR_2, 0 );
#endif
#ifdef LED_DRIVER_ADDR_3
- IS31FL3733_init(DRIVER_ADDR_3);
+ IS31FL3733_init(LED_DRIVER_ADDR_3, 0 );
#endif
#ifdef LED_DRIVER_ADDR_4
- IS31FL3733_init(DRIVER_ADDR_4);
+ IS31FL3733_init(LED_DRIVER_ADDR_4, 0 );
#endif
#endif
- for (int index = 0; index < DRIVER_LED_TOTAL; index++) {
+
+ for (int index = 0; index < LED_DRIVER_LED_COUNT; index++) {
#ifdef IS31FL3731
IS31FL3731_set_led_control_register(index, true);
#else
// This actually updates the LED drivers
#ifdef IS31FL3731
#ifdef LED_DRIVER_ADDR_1
- IS31FL3731_update_led_control_registers(DRIVER_ADDR_1);
+ IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_1, 0);
#endif
#ifdef LED_DRIVER_ADDR_2
- IS31FL3731_update_led_control_registers(DRIVER_ADDR_2);
+ IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_2, 1);
#endif
#ifdef LED_DRIVER_ADDR_3
- IS31FL3731_update_led_control_registers(DRIVER_ADDR_3);
+ IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_3, 2);
#endif
#ifdef LED_DRIVER_ADDR_4
- IS31FL3731_update_led_control_registers(DRIVER_ADDR_4);
+ IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_4, 3);
#endif
#else
#ifdef LED_DRIVER_ADDR_1
- IS31FL3733_update_led_control_registers(DRIVER_ADDR_1);
+ IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_1, 0);
#endif
#ifdef LED_DRIVER_ADDR_2
- IS31FL3733_update_led_control_registers(DRIVER_ADDR_2);
+ IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_2, 1);
#endif
#ifdef LED_DRIVER_ADDR_3
- IS31FL3733_update_led_control_registers(DRIVER_ADDR_3);
+ IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_3, 2);
#endif
#ifdef LED_DRIVER_ADDR_4
- IS31FL3733_update_led_control_registers(DRIVER_ADDR_4);
+ IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_4, 3);
#endif
#endif
}
static void flush(void) {
#ifdef IS31FL3731
#ifdef LED_DRIVER_ADDR_1
- IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1);
+ IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_1, 0);
#endif
#ifdef LED_DRIVER_ADDR_2
- IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2);
+ IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_2, 1);
#endif
#ifdef LED_DRIVER_ADDR_3
- IS31FL3731_update_pwm_buffers(DRIVER_ADDR_3);
+ IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_3, 2);
#endif
#ifdef LED_DRIVER_ADDR_4
- IS31FL3731_update_pwm_buffers(DRIVER_ADDR_4);
+ IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_4, 3);
#endif
#else
#ifdef LED_DRIVER_ADDR_1
- IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1);
+ IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_1, 0);
#endif
#ifdef LED_DRIVER_ADDR_2
- IS31FL3733_update_pwm_buffers(DRIVER_ADDR_2);
+ IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_2, 1);
#endif
#ifdef LED_DRIVER_ADDR_3
- IS31FL3733_update_pwm_buffers(DRIVER_ADDR_3);
+ IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_3, 2);
#endif
#ifdef LED_DRIVER_ADDR_4
- IS31FL3733_update_pwm_buffers(DRIVER_ADDR_4);
+ IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_4, 3);
#endif
#endif
}