WPILibC++ 2023.4.3
|
Functions | |
HAL_DigitalHandle | HAL_InitializeDIOPort (HAL_PortHandle portHandle, HAL_Bool input, const char *allocationLocation, int32_t *status) |
Creates a new instance of a digital port. More... | |
HAL_Bool | HAL_CheckDIOChannel (int32_t channel) |
Checks if a DIO channel is valid. More... | |
void | HAL_FreeDIOPort (HAL_DigitalHandle dioPortHandle) |
Frees a DIO port. More... | |
void | HAL_SetDIOSimDevice (HAL_DigitalHandle handle, HAL_SimDeviceHandle device) |
Indicates the DIO channel is used by a simulated device. More... | |
HAL_DigitalPWMHandle | HAL_AllocateDigitalPWM (int32_t *status) |
Allocates a DO PWM Generator. More... | |
void | HAL_FreeDigitalPWM (HAL_DigitalPWMHandle pwmGenerator, int32_t *status) |
Frees the resource associated with a DO PWM generator. More... | |
void | HAL_SetDigitalPWMRate (double rate, int32_t *status) |
Changes the frequency of the DO PWM generator. More... | |
void | HAL_SetDigitalPWMDutyCycle (HAL_DigitalPWMHandle pwmGenerator, double dutyCycle, int32_t *status) |
Configures the duty-cycle of the PWM generator. More... | |
void | HAL_SetDigitalPWMPPS (HAL_DigitalPWMHandle pwmGenerator, double dutyCycle, int32_t *status) |
Configures the digital PWM to be a PPS signal with specified duty cycle. More... | |
void | HAL_SetDigitalPWMOutputChannel (HAL_DigitalPWMHandle pwmGenerator, int32_t channel, int32_t *status) |
Configures which DO channel the PWM signal is output on. More... | |
void | HAL_SetDIO (HAL_DigitalHandle dioPortHandle, HAL_Bool value, int32_t *status) |
Writes a digital value to a DIO channel. More... | |
void | HAL_SetDIODirection (HAL_DigitalHandle dioPortHandle, HAL_Bool input, int32_t *status) |
Sets the direction of a DIO channel. More... | |
HAL_Bool | HAL_GetDIO (HAL_DigitalHandle dioPortHandle, int32_t *status) |
Reads a digital value from a DIO channel. More... | |
HAL_Bool | HAL_GetDIODirection (HAL_DigitalHandle dioPortHandle, int32_t *status) |
Reads the direction of a DIO channel. More... | |
void | HAL_Pulse (HAL_DigitalHandle dioPortHandle, double pulseLengthSeconds, int32_t *status) |
Generates a single digital pulse. More... | |
void | HAL_PulseMultiple (uint32_t channelMask, double pulseLengthSeconds, int32_t *status) |
Generates a single digital pulse on multiple channels. More... | |
HAL_Bool | HAL_IsPulsing (HAL_DigitalHandle dioPortHandle, int32_t *status) |
Checks a DIO line to see if it is currently generating a pulse. More... | |
HAL_Bool | HAL_IsAnyPulsing (int32_t *status) |
Checks if any DIO line is currently generating a pulse. More... | |
void | HAL_SetFilterSelect (HAL_DigitalHandle dioPortHandle, int32_t filterIndex, int32_t *status) |
Writes the filter index from the FPGA. More... | |
int32_t | HAL_GetFilterSelect (HAL_DigitalHandle dioPortHandle, int32_t *status) |
Reads the filter index from the FPGA. More... | |
void | HAL_SetFilterPeriod (int32_t filterIndex, int64_t value, int32_t *status) |
Sets the filter period for the specified filter index. More... | |
int64_t | HAL_GetFilterPeriod (int32_t filterIndex, int32_t *status) |
Gets the filter period for the specified filter index. More... | |
HAL_DigitalPWMHandle HAL_AllocateDigitalPWM | ( | int32_t * | status | ) |
Allocates a DO PWM Generator.
[out] | status | Error status variable. 0 on success. |
HAL_Bool HAL_CheckDIOChannel | ( | int32_t | channel | ) |
Checks if a DIO channel is valid.
channel | the channel number to check |
void HAL_FreeDigitalPWM | ( | HAL_DigitalPWMHandle | pwmGenerator, |
int32_t * | status | ||
) |
Frees the resource associated with a DO PWM generator.
[in] | pwmGenerator | the digital PWM handle |
[out] | status | Error status variable. 0 on success. |
void HAL_FreeDIOPort | ( | HAL_DigitalHandle | dioPortHandle | ) |
Frees a DIO port.
dioPortHandle | the DIO channel handle |
HAL_Bool HAL_GetDIO | ( | HAL_DigitalHandle | dioPortHandle, |
int32_t * | status | ||
) |
Reads a digital value from a DIO channel.
[in] | dioPortHandle | the digital port handle |
[out] | status | Error status variable. 0 on success. |
HAL_Bool HAL_GetDIODirection | ( | HAL_DigitalHandle | dioPortHandle, |
int32_t * | status | ||
) |
Reads the direction of a DIO channel.
[in] | dioPortHandle | the digital port handle |
[out] | status | Error status variable. 0 on success. |
int64_t HAL_GetFilterPeriod | ( | int32_t | filterIndex, |
int32_t * | status | ||
) |
Gets the filter period for the specified filter index.
Gets the filter period in FPGA cycles. Even though there are 2 different filter index domains (MXP vs HDR), ignore that distinction for now since it compilicates the interface. Set status to NiFpga_Status_SoftwareFault if the filter values miss-match.
[in] | filterIndex | the filter index, 0 - 2 |
[out] | status | Error status variable. 0 on success. |
int32_t HAL_GetFilterSelect | ( | HAL_DigitalHandle | dioPortHandle, |
int32_t * | status | ||
) |
Reads the filter index from the FPGA.
Gets the filter index used to filter out short pulses.
[in] | dioPortHandle | the digital port handle |
[out] | status | Error status variable. 0 on success. |
HAL_DigitalHandle HAL_InitializeDIOPort | ( | HAL_PortHandle | portHandle, |
HAL_Bool | input, | ||
const char * | allocationLocation, | ||
int32_t * | status | ||
) |
Creates a new instance of a digital port.
[in] | portHandle | the port handle to create from |
[in] | input | true for input, false for output |
[in] | allocationLocation | the location where the allocation is occurring (can be null) |
[out] | status | Error status variable. 0 on success. |
HAL_Bool HAL_IsAnyPulsing | ( | int32_t * | status | ) |
Checks if any DIO line is currently generating a pulse.
[out] | status | Error status variable. 0 on success. |
HAL_Bool HAL_IsPulsing | ( | HAL_DigitalHandle | dioPortHandle, |
int32_t * | status | ||
) |
Checks a DIO line to see if it is currently generating a pulse.
[in] | dioPortHandle | the digital port handle |
[out] | status | Error status variable. 0 on success. |
void HAL_Pulse | ( | HAL_DigitalHandle | dioPortHandle, |
double | pulseLengthSeconds, | ||
int32_t * | status | ||
) |
Generates a single digital pulse.
Write a pulse to the specified digital output channel. There can only be a single pulse going at any time.
[in] | dioPortHandle | the digital port handle |
[in] | pulseLengthSeconds | the active length of the pulse (in seconds) |
[out] | status | Error status variable. 0 on success. |
void HAL_PulseMultiple | ( | uint32_t | channelMask, |
double | pulseLengthSeconds, | ||
int32_t * | status | ||
) |
Generates a single digital pulse on multiple channels.
Write a pulse to the channels enabled by the mask. There can only be a single pulse going at any time.
[in] | channelMask | the channel mask |
[in] | pulseLengthSeconds | the active length of the pulse (in seconds) |
[out] | status | Error status variable. 0 on success. |
void HAL_SetDigitalPWMDutyCycle | ( | HAL_DigitalPWMHandle | pwmGenerator, |
double | dutyCycle, | ||
int32_t * | status | ||
) |
Configures the duty-cycle of the PWM generator.
[in] | pwmGenerator | the digital PWM handle |
[in] | dutyCycle | the percent duty cycle to output [0..1] |
[out] | status | Error status variable. 0 on success. |
void HAL_SetDigitalPWMOutputChannel | ( | HAL_DigitalPWMHandle | pwmGenerator, |
int32_t | channel, | ||
int32_t * | status | ||
) |
Configures which DO channel the PWM signal is output on.
[in] | pwmGenerator | the digital PWM handle |
[in] | channel | the channel to output on |
[out] | status | Error status variable. 0 on success. |
void HAL_SetDigitalPWMPPS | ( | HAL_DigitalPWMHandle | pwmGenerator, |
double | dutyCycle, | ||
int32_t * | status | ||
) |
Configures the digital PWM to be a PPS signal with specified duty cycle.
[in] | pwmGenerator | the digital PWM handle |
[in] | dutyCycle | the percent duty cycle to output [0..1] |
[out] | status | Error status variable. 0 on success. |
void HAL_SetDigitalPWMRate | ( | double | rate, |
int32_t * | status | ||
) |
Changes the frequency of the DO PWM generator.
The valid range is from 0.6 Hz to 19 kHz.
The frequency resolution is logarithmic.
[in] | rate | the frequency to output all digital output PWM signals |
[out] | status | Error status variable. 0 on success. |
void HAL_SetDIO | ( | HAL_DigitalHandle | dioPortHandle, |
HAL_Bool | value, | ||
int32_t * | status | ||
) |
Writes a digital value to a DIO channel.
[in] | dioPortHandle | the digital port handle |
[in] | value | the state to set the digital channel (if it is configured as an output) |
[out] | status | Error status variable. 0 on success. |
void HAL_SetDIODirection | ( | HAL_DigitalHandle | dioPortHandle, |
HAL_Bool | input, | ||
int32_t * | status | ||
) |
Sets the direction of a DIO channel.
[in] | dioPortHandle | the digital port handle |
[in] | input | true to set input, false for output |
[out] | status | Error status variable. 0 on success. |
void HAL_SetDIOSimDevice | ( | HAL_DigitalHandle | handle, |
HAL_SimDeviceHandle | device | ||
) |
Indicates the DIO channel is used by a simulated device.
handle | the DIO channel handle |
device | simulated device handle |
void HAL_SetFilterPeriod | ( | int32_t | filterIndex, |
int64_t | value, | ||
int32_t * | status | ||
) |
Sets the filter period for the specified filter index.
Sets the filter period in FPGA cycles. Even though there are 2 different filter index domains (MXP vs HDR), ignore that distinction for now since it compilicates the interface. That can be changed later.
[in] | filterIndex | the filter index, 0 - 2 |
[in] | value | the number of cycles that the signal must not transition to be counted as a transition. |
[out] | status | Error status variable. 0 on success. |
void HAL_SetFilterSelect | ( | HAL_DigitalHandle | dioPortHandle, |
int32_t | filterIndex, | ||
int32_t * | status | ||
) |
Writes the filter index from the FPGA.
Set the filter index used to filter out short pulses.
[in] | dioPortHandle | the digital port handle |
[in] | filterIndex | the filter index (Must be in the range 0 - 3, where 0 means "none" and 1 - 3 means filter # filterIndex
|
[out] | status | Error status variable. 0 on success. |