~ruther/qmk_firmware

e26778ceb572f3aa6cff7cc08479663899c32a92 — James Young 3 years ago f3aa5db
LFKeyboards Mini1800: refactor into revisions (#16260)

* fork Mini1800 into reva and revc versions

* update info.json

- apply friendly formatting
- update maintainer value

* update keymap rules.mk formatting

- align inline comments
- convert tabs to spaces

* align keymap rules.mk files to QMK template

* move common keymap rules.mk settings to revision level

* info.json: correct key sequence

* align revision rules.mk files to QMK template

* clean up revision rules.mk files

* add readme files for each revision

* correct USB Product string

* remove post_rules.mk files

The internal settings were commented out, so the files actually don't do anything.

* edit Bootloader instructions on main readme

* move non-assignment rules to post_rules.mk

* add inline comments for NKRO_ENABLE per fauxpark
M keyboards/lfkeyboards/mini1800/config.h => keyboards/lfkeyboards/mini1800/config.h +1 -1
@@ 23,7 23,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define PRODUCT_ID      0x6060
#define DEVICE_VER      0x0001
#define MANUFACTURER    LFKeyboards
#define PRODUCT         LFK87
#define PRODUCT         Mini1800

#define DIODE_DIRECTION COL2ROW


M keyboards/lfkeyboards/mini1800/info.json => keyboards/lfkeyboards/mini1800/info.json +89 -2
@@ 1,10 1,97 @@
{
    "keyboard_name": "Mini1800",
    "url": "",
    "maintainer": "qmk",
    "maintainer": "lfkeyboards",
    "layouts": {
        "LAYOUT": {
            "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Back Space", "x":13, "y":0, "w":2}, {"label":"Num Lock", "x":15.5, "y":0}, {"label":"/", "x":16.5, "y":0}, {"label":"*", "x":17.5, "y":0}, {"label":"-", "x":18.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"7", "x":15.5, "y":1}, {"label":"8", "x":16.5, "y":1}, {"label":"9", "x":17.5, "y":1}, {"label":"+", "x":18.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.25}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"4", "x":15.5, "y":2}, {"label":"5", "x":16.5, "y":2}, {"label":"6", "x":17.5, "y":2}, {"label":"+", "x":18.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"1", "x":15.5, "y":3}, {"label":"2", "x":16.5, "y":3}, {"label":"3", "x":17.5, "y":3}, {"label":"Enter", "x":18.5, "y":3, "h":2}, {"label":"\u2191", "x":14.25, "y":3.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4}, {"label":"Fn", "x":11, "y":4}, {"label":"Ctrl", "x":12, "y":4}, {"label":"0", "x":16.5, "y":4}, {"label":".", "x":17.5, "y":4}, {"label":"\u2190", "x":13.25, "y":4.25}, {"label":"\u2193", "x":14.25, "y":4.25}, {"label":"\u2192", "x":15.25, "y":4.25}]
            "layout": [
                {"label":"Esc", "x":0, "y":0},
                {"label":"1!", "x":1, "y":0},
                {"label":"2@", "x":2, "y":0},
                {"label":"3#", "x":3, "y":0},
                {"label":"4$", "x":4, "y":0},
                {"label":"5%", "x":5, "y":0},
                {"label":"6^", "x":6, "y":0},
                {"label":"7&", "x":7, "y":0},
                {"label":"8*", "x":8, "y":0},
                {"label":"9(", "x":9, "y":0},
                {"label":"0)", "x":10, "y":0},
                {"label":"-_", "x":11, "y":0},
                {"label":"=+", "x":12, "y":0},
                {"label":"Back Space", "x":13, "y":0, "w":2},
                {"label":"Num Lock", "x":15.5, "y":0},
                {"label":"/", "x":16.5, "y":0},
                {"label":"*", "x":17.5, "y":0},
                {"label":"-", "x":18.5, "y":0},

                {"label":"Tab", "x":0, "y":1, "w":1.5},
                {"label":"Q", "x":1.5, "y":1},
                {"label":"W", "x":2.5, "y":1},
                {"label":"E", "x":3.5, "y":1},
                {"label":"R", "x":4.5, "y":1},
                {"label":"T", "x":5.5, "y":1},
                {"label":"Y", "x":6.5, "y":1},
                {"label":"U", "x":7.5, "y":1},
                {"label":"I", "x":8.5, "y":1},
                {"label":"O", "x":9.5, "y":1},
                {"label":"P", "x":10.5, "y":1},
                {"label":"[{", "x":11.5, "y":1},
                {"label":"]}", "x":12.5, "y":1},
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
                {"label":"7", "x":15.5, "y":1},
                {"label":"8", "x":16.5, "y":1},
                {"label":"9", "x":17.5, "y":1},
                {"label":"+", "x":18.5, "y":1},

                {"label":"Caps Lock", "x":0, "y":2, "w":1.25},
                {"label":"A", "x":1.75, "y":2},
                {"label":"S", "x":2.75, "y":2},
                {"label":"D", "x":3.75, "y":2},
                {"label":"F", "x":4.75, "y":2},
                {"label":"G", "x":5.75, "y":2},
                {"label":"H", "x":6.75, "y":2},
                {"label":"J", "x":7.75, "y":2},
                {"label":"K", "x":8.75, "y":2},
                {"label":"L", "x":9.75, "y":2},
                {"label":";:", "x":10.75, "y":2},
                {"label":"'\"", "x":11.75, "y":2},
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
                {"label":"4", "x":15.5, "y":2},
                {"label":"5", "x":16.5, "y":2},
                {"label":"6", "x":17.5, "y":2},
                {"label":"+", "x":18.5, "y":2},

                {"label":"Shift", "x":0, "y":3, "w":2.25},
                {"label":"Z", "x":2.25, "y":3},
                {"label":"X", "x":3.25, "y":3},
                {"label":"C", "x":4.25, "y":3},
                {"label":"V", "x":5.25, "y":3},
                {"label":"B", "x":6.25, "y":3},
                {"label":"N", "x":7.25, "y":3},
                {"label":"M", "x":8.25, "y":3},
                {"label":",<", "x":9.25, "y":3},
                {"label":".>", "x":10.25, "y":3},
                {"label":"/?", "x":11.25, "y":3},
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
                {"label":"\u2191", "x":14.25, "y":3.25},
                {"label":"1", "x":15.5, "y":3},
                {"label":"2", "x":16.5, "y":3},
                {"label":"3", "x":17.5, "y":3},
                {"label":"Enter", "x":18.5, "y":3, "h":2},

                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
                {"label":"Space", "x":3.75, "y":4, "w":6.25},
                {"label":"Alt", "x":10, "y":4},
                {"label":"Fn", "x":11, "y":4},
                {"label":"Ctrl", "x":12, "y":4},
                {"label":"\u2190", "x":13.25, "y":4.25},
                {"label":"\u2193", "x":14.25, "y":4.25},
                {"label":"\u2192", "x":15.25, "y":4.25},
                {"label":"0", "x":16.5, "y":4},
                {"label":".", "x":17.5, "y":4}
            ]
        }
    }
}

M keyboards/lfkeyboards/mini1800/keymaps/ca178858/rules.mk => keyboards/lfkeyboards/mini1800/keymaps/ca178858/rules.mk +0 -44
@@ 1,45 1,1 @@
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no            # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes           # Audio control and System control(+450)
CONSOLE_ENABLE = no             # Console for debug(+400)
COMMAND_ENABLE = no             # Commands for debug and configuration
NKRO_ENABLE = yes
BACKLIGHT_ENABLE = yes           # 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 = yes           # Enable RGB underlight
RGBLIGHT_CUSTOM_DRIVER = yes    # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes
TAP_DANCE_ENABLE = yes

ISSI_ENABLE = yes			# If the I2C pullup resistors aren't install this must be disabled
WATCHDOG_ENABLE = yes		# Resets keyboard if matrix_scan isn't run every 250ms



ifeq ($(strip $(ISSI_ENABLE)), yes)
    TMK_COMMON_DEFS += -DISSI_ENABLE
endif

ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
    TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
endif


# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired
# #
# # RevB - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight
# # RevC/D - at90usb1286, no audio, ISSI device 0 is backlight, 4 is RGB
# #
# # Set to B, C or D
# LFK_REV = D

# ifeq ($(LFK_REV), B)
# 	MCU = atmega32u4
# else
# 	MCU = at90usb1286
# endif
# OPT_DEFS += -DLFK_REV_$(LFK_REV)
# OPT_DEFS += -DUSB_PRODUCT=\"LFK_Rev$(LFK_REV)\"

D keyboards/lfkeyboards/mini1800/keymaps/default/rules.mk => keyboards/lfkeyboards/mini1800/keymaps/default/rules.mk +0 -40
@@ 1,40 0,0 @@
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no            # Mouse keys
EXTRAKEY_ENABLE = yes           # Audio control and System control
CONSOLE_ENABLE = no             # Console for debug
COMMAND_ENABLE = no             # Commands for debug and configuration
NKRO_ENABLE = yes
BACKLIGHT_ENABLE = yes           # Enable keyboard backlight functionality
AUDIO_ENABLE = yes              # Audio output
RGBLIGHT_ENABLE = yes           # Enable RGB underlight
RGBLIGHT_CUSTOM_DRIVER = yes    # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes

ISSI_ENABLE = yes			# If the I2C pullup resistors aren't install this must be disabled
WATCHDOG_ENABLE = yes		# Resets keyboard if matrix_scan isn't run every 250ms


ifeq ($(strip $(ISSI_ENABLE)), yes)
    TMK_COMMON_DEFS += -DISSI_ENABLE
endif

ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
    TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
endif


# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired
# #
# # RevB - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight
# # RevC/D - at90usb1286, no audio, ISSI device 0 is backlight, 4 is RGB
# #
# # Set to B, C or D
# LFK_REV = D

# ifeq ($(LFK_REV), B)
# 	MCU = atmega32u4
# else
# 	MCU = at90usb1286
# endif
# OPT_DEFS += -DLFK_REV_$(LFK_REV)
# OPT_DEFS += -DUSB_PRODUCT=\"LFK_Rev$(LFK_REV)\"

D keyboards/lfkeyboards/mini1800/post_rules.mk => keyboards/lfkeyboards/mini1800/post_rules.mk +0 -9
@@ 1,9 0,0 @@
ifeq ($(LFK_REV), A)
    MCU = at90usb1286
else
    MCU = at90usb646
endif

ifeq ($(strip $(ISSI_ENABLE)), yes)
    # TMK_COMMON_DEFS += -DISSI_ENABLE
endif

M keyboards/lfkeyboards/mini1800/readme.md => keyboards/lfkeyboards/mini1800/readme.md +21 -7
@@ 1,12 1,26 @@
Mini1800
===
# Mini1800

Keyboard Maintainer: [LFKeyboards](https://github.com/lfkeyboards)  
Hardware Supported: Mini1800  
Hardware Availability: [LFKeyboards.com](https://www.lfkeyboards.com/)
* Keyboard Maintainer: [LFKeyboards](https://github.com/lfkeyboards)
* Hardware Supported:
  * [Mini1800 RevA](reva/) - Green PCB with AT90USB1286
  * [Mini1800 RevC](revc/) - Black PCB with AT90USB646; first public release
* Hardware Availability: [LFKeyboards.com](https://www.lfkeyboards.com/)

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

    make lfkeyboards/mini1800:default
    make lfkeyboards/mini1800/reva:default
    make lfkeyboards/mini1800/revc:default

See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. 
Flashing example for this keyboard:

    make lfkeyboards/mini1800/reva:default:flash
    make lfkeyboards/mini1800/revc:default:flash

## Bootloader

To reset the board into bootloader mode, do one of the following:

* **Physical reset button**: Briefly press the button on the bottom of the PCB (between Q and W keys)
* **Keycode in keymap**: Press the key mapped to `RESET` if it is available (`Fn`+`Right Shift`, then tap `Enter` by default)

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/lfkeyboards/mini1800/reva/post_rules.mk => keyboards/lfkeyboards/mini1800/reva/post_rules.mk +7 -0
@@ 0,0 1,7 @@
ifeq ($(strip $(ISSI_ENABLE)), yes)
    TMK_COMMON_DEFS += -DISSI_ENABLE
endif

ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
    TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
endif

A keyboards/lfkeyboards/mini1800/reva/readme.md => keyboards/lfkeyboards/mini1800/reva/readme.md +22 -0
@@ 0,0 1,22 @@
# Mini1800 RevA

* Keyboard Maintainer: [LFKeyboards](https://github.com/lfkeyboards)
* Hardware Supported: Mini1800 RevA (Green PCB with AT90USB1286)
* Hardware Availability: [LFKeyboards.com](https://www.lfkeyboards.com/)

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

    make lfkeyboards/mini1800/reva:default

Flashing example for this keyboard:

    make lfkeyboards/mini1800/reva:default:flash

## Bootloader

To reset the board into bootloader mode, do one of the following:

* **Physical reset button**: Briefly press the button on the bottom of the PCB (between Q and W keys)
* **Keycode in keymap**: Press the key mapped to `RESET` if it is available (`Fn`+`Right Shift`, then tap `Enter` by default)

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/lfkeyboards/mini1800/reva/rules.mk => keyboards/lfkeyboards/mini1800/reva/rules.mk +29 -0
@@ 0,0 1,29 @@
# MCU name
MCU = at90usb1286

# Bootloader selection
BOOTLOADER = atmel-dfu

# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no        # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = no         # Console for debug
COMMAND_ENABLE = no         # Commands for debug and configuration
NKRO_ENABLE = yes           # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
AUDIO_ENABLE = yes          # Audio output

# RGB code is implemented in lfkeyboards, not WS2812
RGBLIGHT_CUSTOM_DRIVER = yes
BACKLIGHT_DRIVER = custom
SLEEP_LED_ENABLE = yes

ISSI_ENABLE = yes           # If the I2C pullup resistors aren't install this must be disabled
WATCHDOG_ENABLE = yes       # Resets keyboard if matrix_scan isn't run every 250ms

# Extra source files for IS3731 lighting
SRC = TWIlib.c issi.c lighting.c

A keyboards/lfkeyboards/mini1800/revc/post_rules.mk => keyboards/lfkeyboards/mini1800/revc/post_rules.mk +7 -0
@@ 0,0 1,7 @@
ifeq ($(strip $(ISSI_ENABLE)), yes)
    TMK_COMMON_DEFS += -DISSI_ENABLE
endif

ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
    TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
endif

A keyboards/lfkeyboards/mini1800/revc/readme.md => keyboards/lfkeyboards/mini1800/revc/readme.md +24 -0
@@ 0,0 1,24 @@
# Mini1800 RevC

The first public release of the Mini1800.

* Keyboard Maintainer: [LFKeyboards](https://github.com/lfkeyboards)
* Hardware Supported: Mini1800 RevC (Black PCB with AT90USB646)
* Hardware Availability: [LFKeyboards.com](https://www.lfkeyboards.com/)

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

    make lfkeyboards/mini1800/revc:default

Flashing example for this keyboard:

    make lfkeyboards/mini1800/revc:default:flash

## Bootloader

To reset the board into bootloader mode, do one of the following:

* **Physical reset button**: Briefly press the button on the bottom of the PCB (between Q and W keys)
* **Keycode in keymap**: Press the key mapped to `RESET` if it is available (`Fn`+`Right Shift`, then tap `Enter` by default)

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/lfkeyboards/mini1800/revc/rules.mk => keyboards/lfkeyboards/mini1800/revc/rules.mk +29 -0
@@ 0,0 1,29 @@
# MCU name
MCU = at90usb646

# Bootloader selection
BOOTLOADER = atmel-dfu

# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no        # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = no         # Console for debug
COMMAND_ENABLE = no         # Commands for debug and configuration
NKRO_ENABLE = yes           # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
AUDIO_ENABLE = yes          # Audio output

# RGB code is implemented in lfkeyboards, not WS2812
RGBLIGHT_CUSTOM_DRIVER = yes
BACKLIGHT_DRIVER = custom
SLEEP_LED_ENABLE = yes

ISSI_ENABLE = yes           # If the I2C pullup resistors aren't install this must be disabled
WATCHDOG_ENABLE = yes       # Resets keyboard if matrix_scan isn't run every 250ms

# Extra source files for IS3731 lighting
SRC = TWIlib.c issi.c lighting.c

D keyboards/lfkeyboards/mini1800/rules.mk => keyboards/lfkeyboards/mini1800/rules.mk +0 -19
@@ 1,19 0,0 @@
# Set the LFK87 hardware version.
#
# RevA - Green PCB. at90usb1286 Only 3 exist
# RevB - We don't talk about RevB
# RevC - Black PCB. at90usb646 First public release
#
# Set to A or C
LFK_REV = C

BOOTLOADER = atmel-dfu
OPT_DEFS += -DLFK_TKL_REV_$(LFK_REV)

# Extra source files for IS3731 lighting
SRC = TWIlib.c issi.c lighting.c

# Build Options
#   change yes to no to disable
#
BACKLIGHT_DRIVER = custom