#ifndef _SVRDATA_H_ #define _SVRDATA_H_ #include #include #include #include "Singleton.h" #include "friComm.h" class SvrData: public Singleton { private: struct { float jointPos[LBR_MNJ]; float cartPos[FRI_CART_FRM_DIM]; float jacobian[FRI_CART_VEC * LBR_MNJ]; float forceAndTorque[FRI_CART_VEC]; } messured; struct { float jointPos[LBR_MNJ]; float cartPos[FRI_CART_FRM_DIM]; float pose[3][4]; //TODO what is this for } commanded; float velocity; float accelaration; struct { struct { float* velocity; float* accelaration; float* torque; float* range; } max; unsigned int joints; } robot; pthread_mutex_t mutexsum; /// private constructor, because the database is a singleton SvrData(); static bool instanceFlag; static SvrData* single; public: ~SvrData(void); SvrData* getInstance(); float getMaxTorque(unsigned int pos); int getMaxTorque(float* data, size_t size); float getMaxAccelaration(unsigned int pos); int getMaxAccelaration(float* data, size_t size); float getMaxRange(unsigned int pos); int getMaxRange(float* data, size_t size); unsigned int getJoints(); float getTrajectoryVelocity(); int setTrajectoryVelocity(float); float getTrajectoryAccelaration(); float setTrajectoryAccelaration(float); }; #endif