Big Mouth Billy Bass automation library

Dependents:   BillyBass_with_SD

action.hpp

Committer:
bikeNomad
Date:
2013-06-17
Revision:
0:84aaade0de8f
Child:
2:eaba75af0f0d

File content as of revision 0:84aaade0de8f:

#ifndef __included_action_hpp
#define __included_action_hpp

#include "billybass.hpp"

// 0.000000\t5.646050\thead
// 0.064498\t1.069177\ttail
// 0.357219\t0.580481\tmouth

#define MAX_ACTION_LINE_LENGTH 30

struct Action
{
    Action(float _time = -1.0,
            bool _state = false,
            DigitalOut *_out = 0,
            char const *_outName = 0)
        : actionTime(_time), desiredState(_state)
        , output(_out), outputName(_outName)
    {
    }

    bool operator < (Action const &other) const { return actionTime < other.actionTime; }

    bool isValid() const { return actionTime >= 0.0 && output != 0; }

    float actionTime;
    bool desiredState;
    DigitalOut *output;
    char const *outputName;
};

#endif