(self)
return PhysicalChannel(val.value.decode('ascii'))
:class:`nidaqmx.system.physical_channel.PhysicalChannel`:
            Specifies the names of the digital lines or ports on which
            to detect rising edges. The lines or ports must be used by
            virtual channels in the task. You also can specify a string
            that contains a list or range of digital lines or ports.
:class:`nidaqmx.system.physical_channel.PhysicalChannel`:
            Specifies the names of the digital lines or ports on which
            to detect rising edges. The lines or ports must be used by
            virtual channels in the task. You also can specify a string
            that contains a list or range of digital lines or ports.
: class : nidaqmx . system . physical_channel . PhysicalChannel : Specifies the names of the digital lines or ports on which to detect rising edges . The lines or ports must be used by virtual channels in the task . You also can specify a string that contains a list or range of digital lines or ports .
def change_detect_di_rising_edge_physical_chans(self):
        """
        :class:`nidaqmx.system.physical_channel.PhysicalChannel`:
            Specifies the names of the digital lines or ports on which
            to detect rising edges. The lines or ports must be used by
            virtual channels in the task. You also can specify a string
            that contains a list or range of digital lines or ports.
        """
        cfunc = (lib_importer.windll.
                 DAQmxGetChangeDetectDIRisingEdgePhysicalChans)
        if cfunc.argtypes is None:
            with cfunc.arglock:
                if cfunc.argtypes is None:
                    cfunc.argtypes = [
                        lib_importer.task_handle, ctypes.c_char_p,
                        ctypes.c_uint]

        temp_size = 0
        while True:
            val = ctypes.create_string_buffer(temp_size)

            size_or_code = cfunc(
                self._handle, val, temp_size)

            if is_string_buffer_too_small(size_or_code):
                # Buffer size must have changed between calls; check again.
                temp_size = 0
            elif size_or_code > 0 and temp_size == 0:
                # Buffer size obtained, use to retrieve data.
                temp_size = size_or_code
            else:
                break

        check_for_error(size_or_code)

        return PhysicalChannel(val.value.decode('ascii'))
def change_detect_di_rising_edge_physical_chans ( self ) : cfunc = ( lib_importer . windll . DAQmxGetChangeDetectDIRisingEdgePhysicalChans ) if cfunc . argtypes is None : with cfunc . arglock : if cfunc . argtypes is None : cfunc . argtypes = [ lib_importer . task_handle , ctypes . c_char_p , ctypes . c_uint ] temp_size = 0 while True : val = ctypes . create_string_buffer ( temp_size ) size_or_code = cfunc ( self . _handle , val , temp_size ) if is_string_buffer_too_small ( size_or_code ) : # Buffer size must have changed between calls; check again. temp_size = 0 elif size_or_code > 0 and temp_size == 0 : # Buffer size obtained, use to retrieve data. temp_size = size_or_code else : break check_for_error ( size_or_code ) return PhysicalChannel ( val . value . decode ( 'ascii' ) )