WPILibC++  unspecified
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
PWM.h
1 /*----------------------------------------------------------------------------*/
2 /* Copyright (c) FIRST 2016-2017. All Rights Reserved. */
3 /* Open Source Software - may be modified and shared by FRC teams. The code */
4 /* must be accompanied by the FIRST BSD license file in the root directory of */
5 /* the project. */
6 /*----------------------------------------------------------------------------*/
7 
8 #pragma once
9 
10 #include <stdint.h>
11 
12 #include "HAL/Types.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 HAL_DigitalHandle HAL_InitializePWMPort(HAL_PortHandle portHandle,
19  int32_t* status);
20 void HAL_FreePWMPort(HAL_DigitalHandle pwmPortHandle, int32_t* status);
21 
22 HAL_Bool HAL_CheckPWMChannel(int32_t channel);
23 
24 void HAL_SetPWMConfig(HAL_DigitalHandle pwmPortHandle, double maxPwm,
25  double deadbandMaxPwm, double centerPwm,
26  double deadbandMinPwm, double minPwm, int32_t* status);
27 void HAL_SetPWMConfigRaw(HAL_DigitalHandle pwmPortHandle, int32_t maxPwm,
28  int32_t deadbandMaxPwm, int32_t centerPwm,
29  int32_t deadbandMinPwm, int32_t minPwm,
30  int32_t* status);
31 void HAL_GetPWMConfigRaw(HAL_DigitalHandle pwmPortHandle, int32_t* maxPwm,
32  int32_t* deadbandMaxPwm, int32_t* centerPwm,
33  int32_t* deadbandMinPwm, int32_t* minPwm,
34  int32_t* status);
35 void HAL_SetPWMEliminateDeadband(HAL_DigitalHandle pwmPortHandle,
36  HAL_Bool eliminateDeadband, int32_t* status);
37 HAL_Bool HAL_GetPWMEliminateDeadband(HAL_DigitalHandle pwmPortHandle,
38  int32_t* status);
39 void HAL_SetPWMRaw(HAL_DigitalHandle pwmPortHandle, int32_t value,
40  int32_t* status);
41 void HAL_SetPWMSpeed(HAL_DigitalHandle pwmPortHandle, double speed,
42  int32_t* status);
43 void HAL_SetPWMPosition(HAL_DigitalHandle pwmPortHandle, double position,
44  int32_t* status);
45 void HAL_SetPWMDisabled(HAL_DigitalHandle pwmPortHandle, int32_t* status);
46 int32_t HAL_GetPWMRaw(HAL_DigitalHandle pwmPortHandle, int32_t* status);
47 double HAL_GetPWMSpeed(HAL_DigitalHandle pwmPortHandle, int32_t* status);
48 double HAL_GetPWMPosition(HAL_DigitalHandle pwmPortHandle, int32_t* status);
49 void HAL_LatchPWMZero(HAL_DigitalHandle pwmPortHandle, int32_t* status);
50 void HAL_SetPWMPeriodScale(HAL_DigitalHandle pwmPortHandle, int32_t squelchMask,
51  int32_t* status);
52 int32_t HAL_GetLoopTiming(int32_t* status);
53 #ifdef __cplusplus
54 }
55 #endif