Hallo, Ich versuche von einem 1-wire Temperatur Sensor die Daten auf meinen KNX Bus zu senden. Ich habe bereits ein php Programm gefunden, welches mir die dezimal in den gewünschten 2 octal float umwandelt. das Problem ist jedoch das eibd ein Leerzeichen zwischen den Bytes braucht und das tut es nicht. Könnt ihr mir helfen?
1 | #!/usr/bin/php |
2 | <?php
|
3 | |
4 | |
5 | function Value2Eis5($value) |
6 | {
|
7 | $value *= 100; |
8 | |
9 | $eis5 = 0; |
10 | $exponent = 0; |
11 | |
12 | if ($value < 0) |
13 | {
|
14 | $eis5 = 0x08000; |
15 | $value = -$value; |
16 | }
|
17 | while ($value > 0x07ff) |
18 | {
|
19 | $value >>= 1; |
20 | $exponent++; |
21 | }
|
22 | if ($eis5 != 0) |
23 | $value = - $value; |
24 | |
25 | $eis5 |= $value & 0x7ff; |
26 | $eis5 |= ($exponent << 11) & 0x07800; |
27 | $tmp = $eis5 & 0x0ffff; |
28 | |
29 | return dechex($tmp); |
30 | }
|
31 | $value = 13.1; |
32 | |
33 | echo Value2Eis5($value)."<br>"; |
34 | ech
|