mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-28 05:06:32 +00:00
Re-fix S31/Pow R2 serial sync
Re-fix S31/Pow R2 energy data serial sync (#3425)
This commit is contained in:
parent
9856a8f7c0
commit
75284f09fe
@ -398,7 +398,10 @@ bool CseSerialInput()
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ((0x5A == serial_in_byte) && (serial_in_byte_counter)) { // 0x5A - Packet header 2
|
if ((0x5A == serial_in_byte) && (serial_in_byte_counter)) { // 0x5A - Packet header 2
|
||||||
if (serial_in_byte_counter > 1) { // Sync buffer with data (issue #1907)
|
if ((0x55 == serial_in_buffer[serial_in_byte_counter -1]) ||
|
||||||
|
(0xAA == serial_in_buffer[serial_in_byte_counter -1]) ||
|
||||||
|
(serial_in_buffer[serial_in_byte_counter -1] > 0xF0)) {
|
||||||
|
if (serial_in_byte_counter > 1) { // Sync buffer with data (issue #1907 and #3425)
|
||||||
serial_in_buffer[0] = serial_in_buffer[--serial_in_byte_counter];
|
serial_in_buffer[0] = serial_in_buffer[--serial_in_byte_counter];
|
||||||
serial_in_byte_counter = 1;
|
serial_in_byte_counter = 1;
|
||||||
AddLog_P(LOG_LEVEL_DEBUG, PSTR("CSE: Fixed out-of-sync"));
|
AddLog_P(LOG_LEVEL_DEBUG, PSTR("CSE: Fixed out-of-sync"));
|
||||||
@ -407,6 +410,7 @@ bool CseSerialInput()
|
|||||||
} else {
|
} else {
|
||||||
serial_in_byte_counter = 0;
|
serial_in_byte_counter = 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
serial_in_buffer[serial_in_byte_counter++] = serial_in_byte;
|
serial_in_buffer[serial_in_byte_counter++] = serial_in_byte;
|
||||||
}
|
}
|
||||||
serial_in_byte = 0; // Discard
|
serial_in_byte = 0; // Discard
|
||||||
|
Loading…
x
Reference in New Issue
Block a user