Files
allwpilib/hal/include/HAL/DIO.h
Thad House 6d9b3b0aaa Splits HAL Digital and Analog Headers into multiple headers (#52)
The Digital and Analog headers (and the implementations, but that will
be moved over later) are just too big and congested. This splits those
headers, and then changes the few things that needed to be changed in
WPILib to get the code working again. No function changes were made in
this commit.
2016-05-24 00:58:10 -07:00

30 lines
1.2 KiB
C

#pragma once
#include <stdint.h>
extern "C" {
void* initializeDigitalPort(void* port_pointer, int32_t* status);
void freeDigitalPort(void* digital_port_pointer);
void* allocatePWM(int32_t* status);
void freePWM(void* pwmGenerator, int32_t* status);
void setPWMRate(double rate, int32_t* status);
void setPWMDutyCycle(void* pwmGenerator, double dutyCycle, int32_t* status);
void setPWMOutputChannel(void* pwmGenerator, uint32_t pin, int32_t* status);
bool allocateDIO(void* digital_port_pointer, bool input, int32_t* status);
void freeDIO(void* digital_port_pointer, int32_t* status);
void setDIO(void* digital_port_pointer, short value, int32_t* status);
bool getDIO(void* digital_port_pointer, int32_t* status);
bool getDIODirection(void* digital_port_pointer, int32_t* status);
void pulse(void* digital_port_pointer, double pulseLength, int32_t* status);
bool isPulsing(void* digital_port_pointer, int32_t* status);
bool isAnyPulsing(int32_t* status);
void setFilterSelect(void* digital_port_pointer, int filter_index,
int32_t* status);
int getFilterSelect(void* digital_port_pointer, int32_t* status);
void setFilterPeriod(int filter_index, uint32_t value, int32_t* status);
uint32_t getFilterPeriod(int filter_index, int32_t* status);
}