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:
2016-01-06
Revision:
11:3a2e6eb9fbb8
Parent:
9:a0fb6c370dbb
Child:
12:ac6c9d7f8c40

File content as of revision 11:3a2e6eb9fbb8:

/* 
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,
    NA_ClearError       = 0x2
};

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