qmk_firmware/keyboards/meira
James Young 4b453dca92
Remove MIDI Configuration boilerplate (#11151)
* remove keyboard-level instances of `MIDI_ENABLE = no`

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e  '/^[ #]*MIDI_ENABLE[ \t]*=[ \t]*no/d' {} +
```

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* fix case-sensitivity issues on MIDI_ENABLE

Change instances of `MIDI_ENABLE = YES` to `MIDI_ENABLE = yes`.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE[ \t]*=[ \t]*[Yy][Ee][Ss];MIDI_ENABLE = yes;g' {} +
```

* replace `# MIDI controls` with `# MIDI support`

Replace `# MIDI controls` with `# MIDI support` in keyboard-level `rules.mk` files.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*MIDI[ \t]*\(controls\|support\).*;# MIDI support;g' {} +
```

* align inline comments

Aligns the inline comments to the length used by the QMK AVR rules.mk template.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE *= *yes.*;MIDI_ENABLE = yes           # MIDI support;g'  {} +
```

* remove commented instances of `MIDI_ENABLE` from keyboard `rules.mk` files

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#\([ \t]*MIDI_ENABLE\) = yes; \1 = no ;' {} +
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;^\([ \t]*\)\(MIDI_ENABLE = no\);\2\1;' {} +
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e '/^[ #]\+MIDI_ENABLE *= *no/d' {} +
```

* remove MIDI configuration boilerplate from keyboard config.h files

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-16 06:51:13 +10:00
..
featherble Remove MIDI Configuration boilerplate (#11151) 2021-08-16 06:51:13 +10:00
keymaps Audio system overhaul (#11820) 2021-02-15 09:40:38 +11:00
promicro Remove MIDI Configuration boilerplate (#11151) 2021-08-16 06:51:13 +10:00
config.h Remove DESCRIPTION, K-M (#11619) 2021-01-20 09:56:41 +11:00
info.json Add missing info.json files for keyboards (#12239) 2021-03-15 01:06:55 -07:00
issi.c
issi.h Add support for Meira 2017-12-09 00:05:35 -05:00
lighting.c Normalise include statements in keyboard code (#11185) 2020-12-16 14:27:23 +11:00
lighting.h
matrix.c dirty fix (#13695) 2021-07-25 12:33:30 +10:00
meira.c
meira.h Error log cleanup (#13349) 2021-06-26 08:38:14 -07:00
readme.md
rules.mk Remove MIDI Configuration boilerplate (#11151) 2021-08-16 06:51:13 +10:00
TWIlib.c Normalise include statements in keyboard code (#11185) 2020-12-16 14:27:23 +11:00
TWIlib.h

Meira

Miera

A 4x12 ortholinear low-profile keyboard.

Keyboard Maintainer: Cole Markham
Hardware Supported: Meira/ProMicro, Meira/FeatherBLE
Hardware Availability: WoodKeys.click

Two controllers are support: the Pro Micro, and the Adafruit Feather BLE 32u4. Support for each is defined as a hardware revision subfolder in QMK. Main differences include processor frequencies and matrix pinouts.

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

make meira/promicro:default

or

make meira/featherble:default

See build environment setup then the make instructions for more information on generic QMK configuration and setup.

Both the Pro Micro and the Feather BLE use the Catalina bootloader, which is typically programmed using avrdude.

Matrix

In order to have enough pins for the matrix and other functions, a custom matrix is implemented using a demultiplexer to scan the columns. Since the demux is active low, the diodes must be oriented with the cathode connected to the demux pin. When looking at the bottom of the board with the controller at the top right, the cathode mark on the diode should be toward the left.

LED Controller

The in-switch LEDs are driven by an ISSI LED controller (IS31FL3731). The micro controller communicates with this chip using I2C. Individual LED control is possible, but currently only general backlighting support is implemented. This functionality is located in lighting.c, issi.c, and TWILib.c.