xPCI-3009 API
PCI-3009 Chronos read functions

Functions

_INT_ i_PCI3009_GetChronoProgressStatus (DWORD_ dw_BoardHandle, PBYTE_ pb_ChronoStatus)
 
_INT_ i_PCI3009_ReadChronoValue (DWORD_ dw_BoardHandle, DWORD_ dw_TimeOut, PBYTE_ pb_ChronoStatus, PDWORD_ pdw_ChronoValue)
 
_INT_ i_PCI3009_ConvertChronoValue (DWORD_ dw_BoardHandle, DWORD_ dw_ChronoValue, PDWORD_ pdw_Hour, PBYTE_ pb_Minute, PBYTE_ pb_Second, PDWORD_ pdw_MilliSecond, PDWORD_ pdw_MicroSecond, PDWORD_ pdw_NanoSecond)
 

Detailed Description

Function Documentation

_INT_ i_PCI3009_GetChronoProgressStatus ( DWORD_  dw_BoardHandle,
PBYTE_  pb_ChronoStatus 
)

Return the chronometer status (pb_ChronoStatus) from chronometer module

Parameters
[in]dw_BoardHandle: Handle of board PCI-3009
[out]pb_ChronoStatus: Return the chronometer status.
0 : Measurement not started. No start signal occur.
1 : Measurement started. A start signal occur.
2 : Measurement stopped. A stop signal occur. The measurement is terminate.
3 : A overflow occur. You must change the base timing witch the function "i_PCI3009_InitChrono"
Returns
0: No error
-1: The handle parameter of the board is wrong
-2: The module is not a Chronometer module
-3: Chronometer not initialised see function "i_PCI3009_InitChrono"
_INT_ i_PCI3009_ReadChronoValue ( DWORD_  dw_BoardHandle,
DWORD_  dw_TimeOut,
PBYTE_  pb_ChronoStatus,
PDWORD_  pdw_ChronoValue 
)

Return the chronometer status (pb_ChronoStatus) and thetiming value (pdw_ChronoValue) after a stop signal occur.
This function are only avaible if you have disabled the interrupt functionality. See function "i_PCI3009_EnableChrono".

The returned value from pdw_ChronoValue parameter is not real measured timing.
You must used the "i_PCI3009_ConvertChronoValue" function or make this operation for calculate the timing:
Timing = pdw_ChronoValue * pdw_RealTimingInterval.
pdw_RealTimingInterval is the returned parameter from "i_PCI3009_InitChrono" function and the time unity is the b_TimingUnit from "i_PCI3009_InitChrono" function.

Parameters
[in]dw_BoardHandle: Handle of board PCI-3009
[in]dw_TimeOut: Read time out (ms)
0: Disabled
< 65536: Enabled
[out]pb_ChronoStatus: Return the chronometer status.
0 : Measurement not started. No start signal occur.
1 : Measurement started. A start signal occur.
2 : Measurement stopped. A stop signal occur. The measurement is terminate.
3 : A overflow occur. You must change the base timing witch the function "i_PCI3009_InitChrono"
4 : Time out occur
[out]pdw_ChronoValue: Chronometer timing value
Returns
0: No error
-1: The handle parameter of the board is wrong
-2: The module is not a Chronometer module
-3: Chronometer not initialised see function "i_PCI3009_InitChrono"
-4: Timeout parameter is wrong (0 to 65535)
_INT_ i_PCI3009_ConvertChronoValue ( DWORD_  dw_BoardHandle,
DWORD_  dw_ChronoValue,
PDWORD_  pdw_Hour,
PBYTE_  pb_Minute,
PBYTE_  pb_Second,
PDWORD_  pdw_MilliSecond,
PDWORD_  pdw_MicroSecond,
PDWORD_  pdw_NanoSecond 
)

Convert the chronometer measured timing (dw_ChronoValue) in to h, mn, s, ms, µs, ns.

Parameters
[in]dw_BoardHandle: Handle of board PCI-3009
[in]dw_ChronoValue: Measured chronometer timing value. See"i_PCI3009_ReadChronoValue"
[out]pdw_Hour: Chronometer timing hour
[out]pb_Minute: Chronometer timing minute
[out]pb_Second: Chronometer timing second
[out]pdw_MilliSecond: Chronometer timing mini second
[out]pdw_MicroSecond: Chronometer timing micro second
[out]pdw_NanoSecond: Chronometer timing nano second
Returns
0: No error
-1: The handle parameter of the board is wrong
-2: The module is not a Chronometer module
-3: Chronometer not initialised see function "i_PCI3009_InitChrono"