Hallo,
ich möchte gerne nach und nach ein großteil der FSK Sensoren vom LaCrosseGateway und JeeLink in den Signalduino übernehmen.
Ich hab mir mal den LaCrosseGateway Sketch angeschaut, die folgenden Sensoren sollte ich eigentlich mit überschaubarem Aufwand in den Signalduino übernehmen können:
TX38IT dataRate = 17241
WS 1080 dataRate = 17241
TX22IT dataRate = 8842
W136 dataRate = 4800
WH24 dataRate = 17241
WH25 dataRate = 17241
LevelSender dataRate = 17241
Zum Einbauen reichen mir in einem ersten Schritt die Raw Nachrichten vom LaCrosseGateway oder JeeLink.
Vom WS 1080 und TX22IT habe ich schon Raw Nachrichten gefunden.
Von den restlichen Sensoren kann ich noch Raw Nachrichten gebrauchen.
Gruß Ralf
Bei der Übernahme der crc Prüfungen in den Signalduino ist mir aufgefallen, daß im LaCrosseGateway zwei verschiedene CRC8 Routinen verwendet werden.
Wenn ich das richtig überblicke machen diese das gleiche. Beide haben init = 0 und Poly 0x31.
Ich hab sie in Perl umgeschrieben, kann jemand abschätzen welche Routine eine kürzere Laufzeit hat?
my $res = 0;
for ($j = 0; $j < $len; $j++) {
$val = $data[$j];
for ($i = 0; $i < 8; $i++) {
$tmp = ($res ^ $val) & 0x80;
$res <<= 1;
$res &= 0xFF;
if ($tmp != 0) {
$res ^= 0x31;
}
$val <<= 1;
}
}
return $res;
my $res = 0;
for (my $j = 0; $j < $len; $j++) {
$res ^= $data[$j];
for (my $i = 0; $i < 8; $i++) {
if ($res & 0x80) {
$res = ($res << 1) ^ 0x31;
}
else {
$res = ($res << 1)
}
$res &= 0xFF;
}
}
return $res;
Ich kann vom TX38IT noch Raw Nachrichten gebrauchen.
Vom LevelSender habe ich bis jetzt auch noch keine raw Nachrichten gefunden.
Gruß Ralf