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:
Thu Dec 31 17:47:55 2015 +0000
Revision:
8:d98e2dec0f40
Parent:
4:36a4eceb1b7f
Child:
10:9b21566a5ddb
add taps

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 ActionBufSize 100
henryrawas 4:36a4eceb1b7f 14 #define ActionArgSize 40
henryrawas 4:36a4eceb1b7f 15
henryrawas 4:36a4eceb1b7f 16 class ActionGroup
henryrawas 4:36a4eceb1b7f 17 {
henryrawas 4:36a4eceb1b7f 18 public:
henryrawas 4:36a4eceb1b7f 19 ActionGroup() {};
henryrawas 4:36a4eceb1b7f 20
henryrawas 4:36a4eceb1b7f 21 bool SetAction(ArmAction aId, char* args);
henryrawas 4:36a4eceb1b7f 22
henryrawas 4:36a4eceb1b7f 23 ArmAction ActionId;
henryrawas 4:36a4eceb1b7f 24
henryrawas 4:36a4eceb1b7f 25 char ActionArg[ActionArgSize];
henryrawas 4:36a4eceb1b7f 26 };
henryrawas 4:36a4eceb1b7f 27
henryrawas 4:36a4eceb1b7f 28 extern SafeCircBuf<ActionGroup, ActionBufSize, uint32_t> ActionBuf;
henryrawas 4:36a4eceb1b7f 29
henryrawas 4:36a4eceb1b7f 30
henryrawas 4:36a4eceb1b7f 31 enum SequenceAction
henryrawas 4:36a4eceb1b7f 32 {
henryrawas 4:36a4eceb1b7f 33 SA_SetGoal = 0x1,
henryrawas 4:36a4eceb1b7f 34 SA_Delay = 0x2,
henryrawas 4:36a4eceb1b7f 35 SA_Status = 0x3,
henryrawas 4:36a4eceb1b7f 36 SA_Repeat = 0x4
henryrawas 4:36a4eceb1b7f 37 };
henryrawas 4:36a4eceb1b7f 38
henryrawas 4:36a4eceb1b7f 39 class ActionSequence
henryrawas 4:36a4eceb1b7f 40 {
henryrawas 4:36a4eceb1b7f 41 public:
henryrawas 4:36a4eceb1b7f 42 ActionSequence();
henryrawas 4:36a4eceb1b7f 43
henryrawas 4:36a4eceb1b7f 44 ActionSequence(SequenceAction aType);
henryrawas 4:36a4eceb1b7f 45
henryrawas 8:d98e2dec0f40 46 ActionSequence(SequenceAction aType, vector<float>& vals, int param);
henryrawas 4:36a4eceb1b7f 47
henryrawas 4:36a4eceb1b7f 48 void SetGoal(vector<float>& vals);
henryrawas 4:36a4eceb1b7f 49
henryrawas 8:d98e2dec0f40 50 void SetParam(int param);
henryrawas 4:36a4eceb1b7f 51
henryrawas 4:36a4eceb1b7f 52 void SetAction(SequenceAction aType);
henryrawas 4:36a4eceb1b7f 53
henryrawas 4:36a4eceb1b7f 54 SequenceAction ActionType;
henryrawas 4:36a4eceb1b7f 55
henryrawas 4:36a4eceb1b7f 56 vector<float> GoalVals;
henryrawas 4:36a4eceb1b7f 57
henryrawas 8:d98e2dec0f40 58 int Param;
henryrawas 4:36a4eceb1b7f 59
henryrawas 4:36a4eceb1b7f 60 };
henryrawas 4:36a4eceb1b7f 61
henryrawas 4:36a4eceb1b7f 62
henryrawas 4:36a4eceb1b7f 63 #endif