12 #include "hal/Types.h"
24 HAL_DigitalHandle HAL_InitializePWMPort(HAL_PortHandle portHandle,
32 void HAL_FreePWMPort(HAL_DigitalHandle pwmPortHandle, int32_t* status);
40 HAL_Bool HAL_CheckPWMChannel(int32_t channel);
54 void HAL_SetPWMConfig(HAL_DigitalHandle pwmPortHandle,
double maxPwm,
55 double deadbandMaxPwm,
double centerPwm,
56 double deadbandMinPwm,
double minPwm, int32_t* status);
73 void HAL_SetPWMConfigRaw(HAL_DigitalHandle pwmPortHandle, int32_t maxPwm,
74 int32_t deadbandMaxPwm, int32_t centerPwm,
75 int32_t deadbandMinPwm, int32_t minPwm,
91 void HAL_GetPWMConfigRaw(HAL_DigitalHandle pwmPortHandle, int32_t* maxPwm,
92 int32_t* deadbandMaxPwm, int32_t* centerPwm,
93 int32_t* deadbandMinPwm, int32_t* minPwm,
103 void HAL_SetPWMEliminateDeadband(HAL_DigitalHandle pwmPortHandle,
104 HAL_Bool eliminateDeadband, int32_t* status);
112 HAL_Bool HAL_GetPWMEliminateDeadband(HAL_DigitalHandle pwmPortHandle,
124 void HAL_SetPWMRaw(HAL_DigitalHandle pwmPortHandle, int32_t value,
136 void HAL_SetPWMSpeed(HAL_DigitalHandle pwmPortHandle,
double speed,
148 void HAL_SetPWMPosition(HAL_DigitalHandle pwmPortHandle,
double position,
160 void HAL_SetPWMDisabled(HAL_DigitalHandle pwmPortHandle, int32_t* status);
171 int32_t HAL_GetPWMRaw(HAL_DigitalHandle pwmPortHandle, int32_t* status);
181 double HAL_GetPWMSpeed(HAL_DigitalHandle pwmPortHandle, int32_t* status);
191 double HAL_GetPWMPosition(HAL_DigitalHandle pwmPortHandle, int32_t* status);
198 void HAL_LatchPWMZero(HAL_DigitalHandle pwmPortHandle, int32_t* status);
206 void HAL_SetPWMPeriodScale(HAL_DigitalHandle pwmPortHandle, int32_t squelchMask,
214 int32_t HAL_GetPWMLoopTiming(int32_t* status);
223 uint64_t HAL_GetPWMCycleStartTime(int32_t* status);