quanser.hardware.hil.read_analog_write_analog quanser.hardware.hil.read_digital_write_digital navigation bar

Table of Contents

quanser.hardware.hil.read_encoder_write_pwm

Reads from the specified encoder input channels and writes to the specified PWM output channels.

Syntax

[encoder_counts, err] = board.read_encoder_write_pwm(encoder_channels, pwm_channels, duty_cycles)
    

Description

Reads from the specified encoder input channels and writes to the specified PWM 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).

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.

encoder_channels

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

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

pwm_channels

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

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

duty_cycles

In PWM duty cycle mode, this argument is a vector of duty cycles. Values may range from -1.0 to +1.0. Sign indicates direction for bipolar PWM outputs. There must be one element for each PWM channel.

In PWM frequency mode, this argument is a vector of frequencies in Hertz. Sign indicates direction for bipolar PWM outputs. There must be one element for each PWM channel.

In PWM period mode, this argument is a vector of periods in seconds. Sign indicates direction for bipolar PWM outputs. There must be one element for each PWM channel.

Outputs

encoder_counts

A vector of the encoder counts read, as int32s. There will be one element for each input channel.

err

A negative error code or zero on success.

Examples

% Writes 50% to PWM channel 5 while reading from encoder channels 0 and 3
counts = board.read_encoder_write_pwm([0 3], 5, 0.5);
    

See Also

 

navigation bar