Revert "FRM: catch exceptions from perl-firmata in FRM_OWX-calls"

This reverts commit d08208bedebd3417c7c176023e42d6dfe758813b.

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@5562 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
ntruchsess 2014-04-18 19:13:38 +00:00
parent c70515dd5b
commit 8d146101a5

View File

@ -661,7 +661,7 @@ sub FRM_I2C_Write
{ {
my ($hash,$package) = @_; my ($hash,$package) = @_;
my $firmata = FRM_Client_FirmataDevice($hash); if (defined (my $firmata = $hash->{FirmataDevice})) {
COMMANDHANDLER: { COMMANDHANDLER: {
$package->{direction} eq "i2cwrite" and do { $package->{direction} eq "i2cwrite" and do {
$firmata->i2c_write($package->{i2caddress},split(" ",$package->{data})); $firmata->i2c_write($package->{i2caddress},split(" ",$package->{data}));
@ -677,6 +677,7 @@ sub FRM_I2C_Write
}; };
} }
} }
}
sub sub
FRM_i2c_observer FRM_i2c_observer
@ -713,14 +714,13 @@ sub FRM_i2c_update_device
sub FRM_string_observer sub FRM_string_observer
{ {
my ($string,$hash) = @_; my ($string,$hash) = @_;
Log3 $hash->{NAME},4,"received String_data: ".$string; Log3 $hash->{NAME},3,"received String_data: ".$string;
readingsSingleUpdate($hash,"error",$string,1); readingsSingleUpdate($hash,"error",$string,1);
} }
sub FRM_poll sub FRM_poll
{ {
my ($hash) = @_; my ($hash) = @_;
eval {
if (defined $hash->{SocketDevice} and defined $hash->{SocketDevice}->{FD}) { if (defined $hash->{SocketDevice} and defined $hash->{SocketDevice}->{FD}) {
my ($rout, $rin) = ('', ''); my ($rout, $rin) = ('', '');
vec($rin, $hash->{SocketDevice}->{FD}, 1) = 1; vec($rin, $hash->{SocketDevice}->{FD}, 1) = 1;
@ -750,8 +750,6 @@ sub FRM_poll
$hash->{FirmataDevice}->poll(); $hash->{FirmataDevice}->poll();
} }
} }
};
Log3 $hash->{NAME},4,"FRM_poll: ".FRM_Catch($@) if ($@);
} }
######### following is code to be called from OWX: ########## ######### following is code to be called from OWX: ##########
@ -856,8 +854,10 @@ sub FRM_OWX_Verify {
sub FRM_OWX_Alarms { sub FRM_OWX_Alarms {
my ($hash) = @_; my ($hash) = @_;
eval { #-- get the interface
my $firmata = FRM_Client_FirmataDevice($hash); my $frm = $hash->{IODev};
return 0 unless defined $frm;
my $firmata = $frm->{FirmataDevice};
my $pin = $hash->{PIN}; my $pin = $hash->{PIN};
return 0 unless ( defined $firmata and defined $pin ); return 0 unless ( defined $firmata and defined $pin );
$hash->{ALARMDEVS} = undef; $hash->{ALARMDEVS} = undef;
@ -874,23 +874,20 @@ sub FRM_OWX_Alarms {
} }
$hash->{ALARMDEVS} = []; $hash->{ALARMDEVS} = [];
return 1; return 1;
};
Log3 $hash->{NAME},4,"FRM_OWX_Alarms:".FRM_Catch($@) if ($@);
return 0;
} }
sub FRM_OWX_Reset { sub FRM_OWX_Reset {
my ($hash) = @_; my ($hash) = @_;
eval { #-- get the interface
my $firmata = FRM_Client_FirmataDevice($hash); my $frm = $hash->{IODev};
return undef unless defined $frm;
my $firmata = $frm->{FirmataDevice};
my $pin = $hash->{PIN}; my $pin = $hash->{PIN};
return undef unless ( defined $firmata and defined $pin ); return undef unless ( defined $firmata and defined $pin );
$firmata->onewire_reset($pin); $firmata->onewire_reset($pin);
return 1; return 1;
};
Log3 $hash->{NAME},4,"FRM_OWX_Reset:".FRM_Catch($@) if ($@);
return 0;
} }
sub FRM_OWX_Complex ($$$$) { sub FRM_OWX_Complex ($$$$) {
@ -898,8 +895,10 @@ sub FRM_OWX_Complex ($$$$) {
my $res = ""; my $res = "";
eval { #-- get the interface
my $firmata = FRM_Client_FirmataDevice($hash); my $frm = $hash->{IODev};
return 0 unless defined $frm;
my $firmata = $frm->{FirmataDevice};
my $pin = $hash->{PIN}; my $pin = $hash->{PIN};
return 0 unless ( defined $firmata and defined $pin ); return 0 unless ( defined $firmata and defined $pin );
@ -951,8 +950,6 @@ sub FRM_OWX_Complex ($$$$) {
} }
} }
} }
};
Log3 $hash->{NAME},4,"FRM_OWX_Complex:".FRM_Catch($@) if ($@);
return $res; return $res;
} }
@ -971,8 +968,10 @@ sub FRM_OWX_Discover ($) {
my ($hash) = @_; my ($hash) = @_;
eval { #-- get the interface
my $firmata = FRM_Client_FirmataDevice($hash); my $frm = $hash->{IODev};
return 0 unless defined $frm;
my $firmata = $frm->{FirmataDevice};
my $pin = $hash->{PIN}; my $pin = $hash->{PIN};
return 0 unless ( defined $firmata and defined $pin ); return 0 unless ( defined $firmata and defined $pin );
my $old_devices = $hash->{DEVS}; my $old_devices = $hash->{DEVS};
@ -990,9 +989,6 @@ sub FRM_OWX_Discover ($) {
} }
$hash->{DEVS} = $old_devices; $hash->{DEVS} = $old_devices;
return 1; return 1;
};
Log3 $hash->{NAME},4,"FRM_OWX_Discover:".FRM_Catch($@) if ($@);
return 0;
} }
1; 1;