|
uniset-algorithms 0.2
|
00001 #ifndef Diesel_H_ 00002 #define Diesel_H_ 00003 // ----------------------------------------------------------------------------- 00004 #include <TriggerOutput.h> 00005 #include <TriggerOR.h> 00006 #include <ObjectsManager.h> 00007 #include "ObjectMode.h" 00008 #include "DebugStream.h" 00009 #include "A2D.h" 00010 #include "Diesel_SK.h" 00011 // ------------------------------------------------------------------------------ 00013 class Diesel: 00014 public Diesel_SK 00015 { 00016 public: 00017 Diesel( unsigned int num, const std::string qname, ObjectsManager* master, xmlNode* node ); 00018 ~Diesel(); 00019 00020 virtual char* getName(); 00021 bool isProtection(); 00022 bool isOnMode(); 00023 inline ObjectMode getMode(){ return (ObjectMode)in_state_as; } 00024 00025 ObjectsManager* master; 00026 00028 // TriggerOutput<Diesel, UniSetTypes::ObjectId, bool>* msg; 00029 00030 friend std::ostream& operator<<(std::ostream& os, Diesel& am ); 00031 friend std::ostream& operator<<(std::ostream& os, Diesel* am ); 00032 00033 inline unsigned int getNumber(){ return num; } 00034 00035 static DebugStream dlog; 00036 static void init_dlog( DebugStream& dlog ); 00037 00038 protected: 00039 Diesel(); 00040 00041 virtual void step(); 00042 virtual void sensorInfo( UniSetTypes::SensorMessage *sm ); 00043 virtual void askSensors( UniversalIO::UIOCommand cmd ); 00044 virtual void sigterm( int signo ); 00045 00046 UniSetTypes::uniset_mutex valmutex; 00047 00048 private: 00049 unsigned int num; 00050 A2D a2d; 00051 }; 00052 // ------------------------------------------------------------------------------------------ 00053 #endif // Diesel_H_ 00054 // ------------------------------------------------------------------------------------------ 00055
1.7.4