コード例 #1
0
        /// <summary>
        /// GetVersion<br>
        /// [Description]<br>
        /// none<br>
        /// [Notes]<br> </summary>
        /// <param name="inTimeOutTime"> timeout time<br> </param>
        /// <param name="outStatus"> response code<br> </param>
        public virtual int GetVersion(int inTimeOutTime, byte[] outStatus, HVC_VER ver)
        {
            int nRet = 0;

            int[]  nSize = { 0 };
            byte[] sendData;
            byte[] recvData;

            sendData = new byte[32];
            recvData = new byte[32];

            /* Send GetVersion command signal*/
            nRet = SendCommand(HVC_COM_GET_VERSION, 0, sendData);
            if (nRet != 0)
            {
                return(nRet);
            }

            /* Receive header */
            nRet = ReceiveHeader(inTimeOutTime, nSize, outStatus);
            if (nRet != 0)
            {
                return(nRet);
            }

            if (nSize[0] > ver.GetSize())
            {
                nSize[0] = ver.GetSize();
            }

            /* Receive data */
            nRet = ReceiveData(inTimeOutTime, nSize[0], recvData);
            for (int i = 0; i < ver.Version.Length; i++)
            {
                ver.Version[i] = (char)recvData[i];
            }
            ver.Major  = recvData[ver.Version.Length];
            ver.Minor  = recvData[ver.Version.Length + 1];
            ver.Relese = recvData[ver.Version.Length + 2];
            ver.Rev    = recvData[ver.Version.Length + 3] +
                         (recvData[ver.Version.Length + 4] << 8) +
                         (recvData[ver.Version.Length + 5] << 16) +
                         (recvData[ver.Version.Length + 6] << 24);
            return(nRet);
        }