Arduino GIGA + GigaDisplay Scala Problem

#8022549
Lesenswert?

Guten Tag! Ich versuche, meine Programmierkenntnisse zu vertiefen. Dafür spiele ich z.Z. mit Arduino GIGA und dazu gehörenden TFT (und Arduino IDE 2.3.8). Ziel ist, Lib für Scala zu schaffen. Scala selbst funktioniert, Problem mit Beziffern. Einfache Zahlen lassen sich richtig herausgeben. Aber wenn ich stattdessen bestimmte Bezeichnungen wie z.B. "Fis" oder "As" herausgeben möchte, kann ich entsprechende String-Array nicht an Structur anbinden. Compiler zeigt immer Fehler. Und meine Idee ist, daß alle Daten von Scala einschließlich Beschriftung über einen Zeiger auf Structur übergeben werden.

*.ino File hier dabei. Includierte farbe16.h Vollständigkeit halber auch da.

Zwei Poti werden abgelesen, die Werte werden gezeigt und als Wert für drei Scalen benutzt, zwei vertikalen und eine horizontale.

Zweite Frage, die mich interessiert: z.Z. benutze ich Var. uint16_t mode und defs, um verschiedene Einstellungen zu machen. Eigentlich wäre es besser, Bitfeld zu benutzen. Aber ich verstehe noch schlecht, wie ich Bitfeld zusammen mit der Struktur, aber separat einzelne Bits, inizialisieren könnte - damit Init-Einstellungen für mode gut lesbar bleiben.

Könnte mit bitte jemand mit Tipps helfen? Vielen Dank im voraus! Max.

Angehängte Dateien:
: Bearbeitet durch User
#8023171
Lesenswert?

Hans W. schrieb:

Das ist mir unklar. Zeige mal, wie du es (ohne Erfolg) versucht hast.

Nach weiteren Anpassungen in struct und void scala_ziffer(scaladata *userscala, uint8_t einaus); scheint es wie gewollt zu arbeiten. Aber die Lösung scheint mir unschön zu sein: ich baue Zeilen auseinander nach einzelne Buchstaben. Und ich habe gelernt: was in Technik unschön aussieht, kann nicht gut sein...

Vielleicht gibt es eine bessere Lösung? Vor dem ich das in C++ Classe umwandeln beginne, möchte ich das gerne schön machen. Obwohl könnte man wohl auch sagen: es funktioniert und gut so?

Angehängte Dateien:
: Bearbeitet durch User
#8023518
Lesenswert?

Hans W. schrieb:

Ich finde sie OK.

Danke!

Ich hätte die Skalen als Bild (Bitmap) geladen und dargestellt, und nur die Balken zur Laufzeit hinein gemalt.

Schwer, da Breite und Länge von Scala, Zahl, Länge und Breite von Marker, mittlere Marker (oder zwei mittleren, wenn Zahl gerade) dicker als andere oder nicht, Marker rechts oder links oder keine, Rahmen gezeichnet (und wie dick) oder nicht, die Zeichen gegen Marker oder dazwichen, Abstand Text/Rahmen, auch Farbe von Rahmen, Zahlen und Scala - alles kann man in Structur einstimmen. Als Bild kaum zu denken: zu viele Varianten.

Das wurde als eine universelle Funktion für Scala gedacht. Grundlage habe ich noch vor einem Jahr mit einer Platine mit ATmega1284P und 3,5" 240x320 TFT gemacht. Nun aber für Arduino Giga und systematisch. Aber solange das auf C bleibt, weiterhin auch auf Mega problemlos, nur viel langsamer. Hier wird Inhalt von drei Scala weniger als in einer ms gemacht. Mit Rahmen, Marker und Beschriftung schon ca.25 ms.

Ich möchte noch eine Möglichkeit einführen, außer Adafruit_GFX_Library etwas anderes zu benutzen, da Adafruit_GFX_Library Problem mit ÄÖÜß hat. Meine Entwicklung ist für Musiker bestimmt, die die fehlende deutschen Buchstaben kaum akzeptieren. Früher habe ich das Problem mit eigenhändig gemachten Font gelöst, wo eine Zwischefunktion laufend Umkodierung für einige Buchstaben machte... Alle mir bekannten Libs machen notwendige Sachen ähnlich: Rechteck x,y,Breite, Höhe und Farbe. Linie x,y,Länge, Farbe. Nur für Text gibt es Unterschiede. Vielleicht am besten mit Zeiger auf Funktion in Structur...

: Bearbeitet durch User

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren