Go to the documentation of this file.00001
00002 #ifndef __SERVOCONTROLLER_SERVICE_H__
00003 #define __SERVOCONTROLLER_SERVICE_H__
00004
00005 #include "hrpsys/idl/ServoControllerService.hh"
00006
00007 using namespace OpenHRP;
00008
00009 class ServoController;
00010
00011 class ServoControllerService_impl
00012 : public virtual POA_OpenHRP::ServoControllerService,
00013 public virtual PortableServer::RefCountServantBase
00014 {
00015 public:
00019 ServoControllerService_impl();
00020
00024 virtual ~ServoControllerService_impl();
00025
00026 CORBA::Boolean setJointAngle(const CORBA::Short id, CORBA::Double jv, CORBA::Double tm);
00027 CORBA::Boolean setJointAngles(const OpenHRP::ServoControllerService::dSequence& jvs, CORBA::Double tm);
00028 CORBA::Boolean getJointAngle(const CORBA::Short id, CORBA::Double &jv);
00029 CORBA::Boolean getJointAngles(OpenHRP::ServoControllerService::dSequence_out jvs);
00030
00031 CORBA::Boolean addJointGroup(const char* gname, const OpenHRP::ServoControllerService::iSequence& ids);
00032 CORBA::Boolean removeJointGroup(const char* gname);
00033 CORBA::Boolean setJointAnglesOfGroup(const char *gname, const OpenHRP::ServoControllerService::dSequence& jvs, CORBA::Double tm);
00034
00035 CORBA::Boolean setMaxTorque(const CORBA::Short id, const CORBA::Short percentage);
00036 CORBA::Boolean setReset(const CORBA::Short id);
00037 CORBA::Boolean getDuration(const CORBA::Short id, CORBA::Double &duration);
00038 CORBA::Boolean getSpeed(const CORBA::Short id, CORBA::Double &speed);
00039 CORBA::Boolean getMaxTorque(const CORBA::Short id, CORBA::Short &percentage);
00040 CORBA::Boolean getTorque(const CORBA::Short id, CORBA::Double &torque);
00041 CORBA::Boolean getTemperature(const CORBA::Short id, CORBA::Double &temperature);
00042 CORBA::Boolean getVoltage(const CORBA::Short id, CORBA::Double &voltage);
00043 CORBA::Boolean servoOn();
00044 CORBA::Boolean servoOff();
00045
00046 void servo(ServoController *i_servo);
00047 private:
00048 ServoController *m_servo;
00049 };
00050
00051 #endif