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

Committer:
henryrawas
Date:
Fri Jan 15 22:02:46 2016 +0000
Revision:
13:ffeff9b5e513
Parent:
10:9b21566a5ddb
Always test status and send data

Who changed what in which revision?

UserRevisionLine numberNew contents of line
henryrawas 4:36a4eceb1b7f 1 /*
henryrawas 4:36a4eceb1b7f 2 Copyright (c) 2015 Jonathan Pickett & Microsoft. Some appropriate open source license.
henryrawas 4:36a4eceb1b7f 3 */
henryrawas 4:36a4eceb1b7f 4
henryrawas 4:36a4eceb1b7f 5 #ifndef __ACTIONBUF_H__
henryrawas 4:36a4eceb1b7f 6 #define __ACTIONBUF_H__
henryrawas 4:36a4eceb1b7f 7
henryrawas 4:36a4eceb1b7f 8 #include "mbed.h"
henryrawas 4:36a4eceb1b7f 9 #include "SafeCircBuf.h"
henryrawas 4:36a4eceb1b7f 10 #include "RobotArm.h"
henryrawas 4:36a4eceb1b7f 11
henryrawas 4:36a4eceb1b7f 12
henryrawas 4:36a4eceb1b7f 13 #define ActionArgSize 40
henryrawas 4:36a4eceb1b7f 14
henryrawas 4:36a4eceb1b7f 15 class ActionGroup
henryrawas 4:36a4eceb1b7f 16 {
henryrawas 4:36a4eceb1b7f 17 public:
henryrawas 4:36a4eceb1b7f 18 ActionGroup() {};
henryrawas 4:36a4eceb1b7f 19
henryrawas 4:36a4eceb1b7f 20 bool SetAction(ArmAction aId, char* args);
henryrawas 4:36a4eceb1b7f 21
henryrawas 4:36a4eceb1b7f 22 ArmAction ActionId;
henryrawas 4:36a4eceb1b7f 23
henryrawas 4:36a4eceb1b7f 24 char ActionArg[ActionArgSize];
henryrawas 4:36a4eceb1b7f 25 };
henryrawas 4:36a4eceb1b7f 26
henryrawas 4:36a4eceb1b7f 27
henryrawas 4:36a4eceb1b7f 28
henryrawas 4:36a4eceb1b7f 29 enum SequenceAction
henryrawas 4:36a4eceb1b7f 30 {
henryrawas 4:36a4eceb1b7f 31 SA_SetGoal = 0x1,
henryrawas 4:36a4eceb1b7f 32 SA_Delay = 0x2,
henryrawas 13:ffeff9b5e513 33 SA_LoopBegin = 0x3,
henryrawas 13:ffeff9b5e513 34 SA_LoopEnd = 0x4
henryrawas 4:36a4eceb1b7f 35 };
henryrawas 4:36a4eceb1b7f 36
henryrawas 4:36a4eceb1b7f 37 class ActionSequence
henryrawas 4:36a4eceb1b7f 38 {
henryrawas 4:36a4eceb1b7f 39 public:
henryrawas 4:36a4eceb1b7f 40 ActionSequence();
henryrawas 4:36a4eceb1b7f 41
henryrawas 4:36a4eceb1b7f 42 ActionSequence(SequenceAction aType);
henryrawas 4:36a4eceb1b7f 43
henryrawas 13:ffeff9b5e513 44
henryrawas 13:ffeff9b5e513 45 ActionSequence(SequenceAction aType, int parts, const float vals[], int param);
henryrawas 4:36a4eceb1b7f 46
henryrawas 13:ffeff9b5e513 47 void SetGoal(int parts, const float vals[]);
henryrawas 4:36a4eceb1b7f 48
henryrawas 8:d98e2dec0f40 49 void SetParam(int param);
henryrawas 4:36a4eceb1b7f 50
henryrawas 4:36a4eceb1b7f 51 void SetAction(SequenceAction aType);
henryrawas 4:36a4eceb1b7f 52
henryrawas 4:36a4eceb1b7f 53 SequenceAction ActionType;
henryrawas 4:36a4eceb1b7f 54
henryrawas 13:ffeff9b5e513 55 float GoalVals[NUMJOINTS];
henryrawas 13:ffeff9b5e513 56
henryrawas 13:ffeff9b5e513 57 int NumParts;
henryrawas 4:36a4eceb1b7f 58
henryrawas 8:d98e2dec0f40 59 int Param;
henryrawas 4:36a4eceb1b7f 60
henryrawas 4:36a4eceb1b7f 61 };
henryrawas 4:36a4eceb1b7f 62
henryrawas 4:36a4eceb1b7f 63
henryrawas 4:36a4eceb1b7f 64 #endif