ubergeek.de ubergeek.de

Diese Seite verwendet Cookies.
Auf dieser Website werden sogenannte Session-Cookies verwendet, um wiederkehrende Besucher zu erkennen. Benötigt wird diese Funktion, um Artikel zu kommentieren und um sich an der Seite anzumelden (nur Redakteure). Wenn Sie mit der Nutzung von Cookies nicht einverstanden sind, können Sie die Seite problemlos nutzen, lediglich die oben genannten Funktion sind dann nicht verfügbar. Da wir eine Ablehnung nicht speichern können bzw. Sie bei folgenden Seitenabrufen nicht wiedererkennen, erscheint dieser Hinweis in diesem Fall immer wieder.

Neue Software: Image-Converter (für Mikrocontroller)

Wer für Mikrocontroller programmiert, und seien es auch nur Kleinigkeiten, wird schnell in die Verlegenheit kommen, Bilddaten in C-Quelltext kodieren zu müssen. Zu den zahlreichen Werkzeugen, die es dafür bereits gibt, kommt jetzt ein neues dazu, das vermutlich (oder hoffentlich?) ein paar besondere Eigenschaften besitzt.

In meinem Sommerurlaub, also bereits vor ein paar Wochen habe ich aus verschiedenen Gründen auf die Schnelle einen Image-Converter geschrieben, der für die Verwendung mit unterschiedlichen Mikrocontroller-Entwicklungsumgebungen gedacht ist.

Hauptbeweggrund dafür war die Tatsache, dass die Farbgrafiken für die Circuitmess-Systeme (CircuitOS in Ringo und Nibble) im RGB-565-Format kodiert werden, ich mit UTFTConverter aber eigentlich nur ein einziges brauchbares Tool finden konnte, das überhaupt unter Linux lauffähig ist. (Nebenbemerkung für alle, die an etwas ausgefallenen Programmiersprachen interessiert sind: Der UTFTConverter ist in Haskell geschrieben. Hüst.) Für die schnelle Konvertierung ist das Tool etwas unhandlich, weil es kein grafisches User Interface gibt, sondern ausschließlich über die Shell genutzt werden kann.

Andererseits ist das die Voraussetzung dafür, in Batch- und Makefiles genutzt werden zu können, was mit den ganzen Web-basierten Tools, die es für andere Ausgabeformate gibt, grundsätzlich nicht funktioniert.

Also habe ich eine kleine Java-basierte Anwendung (das bedeutet die Einsatzmöglichkeit auf allen »großen« Betriebssystem) entwickelt, die sowohl ein grafisches User Interface und ein CLI-Interface anbietet, eine »Stapelverarbeitung« beliebig vieler Dateien anbietet und mehrere Ausgabeformate unterstützt. Aktuell sind das vertikal in Bytes gruppierte Monochromgrafiken für den Arduboy (und andere), horizontal in Bytes gruppierte Monochromgrafiken für CircuitOS sowie das ursprünglich angestrebte RGB-565-Format für Farbgrafiken auf CircuitOS. Das User Interface unterstützt außerdem Drag and Drop und zeigt eine Vorschau der farbreduzierten Grafik.

Interessant bei der Entwicklung war, jedenfalls für mich, dass die Java-Plattform mir im Grunde genommen die eigentliche Arbeit, also das Laden von Bilddaten aus unterschiedlichsten Dateiformaten, die Farbreduktion sowie die Kodierung in ein anderes Speichermodell komplett abnimmt. Das Interface drumherum war ja ein Klacks 😉

Verfügbar ist die Software auf meinem Github-Profil als fertiges plattformübergreifendes Binary oder im Quellcode. Zum Bauen ist ein Ant-Buildfile enthalten.

Das Ganze ist noch relativ wenig getestet; natürlich freue ich mich über Feedback.

ImageConverter unter Linux

Kommentare

Sie müssen der Verwendung von Cookies zustimmen, bevor Sie einen Kommentar hinterlassen können.