INTRODUCTION Overview Download and Install Quick Start Documentation Publications NONFRAMEWORK CODE Driver Interfaces Drivers Libraries Utilities FRAMEWORK CODE Interfaces Components Libraries Utilities Full Software Listings DEVELOPER Tutorials Examples Dev Guide Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
estopmonitor.h00001 #ifndef ORCAESTOPUTIL_ESTOPMONITOR_H 00002 #define ORCAESTOPUTIL_ESTOPMONITOR_H 00003 00004 #include <IceUtil/Mutex.h> 00005 #include <orca/estop.h> 00006 #include <gbxsickacfr/gbxiceutilacfr/timer.h> 00007 00008 namespace orcaestoputil { 00009 00010 // 00011 // @brief thread-safe class that maintains the state of the e-stop 00012 // 00013 // @author Alex Brooks 00014 // 00015 class EStopMonitor 00016 { 00017 00018 public: 00019 00020 EStopMonitor( const orca::EStopDescription &description ); 00021 00022 // The reason is only set if the e-stop is triggered. 00023 bool isEStopTriggered( std::string &reason ) const; 00024 void addData( const orca::EStopData &data ); 00025 00026 private: 00027 00028 mutable IceUtil::Mutex mutex_; 00029 00030 const orca::EStopDescription description_; 00031 00032 orca::EStopData state_; 00033 00034 gbxiceutilacfr::Timer keepAliveTimer_; 00035 }; 00036 00037 } 00038 00039 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)