quanser.hardware.hil.read_encoder_write_pwm quanser.hardware.hil.read_other_write_other navigation bar

Table of Contents

quanser.hardware.hil.read_digital_write_digital

Reads from the specified digital input channels and writes to the specified digital output channels.

Syntax

[input_values, err] = board.read_digital_write_digital(input_channels, output_channels, output_values)
    

Description

Reads from the specified digital input channels and writes to the specified digital output channels. Channel numbers are zero-based. The write operation is performed immediately after the read operation (generally performed at the hardware or device driver level so the operations are virtually concurrent).

Warning Many cards allow the digital I/O lines to be programmed as inputs or outputs. The digital I/O lines are configured as inputs or outputs using the set_digital_directions function. All the channels which will be used as digital inputs or outputs must be configured accordingly using this function. Failure to configure the digital I/O may result in the read_digital_write_digital function failing to read or write the digital I/O as expected.

If no err output is provided then it throws an exception if an error occurs. In generated code it prints the error message. Use hil_get_error_message to get the message associated with an error code.

Parameters

board

The board instance returned by the quanser.hardware.hil.open function.

input_channels

A vector of input channel numbers. Channel numbers are zero-based.

Select a board type from the list for board-specific details: .

output_channels

A vector of output channel numbers. Channel numbers are zero-based.

Select a board type from the list for board-specific details: .

output_values

A vector of digital values. There must be one element for each output channel.

Outputs

input_values

A vector of the digital values read, as int8s. There will be one element for each input channel.

err

A negative error code or zero on success.

Examples

% Writes 1 to digital channel 5 while reading from digital channels 0 and 3
values = board.read_digital_write_digital([0 3], 5, 1);
    

See Also

 

navigation bar