Example #1
0
        internal IOATU(IOAdapter Adapter, BroadcastCommunication Communication)
        {
            m_IOAdapter          = Adapter;
            m_Communication      = Communication;
            m_IsATUEmulationHard = Settings.Default.ATUEmulation;
            m_IsATUEmulation     = m_IsATUEmulationHard;

            m_Node   = (ushort)Settings.Default.ATUNode;
            m_Result = new Types.ATU.TestResults();

            SystemHost.Journal.AppendLog(ComplexParts.ATU, LogMessageType.Info, String.Format("ATU created. Emulation mode: {0}", Settings.Default.ATUEmulation));
        }
Example #2
0
 internal void SetResult(DeviceState State, Types.ATU.TestResults Result)
 {
     if (State == DeviceState.InProcess)
     {
         ClearStatus();
     }
     else
     {
         IsRunning = false;
         SetLabel(lbAtuUBR, State, true, Result.UBR.ToString());
         SetLabel(lbAtuUPRSM, State, true, Result.UPRSM.ToString());
         SetLabel(lbAtuIPRSM, State, true, String.Format("{0:0.00}", Result.IPRSM)); //формат вывода - 2 знака после запятой
         SetLabel(lbAtuPRSM, State, true, String.Format("{0:0.00}", Result.PRSM));   //формат вывода - 2 знака после запятой
     }
 }
Example #3
0
        internal DeviceState Start(TestParameters Parameters, Types.Commutation.TestParameters commParameters)
        {
            m_Parameters = Parameters;

            if (m_State == DeviceState.InProcess)
            {
                throw new Exception("ATU test is already started.");
            }

            m_Result            = new TestResults();
            m_Result.TestTypeId = m_Parameters.TestTypeId;

            m_Stop = false;

            if (!m_IsATUEmulation)
            {
                ushort State = ReadRegister(REG_DEV_STATE);

                switch (State)
                {
                case (ushort)HWDeviceState.DS_Fault:
                    ushort faultReason = ReadRegister(REG_FAULT_REASON);

                    FireNotificationEvent((ushort)HWWarningReason.None, faultReason, (ushort)HWDisableReason.None);

                    throw new Exception(string.Format("ATU is in 'DS_Fault' state, reason: {0}", faultReason));

                case (ushort)HWDeviceState.DS_Disabled:
                    ushort disableReason = ReadRegister(REG_DISABLE_REASON);

                    FireNotificationEvent((ushort)HWWarningReason.None, (ushort)HWFaultReason.None, disableReason);

                    throw new Exception(string.Format("ATU is in 'DS_Disabled' state, reason: {0}", disableReason));
                }
            }

            MeasurementLogicRoutine(commParameters);

            return(m_State);
        }
Example #4
0
 public void PostATUEvent(DeviceState State, Types.ATU.TestResults Result)
 {
     EnumerateClients(Client => Client.ATUHandler(State, Result));
 }