From 1402fb3dd65d6750a54ddf9a90bd3223ede1e76d Mon Sep 17 00:00:00 2001 From: "D.R.racer" Date: Wed, 29 Sep 2021 12:09:08 +0200 Subject: [PATCH] Add 'F' and 'f' decoding + unit tests where necessary --- src/modules/protocol.cpp | 3 +++ tests/unit/modules/protocol/test_protocol.cpp | 12 ++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/modules/protocol.cpp b/src/modules/protocol.cpp index 5a100ea..d1f41dc 100644 --- a/src/modules/protocol.cpp +++ b/src/modules/protocol.cpp @@ -41,6 +41,8 @@ DecodeStatus Protocol::DecodeRequest(uint8_t c) { case 'E': case 'W': case 'K': + case 'F': + case 'f': requestMsg.code = (RequestMsgCodes)c; requestMsg.value = 0; rqState = RequestStates::Value; @@ -100,6 +102,7 @@ DecodeStatus Protocol::DecodeResponse(uint8_t c) { case 'E': case 'W': case 'K': + case 'F': case 'f': responseMsg.request.code = (RequestMsgCodes)c; responseMsg.request.value = 0; diff --git a/tests/unit/modules/protocol/test_protocol.cpp b/tests/unit/modules/protocol/test_protocol.cpp index 86213f5..acac24f 100644 --- a/tests/unit/modules/protocol/test_protocol.cpp +++ b/tests/unit/modules/protocol/test_protocol.cpp @@ -58,6 +58,12 @@ TEST_CASE("protocol::EncodeResponseCmdAR", "[protocol]") { mp::RequestMsg(mp::RequestMsgCodes::Eject, 3), mp::RequestMsg(mp::RequestMsgCodes::Eject, 4), + mp::RequestMsg(mp::RequestMsgCodes::FilamentType, 0), + mp::RequestMsg(mp::RequestMsgCodes::FilamentType, 1), + + mp::RequestMsg(mp::RequestMsgCodes::FilamentSensor, 0), + mp::RequestMsg(mp::RequestMsgCodes::FilamentSensor, 1), + mp::RequestMsg(mp::RequestMsgCodes::Load, 0), mp::RequestMsg(mp::RequestMsgCodes::Load, 1), mp::RequestMsg(mp::RequestMsgCodes::Load, 2), @@ -257,6 +263,8 @@ TEST_CASE("protocol::DecodeRequest", "[protocol]") { const char *rxbuff = GENERATE( "B0\n", "B1\n", "B2\n", "E0\n", "E1\n", "E2\n", "E3\n", "E4\n", + "F0\n", "F1\n", + "f0\n", "f1\n", "K0\n", "L0\n", "L1\n", "L2\n", "L3\n", "L4\n", "M0\n", "M1\n", @@ -437,8 +445,8 @@ TEST_CASE("protocol::DecodeResponseErrorsCross", "[protocol][.]") { const char *invalidInitialSpaces = GENERATE(" ", " "); bool viInitialSpace = GENERATE(true, false); - const char *validReqCode = GENERATE("B", "E", "K", "L", "M", "P", "Q", "S", "T", "U", "W", "X"); - const char *invalidReqCode = GENERATE("A", "R", "F"); + const char *validReqCode = GENERATE("B", "E", "F", "f", "K", "L", "M", "P", "Q", "S", "T", "U", "W", "X"); + const char *invalidReqCode = GENERATE("A", "R"); bool viReqCode = GENERATE(true, false); const char *validReqValue = GENERATE("0", "1", "2", "3", "4");