}//CheckResponseFrame

        #endregion

        #region PUBLIC

        #region Receiver
        internal virtual void InitMsg(FrameStateMachine request)
        {
            if (request == null)
            {
                throw new ArgumentNullException("txmsg", "Message cannot be null");
            }
            userDataLength         = userBuffLength;
            FrameAttribute         = AttributeCharacter.ResponseData; //To pass unit test: ResponseWriteValue
            expectedFrameAttribute = request.ExpectedResultFrameType();
            DataType       = request.DataType;
            userDataLength = request.FrameResponseLength();
            offset         = 0;
            Count          = 0;
            Rxdcrc         = 0;
            Part           = FramePart.Head;
            rxMsgCurrError = CheckResponseResult.CR_OK;
            crc.clear();
        }