X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=keyboards%2Finfinity60%2Fled_controller.h;h=e4b47176464e56e6ab7ac1674941bc44d7ed8f42;hb=738588618bd4e09c9ce81bb2f6e417ef4b80c757;hp=74086201829eec65c2305bb5c304e39f979f1f5c;hpb=15635817b5ae6068c5c79a9b67a0d97839893a7e;p=qmk_firmware.git diff --git a/keyboards/infinity60/led_controller.h b/keyboards/infinity60/led_controller.h index 740862018..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 @@ -32,9 +33,8 @@ msg_t is31_read_register(uint8_t page, uint8_t reg, uint8_t *result); void led_controller_init(void); -#define CAPS_LOCK_LED_ADDRESS 46 +#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,25 +88,33 @@ void led_controller_init(void); #define IS31_TIMEOUT 10000 // needs to be long enough to write a whole page /* ======================================== - * LED Thread related definitions/functions + * LED Thread related items * ========================================*/ extern mailbox_t led_mailbox; -void set_led_bit (uint8_t *led_control_reg, uint8_t led_msg, uint8_t toggle_on); -void set_lock_leds (uint8_t lock_type, uint8_t lock_status); -void write_led_page (uint8_t page, const uint8_t *led_array, uint8_t led_count); +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 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 };