public static CtlResponseData SetFromByte(byte[] _arr) { CtlResponseData rst = new CtlResponseData(); try { string dataBady = Encoding.Default.GetString(_arr, 6, _arr.Length - 8); string[] datas = dataBady.Split('/'); int i = 0; rst.Psu1Ac = byte.Parse(datas[i++]); rst.Psu1Dc = byte.Parse(datas[i++]); rst.Psu1Fan = byte.Parse(datas[i++]); rst.Psu2Ac = byte.Parse(datas[i++]); rst.Psu2Dc = byte.Parse(datas[i++]); rst.Psu2Fan = byte.Parse(datas[i++]); rst.Psu2Use = byte.Parse(datas[i++]); rst.SystemDown = byte.Parse(datas[i++]); rst.BattUse = byte.Parse(datas[i++]); rst.BattState = byte.Parse(datas[i++]); rst.Door = byte.Parse(datas[i++]); rst.Reset = byte.Parse(datas[i++]); rst.FwVer = datas[i++]; rst.FwDate = datas[i++]; rst.EwsCh = byte.Parse(datas[i++]); rst.TdmbLv = byte.Parse(datas[i++]); rst.SdmbLv = byte.Parse(datas[i++]); rst.CdmaLv = byte.Parse(datas[i++]); rst.TdmbState = byte.Parse(datas[i++]); rst.SdmbState = byte.Parse(datas[i++]); rst.AmpSw = byte.Parse(datas[i++]); rst.AmpUse = byte.Parse(datas[i++]); rst.AmpChUse = datas[i++]; rst.AmpLv = byte.Parse(datas[i++]); rst.AcVolt = datas[i++]; rst.Dc5Volt = datas[i++]; rst.Dc24Volt = datas[i++]; rst.tempo = datas[i++]; rst.ExAmp = byte.Parse(datas[i++]); } catch { Console.Write(string.Format("\n[{0}] CtlResponseData SetFromByte Exception", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); rst = null; } return(rst); }
public static byte[] GetToByte(CtlResponseData _data) { byte[] arr = null; try { byte[] soh = new byte[] { 0x01, 0x02 }; byte[] len = new byte[] { 0x30, 0x30, 0x30 }; byte cmd = (byte)'T'; byte[] b1 = Encoding.Default.GetBytes(string.Format("{0}", _data.Psu1Ac)); byte[] b2 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Psu1Dc)); byte[] b3 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Psu1Fan)); byte[] b4 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Psu2Ac)); byte[] b5 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Psu2Dc)); byte[] b6 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Psu2Fan)); byte[] b7 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Psu2Use)); byte[] b8 = Encoding.Default.GetBytes(string.Format("/{0}", _data.SystemDown)); byte[] b9 = Encoding.Default.GetBytes(string.Format("/{0}", _data.BattUse)); byte[] b10 = Encoding.Default.GetBytes(string.Format("/{0}", _data.BattState)); byte[] b11 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Door)); byte[] b12 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Reset)); byte[] b13 = Encoding.Default.GetBytes(string.Format("/{0}", _data.FwVer)); byte[] b14 = Encoding.Default.GetBytes(string.Format("/{0}", _data.FwDate)); byte[] b15 = Encoding.Default.GetBytes(string.Format("/{0}", _data.EwsCh)); byte[] b16 = Encoding.Default.GetBytes(string.Format("/{0}", _data.TdmbLv)); byte[] b17 = Encoding.Default.GetBytes(string.Format("/{0}", _data.SdmbLv)); byte[] b18 = Encoding.Default.GetBytes(string.Format("/{0}", _data.CdmaLv)); byte[] b19 = Encoding.Default.GetBytes(string.Format("/{0}", _data.TdmbState)); byte[] b20 = Encoding.Default.GetBytes(string.Format("/{0}", _data.SdmbState)); byte[] b21 = Encoding.Default.GetBytes(string.Format("/{0}", _data.AmpSw)); byte[] b22 = Encoding.Default.GetBytes(string.Format("/{0}", _data.AmpUse)); byte[] b23 = Encoding.Default.GetBytes(string.Format("/{0}", _data.AmpChUse)); byte[] b24 = Encoding.Default.GetBytes(string.Format("/{0}", _data.AmpLv)); byte[] b25 = Encoding.Default.GetBytes(string.Format("/{0}", _data.AcVolt)); byte[] b26 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Dc5Volt)); byte[] b27 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Dc24Volt)); byte[] b28 = Encoding.Default.GetBytes(string.Format("/{0}", _data.tempo)); byte[] b29 = Encoding.Default.GetBytes(string.Format("/{0}", _data.ExAmp)); byte[] eoh = new byte[] { 0x03, 0x04 }; int dataLen = b1.Length + b2.Length + b3.Length + b4.Length + b5.Length + b6.Length + b7.Length + b8.Length + b9.Length + b10.Length + b11.Length + b12.Length + b13.Length + b14.Length + b15.Length + b16.Length + b17.Length + b18.Length + b19.Length + b20.Length + b21.Length + b22.Length + b23.Length + b24.Length + b25.Length + b26.Length + b27.Length + b28.Length + b29.Length; len = Encoding.Default.GetBytes(string.Format("{0:000}", dataLen)); arr = new byte[8 + dataLen]; int cnt = 0; Buffer.BlockCopy(soh, 0, arr, 0, soh.Length); Buffer.BlockCopy(len, 0, arr, soh.Length, len.Length); arr[soh.Length + len.Length] = cmd; Buffer.BlockCopy(b1, 0, arr, soh.Length + len.Length + 1, b1.Length); cnt += soh.Length + len.Length + 1 + b1.Length; Buffer.BlockCopy(b2, 0, arr, cnt, b2.Length); cnt += b2.Length; Buffer.BlockCopy(b3, 0, arr, cnt, b3.Length); cnt += b3.Length; Buffer.BlockCopy(b4, 0, arr, cnt, b4.Length); cnt += b4.Length; Buffer.BlockCopy(b5, 0, arr, cnt, b5.Length); cnt += b5.Length; Buffer.BlockCopy(b6, 0, arr, cnt, b6.Length); cnt += b6.Length; Buffer.BlockCopy(b7, 0, arr, cnt, b7.Length); cnt += b7.Length; Buffer.BlockCopy(b8, 0, arr, cnt, b8.Length); cnt += b8.Length; Buffer.BlockCopy(b9, 0, arr, cnt, b9.Length); cnt += b9.Length; Buffer.BlockCopy(b10, 0, arr, cnt, b10.Length); cnt += b10.Length; Buffer.BlockCopy(b11, 0, arr, cnt, b11.Length); cnt += b11.Length; Buffer.BlockCopy(b12, 0, arr, cnt, b12.Length); cnt += b12.Length; Buffer.BlockCopy(b13, 0, arr, cnt, b13.Length); cnt += b13.Length; Buffer.BlockCopy(b14, 0, arr, cnt, b14.Length); cnt += b14.Length; Buffer.BlockCopy(b15, 0, arr, cnt, b15.Length); cnt += b15.Length; Buffer.BlockCopy(b16, 0, arr, cnt, b16.Length); cnt += b16.Length; Buffer.BlockCopy(b17, 0, arr, cnt, b17.Length); cnt += b17.Length; Buffer.BlockCopy(b18, 0, arr, cnt, b18.Length); cnt += b18.Length; Buffer.BlockCopy(b19, 0, arr, cnt, b19.Length); cnt += b19.Length; Buffer.BlockCopy(b20, 0, arr, cnt, b20.Length); cnt += b20.Length; Buffer.BlockCopy(b21, 0, arr, cnt, b21.Length); cnt += b21.Length; Buffer.BlockCopy(b22, 0, arr, cnt, b22.Length); cnt += b22.Length; Buffer.BlockCopy(b23, 0, arr, cnt, b23.Length); cnt += b23.Length; Buffer.BlockCopy(b24, 0, arr, cnt, b24.Length); cnt += b24.Length; Buffer.BlockCopy(b25, 0, arr, cnt, b25.Length); cnt += b25.Length; Buffer.BlockCopy(b26, 0, arr, cnt, b26.Length); cnt += b26.Length; Buffer.BlockCopy(b27, 0, arr, cnt, b27.Length); cnt += b27.Length; Buffer.BlockCopy(b28, 0, arr, cnt, b28.Length); cnt += b28.Length; Buffer.BlockCopy(b29, 0, arr, cnt, b29.Length); cnt += b29.Length; Buffer.BlockCopy(eoh, 0, arr, cnt, eoh.Length); } catch (Exception ex) { Console.Write(string.Format("\n[{0}] BattResponseData GetToByte Exception", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); arr = null; } return(arr); }