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