ergodox_stm32.h (993B)
1 #pragma once 2 3 #include "quantum.h" 4 #include "action_layer.h" 5 #include <stdint.h> 6 #include <stdbool.h> 7 #include <hal.h> 8 9 // #define I2C_ADDR 0b01000000 10 #define I2C_ADDR 0b01000000 11 #define I2C_IODIRA 0x0 12 #define I2C_IODIRB 0x1 13 #define I2C_GPIOA 0x12 14 #define I2C_GPIOB 0x13 15 #define I2C_OLATA 0x14 16 #define I2C_OLATB 0x15 17 #define I2C_GPPUA 0x0C 18 #define I2C_GPPUB 0x0D 19 20 inline void ergodox_board_led_1_on(void) { palSetPad(GPIOA, 10); } 21 inline void ergodox_board_led_2_on(void) { palSetPad(GPIOA, 9); } 22 inline void ergodox_board_led_3_on(void) { palSetPad(GPIOA, 8); } 23 inline void ergodox_board_led_1_off(void) { palClearPad(GPIOA, 10); } 24 inline void ergodox_board_led_2_off(void) { palClearPad(GPIOA, 9); } 25 inline void ergodox_board_led_3_off(void) { palClearPad(GPIOA, 8); } 26 inline void ergodox_led_all_off(void) 27 { 28 palClearPad(GPIOA, 10); 29 palClearPad(GPIOA, 9); 30 palClearPad(GPIOA, 8); 31 } 32 33 extern volatile int mcp23017_status; 34 35 uint8_t init_mcp23017(void); 36 37 void ergodox_blink_all_leds(void);