/// <summary> /// FileVersion.Current - 46 bytes /// </summary> /// <returns></returns> public new byte[] ToBytes() { var bytes = new List <byte>(); var calibrationHRaw = Convert.ToByte(CalibrationH * 10.0); var calibrationLRaw = Convert.ToByte(CalibrationL * 10.0); var decommissionedRaw = ((int)Status) + ((int)Jumper * 16); switch (FileVersion) { case FileVersion.Current: bytes.AddRange(base.ToBytes()); bytes.AddRange(Value.Value.ToBytes()); bytes.Add((byte)Math.Log(Filter, 2)); bytes.Add((byte)decommissionedRaw); bytes.Add(SubId.ToByte()); bytes.Add(SubProduct.ToByte()); bytes.Add((byte)Control); bytes.Add((byte)AutoManual); bytes.Add((byte)DigitalAnalog); bytes.Add((byte)CalibrationSign); bytes.Add(SubNumberToByte(SubNumber)); bytes.Add(calibrationHRaw); bytes.Add(calibrationLRaw); bytes.Add(ToByte(Value.Unit, DigitalAnalog)); break; default: throw new FileVersionNotImplementedException(FileVersion); } CheckSize(bytes.Count, GetSize(FileVersion)); return(bytes.ToArray()); }
/// <summary> /// FileVersion.Current - 45 bytes /// </summary> /// <returns></returns> public new byte[] ToBytes() { var bytes = new List <byte>(); switch (FileVersion) { case FileVersion.Current: bytes.AddRange(Description.ToBytes(19)); bytes.Add((byte)LowVoltage); bytes.Add((byte)HighVoltage); bytes.AddRange(Label.ToBytes(9)); bytes.AddRange(Value.Value.ToBytes()); bytes.Add((byte)AutoManual); bytes.Add((byte)DigitalAnalog); bytes.Add((byte)HwSwitchStatus); bytes.Add((byte)Control); bytes.Add((byte)DigitalControl); bytes.Add((byte)Decommissioned); bytes.Add(VariablePoint.ToByte(Value.Unit, DigitalAnalog)); bytes.Add(SubId.ToByte()); bytes.Add(SubProduct.ToByte()); bytes.Add(SubNumberToByte(SubNumber)); bytes.Add((byte)PwmPeriod); break; default: throw new FileVersionNotImplementedException(FileVersion); } CheckSize(bytes.Count, GetSize(FileVersion)); return(bytes.ToArray()); }