|
|
|
@ -17,10 +17,11 @@ |
|
|
|
|
#define QUANTUM_H |
|
|
|
|
|
|
|
|
|
#if defined(__AVR__) |
|
|
|
|
#include <avr/pgmspace.h> |
|
|
|
|
#include <avr/io.h> |
|
|
|
|
#include <avr/interrupt.h> |
|
|
|
|
#include <avr/pgmspace.h> |
|
|
|
|
#include <avr/io.h> |
|
|
|
|
#include <avr/interrupt.h> |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#include "wait.h" |
|
|
|
|
#include "matrix.h" |
|
|
|
|
#include "keymap.h" |
|
|
|
@ -130,6 +131,30 @@ extern uint32_t default_layer_state; |
|
|
|
|
#define MIN(x, y) (((x) < (y)) ? (x) : (y)) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __AVR__ |
|
|
|
|
#include <avr/io.h> |
|
|
|
|
#define LINE_TYPE uint8_t |
|
|
|
|
|
|
|
|
|
#define setPadMode(line, mode) _SFR_IO8((line >> 4) + 1) mode _BV(line & 0xF) |
|
|
|
|
#define setPad(line) _SFR_IO8((line >> 4) + 2) |= _BV(line & 0xF) |
|
|
|
|
#define clearPad(line) _SFR_IO8((line >> 4) + 2) &= ~_BV(line & 0xF) |
|
|
|
|
#define readPad(line) (_SFR_IO8(line >> 4) & _BV(line & 0xF)) |
|
|
|
|
|
|
|
|
|
#define PAD_MODE_INPUT &= ~ |
|
|
|
|
#define PAD_MODE_OUTPUT |= |
|
|
|
|
#elif defined(__arm__) |
|
|
|
|
#include "hal.h" |
|
|
|
|
#define LINE_TYPE ioline_t |
|
|
|
|
|
|
|
|
|
#define setPadMode(line, mode) palSetPadMode(PAL_PORT(line), PAL_PAD(line), mode) |
|
|
|
|
#define setPad(line) palSetPad(PAL_PORT(line), PAL_PAD(line)) |
|
|
|
|
#define clearPad(line) palClearPad(PAL_PORT(line), PAL_PAD(line)) |
|
|
|
|
#define readPad(line) palReadPad(PAL_PORT(line), PAL_PAD(line)) |
|
|
|
|
|
|
|
|
|
#define PAD_MODE_INPUT PAL_MODE_INPUT_PULLUP |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define STRINGIZE(z) #z |
|
|
|
|
#define ADD_SLASH_X(y) STRINGIZE(\x ## y) |
|
|
|
|
#define SYMBOL_STR(x) ADD_SLASH_X(x) |
|
|
|
|