Wie gesagt: das könnte man sicher etwas kürzen
4 Byte ID ist die interne ID der DS1820 Sensoren. Da der Code generisch ist und ich jederzeit beliebige Sensoren hinzufügen will, bleibt's wohl dabei. Könnte ich sicher auf 2 Byte reduzieren, da ist die Wahrscheinlichkeit einer Kollision nicht sehr hoch. Ansonsten würde jeder neue Sensor eine Anpassung im Programm nötig machen.
4 Byte float durch int ersetzen gehe ich mit. Der Sensor misst mit 9 Bit Auflösung. Byte würde also nicht mehr reichen.
Ein Byte als Kennung, um welchen Message-Type es sich handelt, würde ich noch vornean stellen.
Ich käme also auf 5 Byte zu übertragende Nutzdaten.
Die entscheidende Frage ist: Steigt die Fehlerquote linear (oder stärker) mit der Länge der Nachricht?