|
@@ -80,7 +80,7 @@ shellmatta_retCode_t shellmatta_handle_transport_fsm(char *data)
|
|
|
|
|
|
switch (transportLayerInst.state)
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
case STATE_GET_SOH:
|
|
|
|
|
|
if (SHELLMATTA_START_OF_HEADER == *data)
|
|
@@ -99,7 +99,7 @@ shellmatta_retCode_t shellmatta_handle_transport_fsm(char *data)
|
|
|
case STATE_MANUAL_INPUT:
|
|
|
break;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
case STATE_GET_PROTOCOL_VERSION:
|
|
|
|
|
|
if (PROTOCOL_VERSION == *data)
|
|
@@ -114,32 +114,32 @@ shellmatta_retCode_t shellmatta_handle_transport_fsm(char *data)
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
case STATE_GET_PACKET_TYPE:
|
|
|
transportLayerInst.state = STATE_GET_PAYLOAD_LENGTH;
|
|
|
break;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
case STATE_GET_PAYLOAD_LENGTH:
|
|
|
transportLayerInst.state = STATE_GET_SOURCE;
|
|
|
break;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
case STATE_GET_SOURCE:
|
|
|
transportLayerInst.state = STATE_GET_DESTINATION;
|
|
|
break;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
case STATE_GET_DESTINATION:
|
|
|
transportLayerInst.state = STATE_GET_H2S_SEQUENCE_CNT;
|
|
|
break;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
case STATE_GET_H2S_SEQUENCE_CNT:
|
|
|
transportLayerInst.state = STATE_GET_S2H_SEQUENCE_CNT;
|
|
|
break;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
case STATE_GET_S2H_SEQUENCE_CNT:
|
|
|
if (packetType == PACKET_SEQ_CNT_REQUEST)
|
|
|
{
|
|
@@ -151,7 +151,7 @@ shellmatta_retCode_t shellmatta_handle_transport_fsm(char *data)
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
case STATE_GET_PAYLOAD:
|
|
|
if ( (payloadLength <= payloadCounter)
|
|
|
&& (true == transportLayerInst.active))
|
|
@@ -160,9 +160,9 @@ shellmatta_retCode_t shellmatta_handle_transport_fsm(char *data)
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
case STATE_GET_CRC:
|
|
|
-
|
|
|
+
|
|
|
if (SHELLMATTA_LENGTH_CRC <= crcCounter)
|
|
|
{
|
|
|
|
|
@@ -182,7 +182,7 @@ shellmatta_retCode_t shellmatta_handle_transport_fsm(char *data)
|
|
|
|
|
|
refCrc = crc32Calc(crcdata, SHELLMATTA_HEADER_LENGTH + payloadLength);
|
|
|
|
|
|
-
|
|
|
+
|
|
|
if (crc32 == refCrc)
|
|
|
{
|
|
|
|
|
@@ -245,7 +245,7 @@ shellmatta_retCode_t shellmatta_handle_transport_fsm(char *data)
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
case STATE_PROCESS_PAYLOAD:
|
|
|
transportLayerInst.state = STATE_GET_SOH;
|
|
|
protocolVersion = 0u;
|