blob: 1f127c57d868af7f242c98a2156d99dfe2f329e0 [file] [log] [blame]
Brian Silvermand8f403a2014-12-13 19:12:04 -05001#ifndef FRC971_WPILIB_BUFFERED_SOLENOID_H_
2#define FRC971_WPILIB_BUFFERED_SOLENOID_H_
3
Stephan Pleinesf63bde82024-01-13 15:59:33 -08004namespace frc971::wpilib {
Brian Silvermand8f403a2014-12-13 19:12:04 -05005
6class BufferedPcm;
7
8// Handles sending values for a single solenoid to a BufferedPcm. Instances are
9// created with BufferedPcm::MakeSolenoid.
10class BufferedSolenoid {
11 public:
12 // Sets or unsets the solenoid.
13 void Set(bool value);
14
15 private:
16 BufferedSolenoid(int number, BufferedPcm *pcm) : number_(number), pcm_(pcm) {}
17
18 const int number_;
19 BufferedPcm *const pcm_;
20
21 friend class BufferedPcm;
22};
23
Stephan Pleinesf63bde82024-01-13 15:59:33 -080024} // namespace frc971::wpilib
Brian Silvermand8f403a2014-12-13 19:12:04 -050025
26#endif // FRC971_WPILIB_BUFFERED_SOLENOID_H_