GPIO
Eine C++ Bibliothek, die den Zugriff auf die Pins des Raspberry Pi vereinfacht.
gpio.h
1 #ifndef GPIO_H
2 #define GPIO_H
3 
4 #include <vector>
5 
7 namespace gpio {
8 
10 class pin {
11 public:
12  virtual ~pin();
13 
15  unsigned int number() const { return m_number; }
16 
19  virtual bool state() const;
20 
21 protected:
22  explicit pin(unsigned int number);
23 
24 private:
25  static std::vector<unsigned int> s_registeredPins;
26  unsigned int m_number;
27 };
28 
30 class input_pin : public pin {
31 public:
32  explicit input_pin(unsigned int number);
33 };
34 
36 class output_pin : public pin {
37 public:
38  explicit output_pin(unsigned int number);
39 
42  void set_state(bool value);
43 };
44 
45 // class used for digital buttons connected to GND, derrived of input
46 class button_pin : public input_pin {
47 public:
48  explicit button_pin(unsigned int number);
49 
52  virtual bool state() const override;
53 };
54 }
55 
56 // functions
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60 
61 void delay(unsigned long milliseconds);
62 
63 #ifdef __cplusplus
64 }
65 #endif
66 
67 #endif // GPIO_H
unsigned int number() const
Gibt die physikalische Pinnummer zurück, über die der Pin angesprochen wird.
Definition: gpio.h:15
Die Klasse input_pin liest einen digitalen Pin.
Definition: gpio.h:30
Die Basisklasse für einen Pin. Sie enthält Methoden zum Abfragen von Nummer und Status.
Definition: gpio.h:10
Die Klasse output_pin setzt einen digitalen Pin.
Definition: gpio.h:36
virtual bool state() const
Definition: gpio.cpp:84
Definition: gpio.h:46
GPIO enthält Klassen zur einfachen Steuerung von den GPIO Pins des Raspberry Pi.
Definition: gpio.cpp:12