Ich versuche die Vorverstärkung für die analogen Kanäle eines CEBO-LC programmatisch einzustellen.
Leider will mir dies nicht gelingen. Ich würde mich sehr freuen, wenn Sie einen Blick auf den
Codeausschnitt werfen könnten, ob da ggf. irgendwo ein Fehler steckt. Vielen Dank im Vorraus.
"_gain" ist der SelectedIndex einer Combobox (integer) der Verstäkungswerte ("x1 = 0, x10 = 1, x100 = 2")
public void OpenDevice()
{
if (_device == null)
return;
_device.Open();
_dp0 = _device.DigitalPorts[0];
_dp0.OutputEnableMask = 30;
_inputs = new IInput[] {
_device.SingleEndedInputs[0],
_device.SingleEndedInputs[1],
_device.SingleEndedInputs[2],
_device.SingleEndedInputs[3]
};
_device.SetupInputFrame(_inputs);
if (_gain >= 0 && _gain < _device.SingleEndedInputs[0].SupportedRanges.Count)
_device.SingleEndedInputs[0].SetParameters(_device.SingleEndedInputs[0].SupportedRanges[_gain]);
if (_gain >= 0 && _gain < _device.SingleEndedInputs[1].SupportedRanges.Count)
_device.SingleEndedInputs[1].SetParameters(_device.SingleEndedInputs[1].SupportedRanges[_gain]);
if (_gain >= 0 && _gain < _device.SingleEndedInputs[2].SupportedRanges.Count)
_device.SingleEndedInputs[2].SetParameters(_device.SingleEndedInputs[2].SupportedRanges[_gain]);
if (_gain >= 0 && _gain < _device.SingleEndedInputs[3].SupportedRanges.Count)
_device.SingleEndedInputs[3].SetParameters(_device.SingleEndedInputs[3].SupportedRanges[_gain]);
_device.Triggers[0].Config = Trigger.TriggerConfig.InputRisingEdge;
}
Im Datenaquise Thread dann (dieses funktioniert alles):
[...]
_ceboLC.OpenDevice();
[...]
_ceboLC.Device.StartContinuousDataAcquisition(_sampleFrequency, true);
{...]
frames = _ceboLC.Device.ReadNonBlocking();
[...]
Mit freundlichen Grüßen
Heiko Kießling
Leider will mir dies nicht gelingen. Ich würde mich sehr freuen, wenn Sie einen Blick auf den
Codeausschnitt werfen könnten, ob da ggf. irgendwo ein Fehler steckt. Vielen Dank im Vorraus.
"_gain" ist der SelectedIndex einer Combobox (integer) der Verstäkungswerte ("x1 = 0, x10 = 1, x100 = 2")
public void OpenDevice()
{
if (_device == null)
return;
_device.Open();
_dp0 = _device.DigitalPorts[0];
_dp0.OutputEnableMask = 30;
_inputs = new IInput[] {
_device.SingleEndedInputs[0],
_device.SingleEndedInputs[1],
_device.SingleEndedInputs[2],
_device.SingleEndedInputs[3]
};
_device.SetupInputFrame(_inputs);
if (_gain >= 0 && _gain < _device.SingleEndedInputs[0].SupportedRanges.Count)
_device.SingleEndedInputs[0].SetParameters(_device.SingleEndedInputs[0].SupportedRanges[_gain]);
if (_gain >= 0 && _gain < _device.SingleEndedInputs[1].SupportedRanges.Count)
_device.SingleEndedInputs[1].SetParameters(_device.SingleEndedInputs[1].SupportedRanges[_gain]);
if (_gain >= 0 && _gain < _device.SingleEndedInputs[2].SupportedRanges.Count)
_device.SingleEndedInputs[2].SetParameters(_device.SingleEndedInputs[2].SupportedRanges[_gain]);
if (_gain >= 0 && _gain < _device.SingleEndedInputs[3].SupportedRanges.Count)
_device.SingleEndedInputs[3].SetParameters(_device.SingleEndedInputs[3].SupportedRanges[_gain]);
_device.Triggers[0].Config = Trigger.TriggerConfig.InputRisingEdge;
}
Im Datenaquise Thread dann (dieses funktioniert alles):
[...]
_ceboLC.OpenDevice();
[...]
_ceboLC.Device.StartContinuousDataAcquisition(_sampleFrequency, true);
{...]
frames = _ceboLC.Device.ReadNonBlocking();
[...]
Mit freundlichen Grüßen
Heiko Kießling