12345678910111213141516171819202122232425262728293031323334 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace VeederRoot_ATG_Console.MessageEntity.Outgoing
- {
- /// <summary>
- /// i|I607
- /// </summary>
- public class SetTankDiameterRequest : OutgoingMessageBase
- {
- /// <summary>
- ///
- /// </summary>
- /// <param name="messageFormat"></param>
- /// <param name="tankNumber">0 indicates all tanks</param>
- /// <param name="diameterInches">by inches and hundredths</param>
- public SetTankDiameterRequest(MessageFormat messageFormat
- , int tankNumber, double diameterInches)
- : base(messageFormat, FuncCode.SetTankDiameter,
- tankNumber.ToString())
- {
- if (tankNumber < 0 || tankNumber > 99) throw new ArgumentOutOfRangeException("Valid tank number is range from 0 to 99");
- base.DataField = new List<byte>();
- if (messageFormat == MessageFormat.Computer)
- base.DataField.AddRange(
- Encoding.ASCII.GetBytes(
- Util.ConvertDoubleToIEEE4Bytes(diameterInches).Select(b => b.ToString("X2")).Aggregate((acc, n) => acc + n)));
- else
- base.DataField.AddRange(Encoding.ASCII.GetBytes(diameterInches.ToString()));
- }
- }
- }
|