keychron_qmk_firmware/keyboards/vitamins_included/rev1
Mikkel Jeppesen 19a85015c2 [Keyboard] Added Vitamins Included Rev2 (#6593)
* Fixed pin for RGB

* Added support for second revision of vitamins included

* Added rev2 config and switched to #pragma once

* Switch to quantum.h pincontrol

* Fixed left-half check

* Moved revision agnostic code to main header file

* Moved common build options to main makefile

* Referred to rev2 documentation

* JTAG is dissabled in keyboard.c now

* moved EEHANDS to rev1 config

* moved rev2 to use split_common

* Updated default keymaps

* Changed handedness ifdef to allow user-overrides

* Add some space saving defines

* Changed to more sane I2C clock

* Removed rev2 check in matrix.c as rev2 uses split_common

* Removed rev2 check in rev1 only code

* Update debounce constant name

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Switch KEYMAP macro to LAYOUT

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Switch kc_keymap macro to layout_kc

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Switch kc_keymap macro to layout_kc

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Add legacy layout macro alias

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/vitamins_included/rev2/config.h

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Split readme into revision specific versions

* Updated src to allow LTO

* Renamed readmes to lower-case

* Switched my keyboards to FEED VID

* Fixed markdown lint errors

* fixed readme links

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Maintain keymap backwards compatibility

Co-Authored-By: Joel Challis <git@zvecr.com>
2019-08-30 17:52:02 -07:00
..
config.h [Keyboard] Added Vitamins Included Rev2 (#6593) 2019-08-30 17:52:02 -07:00
readme.md [Keyboard] Added Vitamins Included Rev2 (#6593) 2019-08-30 17:52:02 -07:00
rev1.c
rev1.h [Keyboard] Added Vitamins Included Rev2 (#6593) 2019-08-30 17:52:02 -07:00
rules.mk [Keyboard] Added Vitamins Included Rev2 (#6593) 2019-08-30 17:52:02 -07:00

Rev1

This readme describes the specifics of using the rev1 design

First Time Setup

Clone the qmk_firmware repo and navigate to its top level directory. Once your build environment is setup, you'll be able to generate the default .hex using the build/compile instructions in the docs

If everything worked correctly you will see a file:

lets_split_vitamins_rev1_YOUR_KEYMAP_NAME.hex

If you want, you can flash the hex file to the keyboard right after compilation, by adding :avrdude to the end of the make command like so:

make lets_split_vitamins/rev1:default:avrdude

This will both compile the hex, and flash the connected half.

For more information on customizing keymaps, take a look at the primary documentation for Customizing Your Keymap in the main readme.md.

Entering bootloader

If the keyboard isn't new, and has been flashed before, you need to enter bootloader. To enter bootloader, either use the assigned keys on the keymap, or if none have been put in the keymap, quickly short the reset to gnd twice. (Bottom pins of programming header, see image) Reset pins

If using the default keymap, there's a reset key-combination on each half:
Lower (SW23) and left-shift (SW13) on the left half, or
Raise(SW44) and Enter(SW42) on the right half
It is recommended to add such reset keys to any custom keymaps. It shouldn't be necesarry to have one on each half, but the default layout has that.

The board exits bootloader mode after 8 seconds, if you haven't started flashing.

EEPROM

If this is the first time you're flashing the boards, you have to flash EEPROM

  1. If your keyboard is plugged in, unplug it
  2. Open a terminal, and navigate to the qmk_firmware folder
  3. Run ls /dev | grep tty Note down which ports you see
  4. Plug the keyboard in, if it's new, it should enter bootloader, if it's not new, see Entering bootloader on how to enter bootloader mode
  5. Right after entering bootloader, run ls /dev | grep tty again. There should be a new tty, this is the bootloader TTY, note it down. If nothing shows see Entering bootloader on how to enter bootloader mode
  6. For the left hand side, run avrdude -c avr109 -p m32u4 -P /dev/ttyS1 -U eeprom:w:"./quantum/split_common/eeprom-lefthand.eep":a Replace /dev/ttyS1 with the port you noted down earlier. If you're on windows using msys2, replace /dev/ttyS1 with COM2, note that the number is one higher than the tty number.
    Do the same For the right hand, but change the file to eeprom-righthand.eep

Your EEPROM should be flashed :)

In the future, you shouldn't need to flash EEPROM (it will in fact wear the eeprom memory, so don't)

Flashing

If you haven't flashed EEPROM before, do that first.

To flash keymaps onto the keyboard, use:

make lets_split_vitamins/rev1:[KEYMAP]:avrdude

from the qmk_firmware folder. Default being the default keymap.

Cases

The keyboard is supplied with some simple plate cases, alternatively a 3D model for the left half is available here.

Alternatively the flat case for the Rev2 works for the rev1 kit as well, however one of the supports collide with a diode. If printed in thermo-plastics this can be heated and pressed to form a recess for the diode.

WS2812 RGB

If you wish to add RGB LED strips to your board, then the boards have breakouts for these.
You can either have each halfcontrol it's own strip of LEDs, or, if you're using a TRRS cable, you can have one half control the LEDs in both halves.

To add RGB LEDs to the board, solder the + and - of the >WS2812 headers to the LED strips. Then if you want each half to control it's own set of LEDs seperately, solder the D pad to Din on the strips.

If you instead want to syncronize the halves over a TRRS cable, solder the D pad to Din in the side you want to control the strips, either will work so flip a coin, and then solder the Dout pad to the WS2812> pad on the board. On the other half, solder the WS2812> pad to Din.

pad legend