WPILibC++  unspecified
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
AnalogTriggerOutput.h
1 /*----------------------------------------------------------------------------*/
2 /* Copyright (c) FIRST 2008-2017. All Rights Reserved. */
3 /* Open Source Software - may be modified and shared by FRC teams. The code */
4 /* must be accompanied by the FIRST BSD license file in the root directory of */
5 /* the project. */
6 /*----------------------------------------------------------------------------*/
7 
8 #pragma once
9 
10 #include "DigitalSource.h"
11 #include "HAL/AnalogTrigger.h"
12 
13 namespace frc {
14 
15 class AnalogTrigger;
16 
49  friend class AnalogTrigger;
50 
51  public:
52  virtual ~AnalogTriggerOutput();
53  bool Get() const;
54 
55  // DigitalSource interface
56  HAL_Handle GetPortHandleForRouting() const override;
57  AnalogTriggerType GetAnalogTriggerTypeForRouting() const override;
58  bool IsAnalogTrigger() const override;
59  int GetChannel() const override;
60 
61  protected:
62  AnalogTriggerOutput(const AnalogTrigger& trigger,
63  AnalogTriggerType outputType);
64 
65  private:
66  // Uses reference rather than smart pointer because a user can not construct
67  // an AnalogTriggerOutput themselves and because the AnalogTriggerOutput
68  // should always be in scope at the same time as an AnalogTrigger.
69  const AnalogTrigger& m_trigger;
70  AnalogTriggerType m_outputType;
71 };
72 
73 } // namespace frc
bool Get() const
Get the state of the analog trigger output.
Definition: AnalogTriggerOutput.cpp:48
AnalogTriggerOutput(const AnalogTrigger &trigger, AnalogTriggerType outputType)
Create an object that represents one of the four outputs from an analog trigger.
Definition: AnalogTriggerOutput.cpp:27
bool IsAnalogTrigger() const override
Is source an AnalogTrigger.
Definition: AnalogTriggerOutput.cpp:67
HAL_Handle GetPortHandleForRouting() const override
Definition: AnalogTriggerOutput.cpp:60
DigitalSource Interface.
Definition: DigitalSource.h:25
Class to represent a specific output from an analog trigger.
Definition: AnalogTriggerOutput.h:48
int GetChannel() const override
Definition: AnalogTriggerOutput.cpp:79
Definition: AnalogTrigger.h:20
AnalogTriggerType GetAnalogTriggerTypeForRouting() const override
Definition: AnalogTriggerOutput.cpp:72