/// <summary> /// /// </summary> /// <param name="bs"></param> /// <param name="startIndex"></param> /// <returns></returns> static public VPump100Data ToVPump100Data(byte[] bs, int startIndex) { int start = startIndex; Int64 ticks = BitConverter.ToInt64(bs, start); start += 8; float instantFlux = BitConverter.ToSingle(bs, start); start += 4; float eff = BitConverter.ToSingle(bs, start); start += 4; float total = BitConverter.ToSingle(bs, start); start += 4; float remain = BitConverter.ToSingle(bs, start); start += 4; PumpStatus pumpStatus = (PumpStatus)bs[start++]; ForceStartStatus forceStartStatus = (ForceStartStatus)bs[start++]; VibrateStatus vibrateStatus = (VibrateStatus)bs[start++]; PumpPowerStatus powerStatus = (PumpPowerStatus)bs[start++]; VPump100Data data = new VPump100Data(); data.DT = new DateTime(ticks); data.InstantFlux = instantFlux; data.Efficiency = eff; data.ForceStartStatus = forceStartStatus; data.PowerStatus = powerStatus; data.PumpStatus = pumpStatus; data.RemainAmount = remain; data.TotalAmount = total; data.VibrateStatus = vibrateStatus; return(data); }
static public byte[] ToBytes(VPump100Data vPump100Data) { Int64 ticks = vPump100Data.DT.Ticks; float instantFlux = Convert.ToSingle(vPump100Data.InstantFlux); float eff = Convert.ToSingle(vPump100Data.Efficiency); float sum = Convert.ToSingle(vPump100Data.TotalAmount); float remain = Convert.ToSingle(vPump100Data.RemainAmount); MemoryStream ms = new MemoryStream(); Write(ms, BitConverter.GetBytes(ticks)); Write(ms, BitConverter.GetBytes(instantFlux)); Write(ms, BitConverter.GetBytes(eff)); Write(ms, BitConverter.GetBytes(sum)); Write(ms, BitConverter.GetBytes(remain)); ms.WriteByte((byte)vPump100Data.PumpStatus); ms.WriteByte((byte)vPump100Data.ForceStartStatus); ms.WriteByte((byte)vPump100Data.VibrateStatus); ms.WriteByte((byte)vPump100Data.PowerStatus); return(ms.ToArray()); }
/// <summary> /// /// </summary> /// <returns></returns> public byte[] ToBytes() { return(VPump100Data.ToBytes(this)); }