Communicate with IAI Robotnet linear actuators

Dependents:   IAILinearActuators

Committer:
henryeherman
Date:
Mon Feb 24 05:54:34 2014 +0000
Revision:
0:de88dc2515d3
Initial commit of IAI code to mbed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
henryeherman 0:de88dc2515d3 1 #ifndef LINACT_H
henryeherman 0:de88dc2515d3 2 #define LINACT_H
henryeherman 0:de88dc2515d3 3
henryeherman 0:de88dc2515d3 4 #include <linactregdefs.h>
henryeherman 0:de88dc2515d3 5 #include <linactbuf.h>
henryeherman 0:de88dc2515d3 6 #include <cstdio>
henryeherman 0:de88dc2515d3 7 #include <cstring>
henryeherman 0:de88dc2515d3 8
henryeherman 0:de88dc2515d3 9
henryeherman 0:de88dc2515d3 10 #if DBGLINACTBUF
henryeherman 0:de88dc2515d3 11 #define LINACTDBG(x, ...) std::printf("[LinAct:DBG]"x"\r\n", ##__VA_ARGS__);
henryeherman 0:de88dc2515d3 12 #define LINACTWARN(x, ...) std::printf("[LinAct:WARN]"x"\r\n", ##__VA_ARGS__);
henryeherman 0:de88dc2515d3 13 #define LINACTERR(x, ...) std::printf("[LinAct:ERR]"x"\r\n", ##__VA_ARGS__);
henryeherman 0:de88dc2515d3 14 #else
henryeherman 0:de88dc2515d3 15 #define LINACTDBG(x, ...)
henryeherman 0:de88dc2515d3 16 #define LINACTWARN(x, ...)
henryeherman 0:de88dc2515d3 17 #define LINACTERR(x, ...)
henryeherman 0:de88dc2515d3 18 #endif
henryeherman 0:de88dc2515d3 19
henryeherman 0:de88dc2515d3 20 #define LINACTINFO(x, ...) std::printf("[LinAct:INFO]"x"\r\n", ##__VA_ARGS__);
henryeherman 0:de88dc2515d3 21
henryeherman 0:de88dc2515d3 22
henryeherman 0:de88dc2515d3 23
henryeherman 0:de88dc2515d3 24 namespace IAI {
henryeherman 0:de88dc2515d3 25
henryeherman 0:de88dc2515d3 26 const float NOTPOSMSGERR = -999999.0;
henryeherman 0:de88dc2515d3 27
henryeherman 0:de88dc2515d3 28 class LinearActuator {
henryeherman 0:de88dc2515d3 29
henryeherman 0:de88dc2515d3 30 public:
henryeherman 0:de88dc2515d3 31 LinActBuf buffer;
henryeherman 0:de88dc2515d3 32 LinearActuator();
henryeherman 0:de88dc2515d3 33 ~LinearActuator();
henryeherman 0:de88dc2515d3 34 unsigned short getAxisReadAddress(unsigned int axisid);
henryeherman 0:de88dc2515d3 35 unsigned short getAxisWriteAddress(unsigned int axisid);
henryeherman 0:de88dc2515d3 36 LinActBuf * getGwStatusStr();
henryeherman 0:de88dc2515d3 37 LinActBuf * getGwStartStr();
henryeherman 0:de88dc2515d3 38 LinActBuf * getAxisStatus(unsigned int axisid);
henryeherman 0:de88dc2515d3 39 LinActBuf * getAxisPos(unsigned int axisid);
henryeherman 0:de88dc2515d3 40 LinActBuf * getSetAxisPos(unsigned int axisid,
henryeherman 0:de88dc2515d3 41 unsigned int position);
henryeherman 0:de88dc2515d3 42 LinActBuf * getAxisStart(unsigned int axisid);
henryeherman 0:de88dc2515d3 43 LinActBuf * getAxisPause(unsigned int axisid);
henryeherman 0:de88dc2515d3 44 LinActBuf * getAxisReset(unsigned int axisid);
henryeherman 0:de88dc2515d3 45 LinActBuf * getAxisHome(unsigned int axisid);
henryeherman 0:de88dc2515d3 46 LinActBuf * getAxisOn(unsigned int axisid);
henryeherman 0:de88dc2515d3 47 LinActBuf * getAxisBrakeRelease(unsigned int axisid);
henryeherman 0:de88dc2515d3 48
henryeherman 0:de88dc2515d3 49
henryeherman 0:de88dc2515d3 50 float getPosition();
henryeherman 0:de88dc2515d3 51
henryeherman 0:de88dc2515d3 52 LinActBuf * getBuffer();
henryeherman 0:de88dc2515d3 53
henryeherman 0:de88dc2515d3 54 void send();
henryeherman 0:de88dc2515d3 55 LinActBuf * receiveStdin(int len);
henryeherman 0:de88dc2515d3 56
henryeherman 0:de88dc2515d3 57 LinActBuf * pushByteRxBuffer(char c);
henryeherman 0:de88dc2515d3 58
henryeherman 0:de88dc2515d3 59 int checkChecksum();
henryeherman 0:de88dc2515d3 60
henryeherman 0:de88dc2515d3 61 };
henryeherman 0:de88dc2515d3 62
henryeherman 0:de88dc2515d3 63 }
henryeherman 0:de88dc2515d3 64
henryeherman 0:de88dc2515d3 65 #endif /* LINACT_H */