~ruther/qmk_firmware

745f5f65325ccd1705a3c55804a663522632e67e — Xelus22 4 years ago eb28863
[Keyboard] Add Constellation Rev2 (#13103)

M keyboards/aeboards/constellation/constellation.c => keyboards/aeboards/constellation/constellation.c +2 -1
@@ 1,4 1,5 @@
/* Copyright 2018 Jason Williams (Wilba)
 * Copyright 2021 Harrison Chan (Xelus)
 *
 * 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


@@ 16,4 17,4 @@

// Nothing to see here, move along... ;-)

#include "constellation.h"
\ No newline at end of file
#include "constellation.h"

M keyboards/aeboards/constellation/constellation.h => keyboards/aeboards/constellation/constellation.h +6 -15
@@ 1,4 1,5 @@
/* Copyright 2018 Jason Williams (Wilba)
 * Copyright 2021 Harrison Chan (Xelus)
 *
 * 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


@@ 18,18 19,8 @@

#include "quantum.h"

#define ____ KC_NO

#define LAYOUT_all( \
  K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014,  \
  K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113,       K114, \
  K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212,             K214, \
  K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312,             K313, K314, \
  K400, K401, K402,             K408,                   K409, K410,             K412, K413, K414  \
) { \
  { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
  { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
  { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
  { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \
  { K400, K401, K402, ____, ____, ____, ____, ____, K408, K409, K410, ____, K412, K413, K414 } \
}
#if defined(KEYBOARD_aeboards_constellation_rev1)
    #include "rev1.h"
#elif defined(KEYBOARD_aeboards_constellation_rev2)
    #include "rev2.h"
#endif

R keyboards/aeboards/constellation/config.h => keyboards/aeboards/constellation/rev1/config.h +2 -1
@@ 1,4 1,5 @@
/* Copyright 2018 Jason Williams (Wilba)
 * Copyright 2021 Harrison Chan (Xelus)
 *
 * 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


@@ 23,7 24,7 @@
#define PRODUCT_ID      0x065C // 65 - Constellation
#define DEVICE_VER      0x0001
#define MANUFACTURER    AEBoards
#define PRODUCT         AEBoards Constellation
#define PRODUCT         AEBoards Constellation Rev1

/* key matrix size */
#define MATRIX_ROWS 5

R keyboards/aeboards/constellation/info.json => keyboards/aeboards/constellation/rev1/info.json +0 -0
A keyboards/aeboards/constellation/rev1/readme.md => keyboards/aeboards/constellation/rev1/readme.md +20 -0
@@ 0,0 1,20 @@
# CONSTELLATION REV1

A gasket 65% keyboard by [aeboards](https://aeboards.com/)

* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
* Hardware Supported: CONSTELLATION
* Hardware Availability: Custom keyboard group buys

Make example for this keyboard (after setting up your build environment):

    make aeboards/constellation/rev1:default

Reset your keyboard in 3 ways:
<ol>
<li>Software reset on Fn + Backspace</li>
<li>Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard</li>
<li>Physical reset: on the back of the PCB, there is a ISP header which you should short the RST and GND together</li>
</ol>

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

A keyboards/aeboards/constellation/rev1/rev1.c => keyboards/aeboards/constellation/rev1/rev1.c +18 -0
@@ 0,0 1,18 @@
/* Copyright 2018 Jason Williams (Wilba)
 * Copyright 2021 Harrison Chan (Xelus)
 *
 * 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 <http://www.gnu.org/licenses/>.
 */

#include "rev1.h"

A keyboards/aeboards/constellation/rev1/rev1.h => keyboards/aeboards/constellation/rev1/rev1.h +36 -0
@@ 0,0 1,36 @@
/* Copyright 2018 Jason Williams (Wilba)
 * Copyright 2021 Harrison Chan (Xelus)
 *
 * 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 <http://www.gnu.org/licenses/>.
 */

#pragma once

#include "quantum.h"

#define ____ KC_NO

#define LAYOUT_all( \
  K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014,  \
  K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113,       K114, \
  K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212,             K214, \
  K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312,             K313, K314, \
  K400, K401, K402,             K408,                   K409, K410,             K412, K413, K414  \
) { \
  { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
  { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
  { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
  { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \
  { K400, K401, K402, ____, ____, ____, ____, ____, K408, K409, K410, ____, K412, K413, K414 } \
}

A keyboards/aeboards/constellation/rev1/rules.mk => keyboards/aeboards/constellation/rev1/rules.mk +22 -0
@@ 0,0 1,22 @@
# MCU name
MCU = atmega32u4

# Bootloader selection
BOOTLOADER = atmel-dfu

# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes       # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = yes        # Console for debug
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 = yes           # USB Nkey Rollover
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output
LTO_ENABLE = yes

A keyboards/aeboards/constellation/rev2/config.h => keyboards/aeboards/constellation/rev2/config.h +61 -0
@@ 0,0 1,61 @@
/* Copyright 2021 Harrison Chan (Xelus)
 *
 * 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 <http://www.gnu.org/licenses/>.
 */

#pragma once

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID       0x4145 // AE
#define PRODUCT_ID      0x065C // 65 - Constellation
#define DEVICE_VER      0x0001
#define MANUFACTURER    AEBoards
#define PRODUCT         AEBoards Constellation Rev2

/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15

/* key matrix pins */
#define MATRIX_ROW_PINS { B15, A14, A2, B13, B14 }
#define MATRIX_COL_PINS { B12, H0, C15, C14, B11, B10, B2, B1, B0, A7, A6, A5, A4, A3 }
#define UNUSED_PINS

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5

/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE

/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

// I2C setup
#define I2C1_SCL            8
#define I2C1_SDA            9
#define I2C1_SCL_PAL_MODE   4
#define I2C1_SDA_PAL_MODE   4
#define I2C1_TIMINGR_PRESC  0U
#define I2C1_TIMINGR_SCLDEL 11U
#define I2C1_TIMINGR_SDADEL 0U
#define I2C1_TIMINGR_SCLH   14U
#define I2C1_TIMINGR_SCLL   42U

// I2C EEPROM
#define EEPROM_I2C_24LC64

A keyboards/aeboards/constellation/rev2/halconf.h => keyboards/aeboards/constellation/rev2/halconf.h +27 -0
@@ 0,0 1,27 @@
/* Copyright 2020 QMK
 *
 * 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 <http://www.gnu.org/licenses/>.
 */

/*
 * This file was auto-generated by:
 *    `qmk chibios-confmigrate -i keyboards/aeboards/ext65/rev2/halconf.h -r platforms/chibios/common/configs/halconf.h`
 */

#pragma once

#define HAL_USE_I2C TRUE

#include_next <halconf.h>


A keyboards/aeboards/constellation/rev2/info.json => keyboards/aeboards/constellation/rev2/info.json +85 -0
@@ 0,0 1,85 @@
{
    "keyboard_name": "Constellation",
    "url": "",
    "maintainer": "Xelus22",
    "width": 16,
    "height": 5,
    "layouts": {
        "LAYOUT_all": {
            "layout": [
                {"x":0, "y":0},
                {"x":1, "y":0},
                {"x":2, "y":0},
                {"x":3, "y":0},
                {"x":4, "y":0},
                {"x":5, "y":0},
                {"x":6, "y":0},
                {"x":7, "y":0},
                {"x":8, "y":0},
                {"x":9, "y":0},
                {"x":10, "y":0},
                {"x":11, "y":0},
                {"x":12, "y":0},
                {"x":13, "y":0},
                {"x":14, "y":0},
                {"x":15, "y":0},

                {"x":0, "y":1, "w":1.5},
                {"x":1.5, "y":1},
                {"x":2.5, "y":1},
                {"x":3.5, "y":1},
                {"x":4.5, "y":1},
                {"x":5.5, "y":1},
                {"x":6.5, "y":1},
                {"x":7.5, "y":1},
                {"x":8.5, "y":1},
                {"x":9.5, "y":1},
                {"x":10.5, "y":1},
                {"x":11.5, "y":1},
                {"x":12.5, "y":1},
                {"x":13.5, "y":1, "w":1.5},
                {"x":15, "y":1},

                {"x":0, "y":2, "w":1.75},
                {"x":1.75, "y":2},
                {"x":2.75, "y":2},
                {"x":3.75, "y":2},
                {"x":4.75, "y":2},
                {"x":5.75, "y":2},
                {"x":6.75, "y":2},
                {"x":7.75, "y":2},
                {"x":8.75, "y":2},
                {"x":9.75, "y":2},
                {"x":10.75, "y":2},
                {"label":"\"", "x":11.75, "y":2},
                {"x":12.75, "y":2, "w":2.25},
                {"x":15, "y":2},

                {"x":0, "y":3, "w":2.25},
                {"x":2.25, "y":3},
                {"x":3.25, "y":3},
                {"x":4.25, "y":3},
                {"x":5.25, "y":3},
                {"x":6.25, "y":3},
                {"x":7.25, "y":3},
                {"x":8.25, "y":3},
                {"x":9.25, "y":3},
                {"x":10.25, "y":3},
                {"x":11.25, "y":3},
                {"x":12.25, "y":3, "w":1.75},
                {"x":14, "y":3},
                {"x":15, "y":3},

                {"x":0, "y":4, "w":1.25},
                {"x":1.25, "y":4, "w":1.25},
                {"x":2.5, "y":4, "w":1.25},
                {"x":3.75, "y":4, "w":6.25},
                {"x":10, "y":4, "w":1.5},
                {"x":11.5, "y":4, "w":1.5},
                {"x":13, "y":4},
                {"x":14, "y":4},
                {"x":15, "y":4}
            ]
        }
    }
}

A keyboards/aeboards/constellation/rev2/mcuconf.h => keyboards/aeboards/constellation/rev2/mcuconf.h +27 -0
@@ 0,0 1,27 @@
/* Copyright 2020 QMK
 *
 * 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 <http://www.gnu.org/licenses/>.
 */

/*
 * This file was auto-generated by:
 *    `qmk chibios-confmigrate -i keyboards/aeboards/ext65/rev2/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
 */

#pragma once

#include_next <mcuconf.h>

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE

A keyboards/aeboards/constellation/rev2/readme.md => keyboards/aeboards/constellation/rev2/readme.md +20 -0
@@ 0,0 1,20 @@
# CONSTELLATION REV2

A gasket 65% keyboard by [aeboards](https://aeboards.com/)

* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
* Hardware Supported: CONSTELLATION
* Hardware Availability: Custom keyboard group buys

Make example for this keyboard (after setting up your build environment):

    make aeboards/constellation/rev2:default

Reset your keyboard in 3 ways:
<ol>
<li>Software reset on Fn + Backspace</li>
<li>Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard</li>
<li>Physical reset button: on the back of the PCB, there are 2 open pins which you can short, labelled RESET</li>
</ol>

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

A keyboards/aeboards/constellation/rev2/rev2.c => keyboards/aeboards/constellation/rev2/rev2.c +21 -0
@@ 0,0 1,21 @@
/* Copyright 2021 Harrison Chan (Xelus)
 *
 * 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 <http://www.gnu.org/licenses/>.
 */

#include "rev2.h"

void matrix_io_delay(void) {
    __asm__ volatile("nop\nnop\nnop\n");
}

A keyboards/aeboards/constellation/rev2/rev2.h => keyboards/aeboards/constellation/rev2/rev2.h +35 -0
@@ 0,0 1,35 @@
/* Copyright 2021 Harrison Chan (Xelus)
 *
 * 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 <http://www.gnu.org/licenses/>.
 */

#pragma once

#include "quantum.h"

#define ____ KC_NO

#define LAYOUT_all( \
  K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014,  \
  K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113,       K114, \
  K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212,             K214, \
  K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312,             K313, K314, \
  K400, K401, K402,             K408,                   K409, K410,             K412, K413, K414  \
) { \
  { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
  { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
  { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
  { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \
  { K400, K401, K402, ____, ____, ____, ____, ____, K408, K409, K410, ____, K412, K413, K414 } \
}

A keyboards/aeboards/constellation/rev2/rules.mk => keyboards/aeboards/constellation/rev2/rules.mk +20 -0
@@ 0,0 1,20 @@
# MCU name
MCU = STM32L433

# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes       # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = yes        # Console for debug
COMMAND_ENABLE = no         # 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 = yes           # USB Nkey Rollover
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output

EEPROM_DRIVER = i2c

M keyboards/aeboards/constellation/rules.mk => keyboards/aeboards/constellation/rules.mk +1 -22
@@ 1,22 1,1 @@
# MCU name
MCU = atmega32u4

# Bootloader selection
BOOTLOADER = atmel-dfu

# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes       # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = yes        # Console for debug
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 = yes           # USB Nkey Rollover
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output
LTO_ENABLE = yes
DEFAULT_FOLDER = aeboards/constellation/rev1