diff options
Diffstat (limited to 'keyboards/ergotaco/ergotaco.h')
| -rw-r--r-- | keyboards/ergotaco/ergotaco.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/keyboards/ergotaco/ergotaco.h b/keyboards/ergotaco/ergotaco.h new file mode 100644 index 000000000..6bc5ce36f --- /dev/null +++ b/keyboards/ergotaco/ergotaco.h | |||
| @@ -0,0 +1,50 @@ | |||
| 1 | #pragma once | ||
| 2 | #include <util/delay.h> | ||
| 3 | #include <stdint.h> | ||
| 4 | #include <stdbool.h> | ||
| 5 | #include "quantum.h" | ||
| 6 | #include "i2c_master.h" | ||
| 7 | #include "matrix.h" | ||
| 8 | |||
| 9 | |||
| 10 | extern i2c_status_t mcp23018_status; | ||
| 11 | #define ERGODOX_EZ_I2C_TIMEOUT 1000 | ||
| 12 | #define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n)) | ||
| 13 | #define CPU_16MHz 0x00 | ||
| 14 | |||
| 15 | // I2C aliases and register addresses (see "mcp23018.md") | ||
| 16 | //#define I2C_ADDR 0b0100000 | ||
| 17 | #define I2C_ADDR 0x20 | ||
| 18 | #define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE ) | ||
| 19 | #define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ ) | ||
| 20 | #define IODIRA 0x00 // i/o direction register | ||
| 21 | #define IODIRB 0x01 | ||
| 22 | #define GPPUA 0x0C // GPIO pull-up resistor register | ||
| 23 | #define GPPUB 0x0D | ||
| 24 | #define GPIOA 0x12 // general purpose i/o port register (write modifies OLAT) | ||
| 25 | #define GPIOB 0x13 | ||
| 26 | #define OLATA 0x14 // output latch register | ||
| 27 | #define OLATB 0x15 | ||
| 28 | |||
| 29 | void init_ergodox(void); | ||
| 30 | uint8_t init_mcp23018(void); | ||
| 31 | |||
| 32 | /* ---------- LEFT HAND ----------- ---------- RIGHT HAND ---------- */ | ||
| 33 | #define LAYOUT( \ | ||
| 34 | L00,L01,L02,L03,L04,L05, R00,R01,R02,R03,R04,R05) \ | ||
| 35 | \ | ||
| 36 | /* matrix positions */ \ | ||
| 37 | { \ | ||
| 38 | {R00}, \ | ||
| 39 | {R01}, \ | ||
| 40 | {R02}, \ | ||
| 41 | {R03}, \ | ||
| 42 | {R04}, \ | ||
| 43 | {R05}, \ | ||
| 44 | {L05}, \ | ||
| 45 | {L04}, \ | ||
| 46 | {L03}, \ | ||
| 47 | {L02}, \ | ||
| 48 | {L01}, \ | ||
| 49 | {L00}, \ | ||
| 50 | } | ||
