using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Resources;
using System.Text;
using MindWorks.Nimbus;
using Ivi.Driver;

namespace Raytheon.GuidedElectronicsUnit
{
    public struct EmStatus
    {

        public EmStatus(uint regValue)
        {
            GeuClock = (SignalState)((regValue & (uint)BitMask.GeuClock) >> (int)BitIdx.GeuClock);
            EmReset = (SignalState)((regValue & (uint)BitMask.EmReset) >> (int)BitIdx.EmReset);
        }

        #region Private Members

        private enum BitIdx
        {
            GeuClock = 0x1,
            EmReset = 0x0
        }

        private enum BitMask
        {
            GeuClock = 0x2,
            EmReset = 0x1
        }

        #endregion

        public Raytheon.GuidedElectronicsUnit.SignalState GeuClock { get; internal set; }

        public Raytheon.GuidedElectronicsUnit.SignalState EmReset { get; internal set; }
    }
}