X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=quantum%2Fconfig_common.h;h=0b2e408a43f238e5b5ad7d04942f12a1b4649667;hb=cc738e32dd02cbc6e10f3e229332390d3b886e4d;hp=da53fce89b5b8ddaeabb40469433b20bf21dd32f;hpb=35a81f5b8b081e1607a7c04489b01f551c3213cc;p=qmk_firmware.git
diff --git a/quantum/config_common.h b/quantum/config_common.h
index da53fce89..0b2e408a4 100644
--- a/quantum/config_common.h
+++ b/quantum/config_common.h
@@ -1,116 +1,295 @@
-#ifndef CONFIG_DEFINITIONS_H
-#define CONFIG_DEFINITIONS_H
+/* Copyright 2015-2018 Jack Humbert
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
-#define B0 0x20
-#define B1 0x21
-#define B2 0x22
-#define B3 0x23
-#define B4 0x24
-#define B5 0x25
-#define B6 0x26
-#define B7 0x27
-#define C0 0x30
-#define C1 0x31
-#define C2 0x32
-#define C3 0x33
-#define C4 0x34
-#define C5 0x35
-#define C6 0x36
-#define C7 0x37
-#define D0 0x40
-#define D1 0x41
-#define D2 0x42
-#define D3 0x43
-#define D4 0x44
-#define D5 0x45
-#define D6 0x46
-#define D7 0x47
-#define E0 0x50
-#define E1 0x51
-#define E2 0x52
-#define E3 0x53
-#define E4 0x54
-#define E5 0x55
-#define E6 0x56
-#define E7 0x57
-#define F0 0x60
-#define F1 0x61
-#define F2 0x62
-#define F3 0x63
-#define F4 0x64
-#define F5 0x65
-#define F6 0x66
-#define F7 0x67
+#pragma once
-#define COL2ROW 0x0
-#define ROW2COL 0x1
+/* diode directions */
+#define COL2ROW 0
+#define ROW2COL 1
+#define CUSTOM_MATRIX 2 /* Disables built-in matrix scanning code */
-#ifdef BLUETOOTH_ENABLE
-#ifdef __AVR_ATmega32U4__
- #define SERIAL_UART_BAUD 9600
- #define SERIAL_UART_DATA UDR1
- #define SERIAL_UART_UBRR ((F_CPU/(16UL*SERIAL_UART_BAUD))-1)
- #define SERIAL_UART_RXD_VECT USART1_RX_vect
- #define SERIAL_UART_TXD_READY (UCSR1A&(1<>8); /* baud rate */ \
- UCSR1B = (1<
+ #endif
+ #define PORT_SHIFTER 4 // this may be 4 for all AVR chips
-// I'm fairly sure these aren't needed, but oh well - Jack
+ // If you want to add more to this list, reference the PINx definitions in these header
+ // files: https://github.com/vancegroup-mirrors/avr-libc/tree/master/avr-libc/include/avr
-/*
- * PS/2 Interrupt configuration
- */
-#ifdef PS2_USE_INT
-/* uses INT1 for clock line(ATMega32U4) */
-#define PS2_CLOCK_PORT PORTD
-#define PS2_CLOCK_PIN PIND
-#define PS2_CLOCK_DDR DDRD
-#define PS2_CLOCK_BIT 1
+ #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega16U4__)
+ #define ADDRESS_BASE 0x00
+ #define PINB_ADDRESS 0x3
+ #define PINC_ADDRESS 0x6
+ #define PIND_ADDRESS 0x9
+ #define PINE_ADDRESS 0xC
+ #define PINF_ADDRESS 0xF
+ #elif defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U2__)
+ #define ADDRESS_BASE 0x00
+ #define PINB_ADDRESS 0x3
+ #define PINC_ADDRESS 0x6
+ #define PIND_ADDRESS 0x9
+ #elif defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__)
+ #define ADDRESS_BASE 0x00
+ #define PINA_ADDRESS 0x0
+ #define PINB_ADDRESS 0x3
+ #define PINC_ADDRESS 0x6
+ #define PIND_ADDRESS 0x9
+ #define PINE_ADDRESS 0xC
+ #define PINF_ADDRESS 0xF
+ #elif defined(__AVR_ATmega32A__)
+ #define ADDRESS_BASE 0x10
+ #define PIND_ADDRESS 0x0
+ #define PINC_ADDRESS 0x3
+ #define PINB_ADDRESS 0x6
+ #define PINA_ADDRESS 0x9
+ #else
+ #error "Pins are not defined"
+ #endif
-#define PS2_DATA_PORT PORTD
-#define PS2_DATA_PIN PIND
-#define PS2_DATA_DDR DDRD
-#define PS2_DATA_BIT 0
+ /* I/O pins */
+ #define PINDEF(port, pin) ((PIN##port##_ADDRESS << PORT_SHIFTER) | pin)
-#define PS2_INT_INIT() do { \
- EICRA |= ((1<> 8; \
+ /* enable TX */ \
+ UCSR1B = _BV(TXEN1); \
+ /* 8-bit data */ \
+ UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
+ sei(); \
+ } while(0)
+# else
+# error "USART configuration is needed."
+# endif
#endif
+#define API_SYSEX_MAX_SIZE 32
+
+#include "song_list.h"