File tree 2 files changed +97
-0
lines changed
2 files changed +97
-0
lines changed Original file line number Diff line number Diff line change
1
+ #include < ArduinoAPI.h>
2
+ #include < digitalPin.hpp>
3
+
4
+ digitalPin::digitalPin (uint8_t pin)
5
+ : pin(pin)
6
+ {
7
+ sat = digitalRead (pin);
8
+ }
9
+
10
+ digitalPin::digitalPin (const digitalPin& dig_pin)
11
+ : pin(dig_pin.pin), sat(dig_pin.sat) {}
12
+
13
+
14
+ int digitalPin::get ()
15
+ {
16
+ return digitalRead (pin);
17
+ }
18
+
19
+ void digitalPin::set (bool sat)
20
+ {
21
+ digitalWrite (pin, (PinStatus)sat);
22
+ }
23
+
24
+ digitalPin::operator bool ()
25
+ {
26
+ return get ();
27
+ }
28
+
29
+ digitalPin::operator int ()
30
+ {
31
+ return get ();
32
+ }
33
+
34
+ digitalPin digitalPin::operator =(uint8_t pin)
35
+ {
36
+ return digitalPin (pin);
37
+ }
38
+
39
+ bool digitalPin::toggle ()
40
+ {
41
+ return digitalToggle (pin);
42
+ }
43
+
44
+ void digitalPin::PWMset (int val)
45
+ {
46
+ analogWrite (pin, val);
47
+ }
48
+
49
+ void digitalPin::operator ()(bool v)
50
+ {
51
+ set (v);
52
+ }
53
+
54
+ void digitalPin::operator ()(int av)
55
+ {
56
+ PWMset (av);
57
+ }
Original file line number Diff line number Diff line change
1
+ #pragma once
2
+ #ifndef DIG_PIN_H
3
+ #define DIG_PIN_H
4
+ #include < stdint.h>
5
+
6
+ /* enum class PIN_SAT : bool
7
+ {
8
+ pHIGH = 1,
9
+ pLOW = 0
10
+ };*/
11
+
12
+ class digitalPin
13
+ {
14
+ private:
15
+ uint8_t pin;
16
+ bool sat;
17
+ void operator ()(int av);
18
+ public:
19
+ digitalPin (uint8_t pin);
20
+ digitalPin (const digitalPin& dig_pin);
21
+
22
+ __inline digitalPin (){}
23
+ void set (bool sat);
24
+ int get ();
25
+ bool toggle ();
26
+ void PWMset (int val);
27
+
28
+ void operator ()(bool v);
29
+
30
+ digitalPin operator =(uint8_t pin);
31
+ operator bool ();
32
+ operator int ();
33
+
34
+
35
+ __inline ~digitalPin (){}
36
+ };
37
+
38
+
39
+
40
+ #endif
You can’t perform that action at this time.
0 commit comments