FRM: add optional register-address to write-mode of I2C_Write

git-svn-id: https://svn.fhem.de/fhem/trunk@6946 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
ntruchsess 2014-11-11 07:32:47 +00:00
parent 28fac42d98
commit a6b6176e55

View File

@ -663,24 +663,28 @@ package main;
sub FRM_I2C_Write sub FRM_I2C_Write
{ {
my ($hash,$package) = @_; my ($hash,$package) = @_;
if (defined (my $firmata = $hash->{FirmataDevice})) { 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})); if (defined $package->{reg}) {
last; $firmata->i2c_write($package->{i2caddress},$package->{reg},split(" ",$package->{data}));
}; } else {
$package->{direction} eq "i2cread" and do { $firmata->i2c_write($package->{i2caddress},split(" ",$package->{data}));
if (defined $package->{reg}) { }
$firmata->i2c_readonce($package->{i2caddress},$package->{reg},defined $package->{nbyte} ? $package->{nbyte} : 1); last;
} else { };
$firmata->i2c_readonce($package->{i2caddress},defined $package->{nbyte} ? $package->{nbyte} : 1); $package->{direction} eq "i2cread" and do {
} if (defined $package->{reg}) {
last; $firmata->i2c_readonce($package->{i2caddress},$package->{reg},defined $package->{nbyte} ? $package->{nbyte} : 1);
}; } else {
} $firmata->i2c_readonce($package->{i2caddress},defined $package->{nbyte} ? $package->{nbyte} : 1);
} }
last;
};
}
}
} }
sub sub