]> jspc29.x-matter.uni-frankfurt.de Git - daqtools.git/commitdiff
added support for scales and units
authorHadaq@styx <hadaq@styx>
Thu, 10 Oct 2013 10:18:15 +0000 (12:18 +0200)
committerHadaq@styx <hadaq@styx>
Thu, 10 Oct 2013 10:18:15 +0000 (12:18 +0200)
xml-db/get.pl

index b28486760a08a231f522db05c9f539e68785bff9..89bf02759319035e41e23dfe1a01e5cdacbe4cf5 100755 (executable)
@@ -99,6 +99,7 @@ sub FormatPretty {
   my ($value,$obj,$cont) = @_;
   $value  = $value >> ($obj->{start});
   $value &= ((1<<$obj->{bits})-1);
+  $value = $value * ($obj->{scale}||1);
   
   my $ret, my $cl;
   if (defined $cont) {
@@ -110,6 +111,7 @@ sub FormatPretty {
         if($obj->{errorflag}) { $ret .= "$cl>".($value?"true":"false");}
         else                  { $ret .= "$cl>".($value?"true":"false");}
           }
+      when ("float")    {$ret = sprintf("$cl>%.2f",$value);}
       when ("integer")  {$ret .= sprintf("$cl>%i",$value);}
       when ("unsigned") {$ret .= sprintf("$cl>%u",$value);}
       when ("signed")   {$ret .= sprintf("$cl>%d",$value);}
@@ -130,6 +132,7 @@ sub FormatPretty {
   else {
     for($obj->{format}) {
       when ("boolean")  {$ret = $value?"true":"false";}
+      when ("float")  {$ret = sprintf("%.2f",$value);}
       when ("integer")  {$ret = sprintf("%i",$value);}
       when ("unsigned") {$ret = sprintf("%u",$value);}
       when ("signed")   {$ret = sprintf("%d",$value);}
@@ -148,6 +151,7 @@ sub FormatPretty {
       default           {$ret = sprintf("%08x",$value);}
       }
     }
+  $ret .= " ".$obj->{unit} if exists $obj->{unit};
   return $ret;
   }