Jump to content
  • 0

The cbAOutScan example for Windows works as intended but the ulAOutScan example for Linux does not. How can I update all channels on a USB-3105?

Freddie Woodruff


I have a USB-3105 board. For the application I have written, I set each of the 16 channel voltages of the DAQ board 10 times per second, so on Windows I have used the cbAOutScan function which works as intended. My code is somewhat similar to the ULAO02.C example (pared down and in a loop).

I am looking to port the code to Linux. I can flash an LED on the board. Running the 'AOutScan.c' UL for Linux example, I get the error "The specified DAQ device does not support hardware paced analog output".

Attempting to ignore this error, I get an error that my arguments are invalid. My hunch is it's something to do with the Rate argument (which is 'NOTUSED' in the Windows example and 1000 in the Linux example).

For anyone concerned, I have a voltmeter and I have measured the typical real time latency of the USB voltage updates and they are comfortably within operational thresholds. However updating the voltages one by one with ulAOut does not meet the all channel 10Hz requirement.

AOutScan.c ULAO02.C

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0


UL for Linux changed how it updates a group of channels. Instead of using ulAOutScan, it uses ulAOutArray. Refer to the hardware reference section of the user manual for the USB-3105. 

The USB-3105 is rated at 100 Hz divided by the number of channels - for 16 channels, you're looking at 6 Hz.

Best regards,

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...