Big Mouth Billy Bass automation library
billybass.cpp@4:f009306756b3, 2013-06-18 (annotated)
- Committer:
- bikeNomad
- Date:
- Tue Jun 18 14:10:34 2013 +0000
- Revision:
- 4:f009306756b3
- Parent:
- 0:84aaade0de8f
- Child:
- 7:dba9221acf48
working. re-used one Song for memory reduction.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bikeNomad | 0:84aaade0de8f | 1 | |
bikeNomad | 0:84aaade0de8f | 2 | #include "billybass.hpp" |
bikeNomad | 0:84aaade0de8f | 3 | #include <string.h> |
bikeNomad | 0:84aaade0de8f | 4 | |
bikeNomad | 0:84aaade0de8f | 5 | // class static |
bikeNomad | 0:84aaade0de8f | 6 | BillyBass* BillyBass::fish[ MAX_FISH ]; |
bikeNomad | 0:84aaade0de8f | 7 | unsigned BillyBass::numFish; |
bikeNomad | 0:84aaade0de8f | 8 | char const * BillyBass::mouthName = "mouth"; |
bikeNomad | 0:84aaade0de8f | 9 | char const * BillyBass::bodyName = "body"; |
bikeNomad | 0:84aaade0de8f | 10 | char const * BillyBass::tailName = "tail"; |
bikeNomad | 0:84aaade0de8f | 11 | |
bikeNomad | 0:84aaade0de8f | 12 | DigitalOut *BillyBass::outputNamed(char const *_outputName, char const **_pName) |
bikeNomad | 0:84aaade0de8f | 13 | { |
bikeNomad | 0:84aaade0de8f | 14 | DigitalOut *output = 0; |
bikeNomad | 0:84aaade0de8f | 15 | |
bikeNomad | 0:84aaade0de8f | 16 | if (!strcmp(_outputName, mouthName)) { |
bikeNomad | 0:84aaade0de8f | 17 | output = &mouth; |
bikeNomad | 0:84aaade0de8f | 18 | if (_pName) *_pName = mouthName; |
bikeNomad | 4:f009306756b3 | 19 | } else if (!strcmp(_outputName, "head") || !strcmp(_outputName, bodyName)) { |
bikeNomad | 0:84aaade0de8f | 20 | output = &body; |
bikeNomad | 0:84aaade0de8f | 21 | if (_pName) *_pName = bodyName; |
bikeNomad | 4:f009306756b3 | 22 | } else if (!strcmp(_outputName, tailName)) { |
bikeNomad | 0:84aaade0de8f | 23 | output = &tail; |
bikeNomad | 0:84aaade0de8f | 24 | if (_pName) *_pName = tailName; |
bikeNomad | 0:84aaade0de8f | 25 | } |
bikeNomad | 0:84aaade0de8f | 26 | |
bikeNomad | 0:84aaade0de8f | 27 | return output; |
bikeNomad | 0:84aaade0de8f | 28 | } |
bikeNomad | 4:f009306756b3 | 29 | |
bikeNomad | 4:f009306756b3 | 30 | char const *BillyBass::outputName(DigitalOut const *out) const |
bikeNomad | 4:f009306756b3 | 31 | { |
bikeNomad | 4:f009306756b3 | 32 | if (out == &tail) return tailName; |
bikeNomad | 4:f009306756b3 | 33 | else if (out == &body) return bodyName; |
bikeNomad | 4:f009306756b3 | 34 | else if (out == &mouth) return mouthName; |
bikeNomad | 4:f009306756b3 | 35 | else return "unknown"; |
bikeNomad | 4:f009306756b3 | 36 | } |