LibTiePie  0.9.0
Library for interfacing TiePie engineering instruments
Pulse edge time

Description

Functions for controlling the signal edge times of a generator.

A pulse signal has a leading edge and a trailing edge. The duration of these edges can be set individually between a minimum and a maximum value.

PulseDefinition.png

For a positive pulse, the leading edge time is defined as the time it takes for the signal to go from 10% of the pulse height to 90% of the pulse height. And the trailing edge time is defined as the time it takes for the signal to go from 90% of the pulse height to 10% of the pulse height.

For a negative pulse, the leading edge time is defined as the time it takes for the signal to go from 90% of the pulse height to 10% of the pulse height. And the trailing edge time is defined as the time it takes for the signal to go from 10% of the pulse height to 90% of the pulse height.

Controlling the edge times is not available on all instruments and only available for signal type Pulse. Use GenHasEdgeTime() to check whether your instrument and the current signal type of a specified generator support controlling the edge times. Use GenGetLeadingEdgeTimeMin(), GenGetLeadingEdgeTimeMax(), GenGetTrailingEdgeTimeMin() and GenGetTrailingEdgeTimeMax() to get the edge time limits. The minimum and maximum edge times depend on the currently set pulse width and signal frequency (period).

The edge times are defined in seconds.

The leading edge time and trailing edge time can be affected by changing the signal frequency or pulse width.

By default the edge times are set to: 8 ns.

Functions

bool8_t GenHasEdgeTime (LibTiePieHandle_t hDevice)
 Check whether the current signal type of a specified generator supports controlling the edge times. More...
 
double GenGetLeadingEdgeTimeMin (LibTiePieHandle_t hDevice)
 Get the minimum leading edge time with the current pulse width and signal frequency, of a specified generator. More...
 
double GenGetLeadingEdgeTimeMax (LibTiePieHandle_t hDevice)
 Get the maximum leading edge time with the current pulse width and signal frequency, of a specified generator. More...
 
double GenGetLeadingEdgeTime (LibTiePieHandle_t hDevice)
 Get the current leading edge time with the current pulse width and signal frequency, of a specified generator. More...
 
double GenSetLeadingEdgeTime (LibTiePieHandle_t hDevice, double dLeadingEdgeTime)
 Set the leading edge time, of a specified generator. More...
 
double GenGetTrailingEdgeTimeMin (LibTiePieHandle_t hDevice)
 Get the minimum trailing edge time with the current pulse width and signal frequency, of a specified generator. More...
 
double GenGetTrailingEdgeTimeMax (LibTiePieHandle_t hDevice)
 Get the maximum trailing edge time with the current pulse width and signal frequency, of a specified generator. More...
 
double GenGetTrailingEdgeTime (LibTiePieHandle_t hDevice)
 Get the current trailing edge time with the current pulse width and signal frequency, of a specified generator. More...
 
double GenSetTrailingEdgeTime (LibTiePieHandle_t hDevice, double dTrailingEdgeTime)
 Set the trailing edge time, of a specified generator. More...
 

Function Documentation

bool8_t GenHasEdgeTime ( LibTiePieHandle_t  hDevice)

Check whether the current signal type of a specified generator supports controlling the edge times.

Parameters
[in]hDeviceA device handle identifying the generator.
Returns
BOOL8_TRUE if supported, BOOL8_FALSE if not.
Status values
INVALID_HANDLE The handle is not a valid generator handle.
OBJECT_GONE The object indicated by the handle is no longer available.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESS The function executed successfully.
See also
GenGetLeadingEdgeTimeMin
GenGetLeadingEdgeTimeMax
GenGetLeadingEdgeTime
GenSetLeadingEdgeTime
GenGetTrailingEdgeTimeMin
GenGetTrailingEdgeTimeMax
GenGetTrailingEdgeTime
GenSetTrailingEdgeTime
Since
0.6
double GenGetLeadingEdgeTimeMin ( LibTiePieHandle_t  hDevice)

Get the minimum leading edge time with the current pulse width and signal frequency, of a specified generator.

Parameters
[in]hDeviceA device handle identifying the generator.
Returns
The minimum leading edge time in seconds.
Status values
NOT_SUPPORTED The generator does not support edge times for the current signal type.
INVALID_HANDLE The handle is not a valid generator handle.
OBJECT_GONE The object indicated by the handle is no longer available.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESS The function executed successfully.
See also
GenHasEdgeTime
GenGetLeadingEdgeTimeMax
GenGetLeadingEdgeTime
GenSetLeadingEdgeTime
GenGetTrailingEdgeTimeMin
GenGetTrailingEdgeTimeMax
GenGetTrailingEdgeTime
GenSetTrailingEdgeTime
Since
0.6
double GenGetLeadingEdgeTimeMax ( LibTiePieHandle_t  hDevice)

Get the maximum leading edge time with the current pulse width and signal frequency, of a specified generator.

Parameters
[in]hDeviceA device handle identifying the generator.
Returns
The maximum leading edge time in seconds.
Status values
NOT_SUPPORTED The generator does not support edge times for the current signal type.
INVALID_HANDLE The handle is not a valid generator handle.
OBJECT_GONE The object indicated by the handle is no longer available.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESS The function executed successfully.
See also
GenHasEdgeTime
GenGetLeadingEdgeTimeMin
GenGetLeadingEdgeTime
GenSetLeadingEdgeTime
GenGetTrailingEdgeTimeMin
GenGetTrailingEdgeTimeMax
GenGetTrailingEdgeTime
GenSetTrailingEdgeTime
Since
0.6
double GenGetLeadingEdgeTime ( LibTiePieHandle_t  hDevice)

Get the current leading edge time with the current pulse width and signal frequency, of a specified generator.

Parameters
[in]hDeviceA device handle identifying the generator.
Returns
The currently set leading edge time in seconds.
Status values
NOT_SUPPORTED The generator does not support edge times for the current signal type.
INVALID_HANDLE The handle is not a valid generator handle.
OBJECT_GONE The object indicated by the handle is no longer available.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESS The function executed successfully.
See also
GenHasEdgeTime
GenGetLeadingEdgeTimeMin
GenGetLeadingEdgeTimeMax
GenSetLeadingEdgeTime
GenGetTrailingEdgeTimeMin
GenGetTrailingEdgeTimeMax
GenGetTrailingEdgeTime
GenSetTrailingEdgeTime
Since
0.6
double GenSetLeadingEdgeTime ( LibTiePieHandle_t  hDevice,
double  dLeadingEdgeTime 
)

Set the leading edge time, of a specified generator.

Parameters
[in]hDeviceA device handle identifying the generator.
[in]dLeadingEdgeTimeThe requested leading edge time in seconds.
Returns
The actually set leading edge time in seconds.
Remarks
When the generator is active, changing the leading edge time will shortly interrupt the output signal.
Status values
VALUE_CLIPPED The requested edge time is outside the valid range and clipped to the closest limit.
VALUE_MODIFIED The requested edge time is within the valid range but not available. The closest valid value is set.
NOT_SUPPORTED The generator does not support edge times for the current signal type.
NOT_CONTROLLABLE The generator is currently not controllable, see GenIsControllable.
INVALID_HANDLE The handle is not a valid generator handle.
OBJECT_GONE The object indicated by the handle is no longer available.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESS The function executed successfully.
See also
GenHasEdgeTime
GenGetLeadingEdgeTimeMin
GenGetLeadingEdgeTimeMax
GenGetLeadingEdgeTime
GenGetTrailingEdgeTimeMin
GenGetTrailingEdgeTimeMax
GenGetTrailingEdgeTime
GenSetTrailingEdgeTime
Since
0.6
double GenGetTrailingEdgeTimeMin ( LibTiePieHandle_t  hDevice)

Get the minimum trailing edge time with the current pulse width and signal frequency, of a specified generator.

Parameters
[in]hDeviceA device handle identifying the generator.
Returns
The minimum trailing edge time in seconds.
Status values
NOT_SUPPORTED The generator does not support edge times for the current signal type.
INVALID_HANDLE The handle is not a valid generator handle.
OBJECT_GONE The object indicated by the handle is no longer available.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESS The function executed successfully.
See also
GenHasEdgeTime
GenGetLeadingEdgeTimeMin
GenGetLeadingEdgeTimeMax
GenGetLeadingEdgeTime
GenSetLeadingEdgeTime
GenGetTrailingEdgeTimeMax
GenGetTrailingEdgeTime
GenSetTrailingEdgeTime
Since
0.6
double GenGetTrailingEdgeTimeMax ( LibTiePieHandle_t  hDevice)

Get the maximum trailing edge time with the current pulse width and signal frequency, of a specified generator.

Parameters
[in]hDeviceA device handle identifying the generator.
Returns
The maximum trailing edge time in seconds.
Status values
NOT_SUPPORTED The generator does not support edge times for the current signal type.
INVALID_HANDLE The handle is not a valid generator handle.
OBJECT_GONE The object indicated by the handle is no longer available.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESS The function executed successfully.
See also
GenHasEdgeTime
GenGetLeadingEdgeTimeMin
GenGetLeadingEdgeTimeMax
GenGetLeadingEdgeTime
GenSetLeadingEdgeTime
GenGetTrailingEdgeTimeMin
GenGetTrailingEdgeTime
GenSetTrailingEdgeTime
Since
0.6
double GenGetTrailingEdgeTime ( LibTiePieHandle_t  hDevice)

Get the current trailing edge time with the current pulse width and signal frequency, of a specified generator.

Parameters
[in]hDeviceA device handle identifying the generator.
Returns
The currently set trailing edge time in seconds.
Status values
NOT_SUPPORTED The generator does not support edge times for the current signal type.
INVALID_HANDLE The handle is not a valid generator handle.
OBJECT_GONE The object indicated by the handle is no longer available.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESS The function executed successfully.
See also
GenHasEdgeTime
GenGetLeadingEdgeTimeMin
GenGetLeadingEdgeTimeMax
GenGetLeadingEdgeTime
GenSetLeadingEdgeTime
GenGetTrailingEdgeTimeMin
GenGetTrailingEdgeTimeMax
GenSetTrailingEdgeTime
Since
0.6
double GenSetTrailingEdgeTime ( LibTiePieHandle_t  hDevice,
double  dTrailingEdgeTime 
)

Set the trailing edge time, of a specified generator.

Parameters
[in]hDeviceA device handle identifying the generator.
[in]dTrailingEdgeTimeThe requested trailing edge time in seconds.
Returns
The actually set trailing edge time in seconds.
Remarks
When the generator is active, changing the trailing edge time will shortly interrupt the output signal.
Status values
VALUE_CLIPPED The requested edge time is outside the valid range and clipped to the closest limit.
VALUE_MODIFIED The requested edge time is within the valid range but not available. The closest valid value is set.
NOT_SUPPORTED The generator does not support edge times for the current signal type.
NOT_CONTROLLABLE The generator is currently not controllable, see GenIsControllable.
INVALID_HANDLE The handle is not a valid generator handle.
OBJECT_GONE The object indicated by the handle is no longer available.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESS The function executed successfully.
See also
GenHasEdgeTime
GenGetLeadingEdgeTimeMin
GenGetLeadingEdgeTimeMax
GenGetLeadingEdgeTime
GenSetLeadingEdgeTime
GenGetTrailingEdgeTimeMin
GenGetTrailingEdgeTimeMax
GenGetTrailingEdgeTime
Since
0.6