WPILibC++  2019.4.1-5-gaab4c49
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
DigitalInput.h
1 /*----------------------------------------------------------------------------*/
2 /* Copyright (c) 2008-2018 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 "frc/DigitalSource.h"
11 
12 namespace frc {
13 
14 class DigitalGlitchFilter;
15 
25 class DigitalInput : public DigitalSource {
26  public:
34  explicit DigitalInput(int channel);
35 
36  ~DigitalInput() override;
37 
39  DigitalInput& operator=(DigitalInput&& rhs);
40 
46  bool Get() const;
47 
48  // Digital Source Interface
52  HAL_Handle GetPortHandleForRouting() const override;
53 
57  AnalogTriggerType GetAnalogTriggerTypeForRouting() const override;
58 
62  bool IsAnalogTrigger() const override;
63 
67  int GetChannel() const override;
68 
69  void InitSendable(SendableBuilder& builder) override;
70 
71  private:
72  int m_channel;
73  HAL_DigitalHandle m_handle = HAL_kInvalidHandle;
74 
75  friend class DigitalGlitchFilter;
76 };
77 
78 } // namespace frc
void InitSendable(SendableBuilder &builder) override
Initializes this Sendable object.
WPILib FRC namespace.
Definition: SPIAccelerometerSim.h:18
Class to enable glitch filtering on a set of digital inputs.
Definition: DigitalGlitchFilter.h:32
int GetChannel() const override
DigitalSource Interface.
Definition: DigitalSource.h:25
AnalogTriggerType GetAnalogTriggerTypeForRouting() const override
bool IsAnalogTrigger() const override
Is source an AnalogTrigger.
HAL_Handle GetPortHandleForRouting() const override
Definition: SendableBuilder.h:23
Class to read a digital input.
Definition: DigitalInput.h:25
DigitalInput(int channel)
Create an instance of a Digital Input class.
bool Get() const
Get the value from a digital input channel.