Hallo, ich möchte gerne eine einfache grafische Benutzeroberfläche programmieren. Basis ist ein STM32F429 in Kombination mit einem Touch-TFT-Display in Farbe und ohne Betriebssystem als Unterbau. Ich könnte natürlich alles zu Fuß machen, aber da ich nicht das Rad jedesmal neu erfinden möchte, würde ich gerne ein entsprechendes Toolkit bzw. ein Grafikbibliothek mit C bzw. C++-Anbindung benutzen, welche in der Lage ist, zumindest Grafikprimitive mit akzeptablem Aufwand darzustellen. Touchverarbeitung wäre wünschenswert. Dabei herauskommen soll später ein Fenster mit mehreren Registerreitern, Schaltflächen, Text zum Anzeigen, etc. Nicht aufwändig, aber funktionell. Leider hat die Suche bisher nicht die auf meinen Bedarf zutreffenden Ergebnisse geliefert, zumindest keine kostenlosen. Falls verfügbasr, welches Toolkit wäre dem entsprechend zu empfehlen?
Google-Suche nach "user interface library bare metal" ergibt zum Beispiel: µGFX http://ugfx.io/ Embedded Wizard http://www.embedded-wizard.de/ GUILIANI http://www.guiliani.de/en/
Mark B. schrieb: > ergibt zum Beispiel: ... drei kommerzielle Produkte. Grafikbeginner schrieb: > Leider hat die Suche bisher nicht die auf meinen Bedarf zutreffenden > Ergebnisse geliefert, zumindest keine kostenlosen. (Hervorhebung von mir)
Für NXP LPC fällt mir noch emWin von SEEGER ein...die Lib gibt es aber auch für andere uC-Familie.
Kennst Du diese Library? http://mikrocontroller.bplaced.net/wordpress/?page_id=2736 Ich habe für STM32F7Disco die entsprechende Bibliothek vom selben Verfasser erfolgreich eingesetzt.
Rufus Τ. F. schrieb: > Mark B. schrieb: >> ergibt zum Beispiel: > > ... drei kommerzielle Produkte. > > Grafikbeginner schrieb: >> Leider hat die Suche bisher nicht die auf meinen Bedarf zutreffenden >> Ergebnisse geliefert, zumindest keine kostenlosen. > > (Hervorhebung von mir) µGFX: Für den nicht-kommerziellen Einsatz kostenlos. Selbst bei kommerziellem Einsatz sollten 5 Dollar pro Gerät noch machbar sein. Embedded Wizard: Okay, ist teuer. Das "GUIs are watermarked" bei der Evaluation Version will man wohl eher nicht haben. GUILIANI: Ich sehe auf deren Homepage gerade keine Preise. Das SDK kann man anscheinend einfach so (naja, nach Angabe einer E-Mail-Adresse) von dort herunterladen. Mark Brandis - Rufus Τ. Firefly 2:1 ;-)
:
Bearbeitet durch User
Mark B. schrieb: > Das SDK kann man anscheinend einfach so (naja, nach Angabe einer > E-Mail-Adresse) von dort herunterladen. Was ist eine "evaluation version"? Hmm?
Ich bin bei den intelligenten berührungs-sensitiven Displays von NEXTION gelandet und habe mir gerade zum Test für ca. 20 Euro ein 2.4" Display bestellt. Angeboten werden Displays bis 7". https://nextion.itead.cc/ http://www.ebay.de/itm/2-4-Nextion-HMI-LCD-TFT-Touch-Display-Panel-fur-Arduino-Raspberry-Pi-ESP8266-/112164458282?hash=item1a1d85cf2a:g:avAAAOSwh2xX~ULV Die Display werden über USART betrieben. Ein kostenloser umfangreicher GUI Editor steht zur Verfügung. Bei YouTube gibt es jede Menge Videos über die Displays.
:
Bearbeitet durch User
Rufus Τ. F. schrieb: > Mark B. schrieb: >> Das SDK kann man anscheinend einfach so (naja, nach Angabe einer >> E-Mail-Adresse) von dort herunterladen. > > Was ist eine "evaluation version"? > > Hmm? Die sind aber auch wirklich etwas wirr an der Stelle. In der rechten oberen Ecke steht, dass man eine E-Mail an eine bestimmte Adresse schicken soll, um die "Evaluation Version" zu bekommen. Das ist Quatsch, weil es dafür den Download Link gibt. In den PDF- und CHM-Dateien der "Evaluation Version" wiederum ist nirgends die Rede davon, dass es sich um eine ebensolche handelt. Jedenfalls nicht an den 17,5 Stellen die ich mir angesehen habe. Man muss erst das Programm starten, dann endlich kommt ein Hinweis darauf. Offenbar wird die Software von einem typischen Informatiker und Sprachlegastheniker herausgegeben. ;-)
:
Bearbeitet durch User
Danke für die Antworten. Dass ein professionelles Toolkit Geld kostet (und nicht wenig), ist schon klar. Es ist ein immenser Aufwand, ein solches zu programmieren. Bei µGFX ist es schon schön, eine kostenlose nicht-kommerzielle Version zu erhalten; die Preispolitik (falls man damit Geld verdienen möchte) finde ich zu unflexibel. Auch finde ich, dass diese Pakete für meine Zwecke oversized sind, ich benötige einen Bruchteil davon. Daher wäre ein quelloffenes Toolkit wirklich die erste Wahl für meine Zwecke. Und ich möchte dazusagen: ich plane für mich langfristig. Es ist zwar schön, einmal alles gesehen zu haben, aber ich möchte nicht von Anfang an an einen Hersteller mehr oder weniger gebunden sein. Ich möchte mich in die Welt der Programmierung grafischer Oberflächen erst einmal einarbeiten und jederzeit die Möglichkeit haben, ohne Mehrkosten auf legalem Wege eigene Systeme mit den benutzten Toolkits zu verkaufen. Es werden sich im Laufe der Zeit sicherlich noch genug Fragen ergeben. Wo die Reise später hingeht, wird das Leben (und die Erfahrung) zeigen. Aber um mich festzulegen und viel Geld zu investieren, ist es noch zu früh. @DH1AKF K. Danke für den Tip. Werde ich mal analysieren
Und danke, aber nein. Ich werde nicht mit einem vorgefertigten Display mit Grafikcontroller arbeiten. Wenn ich ein Produkt entwickle, dann mache ich das nachhaltig. Kein Hersteller dieser Systeme kann mir eine Liefergarantie über mehrere Jahre geben. In zwei Jahren gibt es den Hersteller oder dieses System (oder ein kompatibles) nicht mehr. Und schon fange ich von vorne an. Ist zwar einfach, aber nur für kurze Zeit.
Wenn ich mich recht erinnere gibt es eine Version von emwin fuer stm32 Prozessoren for free. Siehe http://www.st.com/en/embedded-software/stemwin.html
Ja, das ist das STemWin, welches z.B. dem STM32F429 Discovery board mit Display beiliegt. Praktisch, nur wäre es wünschenswert, die Grafikelemente selbst zu definieren. Sobald ich STemWin benutze, ist dem versierten Benutzer sofoet klar, dass ich STemWin benutze. Das möchte ich vermeiden. Jedenfalls ist mir nicht bekannt, wie ich darum herum komme.
Interessante Frage. Kennt jemand dieses? https://www.element14.com/community/docs/DOC-60777 Wenn ich das richtig sehe liegt alles im Quelltext vor.
Und es ist auch ein Ressourcen Editor dabei. https://www.youtube.com/watch?v=PL3enedXTs4 Der Neue hat auch noch ein Grafik und Histogramm Tool. Läuft auch unter wine, allerdings bei mir mit instabiler Symbolleiste. Die Symbole kommen aber beim nächsten Fenster anlegen wieder.
>ich möchte gerne eine einfache grafische Benutzeroberfläche (Basis ist ein >STM32F429) programmieren. >würde ich gerne ein entsprechendes Toolkit ... benutzen. Klingt bis hier hin nach einer Applikation mit GUI auf einem uC. >Wenn ich ein Produkt entwickle, dann mache ich das nachhaltig. Solide kommerzielle Anwendung, auch gut. >Leider hat die Suche bisher nicht die auf meinen Bedarf zutreffenden >Ergebnisse geliefert, zumindest keine kostenlosen. >Sobald ich STemWin benutze, ist dem versierten Benutzer sofort klar, dass >ich STemWin benutze. Aha, mit fremden Federn schmücken, aber es nach eigener Arbeit aussehen lassen. Da scheint die Innovationshöhe der eigenen Software nicht sehr hoch zu sein.
Es geht mir nicht darum, mich mit fremden Federn zu schmücken, ich wollte hier lediglich meine Denkweise über meine Entwicklungsarbeit darstellen. Es geht mir viel mehr darum, flexibel zu bleiben und nicht von Anfang an horrende Kosten decken zu müssen, für ein Produkt, welches ich nicht ausreize. Des weiteren gefällt mir STemWin generell überhaupt nicht, weshalb ich es nicht nutzen möchte. Die Optik spielt eben schon eine gewisse Rolle (ein bisschen pingelig darf man doch wohl sein, oder?). Wenn ich feststelle, dass in punkto Leistungsfähigkeit kein Weg an einem kostenpflichtigen Produkt vorbeigeht, dann ist das eben so. Bis zu diesem Zeitpunkt möchte ich aber kostensparend arbeiten. Und wie gesagt, auf dem Gebiet der GUI-Programmierung bin ich Neuling und kenne deswegen den Markt und die verfügbaren Toolkits nicht. @hp-freund Nein, kannte ich noch nicht. Ich werde es mir mal ansehen, das Video ist jedenfalls interessant. Danke für den Link.
Es wäre durchaus sinnvoll wenn Du uns mal sagst, wofür das Ganze denn entwickelt wird. Ist es ein Hobby-Bastelprojekt? Oder sollen die Geräte kommerziell vertrieben werden?
Kurz gesagt: ich möchte mein Hobby zum Beruf machen. Solide Erfahrung im Bereich der hardwarenahen Programmierung ist durchaus vorhanden, nur eben die Arbeit mit GUIs ist eben Neuland. Auch möchte ich von Anfang an auf völlig legalem Wege Software schreiben und die Geräte (im kleinen Umfang) vertreiben, um mir bereits jetzt schon einen gewissen Kundenstamm aufzubauen. Dadurch wird die spätere geplante vollständige Selbständigkeit erleichtert.
Nun, dann würde ich mir die verschiedenen hier im Thread genannten Libraries einmal ansehen, und die aussuchen die mir am besten gefällt. Wenn die für eine kommerzielle Entwicklung Geld kostet, dann ist es eben so. Die Alternative wäre, alles selbst zu programmieren. Aber kommt man damit vom Zeitaufwand her wirklich billiger hin? Bei Lizenzkosten von z.B. US-$ 1650 = ca. 1500 Euro darf man das bezweifeln. Das sind gerade mal 20 bis 30 Mannstunden, je nachdem was für einen Stundensatz man ansetzt. In der Zeit bekommt man eine eigene Bibliothek wohl eher nicht hin. Wenn Du meinst dass Du das schneller schaffst, dann mach's :-)
:
Bearbeitet durch User
Mit Deiner Argumentation hast Du natürlich Recht. Darüber nachgedacht hatte ich auch schon. Leider sitzt das Geld dafür momentan nicht so locker, daher die Suche nach etwas günstigem. Vorerst habe ich etwas gefunden, womit ich mich zunächst beschäftigen werde. Das deckt so ziemlich den gesamten Bereich ab, welcher für mich (zumindest anfänglich) interessant ist. Das Toolkit heißt µGUI, ist kostenlos verfügbar und ausdrücklich zur Entwicklung kommerzieller Produkte freigegeben. Natürlich muss man noch viel zu Fuß machen (eine grafische Entwicklungsumgebung gibt es nicht), trotzdem ist die Erstellung einfacher Oberflächen einfacher, als wenn ich das Rad komplett neu erfinde. Umsteigen auf ein kostenpflichtiges Paket kann ich dann immer noch. Danke an alle für die zahlreichen Antworten!
Schau Dir auch mal NuttX an. Dort hast Du ein komplettes RTOS zzgl. eines Grafiksystems mit Primitiven, Widgets und sogar Windowmanager, falls gewünscht. Alles steht unter einer BSD-ähnlichen Lizenz.
Das wäre natürlich auch eine interessante Alternative. Insbesondere weil man sich um die Hardwarezugriffe (größtenteils) nicht mehr selbst kümmern muss. Hat NuttX eine Möglichkeit implementiert, um auf den CAN-Bus zuzugreifen?
Ich habe es mal kurz überflogen, das klingt jedenfalls sehr überzeugend. Ich werde diese Möglichkeit nicht auslassen, mich dort einzuarbeiten. Die nächsten Wochenenden, Feierabende und Weihnachtsferien sind gerettet! Vielen Dank für den Tip!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.