X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=keyboard%2Fergodox%2Fergodox.c;h=c6a831487f781a1b901aa007b0b78b44ecb3b0a6;hb=04949711f4abc89c921e48e35e8f818ebb5d3058;hp=8aed78ecb72688df7ab2d9345292f25358d46d93;hpb=cfc23836e5f9571056d3710b8580c1f27b91ed54;p=max%2Ftmk_keyboard.git diff --git a/keyboard/ergodox/ergodox.c b/keyboard/ergodox/ergodox.c index 8aed78ec..c6a83148 100644 --- a/keyboard/ergodox/ergodox.c +++ b/keyboard/ergodox/ergodox.c @@ -62,8 +62,10 @@ void init_ergodox(void) PORTC |= (1<<7); PORTD |= (1<<7 | 1<<5 | 1<<4); PORTE |= (1<<6); +} - // blink leds +void ergodox_blink_all_leds(void) +{ ergodox_led_all_off(); ergodox_led_all_set(LED_BRIGHTNESS_HI); ergodox_led_all_on(); @@ -90,6 +92,7 @@ uint8_t init_mcp23018(void) { err = i2c_write(0b00000000); if (err) goto out; err = i2c_write(0b00111111); if (err) goto out; i2c_stop(); + // set pull-up // - unused : on : 1 // - input : on : 1 @@ -98,8 +101,18 @@ uint8_t init_mcp23018(void) { err = i2c_write(GPPUA); if (err) goto out; err = i2c_write(0b00000000); if (err) goto out; err = i2c_write(0b00111111); if (err) goto out; + +out: i2c_stop(); + if (!err) err = ergodox_left_leds_update(); + + return err; +} + +uint8_t ergodox_left_leds_update(void) { + uint8_t err = 0x20; + // set logical value (doesn't matter on inputs) // - unused : hi-Z : 1 // - input : hi-Z : 1