quanser.hardware.hil.write_analog_buffer quanser.hardware.hil.write_digital_buffer navigation bar

Table of Contents

quanser.hardware.hil.write_pwm_buffer

Writes the specified samples to the PWM channels at the indicated sampling rate.

Syntax

[samples_written, err] = board.write_pwm_buffer(clock, frequency, channels, duty_cycles)
    

Description

Writes the specified samples to the pwm channels at the indicated sampling rate. The number of samples is determined by the number of columns in the duty_cycles matrix.

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.

clock

The clock to use as a timebase for the buffered operation. Hardware clocks are numbered incrementally starting at 0, with 0 meaning HARDWARE_CLOCK_0, 1 meaning HARDWARE_CLOCK_1, etc. The number of clocks available depends on the board selected. Refer to Clocks for more information.

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

frequency

The sampling frequency in Hertz at which samples will be collected.

channels

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

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

duty_cycles

A matrix of pwm duty cycles. Values must lie in the range -1.0 to +1.0. There must be one row for each channel and one column for each sample.

Outputs

samples_written

The number of samples written. This value will equal the number of samples specified unless the operation was canceled.

err

A negative error code or zero on success.

Examples

% Uniformly distributed random duty cycles between -1 and +1.
duty = (rand(2, 5000)-0.5)*2;

% Writes 5000 samples to pwm channels 0 and 3 at 1 kHz using SYSTEM_CLOCK_1
board.write_pwm_buffer(-1, 1000, [0 3], duty);
    

See Also

 

navigation bar