Zaber Launcher Tutorials
Zaber Motion Library
Sample Projects
Virtual DeviceDropdown icon
About3D Viewer
AccountDropdown icon
Sign InSign Up
Zaber Motion LibraryGetting StartedHow-to Guides
API Reference
root
zaber_motion.ascii
AlertEventAllAxesAxisAxisGroupAxisIdentityAxisSettingsAxisStorageAxisTypeConnectionConversionFactorDeviceDeviceIdentityDeviceIODeviceIOInfoDeviceSettingsDeviceStorageDigitalOutputActionGetAxisSettingGetAxisSettingResultGetSettingGetSettingResultIoPortLabelIoPortTypeLockstepMeasurementSequenceMessageTypeOscilloscopeOscilloscopeCapturePropertiesOscilloscopeDataOscilloscopeDataSourceParamsetInfoPidTuningPvtPvtAxisDefinitionPvtAxisTypePvtBufferPvtCallActionPvtCancelAllOutputsScheduleActionPvtCancelOutputScheduleActionPvtCsvDataPvtIoPvtModePvtPartialCsvDataPvtPartialPointPvtPartialSequenceItemPvtPointPvtSequencePvtSequenceItemPvtSetAllAnalogOutputsActionPvtSetAllDigitalOutputsActionPvtSetAnalogOutputActionPvtSetDigitalOutputActionResponseServoTunerServoTuningParamServoTuningParamsetSetStateAxisResponseSetStateDeviceResponseSettingConstantsSimpleTuningSimpleTuningParamDefinitionStreamStreamAxisDefinitionStreamAxisTypeStreamBufferStreamIoStreamModeStreamsTransportTriggerTriggerActionTriggerConditionTriggerEnabledStateTriggerOperationTriggersTriggerStateUnknownResponseEventWarningFlagsWarnings
zaber_motion.binary
BinarySettingsCommandCodeConnectionDeviceDeviceIdentityDeviceSettingsDeviceTypeErrorCodeMessageReplyCodeReplyOnlyEventUnknownResponseEvent
zaber_motion.exceptions
MotionLibExceptionBinaryCommandFailedExceptionDataCommandFailedExceptionDataCommandTooLongExceptionDataDeviceAddressConflictExceptionDataDeviceDbFailedExceptionDataDeviceDbInnerErrorGCodeExecutionExceptionDataGCodeSyntaxExceptionDataInvalidPacketExceptionDataInvalidPvtPointInvalidResponseExceptionDataMovementFailedExceptionDataMovementInterruptedExceptionDataOperationFailedExceptionDataPvtExecutionExceptionDataPvtMovementFailedExceptionDataPvtMovementInterruptedExceptionDataSetDeviceStateExceptionDataSetPeripheralStateExceptionDataStreamExecutionExceptionDataStreamMovementFailedExceptionDataStreamMovementInterruptedExceptionData
zaber_motion.gcode
AxisDefinitionAxisMappingAxisTransformationDeviceDefinitionOfflineTranslatorTranslateMessageTranslateResultTranslatorTranslatorConfig
zaber_motion.microscopy
AutofocusAutofocusStatusCameraTriggerFilterChangerIlluminatorIlluminatorChannelMicroscopeMicroscopeConfigObjectiveChangerThirdPartyComponentsWdiAutofocusProviderWdiAutofocusProviderStatus
zaber_motion.product
ProcessProcessControllerProcessControllerModeProcessControllerSourceProcessControllerSourceSensor
zaber_motion
AxisAddressChannelAddressCyclicDirectionDeviceDbSourceDeviceDbSourceTypeDeviceDiscoveryResultDevicePortTypeFirmwareVersionLibraryLogOutputModeMeasurementNamedParameterRotationDirectionToolsUnitConversionDescriptorUnitsUnitTable
SupportBinary Protocol (Legacy)
© 2026 Zaber Technologies Inc.

API Reference v9.0.0

DeviceIOclass

Module: zaber_motion.ascii

Class providing access to the I/O channels of the device.

The following example illustrates how you can obtain an instance of this type:

from zaber_motion.ascii import Connection

connection = Connection.open_serial_port('COM3')
device = connection.get_device(1)
device_io = device.io
Related Guides:
  • Device I/O

Index

mMethods
cancel_all_analog_outputs_schedule()
cancel_all_digital_outputs_schedule()
cancel_analog_output_schedule()
cancel_digital_output_schedule()
get_all_analog_inputs()
get_all_analog_outputs()
get_all_digital_inputs()
get_all_digital_outputs()
get_all_labels()
get_analog_input()
get_analog_output()
get_channels_info()
get_digital_input()
get_digital_output()
get_label()
set_all_analog_outputs()
set_all_analog_outputs_schedule()
set_all_digital_outputs()
set_all_digital_outputs_schedule()
set_analog_input_lowpass_filter()
set_analog_output()
set_analog_output_schedule()
set_digital_output()
set_digital_output_schedule()
set_label()

Methods

m

cancel_all_analog_outputs_schedule()

async available
device_io.cancel_all_analog_outputs_schedule(channels = [])
Cancel all scheduled analog output actions. Requires at least Firmware 7.38.
Arguments
NameTypeDescription
channelsList[bool]Optionally specify which channels to cancel. Array length must be empty or equal to the number of channels on device. Specifying "True" for a channel will cancel the scheduled analog output value for that channel.
m

cancel_all_digital_outputs_schedule()

async available
device_io.cancel_all_digital_outputs_schedule(channels = [])
Cancel all scheduled digital output actions. Requires at least Firmware 7.37.
Arguments
NameTypeDescription
channelsList[bool]Optionally specify which channels to cancel. Array length must be empty or equal to the number of channels on device. Specifying "True" for a channel will cancel the scheduled digital output action for that channel.
m

cancel_analog_output_schedule()

async available
device_io.cancel_analog_output_schedule(channel_number)
Cancels a scheduled analog output value. Requires at least Firmware 7.38.
Arguments
NameTypeDescription
channel_numberintChannel number starting at 1.
m

cancel_digital_output_schedule()

async available
device_io.cancel_digital_output_schedule(channel_number)
Cancels a scheduled digital output action. Requires at least Firmware 7.37.
Arguments
NameTypeDescription
channel_numberintChannel number starting at 1.
m

get_all_analog_inputs()

async available
device_io.get_all_analog_inputs()
Returns the current values of all analog input channels.
Return Value
List[float] Measurements of the voltages present on the input channels.
m

get_all_analog_outputs()

async available
device_io.get_all_analog_outputs()
Returns the current values of all analog output channels.
Return Value
List[float] Measurements of voltage that the output channels are conducting.
m

get_all_digital_inputs()

async available
device_io.get_all_digital_inputs()
Returns the current values of all digital input channels.
Return Value
List[bool] True if voltage is present on the input channel and false otherwise.
m

get_all_digital_outputs()

async available
device_io.get_all_digital_outputs()
Returns the current values of all digital output channels.
Return Value
List[bool] True if the output channel is conducting and false otherwise.
m

get_all_labels()

async available
device_io.get_all_labels()
Returns every label assigned to an IO port on this device.
Return Value
List[IoPortLabel] The labels set for this device's IO.
m

get_analog_input()

async available
device_io.get_analog_input(channel_number)
Returns the current value of the specified analog input channel.
Arguments
NameTypeDescription
channel_numberintChannel number starting at 1.
Return Value
float  A measurement of the voltage present on the input channel.
m

get_analog_output()

async available
device_io.get_analog_output(channel_number)
Returns the current values of the specified analog output channel.
Arguments
NameTypeDescription
channel_numberintChannel number starting at 1.
Return Value
float A measurement of voltage that the output channel is conducting.
m

get_channels_info()

async available
device_io.get_channels_info()
Returns the number of I/O channels the device has.
Return Value
DeviceIOInfo An object containing the number of I/O channels the device has.
m

get_digital_input()

async available
device_io.get_digital_input(channel_number)
Returns the current value of the specified digital input channel.
Arguments
NameTypeDescription
channel_numberintChannel number starting at 1.
Return Value
bool True if voltage is present on the input channel and false otherwise.
m

get_digital_output()

async available
device_io.get_digital_output(channel_number)
Returns the current value of the specified digital output channel.
Arguments
NameTypeDescription
channel_numberintChannel number starting at 1.
Return Value
bool True if the output channel is conducting and false otherwise.
m

get_label()

async available
device_io.get_label(port_type, channel_number)
Returns the label of the specified channel.
Arguments
NameTypeDescription
port_typeIoPortTypeThe type of channel to get the label of.
channel_numberintChannel number starting at 1.
Return Value
str The label of the specified channel.
m

set_all_analog_outputs()

async available
device_io.set_all_analog_outputs(values)
Sets values for all analog output channels.
Arguments
NameTypeDescription
valuesList[float]Voltage values to set the output channels to.
m

set_all_analog_outputs_schedule()

async available
device_io.set_all_analog_outputs_schedule(values, future_values, delay, unit = Units.NATIVE)
Sets current and future values for all analog output channels. Requires at least Firmware 7.38.
Arguments
NameTypeDescription
valuesList[float]Voltage values to set the output channels to immediately.
future_valuesList[float]Voltage values to set the output channels to in the future.
delayfloatDelay between setting current values and setting future values.
unitTimeUnitsUnits of time.
m

set_all_digital_outputs()

async available
device_io.set_all_digital_outputs(values)
Sets values for all digital output channels.
Arguments
NameTypeDescription
valuesList[DigitalOutputAction]The type of action to perform on the channel.
m

set_all_digital_outputs_schedule()

async available
device_io.set_all_digital_outputs_schedule(values, future_values, delay, unit = Units.NATIVE)
Sets current and future values for all digital output channels. Requires at least Firmware 7.37.
Arguments
NameTypeDescription
valuesList[DigitalOutputAction]The type of actions to perform immediately on output channels.
future_valuesList[DigitalOutputAction]The type of actions to perform in the future on output channels.
delayfloatDelay between setting current values and setting future values.
unitTimeUnitsUnits of time.
m

set_analog_input_lowpass_filter()

async available
device_io.set_analog_input_lowpass_filter(channel_number, cutoff_frequency, unit = Units.NATIVE)
Sets the cutoff frequency of the low-pass filter for the specified analog input channel. Set the frequency to 0 to disable the filter.
Arguments
NameTypeDescription
channel_numberintChannel number starting at 1.
cutoff_frequencyfloatCutoff frequency of the low-pass filter.
unitFrequencyUnitsUnits of frequency.
m

set_analog_output()

async available
device_io.set_analog_output(channel_number, value)
Sets value for the specified analog output channel.
Arguments
NameTypeDescription
channel_numberintChannel number starting at 1.
valuefloatValue to set the output channel voltage to.
m

set_analog_output_schedule()

async available
device_io.set_analog_output_schedule(channel_number, value, future_value, delay, unit = Units.NATIVE)
Sets current and future value for the specified analog output channel. Requires at least Firmware 7.38.
Arguments
NameTypeDescription
channel_numberintChannel number starting at 1.
valuefloatValue to set the output channel voltage to immediately.
future_valuefloatValue to set the output channel voltage to in the future.
delayfloatDelay between setting current value and setting future value.
unitTimeUnitsUnits of time.
m

set_digital_output()

async available
device_io.set_digital_output(channel_number, value)
Sets value for the specified digital output channel.
Arguments
NameTypeDescription
channel_numberintChannel number starting at 1.
valueDigitalOutputActionThe type of action to perform on the channel.
m

set_digital_output_schedule()

async available
device_io.set_digital_output_schedule(channel_number, value, future_value, delay, unit = Units.NATIVE)
Sets current and future value for the specified digital output channel. Requires at least Firmware 7.37.
Arguments
NameTypeDescription
channel_numberintChannel number starting at 1.
valueDigitalOutputActionThe type of action to perform immediately on the channel.
future_valueDigitalOutputActionThe type of action to perform in the future on the channel.
delayfloatDelay between setting current value and setting future value.
unitTimeUnitsUnits of time.
m

set_label()

async available
device_io.set_label(port_type, channel_number, label)
Sets the label of the specified channel.
Arguments
NameTypeDescription
port_typeIoPortTypeThe type of channel to set the label of.
channel_numberintChannel number starting at 1.
labelOptional[str]The label to set for the specified channel. If no value or an empty string is provided, this label is deleted.
Top