-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathButton.cpp
More file actions
73 lines (59 loc) · 1.39 KB
/
Copy pathButton.cpp
File metadata and controls
73 lines (59 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include "Arduino.h"
#include "Button.h"
Button::Button(int pin, int button_state)
{
this->_pin = pin;
pinMode(this->_pin, INPUT);
digitalWrite(this->_pin, button_state);
}
void Button::on_press()
{
if (digitalRead(this->_pin) == LOW && millis() - this->_previousMillis > this->_debounce) {
this->_previousMillis = millis();
this->_on_press = true;
}
}
bool Button::is_pressed()
{
if (digitalRead(this->_pin) == LOW && millis() - this->_previousMillis > this->_debounce) {
this->_previousMillis = millis();
return true;
}
return false;
}
void Button::set_status(bool inType) {
this->_on_press = true;
}
bool Button::is_pressed(int inDebounce)
{
if (digitalRead(this->_pin) == LOW && millis() - this->_previousMillis > inDebounce) {
this->_previousMillis = millis();
return true;
}
return false;
}
bool Button::is_released(int inDebounce) {
if (digitalRead(this->_pin) == HIGH && millis() - this->_previousMillis > inDebounce) {
this->_previousMillis = millis();
return true;
}
return false;
}
void Button::read_switch(){
on_press();
}
bool Button::get_short(){
return this->_on_press;
}
bool Button::get_status() {
if (digitalRead(this->_pin) == LOW) {
return true;
}
return false;
}
void Button::reset(){
this->_on_press = false;
}
void Button::set_debounce(int inDebounce) {
this->_debounce = inDebounce;
}