Align location of some host led logic (#15954)
* Align location of host led logic * Move more * align ifdefs * Fix up includes * Move callback defs * Convert comment to build message
This commit is contained in:
		
							parent
							
								
									448a90f6b0
								
							
						
					
					
						commit
						6e83b44940
					
				
					 8 changed files with 58 additions and 46 deletions
				
			
		| 
						 | 
				
			
			@ -13,13 +13,15 @@
 | 
			
		|||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
#include "led.h"
 | 
			
		||||
#include "host.h"
 | 
			
		||||
#include "debug.h"
 | 
			
		||||
 | 
			
		||||
#ifdef BACKLIGHT_ENABLE
 | 
			
		||||
#    include "backlight.h"
 | 
			
		||||
extern backlight_config_t backlight_config;
 | 
			
		||||
#else
 | 
			
		||||
// Cannot use BACKLIGHT_CAPS_LOCK without backlight being enabled
 | 
			
		||||
#    pragma message "Cannot use BACKLIGHT_CAPS_LOCK without backlight being enabled"
 | 
			
		||||
#    undef BACKLIGHT_CAPS_LOCK
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -135,3 +137,41 @@ __attribute__((weak)) void led_set(uint8_t usb_led) {
 | 
			
		|||
    led_set_kb(usb_led);
 | 
			
		||||
    led_update_kb((led_t)usb_led);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** \brief Trigger behaviour on transition to suspend
 | 
			
		||||
 */
 | 
			
		||||
void led_suspend(void) {
 | 
			
		||||
    uint8_t leds_off = 0;
 | 
			
		||||
#ifdef BACKLIGHT_CAPS_LOCK
 | 
			
		||||
    if (is_backlight_enabled()) {
 | 
			
		||||
        // Don't try to turn off Caps Lock indicator as it is backlight and backlight is already off
 | 
			
		||||
        leds_off |= (1 << USB_LED_CAPS_LOCK);
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
    led_set(leds_off);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** \brief Trigger behaviour on transition from suspend
 | 
			
		||||
 */
 | 
			
		||||
void led_wakeup(void) { led_set(host_keyboard_leds()); }
 | 
			
		||||
 | 
			
		||||
/** \brief set host led state
 | 
			
		||||
 *
 | 
			
		||||
 * Only sets state if change detected
 | 
			
		||||
 */
 | 
			
		||||
void led_task(void) {
 | 
			
		||||
    static uint8_t last_led_status = 0;
 | 
			
		||||
 | 
			
		||||
    // update LED
 | 
			
		||||
    uint8_t led_status = host_keyboard_leds();
 | 
			
		||||
    if (last_led_status != led_status) {
 | 
			
		||||
        last_led_status = led_status;
 | 
			
		||||
 | 
			
		||||
        if (debug_keyboard) {
 | 
			
		||||
            debug("led_task: ");
 | 
			
		||||
            debug_hex8(led_status);
 | 
			
		||||
            debug("\n");
 | 
			
		||||
        }
 | 
			
		||||
        led_set(led_status);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue