Merge branch 'owx_ser_timeout'

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@6398 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
ntruchsess 2014-08-12 21:22:18 +00:00
parent bb2c511401
commit 54469ba9ae
2 changed files with 4 additions and 9 deletions

View File

@ -219,10 +219,6 @@ sub response_ready() {
main::Log3($serial->{name},5, "OWX_DS2480 read: After loop no. $serial->{num_reads} received: ".unpack("H*",$serial->{string_in}));
return 1;
}
if (($serial->{num_reads} > 1) and (tv_interval($serial->{starttime}) > $serial->{timeout})) {
main::Log3($serial->{name},5, "OWX_DS2480 read: After loop no. $serial->{num_reads} received: ".unpack("H*",$serial->{string_in}). " -> TIMEOUT");
die "OWX_DS2480 read timeout, bytes read: $serial->{retcount}, expected: $serial->{retlen}" ;
}
return 0;
}
@ -235,7 +231,6 @@ sub start_query() {
$serial->{num_reads} = 0;
$serial->{retlen} = 0;
$serial->{retcount} = 0;
$serial->{starttime} = [gettimeofday];
}
########################################################################################

View File

@ -51,7 +51,6 @@ sub new() {
alarmdevs => [],
devs => [],
fams => [],
timeout => 1.0, #default timeout 1 sec.
};
return bless $self,$class;
}
@ -236,10 +235,11 @@ sub initialize() {
#-- write 1-Wire bus (Fig. 2 of Maxim AN192)
$ds2480->start_query();
$ds2480->query("\x17\x45\x5B\x0F\x91",5);
eval { #ignore timeout
my $until = gettimeofday + main::AttrVal($hash->{NAME},"timeout",1);
eval {
do {
$ds2480->read();
} while (!$ds2480->response_ready());
$ds2480->poll();
} until ($ds2480->response_ready() or gettimeofday >= $until);
};
$res = $ds2480->{string_in};
#-- process 4/5-byte string for detection