|
orca-robotics INTRODUCTION Overview Download and Install Quick Start Documentation Publications REPOSITORY Interfaces Components Libraries Utilities Software Map DEVELOPER Tutorials Examples Dev Guide Dashboard Wiki login/pass: orca/orca PEOPLE Contributors Users Project Download Mailing lists
|
estopinterface.h00001 #ifndef SEGWAYRMP_ESTOP_INTERFACE_H 00002 #define SEGWAYRMP_ESTOP_INTERFACE_H 00003 00004 #include <IceUtil/Mutex.h> 00005 #include <orcaifaceimpl/estop.h> 00006 #include <gbxsickacfr/gbxiceutilacfr/timer.h> 00007 00008 namespace segwayrmp { 00009 00010 // 00011 // @brief Establishes an orca::EStopInterface interface, and works out when 00012 // the e-stop needs to be activated. 00013 // 00014 // Implementation: completes the generic EStopImpl by providing local functionality 00015 // of AbstractEStopCallback. 00016 // 00017 // Note: we begin in the EStopInterface-triggered state: ie we're not moving unless 00018 // someone explicitly says it's OK. 00019 // 00020 // @author Alex Brooks 00021 // 00022 class EStopInterface : public orcaifaceimpl::AbstractEStopCallback 00023 { 00024 00025 public: 00026 00027 EStopInterface( double keepAlivePeriodSec, const orcaice::Context &context ); 00028 00029 // Sets up the Ice interface 00030 void initInterface( gbxiceutilacfr::Thread* thread ); 00031 00032 // If true, we should _NOT_MOVE_ !! 00033 bool isEStopTriggered(); 00034 00035 // Inherited from orcaifaceimpl::AbstractEStopCallback 00036 void activateEStop(); 00037 void keepAlive(); 00038 double getRequiredKeepAlivePeriodSec(); 00039 void setToOperatingMode(); 00040 00041 private: 00042 00043 IceUtil::Mutex mutex_; 00044 00045 bool isEStopTriggered_; 00046 double keepAlivePeriodSec_; 00047 gbxiceutilacfr::Timer keepAliveTimer_; 00048 00049 orcaifaceimpl::EStopImplPtr eStopImpl_; 00050 00051 orcaice::Context context_; 00052 00053 }; 00054 00055 } 00056 00057 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)
1.4.5