~ruther/qmk_firmware

5cac51a773bef7fc8064390ac3ee499121a9611d — climbalima 8 years ago 1dd6ceb + bce6e52
Merge https://github.com/climbalima/qmk_firmware
M keyboards/lets_split/Makefile => keyboards/lets_split/Makefile +79 -0
@@ 1,3 1,82 @@
<<<<<<< HEAD
ifndef MAKEFILE_INCLUDED
=======
SRC += matrix.c \
	   i2c.c \
	   split_util.c \
	   serial.c

# MCU name
#MCU = at90usb1287
MCU = atmega32u4

# Processor frequency.
#     This will define a symbol, F_CPU, in all source code files equal to the
#     processor frequency in Hz. You can then use this symbol in your source code to
#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
#     automatically to create a 32-bit value in your source code.
#
#     This will be an integer division of F_USB below, as it is sourced by
#     F_USB after it has run through any CPU prescalers. Note that this value
#     does not *change* the processor frequency - it should merely be updated to
#     reflect the processor speed set externally so that the code can use accurate
#     software delays.
F_CPU = 16000000

#
# LUFA specific
#
# Target architecture (see library "Board Types" documentation).
ARCH = AVR8

# Input clock frequency.
#     This will define a symbol, F_USB, in all source code files equal to the
#     input clock frequency (before any prescaling is performed) in Hz. This value may
#     differ from F_CPU if prescaling is used on the latter, and is required as the
#     raw input clock is fed directly to the PLL sections of the AVR for high speed
#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
#     at the end, this will be done automatically to create a 32-bit value in your
#     source code.
#
#     If no clock division is performed on the input clock inside the AVR (via the
#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
F_USB = $(F_CPU)

# Interrupt driven control endpoint task(+60)
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT


# Boot Section Size in *bytes*
#   Teensy halfKay   512
#   Teensy++ halfKay 1024
#   Atmel DFU loader 4096
#   LUFA bootloader  4096
#   USBaspLoader     2048
OPT_DEFS += -DBOOTLOADER_SIZE=4096

# Build Options
#   change to "no" to disable the options, or define them in the Makefile in 
#   the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE ?= no       # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE ?= yes       # Mouse keys(+4700)
EXTRAKEY_ENABLE ?= yes       # Audio control and System control(+450)
CONSOLE_ENABLE ?= no         # Console for debug(+400)
COMMAND_ENABLE ?= yes        # Commands for debug and configuration
NKRO_ENABLE ?= no            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE ?= no      # Enable keyboard backlight functionality
MIDI_ENABLE ?= no            # MIDI controls
AUDIO_ENABLE ?= yes           # Audio output on port C6
UNICODE_ENABLE ?= no         # Unicode
BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE ?= no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
USE_I2C ?= yes
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE ?= no    # Breathing sleep LED during USB suspend

CUSTOM_MATRIX = yes
SUBPROJECT_DEFAULT = rev2
ifndef QUANTUM_DIR
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
	include ../../Makefile
endif
\ No newline at end of file

M keyboards/lets_split/config.h => keyboards/lets_split/config.h +10 -0
@@ 61,6 61,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
<<<<<<< HEAD
=======
<<<<<<< HEAD
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
#ifdef SUBPROJECT_rev1
    #include "rev1/config.h"
#endif


@@ 68,3 72,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
    #include "rev2/config.h"
#endif
#endif
<<<<<<< HEAD
=======



>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df

M keyboards/lets_split/keymaps/default/keymap.c => keyboards/lets_split/keymaps/default/keymap.c +21 -28
@@ 29,6 29,7 @@ enum custom_keycodes {
#define XXXXXXX KC_NO

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
<<<<<<< HEAD

/* Qwerty
 * ,-----------------------------------------------------------------------------------.


@@ 82,41 83,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH, \
  KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_ENT , \
  ADJUST,  KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT \
=======
[0] = KEYMAP( \
  KC_ESC,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_DEL, \
  KC_TAB,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, \
  KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT , \
  KC_LCTL, _LOWER, KC_LGUI, KC_LALT, MO(_LOWER),   KC_SPC,  KC_SPC,  MO(_RAISE),   KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
),

/* Lower
 * ,-----------------------------------------------------------------------------------.
 * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
 * |------+------+------+------+------+-------------+------+------+------+------+------|
 * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |     |    \  |  |   |
 * |------+------+------+------+------+------|------+------+------+------+------+------|
 * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO ~ |ISO | |      |      |Enter |
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play |
 * `-----------------------------------------------------------------------------------'
 */
[_LOWER] = KEYMAP( \
  KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
[3] = KEYMAP( \
  KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
  KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
  _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, \
<<<<<<< HEAD
  _______, _______, _______, _______, _______, KC_BSPC, MT(MOD_LSFT, KC_BSPC), _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
=======
  _______, _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
),

/* Raise
 * ,-----------------------------------------------------------------------------------.
 * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
 * |------+------+------+------+------+-------------+------+------+------+------+------|
 * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   -  |   =  |   [  |   ]  |  \   |
 * |------+------+------+------+------+------|------+------+------+------+------+------|
 * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO # |ISO / |      |      |Enter |
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play |
 * `-----------------------------------------------------------------------------------'
 */
[_RAISE] = KEYMAP( \
  KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, \
[4] = KEYMAP( \
  KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    _______, \
  KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, \
  _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, _______, _______, _______, \
<<<<<<< HEAD
  _______, _______, _______, _______, _______, KC_ENT, MT(MOD_LSFT, KC_ENT), _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
),



@@ 139,6 128,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)


=======
  _______, _______, _______, _______, _______, KC_ENT, KC_ENT, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
),
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
};

#ifdef AUDIO_ENABLE

M keyboards/lets_split/lets_split.c => keyboards/lets_split/lets_split.c +4 -0
@@ 1,2 1,6 @@
#include "lets_split.h"

<<<<<<< HEAD
=======

>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df

M keyboards/lets_split/rev1/config.h => keyboards/lets_split/rev1/config.h +18 -0
@@ 25,7 25,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define PRODUCT_ID      0x3060
#define DEVICE_VER      0x0001
#define MANUFACTURER    Wootpatoot
<<<<<<< HEAD
#define PRODUCT         Lets Split
=======
#define PRODUCT         Lets Split v1
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
#define DESCRIPTION     A split keyboard for the cheap makers

/* key matrix size */


@@ 41,11 45,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

// #define USE_I2C

<<<<<<< HEAD
// Use serial if not using I2C
#ifndef USE_I2C
#  define USE_SERIAL
#endif

=======
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
// #define EE_HANDS

#define I2C_MASTER_LEFT


@@ 74,9 81,16 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
)

/* ws2812 RGB LED */
<<<<<<< HEAD
#define RGB_DI_PIN D4
#define RGBLIGHT_TIMER
#define RGBLED_NUM 8     // Number of LEDs
=======
#define ws2812_PORTREG  PORTD
#define ws2812_DDRREG   DDRD
#define ws2812_pin PD1
#define RGBLED_NUM 28     // Number of LEDs
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17


@@ 99,4 113,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION

<<<<<<< HEAD
#endif
=======
#endif
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df

M keyboards/lets_split/rev1/rev1.c => keyboards/lets_split/rev1/rev1.c +6 -0
@@ 24,9 24,15 @@ void matrix_init_kb(void) {
};

void shutdown_user(void) {
<<<<<<< HEAD
    #ifdef AUDIO_ENABLE
        PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
	_delay_ms(150);
	stop_all_notes();
    #endif
=======
    PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
    _delay_ms(150);
    stop_all_notes();
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
}

M keyboards/lets_split/rev1/rev1.h => keyboards/lets_split/rev1/rev1.h +6 -0
@@ 1,9 1,15 @@
#ifndef REV1_H
#define REV1_H

<<<<<<< HEAD
#include "../lets_split.h"

//void promicro_bootloader_jmp(bool program);
=======
#include "quantum.h"

void promicro_bootloader_jmp(bool program);
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df

#define KEYMAP( \
	k00, k01, k02, k03, k04, k05, k40, k41, k42, k43, k44, k45, \

M keyboards/lets_split/rev2/config.h => keyboards/lets_split/rev2/config.h +14 -0
@@ 41,11 41,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

// #define USE_I2C

<<<<<<< HEAD
// Use serial if not using I2C
#ifndef USE_I2C
#  define USE_SERIAL
#endif

=======
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
// #define EE_HANDS

#define I2C_MASTER_LEFT


@@ 74,9 77,16 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
)

/* ws2812 RGB LED */
<<<<<<< HEAD
#define RGB_DI_PIN D3
#define RGBLIGHT_TIMER
#define RGBLED_NUM 12    // Number of LEDs
=======
#define ws2812_PORTREG  PORTD
#define ws2812_DDRREG   DDRD
#define ws2812_pin PD1
#define RGBLED_NUM 28     // Number of LEDs
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17


@@ 99,4 109,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION

<<<<<<< HEAD
#endif
=======
#endif
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df

M keyboards/lets_split/rev2/rev2.c => keyboards/lets_split/rev2/rev2.c +6 -0
@@ 24,9 24,15 @@ void matrix_init_kb(void) {
};

void shutdown_user(void) {
<<<<<<< HEAD
    #ifdef AUDIO_ENABLE
        PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
	_delay_ms(150);
	stop_all_notes();
    #endif
=======
    PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
    _delay_ms(150);
    stop_all_notes();
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
}

M keyboards/lets_split/rev2/rev2.h => keyboards/lets_split/rev2/rev2.h +6 -0
@@ 1,9 1,15 @@
#ifndef REV2_H
#define REV2_H

<<<<<<< HEAD
#include "../lets_split.h"

//void promicro_bootloader_jmp(bool program);
=======
#include "quantum.h"

void promicro_bootloader_jmp(bool program);
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df

#define KEYMAP( \
	k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \

M keyboards/maxipad/Makefile => keyboards/maxipad/Makefile +79 -1
@@ 1,3 1,81 @@
<<<<<<< HEAD
ifndef MAKEFILE_INCLUDED
	include ../../Makefile
endif
\ No newline at end of file
endif
=======


# MCU name
#MCU = at90usb1287
MCU = atmega32u4

# Processor frequency.
#     This will define a symbol, F_CPU, in all source code files equal to the
#     processor frequency in Hz. You can then use this symbol in your source code to
#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
#     automatically to create a 32-bit value in your source code.
#
#     This will be an integer division of F_USB below, as it is sourced by
#     F_USB after it has run through any CPU prescalers. Note that this value
#     does not *change* the processor frequency - it should merely be updated to
#     reflect the processor speed set externally so that the code can use accurate
#     software delays.
F_CPU = 16000000


#
# LUFA specific
#
# Target architecture (see library "Board Types" documentation).
ARCH = AVR8

# Input clock frequency.
#     This will define a symbol, F_USB, in all source code files equal to the
#     input clock frequency (before any prescaling is performed) in Hz. This value may
#     differ from F_CPU if prescaling is used on the latter, and is required as the
#     raw input clock is fed directly to the PLL sections of the AVR for high speed
#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
#     at the end, this will be done automatically to create a 32-bit value in your
#     source code.
#
#     If no clock division is performed on the input clock inside the AVR (via the
#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
F_USB = $(F_CPU)

# Interrupt driven control endpoint task(+60)
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT


# Boot Section Size in *bytes*
#   Teensy halfKay   512
#   Teensy++ halfKay 1024
#   Atmel DFU loader 4096
#   LUFA bootloader  4096
#   USBaspLoader     2048
OPT_DEFS += -DBOOTLOADER_SIZE=512


# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE ?= no      # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE ?= yes       # Mouse keys(+4700)
EXTRAKEY_ENABLE ?= yes       # Audio control and System control(+450)
CONSOLE_ENABLE ?= yes        # Console for debug(+400)
COMMAND_ENABLE ?= yes        # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE ?= no       # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE ?= no            # USB Nkey Rollover
BACKLIGHT_ENABLE ?= no       # Enable keyboard backlight functionality on B7 by default
MIDI_ENABLE ?= no            # MIDI controls
UNICODE_ENABLE ?= no         # Unicode
BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE ?= no           # Audio output on port C6

ifndef QUANTUM_DIR
	include ../../Makefile
endif


>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df

M keyboards/maxipad/config.h => keyboards/maxipad/config.h +6 -0
@@ 24,9 24,15 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define VENDOR_ID       0xFEED
#define PRODUCT_ID      0x6060
#define DEVICE_VER      0x0001
<<<<<<< HEAD
#define MANUFACTURER    You
#define PRODUCT         maxipad
#define DESCRIPTION     A custom keyboard
=======
#define MANUFACTURER    Wootpatoot
#define PRODUCT         maxipad
#define DESCRIPTION     g8ming keeb
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df

/* key matrix size */
#define MATRIX_ROWS 5

M keyboards/maxipad/keymaps/default/keymap.c => keyboards/maxipad/keymaps/default/keymap.c +5 -0
@@ 10,8 10,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = KEYMAP(
  KC_GRV,  KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, \
<<<<<<< HEAD
  KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, \
  KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, \
=======
  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df
  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS  \
),

M keyboards/maxipad/readme.md => keyboards/maxipad/readme.md +18 -0
@@ 3,7 3,11 @@ maxipad keyboard firmware

## Quantum MK Firmware

<<<<<<< HEAD
For the full Quantum feature list, see [the parent readme](/).
=======
For the full Quantum feature list, see [the parent readme.md](/doc/readme.md).
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df

## Building



@@ 13,12 17,17 @@ Depending on which keymap you would like to use, you will have to compile slight

### Default

<<<<<<< HEAD
To build with the default keymap, simply run `make default`.
=======
To build with the default keymap, simply run `make`.
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df

### Other Keymaps

Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files.

<<<<<<< HEAD
To build the firmware binary hex file with a keymap just do `make` with a keymap like this:

```


@@ 26,3 35,12 @@ $ make [default|jack|<name>]
```

Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
=======
To build the firmware binary hex file with a keymap just do `make` with `keymap` option like:

```
$ make keymap=[default|jack|<name>]
```

Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/`
>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df