Skip to content

Commit 1fac22a

Browse files
committed
toggles working
1 parent 789d853 commit 1fac22a

File tree

1 file changed

+60
-64
lines changed

1 file changed

+60
-64
lines changed

ToggleSwitch/ToggleSwitch.cpp

Lines changed: 60 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -79,72 +79,68 @@ void ToggleSwitch::loop()
7979
{
8080
if (toggled() && m_debounceTimer.check())
8181
{
82-
Serial.println("toggled");
82+
m_toggle = true;
8383
m_debounceTimer.start();
8484
}
85-
// else
86-
// {
87-
// if (m_toggle && m_debounceTimer.check())
88-
// {
89-
// Serial.println("debouncetimer");
90-
// m_toggle = false;
91-
92-
// if (!m_singleToggle)
93-
// {
94-
// m_singleToggle = true;
95-
// m_overTimer.start();
96-
// }
97-
// else if (m_singleToggle && !m_doubleToggle)
98-
// {
99-
// m_doubleToggle = true;
100-
// m_overTimer.start();
101-
// }
102-
// else if (m_singleToggle && m_doubleToggle && !m_tripleToggle)
103-
// {
104-
// m_tripleToggle = true;
105-
// m_overTimer.start();
106-
// }
107-
// else if (m_singleToggle && m_doubleToggle && m_tripleToggle && !m_quadrupleToggle)
108-
// {
109-
// m_quadrupleToggle = true;
110-
// m_overTimer.start();
111-
// }
112-
// else
113-
// {
114-
// // Unknown number of toggles
115-
// }
116-
// }
117-
118-
// if (m_overTimer.check())
119-
// {
120-
// Serial.println("overtimer");
121-
// if (m_singleToggle && m_doubleToggle && m_tripleToggle && m_quadrupleToggle)
122-
// {
123-
// m_quadrupleToggleCallback();
124-
// }
125-
// else if (m_singleToggle && m_doubleToggle && m_tripleToggle && !m_quadrupleToggle)
126-
// {
127-
// m_tripleToggleCallback();
128-
// }
129-
// else if (m_singleToggle && m_doubleToggle && !m_tripleToggle && !m_quadrupleToggle)
130-
// {
131-
// m_doubleToggleCallback();
132-
// }
133-
// else if (m_singleToggle && !m_doubleToggle && !m_tripleToggle && !m_quadrupleToggle)
134-
// {
135-
// m_singleToggleCallback();
136-
// }
137-
// else
138-
// {
139-
// // Unknown number of toggles
140-
// }
141-
142-
// m_singleToggle = false;
143-
// m_doubleToggle = false;
144-
// m_tripleToggle = false;
145-
// m_quadrupleToggle = false;
146-
// }
147-
// }
85+
86+
if (m_toggle)
87+
{
88+
m_toggle = false;
89+
90+
if (!m_singleToggle)
91+
{
92+
m_singleToggle = true;
93+
m_overTimer.start();
94+
}
95+
else if (m_singleToggle && !m_doubleToggle)
96+
{
97+
m_doubleToggle = true;
98+
m_overTimer.start();
99+
}
100+
else if (m_singleToggle && m_doubleToggle && !m_tripleToggle)
101+
{
102+
m_tripleToggle = true;
103+
m_overTimer.start();
104+
}
105+
else if (m_singleToggle && m_doubleToggle && m_tripleToggle && !m_quadrupleToggle)
106+
{
107+
m_quadrupleToggle = true;
108+
m_overTimer.start();
109+
}
110+
else
111+
{
112+
// Unknown number of toggles
113+
}
114+
}
115+
116+
if (m_overTimer.check())
117+
{
118+
if (m_singleToggle && m_doubleToggle && m_tripleToggle && m_quadrupleToggle)
119+
{
120+
m_quadrupleToggleCallback();
121+
}
122+
else if (m_singleToggle && m_doubleToggle && m_tripleToggle && !m_quadrupleToggle)
123+
{
124+
m_tripleToggleCallback();
125+
}
126+
else if (m_singleToggle && m_doubleToggle && !m_tripleToggle && !m_quadrupleToggle)
127+
{
128+
m_doubleToggleCallback();
129+
}
130+
else if (m_singleToggle && !m_doubleToggle && !m_tripleToggle && !m_quadrupleToggle)
131+
{
132+
m_singleToggleCallback();
133+
}
134+
else
135+
{
136+
// Unknown number of toggles
137+
}
138+
139+
m_singleToggle = false;
140+
m_doubleToggle = false;
141+
m_tripleToggle = false;
142+
m_quadrupleToggle = false;
143+
}
148144
}
149145

150146
void ToggleSwitch::setSingleToggleCallback(void (*callback)())

0 commit comments

Comments
 (0)