X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=keyboard%2Fphantom%2Fmatrix.c;h=6c3ae49c3a198eeabdb2ffa41d17b9c67aea9497;hb=e259a722e7e8abcb97606b6cfbcce99667a66277;hp=49d6b738e6d17b4c58842ce9a5b8449c09df442a;hpb=5c5312c508ad40c418c321756d933e7ebcecb90a;p=max%2Ftmk_keyboard.git diff --git a/keyboard/phantom/matrix.c b/keyboard/phantom/matrix.c index 49d6b738..6c3ae49c 100644 --- a/keyboard/phantom/matrix.c +++ b/keyboard/phantom/matrix.c @@ -32,6 +32,7 @@ static void init_rows(void); static void unselect_cols(void); static void select_col(uint8_t col); +#ifndef SLEEP_LED_ENABLE /* LEDs are on output compare pins OC1B OC1C This activates fast PWM mode on them. Prescaler 256 and 8-bit counter results in @@ -51,12 +52,13 @@ void setup_leds(void) TCCR1B |= // Timer control register 1B (1< PORTB6, LED_B -> PORTB7 - DDRB &= 0x3F; - PORTB &= 0x3F; + DDRB |= (1<<6) | (1<<7); + PORTB &= ~((1<<6) | (1<<7)); } +#endif inline uint8_t matrix_rows(void) @@ -79,7 +81,9 @@ void matrix_init(void) // initialize row and col unselect_cols(); init_rows(); +#ifndef SLEEP_LED_ENABLE setup_leds(); +#endif // initialize matrix state: all keys off for (uint8_t i = 0; i < MATRIX_ROWS; i++) { @@ -158,7 +162,7 @@ uint8_t matrix_key_count(void) /* Row pin configuration * row: 0 1 2 3 4 5 - * pin: B0 B1 B2 B3 B4 B5 + * pin: B5 B4 B3 B2 B1 B0 */ static void init_rows(void) { @@ -169,12 +173,12 @@ static void init_rows(void) static uint8_t read_rows(void) { - return (PINB&(1<<0) ? 0 : (1<<0)) | - (PINB&(1<<1) ? 0 : (1<<1)) | - (PINB&(1<<2) ? 0 : (1<<2)) | - (PINB&(1<<3) ? 0 : (1<<3)) | - (PINB&(1<<4) ? 0 : (1<<4)) | - (PINB&(1<<5) ? 0 : (1<<5)); + return (PINB&(1<<5) ? 0 : (1<<0)) | + (PINB&(1<<4) ? 0 : (1<<1)) | + (PINB&(1<<3) ? 0 : (1<<2)) | + (PINB&(1<<2) ? 0 : (1<<3)) | + (PINB&(1<<1) ? 0 : (1<<4)) | + (PINB&(1<<0) ? 0 : (1<<5)); } /* Column pin configuration