keyboard layout for qmk firmware
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef SPLIT_LEDS_H
#define SPLIT_LEDS_H
#ifdef USE_I2C
#include <stddef.h>
#ifdef __AVR__
#include <avr/io.h>
#include <avr/interrupt.h>
#endif
#endif
#include "split_util.h"
#define LED_RED 1
#define LED_GREEN 2
#define LED_BLUE 3
enum led_state{ LED_OFF = 0, LED_ON };
typedef enum led_state led_state_t;
inline void _led_1_off(void) { DDRF &= ~(1<<PF4); PORTF &= ~(1<<PF4); } inline void _led_1_on(void) { DDRF |= (1<<PF4); PORTF |= (1<<PF4); } inline void _led_2_off(void) { DDRF &= ~(1<<PF5); PORTF &= ~(1<<PF5); } inline void _led_2_on(void) { DDRF |= (1<<PF5); PORTF |= (1<<PF5); } inline void _led_3_off(void) { DDRF &= ~(1<<PF6); PORTF &= ~(1<<PF6); } inline void _led_3_on(void) { DDRF |= (1<<PF6); PORTF |= (1<<PF6); }
inline void _led_all_off(void) { _led_1_off(); _led_2_off(); _led_3_off(); } inline void _led_all_on(void) { _led_1_on(); _led_2_on(); _led_3_on(); }
uint8_t _slave_led_1; uint8_t _slave_led_2; uint8_t _slave_led_3;
// MASTER LEDS: ////////////////////////////
inline void _led_set_master(uint8_t num, led_state_t state) { switch (num) { case 1: if (state == LED_ON) _led_1_on(); else _led_1_off(); break; case 2: if (state == LED_ON) _led_2_on(); else _led_2_off(); break; case 3: if (state == LED_ON) _led_3_on(); else _led_3_off(); break; default: break; } }
inline void _led_set_slave(uint8_t num, led_state_t state) { switch (num) { case 1: _slave_led_1 = state; break; case 2: _slave_led_2 = state; break; case 3: _slave_led_3 = state; break; default: break; } }
void left_led_set(uint8_t num, led_state_t state); void right_led_set(uint8_t num, led_state_t state); void both_led_set(uint8_t num, led_state_t state);
void left_led_all_on(void); void left_led_all_off(void);
void right_led_all_on(void); void right_led_all_off(void);
void both_led_all_on(void); void both_led_all_off(void);
void _led_init(void); void _led_boot_animation(void);
#endif
|