Retrieves the transfer position on the data buffer.
Ret = DioDmGetWritePointer ( Id , Direction , WritePointer , Count , Carry )
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
Specify the device ID retrieved from DioInit.
Direction
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
Set the transfer direction.
Definition |
Value [Dec] |
Description |
DIODM_DIR_IN |
1 |
Input |
DIODM_DIR_OUT |
2 |
Output |
WritePointer
[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
Specify the address of the variable to store the transfer position.
Count
[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
Specify the address of the variable to store the transfer count number.
Carry
[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
Specify the address of the variable to store the carry count number.
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
Definition |
Value [Dec] |
Description |
DIO_ERR_SUCCESS |
0 |
Normal completed. |
DIO_ERR_SYS_RECOVERED_FROM_STANDBY |
7 |
Execute DioResetDevice function because the device has recovered from standby mode. |
DIO_ERR_DLL_INVALID_ID |
10001 |
Invalid ID specified. |
DIO_ERR_DLL_CALL_DRIVER |
10002 |
Not call the driver (Failure on DEVICE I/O CONTROL). |
DIO_ERR_DLL_BUFF_ADDRESS |
10100 |
Invalid data buffer address. |
DIO_ERR_SYS_NOT_SUPPORTED |
20001 |
This board couldn't use this function. |
DIO_ERR_SYS_IODIRECTION |
20500 |
Direction value is out of range. |
The others (See also: Details of Error Code)
None
It is possible to know where data are written on the data buffer. When both transfer count number and transfer position are 0, it indicates the state that no data are transferred, therefore, the actual written position is the previous value of the transfer count number retrieved by this function.
When using the DIO-32DM3-PE, the data is
transferred to the PC side every 2-2048 samplings for optimization.
Therefore, there is such a possibility that the count doesn't work when
the clocks input, but the sampling is performed.
When the transfer is completed, the rest of the data will also be transferred.
Retrieves the transfer position on the data buffer for input transfer.
VB.NET |
Dim Ret As Integer |
C, C++ |
long Ret; |
C# |
int Ret; |
Python |
Ret = ctypes.c_long() |