Big Mouth Billy Bass automation library
Diff: billybass.cpp
- Revision:
- 7:dba9221acf48
- Parent:
- 4:f009306756b3
--- a/billybass.cpp Thu Jun 20 03:04:36 2013 +0000
+++ b/billybass.cpp Thu Jun 20 04:10:22 2013 +0000
@@ -9,21 +9,33 @@
char const * BillyBass::bodyName = "body";
char const * BillyBass::tailName = "tail";
-DigitalOut *BillyBass::outputNamed(char const *_outputName, char const **_pName)
+DigitalOut *BillyBass::outputNamed(char const *_outputName, char const **_pName, float *_pOnDelay, float *_pOffDelay, float *_pMinOnTime)
{
DigitalOut *output = 0;
+ float onDelay = 0.0, offDelay = 0.0, minOnTime = 0.0;
+ char const *name = 0;
if (!strcmp(_outputName, mouthName)) {
output = &mouth;
- if (_pName) *_pName = mouthName;
+ name = mouthName;
+ onDelay = MOUTH_ON_DELAY;
+ offDelay = MOUTH_OFF_DELAY;
+ minOnTime = MOUTH_ON_DELAY / 2;
} else if (!strcmp(_outputName, "head") || !strcmp(_outputName, bodyName)) {
output = &body;
- if (_pName) *_pName = bodyName;
+ name = bodyName;
+ minOnTime = onDelay = BODY_ON_DELAY;
+ offDelay = BODY_OFF_DELAY;
} else if (!strcmp(_outputName, tailName)) {
output = &tail;
- if (_pName) *_pName = tailName;
+ name = tailName;
+ minOnTime = onDelay = TAIL_ON_DELAY;
+ offDelay = TAIL_OFF_DELAY;
}
-
+ if (_pOnDelay) *_pOnDelay = onDelay;
+ if (_pOffDelay) *_pOffDelay = offDelay;
+ if (_pMinOnTime) *_pMinOnTime = minOnTime;
+ if (_pName) *_pName = name;
return output;
}
Ned Konz