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-31
Revision:
9:a0fb6c370dbb
Parent:
8:d98e2dec0f40
Child:
11:3a2e6eb9fbb8

File content as of revision 9:a0fb6c370dbb:

/* 
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,
    NM_Load             = 0x4
};

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 bool HasError() = 0;
    
    virtual NodePartType GetNodeType() = 0;
};

#endif