Skip to content

Commit

Permalink
LFKeyboards Mini1800: refactor into revisions (#16260)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
noroadsleft authored Feb 8, 2022
1 parent f3aa5db commit e26778c
Show file tree
Hide file tree
Showing 13 changed files with 229 additions and 122 deletions.
2 changes: 1 addition & 1 deletion keyboards/lfkeyboards/mini1800/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
91 changes: 89 additions & 2 deletions keyboards/lfkeyboards/mini1800/info.json
Original file line number Diff line number Diff line change
@@ -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}
]
}
}
}
44 changes: 0 additions & 44 deletions keyboards/lfkeyboards/mini1800/keymaps/ca178858/rules.mk
Original file line number Diff line number Diff line change
@@ -1,45 +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)\"
40 changes: 0 additions & 40 deletions keyboards/lfkeyboards/mini1800/keymaps/default/rules.mk

This file was deleted.

9 changes: 0 additions & 9 deletions keyboards/lfkeyboards/mini1800/post_rules.mk

This file was deleted.

28 changes: 21 additions & 7 deletions keyboards/lfkeyboards/mini1800/readme.md
Original file line number Diff line number Diff line change
@@ -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).
7 changes: 7 additions & 0 deletions keyboards/lfkeyboards/mini1800/reva/post_rules.mk
Original file line number Diff line number Diff line change
@@ -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
22 changes: 22 additions & 0 deletions keyboards/lfkeyboards/mini1800/reva/readme.md
Original file line number Diff line number Diff line change
@@ -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).
29 changes: 29 additions & 0 deletions keyboards/lfkeyboards/mini1800/reva/rules.mk
Original file line number Diff line number Diff line change
@@ -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
7 changes: 7 additions & 0 deletions keyboards/lfkeyboards/mini1800/revc/post_rules.mk
Original file line number Diff line number Diff line change
@@ -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
24 changes: 24 additions & 0 deletions keyboards/lfkeyboards/mini1800/revc/readme.md
Original file line number Diff line number Diff line change
@@ -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).
29 changes: 29 additions & 0 deletions keyboards/lfkeyboards/mini1800/revc/rules.mk
Original file line number Diff line number Diff line change
@@ -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
19 changes: 0 additions & 19 deletions keyboards/lfkeyboards/mini1800/rules.mk

This file was deleted.

0 comments on commit e26778c

Please sign in to comment.