Big Mouth Billy Bass automation library

Dependents:   BillyBass_with_SD

billybass.cpp

Committer:
bikeNomad
Date:
2013-06-18
Revision:
4:f009306756b3
Parent:
0:84aaade0de8f
Child:
7:dba9221acf48

File content as of revision 4:f009306756b3:


#include "billybass.hpp"
#include <string.h>

// class static
BillyBass* BillyBass::fish[ MAX_FISH ];
unsigned BillyBass::numFish;
char const * BillyBass::mouthName = "mouth";
char const * BillyBass::bodyName = "body";
char const * BillyBass::tailName = "tail";

DigitalOut *BillyBass::outputNamed(char const *_outputName, char const **_pName)
{
    DigitalOut *output = 0;

    if (!strcmp(_outputName, mouthName)) {
        output = &mouth;
        if (_pName) *_pName = mouthName;
    } else if (!strcmp(_outputName, "head") || !strcmp(_outputName, bodyName)) {
        output = &body;
        if (_pName) *_pName = bodyName;
    } else if (!strcmp(_outputName, tailName)) {
        output = &tail;
        if (_pName) *_pName = tailName;
    }

    return output;
}

char const *BillyBass::outputName(DigitalOut const *out) const
{
    if (out == &tail) return tailName;
    else if (out == &body) return bodyName;
    else if (out == &mouth) return mouthName;
    else return "unknown";
}