sub _device_read{
my $d = shift; # reduced line to relevant parts
...
# parse device config
$d->{regs}=from_json( $d->{regs} );
####
sub _device_read{
...
$r->{$reg} = _prittyfy_byte(...);
...
};
sub _prettify_byte{
return (...) if( $_[0] );
return( $c{_err_} );
};
##
##
my %registers = %{$d->{regs}->{r}};
foreach my $reg (keys %registers){
my $reg_id = hex $reg;
my $reg_num = $registers{$reg};
# read_input_registers returns an array reference
my $tmp = $mbc->read_input_registers($reg_id, $reg_num);
$r->{$reg} = _prettify_byte($tmp);
};
##
##
my %registers = %{$d->{regs}->{r}};
foreach my $reg (keys %registers){
# read_input_registers returns an array reference
my $tmp = $mbc->read_input_registers(hex $reg, $registers{$reg});
$r->{$reg} = _prettify_byte($tmp);
};