WPILibC++  2018.4.1-20180820040250-1165-g0b8f4b5
 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 
43  bool Get() const;
44 
45  // Digital Source Interface
49  HAL_Handle GetPortHandleForRouting() const override;
50 
54  AnalogTriggerType GetAnalogTriggerTypeForRouting() const override;
55 
59  bool IsAnalogTrigger() const override;
60 
64  int GetChannel() const override;
65 
66  void InitSendable(SendableBuilder& builder) override;
67 
68  private:
69  int m_channel;
70  HAL_DigitalHandle m_handle;
71 
72  friend class DigitalGlitchFilter;
73 };
74 
75 } // 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.