Merge commit '849ebe917b82f5099633e6b5a915d550e76bc6bc' into HEAD
Change-Id: Ib317023b5d8bffb49eb4e05c49f635e094a88e63
diff --git a/frc971/wpilib/ahal/AnalogTrigger.h b/frc971/wpilib/ahal/AnalogTrigger.h
index 30a07d1..9fad5db 100644
--- a/frc971/wpilib/ahal/AnalogTrigger.h
+++ b/frc971/wpilib/ahal/AnalogTrigger.h
@@ -1,5 +1,5 @@
/*----------------------------------------------------------------------------*/
-/* Copyright (c) FIRST 2008-2017. All Rights Reserved. */
+/* Copyright (c) 2008-2019 FIRST. 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. */
@@ -9,36 +9,54 @@
#include <memory>
-#include "hal/Types.h"
+#include <hal/Types.h>
+
#include "frc971/wpilib/ahal/AnalogTriggerOutput.h"
-#include "frc971/wpilib/ahal/SensorBase.h"
namespace frc {
class AnalogInput;
+class DutyCycle;
+class SendableBuilder;
class AnalogTrigger {
friend class AnalogTriggerOutput;
public:
explicit AnalogTrigger(int channel);
- explicit AnalogTrigger(AnalogInput *channel);
+ explicit AnalogTrigger(AnalogInput* channel);
+ explicit AnalogTrigger(DutyCycle* dutyCycle);
+
virtual ~AnalogTrigger();
+ AnalogTrigger(AnalogTrigger&& rhs);
+ AnalogTrigger& operator=(AnalogTrigger&& rhs);
+
void SetLimitsVoltage(double lower, double upper);
+
+ void SetLimitsDutyCycle(double lower, double upper);
+
void SetLimitsRaw(int lower, int upper);
+
void SetAveraged(bool useAveragedValue);
+
+ void SetDutyCycle(bool useDutyCycle);
+
void SetFiltered(bool useFilteredValue);
+
int GetIndex() const;
+
bool GetInWindow();
+
bool GetTriggerState();
+
std::shared_ptr<AnalogTriggerOutput> CreateOutput(
AnalogTriggerType type) const;
private:
- int m_index;
- HAL_AnalogTriggerHandle m_trigger;
- AnalogInput *m_analogInput = nullptr;
+ hal::Handle<HAL_AnalogTriggerHandle> m_trigger;
+ AnalogInput* m_analogInput = nullptr;
+ DutyCycle* m_dutyCycle = nullptr;
bool m_ownsAnalog = false;
};