|
|
|
@ -14,18 +14,9 @@
|
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifdef __AVR__
|
|
|
|
|
# include <avr/interrupt.h>
|
|
|
|
|
# include <avr/io.h>
|
|
|
|
|
# include <util/delay.h>
|
|
|
|
|
#else
|
|
|
|
|
# include "wait.h"
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#include "is31fl3736.h"
|
|
|
|
|
#include <string.h>
|
|
|
|
|
#include "i2c_master.h"
|
|
|
|
|
#include "progmem.h"
|
|
|
|
|
#include "wait.h"
|
|
|
|
|
|
|
|
|
|
// This is a 7-bit address, that gets left-shifted and bit 0
|
|
|
|
|
// set to 0 for write, 1 for read (as per I2C protocol)
|
|
|
|
@ -154,12 +145,8 @@ void IS31FL3736_init(uint8_t addr) {
|
|
|
|
|
// Disable software shutdown.
|
|
|
|
|
IS31FL3736_write_register(addr, ISSI_REG_CONFIGURATION, 0x01);
|
|
|
|
|
|
|
|
|
|
// Wait 10ms to ensure the device has woken up.
|
|
|
|
|
#ifdef __AVR__
|
|
|
|
|
_delay_ms(10);
|
|
|
|
|
#else
|
|
|
|
|
// Wait 10ms to ensure the device has woken up.
|
|
|
|
|
wait_ms(10);
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
|
|
|
|
@ -263,7 +250,7 @@ void IS31FL3736_update_pwm_buffers(uint8_t addr1, uint8_t addr2) {
|
|
|
|
|
IS31FL3736_write_register(addr1, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM);
|
|
|
|
|
|
|
|
|
|
IS31FL3736_write_pwm_buffer(addr1, g_pwm_buffer[0]);
|
|
|
|
|
// IS31FL3736_write_pwm_buffer( addr2, g_pwm_buffer[1] );
|
|
|
|
|
// IS31FL3736_write_pwm_buffer(addr2, g_pwm_buffer[1]);
|
|
|
|
|
}
|
|
|
|
|
g_pwm_buffer_update_required = false;
|
|
|
|
|
}
|
|
|
|
@ -275,7 +262,7 @@ void IS31FL3736_update_led_control_registers(uint8_t addr1, uint8_t addr2) {
|
|
|
|
|
IS31FL3736_write_register(addr1, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL);
|
|
|
|
|
for (int i = 0; i < 24; i++) {
|
|
|
|
|
IS31FL3736_write_register(addr1, i, g_led_control_registers[0][i]);
|
|
|
|
|
// IS31FL3736_write_register(addr2, i, g_led_control_registers[1][i] );
|
|
|
|
|
// IS31FL3736_write_register(addr2, i, g_led_control_registers[1][i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|