AioSetAoTransferMode


Function

Sets the transfer mode of the analog output conversion data.

Format

Ret = AioSetAoTransferMode ( Id , AoTransferMode )

Parameters

Id [ C, C++ : short ] [ Python : ctypes.c_short ]
Specifies the Device ID retrieved from AioInit function.

AoTransferMode [ C, C++ : short ] [ Python : ctypes.c_short ]
Specifies the transfer mode from the following range.

0

Device buffer mode

1

User buffer mode

For the same device, if you want to use the high-functional analog input and high-functional analog output at the same time, it's necessary to unify the transfer mode.

Return value

Ret [ C, C++ : long ] [ Python : ctypes.c_long ]

Return values

Content

0

Normality completion

7

Execute AioResetDevice function because the device has recovered from standby mode

10001

Invalid Id was specified
Use the Id retrieved from AioInit to specify the Id in this function.

10002

AIO driver can't be called
At first, perform AioInit function.

13580

The value of AoTransferMode is outside the designated range of the function

20001

This function can't be used by this device

20002

Can not use while by another device works
To use this function, analog output operation must be stopped.

20003

Can not use because another process is using the device
When another process is using the device, all functions except for those that support multi-process can not be performed.

23580

The value of AoTransferMode is outside the designated range of the device being used

Initial value

In all devices, AoTransferMode = 0

Remarks

Device buffer mode

The output data of the application are stored in device buffer memory carried with the device or memory in the driver.

After the conversion is started, the output data in device buffer are output to the device.

Device buffer can be used as FIFO memory or RING memory. (AioSetAoMemoryType)

Device buffer mode can be used easier than User buffer mode, because the conversion data are processed in the number of samplings and the function that directly acquires the conversion data in Voltage is supplied.

And, we usually recommend you use Device buffer mode, because we has supplied the functionality for the most use.

User buffer mode

Before the conversion is started, you need register the application memory that stores the conversion data. (AioSetAoTransferData)

After the conversion is started, the conversion data are directly output to the device via the driver.

You can select whether the user buffer is "Overwrite the memory" or the user buffer is "Not overwrite the memory." (AioSetAoMemoryType)

When the device with the bus-master transfer functionality is used, the bus-master transfer is automatically used in User buffer mode. 
When the bus-master transfer is used, please select User buffer mode.

 

This function cannot be used on devices without the analog output function.
If the device is in operation, the function cannot be performed.

Specifications based on devices

AIO-163202G-PE
AIO-163202UG-PE
AIO-123202G-PE
AIO-123202UG-PE

Usable AoTransferMode is 0 or 1.

AIO-16256256-DEMO

AoTransferMode = 0 is fixed.

AO-1604VIN-ETH
AO-1604AIN-ETH

AoTransferMode = 0 is fixed.

Example

Sets Device buffer mode to the transfer mode.

C, C++

long Ret;
Ret = AioSetAoTransferMode ( Id , 0 );
 

Python

Ret = ctypes.c_long()
Ret.value = caio.AioSetAoTransferMode ( Id , 0 )