qmk-firmware/keyboards/pearl
Drashna Jaelre b05c0e46c6 Adds a default value for IS_COMMAND for COMMAND feature ()
* Add default value for IS_COMMAND for COMMAND feature

* Cleanup and consistency

* Update Templates to reflect change

* Fix IS_COMMAND in template

* Fix IS_COMMAND define

* Use consistent IS_COMMAND block in templates

* Remove unnecessary `#undef IS_COMMAND` directives

* Fix compile issue on orthodox

* Reomve IS_COMMAND option for newer boards

* Remove all existing definitions of IS_COMMAND if they use default LSHIFT and RSHIFT setting

* Remove a couple of additional IS_COMMAND defines

* Remove remaining redundant IS_COMMAND definitions

* Remove #undef IS_COMMAND from orthodox:drashna and whitefox:konstantin

* Remove multiple empty lines in modified config.h files

* Update additional boards

* Reomve IS_COMMAND from newer boards

* Update Alice keyboard

* Remove IS_COMMAND from additional boards

Jan 24th edition
2019-01-26 15:49:45 -08:00
..
keymaps Remove RGB_SMOD alias and replace uses with RGB_MOD () 2018-11-27 15:34:06 -08:00
config.h Adds a default value for IS_COMMAND for COMMAND feature () 2019-01-26 15:49:45 -08:00
i2c.c Splits up ps2avrGB boards into their own folders () 2017-11-17 11:40:34 -05:00
i2c.h Splits up ps2avrGB boards into their own folders () 2017-11-17 11:40:34 -05:00
info.json More QMK Configurator Support for Pearl () 2018-04-26 17:19:42 -07:00
matrix.c Splits up ps2avrGB boards into their own folders () 2017-11-17 11:40:34 -05:00
pearl.c Beginning implementation of Pearl backlight. Levels and breathing not working yet. 2018-04-11 23:55:41 -04:00
pearl.h Keyboard: Pearl keyboard LAYOUT_spacebar had an undefined constant K34 () 2018-08-12 09:33:04 -07:00
README.md Add pearl README, add rask's Pearl layout 2018-03-26 13:34:53 -04:00
rules.mk Turn off Mousekeys for several ps2avrGB keyboards () 2018-11-27 16:54:43 -08:00
usbconfig.h Splits up ps2avrGB boards into their own folders () 2017-11-17 11:40:34 -05:00

Pearl 40%

Pearl 40% is a keyboard designed by Koobaczech. It uses an Atmel ATMEGA32A MCU.

Compiling and flashing

These instructions are for building and flashing your Pearl 40% without Bootmapper Client.

Requirements

Windows

(to be written, help needed)

Mac

Apart from regular QMK and AVR dependencies you need to install bootloadHID. You can install it with homebrew as follows:

$ brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb

If you don't use homebrew you can try following the compiling instructions defined below in the Linux section.

Linux

For Linux you require all regular QMK dependencies, but make sure you're using gcc-avr version 4.9 or higher. 4.8 and lower do not contain the proper definitions for ATMEGA32A MCUs and QMK will fail while attempting to compile a HEX for Pearl 40%.

E.g. you cannot compile Pearl 40% HEX on a regular Ubuntu 14.04 as gcc-avr version is maxed to 4.8 on it.

Additionally you need an operational bootloadHID binary.

You can install bootloadHID by taking the following steps:

$ git clone https://github.com/robertgzr/bootloadHID ~/tmp/bootloadHIDsrc
$ cd ~/tmp/bootloadHIDsrc/commandline
$ make VENDORID=0x16c0 PRODUCTID=0x05DF # vid and pid for atmega32a
$ chmod +x bootloadHID && cp bootloadHID /usr/bin/bootloadHID

Running which bootloadHID should return /usr/bin/bootloadHID.

Compiling

Enter the QMK root directory and compile a keymap with the following command:

$ make pearl:<keymap>

where <keymap> is a layout directory under the pearl directory.

QMK should compile a HEX (called pearl_<keymap>.hex) for you, which you can flash using bootloadHID.

Flashing

To enable Pearl 40% bootloading mode, unplug the keyboard, then plug it in while holding Esc at the same time (the top-leftmost switch on the PCB, next to the USB connector). Once the board is in bootload mode, issue the following command (you might require sudo to perform the command):

# assuming we're still in the QMK root dir where you compiled a HEX into
$ bootloadHID -r ./pearl_<keymap>.hex

You should see something similar to

> Page size = <value>
> Device size = <value>; <value> remaining
> Uploading <value> bytes starting at 0 (0x0)
> <value> ... <current value>

where <current value> should be slowly increasing as the HEX is being flashed to the board. If there is some warning about resource busy it should still work OK.

Once done the board underglow should turn red and the new firmware has been flashed. If you can't type on the board try plugging it in again (without holding any keys to prevent accidentally setting it into bootload mode again).