2019-09-25 20:52:17 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "quantum.h"
|
|
|
|
#include "action_layer.h"
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <stdbool.h>
|
2020-12-16 04:27:23 +01:00
|
|
|
#include <hal.h>
|
2019-09-25 20:52:17 +02:00
|
|
|
|
|
|
|
// #define I2C_ADDR 0b01000000
|
|
|
|
#define I2C_ADDR 0b01000000
|
|
|
|
#define I2C_IODIRA 0x0
|
|
|
|
#define I2C_IODIRB 0x1
|
|
|
|
#define I2C_GPIOA 0x12
|
|
|
|
#define I2C_GPIOB 0x13
|
|
|
|
#define I2C_OLATA 0x14
|
|
|
|
#define I2C_OLATB 0x15
|
|
|
|
#define I2C_GPPUA 0x0C
|
|
|
|
#define I2C_GPPUB 0x0D
|
|
|
|
|
|
|
|
inline void ergodox_board_led_1_on(void) { palSetPad(GPIOA, 10); }
|
|
|
|
inline void ergodox_board_led_2_on(void) { palSetPad(GPIOA, 9); }
|
|
|
|
inline void ergodox_board_led_3_on(void) { palSetPad(GPIOA, 8); }
|
|
|
|
inline void ergodox_board_led_1_off(void) { palClearPad(GPIOA, 10); }
|
|
|
|
inline void ergodox_board_led_2_off(void) { palClearPad(GPIOA, 9); }
|
|
|
|
inline void ergodox_board_led_3_off(void) { palClearPad(GPIOA, 8); }
|
|
|
|
inline void ergodox_led_all_off(void)
|
|
|
|
{
|
|
|
|
palClearPad(GPIOA, 10);
|
|
|
|
palClearPad(GPIOA, 9);
|
|
|
|
palClearPad(GPIOA, 8);
|
|
|
|
}
|
|
|
|
|
|
|
|
extern volatile int mcp23017_status;
|
|
|
|
|
|
|
|
uint8_t init_mcp23017(void);
|
|
|
|
|
|
|
|
void ergodox_blink_all_leds(void);
|