00001 // 00002 // C++ Interface: kmlCommon 00003 // 00004 // Description: 00005 // 00006 // 00007 // Author: Tiziano Müller <tiziano.mueller@neuronics.ch>, (C) 2006 00008 // 00009 // Copyright: See COPYING file that comes with this distribution 00010 // 00011 // 00012 00013 #ifndef KMLCOMMON_H 00014 #define KMLCOMMON_H 00015 00016 #include "common/exception.h" 00017 #include <string> 00018 00019 #define TM_ENDLESS -1 //!< timeout symbol for 'endless' waiting 00020 00021 #if !defined (BYTE_DECLARED) 00022 #define BYTE_DECLARED 00023 typedef unsigned char byte; 00024 #endif 00025 00030 00031 00035 class SlaveErrorException : public Exception { 00036 public: 00037 SlaveErrorException() throw (): 00038 Exception("Internal Slave Error", -31) {} 00039 }; 00040 00044 class ParameterReadingException : public Exception { 00045 public: 00046 ParameterReadingException(const std::string ¶) throw (): 00047 Exception("Reading '" + para + "' parameters failed", -32) {} 00048 }; 00049 00053 class ParameterWritingException : public Exception { 00054 public: 00055 ParameterWritingException(const std::string ¶) throw (): 00056 Exception("Writing '" + para + "' parameters failed", -33) {} 00057 }; 00058 00062 class WrongParameterException : public Exception { 00063 public: 00064 WrongParameterException(const std::string ¶) throw (): 00065 Exception("Wrong parameters '" + para + "' set", -34) {} 00066 }; 00067 00071 class MotorOutOfRangeException : public Exception { 00072 public: 00073 MotorOutOfRangeException() throw (): 00074 Exception("Encoders for motor are out of range", -35) {} 00075 }; 00076 00080 class MotorTimeoutException : public Exception { 00081 public: 00082 MotorTimeoutException() throw (): 00083 Exception("Motor timeout", -36) {} 00084 }; 00085 00089 class MotorCrashException : public Exception { 00090 public: 00091 MotorCrashException() throw (): 00092 Exception("Motor crashed", -37) {} 00093 }; 00094 00098 00099 00100 00101 00102 00103 00104 #endif