Firmware for the Keyboardio Model 01 and other keyboards with AVR or ARM MCUs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Gergely Nagy 9317ec61e2
Migrate from USE_PLUGINS to Kaleidoscope.use
8 years ago
examples/LED-AlphaSquare Migrate from USE_PLUGINS to Kaleidoscope.use 8 years ago
src Migrate from USE_PLUGINS to Kaleidoscope.use 8 years ago
.gitignore Test the plugin with Travis CI 8 years ago
.travis.yml New build infrastructure 8 years ago
COPYING Initial import 8 years ago
Makefile New build infrastructure 8 years ago
README.md Copy edits, symbol clarification 8 years ago
library.properties Initial import 8 years ago

README.md

Kaleidoscope-LED-AlphaSquare

status Build Status

An alphabet for your per-key LEDs, AlphaSquare provides a way to display 4x4 "pixel" symbols on your keyboard. With this building block, one can build some sweet animations, or just show off - the possibilities are almost endless!

Using the plugin

To use the plugin, one needs to include the header, use the plugin, and, one way or another, call the display method.

#include <Kaleidoscope.h>
#include <Kaleidoscope-LED-AlphaSquare.h>

void setup() {
  USE_PLUGINS(&AlphaSquare);
  
  Kaleidoscope.setup();

  AlphaSquare.display (Key_A);
}

Plugin methods

The plugin provides the AlphaSquare object, which has the following methods and properties:

.display(key)

.display(key, col)

.display(key, row, col)

.display(key, row, col, color)

Display the symbol for key at the given row or column, with pixels set to the specified color. If row is omitted, the first row - 0 is assumed. If the column is omitted, then the third column - 2 - is used. If the color is omitted, the plugin will use the global .color property.

The plugin can display the English alphabet and the numbers from 0 to 9.

.display(symbol)

.display(symbol, col)

.display(symbol, row, col)

.display(symbol, row, col, color)

As the previous function, but instead of a key, it expects a 4x4 bitmap in the form of a 16-bit unsigned integer, where the low bit is the top-right corner, the second-lowest bit is to the right of that, and so on.

The SYM4x4 macro can be used to simplify creating these bitmaps.

.clear(key), .clear(symbol)

.clear(key, col), .clear(symbol, col)

.clear(key, col, row), .clear(symbol, col, row)

Just like the .display() counterparts, except these clear the symbol, by turning the LED pixels it is made up from off.

.color

The color to use to draw the pixels.

Defaults to { 0x80, 0x80, 0x80 } (light gray).

Plugin helpers

SYM4x4(...)

A helper macro, which can be used to set up custom bitmaps. It expects 16 values, a 4x4 square of zeroes and ones. Zeroes are transparent pixels, ones will be colored.

Extra symbols

There is a growing number of pre-defined symbols available in the kaleidoscope::alpha_square::symbols namespace. Ok, growing may have been an exaggeration, there is only one as of this writing:

Lambda

A lambda (λ) symbol.

Dependencies

Further reading

Starting from the example is the recommended way of getting started with the plugin.