IPS-Nano-Terminal

Nein, leider die stehen drin im Script!

hmm, so sieht das Script von Steiner aus!

$id = 50631; // Test - LCD > ID vom 2408 $ControllerType = „Standard“;
// $ControllerType = „ST7036“;
$Zeilen = 2;
$Spalten = 16;
… cut

Ich bin mir nicht sicher, würde aber sagen so gehts nicht. Die Angabe zum Controller Type ist in beiden Fällen auskommentiert.

Probiers doch mal so: (natürlich mit deiner Id)

$id = 50631; // Test - LCD > ID vom 2408

$ControllerType = „Standard“;
// $ControllerType = „ST7036“;
$Zeilen = 2;
$Spalten = 16;
… cut

Christian

Ich würde jetzt zum Messgerät greifen und die Ports des DS2408 einzeln setzen und anmessen. Damit lässt sich das Problem eingrenzen.

… genau und / oder:

zur Ausgabe das „LEB-Blink-Skript“ und zur Eingabe:

echo (int) GetValueBoolean(„2308_DigitalInput_Pin_G“);

MST

Tipp for all:

echo (int)

somit wird auch False als 0 ausgegeben (sonst nichts!)

Wie schon erwähnt, mein Problem liegt zur Zeit an anderer Stelle, nämlich das IPS meine Scripts nicht mehr ausführt, sondern einfach den Text des Scripts im „Output Window“ wiedergibt und nicht das Script an sich ausführt!

Edit: Dies lag am zwischenzeitlich installierten PHP 5.

Weiter geht’s…

Und noch ein Edit: ALLLES KLAR. Es funzt. DANKE Leute, ich hab mich blöd angestellt, aber jetzt läufts! Feine Sache!!! Jetz kann ich weiter experimentieren!!!

na bitte, geht doch… -))

erzähle doch mal woran es lag, evtl. machen andere ja den selben Fehler.

Auch wenns ein "dummer"Fehler war, es könnte aber mal weiter helfen.

Gruß
Christian

jetzt läufts!

was PHP oder das Display :confused:

Beides :wink:

Also: Mein erster Fehler war das ich immer dachte man muß die 1-Wire Bauteile mit ihren eindeutigen Nummern ansprechen. Die NUmmer, die die Teile fix eingebrannt haben. Dann war mir zusätzlich nicht klar das ich in den Instances jedes einzelne 1-Wire Bauteil definieren muß und mit dem TMEX verbinden muß um dann jedes für sich mit der ID ansprechen zu können. Das waren eigentlich meine Hauptprobleme.

Zwischendurch hab ich dann blödsinnigerweise PHP 5.2.x installiert, weil ich die php.ini für die Grafikanwendungen installieren wollte. Dadurch konnte ich aber keine Scripts mehr ausführen!!! Warum? Keine Ahnung. Ich hab die PHP Software dann wieder deinstalliert und schwups waren alle meine Probleme gelöst!!!

Man(n) soll halt nicht auf mehreren Baustellen arbeiten. ICh bin da leider zeitweise etwas ungeduldig!!

Danke nochmals für eure Hilfe! Komm sicher noch des öfteren mit Problemen auf euch zu :wink:

Hallo Doc

Als Initstring verwende ich den hier veröffentlichten plus den, den ich oben gepostet habe. Einzeln funktionieren die leider nicht. Habe noch nicht gefunden, was vom alten String noch unbedingt erforderlich ist.

Mich würde interessieren, ob du das EDIP204 nun richtig zum Laufen bekommen hast, und wie der vollständige Init-String lautet.

Ich bin grade am Kämpfen.

Gruss, Andreas

Hallo zusammen

Meine letzte Frage ging natürlich an Alle. Ich kämpfe momentan mit der Ansteuerung von einem EA EDIP204 und einem EA DOGM163.

Das EA DOGM163 funktioniert fast mit den hier downloadbaren LCD-Routinen. Fast heisst, dass meine 3. Zeile einfach nichts anzeigen will und um die 2.Zeile 1. Spalte anzusprechen, muss ich

$lcd->SendLCDText(2, -4, "BlaBla");

eingeben. (Sollte eigentlich doch 1,0 sein.)

Aus dem EA EDIP204 bekomme ich - ausser wirren Zeichen - gar nichts vernünftiges raus.

Hat irgendjemand Ideen, wie man die beiden Displays gescheit anspricht?

Gruss, Andreas

IP-Symcon. Hier wirst du geholfen.

Hallo Andreas,

ich habe die Skripte LCD_Functions und LCD_Beispiel überarbeitet.

Bitte teste mal Dein EA DIP204. Nicht vergessen das Beispiel-Skript anzupassen (Controller: KS0073).

Auch das EA DOGM163 (Controller: ST7036) sollte jetzt alle 3 Zeilen anzeigen.

Ich besitze selbst keines dieser Displays und konnte daher die Funktionen nicht testen. Somit bin ich auf die Mithilfe aus dem Forum angewiesen.

Gruß
HJH

Hallo HJH

Super!!!

Erstmal vielen Dank. :slight_smile: Das DIP204 funktioniert nun tadellos. Ich hab’s mit dem INIT einfach nicht hinbekommen. :confused: Kannst du zaubern oder liest du im Datenblatt zwischen den Zeilen? Ich hab’s so jedenfalls nicht gefunden.

Leider will das DOGM163 die 3. Zeile einfach nicht beschreiben.

$text = date("d.m.y        H:i:s");
$lcd->SendLCDText(2, -4, $text); // 2. - 3. Zeile, 1. Spalte

schreibt das Datum in die 2. Zeile und die Zeit in die 3… Man kann sich so erstmal behelfen, aber wenn man nur einen Wert tauschen will, ohne alle Zeilen neu zu schreiben, geht’s so nicht.

Vielleicht fällt Dir ja noch was dazu ein.

Ein kleiner Bug noch: In der LCD_Functions muss es in Zeile 245 - statt rows - row heissen.

Gruss, Andreas

IP-Symcon - Da werden Sie geholfen.

Hallo Andreas,

ja, es ist beim Studium der Datenblätter schon von Vorteil, wenn man ein bischen mit Bits und Bytes jonglieren kann. :wink:

Die folgende Zeile

$lcd->SendLCDText(2, -4, $text); // 2. - 3. Zeile, 1. Spalte 

enthält einen negativen Wert für die Spalte. Sowohl für Zeile als auch für Spalte gilt: die Zählung beginnt bei 0. Negative Werte sind nicht erlaubt.

Wenn Du in der 3. Zeile ab der ersten Spalte etwas ausgeben willst muss es so heißen:

$lcd->SendLCDText(2, 0, $text); // 3. Zeile, 1. Spalte 

Vielleicht war das der Fehler. Vorsichtshalber solltest Du noch prüfen, ob Du diese Parameter angepasst hast:

  • $ControllerType (ST7036)
  • $Zeilen (3)
  • $Spalten (16)

Gruß
HJH

Hallo Andreas,

ich habe gerade noch einen kleinen Fehler gefunden und korrigiert.

Bitte LCD_Functions noch einmal downloaden (im Beitrag oben).

Gruß
HJH

Hallo HJH

Fehler bleibt.

Mit


$text1 = "Zeile 1         Zeile 2         Zeile 3";
$lcd->SendLCDText(0, 0, $text1);

werden alle 3 Zeilen ab der 1. Spalte beschrieben, aber auf die 2. Zeile kommst du nicht mit

$lcd->SendLCDText(1, 0, $text1);

sondern nur mit

$lcd->SendLCDText(2, -4, $text1);

Gruss, Andreas

Hallo Andreas,

wenn ich Dich richtig verstanden habe werden alle 3 Zeilen beschrieben.
Nur beginnt die 2. Zeile an Position -4.

Gut, mach bitte nocheinmal einen Download.

Gruß
HJH

Hallo HJH

:slight_smile: :slight_smile: Das war’s. Super. Mein Held. Und du hast das Display noch nicht mal vor Ort. 2 neue Hardware-Stücke an einem Abend kompatibilisiert. Hut ab. :slight_smile: :slight_smile:

Gruss, Andreas

IP-Symcon - Da werden Sie geholfen.

Hallo Andreas,

vielen Dank für die Blumen… :slight_smile:

Ich werde dann die Skripts in die aktuelle Dokumentation übernehmen.

Viel Spaß noch.

Gruß
HJH

Es kam ja schon oft die Frage nach einer 8-bit Ansteuerung.
Wäre es rein theoretisch möglich, einen „übersetzer“ mit einem Microcontroller zu realisieren, der die 4-bit Befehle in 8-bit Befehle übersetzt?

Hallo agotthold,

ein „Übersetzer“ ist überflüssig, da ein solcher bereits in jedem Standard LCD-Controller enthalten ist und auch genutzt wird.

Gruß
HJH

Hallo HJH,

habe auch ein EA DIP204 mit einem kleinen Problem im Einsatz, bei mir wird die zweite und dritte Zeile vertauscht.
Sollte dies mit dem „LCD_Functions“ vom 18.07.07 nicht beseitigt sein? Habe die Functions und das Beispiel auf den Stand vom 18.07.07 gebracht. Habe ich noch was vergessen zu ändern?:confused:

Grüße

Andreas