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

DeviceStorageclass

Module: zaber_motion.ascii

Class providing access to device storage. Requires at least Firmware 7.30.

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_storage = device.storage

Index

mMethods
erase_key()
get_bool()
get_number()
get_string()
key_exists()
list_keys()
set_bool()
set_number()
set_string()

Methods

m

erase_key()

async available
device_storage.erase_key(key)
Erases the device value stored at the provided key.
Arguments
NameTypeDescription
keystrKey to erase.
Return Value
bool A boolean indicating if the key existed.
m

get_bool()

async available
device_storage.get_bool(key)
Gets the value at the provided key interpreted as a boolean.
Arguments
NameTypeDescription
keystrKey to get the value at.
Return Value
bool Stored value.
m

get_number()

async available
device_storage.get_number(key)
Gets the value at the provided key interpreted as a number.
Arguments
NameTypeDescription
keystrKey to get the value at.
Return Value
float Stored value.
m

get_string()

async available
device_storage.get_string(key, decode = False)
Gets the device value stored with the provided key.
Arguments
NameTypeDescription
keystrKey to read the value of.
decodeboolWhether the stored value should be decoded. Only use this when reading values set by storage.set with "encode" true.
Return Value
str Stored value.
m

key_exists()

async available
device_storage.key_exists(key)
Determines whether a given key exists in device storage.
Arguments
NameTypeDescription
keystrKey which existence to determine.
Return Value
bool True indicating that the key exists, false otherwise.
m

list_keys()

async available
device_storage.list_keys(prefix = None)
Lists the device storage keys matching a given prefix. Omit the prefix to list all the keys.
Arguments
NameTypeDescription
prefixOptional[str]Optional key prefix.
Return Value
List[str] Storage keys matching the given prefix.
m

set_bool()

async available
device_storage.set_bool(key, value)
Sets the value at the provided key to the provided boolean.
Arguments
NameTypeDescription
keystrKey to set the value at.
valueboolValue to set.
m

set_number()

async available
device_storage.set_number(key, value)
Sets the value at the provided key to the provided number.
Arguments
NameTypeDescription
keystrKey to set the value at.
valuefloatValue to set.
m

set_string()

async available
device_storage.set_string(key, value, encode = False)
Sets the device value stored at the provided key.
Arguments
NameTypeDescription
keystrKey to set the value at.
valuestrValue to set.
encodeboolWhether the stored value should be base64 encoded before being stored. This makes the string unreadable to humans using the ASCII protocol, however, values stored this way can be of any length and use non-ASCII and protocol reserved characters.
Top