diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7772c34 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +prova.pl diff --git a/LoadCSVData.pl b/LoadCSVData.pl index ae3eee0..1e3437c 100644 --- a/LoadCSVData.pl +++ b/LoadCSVData.pl @@ -463,15 +463,50 @@ while ( my $line = ) { #print Dumper \@NewData; #print Dumper \@din; }elsif ( $tooltype eq "LOC" ) { - if ( !defined $din[0] ) { + if ( !defined $din[0] or ($din[0] eq '0') ) { print getTimeStamp("log"). " - pid $$ >> Din not defined.\n"; print getTimeStamp("log"). " - pid $$ >> Execution ended.\n"; exit; } my ( $Vbat, $Tmod, $Ain1, $Ain2, $Din1, $Din2 ) = split( /;/, $NodeData ); - $CSVData[0] = $Vbat . ";" . $Tmod; - $CSVData[1] = $Din1; + + my $idx = 0; + my ($chDin1, $chDin2) = split("", $channels[0]); + + $CSVData[$idx++] = $Vbat . ";" . $Tmod; + + if ($din[0] eq '1') { + if ( ($chDin1 eq '1') and ($chDin2 eq '9') ) { + $CSVData[$idx++] = $Din1; + }elsif ( ($chDin1 eq '9') and ($chDin2 eq '1') ){ + $CSVData[$idx++] = $Din2; + }elsif ( ($chDin1 eq '2') and ($chDin2 eq '9') ){ + $CSVData[$idx++] = $Din1 . ";" . $Ain1; + }elsif ( ($chDin1 eq '9') and ($chDin2 eq '2') ){ + $CSVData[$idx++] = $Din2 . ";" . $Ain2; + } + + }elsif ($din[0] eq '2') { + if ( ($chDin1 eq '1') and ($chDin2 eq '1') ) { + $CSVData[$idx++] = $Din1; + $CSVData[$idx++] = $Din2; + }elsif ( ($chDin1 eq '2') and ($chDin2 eq '1') ){ + $CSVData[$idx++] = $Din1 . ";" . $Ain1; + $CSVData[$idx++] = $Din2; + }elsif ( ($chDin1 eq '1') and ($chDin2 eq '2') ){ + $CSVData[$idx++] = $Din1; + $CSVData[$idx++] = $Din1 . ";" . $Ain1; + }elsif ( ($chDin1 eq '2') and ($chDin2 eq '2') ){ + $CSVData[$idx++] = $Din1 . ";" . $Ain1; + $CSVData[$idx++] = $Din2 . ";" . $Ain2; + } + + } + + # $CSVData[1] = $Din1; + + }elsif ( $tooltype eq "GD" ) { my ( $div, $Vbat, $Tmod ) = split( /;/, $NodeData );