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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers RobotNode.h Source File

RobotNode.h

00001 // Copyright (c) Microsoft. All rights reserved.
00002 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
00003 
00004 #ifndef __ROBOT_NODE_H__
00005 #define __ROBOT_NODE_H__
00006 
00007 enum NodeMeasure
00008 {
00009     NM_Temperature      = 0x1,
00010     NM_Voltage          = 0x2,
00011     NM_Degrees          = 0x3,
00012     NM_Load             = 0x4
00013 };
00014 
00015 enum NodeAction
00016 {
00017     NA_Ping             = 0x1,
00018     NA_Init             = 0x2,
00019     NA_Rotate           = 0x3,
00020     NA_ClearError       = 0x4
00021 };
00022 
00023 enum NodePartType
00024 {
00025     NT_AX12             = 0x1,
00026     NT_Emul             = 0x7f
00027 };
00028 
00029 
00030 class RobotNode
00031 {
00032 public:
00033     virtual bool HasMeasure(int measureId) = 0;
00034     
00035     virtual float GetMeasure(int measureId) = 0;
00036     
00037     virtual void ClearMeasureCache() = 0;
00038     
00039     virtual bool HasAction(int actionId) = 0;
00040     
00041     virtual bool DoAction(int actionId, float actionValue) = 0;
00042     
00043     virtual int GetLastError() = 0;
00044     
00045     virtual bool HasError() = 0;
00046     
00047     virtual NodePartType GetNodeType() = 0;
00048 };
00049 
00050 #endif