Liste der Anhänge anzeigen (Anzahl: 1)
Hey,
ich hab mal auf der Lib von Sebatian aufbauend eine Funktionsbibliothek geschrieben, um einfache Steuerelemente zu realisieren.
Man kann mit der Lib momentan Buttons, Checkboxes und Slider (Vertikal) erstellen. Eine Progressbar mach ich demnächst noch.
Ebenso beinhaltet die Lib Funktionen zum zeichnen von Vierecken, Kreisen und Linien.
Ich denke die Befehle erklären sich größtenteils von selbst, nur:
RefreshCheck und RefreshSlider müssen immer wieder aufgerufen werden (interrupt?), damit sich der Status der Checkbox bzw. des Sliders beim Berühren ändert.
Der Wert einer Checkbox kann aus der Variable Checked[id] gelesen werden. Der Slider muss mit GetSlider(id) gelesen und mit SetSlider(id,val) gesetzt werden. Der gültige Bereich ist von 0-100
Ein Button wird mit GetButtonPressed(id) abgefragt.
Der Rest funktioniert eigentlich wies im Headerfile steht. Create zum Erstellen Delete zum Löschen etc.
Wenn jemand diese Lib testet wäre ich über Rückmeldungen dankbar.
MfG C_Classic
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo hier im Forum,
@Alle: Habe immer noch das Problem, dass ich keinen engen Text (viel Infos auf wenig Raum) darstellen kann. Gibt es jemanden, der 26 Zeichen pro Zeile (fehlerfrei) darstellen kann, dann sagt mir bitte wie!!!
@ Sebastian: Du bist vom Angeln zurück und baust eine Testplatine, das lässt hoffen. Evtl. kannst du ja meine Probleme (siehe Bilder oben) 1) im Textmodus mit 26 Zeichen pro Zeile das Problem in der Mitte des LCDs 2) im Grafikmodus z.B. mit deinem Zeichensatz 8x8 bei den Buchstaben „h“ und „r“ nachvollziehen und hast evtl. eine Lösung dafür.
Manchmal beschleicht mich die Idee, dass ich eine unfertige Version deiner Lib benutze – neulich fand ich auf einer deiner Seiten eine andere Version ohne Touchkalibrierung – die zwar etwas bereinigt aussah, die ich allerdings nicht zum Laufen bekommen habe (könnte ein Timing Problem sein).
@C_classic: Danke für die „functions“. Habe sie mal kurz eingebunden und es lief soweit. Einen slider finde ich sehr interessant. Abfrage und Verschieben habe ich auf Anhieb nicht hinbekommen – evtl. ist ein kleines Demoprogramm ganz schönJ Ein sehr gute Linienfunktion gab es ja schon bei Sebestian.
@Alle: Ich bin ein bildlicher Mensch und habe deshalb für mich ein kleines Zeichensatz-Tool programmiert. Wer will kann es hier downloaden. Es ist zum privaten gebrauch, erfüllt den Zweck für den ich es entwickelt habe und ist auf keinen Fall perfekt. Man kann damit GLCD-Zeichensätze (maximal 8x8) erkunden und auf die eigenen Bedürfnisse anpassen. Im linken Fenster muss man etwas markieren, dann kann man die Zeichen einzeln anzeigen lassen, rotieren, spiegeln, verschieben und als neuen Quelltext im rechten Fenster erstellen lassen. Ich gehe nicht den Weg, dass man MSB und horizontal/ vertikal oder was auch immer einstellen muss, sondern jedes Zeichen wird entsprechend der Anzahl von Manipulationen verschoben/ rotiert/ gespiegelt und dann als Hex-Code gespeichert. Man kann auch in den Festern rechts und links Markieren und Einfügen oder Editieren, so dass man jederzeit auch mal eine Ausgabe von rechts nach links verschieben kann, markieren und anzeigen. Es ergeben sich bei geschickter Handhabung recht vielfältige Arbeitsmethoden.
Ich wollte zuerst noch TrueType Fonts einladen lassen, mache das aber z.Zt. mit GLCD Fontcreator 1.0.1 von http://www.pocketmt.com/ (Export nach Basic, dann in mein Programm einladen und weiter beareiten). Eine Weiterentwicklung plane ich nicht.
Liste der Anhänge anzeigen (Anzahl: 1)
Hab jetzt mal meine Lib nochn bissl erweitert und verbessert... zwar immernoch plot_pixel, aber jetzt gibts immerhin schonmal Progressbars. ich arbeite momentan nicht mehr daran, werde mich aber irgendwann mal hinsetzen und ne TextBox machen.
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
hab jetzt die Grundstruktur fertig und veröffentliche es nun unter der MPL. Die grundliegenden Grafik-Funktionen (DrawSquare, Line, ...) müssen noch überarbeitet werden, da diese noch mit PlotPixel arbieten und somit seeeeehhhhhr langsam sind.
Ich habe diese Bibliothek auf meinen Entwicklungsboard (:arrow: Youtube) mit einem Mega32 und Mega644 getestet. Mit allem drum und dran ist die Lib + n bissl Beispielcode schon größer als die 32 KB des Mega32. O:)
Wenn jemand mein Board nachbauen möchte, kann ich dem den Schaltplan gerne noch hier posten. (Muss ihn aber erst noch zeichnen). Einfach ne Antwort in den Thread hier.
:arrow: Hinweis an alle Tester: Meine Pin-Konfiguration ist anders als die von Sebastian! Also erst anpassen. :arrowl:
Wenn ihr wollt, kann ich ne Dokumentation schreiben. Oder kommt ihr mit den Header-Files klar?
Der Anhang "ui_lcd05.zip" ist die Bibliothek und der LCD-Treiber in C++.
In der Datei "CAVDA-OS.zip" (CAVDA-OS ist mein Projektname, könnt ja mal raten wofür es steht. Ich weiß es grad gar nimmer :D) findet ihr mein komplettes Beispiel-Projekt mit Makefile (für Mega644). Jedoch sind in diesem Projekt noch weit mehr Funktionen implementiert und es wird mehr Hardware erfordert. (Das Dev-Board halt).
Wenn jemand Zeit findet, würde ich mich über ein paar Rückmeldungen freuen. Und wenn jemand ganz viel Zeit hat, könnte er die Grafikfunktionen in graphic.cpp überarbeiten.
Somit viel Spaß!
MfG,
C_Classic
PS: Wie müssen die Fonts aufgebaut sein? Ich würde gerne eine noch kleinere Font schreiben. Oder gibt es sogar einen Konverter?
PPS: Und schon sind mir ein paar Fehler aufgefallen. Werde die korrigierte Version demnächst hochladen.
Und noch was: Der Fehler im Text-Mode existiert immer noch.
Liste der Anhänge anzeigen (Anzahl: 5)
Hallo,
gibt mal wieder neues von meiner Lib. Es gibt nun 2 neue Controls: Ein Text-Eingabefeld und eine Quertz-Tastatur(50px hoch, 160px breit; y-offset einstellbar).
Desweiteren gibt es ein paar Buxfixes - wobei bestimmt noch ein paar Neue dazugekommen sind. Die Geschwindigkeitsoptimierung habe ich noch nicht gemacht - habe ich jedoch demnächst vor, was dank den write/read_byte Befehlen einfacher geworden ist.
Ich kopiere auch gleich mal das Makefile und einen Beispielsource für Tastatur und Textbox mit rein. Die Bibliothek muss in ./include/
Das Hochkant-Projekt habe ich erstmal zurückgestellt.
Somit viel Spaß beim Testen. (Denkt dran evtl. die Ports in der lcd.h zu ändern)
Im Anhang auch noch 2 Bilder des Beispiels.
MfG
C_Classic
PS: Da is noch ein Fehler im Beispielskript: Zeile 67 muss von char text[2]; auf char text[2]="-"; geändert werden
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
habe jetzt auch H-Slider implementiert!
Hier mal eine Übersicht der Features:
Zeichenfunktionen (DrawFunctions)
- Gefülltes Rechteck
Rechteck
Horiz. Linie
Vertik. Linie
freie Linie (langsamer)
Kreis
User-Interface(ui)
- Buttons
Bild-Buttons
Check-Boxen
Labels
Horiz. Slider
Vertik. Slider
Fortschrittsanzeige (Balken)
Textbox
Tastatur (QWERTZ)
TODO-LIST:
- Verbesserung von DrawHorizontalLine (Ist zur Zeit seeeehhhhhr langsam)
Nummern-Tastatur
Was würdet ihr davon halten, wenn ich einen RN-WIKI-Eintrag zum LCD bzw. der Lib erstelle? Und soll ich die Lib dann in die WIKI oder bei SourceForge hochladen?
MfG
C_Classic