X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=keyboard%2Flightsaber%2Fbacklight.c;h=59b8b4a633971d3e66d8531bff3f9c141ccf7266;hb=4192bce16b6cf4c5acc10ea6b26fb714fc132e01;hp=b28200807cd4ebeb9658b39234429916249b9f9f;hpb=1722e04e73301ffa1a4153644230f894570005da;p=max%2Ftmk_keyboard.git diff --git a/keyboard/lightsaber/backlight.c b/keyboard/lightsaber/backlight.c index b2820080..59b8b4a6 100644 --- a/keyboard/lightsaber/backlight.c +++ b/keyboard/lightsaber/backlight.c @@ -26,8 +26,8 @@ along with this program. If not, see . * Backside PD6 (high) * TopRight PD7 (low) * F-Row PE6 (high) - * */ + void backlight_set(uint8_t level) { // Set as output. @@ -35,22 +35,52 @@ void backlight_set(uint8_t level) DDRD |= (1<<6) | (1<<7); DDRE |= (1<<6); - if(level & (1<<0)) + if (level & BACKLIGHT_ALPHA) { - PORTB &= ~(1<<1); - PORTB &= ~(1<<2); - PORTB &= ~(1<<3); - PORTD &= ~(1<<6); - PORTD |= (1<<7); - PORTE &= ~(1<<6); + PORTB |= (1<<1); } else { - PORTB |= (1<<1); + PORTB &= ~(1<<1); + } + if (level & BACKLIGHT_NUMERIC) + { PORTB |= (1<<2); + } + else + { + PORTB &= ~(1<<2); + } + if (level & BACKLIGHT_MODNUM) + { PORTB |= (1<<3); + } + else + { + PORTB &= ~(1<<3); + } + if (level & BACKLIGHT_BACKSIDE) + { PORTD |= (1<<6); + } + else + { + PORTD &= ~(1<<6); + } + if (level & BACKLIGHT_TOPRIGHT) + { PORTD &= ~(1<<7); + } + else + { + PORTD |= (1<<7); + } + if (level & BACKLIGHT_FROW) + { PORTE |= (1<<6); } + else + { + PORTE &= ~(1<<6); + } }