private static void ConfigureDeviceChannel(a.IDenseDacEvalBoard device, DeviceConfig deviceConfig, a.ChannelAddress channel) { var dacChannelConfiguration = GetDACChannelConfiguration(channel, deviceConfig); device.SetDacChannelDataValueA(channel, dacChannelConfiguration?.InitialState?.DataValueA ?? (ushort)0x8000); device.SetDacChannelDataValueB(channel, dacChannelConfiguration?.InitialState?.DataValueB ?? (ushort)0x8000); device.SetDacChannelOffset(channel, dacChannelConfiguration?.Calibration?.Offset ?? (ushort)0x8000); device.SetDacChannelGain(channel, dacChannelConfiguration?.Calibration?.Gain ?? (ushort)0xFFFF); }
private void SetDACChannelOutputValue(AnalogSignal outputSignal, a.DacChannelDataSource dacChannelDataSource) { if (!outputSignal.Index.HasValue || _device == null) { return; } var value = (ushort)((outputSignal.State + 10.0000) / 20.0000 * 0xFFFF); var channelAddress = (a.ChannelAddress)outputSignal.SubSource; if (dacChannelDataSource == a.DacChannelDataSource.DataValueA) { _device.SetDacChannelDataValueA(channelAddress, value); } else { _device.SetDacChannelDataValueB(channelAddress, value); } }