Skip to content

Commit a1c2eef

Browse files
committed
Added extra toggling functions for pause and calibration.
1 parent 74e8434 commit a1c2eef

7 files changed

+40
-17
lines changed

keywords.txt

+3
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ timeWindow KEYWORD2
9494
cutoff KEYWORD2
9595
pauseCalibrating KEYWORD2
9696
resumeCalibrating KEYWORD2
97+
toggleCalibrating KEYWORD2
9798
isCalibrating KEYWORD2
9899

99100
# Oscillators
@@ -136,6 +137,7 @@ start KEYWORD2
136137
stop KEYWORD2
137138
pause KEYWORD2
138139
resume KEYWORD2
140+
togglePause KEYWORD2
139141
elapsed KEYWORD2
140142
add KEYWORD2
141143
isRunning KEYWORD2
@@ -193,6 +195,7 @@ onRise KEYWORD2
193195
onFall KEYWORD2
194196
onChange KEYWORD2
195197
clearEvents KEYWORD2
198+
onChange KEYWORD2
196199

197200
#######################################
198201
# Instances (KEYWORD2)

src/AbstractChronometer.cpp

+10-6
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ void AbstractChronometer::start() {
3232
_isRunning = true;
3333
}
3434

35+
void AbstractChronometer::stop() {
36+
// Stop.
37+
set(0);
38+
_isRunning = false;
39+
}
3540

3641
void AbstractChronometer::pause() {
3742
if (_isRunning) {
@@ -40,19 +45,18 @@ void AbstractChronometer::pause() {
4045
}
4146
}
4247

43-
void AbstractChronometer::stop() {
44-
// Stop.
45-
set(0);
46-
_isRunning = false;
47-
}
48-
4948
void AbstractChronometer::resume() {
5049
if (!_isRunning) {
5150
_startTime = clock();
5251
_isRunning = true;
5352
}
5453
}
5554

55+
void AbstractChronometer::togglePause() {
56+
if (_isRunning) pause();
57+
else resume();
58+
}
59+
5660
bool AbstractChronometer::hasPassed(float timeout) const
5761
{
5862
return (elapsed() >= timeout);

src/AbstractChronometer.h

+6-3
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,18 @@ class AbstractChronometer {
3434
/// Starts/restarts the chronometer.
3535
virtual void start();
3636

37-
/// Interrupts the chronometer.
38-
virtual void pause();
39-
4037
/// Interrupts the chronometer and resets to zero.
4138
virtual void stop();
4239

40+
/// Interrupts the chronometer.
41+
virtual void pause();
42+
4343
/// Resumes process.
4444
virtual void resume();
4545

46+
/// Toggles pause/unpause.
47+
virtual void togglePause();
48+
4649
/// The time currently elapsed by the chronometer (in seconds).
4750
virtual float elapsed() const { return _elapsedTime; }
4851

src/AbstractWave.cpp

+8-5
Original file line numberDiff line numberDiff line change
@@ -107,21 +107,24 @@ void AbstractWave::start() {
107107
_isRunning = true;
108108
}
109109

110-
111-
void AbstractWave::pause() {
112-
_isRunning = false;
113-
}
114-
115110
void AbstractWave::stop() {
116111
// Stop.
117112
setTime(0);
118113
_isRunning = false;
119114
}
120115

116+
void AbstractWave::pause() {
117+
_isRunning = false;
118+
}
119+
121120
void AbstractWave::resume() {
122121
_isRunning = true;
123122
}
124123

124+
void AbstractWave::togglePause() {
125+
_isRunning = !_isRunning;
126+
}
127+
125128
void AbstractWave::setTime(float time) {
126129
// Set current phase time.
127130
_phaseTime = float2phaseTime(_phase);

src/AbstractWave.h

+6-3
Original file line numberDiff line numberDiff line change
@@ -108,15 +108,18 @@ class AbstractWave : public AnalogSource {
108108
/// Starts/restarts the wave.
109109
virtual void start();
110110

111-
/// Interrupts the wave.
112-
virtual void pause();
113-
114111
/// Interrupts the wave and resets to beginning.
115112
virtual void stop();
116113

114+
/// Interrupts the wave.
115+
virtual void pause();
116+
117117
/// Resumes process.
118118
virtual void resume();
119119

120+
/// Toggles pause/unpause.
121+
virtual void togglePause();
122+
120123
/// Forces current time (in seconds).
121124
virtual void setTime(float time);
122125

src/MovingFilter.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ void MovingFilter::pauseCalibrating() {
5151
_isCalibrating = false;
5252
}
5353

54+
void MovingFilter::toggleCalibrating() {
55+
_isCalibrating = !_isCalibrating;
56+
}
57+
5458
bool MovingFilter::isCalibrating() const {
5559
return _isCalibrating;
5660
}

src/MovingFilter.h

+3
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ class MovingFilter : public AnalogSource {
6767
*/
6868
virtual void pauseCalibrating();
6969

70+
/// Toggles calibration mode.
71+
virtual void toggleCalibrating();
72+
7073
/// Returns true iff the moving filter is in calibration mode.
7174
virtual bool isCalibrating() const;
7275

0 commit comments

Comments
 (0)