using Edge.Core.Parser.BinaryParser.Attributes; using System; using System.Collections.Generic; using System.Text; namespace VeederRoot_ATG_Console.MessageEntity.DispenserInterface.Outgoing { public abstract class OutgoingMessageBase : MessageBase { /// /// from 0 - 9, rotation control is needed, ASCII Decimal /// [Format(1, EncodingType.ASCII, -9700)] [Range(0, 9, "EventId must in range 0 to 9")] public int EventId { get; set; } /// /// Range: '00' to 'FF' /// Bit mapped errors where each active high bit represents an error condition, /// Bit Map: (MSB) 7 6 5 4 3 2 1 0 (LSB) /// Format: ASCII Hexadecimal. /// BIT ERROR /// 0 Data lost. (Queue overwrite.) /// 1-7 Reserved, should be 0. /// [Format(2, EncodingType.ASCII_PadLeftWithZero, -9600)] public byte ErrorFlag { get; set; } /// /// 0 to 9999, Number of seconds the event was delayed before it was transmitted. /// [Format(4, EncodingType.ASCII_PadLeftWithZero, -9500)] [Range(0, 9999, "SecondsDelay must in range 0 to 9999")] public int SecondsDelay { get; set; } /// /// 1 to 99, ASCII Decimal, Dispensing location identifier, Each position must have a unique identifier /// [Format(2, EncodingType.ASCII_PadLeftWithZero, -9400)] [Range(0, 99, "EventId must in range 0 to 99")] public byte FuelingPositionId { get; set; } //check sum 2bytes will be inserted in Parser } }