Source code for nidaqmx.system._watchdog_modules.expiration_state

# Do not edit this file; it was automatically generated.

import ctypes

from nidaqmx._lib import lib_importer, ctypes_byte_str
from nidaqmx.errors import (
    check_for_error, is_string_buffer_too_small, is_array_buffer_too_small)
from nidaqmx.constants import (
    Level, WatchdogAOExpirState, WatchdogCOExpirState)


[docs]class ExpirationState(object): """ Represents a DAQmx Watchdog expiration state. """ def __init__(self, task_handle, physical_channel): self._handle = task_handle self._physical_channel = physical_channel def __eq__(self, other): if isinstance(other, self.__class__): return (self._handle == other._handle and self._physical_channel == other._physical_channel) return False def __hash__(self): return hash((self._handle.value, self._physical_channel)) def __ne__(self, other): return not self.__eq__(other) @property def expir_states_ao_state(self): """ float: Specifies the state to set the analog output physical channels when the watchdog task expires. """ val = ctypes.c_double() cfunc = lib_importer.windll.DAQmxGetWatchdogAOExpirState if cfunc.argtypes is None: with cfunc.arglock: if cfunc.argtypes is None: cfunc.argtypes = [ lib_importer.task_handle, ctypes_byte_str, ctypes.POINTER(ctypes.c_double)] error_code = cfunc( self._handle, self._physical_channel, ctypes.byref(val)) check_for_error(error_code) return val.value @expir_states_ao_state.setter def expir_states_ao_state(self, val): cfunc = lib_importer.windll.DAQmxSetWatchdogAOExpirState if cfunc.argtypes is None: with cfunc.arglock: if cfunc.argtypes is None: cfunc.argtypes = [ lib_importer.task_handle, ctypes_byte_str, ctypes.c_double] error_code = cfunc( self._handle, self._physical_channel, val) check_for_error(error_code) @expir_states_ao_state.deleter def expir_states_ao_state(self): cfunc = lib_importer.windll.DAQmxResetWatchdogAOExpirState if cfunc.argtypes is None: with cfunc.arglock: if cfunc.argtypes is None: cfunc.argtypes = [ lib_importer.task_handle, ctypes_byte_str] error_code = cfunc( self._handle, self._physical_channel) check_for_error(error_code) @property def expir_states_ao_type(self): """ :class:`nidaqmx.constants.WatchdogAOExpirState`: Specifies the output type of the analog output physical channels when the watchdog task expires. """ val = ctypes.c_int() cfunc = lib_importer.windll.DAQmxGetWatchdogAOOutputType if cfunc.argtypes is None: with cfunc.arglock: if cfunc.argtypes is None: cfunc.argtypes = [ lib_importer.task_handle, ctypes_byte_str, ctypes.POINTER(ctypes.c_int)] error_code = cfunc( self._handle, self._physical_channel, ctypes.byref(val)) check_for_error(error_code) return WatchdogAOExpirState(val.value) @expir_states_ao_type.setter def expir_states_ao_type(self, val): val = val.value cfunc = lib_importer.windll.DAQmxSetWatchdogAOOutputType if cfunc.argtypes is None: with cfunc.arglock: if cfunc.argtypes is None: cfunc.argtypes = [ lib_importer.task_handle, ctypes_byte_str, ctypes.c_int] error_code = cfunc( self._handle, self._physical_channel, val) check_for_error(error_code) @expir_states_ao_type.deleter def expir_states_ao_type(self): cfunc = lib_importer.windll.DAQmxResetWatchdogAOOutputType if cfunc.argtypes is None: with cfunc.arglock: if cfunc.argtypes is None: cfunc.argtypes = [ lib_importer.task_handle, ctypes_byte_str] error_code = cfunc( self._handle, self._physical_channel) check_for_error(error_code) @property def expir_states_co_state(self): """ :class:`nidaqmx.constants.WatchdogCOExpirState`: Specifies the state to set the counter output channel terminal when the watchdog task expires. """ val = ctypes.c_int() cfunc = lib_importer.windll.DAQmxGetWatchdogCOExpirState if cfunc.argtypes is None: with cfunc.arglock: if cfunc.argtypes is None: cfunc.argtypes = [ lib_importer.task_handle, ctypes_byte_str, ctypes.POINTER(ctypes.c_int)] error_code = cfunc( self._handle, self._physical_channel, ctypes.byref(val)) check_for_error(error_code) return WatchdogCOExpirState(val.value) @expir_states_co_state.setter def expir_states_co_state(self, val): val = val.value cfunc = lib_importer.windll.DAQmxSetWatchdogCOExpirState if cfunc.argtypes is None: with cfunc.arglock: if cfunc.argtypes is None: cfunc.argtypes = [ lib_importer.task_handle, ctypes_byte_str, ctypes.c_int] error_code = cfunc( self._handle, self._physical_channel, val) check_for_error(error_code) @expir_states_co_state.deleter def expir_states_co_state(self): cfunc = lib_importer.windll.DAQmxResetWatchdogCOExpirState if cfunc.argtypes is None: with cfunc.arglock: if cfunc.argtypes is None: cfunc.argtypes = [ lib_importer.task_handle, ctypes_byte_str] error_code = cfunc( self._handle, self._physical_channel) check_for_error(error_code) @property def expir_states_do_state(self): """ :class:`nidaqmx.constants.Level`: Specifies the state to which to set the digital physical channels when the watchdog task expires. You cannot modify the expiration state of dedicated digital input physical channels. """ val = ctypes.c_int() cfunc = lib_importer.windll.DAQmxGetWatchdogDOExpirState if cfunc.argtypes is None: with cfunc.arglock: if cfunc.argtypes is None: cfunc.argtypes = [ lib_importer.task_handle, ctypes_byte_str, ctypes.POINTER(ctypes.c_int)] error_code = cfunc( self._handle, self._physical_channel, ctypes.byref(val)) check_for_error(error_code) return Level(val.value) @expir_states_do_state.setter def expir_states_do_state(self, val): val = val.value cfunc = lib_importer.windll.DAQmxSetWatchdogDOExpirState if cfunc.argtypes is None: with cfunc.arglock: if cfunc.argtypes is None: cfunc.argtypes = [ lib_importer.task_handle, ctypes_byte_str, ctypes.c_int] error_code = cfunc( self._handle, self._physical_channel, val) check_for_error(error_code) @expir_states_do_state.deleter def expir_states_do_state(self): cfunc = lib_importer.windll.DAQmxResetWatchdogDOExpirState if cfunc.argtypes is None: with cfunc.arglock: if cfunc.argtypes is None: cfunc.argtypes = [ lib_importer.task_handle, ctypes_byte_str] error_code = cfunc( self._handle, self._physical_channel) check_for_error(error_code)