More work on ErgoDox EZ default keymap
This commit is contained in:
		
							parent
							
								
									2739aa8d78
								
							
						
					
					
						commit
						d3db8d62f6
					
				
					 9 changed files with 1442 additions and 1570 deletions
				
			
		| 
						 | 
				
			
			@ -4,10 +4,6 @@
 | 
			
		|||
bool i2c_initialized = 0;
 | 
			
		||||
uint8_t mcp23018_status = 0x20;
 | 
			
		||||
 | 
			
		||||
bool ergodox_left_led_1 = 0;  // left top
 | 
			
		||||
bool ergodox_left_led_2 = 0;  // left middle
 | 
			
		||||
bool ergodox_left_led_3 = 0;  // left bottom
 | 
			
		||||
 | 
			
		||||
__attribute__ ((weak))
 | 
			
		||||
void * matrix_init_user(void) {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -92,32 +88,7 @@ uint8_t init_mcp23018(void) {
 | 
			
		|||
out:
 | 
			
		||||
    i2c_stop();
 | 
			
		||||
 | 
			
		||||
    if (!mcp23018_status) mcp23018_status = ergodox_left_leds_update();
 | 
			
		||||
 | 
			
		||||
    return mcp23018_status;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint8_t ergodox_left_leds_update(void) {
 | 
			
		||||
    if (mcp23018_status) { // if there was an error
 | 
			
		||||
        return mcp23018_status;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // set logical value (doesn't matter on inputs)
 | 
			
		||||
    // - unused  : hi-Z : 1
 | 
			
		||||
    // - input   : hi-Z : 1
 | 
			
		||||
    // - driving : hi-Z : 1
 | 
			
		||||
    mcp23018_status = i2c_start(I2C_ADDR_WRITE);    if (mcp23018_status) goto out;
 | 
			
		||||
    mcp23018_status = i2c_write(OLATA);             if (mcp23018_status) goto out;
 | 
			
		||||
    mcp23018_status = i2c_write(0b11111111
 | 
			
		||||
            & ~(ergodox_left_led_3<<LEFT_LED_3_SHIFT)
 | 
			
		||||
          );                                        if (mcp23018_status) goto out;
 | 
			
		||||
    mcp23018_status = i2c_write(0b11111111
 | 
			
		||||
            & ~(ergodox_left_led_2<<LEFT_LED_2_SHIFT)
 | 
			
		||||
            & ~(ergodox_left_led_1<<LEFT_LED_1_SHIFT)
 | 
			
		||||
          );                                        if (mcp23018_status) goto out;
 | 
			
		||||
 | 
			
		||||
out:
 | 
			
		||||
    i2c_stop();
 | 
			
		||||
    return mcp23018_status;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue