You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ich habe einen Bug verfolgt der bei mir des öfteren aufgetreten ist. Bei der Übermittlung eines Sendcommands über Telnet von FHEM and den Signalduino, schleichen sich merkwürdige Zeichen ein:
SR;R=3,.......
� SR;R=3,.......
SR;R=3.......
Die signalesp.h erkennt ein Sendcommand anhand des ";". Die send.h überprüft ob das Command mit S anfängt. Normalerweise korrekt, aber bei dem zweiten command mit Artefakt nicht. Der Buffer springt am Ende der Loop einen Schritt weiter. die Repeats werden auf 255 gesetzt und das ganze landet in einer Endlosschleife.
Klar normalerweise sollten keine derartigen SendCommands ankommen, aber dennoch ist es denke ich nicht schlecht eine Routine einzubauen die den msg_beginptr so lange verschiebt bis ein S kommt solange noch nie eines aufgetreten ist und andernfalls ein MSG_PRINTLN(FPSTR(TXT_CORRUPT)); zu senden.
So kann das ganze reproduziert werden:
set (sduino) raw %SR;R=3;P0=500;P1=-9000;P2=-4000;P3=-2000;D=0302030;
The text was updated successfully, but these errors were encountered:
Hallo Zusammen,
ich habe einen Bug verfolgt der bei mir des öfteren aufgetreten ist. Bei der Übermittlung eines Sendcommands über Telnet von FHEM and den Signalduino, schleichen sich merkwürdige Zeichen ein:
SR;R=3,.......
� SR;R=3,.......
SR;R=3.......
Die signalesp.h erkennt ein Sendcommand anhand des ";". Die send.h überprüft ob das Command mit S anfängt. Normalerweise korrekt, aber bei dem zweiten command mit Artefakt nicht. Der Buffer springt am Ende der Loop einen Schritt weiter. die Repeats werden auf 255 gesetzt und das ganze landet in einer Endlosschleife.
Klar normalerweise sollten keine derartigen SendCommands ankommen, aber dennoch ist es denke ich nicht schlecht eine Routine einzubauen die den msg_beginptr so lange verschiebt bis ein S kommt solange noch nie eines aufgetreten ist und andernfalls ein MSG_PRINTLN(FPSTR(TXT_CORRUPT)); zu senden.
So kann das ganze reproduziert werden:
set (sduino) raw %SR;R=3;P0=500;P1=-9000;P2=-4000;P3=-2000;D=0302030;
The text was updated successfully, but these errors were encountered: