WPILibC++ 2025.2.1
Loading...
Searching...
No Matches
DutyCycle Functions

Functions

HAL_DutyCycleHandle HAL_InitializeDutyCycle (HAL_Handle digitalSourceHandle, HAL_AnalogTriggerType triggerType, int32_t *status)
 Initialize a DutyCycle input.
 
void HAL_FreeDutyCycle (HAL_DutyCycleHandle dutyCycleHandle)
 Free a DutyCycle.
 
void HAL_SetDutyCycleSimDevice (HAL_DutyCycleHandle handle, HAL_SimDeviceHandle device)
 Indicates the duty cycle is used by a simulated device.
 
int32_t HAL_GetDutyCycleFrequency (HAL_DutyCycleHandle dutyCycleHandle, int32_t *status)
 Get the frequency of the duty cycle signal.
 
double HAL_GetDutyCycleOutput (HAL_DutyCycleHandle dutyCycleHandle, int32_t *status)
 Get the output ratio of the duty cycle signal.
 
int32_t HAL_GetDutyCycleHighTime (HAL_DutyCycleHandle dutyCycleHandle, int32_t *status)
 Get the raw high time of the duty cycle signal.
 
int32_t HAL_GetDutyCycleOutputScaleFactor (HAL_DutyCycleHandle dutyCycleHandle, int32_t *status)
 Get the scale factor of the output.
 
int32_t HAL_GetDutyCycleFPGAIndex (HAL_DutyCycleHandle dutyCycleHandle, int32_t *status)
 Get the FPGA index for the DutyCycle.
 

Detailed Description

Function Documentation

◆ HAL_FreeDutyCycle()

void HAL_FreeDutyCycle ( HAL_DutyCycleHandle dutyCycleHandle)

Free a DutyCycle.

Parameters
dutyCycleHandlethe duty cycle handle

◆ HAL_GetDutyCycleFPGAIndex()

int32_t HAL_GetDutyCycleFPGAIndex ( HAL_DutyCycleHandle dutyCycleHandle,
int32_t * status )

Get the FPGA index for the DutyCycle.

Parameters
[in]dutyCycleHandlethe duty cycle handle
[out]statusError status variable. 0 on success.
Returns
the FPGA index

◆ HAL_GetDutyCycleFrequency()

int32_t HAL_GetDutyCycleFrequency ( HAL_DutyCycleHandle dutyCycleHandle,
int32_t * status )

Get the frequency of the duty cycle signal.

Parameters
[in]dutyCycleHandlethe duty cycle handle
[out]statusError status variable. 0 on success.
Returns
frequency in Hertz

◆ HAL_GetDutyCycleHighTime()

int32_t HAL_GetDutyCycleHighTime ( HAL_DutyCycleHandle dutyCycleHandle,
int32_t * status )

Get the raw high time of the duty cycle signal.

Parameters
[in]dutyCycleHandlethe duty cycle handle
[out]statusError status variable. 0 on success.
Returns
high time of last pulse in nanoseconds

◆ HAL_GetDutyCycleOutput()

double HAL_GetDutyCycleOutput ( HAL_DutyCycleHandle dutyCycleHandle,
int32_t * status )

Get the output ratio of the duty cycle signal.

0 means always low, 1 means always high.

Parameters
[in]dutyCycleHandlethe duty cycle handle
[out]statusError status variable. 0 on success.
Returns
output ratio between 0 and 1

◆ HAL_GetDutyCycleOutputScaleFactor()

int32_t HAL_GetDutyCycleOutputScaleFactor ( HAL_DutyCycleHandle dutyCycleHandle,
int32_t * status )

Get the scale factor of the output.

An output equal to this value is always high, and then linearly scales down to 0. Divide a raw result by this in order to get the percentage between 0 and 1. Used by DMA.

Parameters
[in]dutyCycleHandlethe duty cycle handle
[out]statusError status variable. 0 on success.
Returns
the output scale factor

◆ HAL_InitializeDutyCycle()

HAL_DutyCycleHandle HAL_InitializeDutyCycle ( HAL_Handle digitalSourceHandle,
HAL_AnalogTriggerType triggerType,
int32_t * status )

Initialize a DutyCycle input.

Parameters
[in]digitalSourceHandlethe digital source to use (either a HAL_DigitalHandle or a HAL_AnalogTriggerHandle)
[in]triggerTypethe analog trigger type of the source if it is an analog trigger
[out]statusError status variable. 0 on success.
Returns
the created duty cycle handle

◆ HAL_SetDutyCycleSimDevice()

void HAL_SetDutyCycleSimDevice ( HAL_DutyCycleHandle handle,
HAL_SimDeviceHandle device )

Indicates the duty cycle is used by a simulated device.

Parameters
handlethe duty cycle handle
devicesimulated device handle