WPILibC++  unspecified
AnalogTriggerOutput.h
1 /*----------------------------------------------------------------------------*/
2 /* Copyright (c) 2008-2017 FIRST. 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 <HAL/AnalogTrigger.h>
11 
12 #include "DigitalSource.h"
13 
14 namespace frc {
15 
16 class AnalogTrigger;
17 
50  friend class AnalogTrigger;
51 
52  public:
53  virtual ~AnalogTriggerOutput();
54  bool Get() const;
55 
56  // DigitalSource interface
57  HAL_Handle GetPortHandleForRouting() const override;
58  AnalogTriggerType GetAnalogTriggerTypeForRouting() const override;
59  bool IsAnalogTrigger() const override;
60  int GetChannel() const override;
61 
62  protected:
63  AnalogTriggerOutput(const AnalogTrigger& trigger,
64  AnalogTriggerType outputType);
65 
66  private:
67  // Uses reference rather than smart pointer because a user can not construct
68  // an AnalogTriggerOutput themselves and because the AnalogTriggerOutput
69  // should always be in scope at the same time as an AnalogTrigger.
70  const AnalogTrigger& m_trigger;
71  AnalogTriggerType m_outputType;
72 };
73 
74 } // namespace frc
Definition: Timer.cpp:18
bool Get() const
Get the state of the analog trigger output.
Definition: AnalogTriggerOutput.cpp:49
AnalogTriggerOutput(const AnalogTrigger &trigger, AnalogTriggerType outputType)
Create an object that represents one of the four outputs from an analog trigger.
Definition: AnalogTriggerOutput.cpp:28
bool IsAnalogTrigger() const override
Is source an AnalogTrigger.
Definition: AnalogTriggerOutput.cpp:68
HAL_Handle GetPortHandleForRouting() const override
Definition: AnalogTriggerOutput.cpp:61
DigitalSource Interface.
Definition: DigitalSource.h:26
Class to represent a specific output from an analog trigger.
Definition: AnalogTriggerOutput.h:49
int GetChannel() const override
Definition: AnalogTriggerOutput.cpp:80
Definition: AnalogTrigger.h:21
AnalogTriggerType GetAnalogTriggerTypeForRouting() const override
Definition: AnalogTriggerOutput.cpp:73