X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=keyboards%2Finfinity60%2Fled_controller.h;h=e4b47176464e56e6ab7ac1674941bc44d7ed8f42;hb=b1935c5e0dcd1adf32df652c65deffad35cd7405;hp=0f2d62d3da6f13432f7b2295e51756cea90d538d;hpb=1b1adf35bb746a875c2b846e1b1b405075c94847;p=qmk_firmware.git diff --git a/keyboards/infinity60/led_controller.h b/keyboards/infinity60/led_controller.h index 0f2d62d3d..e4b471764 100644 --- a/keyboards/infinity60/led_controller.h +++ b/keyboards/infinity60/led_controller.h @@ -1,5 +1,6 @@ /* Copyright 2016 flabbergast +Copyright 2017 jpetermans 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 @@ -34,7 +35,6 @@ void led_controller_init(void); #define CAPS_LOCK_LED_ADDRESS 46 //pin matrix location #define NUM_LOCK_LED_ADDRESS 85 -#define BACKLIGHT_OFF_LOCK_LED_OFF 0 //set to 0 to show lock leds even if backlight off /* ============================= * IS31 chip related definitions @@ -59,7 +59,7 @@ void led_controller_init(void); #define IS31_REG_DISPLAYOPT 0x05 #define IS31_REG_DISPLAYOPT_INTENSITY_SAME 0x20 // same intensity for all frames -#define IS31_REG_DISPLAYOPT_BLINK_ENABLE 0x8 +#define IS31_REG_DISPLAYOPT_BLINK_ENABLE 0x08 // D2:D0 bits blink period time (*0.27s) #define IS31_REG_AUDIOSYNC 0x06 @@ -76,7 +76,8 @@ void led_controller_init(void); // D2:D0 extinguish time (3.5ms*2^i) #define IS31_REG_SHUTDOWN 0x0A -#define IS31_REG_SHUTDOWN_ON 0x1 +#define IS31_REG_SHUTDOWN_OFF 0x1 +#define IS31_REG_SHUTDOWN_ON 0x0 #define IS31_REG_AGCCTRL 0x0B #define IS31_REG_ADCRATE 0x0C @@ -87,27 +88,33 @@ void led_controller_init(void); #define IS31_TIMEOUT 10000 // needs to be long enough to write a whole page /* ======================================== - * LED Thread related functions/definitions + * LED Thread related items * ========================================*/ extern mailbox_t led_mailbox; void set_led_bit (uint8_t page, uint8_t *led_control_reg, uint8_t led_addr, uint8_t action); -void set_lock_leds (uint8_t lock_type, uint8_t led_on); -void write_led_page (uint8_t page, const uint8_t *led_array, uint8_t led_count); +void set_lock_leds (uint8_t led_addr, uint8_t led_action, uint8_t page); +void write_led_byte (uint8_t page, uint8_t row, uint8_t led_byte); +void write_led_page (uint8_t page, uint8_t *led_array, uint8_t led_count); // constants for signaling the LED controller thread enum led_msg_t { KEY_LIGHT, + SET_FULL_ROW, OFF_LED, ON_LED, TOGGLE_LED, + BLINK_OFF_LED, + BLINK_ON_LED, + BLINK_TOGGLE_LED, TOGGLE_ALL, TOGGLE_BACKLIGHT, - TOGGLE_LAYER_LEDS, + DISPLAY_PAGE, + RESET_PAGE, TOGGLE_NUM_LOCK, TOGGLE_CAPS_LOCK, - MODE_BREATH, + TOGGLE_BREATH, STEP_BRIGHTNESS };