Skip to content

2.00: Animus Builder Documentation

Blahlicus edited this page May 21, 2016 · 3 revisions

There be dragons! This is an incomplete page in progress!

This section contains the documentation for Animus Builder, the firmware builder for animus

Contents:

  • 2.00: Animus Builder Documentation
    • 2.10: Overview
    • 2.20: Building your own Animus builder

2.00: Animus Builder Documentation

2.10: Overview

Animusbuilder is written in c# winforms, it is a simple file and word parser and minor editor for animus.

Animusbuilder is created for the purpose of making animus fully compatible with any arduino based matrix keyboards and to streamline development and deployment.

To understand why the builder is necessary, we must look at animus-family/animus and understand what is going on, animus itself is designed to be very portable and editable, only animus.ino and mod.ino need to be edited for different keyboard designs

There are a bunch of precompiler directives at the top of animus.ino and mod.ino, editing them is all that is needed.

Here are the #define directives from animus.ino with example input and comment

#define builder_row 5    // number of rows
#define builder_col 8    // number of columns
#define builder_kbname "Diverge II"     // keyboard name
#define builder_kbvariant "Diverge II"     // keyboard variant
#define builder_kbdriver "Animus Renascentia 2"     // driver name
#define builder_kbdriver_build "Diverge II OEM"     // driver build
#define builder_vpins 5, 6, 7, 8, 9     // pins
#define builder_hpins A3, A2, A1, A0, 15, 14, 16, 10     // pins
#define builder_refresh 10     // refresh rate

And here are the #define directives from mod.ino with example input

#define builder_mstartup I2CStartup(); mediaStartup();
#define builder_mloop I2CLoop(); mediaLoop();
#define builder_mkeydown I2CKeyDown(val, type); mediaKeyDown(val, type);
#define builder_mkeyup I2CKeyUp(val, type); mediaKeyUp(val, type);
#define builder_mserial I2CSerial(input); mediaSerial(input);

In order to be fully compliant, animus mods have strict method naming conventions for the builder's sake, in the above example, the mods I2C and media are installed.

Animusbuilder simply copies all necessary files and edit the precompiler directives in a quick and efficient way, mods are also auto copied.

2.20: Building your own Animus builder

TODO