Example #1
0
        private void InitEncoder(bool reverseDirection, EncodingType encodingType)
        {
            int status = 0;

            m_encoder = HAL_InitializeEncoder(ASource.PortHandleForRouting,
                                              (HALAnalogTriggerType)ASource.AnalogTriggerTypeForRouting, BSource.PortHandleForRouting,
                                              (HALAnalogTriggerType)BSource.AnalogTriggerTypeForRouting, reverseDirection,
                                              (HALEncoderEncodingType)encodingType, ref status);
            CheckStatusForceThrow(status);

            m_pidSource = PIDSourceType.Displacement;

            LiveWindow.LiveWindow.AddSensor("Encoder", FPGAIndex, this);
            Report(ResourceType.kResourceType_Encoder, FPGAIndex, (byte)encodingType);
        }
Example #2
0
        private void InitEncoder(bool reverseDirection)
        {
            switch (m_encodingType)
            {
                case EncodingType.K4X:
                    m_encodingScale = 4;
                    int status = 0;
                    m_encoder = InitializeEncoder(m_aSource.ModuleForRouting,
                        (uint)m_aSource.ChannelForRouting,
                        m_aSource.AnalogTriggerForRouting, m_bSource.ModuleForRouting,
                        (uint)m_bSource.ChannelForRouting,
                        m_bSource.AnalogTriggerForRouting, reverseDirection, ref m_index, ref status);
                    CheckStatus(status);
                    m_counter = null;
                    MaxPeriod = 0.5;
                    break;
                case EncodingType.K2X:
                    m_encodingScale = 2;
                    m_counter = new Counter(m_encodingType, m_aSource, m_bSource, reverseDirection);
                    m_index = m_counter.FPGAIndex;
                    break;
                case EncodingType.K1X:
                    m_encodingScale = 1;
                    m_counter = new Counter(m_encodingType, m_aSource, m_bSource, reverseDirection);
                    m_index = m_counter.FPGAIndex;
                    break;
            }
            DistancePerPulse = 1.0;

            m_pidSource = PIDSourceType.Displacement;

            LiveWindow.LiveWindow.AddSensor("Encoder", m_aSource.ChannelForRouting, this);
            Report(ResourceType.kResourceType_Encoder, (byte)m_index, (byte)m_encodingType);
        }