2016-05-25 20:23:37 -07:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
/* Copyright (c) FIRST 2016. All Rights Reserved. */
|
|
|
|
|
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
|
|
|
|
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
|
|
|
|
/* the project. */
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
2016-05-24 00:58:10 -07:00
|
|
|
#pragma once
|
2016-05-25 22:38:11 -07:00
|
|
|
|
2016-05-24 00:58:10 -07:00
|
|
|
#include <stdint.h>
|
|
|
|
|
|
2016-06-30 21:39:09 -07:00
|
|
|
#include "HAL/Handles.h"
|
|
|
|
|
|
2016-05-24 00:58:10 -07:00
|
|
|
extern "C" {
|
2016-06-30 21:39:09 -07:00
|
|
|
HalDigitalHandle initializePWMPort(HalPortHandle port_handle, int32_t* status);
|
|
|
|
|
void freePWMPort(HalDigitalHandle pwm_port_handle, int32_t* status);
|
|
|
|
|
|
|
|
|
|
bool checkPWMChannel(uint8_t pin);
|
2016-05-24 00:58:10 -07:00
|
|
|
|
2016-06-30 21:39:09 -07:00
|
|
|
void setPWM(HalDigitalHandle pwm_port_handle, unsigned short value,
|
|
|
|
|
int32_t* status);
|
|
|
|
|
unsigned short getPWM(HalDigitalHandle pwm_port_handle, int32_t* status);
|
|
|
|
|
void latchPWMZero(HalDigitalHandle pwm_port_handle, int32_t* status);
|
|
|
|
|
void setPWMPeriodScale(HalDigitalHandle pwm_port_handle, uint32_t squelchMask,
|
2016-05-24 00:58:10 -07:00
|
|
|
int32_t* status);
|
|
|
|
|
uint16_t getLoopTiming(int32_t* status);
|
|
|
|
|
}
|