Impulse 463E User Manual
Page 89

© Sealevel Systems, Inc.
- 86 -
SeaI/O User Manual
Configuring A/D or D/A Channels
In order to read the A/D channels properly, it is often necessary to first configure
them to be within the proper voltage ranges. The following VC++ example shows
how to get the current device configuration via an Ioctl call, adjust the channel and
device settings, and then commit those changes back to the SeaIO module.
adda_ext_config extended_configuration;
result = cw32.Ioctl(slaveId, IOCTL_GET_ADDA_EXT_CONFIG,
&extended_configuration);
configuration.device.reference_offset =
ANALOG_OFFSET;
configuration.device.channel_mode
=
SINGLE_ENDED;
configuration.channels.ch_1 =
PLS_MIN_TEN;
result = cw32.Ioctl(slaveId, IOCTL_SET_ADDA_CONFIG, &configuration);
In the example above, the device was set to measure the analog inputs as 16 single-
ended inputs and the first channel was configured to be within the plus or minus 10
Volt range. In the Visual Basic example below, however, the device has been
configured to read the analog inputs in current loop mode and channel 1 has been
configured to the zero to five Volt range.
Dim configuration As adda_config
returnValue = SeaMaxW32Ioctl(seaMaxPointer, slaveId,
IOCTL_GET_ADDA_CONFIG, configuration)
configuration.device.reference_offset = ANALOG_OFFSET
configuration.device.channel_mode = SINGLE_ENDED
configuration.channels.ch_1 = PLS_MIN_TEN
returnValue = SeaMaxW32Ioctl(seaMaxPointer, slaveId,
IOCTL_SET_ADDA_CONFIG, configuration)
NOTE:
Please note that when setting the configuration, all channel ranges
are set concurrently on an Ioctl set configuration call. In order to
change a single channel’s configuration, the current configuration
must be requested, altered, and then reset.