qmk

QMK Firmware
git clone git://git.z3bra.org/qmk.git
Log | Files | Refs | Submodules | LICENSE

config.h (4038B)


      1 /*
      2  * Copyright 2018 Jack Humbert <jack.humb@gmail.com>
      3  *
      4  * This program is free software: you can redistribute it and/or modify
      5  * it under the terms of the GNU General Public License as published by
      6  * the Free Software Foundation, either version 2 of the License, or
      7  * (at your option) any later version.
      8  *
      9  * This program is distributed in the hope that it will be useful,
     10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     12  * GNU General Public License for more details.
     13  *
     14  * You should have received a copy of the GNU General Public License
     15  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
     16  */
     17 
     18 #ifndef REV6_CONFIG_H
     19 #define REV6_CONFIG_H
     20 
     21 /* USB Device descriptor parameter */
     22 #define DEVICE_VER 0x0006
     23 
     24 #undef MATRIX_ROWS
     25 #undef MATRIX_COLS
     26 /* key matrix size */
     27 #define MATRIX_ROWS 8
     28 #define MATRIX_COLS 6
     29 
     30 /*
     31  * Keyboard Matrix Assignments
     32  *
     33  * Change this to how you wired your keyboard
     34  * COLS: AVR pins used for columns, left to right
     35  * ROWS: AVR pins used for rows, top to bottom
     36  * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
     37  *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
     38  *
     39 */
     40 /* Note: These are not used for arm boards. They're here purely as documentation.
     41  * #define MATRIX_ROW_PINS { PB0, PB1, PB2, PA15, PA10 }
     42  * #define MATRIX_COL_PINS { PA2, PA3, PA6, PB14, PB15, PA8, PA9, PA7, PB3, PB4, PC14, PC15, PC13, PB5, PB6 }
     43  * #define UNUSED_PINS
     44  */
     45 
     46 #define ENCODERS_PAD_A { B12 }
     47 #define ENCODERS_PAD_B { B13 }
     48 
     49 #define MUSIC_MAP
     50 #undef AUDIO_VOICES
     51 #undef C6_AUDIO
     52 
     53 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
     54 // #define DEBOUNCE 6
     55 
     56 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
     57 //#define LOCKING_SUPPORT_ENABLE
     58 /* Locking resynchronize hack */
     59 //#define LOCKING_RESYNC_ENABLE
     60 
     61 /*
     62  * Force NKRO
     63  *
     64  * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
     65  * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
     66  * makefile for this to work.)
     67  *
     68  * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
     69  * until the next keyboard reset.
     70  *
     71  * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
     72  * fully operational during normal computer usage.
     73  *
     74  * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
     75  * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
     76  * bootmagic, NKRO mode will always be enabled until it is toggled again during a
     77  * power-up.
     78  *
     79  */
     80 //#define FORCE_NKRO
     81 
     82 /*
     83  * Feature disable options
     84  *  These options are also useful to firmware size reduction.
     85  */
     86 
     87 /* disable debug print */
     88 //#define NO_DEBUG
     89 
     90 /* disable print */
     91 //#define NO_PRINT
     92 
     93 /* disable action features */
     94 //#define NO_ACTION_LAYER
     95 //#define NO_ACTION_TAPPING
     96 //#define NO_ACTION_ONESHOT
     97 //#define NO_ACTION_MACRO
     98 //#define NO_ACTION_FUNCTION
     99 
    100 /*
    101  * MIDI options
    102  */
    103 
    104 /* Prevent use of disabled MIDI features in the keymap */
    105 //#define MIDI_ENABLE_STRICT 1
    106 
    107 /* enable basic MIDI features:
    108    - MIDI notes can be sent when in Music mode is on
    109 */
    110 //#define MIDI_BASIC
    111 
    112 /* enable advanced MIDI features:
    113    - MIDI notes can be added to the keymap
    114    - Octave shift and transpose
    115    - Virtual sustain, portamento, and modulation wheel
    116    - etc.
    117 */
    118 //#define MIDI_ADVANCED
    119 
    120 /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
    121 //#define MIDI_TONE_KEYCODE_OCTAVES 1
    122 
    123 #define WS2812_LED_N 2
    124 #define RGBLED_NUM WS2812_LED_N
    125 #define WS2812_TIM_N 2
    126 #define WS2812_TIM_CH 2
    127 #define PORT_WS2812     GPIOA
    128 #define PIN_WS2812      1
    129 #define WS2812_DMA_STREAM STM32_DMA1_STREAM2  // DMA stream for TIMx_UP (look up in reference manual under DMA Channel selection)
    130 //#define WS2812_DMA_CHANNEL 7                  // DMA channel for TIMx_UP
    131 //#define WS2812_EXTERNAL_PULLUP
    132 
    133 #endif