robot arm demo team / Mbed 2 deprecated RobotArmDemo Featured

Dependencies:   AX-12A Dynamixel mbed iothub_client EthernetInterface NTPClient ConfigFile SDFileSystem iothub_amqp_transport mbed-rtos proton-c-mbed wolfSSL

ActionBuf.cpp

Committer:
henryrawas
Date:
2015-12-23
Revision:
4:36a4eceb1b7f
Child:
8:d98e2dec0f40

File content as of revision 4:36a4eceb1b7f:

#include "mbed.h"
#include "rtos.h"

#include "ActionBuf.h"



SafeCircBuf<ActionGroup, ActionBufSize, uint32_t> ActionBuf;

bool ActionGroup::SetAction(ArmAction aId, char* args)
{
    if (strlen(args) < ActionArgSize)
    {
        ActionId = aId;

        strcpy(ActionArg, args); 
        
        return true;
    }
    return false;
}


ActionSequence::ActionSequence()
{
};

ActionSequence::ActionSequence(SequenceAction aType)
{
    ActionType = aType;
};

ActionSequence::ActionSequence(SequenceAction aType, vector<float>& vals, int ms)
{
    ActionType = aType;
    
    if (aType == SA_SetGoal)
    {
        GoalVals = vals;
        Ms = ms;
    }
    else if (aType == SA_Delay)
    {
        Ms = ms;
    }
}

void ActionSequence::SetGoal(vector<float>& vals)
{
    GoalVals = vals;
}

void ActionSequence::SetDelay(int delay)
{
    Ms = delay;
}
    
void ActionSequence::SetAction(SequenceAction aType)
{
    ActionType = aType;
}