mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
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.
47 lines
2.2 KiB
C
47 lines
2.2 KiB
C
#pragma once
|
|
#include <stdint.h>
|
|
|
|
enum Mode {
|
|
kTwoPulse = 0,
|
|
kSemiperiod = 1,
|
|
kPulseLength = 2,
|
|
kExternalDirection = 3
|
|
};
|
|
|
|
extern "C" {
|
|
void* initializeCounter(Mode mode, uint32_t* index, int32_t* status);
|
|
void freeCounter(void* counter_pointer, int32_t* status);
|
|
void setCounterAverageSize(void* counter_pointer, int32_t size,
|
|
int32_t* status);
|
|
void setCounterUpSource(void* counter_pointer, uint32_t pin, bool analogTrigger,
|
|
int32_t* status);
|
|
void setCounterUpSourceEdge(void* counter_pointer, bool risingEdge,
|
|
bool fallingEdge, int32_t* status);
|
|
void clearCounterUpSource(void* counter_pointer, int32_t* status);
|
|
void setCounterDownSource(void* counter_pointer, uint32_t pin,
|
|
bool analogTrigger, int32_t* status);
|
|
void setCounterDownSourceEdge(void* counter_pointer, bool risingEdge,
|
|
bool fallingEdge, int32_t* status);
|
|
void clearCounterDownSource(void* counter_pointer, int32_t* status);
|
|
void setCounterUpDownMode(void* counter_pointer, int32_t* status);
|
|
void setCounterExternalDirectionMode(void* counter_pointer, int32_t* status);
|
|
void setCounterSemiPeriodMode(void* counter_pointer, bool highSemiPeriod,
|
|
int32_t* status);
|
|
void setCounterPulseLengthMode(void* counter_pointer, double threshold,
|
|
int32_t* status);
|
|
int32_t getCounterSamplesToAverage(void* counter_pointer, int32_t* status);
|
|
void setCounterSamplesToAverage(void* counter_pointer, int samplesToAverage,
|
|
int32_t* status);
|
|
void resetCounter(void* counter_pointer, int32_t* status);
|
|
int32_t getCounter(void* counter_pointer, int32_t* status);
|
|
double getCounterPeriod(void* counter_pointer, int32_t* status);
|
|
void setCounterMaxPeriod(void* counter_pointer, double maxPeriod,
|
|
int32_t* status);
|
|
void setCounterUpdateWhenEmpty(void* counter_pointer, bool enabled,
|
|
int32_t* status);
|
|
bool getCounterStopped(void* counter_pointer, int32_t* status);
|
|
bool getCounterDirection(void* counter_pointer, int32_t* status);
|
|
void setCounterReverseDirection(void* counter_pointer, bool reverseDirection,
|
|
int32_t* status);
|
|
}
|