qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

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);