Hallo Borg16-Liste,
keine Sorge, das ist kein Spam, auch wenn auf dieser Liste seit
anderthalb Jahren keine Mail mehr verschickt wurde. In den letzten
Wochen ist in Sachen Borgware so einiges passiert.
Zunächst einmal ist das Repo vom Labor-SVN nach GitHub umgezogen, die
Projektseite findet ihr unter https://github/das-labor/borgware-2d
Die Versionsverwaltung haben wir dementsprechend von SVN auf Git
umgestellt, allerdings bietet GitHub auch eine SVN-Schnittstelle und den
Download als ZIP-Archiv an. Ich empfehle dennoch, die Git-Variante zu
beziehen:
git clone https://github.com/das-labor/borgware-2d.git
cd borgware-2d
git submodule init
git submodule update
Was ist sonst noch neu?
Die Quelldateien für die eigentliche Firmware wurden in das Verzeichnis
"src" verschoben. Auch die mittlerweile elf Linkerskripte liegen jetzt
in einem eigenen Verzeichnis. Seid also vorsichtig beim Portieren Eurer
eigenen Änderungen.
Die unterstützten Systeme (für den Simulator) umfassen neben Linux und
Windows nun auch FreeBSD und NetBSD. Warum? Weil's geht ;)
Bei den AVR-Architekturen ist die Unterstützung von AVR-5.1 für 128KiB-
bzw. AVR-6 für 256KiB-Microcontroller hinzugekommen. Getestet habe ich
den ATmega1284P auf einem Borg16 sowie den ATmega1280 und den ATmega2560
auf Arduino Mega Boards.
Ebenfalls neu ist die Unterstützung des "LoL Shields" von Jimmie P.
Rodgers: http://jimmieprodgers.com/kits/lolshield/
Dabei handelt es sich um ein Arduino-Shield mit 14*9 LEDs, die mit
lediglich 12 Pins via Charlieplexing betrieben werden. Siehe auch:
http://en.wikipedia.org/wiki/Charlieplexing
Bevor hier Ängste (oder Hoffnungen) aufkommen: Die Borgware-2D hat
keinerlei Abhängigkeiten zur Arduino-Software und das wird sich auch
nicht ändern.
Da die LEDs direkt ohne Treiberbausteine und Vorwiderstände von der MCU
getrieben werden, dürfte dies zu den günstigsten und einfachsten
Möglichkeiten gehören, sich einen kleinen Borg zu bauen und es
funktioniert erstaunlich gut. In freier Wildbahn wurden übrigens auch
schon LoL-Shield-Nachbauten auf Lochrasterplatinen gesichtet (für die
Puristen).
Der Timing-Code im Software-Treiber basiert auf der LoL-Shield-Library
(https://code.google.com/p/lolshield/) und bietet ein paar ausgefallene
Features: In der Menuconfig lassen sich Framerate und die
Gesamthelligkeit einstellen. Die Anzahl der Graustufen ist nicht hart
verdrahtet und gestattet bis zu acht Stufen (NUMPLANES=7), ohne dass
FP-Code verlinkt wird. Die meisten Animationen sind dennoch meist nur
für vier Stufen (NUMPLANES=3) ausgelegt. Die Borgware unterstützt das
LoL Shield auf sämtlichen AVR-Arduino-Typen, die ein Shield aufnehmen
können.
Der klassische Borg16 wird bei all meiner LoL-Shield-Euphorie natürlich
auch weiterhin innerhalb der Borgware gepflegt. Evtl. arbeite ich den
ausgefeilten Timing-Code auch in den Borg16-Treiber ein. Auf der
To-Do-Liste...
Coming soon: In dem Branch "kart" arbeitet ein Kollege an einem
Kartrennen, das sporadisch weiterentwickelt und irgendwann in den Master
wandern wird.
Zu guter Letzt noch eine Frage in die Runde: Wer von Euch besitzt und
benutzt seinen Borg noch? Würde mich über etwas Feedback freuen!
Viele Grüße,
Christian