fix dpt9 for small values

This commit is contained in:
Thomas Kunze
2019-07-15 22:53:21 +02:00
parent b3f6a0e3fa
commit 13b1cff315
5 changed files with 10 additions and 171 deletions

View File

@@ -1794,7 +1794,11 @@ void float16ToPayload(uint8_t* payload, int payload_length, int index, double va
}
value *= 100.0;
unsigned short exponent = ceil(log2(value) - 11.0);
unsigned short exponent = 0;
if(value > 2048)
exponent = ceil(log2(value) - 11.0);
short mantissa = roundf(value / (1 << exponent));
if (wasNegative)