10 #include "AnalogTriggerOutput.h"
11 #include "CounterBase.h"
12 #include "SensorBase.h"
13 #include "LiveWindow/LiveWindowSendable.h"
24 typedef enum {kTwoPulse=0, kSemiperiod=1, kPulseLength=2, kExternalDirection=3} Mode;
27 explicit Counter(uint32_t channel);
28 Counter(uint8_t moduleNumber, uint32_t channel);
37 void SetUpSource(uint8_t moduleNumber, uint32_t channel);
73 uint32_t GetIndex() {
return m_index;}
87 void InitCounter(Mode mode = kTwoPulse);
89 bool m_allocatedUpSource;
90 bool m_allocatedDownSource;
void SetExternalDirectionMode()
void SetDownSource(uint32_t channel)
void StartLiveWindowMode()
void SetReverseDirection(bool reverseDirection)
void SetUpdateWhenEmpty(bool enabled)
tCounter * m_counter
The FPGA counter object.
void SetUpSourceEdge(bool risingEdge, bool fallingEdge)
void SetMaxPeriod(double maxPeriod)
void SetUpDownCounterMode()
void InitTable(ITable *subTable)
DigitalSource * m_downSource
What makes the counter count down.
void SetSemiPeriodMode(bool highSemiPeriod)
void SetSamplesToAverage(int samplesToAverage)
virtual std::string GetSmartDashboardType()
void SetDownSourceEdge(bool risingEdge, bool fallingEdge)
void StopLiveWindowMode()
void SetUpSource(uint32_t channel)
void SetPulseLengthMode(float threshold)
DigitalSource * m_upSource
What makes the counter count up.
int GetSamplesToAverage()