/// <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); }