demo project

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

RobotNode/RobotNode.h

Committer:
henryrawas
Date:
2015-12-29
Revision:
7:6723f6887d00
Parent:
4:36a4eceb1b7f
Child:
8:d98e2dec0f40

File content as of revision 7:6723f6887d00:

/* 
Copyright (c) 2015 Jonathan Pickett & Microsoft. Some appropriate open source license.
*/

#ifndef __ROBOT_NODE_H__
#define __ROBOT_NODE_H__

enum NodeMeasure
{
    NM_Temperature       = 0x1,
    NM_Voltage           = 0x2,
    NM_Degrees           = 0x3
};

enum NodeAction
{
    NA_Rotate           = 0x1
};

enum NodePartType
{
    NT_AX12             = 0x1
};


class RobotNode
{
public:
    virtual bool HasMeasure(int measureId) = 0;
    
    virtual float GetMeasure(int measureId) = 0;
    
    virtual float GetLastMeasure(int measureId) = 0;
    
    virtual bool HasAction(int actionId) = 0;
    
    virtual bool DoAction(int actionId, float actionValue) = 0;
    
    virtual int GetLastError() = 0;
    
    virtual NodePartType GetNodeType() = 0;
};

#endif