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?
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)
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
;-)
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?
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. ;-)
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.
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.
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 :-)
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!