Uh, ok, wait, let me catch a working version
one of the versions I coded... dunno if it works how I want it to work, but 
produces the error...

--------------------------

#!/usr/bin/perl
use strict;
use warnings;
use IO::Handle;
###############
my $port;
my $loop;
my $start;
my $reset;
my $setdigouts;
my $hexsetdigouts;
my $hexretversion;
my $retversion;
my $hexvers1;
my $digins;
my $hexdigins;
my $diginsretcom;
### dbasevals
my $user = 'jkirchh';
my $pword = '[EMAIL PROTECTED]:-)';
my $dbase = 'test';
my $table = 'foo';
my $driver = 'mysql';
my $host = 'localhost';
my $dbaseclose;
my $dbasefinishcom;
my $dbh;
###
###############
$port = '/dev/cua0';
$start = chr '72';
$diginsretcom = chr '211';
$hexvers1 = chr '1';
$reset = chr '0';
###############
&open;
&version;
&readdigins;



&resetdigouts;
&close;

################## subs
sub opendb
{
my $dbh = DBI->connect("DBI:$driver:database=$dbase; host=$host", $user, 
$pword,
                                {'RaiseError' => 1,AutoCommit => 0});
print "\nopened DBI:$dbase on host $host with user $user\n";
}

sub closedb
{
print "\nATTENTION!\n!C!ommit Changes or !R!ollback Database?\n";
$dbaseclose = <stdin>;
chop $dbaseclose;
if ($dbasefinishcom == 'C')
 {
 $dbh->commit;
 $dbh->disconnect;
 }
elsif ( $dbasefinishcom == 'R')
 {
 $dbh->rollback;
 $dbh->disconnect;
 }
}

sub digins2dbi
{
# mysqlstatements hier rein...
}

sub version
{
print compu $hexvers1;
$hexretversion = getc compu;
$retversion = ord("$hexretversion");
print  "\nVersion is: $retversion --> $hexretversion";
if ($retversion == '201') {print "\nCompulab ok\n"};
}

sub readdigins
{
print compu $diginsretcom;
sysread compu, $digins, 1;
$hexdigins = ord("$digins");
print "\nDigital Inputs: $hexdigins --> $digins\n";
}

sub open
{
open("compu","+<$port") || die "opening $port failed: $!";
system("stty 19200 -echo cstopb cbreak -parenb cs8 parodd < $port");
compu->autoflush(1);
print "\nopened interface on port --> $port\n";
}

sub setdigouts
{
$hexsetdigouts = chr ("$setdigouts");
print compu "$start";
print compu "$hexsetdigouts";
print "\nsent --> $setdigouts --> $hexsetdigouts\n";
}

sub close
{
close 'compu';
print "\nclosed interface on port --> $port\n\n";
}

sub resetdigouts
{
print compu "$start";
print compu "$reset";
print "\nresetted --> digoutputs\n";
}


---------------------------

> Let's see your code!
>
> -- Brett

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to