mirror of
https://github.com/thelsing/knx.git
synced 2024-12-18 19:08:18 +01:00
FIX: float16ToPayload
- all DPT9 numbers of the form (2^n)/100, n>10 (first value is 20.48) were converted to a payload of 0 - in other words: 20.48; 40.96; 81.92; etc. were send as 0!
This commit is contained in:
parent
6dda682fa7
commit
9c4e5d259a
@ -1749,8 +1749,8 @@ void float16ToPayload(uint8_t* payload, size_t payload_length, int index, double
|
||||
value *= 100.0;
|
||||
unsigned short exponent = 0;
|
||||
|
||||
if(value > 2048)
|
||||
exponent = ceil(log2(value) - 11.0);
|
||||
if(value >= 2048)
|
||||
exponent = ceil(log2(value + 1.0) - 11.0);
|
||||
|
||||
short mantissa = roundf(value / (1 << exponent));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user