IP-Symcon LCP100 Modul

Einsatz:

Anschluss des ELV LCD Colour Panel (Artikel-Nr.: 68-841-33) LCP100 an IP-Symcon

Download: www.tdressler.net

Kompatibilität und Voraussetzungen


Installation

Die Datei lcp100.dll muss in das IP-Symcon Modules Verzeichnis kopiert werden. Anschließend muss der Dienst neu gestartet werden. Die LCP100-Originalsoftware von ELV wird für das Modul nicht benötigt. Allerdings muss der im Packet enthaltene Gerätetreiber beim erstmaligen Verbinden mit dem PC installieret werden, so das für das LCP100 ein eigener Virtueller ComPort eingerichtet wird

Konfiguration:

Als erstes muss in den Geräteeinstellungen bei eingestecktem LCP100 überprüft werden, ob der ein COMPort zugewiesen worden ist. Im Gerätemanager kann der neu zugewiesene ComPort abgelesen werden.
Wichtig: Der LCP100 erscheint nicht unter seinem Namen, sondern als CP210x USB to UART Bridge! Wer noch andere Geräte mit diesem Chipsatz hat (z.B. ELV WDE1) muss ggfls duch ein und Austecken Prüfen, welcher ComPort speziell dem LCP100 zugewiesen wird.




Jetzt muss das eine Instanz des Device-modul angelegt werden. Dazu (entsprechend der jeweils gültigen IP-Symcon-Dokumentation ) in der Verwaltungskonsole "Objekt hinzufügen"->"Instanz-Hinzufügen" auswählen. Dort kann das entsprechende Modul unter dem Hersteller "ELV" selektiert und der Dialog mit OK verlassen werden.





Es ist keine „Parent“-IO-Instance notwendig, da das Modul über eigene IO-Routinen verfügt. Anschliessend ist mittels eines kleinen PHP-Scriptes der vom LCP100 belegte ComPort anzugeben.Die eingestellte Konfiguration muss nun noch mit "Übernehmen" und "OK" bestätigt werden. Weietere Konfigurationen sind nicht notwendig.

<?php
//LCP100-Instance
$lcp=52138 /*[LCP100]*/;
//ComPort festlegen
 LCP100_SetComPort($lcp,'COM12');
 IPS_ApplyChanges($lcp);
?>

PHP-Funktionen

Alle Funktionen haben im PHP den Präfix "LCP100_"




Die Beschreibung kann man am Besten dem Beispielscript entnehmen

<?php
/**
Testscript für LCP100-Modul
(C) Thomas Dreßler 2010
http://www.tdressler.net/ipsymcon
*/
//LCP100-Instance
$lcp=52138 /*[LCP100]*/;
//inc max execution time
 set_time_limit(120);
 
 //Bei Bedarf Liste mit allen CP2102-Ports holen
 //print LCP100_GetPortList($lcp);
 //ComPort festlegen
 LCP100_SetComPort($lcp,'COM12');
 IPS_ApplyChanges($lcp);
 
 //Version auslesen
 print LCP100_GetVersion($lcp);
//Display ein und ausschalten
 LCP100_Backlight($lcp,false);
 sleep(1);
 LCP100_Backlight($lcp,true);
 //internes Testbild aktivieren
 LCP100_Test($lcp);
 sleep(5);
 //Screen löschen, d.h. leere Grafik laden, der interne Befehl geht nicht
 LCP100_CLS($lcp);
 //Grafik (BMP 128x128x24bit) im IPS-Home lesen  und an Page 6 übertragen
 LCP100_PushBitmap($lcp,6,'ifront.bmp');
 //Grafik (BMP 128x128x24bit) aus dem LCP100 Page 6 lesen und auf der Platte ablegen
LCP100_GetBitmap($lcp,6,'ips1.bmp');
//geladene Datei darstellen
LCP100_ShowPage($lcp,6);
?>

Bei Problemen und Fehlanzeigen liefert die Debug-Funktion wertvolle Hinweise 




Beispielfoto



LCP100 Testprogramm

Basis für das IPS-Modul war das LCP100-Testprogramm, welches wiederum auf Quellen aus einem Posting im IPSymcon-Forum beruht. Das Programm und der dazugehörige Quellcode sind auf der angegebenen Seite verfügbar.

Bekannte Einschränkungen

Stand Dokumentation: Version 2.3.11 16.10.2010

Index
Disclaimer

© 2010 Thomas Dreßler
Alle Rechte vorbehalten
letzte Änderung 16.10.2010