private void DOA8ServoOutputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { var source = sender as AnalogSignal; if (source?.Index == null) { return; } var servoNumZeroBase = source.Index.Value; var baseAddress = source.SubSourceAddress; var baseAddressByte = byte.Parse(baseAddress); var device = source.Source as p.Device; if (device == null) { return; } var servoNum = servoNumZeroBase + 1; var newPosition = (byte)(Math.Abs(args.CurrentState + 90.00) / 180.00 * 255); try { device.DoaSend8ServoPosition(baseAddressByte, (byte)servoNum, newPosition); _peripheralFloatStates[baseAddress][servoNum] = newPosition; } catch (Exception e) { _log.Error(e.Message, e); } }
private void DOAAnOut1SignalChanged(object sender, AnalogSignalChangedEventArgs args) { var source = sender as AnalogSignal; if (source?.Index == null) { return; } var channelNumZeroBase = source.Index.Value; var baseAddress = source.SubSourceAddress; var baseAddressByte = byte.Parse(baseAddress); var device = source.Source as p.Device; if (device == null) { return; } var channelNum = channelNumZeroBase + 1; var newVal = (byte)(Math.Abs(args.CurrentState) / 5.00 * 255); try { device.DoaSendAnOut1(baseAddressByte, (byte)channelNum, newVal); _peripheralFloatStates[baseAddress][channelNum] = newVal; } catch (Exception e) { _log.Error(e.Message, e); } }
private void DAC_OutputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { var task = Task.Run(() => SetDACChannelOutputValue((AnalogSignal)sender, a.DacChannelDataSource.DataValueA)); _pendingTasks.Add(task); }
private void DOAAircoreOutputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { var source = sender as AnalogSignal; if (source?.Index == null) { return; } var motorNumZeroBase = source.Index.Value; var baseAddress = source.SubSourceAddress; var baseAddressByte = byte.Parse(baseAddress); var device = source.Source as p.Device; if (device == null) { return; } var motorNum = motorNumZeroBase + 1; var newPosition = (int)(Math.Abs(args.CurrentState) / 360.00 * 1023); try { device.DoaSendAirCoreMotor(baseAddressByte, (byte)motorNum, newPosition); _peripheralFloatStates[baseAddress][motorNum] = newPosition; } catch (Exception e) { _log.Error(e.Message, e); } }
private void PositionOutputSignal_SignalChanged(object sender, AnalogSignalChangedEventArgs args) { if (_positionOutputSignal != null) { var requestedPosition = _positionOutputSignal.State; SetPosition((ushort)requestedPosition); } }
protected override void OnGoToPositionSignalChanged(object sender, AnalogSignalChangedEventArgs args) { if (MinPositionReachedSignal != null && MinPositionReachedSignal.State && args.CurrentState <= args.PreviousState) { return; } if (MaxPositionReachedSignal != null && MaxPositionReachedSignal.State && args.CurrentState >= args.PreviousState) { return; } var changeInValue = args.CurrentState - args.PreviousState; PhysicalOutput.State = changeInValue * NumStepsInRangeOfTravel; base.OnGoToPositionSignalChanged(sender, args); }
private void DOAStepperSignalChanged(object sender, AnalogSignalChangedEventArgs args) { var source = sender as AnalogSignal; if (source?.Index == null) { return; } var motorNumZeroBase = source.Index.Value; var baseAddress = source.SubSourceAddress; var baseAddressByte = byte.Parse(baseAddress); var device = source.Source as p.Device; if (device == null) { return; } var motorNum = motorNumZeroBase + 1; var newPosition = args.CurrentState; var oldPosition = _peripheralFloatStates[baseAddress][motorNumZeroBase]; var numSteps = (int)Math.Abs(newPosition - oldPosition); var direction = p.MotorDirections.Clockwise; if (oldPosition < newPosition) { direction = p.MotorDirections.Counterclockwise; } try { device.DoaSendStepperMotor(baseAddressByte, (byte)motorNum, direction, (byte)numSteps, p.MotorStepTypes.FullStep); _peripheralFloatStates[baseAddress][motorNumZeroBase] = newPosition; } catch (Exception e) { _log.Error(e.Message, e); } }
private void cabinPressureAltitude_InputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { UpdateCabinPressureAltitudeOutputValues(); }
private void nozzlePosition_InputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { UpdateOutputValues(); }
private void airspeed_InputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { UpdateAirspeedOutputValues(); UpdateMachOutputValues(); }
private void verticalCommandBar_InputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { UpdateVerticalCommandBarOutputValues(); }
private void fuelFlow_InputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { UpdateOutputValues(); }
private void rateOfTurn_InputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { UpdateRateOfTurnOutputValues(); }
private void horizontalCommandBar_InputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { UpdateHorizontalCommandBarOutputValues(); }
private void inclinometer_InputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { UpdateInclinometerOutputValues(); }
private void pitch_InputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { UpdatePitchOutputValues(); }
private void barometricPressure_InputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { UpdateAltitudeOutputValues(); }
private void roll_InputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { UpdateRollOutputValues(); }
private void hydPressureB_InputSignalChanged(object sender, AnalogSignalChangedEventArgs args) { UpdateHydBOutputValues(); }