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:
Wed Jan 06 00:58:41 2016 +0000
Revision:
10:9b21566a5ddb
Parent:
8:d98e2dec0f40
Child:
13:ffeff9b5e513
Send status every minute. Add stress sequence. Use LED colors

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 10:9b21566a5ddb 36 SA_LoopBegin = 0x4,
henryrawas 10:9b21566a5ddb 37 SA_LoopEnd = 0x5
henryrawas 4:36a4eceb1b7f 38 };
henryrawas 4:36a4eceb1b7f 39
henryrawas 4:36a4eceb1b7f 40 class ActionSequence
henryrawas 4:36a4eceb1b7f 41 {
henryrawas 4:36a4eceb1b7f 42 public:
henryrawas 4:36a4eceb1b7f 43 ActionSequence();
henryrawas 4:36a4eceb1b7f 44
henryrawas 4:36a4eceb1b7f 45 ActionSequence(SequenceAction aType);
henryrawas 4:36a4eceb1b7f 46
henryrawas 8:d98e2dec0f40 47 ActionSequence(SequenceAction aType, vector<float>& vals, int param);
henryrawas 4:36a4eceb1b7f 48
henryrawas 10:9b21566a5ddb 49 ActionSequence(SequenceAction aType, int parts, float vals[], int param);
henryrawas 10:9b21566a5ddb 50
henryrawas 4:36a4eceb1b7f 51 void SetGoal(vector<float>& vals);
henryrawas 4:36a4eceb1b7f 52
henryrawas 8:d98e2dec0f40 53 void SetParam(int param);
henryrawas 4:36a4eceb1b7f 54
henryrawas 4:36a4eceb1b7f 55 void SetAction(SequenceAction aType);
henryrawas 4:36a4eceb1b7f 56
henryrawas 4:36a4eceb1b7f 57 SequenceAction ActionType;
henryrawas 4:36a4eceb1b7f 58
henryrawas 4:36a4eceb1b7f 59 vector<float> GoalVals;
henryrawas 4:36a4eceb1b7f 60
henryrawas 8:d98e2dec0f40 61 int Param;
henryrawas 4:36a4eceb1b7f 62
henryrawas 4:36a4eceb1b7f 63 };
henryrawas 4:36a4eceb1b7f 64
henryrawas 4:36a4eceb1b7f 65
henryrawas 4:36a4eceb1b7f 66 #endif