[wpilibc] Add missing PPS implementation for C++ (#4821)

This commit is contained in:
Thad House
2022-12-15 09:28:42 -08:00
committed by GitHub
parent aae0f52ca6
commit bf7068ac27

View File

@@ -95,6 +95,23 @@ void DigitalOutput::SetPWMRate(double rate) {
FRC_CheckErrorStatus(status, "Channel {}", m_channel);
}
void DigitalOutput::EnablePPS(double dutyCycle) {
if (m_pwmGenerator != HAL_kInvalidHandle) {
return;
}
int32_t status = 0;
m_pwmGenerator = HAL_AllocateDigitalPWM(&status);
FRC_CheckErrorStatus(status, "Channel {}", m_channel);
HAL_SetDigitalPWMPPS(m_pwmGenerator, dutyCycle, &status);
FRC_CheckErrorStatus(status, "Channel {}", m_channel);
HAL_SetDigitalPWMOutputChannel(m_pwmGenerator, m_channel, &status);
FRC_CheckErrorStatus(status, "Channel {}", m_channel);
}
void DigitalOutput::EnablePWM(double initialDutyCycle) {
if (m_pwmGenerator != HAL_kInvalidHandle) {
return;