Vorschlag/Patch: model tempsensor Korrektur für negative Temperaturen

Begonnen von DanielG, 21 Januar 2013, 22:24:36

Vorheriges Thema - Nächstes Thema

DanielG

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

gki

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

Maz

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.