Autor Thema: Vorschlag/Patch: model tempsensor Korrektur für negative Temperaturen  (Gelesen 2235 mal)

DanielG

  • Gast
Hallo zusammen,

ich habe kürzlich festgestellt, dass die Interpretation negativer Temperaturen im model tempsensor nicht ganz korrekt ist.

Im Anhang habe ich einen kleinen Patch dazu, vielleicht könnte der auch mal ins SVN einfließen. Bei mir werden 2-Byte-Werte mit dem Patch nun jedenfalls genau so interpretiert wie von einem Tastsensor 3 plus. ;-)

Grüße
Daniel

Offline gki

  • Jr. Member
  • **
  • Beiträge: 80
Hallo Daniel,

zu dem Thema negative Temperaturen gibt es von Maz folgende Lösungsvorschlag, den er auch einpflegen wollte ;-)

-------

>> } elsif($code eq "dpt9")
>>   {
>>       my $fullval = hex($value);
>>       my $sign = 1;
>>       $sign = -1 if(($fullval & 0x8000)>0);
>>       my $exp = ($fullval & 0x7800)>>11;
>>       my $mant = ($fullval & 0x07FF);
XXXX      $mant = -(~($mant-1)&0x07FF) if($sign==-1);
>>
XXXX      $transval = (1<<$exp)*0.01*$mant;
>

Die erste Zeile mit XXXX ist hinzuzufügen.
Die zweite Zeile ersetzt (die Zuweisung zu transval)

VG
Maz

--------

Gruß,
Ines

Offline Maz

  • New Member
  • *
  • Beiträge: 34
Hallo Daniel,

Deine Lösung ist Deckungsgleich mit der Lösung, die ich Ines gesendet hatte.
Die aktuelle Version (soeben in SVN eingecheckt) hat diese Korrektur eingebaut.

 

decade-submarginal