Retrieves the board clocking configuration and the current status of the clocks.
DWORD swiGetBoardClock ( SWIHD swihd, DWORD clocktype, SWI_QUERY_CLOCK_ARGS *args, unsigned size )
Argument |
Description |
swihd |
|
clocktype |
Specifies the MVIP standard to which clocking on the board applies. Refer to the Details section for acceptable values. |
args |
Pointer to a clock parameter structure for querying the CT bus board clock: typedef struct Refer to the Details section for a description of these fields. |
size |
Specifies the number of bytes contained in the structure. |
Return value |
Description |
SUCCESS |
|
CTAERR_DRIVER_ERROR |
Underlying driver retrieved an unrecognized error. Call swiGetLastError to retrieve the MVIP device error code. |
CTAERR_INVALID_HANDLE |
swihd is not a valid switch handle. |
CTAERR_SVR_COMM |
Communication error in the server environment. |
SWIERR_INVALID_CLOCK_PARM |
Value of a clock configuration parameter is invalid. |
SWIERR_INVALID_PARAMETER |
Board-specific clock parameter value is invalid. |
swiGetBoardClock retrieves information about the configuration of the board clocking and the current status of the clocks for a CT bus board.
H.100/H.110 are supported.
Acceptable values for clocktype are:
MVIP95_STD_CLOCKING
MVIP95_H100_CLOCKING
The clocksource and network fields of the SWI_QUERY_CLOCK_ARGS structure are identical across all board types.
Field |
Description |
---|---|
clocksource |
Origination of the clock reference. Acceptable values are: MVIP95_SOURCE_INTERNAL MVIP95_SOURCE_NETWORK
Additional values for clocksource for H.100/H.110 boards are: MVIP95_SOURCE_H100_A MVIP95_SOURCE_H100_B MVIP95_SOURCE_H100_NETREF MVIP95_SOURCE_H110_NETREF_1 MVIP95_SOURCE_H110_NETREF_2 |
network |
Device source for the MVIP clock signals. Acceptable values for network are 1 to n where n is the number of devices on the specified board capable of being a clock source. A value for network is valid only when clocksource is equal to MVIP95_SOURCE_NETWORK. |
The fields specific to the H.100/H.110 boards are described in the following table:
Field |
Description |
---|---|
clockmode |
Board's control of the H.100/H.110 clocks. Acceptable values are: MVIP95_H100_SLAVE MVIP95_H100_MASTER_A MVIP95_H100_MASTER_B MVIP95_H100_STAND_ALONE |
autofallback |
Whether the board is set to automatically switch to fallback mode and become a slave to the alternate H.100/H.110 clock. Acceptable values are: MVIP95_H100_DISABLE_AUTO_FB MVIP95_H100_ENABLE_AUTO_FB |
fallbackoccurred |
Wand has fallen back to the secondary reference. Acceptable values are: MVIP95_H100_NO_FALLBACK_OCCURRED MVIP95_H100_FALLBACK_OCCURRED |
clockstatus_a |
Quality of the A clock master signal. Acceptable values are: MVIP95_CLOCK_STATUS_GOOD MVIP95_CLOCK_STATUS_BAD MVIP95_CLOCK_STATUS_UNKNOWN |
clockstatus_b |
Quality of the B clock master signal. Acceptable values are: MVIP95_CLOCK_STATUS_GOOD MVIP95_CLOCK_STATUS_BAD MVIP95_CLOCK_STATUS_UNKNOWN |
clockstatus_netref1 |
Quality of the NETREF (H.100) or NETREF_1 (H.110) clock signal. Acceptable values are: MVIP95_CLOCK_STATUS_GOOD MVIP95_CLOCK_STATUS_BAD MVIP95_CLOCK_STATUS_UNKNOWN |
clockstatus_netref2 |
Quality of the NETREF_2 (H.110 only) clock master signal. Acceptable values are: MVIP95_CLOCK_STATUS_GOOD MVIP95_CLOCK_STATUS_BAD MVIP95_CLOCK_STATUS_UNKNOWN |
Refer to Configuring the clocks for more information about querying clocks.
If CTAERR_DRIVER_ERROR is returned, call swiGetLastError to retrieve the MVIP device error code.
swiConfigBoardClock, swiOpenSwitch
void myGetClock (SWIHD swihd)
{
SWI_QUERY_CLOCK_ARGS queryclock;
DWORD clocktype;
unsigned size;
size = sizeof (SWI_QUERY_CLOCK_ARGS);
swiGetBoardClock (swihd, clocktype, &queryclock, size);
}