]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/ergodox/ez/ez.c
update 9key readme
[qmk_firmware.git] / keyboards / ergodox / ez / ez.c
index ddb8ff0cf714a77261e2ca97d795b46ce8a71c91..d502249543837cda54bf519c34378b218deccd5e 100644 (file)
@@ -1,6 +1,30 @@
 #include "ez.h"
 #include "i2cmaster.h"
 
+
+extern inline void ergodox_board_led_on(void);
+extern inline void ergodox_right_led_1_on(void);
+extern inline void ergodox_right_led_2_on(void);
+extern inline void ergodox_right_led_3_on(void);
+extern inline void ergodox_right_led_on(uint8_t led);
+
+extern inline void ergodox_board_led_off(void);
+extern inline void ergodox_right_led_1_off(void);
+extern inline void ergodox_right_led_2_off(void);
+extern inline void ergodox_right_led_3_off(void);
+extern inline void ergodox_right_led_off(uint8_t led);
+
+extern inline void ergodox_led_all_on(void);
+extern inline void ergodox_led_all_off(void);
+
+extern inline void ergodox_right_led_1_set(uint8_t n);
+extern inline void ergodox_right_led_2_set(uint8_t n);
+extern inline void ergodox_right_led_3_set(uint8_t n);
+extern inline void ergodox_right_led_set(uint8_t led, uint8_t n);
+
+extern inline void ergodox_led_all_set(uint8_t n);
+
+
 bool i2c_initialized = 0;
 uint8_t mcp23018_status = 0x20;
 
@@ -16,10 +40,10 @@ void matrix_init_kb(void) {
     // unused pins - C7, D4, D5, D7, E6
     // set as input with internal pull-ip enabled
     DDRC  &= ~(1<<7);
-    DDRD  &= ~(1<<7 | 1<<5 | 1<<4);
+    DDRD  &= ~(1<<5 | 1<<4);
     DDRE  &= ~(1<<6);
     PORTC |=  (1<<7);
-    PORTD |=  (1<<7 | 1<<5 | 1<<4);
+    PORTD |=  (1<<5 | 1<<4);
     PORTE |=  (1<<6);
 
     ergodox_blink_all_leds();
@@ -51,9 +75,13 @@ uint8_t init_mcp23018(void) {
     mcp23018_status = 0x20;
 
     // I2C subsystem
+
+    // uint8_t sreg_prev;
+    // sreg_prev=SREG;
+    // cli();
     if (i2c_initialized == 0) {
         i2c_init();  // on pins D(1,0)
-        i2c_initialized++;
+        i2c_initialized = true;
         _delay_ms(1000);
     }
 
@@ -79,6 +107,8 @@ uint8_t init_mcp23018(void) {
 out:
     i2c_stop();
 
+    // SREG=sreg_prev;
+
     return mcp23018_status;
 }