Hallo,
habt Ihr eine aktuelle Doku zu den 1-Wire php Befehlen ? Gibt es auch ein fertiges Modul (Script) um ein Display mir dem DS2408 anzusprechen ?
Danke
ef
Hallo,
habt Ihr eine aktuelle Doku zu den 1-Wire php Befehlen ? Gibt es auch ein fertiges Modul (Script) um ein Display mir dem DS2408 anzusprechen ?
Danke
ef
Hallo ef,
als Anlage zwei Skripte:
das erste dient der Initialisierung des Displays und das zweite der Ausgabe.
Warum und wieso entnehme bitte den Datenblättern des HD44870 / KS0066
MST
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : LCD_INI.ips.php
Trigger :
Interval :
*/
$id = 15879;
TMEX_F29_SetStrobe($id, TRUE);
IPS_Sleep(100);
TMEX_F29_WriteBytes($id, chr(03).chr(03).chr(03).chr(03).chr(03).chr(02).chr(02).chr(12).chr(00).chr(06).chr(00).chr(14).chr(00).chr(01).chr(00).chr(02));
?>
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : LCD.ips.php
Trigger :
Interval :
*/
$id = 15879;
$text = "Test 1234|zweite Zeile";
$lcd = new OneWireLCD(2, 40);
$lcd->SendLCDText($text);
class OneWireLCD {
private $rows;
private $cols;
public function __construct( $rows, $cols ) {
$this->rows = $rows;
$this->cols = $cols;
}
public function SendLCDText($text) {
$id = 15879;
$sendbuf="";
$currentline=0;
$lines = explode("|", $text);
//Clear Display
$sendbuf .= chr(0);
$sendbuf .= chr(1);
//Disable Cursor
$sendbuf .= chr(0);
$sendbuf .= chr(12);
foreach($lines as $line) {
if ($currentline >= $this->rows) {
break;
}
//Position
if($currentline > 1) {
$shift=20;
} else {
$shift=0;
}
$sendbuf .= chr(((($currentline%2)*4*16+$shift) | 128) >> 4);
$sendbuf .= chr(((($currentline%2)*4*16+$shift) & 15));
//Text
//$line = str_pad($line, $this->cols);
$line = substr($line, 0, $this->cols);
for($i=0; $i<=strlen($line)-1; $i++) {
$sendbuf .= chr((ord($line{$i}) >> 4) | 16);
$sendbuf .= chr((ord($line{$i}) & 15) | 16);
}
$currentline++;
}
TMEX_F29_WriteBytes($id, $sendbuf);
}
}
?>
Cool,
na die Details brauche ich nicht. Habe mal ein Codeschloß mit genau dem Display Controller auf einem C8751 in Assembler programmiert. (naja vor 13 Jahren)
Besten Dank.
ef
PS: 1-Wire Befehls Doku (ein paar Beispiele für alle Chips posten würde ja auch erstmal reichen) ?