From d29be6d96c9f9a2e29147377eaf5642e7e1d0274 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 6 Jan 2023 07:37:49 +0100 Subject: [PATCH] fix for sequence started immediately after own SYN sent behind sent command (fixes #708) --- src/ebusd/bushandler.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ebusd/bushandler.cpp b/src/ebusd/bushandler.cpp index 9f12edab..7cef9958 100644 --- a/src/ebusd/bushandler.cpp +++ b/src/ebusd/bushandler.cpp @@ -1032,9 +1032,9 @@ result_t BusHandler::handleSymbol() { case bs_sendSyn: if (!sending) { - return setState(bs_skip, RESULT_ERR_INVALID_ARG); + return setState(bs_ready, RESULT_ERR_INVALID_ARG); } - return setState(bs_skip, RESULT_OK); + return setState(bs_ready, RESULT_OK); } return RESULT_OK; } @@ -1090,7 +1090,8 @@ result_t BusHandler::setState(BusState state, result_t result, bool firstRepetit logDebug(lf_bus, "%s during %s, switching to %s", getResultCode(result), getStateCode(m_state), getStateCode(state)); } else if (m_currentRequest != nullptr || state == bs_sendCmd || state == bs_sendCmdCrc || state == bs_sendCmdAck - || state == bs_sendRes || state == bs_sendResCrc || state == bs_sendResAck || state == bs_sendSyn) { + || state == bs_sendRes || state == bs_sendResCrc || state == bs_sendResAck || state == bs_sendSyn + || m_state == bs_sendSyn) { logDebug(lf_bus, "switching from %s to %s", getStateCode(m_state), getStateCode(state)); } if (state == bs_noSignal) {