it-swarm-eu.dev

GUI-Library für Mikrocontroller

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:

  • panel (um Elemente zu gruppieren)
  • menü (scrollbar)
  • symbol
  • label
  • taste
  • liniendiagramm (optional)

Aber ich fand nichts Nützliches. Kennt jemand eine solche Bibliothek (oder nutzt sie besser) (vorzugsweise kostenlos)?

26
Martin

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.

13
Judge Maygarden

Ich persönlich habe PEG (bei der Arbeit) verwendet, aber es ist nicht kostenlos. Sie müssen nur eine kleine Anpassungsebene schreiben und verwenden. Sie können auch nach Qt oder minigui suchen.

5
INS

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

4
Achim Döbler

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 .

3
Oskar N.
1
Timmmm

NuttX ist ein Echtzeitbetriebssystem für Mikrocontroller. Der Autor hat damit begonnen, einige GUI-Grundelemente für LCD -Anzeigen dafür zu entwickeln.

1
Jay Atkinson

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ß.

1
Clifford

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

http://en.radzio.dxp.pl/

Fast alles andere, was ich hier gesehen habe, ist viel zu viel für das, was das Plakat zu verlangen scheint.

0
radix07

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 !

0
mailforthis

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.

0
vsz

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.

0
peter_mcc

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?

0
mike redmont

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).

0
Michael Burr