From f10c29f0311978c1a5f7b7ff62bc564a75056108 Mon Sep 17 00:00:00 2001 From: ntruchsess <> Date: Wed, 21 May 2014 20:46:04 +0000 Subject: [PATCH] OWX_DS2480: fine-tune debug-logging git-svn-id: https://svn.fhem.de/fhem/trunk@5926 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/OWX_DS2480.pm | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/fhem/FHEM/OWX_DS2480.pm b/fhem/FHEM/OWX_DS2480.pm index ed28911f7..2e2cdbeee 100644 --- a/fhem/FHEM/OWX_DS2480.pm +++ b/fhem/FHEM/OWX_DS2480.pm @@ -98,9 +98,7 @@ sub query ($$$) { $hwdevice->baudrate($serial->{baud}); $hwdevice->write_settings; - if( $main::owx_async_debug > 2){ - main::Log3($serial->{name},3, "OWX_DS2480.query sending out: ".unpack ("H*",$cmd)); - } + main::Log3($serial->{name},5, "OWX_DS2480.query sending out: ".unpack ("H*",$cmd)); my $count_out = $hwdevice->write($cmd); @@ -134,19 +132,26 @@ sub read() { $serial->{string_in} .= $string_part; $serial->{retcount} += $count_in; $serial->{num_reads}++; - if( $main::owx_async_debug > 2){ - main::Log3($serial->{name},3, "OWX_DS2480 read: Loop no. $serial->{num_reads}"); - } - if( $main::owx_async_debug > 2){ - main::Log3($serial->{name},3, "OWX_DS2480 read: Receiving in loop no. $serial->{num_reads} ".unpack("H*",$string_part)); + if( $main::owx_async_debug > 1){ + if ($count_in>0) { + main::Log3($serial->{name},5, "OWX_DS2480 read: Loop no. $serial->{num_reads}, Receiving: ".unpack("H*",$string_part)); + } else { + main::Log3($serial->{name},5, "OWX_DS2480 read: Loop no. $serial->{num_reads}"); + } } return $count_in > 0 ? 1 : undef; } sub response_ready() { my ($serial) = @_; - return 1 if ($serial->{retcount} >= $serial->{retlen}); - die "OWX_DS2480 read timeout, bytes read: $serial->{retcount}, expected: $serial->{retlen}" if (($serial->{num_reads} > 1) and (tv_interval($serial->{starttime}) > $serial->{timeout})); + if ($serial->{retcount} >= $serial->{retlen}) { + 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; }