WPILibC++ 2023.4.3
|
Functions | |
HAL_DigitalHandle | HAL_InitializePWMPort (HAL_PortHandle portHandle, const char *allocationLocation, int32_t *status) |
Initializes a PWM port. More... | |
void | HAL_FreePWMPort (HAL_DigitalHandle pwmPortHandle, int32_t *status) |
Frees a PWM port. More... | |
HAL_Bool | HAL_CheckPWMChannel (int32_t channel) |
Checks if a pwm channel is valid. More... | |
void | HAL_SetPWMConfig (HAL_DigitalHandle pwmPortHandle, double maxPwm, double deadbandMaxPwm, double centerPwm, double deadbandMinPwm, double minPwm, int32_t *status) |
Sets the configuration settings for the PWM channel. More... | |
void | HAL_SetPWMConfigRaw (HAL_DigitalHandle pwmPortHandle, int32_t maxPwm, int32_t deadbandMaxPwm, int32_t centerPwm, int32_t deadbandMinPwm, int32_t minPwm, int32_t *status) |
Sets the raw configuration settings for the PWM channel. More... | |
void | HAL_GetPWMConfigRaw (HAL_DigitalHandle pwmPortHandle, int32_t *maxPwm, int32_t *deadbandMaxPwm, int32_t *centerPwm, int32_t *deadbandMinPwm, int32_t *minPwm, int32_t *status) |
Gets the raw pwm configuration settings for the PWM channel. More... | |
void | HAL_SetPWMEliminateDeadband (HAL_DigitalHandle pwmPortHandle, HAL_Bool eliminateDeadband, int32_t *status) |
Sets if the FPGA should output the center value if the input value is within the deadband. More... | |
HAL_Bool | HAL_GetPWMEliminateDeadband (HAL_DigitalHandle pwmPortHandle, int32_t *status) |
Gets the current eliminate deadband value. More... | |
void | HAL_SetPWMRaw (HAL_DigitalHandle pwmPortHandle, int32_t value, int32_t *status) |
Sets a PWM channel to the desired value. More... | |
void | HAL_SetPWMSpeed (HAL_DigitalHandle pwmPortHandle, double speed, int32_t *status) |
Sets a PWM channel to the desired scaled value. More... | |
void | HAL_SetPWMPosition (HAL_DigitalHandle pwmPortHandle, double position, int32_t *status) |
Sets a PWM channel to the desired position value. More... | |
void | HAL_SetPWMDisabled (HAL_DigitalHandle pwmPortHandle, int32_t *status) |
Sets a PWM channel to be disabled. More... | |
int32_t | HAL_GetPWMRaw (HAL_DigitalHandle pwmPortHandle, int32_t *status) |
Gets a value from a PWM channel. More... | |
double | HAL_GetPWMSpeed (HAL_DigitalHandle pwmPortHandle, int32_t *status) |
Gets a scaled value from a PWM channel. More... | |
double | HAL_GetPWMPosition (HAL_DigitalHandle pwmPortHandle, int32_t *status) |
Gets a position value from a PWM channel. More... | |
void | HAL_LatchPWMZero (HAL_DigitalHandle pwmPortHandle, int32_t *status) |
Forces a PWM signal to go to 0 temporarily. More... | |
void | HAL_SetPWMPeriodScale (HAL_DigitalHandle pwmPortHandle, int32_t squelchMask, int32_t *status) |
Sets how how often the PWM signal is squelched, thus scaling the period. More... | |
int32_t | HAL_GetPWMLoopTiming (int32_t *status) |
Gets the loop timing of the PWM system. More... | |
uint64_t | HAL_GetPWMCycleStartTime (int32_t *status) |
Gets the pwm starting cycle time. More... | |
HAL_Bool HAL_CheckPWMChannel | ( | int32_t | channel | ) |
Checks if a pwm channel is valid.
channel | the channel to check |
void HAL_FreePWMPort | ( | HAL_DigitalHandle | pwmPortHandle, |
int32_t * | status | ||
) |
Frees a PWM port.
[in] | pwmPortHandle | the pwm handle |
[out] | status | Error status variable. 0 on success. |
void HAL_GetPWMConfigRaw | ( | HAL_DigitalHandle | pwmPortHandle, |
int32_t * | maxPwm, | ||
int32_t * | deadbandMaxPwm, | ||
int32_t * | centerPwm, | ||
int32_t * | deadbandMinPwm, | ||
int32_t * | minPwm, | ||
int32_t * | status | ||
) |
Gets the raw pwm configuration settings for the PWM channel.
Values are in raw FPGA units. These units have the potential to change for any FPGA release.
[in] | pwmPortHandle | the PWM handle |
[in] | maxPwm | the maximum PWM value |
[in] | deadbandMaxPwm | the high range of the center deadband |
[in] | centerPwm | the center PWM value |
[in] | deadbandMinPwm | the low range of the center deadband |
[in] | minPwm | the minimum PWM value |
[out] | status | Error status variable. 0 on success. |
uint64_t HAL_GetPWMCycleStartTime | ( | int32_t * | status | ) |
Gets the pwm starting cycle time.
This time is relative to the FPGA time.
[out] | status | Error status variable. 0 on success. |
HAL_Bool HAL_GetPWMEliminateDeadband | ( | HAL_DigitalHandle | pwmPortHandle, |
int32_t * | status | ||
) |
Gets the current eliminate deadband value.
[in] | pwmPortHandle | the PWM handle |
[out] | status | Error status variable. 0 on success. |
int32_t HAL_GetPWMLoopTiming | ( | int32_t * | status | ) |
Gets the loop timing of the PWM system.
[out] | status | Error status variable. 0 on success. |
double HAL_GetPWMPosition | ( | HAL_DigitalHandle | pwmPortHandle, |
int32_t * | status | ||
) |
Gets a position value from a PWM channel.
The values range from 0 to 1.
[in] | pwmPortHandle | the PWM handle |
[out] | status | Error status variable. 0 on success. |
int32_t HAL_GetPWMRaw | ( | HAL_DigitalHandle | pwmPortHandle, |
int32_t * | status | ||
) |
Gets a value from a PWM channel.
The values are in raw FPGA units, and have the potential to change with any FPGA release.
[in] | pwmPortHandle | the PWM handle |
[out] | status | Error status variable. 0 on success. |
double HAL_GetPWMSpeed | ( | HAL_DigitalHandle | pwmPortHandle, |
int32_t * | status | ||
) |
Gets a scaled value from a PWM channel.
The values range from -1 to 1.
[in] | pwmPortHandle | the PWM handle |
[out] | status | Error status variable. 0 on success. |
HAL_DigitalHandle HAL_InitializePWMPort | ( | HAL_PortHandle | portHandle, |
const char * | allocationLocation, | ||
int32_t * | status | ||
) |
Initializes a PWM port.
[in] | portHandle | the port to initialize |
[in] | allocationLocation | the location where the allocation is occurring (can be null) |
[out] | status | Error status variable. 0 on success. |
void HAL_LatchPWMZero | ( | HAL_DigitalHandle | pwmPortHandle, |
int32_t * | status | ||
) |
Forces a PWM signal to go to 0 temporarily.
[in] | pwmPortHandle | the PWM handle. |
[out] | status | Error status variable. 0 on success. |
void HAL_SetPWMConfig | ( | HAL_DigitalHandle | pwmPortHandle, |
double | maxPwm, | ||
double | deadbandMaxPwm, | ||
double | centerPwm, | ||
double | deadbandMinPwm, | ||
double | minPwm, | ||
int32_t * | status | ||
) |
Sets the configuration settings for the PWM channel.
All values are in milliseconds.
[in] | pwmPortHandle | the PWM handle |
[in] | maxPwm | the maximum PWM value |
[in] | deadbandMaxPwm | the high range of the center deadband |
[in] | centerPwm | the center PWM value |
[in] | deadbandMinPwm | the low range of the center deadband |
[in] | minPwm | the minimum PWM value |
[out] | status | Error status variable. 0 on success. |
void HAL_SetPWMConfigRaw | ( | HAL_DigitalHandle | pwmPortHandle, |
int32_t | maxPwm, | ||
int32_t | deadbandMaxPwm, | ||
int32_t | centerPwm, | ||
int32_t | deadbandMinPwm, | ||
int32_t | minPwm, | ||
int32_t * | status | ||
) |
Sets the raw configuration settings for the PWM channel.
We recommend using HAL_SetPWMConfig() instead, as those values are properly scaled. Usually used for values grabbed by HAL_GetPWMConfigRaw().
Values are in raw FPGA units.
[in] | pwmPortHandle | the PWM handle |
[in] | maxPwm | the maximum PWM value |
[in] | deadbandMaxPwm | the high range of the center deadband |
[in] | centerPwm | the center PWM value |
[in] | deadbandMinPwm | the low range of the center deadband |
[in] | minPwm | the minimum PWM value |
[out] | status | Error status variable. 0 on success. |
void HAL_SetPWMDisabled | ( | HAL_DigitalHandle | pwmPortHandle, |
int32_t * | status | ||
) |
Sets a PWM channel to be disabled.
The channel is disabled until the next time it is set. Note this is different from just setting a 0 speed, as this will actively stop all signaling on the channel.
[in] | pwmPortHandle | the PWM handle. |
[out] | status | Error status variable. 0 on success. |
void HAL_SetPWMEliminateDeadband | ( | HAL_DigitalHandle | pwmPortHandle, |
HAL_Bool | eliminateDeadband, | ||
int32_t * | status | ||
) |
Sets if the FPGA should output the center value if the input value is within the deadband.
[in] | pwmPortHandle | the PWM handle |
[in] | eliminateDeadband | true to eliminate deadband, otherwise false |
[out] | status | Error status variable. 0 on success. |
void HAL_SetPWMPeriodScale | ( | HAL_DigitalHandle | pwmPortHandle, |
int32_t | squelchMask, | ||
int32_t * | status | ||
) |
Sets how how often the PWM signal is squelched, thus scaling the period.
[in] | pwmPortHandle | the PWM handle. |
[in] | squelchMask | the 2-bit mask of outputs to squelch |
[out] | status | Error status variable. 0 on success. |
void HAL_SetPWMPosition | ( | HAL_DigitalHandle | pwmPortHandle, |
double | position, | ||
int32_t * | status | ||
) |
Sets a PWM channel to the desired position value.
The values range from 0 to 1 and the period is controlled by the PWM Period and MinHigh registers.
[in] | pwmPortHandle | the PWM handle |
[in] | position | the positional PWM value to set |
[out] | status | Error status variable. 0 on success. |
void HAL_SetPWMRaw | ( | HAL_DigitalHandle | pwmPortHandle, |
int32_t | value, | ||
int32_t * | status | ||
) |
Sets a PWM channel to the desired value.
The values are in raw FPGA units, and have the potential to change with any FPGA release.
[in] | pwmPortHandle | the PWM handle |
[in] | value | the PWM value to set |
[out] | status | Error status variable. 0 on success. |
void HAL_SetPWMSpeed | ( | HAL_DigitalHandle | pwmPortHandle, |
double | speed, | ||
int32_t * | status | ||
) |
Sets a PWM channel to the desired scaled value.
The values range from -1 to 1 and the period is controlled by the PWM Period and MinHigh registers.
[in] | pwmPortHandle | the PWM handle |
[in] | speed | the scaled PWM value to set |
[out] | status | Error status variable. 0 on success. |