qmk_firmware/keyboards/handwired/z150
James Young a03aa301de
Remove Full Bootmagic (#13846)
* disambiguate Bootmagic rules in keymaps

The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic.

This commit edits the files to specify that full Bootmagic is intended.

* remove BOOTMAGIC_ENABLE=full setting

* unify commented BOOTMAGIC_ENABLE rules in keyboards

Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no       # Virtual DIP switch configuration;g' {} +
```

* remove commented Bootmagic rules from keymap/user level

Command:

```
find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} +
```

* update keyboard BOOTMAGIC_ENABLE rule formatting

Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later).

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
```

* update keyboards' BOOTMAGIC_ENABLE settings

Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' +
```

* update keymap/user BOOTMAGIC_ENABLE settings

Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
```

* remove and replace inline comments in keyboards and keymap/user files

Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1     # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1      # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1       # Enable Bootmagic Lite;g' '{}' +
```

* rename improperly named makefiles

Some files intended to be used as makefiles had improper names causing them to not be used as intended when building.

This commit corrects the filenames of the affected files.

* update renamed file with new rule formatting

* update QMK's template files

Updates QMK's `rules.mk` templates to use the new inline comment.

* update QMK Docs

- remove documentation of full Bootmagic
- update links to Bootmagic Lite doc
- add doc for Magic Keycodes

* rules.mk patch for coarse/ixora and coarse/vinta
2021-08-06 23:59:56 -07:00
..
keymaps
chconf.h ChibiOS conf migrations... take 11 (#11646) 2021-01-21 17:00:53 +11:00
config.h
halconf.h Fix up comments showing how to execute config migration. (#11621) 2021-01-20 02:19:36 +11:00
info.json
mcuconf.h Fix up comments showing how to execute config migration. (#11621) 2021-01-20 02:19:36 +11:00
readme.md [Keyboard] Add keyboard Zenith Z-150 (#9811) 2020-07-26 22:44:50 +01:00
rules.mk Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
z150.c
z150.h

QMK-based firmware for Zenith Z-150 keyboard

Z-150

Zenith Z-150 keyboard conversion project: direct connection of Black Pill to the matrix.

Earlier 100-1886 version with black logo has different PCB.

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

make handwired/z150:default

See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.

Modding

Matrix

Z-150 has 11x8 matrix. It's ghost-free thanks to the diodes.

Columns are located under NEC D8049HC MCU IC: Z-150 columns

Rows are connected to unmarked 24-pin MUX IC: Z-150 rows

LEDs

LEDs (from left to right): NumLock, CapsLock, ScrollLock: Z-150 LED cathodes

Their anodes are connected to VCC through 220Ω resistors. Z-150 LED anodes

You can keep the original resistors, but with Black Pill or any other 3.3V controller the LEDs may seem a little dim. Try 150Ω or close value if you want to fix that.

Black Pill

Suggested mount position for the Black Pill (view from the bottom side of the PCB):

      R0  R1  R2  R3  R4  R6          R9  LC  LN  LS
,--------------------------------------------------------------------,
|B12 B13 B14 B15  A8  A9 A10 A11 A12 A15  B3  B4  B5  B6  B7 3V3 GND |---,
|                                                                    |USB|
|B11 B10  B1  B0  A7  A6  A5  A4  A3  A2  A1  A0 RST C13  B9  B8 GND |---'
'--------------------------------------------------------------------'
  C0  C1  C2  C3  C4  C5  C6  C7  R5  R8  R7  RA    
  1. Desolder all ICs, crystal oscillator, capacitors and resistors except R0R2 (they connect LEDs to VCC).
  2. Solder 12-pin header to the Black Pill (pins B11A0 on the left side).
  3. Solder two 3-pin headers for boot jumpers.
  4. Solder 4-pin SWD header.
  5. Burn STM32duino bootloader to Black Pill.
  6. Compile and flash the firmware: make handwired/z150:default:flash
  7. Align Black Pill pins B11A4 with columns 07 and solder them.
  8. Connect rows, LEDs, ground and VCC traces to the corresponding pins of the BlackPill using additional wires.