diff options
Diffstat (limited to 'keyboards/handwired/promethium/config.h')
| -rw-r--r-- | keyboards/handwired/promethium/config.h | 339 | 
1 files changed, 170 insertions, 169 deletions
| diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h index ba2c25ea1d..48eb39f72d 100644 --- a/keyboards/handwired/promethium/config.h +++ b/keyboards/handwired/promethium/config.h @@ -20,23 +20,26 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #include "config_common.h"  /* USB Device descriptor parameter */ -#define VENDOR_ID       0x17EF // Lenovo +#define VENDOR_ID    0x17EF  // Lenovo  //#define PRODUCT_ID    0x6009 // ThinkPad Keyboard with TrackPoint  //#define PRODUCT_ID    0x6047 // ThinkPad Compact USB Keyboard with TrackPoint -#define PRODUCT_ID      0x6048 // ThinkPad Compact Bluetooth Keyboard with TrackPoint +#define PRODUCT_ID   0x6048  // ThinkPad Compact Bluetooth Keyboard with TrackPoint  //#define PRODUCT_ID    0x6067 // ThinkPad Pro Docking Station -#define DEVICE_VER      0x0001 -#define MANUFACTURER    Priyadi -#define PRODUCT         Promethium Keyboard +#define DEVICE_VER   0x0001 +#define MANUFACTURER Priyadi +#define PRODUCT      Promethium Keyboard  /* key matrix size */ -#define MATRIX_COLS 6 -#define MATRIX_ROWS 9 +#define MATRIX_COLS  6 +#define MATRIX_ROWS  9  /* default pin-out */ -#define MATRIX_COL_PINS { F4, F1, F0, D6, D0, D1 } -#define MATRIX_ROW_PINS { F5, F6, F7 } -#define TRACKPOINT_PINS { B7, B6, D7 } +#define MATRIX_COL_PINS \ +    { F4, F1, F0, D6, D0, D1 } +#define MATRIX_ROW_PINS \ +    { F5, F6, F7, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } +#define TRACKPOINT_PINS \ +    { B7, B6, D7 }  #define UNUSED_PINS  /* @@ -48,15 +51,15 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.   * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)   *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)   * -*/ -#define DIODE_DIRECTION COL2ROW + */ +#define DIODE_DIRECTION      COL2ROW  // #define BACKLIGHT_PIN B7  // #define BACKLIGHT_BREATHING  // #define BACKLIGHT_LEVELS 3  /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 +#define DEBOUNCE             5  /* define if matrix has ghost (lacks anti-ghosting diodes) */  //#define MATRIX_HAS_GHOST @@ -90,9 +93,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  //#define FORCE_NKRO  /* key combination for command */ -#define IS_COMMAND() ( \ -    get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL)) \ -) +#define IS_COMMAND()         (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL)))  /* control how magic key switches layers */  //#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS  true @@ -149,178 +150,178 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  //#define NO_ACTION_FUNCTION  #define PS2_MOUSE_INIT_DELAY 2000 -#define BATTERY_POLL 30000 -#define MAX_VOLTAGE 4.2 -#define MIN_VOLTAGE 3.2 +#define BATTERY_POLL         30000 +#define MAX_VOLTAGE          4.2 +#define MIN_VOLTAGE          3.2 -#ifndef __ASSEMBLER__ // assembler doesn't like enum in .h file +#ifndef __ASSEMBLER__  // assembler doesn't like enum in .h file  enum led_sequence { -  LED_IND_LINUX, -  LED_IND_APPLE, -  LED_IND_WINDOWS, -  LED_IND_QWERTY, -  LED_IND_ALT, -  LED_IND_AUDIO, -  LED_IND_BLUETOOTH, -  LED_IND_USB, - -  LED_IND_BATTERY, -  LED_IND_CAPSLOCK, -  LED_IND_GUI, -  LED_IND_FUN, -  LED_IND_NUM, -  LED_IND_PUNC, -  LED_IND_EMOJI, -  LED_IND_GREEK, - -  LED_BKSP, -  LED_ENT, -  LED_RSFT, -  LED_RCTL, - -  LED_RALT, -  LED_SLSH, -  LED_SCLN, -  LED_P, - -  LED_O, -  LED_L, -  LED_DOT, -  LED_RGUI, - -  LED_GREEK, -  LED_COMM, -  LED_K, -  LED_I, - -  LED_U, -  LED_J, -  LED_M, -  LED_FUN, - -  LED_RSPC, -  LED_N, -  LED_HH, -  LED_Y, - -  LED_TRACKPOINT3, -  LED_TRACKPOINT2, -  LED_TRACKPOINT1, - -  LED_T, -  LED_G, -  LED_B, -  LED_LSPC, - -  LED_NUM, -  LED_V, -  LED_F, -  LED_R, - -  LED_E, -  LED_D, -  LED_C, -  LED_EMPTY, - -  LED_LGUI, -  LED_X, -  LED_S, -  LED_W, - -  LED_Q, -  LED_A, -  LED_Z, -  LED_LALT, - -  LED_LCTL, -  LED_LSFT, -  LED_ESC, -  LED_TAB, - -  LED_TOTAL +    LED_IND_LINUX, +    LED_IND_APPLE, +    LED_IND_WINDOWS, +    LED_IND_QWERTY, +    LED_IND_ALT, +    LED_IND_AUDIO, +    LED_IND_BLUETOOTH, +    LED_IND_USB, + +    LED_IND_BATTERY, +    LED_IND_CAPSLOCK, +    LED_IND_GUI, +    LED_IND_FUN, +    LED_IND_NUM, +    LED_IND_PUNC, +    LED_IND_EMOJI, +    LED_IND_GREEK, + +    LED_BKSP, +    LED_ENT, +    LED_RSFT, +    LED_RCTL, + +    LED_RALT, +    LED_SLSH, +    LED_SCLN, +    LED_P, + +    LED_O, +    LED_L, +    LED_DOT, +    LED_RGUI, + +    LED_GREEK, +    LED_COMM, +    LED_K, +    LED_I, + +    LED_U, +    LED_J, +    LED_M, +    LED_FUN, + +    LED_RSPC, +    LED_N, +    LED_HH, +    LED_Y, + +    LED_TRACKPOINT3, +    LED_TRACKPOINT2, +    LED_TRACKPOINT1, + +    LED_T, +    LED_G, +    LED_B, +    LED_LSPC, + +    LED_NUM, +    LED_V, +    LED_F, +    LED_R, + +    LED_E, +    LED_D, +    LED_C, +    LED_EMPTY, + +    LED_LGUI, +    LED_X, +    LED_S, +    LED_W, + +    LED_Q, +    LED_A, +    LED_Z, +    LED_LALT, + +    LED_LCTL, +    LED_LSFT, +    LED_ESC, +    LED_TAB, + +    LED_TOTAL  }; -#define RGB_DI_PIN B5 -#define RGBSPS_NUM LED_TOTAL +#    define RGB_DI_PIN B5 +#    define RGBSPS_NUM LED_TOTAL  #endif  /* PS/2 mouse */  #ifdef PS2_USE_BUSYWAIT -#   define PS2_CLOCK_PORT  PORTD -#   define PS2_CLOCK_PIN   PIND -#   define PS2_CLOCK_DDR   DDRD -#   define PS2_CLOCK_BIT   3 -#   define PS2_DATA_PORT   PORTD -#   define PS2_DATA_PIN    PIND -#   define PS2_DATA_DDR    DDRD -#   define PS2_DATA_BIT    2 +#    define PS2_CLOCK_PORT PORTD +#    define PS2_CLOCK_PIN  PIND +#    define PS2_CLOCK_DDR  DDRD +#    define PS2_CLOCK_BIT  3 +#    define PS2_DATA_PORT  PORTD +#    define PS2_DATA_PIN   PIND +#    define PS2_DATA_DDR   DDRD +#    define PS2_DATA_BIT   2  #endif  /* PS/2 mouse interrupt version */  #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   3 -#define PS2_DATA_PORT   PORTD -#define PS2_DATA_PIN    PIND -#define PS2_DATA_DDR    DDRD -#define PS2_DATA_BIT    2 - -#define PS2_INT_INIT()  do {    \ -    EICRA |= ((1<<ISC31) |      \ -              (0<<ISC30));      \ -} while (0) -#define PS2_INT_ON()  do {      \ -    EIMSK |= (1<<INT3);         \ -} while (0) -#define PS2_INT_OFF() do {      \ -    EIMSK &= ~(1<<INT3);        \ -} while (0) -#define PS2_INT_VECT    INT3_vect +#    define PS2_CLOCK_PORT PORTD +#    define PS2_CLOCK_PIN  PIND +#    define PS2_CLOCK_DDR  DDRD +#    define PS2_CLOCK_BIT  3 +#    define PS2_DATA_PORT  PORTD +#    define PS2_DATA_PIN   PIND +#    define PS2_DATA_DDR   DDRD +#    define PS2_DATA_BIT   2 + +#    define PS2_INT_INIT()                          \ +        do {                                        \ +            EICRA |= ((1 << ISC31) | (0 << ISC30)); \ +        } while (0) +#    define PS2_INT_ON()          \ +        do {                      \ +            EIMSK |= (1 << INT3); \ +        } while (0) +#    define PS2_INT_OFF()          \ +        do {                       \ +            EIMSK &= ~(1 << INT3); \ +        } while (0) +#    define PS2_INT_VECT INT3_vect  #endif  /* PS/2 mouse USART version */  #ifdef PS2_USE_USART  /* XCK for clock line and RXD for data line */ -#define PS2_CLOCK_PORT  PORTD -#define PS2_CLOCK_PIN   PIND -#define PS2_CLOCK_DDR   DDRD -#define PS2_CLOCK_BIT   5 -#define PS2_DATA_PORT   PORTD -#define PS2_DATA_PIN    PIND -#define PS2_DATA_DDR    DDRD -#define PS2_DATA_BIT    2 +#    define PS2_CLOCK_PORT PORTD +#    define PS2_CLOCK_PIN  PIND +#    define PS2_CLOCK_DDR  DDRD +#    define PS2_CLOCK_BIT  5 +#    define PS2_DATA_PORT  PORTD +#    define PS2_DATA_PIN   PIND +#    define PS2_DATA_DDR   DDRD +#    define PS2_DATA_BIT   2  /* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */  /* set DDR of CLOCK as input to be slave */ -#define PS2_USART_INIT() do {   \ -    PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT);   \ -    PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT);     \ -    UCSR1C = ((1 << UMSEL10) |  \ -              (3 << UPM10)   |  \ -              (0 << USBS1)   |  \ -              (3 << UCSZ10)  |  \ -              (0 << UCPOL1));   \ -    UCSR1A = 0;                 \ -    UBRR1H = 0;                 \ -    UBRR1L = 0;                 \ -} while (0) -#define PS2_USART_RX_INT_ON() do {  \ -    UCSR1B = ((1 << RXCIE1) |       \ -              (1 << RXEN1));        \ -} while (0) -#define PS2_USART_RX_POLL_ON() do { \ -    UCSR1B = (1 << RXEN1);          \ -} while (0) -#define PS2_USART_OFF() do {    \ -    UCSR1C = 0;                 \ -    UCSR1B &= ~((1 << RXEN1) |  \ -                (1 << TXEN1));  \ -} while (0) -#define PS2_USART_RX_READY      (UCSR1A & (1<<RXC1)) -#define PS2_USART_RX_DATA       UDR1 -#define PS2_USART_ERROR         (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1))) -#define PS2_USART_RX_VECT       USART1_RX_vect +#    define PS2_USART_INIT()                                                                         \ +        do {                                                                                         \ +            PS2_CLOCK_DDR &= ~(1 << PS2_CLOCK_BIT);                                                  \ +            PS2_DATA_DDR &= ~(1 << PS2_DATA_BIT);                                                    \ +            UCSR1C = ((1 << UMSEL10) | (3 << UPM10) | (0 << USBS1) | (3 << UCSZ10) | (0 << UCPOL1)); \ +            UCSR1A = 0;                                                                              \ +            UBRR1H = 0;                                                                              \ +            UBRR1L = 0;                                                                              \ +        } while (0) +#    define PS2_USART_RX_INT_ON()                    \ +        do {                                         \ +            UCSR1B = ((1 << RXCIE1) | (1 << RXEN1)); \ +        } while (0) +#    define PS2_USART_RX_POLL_ON() \ +        do {                       \ +            UCSR1B = (1 << RXEN1); \ +        } while (0) +#    define PS2_USART_OFF()                           \ +        do {                                          \ +            UCSR1C = 0;                               \ +            UCSR1B &= ~((1 << RXEN1) | (1 << TXEN1)); \ +        } while (0) +#    define PS2_USART_RX_READY (UCSR1A & (1 << RXC1)) +#    define PS2_USART_RX_DATA  UDR1 +#    define PS2_USART_ERROR    (UCSR1A & ((1 << FE1) | (1 << DOR1) | (1 << UPE1))) +#    define PS2_USART_RX_VECT  USART1_RX_vect  #endif | 
