Ich möchte eine GUI-gesteuerte Anwendung für einen Mikrocontroller ( Atmel XMEGA ) erstellen, der an eine 128x64-Punktgrafik LCD ( EA DOGL128-6 ) und 4 Tasten für angeschlossen ist Navigation.
Die Anzeige selbst zu steuern (z. B. Pixel und Zeichen zeichnen) ist no problem. Damit ich das Rad jedoch nicht neu erfinden kann, habe ich nach einem GUI-Library/-Toolkit gesucht, das in c geschrieben ist Code, läuft auf einem 32-MHz-8-Bit-Mikrocontroller und bietet mindestens die folgenden Steuerelemente:
Aber ich fand nichts Nützliches. Kennt jemand eine solche Bibliothek (oder nutzt sie besser) (vorzugsweise kostenlos)?
Ich würde mir überlegen, eine eigene GUI für den "Sofortmodus" zu erstellen. Jari Komppa hat ein gutes Tutorial über sie. Es ist viel einfacher als Sie vielleicht denken, und Sie werden wahrscheinlich feststellen, dass die meisten GUI-Bibliotheken - selbst diejenigen, die auf eingebettete Systeme abzielen - für Ihr System ein wenig schwer sind.
Wenn Sie darauf bestehen, eine Drittanbieter-Bibliothek zu verwenden, finden Sie unten einige davon, die ich gefunden habe. Ich habe noch nie einen von ihnen benutzt und sie sind wahrscheinlich ziemlich teuer.
Ich habe auch eine Bibliothek geschrieben, die nahezu jede Anzeigetechnologie unterstützt: µGUI
http://www.embeddedlightning.com/ugui/
µGUI
ist eine freie und Open Source-Grafikbibliothek für eingebettete Systeme. Es ist plattformunabhängig und kann problemlos auf fast jedes Mikrocontrollersystem portiert werden. Solange das Display Grafiken anzeigen kann, ist µGUI
nicht auf eine bestimmte Displaytechnologie beschränkt. Daher werden Anzeigetechnologien wie LCD
, TFT
, E-Paper
, LED
oder OLED
unterstützt. Das gesamte Modul besteht aus zwei Dateien: ugui.c
und ugui.h.
Das kann auch hilfreich sein
Sie sollten einen Blick auf Contiki [wikipedia.org] werfen.
Neben einem kleinen und eleganten Betriebssystem für viele 8/16/32-Bit-Mikrocontroller bietet es auch ein GUI-Toolkit. Es läuft auf dem Atmel AVR!
Hier finden Sie einen direkten Link zum The Contiki Toolkit (CTK) -Quellcode .
Atmel macht tatsächlich eine GUI-Bibliothek, die auf ihre Mikrocontroller ausgerichtet ist .
NuttX ist ein Echtzeitbetriebssystem für Mikrocontroller. Der Autor hat damit begonnen, einige GUI-Grundelemente für LCD -Anzeigen dafür zu entwickeln.
Neben der Liste der Richter Maygarden RAMTEX bieten wir Bibliotheken, die speziell für kleine Grafik-LCDs gedacht sind. Wieder nicht frei, aber ist dies für den kommerziellen Gebrauch. Denken Sie daran, wenn Sie es selbst gemacht haben, kann es viele Stunden dauern, bis Sie ein poliertes Produkt erhalten. Bedenken Sie dies, bevor Sie Ihr eigenes Produkt bauen.
Bei den Raten, die mein Unternehmen für meine Zeit angibt (im Gegensatz zu meinem Entgeltsatz), wäre es besser, die Ramtex-Bibliothek zu kaufen (etwa zwei Tage, wenn Sie nur meinen Entgeltbetrag berücksichtigen). . Wenn Sie jedoch Zeit und Lust haben, ist es keine schwierige Aufgabe und wahrscheinlich auch Spaß.
Ich habe an einem ähnlichen Projekt gearbeitet. Das nächste, was ich finden könnte, ist in den folgenden Links, aber ich bezweifle, dass Sie eine Bibliothek mit allen Funktionen finden, die Sie wünschen. Diese werden nur grundlegende Zeichnungsfunktionen einrichten, aber es ist ein Anfang. Es gibt auch einige nützliche Tools zum Konvertieren von Bitmaps und zum Erstellen von Schriftarten, wenn Sie herumgraben.
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/glcd_dcf77/index.html
Fast alles andere, was ich hier gesehen habe, ist viel zu viel für das, was das Plakat zu verlangen scheint.
Sie können die " Microchip Graphics Library " kostenlos verwenden.
Dazu gehört das GUI-Tool " Graphics Display Designer X " zum Entwerfen von Bildschirmen. Dieses gibt die "C" -Dateien für Ihren entworfenen Bildschirm aus.
Ich verwende dieses Tool, das sehr benutzerfreundlich ist, aber einige der Widgets, die Sie suchen, werden Sie möglicherweise nicht finden.
Hier ist der Link zum GUI-Tool: Klicken Sie auf hier !
Die CodeVisionAVR-Entwicklungsumgebung enthält jetzt grafische Bibliotheken für XMEGA.
Der CodeVisionAVR C-Compiler bietet eine leistungsstarke Grafikbibliothek für LCDs mit Auflösungen von 84x48 bis 800x480 Pixeln.
Es ist jedoch nicht frei.
Wir haben mit easyGui angefangen und es scheint gut zu sein. Sie entwerfen die Bildschirme in einer PC-App und generieren dann den Quellcode. Dadurch wird die Entwurfsphase sehr einfach.
Es erledigt die meisten Dinge auf der Liste. Liniendiagramme folgen in Kürze. Sie können Schaltflächen ganz einfach als wiederverwendbare Strukturen erstellen.
Im Lieferumfang sind Template-Treiber für eine Vielzahl von Displays enthalten. Je nachdem, wie genau das Template mit Ihrem Display übereinstimmt (Farbtiefe und Oberfläche sind die größten Probleme), können Sie den Code möglicherweise unverändert verwenden oder ihn entsprechend anpassen.
Rich Quinnell erwähnt "... Ich habe eine Demonstration von Java-Anwendungen gesehen, die auf einer STM32-F3-MCU laufen ..." http://www.microcontrollercentral.com/author.asp ? section_id = 1741 & doc_id = 253618
Ich denke es ist was Sie suchen?
Vielleicht möchten Sie einen Blick auf das Nano-X-Framework (früher als Microwindows bekannt) werfen: http://www.microwindows.org/
Es behauptet, dass es bis zu einem 16-Bit-DOS-System unterstützt wird. Ich bin mir nicht sicher, ob es für 8-Bit geeignet ist, aber vielleicht kann die Bibliothek auf das reduziert werden, was Sie brauchen.
Ich habe es nicht verwendet, aber an einem Punkt wollte ich überlegen, ob ich es für eine einfache Anzeige-Benutzeroberfläche verwenden sollte (allerdings auf einem 32-Bit-System ARM). Leider hat das Projekt den Gang gewechselt, bevor ich tatsächlich irgendetwas damit gemacht habe. Mich würde interessieren, was Sie davon halten (oder wie gut es funktioniert, wenn Sie sich dazu entscheiden, es zu benutzen).