Main Page | Class List | File List | Class Members

MyMip.h

00001 // Copyright (c) 2004, Thomas Lochmatter, thl@lothosoft.ch 00002 00003 #ifndef classMyMip 00004 #define classMyMip 00005 00006 class MyMip; 00007 00008 #include <string> 00009 #include <mip/MipDevice.h> 00010 #include <mip/Constants.h> 00011 00017 class MyMip: public EventInterface, public MipDevice { 00018 00019 private: 00021 bool mDriveMotor; 00023 double mAngleNow; 00025 bool mHome; 00027 bool mMoving; 00029 bool mReferenced; 00031 int mError; 00033 int mWarning; 00034 00036 void SendAngle(double angle); 00037 00038 public: 00040 MyMip(MipManager *mm, const std::string &device, int baudrate, int deviceid); 00041 00043 void Initialize(); 00045 void Terminate(); 00046 00047 // Overwritten MipDevice methods 00048 virtual void OnReceivedReadAxisStatus(int cmdid, eAxisStatusFlags status); 00049 virtual void OnReceivedReadError(int cmdid, eError error); 00050 virtual void OnReceivedClearError(int cmdid) {} 00051 virtual void OnReceivedReadWarning(int cmdid, eWarning warning); 00052 virtual void OnReceivedClearWarning(int cmdid) {} 00053 virtual void OnReceivedReadVersion(int cmdid, int command_interpreter_version, int runtime_library_version, int hardware_revision, int bootrom_version, int application_number, int application_version) {} 00054 virtual void OnReceivedSetPosVelocity(int cmdid) {} 00055 virtual void OnReceivedSetWaitMode(int cmdid) {} 00056 virtual void OnReceivedMoveAbsolute(int cmdid) {} 00057 virtual void OnReceivedMoveRelative(int cmdid) {} 00058 virtual void OnReceivedStopMotion(int cmdid) {} 00059 virtual void OnReceivedFindHomeSys(int cmdid) {} 00060 virtual void OnReceivedReadPosition(int cmdid, int position); 00061 virtual void OnReceivedReadVelocity(int cmdid, int position) {} 00062 virtual void OnReceivedReadVelocityMean(int cmdid, int position) {} 00063 virtual void OnReceivedReadCurrent(int cmdid, int position) {} 00064 virtual void OnReceivedCheckCRC(int cmdid, bool ok, int crc) {} 00065 00066 // Overwritten EventInterface methods 00067 void OnEvent(); 00068 00070 int AngleToPosition(double angle); 00072 double PositionToAngle(int position); 00074 double ShortestAngle(double anglemust, double anglenow); 00075 00077 double DegToRad(double angle) {return angle/180*PI;} 00079 double RadToDeg(double angle) {return angle/PI*180;} 00080 }; 00081 00082 #endif

Generated on Wed Jun 1 09:18:58 2005 for libmip Sample Application by doxygen 1.3.8