AioSetAiTransferMode


Function

Sets the transfer mode of the analog input conversion data. 

Format

Ret = AioSetAiTransferMode ( Id , AiTransferMode )

Parameters

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

AiTransferMode [ 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.

11960

The value of AiTransferMode 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 input 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.

21960

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

Initial value

In all devices, AiTransferMode = 0

Remarks

There are two types of transfer mode for analog input conversion. The one is Device buffer mode, the other is User buffer mode.

Device buffer mode

After the conversion is started, the conversion data are stored in device buffer (memory carried with the device or memory in the driver).

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

The Application can acquire the conversion data from the device buffer by executing the function as needed. (AioGetAiSamplingData)

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 ensure and register the application memory that stores the conversion data. (AioSetAiTransferData)

After the conversion is started, the conversion data are directly stored to the application memory via the driver.

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

 

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

Specifications based on devices

AI-1204Z-PE

Usable AiTransferMode is 0 or 1.

AI-1204Z-PCI

AI-1204Z-PCI doesn't support by API-AIO(LNX).

AI-1664UG-PE
AIO-163202G-PE
AIO-163202UG-PE
AIO-123202G-PE
AIO-123202UG-PE

Usable AiTransferMode is 0 or 1.

AIO-163202F-PE

ADA16-32/2(PCI)F

AiTransferMode = 0 is fixed.

AIO-160802L-LPE

ADA16-8/2(LPCI)L

ADAI16-8/2(LPCI)L

AIO-160802LI-PE

AiTransferMode = 0 is fixed.

AI-1616L-LPE

AD16-64(LPCI)LA

AD16-16(LPCI)L

ADI16-16(LPCI)L

AI-1616LI-PE

AI-1664LA-LPE

AiTransferMode = 0 is fixed.

AD12-16(PCI)EV

AD12-16U(PCI)EV

AD16-16(PCI)EV

AD16-16U(PCI)EV

AIO-121601E3-PE

AIO-121601UE3-PE

AIO-161601E3-PE

AIO-161601UE3-PE

AI-1216I2-PCI

AiTransferMode = 0 is fixed.

AD12-64(PCI)

AD12-16(PCI)

AiTransferMode = 0 is fixed.

AI-1604CI2-PCI

AiTransferMode = 0 is fixed.

AI-1608AY-USB

AIO-160802AY-USB

AI-1608GY-USB

AIO-160802GY-USB

AiTransferMode = 0 is fixed.

AIO-163202FX-USB

AiTransferMode = 0 is fixed.

AIO-16256256-DEMO

AiTransferMode = 0 is fixed.

AI-1664LAX-USB

AiTransferMode = 0 is fixed.

AIO-121602LN-USB

AIO-120802LN-USB

AiTransferMode = 0 is fixed.

AI-1608VIN-USB

AI-1608AIN-USB

AiTransferMode = 0 is fixed.

Example

Sets Device buffer mode to the transfer mode.

C, C++

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

Python

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