Function
Acquires the transfer count number.
Format
Ret = DioDmGetCount ( Id , Dir , &Count , &Carry )
Parameters
Id
[ C, C++: short] [Python: ctypes.c_short]
Specifies the device ID retrieved from DioInit.
Dir
[ C, C++: unsigned long] [Python: ctypes.c_ulong]
Specify the transfer direction.
Definition |
Value [Hex] |
Description |
DIODM_DIR_IN |
0x01 |
Input |
DIODM_DIR_OUT |
0x02 |
Output |
Count
[ C, C++: unsigned long *] [Python: ctypes.POINTER(ctypes.c_ulong)]
Specify the address of the variable in which the count number is stored.
Carry
[ C, C++: unsigned long *] [Python: ctypes.POINTER(ctypes.c_ulong)]
Specify the address of the variable in which the carry count is stored.
Return Value
Ret[ C, C++: long] [Python: ctypes.c_long]
Definition |
Value [Dec] |
Description |
DIO_ERR_SUCCESS |
0 |
Normal complete |
DIO_ERR_DLL_INVALID_ID |
10001 |
Invalid ID is specified. |
DIO_ERR_DLL_CALL_DRIVER |
10002 |
Driver cannot be called (failed in ioctl). |
DIO_ERR_DLL_BUFF_ADDRESS |
10100 |
Invalid data buffer address. |
DIO_ERR_SYS_DIRECTION |
50000 |
I/O direction is outside of the setting range. |
The other errors: (See also: Error code details)
Initial Value
None
Remarks
64-bit count number is returned by adding Count to Carry.
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.
Example
C, C++ |
Ret = DioDmGetCount(
Id , DIODM_DIR_IN , &Count , &Carry ); |
Python |
Ret = cdio.DioDmGetCount(
Id , cdio.DIODM_DIR_IN , ctypes.byref(Count) , ctypes.byref(Carry)
) |
See Also
Usage of buffer at input transfer