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
}
}