mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
This is the changes made by Patrick Plenefisch converting the native code to use CMake and the CMake Maven Plugin, as opposed to the native Maven plugin. This is to allow for compatibility with newer versions of the GCC toolchain. All the cpp sources were moved from maven style directories to cpp style directories for CMake. Change-Id: I67f5e3608948f37c83b0990d232105a3784f8593
67 lines
3.7 KiB
C
67 lines
3.7 KiB
C
|
|
#ifdef __vxworks
|
|
#include <vxWorks.h>
|
|
#else
|
|
#include <stdint.h>
|
|
#endif
|
|
|
|
#ifndef HAL_ANALOG_H
|
|
#define HAL_ANALOG_H
|
|
|
|
extern "C" {
|
|
void* initializeAnalogPort(void* port_pointer, int32_t *status);
|
|
bool checkAnalogModule(uint8_t module);
|
|
bool checkAnalogChannel(uint32_t pin);
|
|
|
|
void setAnalogSampleRate(double samplesPerSecond, int32_t *status);
|
|
float getAnalogSampleRate(int32_t *status);
|
|
void setAnalogSampleRateWithModule(uint8_t module, double samplesPerSecond, int32_t *status);
|
|
float getAnalogSampleRateWithModule(uint8_t module, int32_t *status);
|
|
void setAnalogAverageBits(void* analog_port_pointer, uint32_t bits, int32_t *status);
|
|
uint32_t getAnalogAverageBits(void* analog_port_pointer, int32_t *status);
|
|
void setAnalogOversampleBits(void* analog_port_pointer, uint32_t bits, int32_t *status);
|
|
uint32_t getAnalogOversampleBits(void* analog_port_pointer, int32_t *status);
|
|
int16_t getAnalogValue(void* analog_port_pointer, int32_t *status);
|
|
int32_t getAnalogAverageValue(void* analog_port_pointer, int32_t *status);
|
|
int32_t getAnalogVoltsToValue(void* analog_port_pointer, double voltage, int32_t *status);
|
|
float getAnalogVoltage(void* analog_port_pointer, int32_t *status);
|
|
float getAnalogAverageVoltage(void* analog_port_pointer, int32_t *status);
|
|
uint32_t getAnalogLSBWeight(void* analog_port_pointer, int32_t *status);
|
|
int32_t getAnalogOffset(void* analog_port_pointer, int32_t *status);
|
|
|
|
bool isAccumulatorChannel(void* analog_port_pointer, int32_t *status);
|
|
void initAccumulator(void* analog_port_pointer, int32_t *status);
|
|
void resetAccumulator(void* analog_port_pointer, int32_t *status);
|
|
void setAccumulatorCenter(void* analog_port_pointer, int32_t center, int32_t *status);
|
|
void setAccumulatorDeadband(void* analog_port_pointer, int32_t deadband, int32_t *status);
|
|
int64_t getAccumulatorValue(void* analog_port_pointer, int32_t *status);
|
|
uint32_t getAccumulatorCount(void* analog_port_pointer, int32_t *status);
|
|
void getAccumulatorOutput(void* analog_port_pointer, int64_t *value, uint32_t *count, int32_t *status);
|
|
|
|
typedef enum {kInWindow=0, kState=1, kRisingPulse=2, kFallingPulse=3} AnalogTriggerType;
|
|
void* initializeAnalogTrigger(void* port_pointer, uint32_t *index, int32_t *status);
|
|
void cleanAnalogTrigger(void* analog_trigger_pointer, int32_t *status);
|
|
void setAnalogTriggerLimitsRaw(void* analog_trigger_pointer, int32_t lower, int32_t upper, int32_t *status);
|
|
void setAnalogTriggerLimitsVoltage(void* analog_trigger_pointer, double lower, double upper, int32_t *status);
|
|
void setAnalogTriggerAveraged(void* analog_trigger_pointer, bool useAveragedValue, int32_t *status);
|
|
void setAnalogTriggerFiltered(void* analog_trigger_pointer, bool useFilteredValue, int32_t *status);
|
|
bool getAnalogTriggerInWindow(void* analog_trigger_pointer, int32_t *status);
|
|
bool getAnalogTriggerTriggerState(void* analog_trigger_pointer, int32_t *status);
|
|
bool getAnalogTriggerOutput(void* analog_trigger_pointer, AnalogTriggerType type, int32_t *status);
|
|
|
|
|
|
//// Float JNA Hack
|
|
// Float
|
|
int getAnalogSampleRateIntHack(int32_t *status);
|
|
int getAnalogSampleRateWithModuleIntHack(uint8_t module, int32_t *status);
|
|
int getAnalogVoltageIntHack(void* analog_port_pointer, int32_t *status);
|
|
int getAnalogAverageVoltageIntHack(void* analog_port_pointer, int32_t *status);
|
|
|
|
// Doubles
|
|
void setAnalogSampleRateIntHack(int samplesPerSecond, int32_t *status);
|
|
void setAnalogSampleRateWithModuleIntHack(uint8_t module, int samplesPerSecond, int32_t *status);
|
|
int32_t getAnalogVoltsToValueIntHack(void* analog_port_pointer, int voltage, int32_t *status);
|
|
void setAnalogTriggerLimitsVoltageIntHack(void* analog_trigger_pointer, int lower, int upper, int32_t *status);
|
|
}
|
|
#endif
|