Loading Medicina/Servers/MedicinaMinorServo/include/DevIOMotionInfo.h 0 → 100644 +51 −0 Original line number Diff line number Diff line #ifndef _DEVIOMOTIONINFO_H_ #define _DEVIOMOTIONINFO_H_ #include <baciDevIO.h> #include <IRA> #include "MedMinorServoParameters.hpp" using namespace baci; /** * This class is derived from the template DevIO. It is used by the by the mode property. * @author <a href=mailto:a.orlati@ira.inaf.it>Andrea Orlati</a>, * Istituto di Radioastronomia, Italia<br> */ class DevIOMotionInfo: public virtual DevIO<ACE_CString> { public: DevIOMotionInfo(MedMinorServoStatus *status): m_status(status) { AUTO_TRACE("DevIOMotionInfo::DevIOMotionInfo()"); } ~DevIOMotionInfo() { AUTO_TRACE("DevIOMotionInfo::~DevIOMotionInfo()"); } bool initializeValue(){ return false; } ACE_CString read(ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl) { AUTO_TRACE("DevIOMotionInfo::read()"); timestamp=getTimeStamp(); if(m_status){ return (m_status->getStatusString()).c_str(); }else{ return "unconfigured"; } } void write(const ACE_CString& value, ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl) { AUTO_TRACE("DevIOActualSetup::write()"); } private: MedMinorServoStatus *m_status; }; #endif Medicina/Servers/MedicinaMinorServo/include/DevIOTracking.h 0 → 100644 +53 −0 Original line number Diff line number Diff line #ifndef DEVIOTRACKING_H_ #define DEVIOTRACKING_H_ #include <baciDevIO.h> #include "MedMinorServoControl.hpp" using namespace baci; class DevIOTracking: public virtual DevIO<Management::TBoolean> { public: DevIOTracking(MedMinorServoControl_sp control): m_control(control) { AUTO_TRACE("DevIOTracking::DevIOTracking()"); } ~DevIOTracking() { AUTO_TRACE("DevIOTracking::~DevIOTracking()"); } bool initializeValue() { return false; } Management::TBoolean read(ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl) { AUTO_TRACE("DevIOTracking::read()"); timestamp=getTimeStamp(); if (m_control->is_tracking()) { m_val=Management::MNG_TRUE; } else { m_val=Management::MNG_FALSE; } return m_val; } void write(const ACE_CString &value, ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl) { AUTO_TRACE("DevIOTracking::write()"); } private: MedMinorServoControl_sp m_control; Management::TBoolean m_val; }; #endif /*DEVIOTRACKING_H_*/ Medicina/Servers/MedicinaMinorServo/include/MedMinorServoStatus.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ class MedMinorServoStatus Management::TSystemStatus status; void reset(); MedMinorServoStatus& operator=(const MedMinorServoStatus&); std::string getStatusString(); private: MedMinorServoStatus(const MedMinorServoStatus&); }; Loading Medicina/Servers/MedicinaMinorServo/include/MinorServoBossImpl.h +6 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,8 @@ #include "DevIOElevationTrack.h" //#include "DevIOParking.h" #include "DevIOReady.h" #include "DevIOMotionInfo.h" #include "DevIOTracking.h" #include "DevIOScanActive.h" #include "DevIOScanning.h" #include "DevIOStarting.h" Loading Loading @@ -203,6 +205,8 @@ public: virtual Management::ROTSystemStatus_ptr status() throw (CORBA::SystemException); virtual Management::ROTBoolean_ptr ready() throw (CORBA::SystemException); virtual ACS::ROstring_ptr actualSetup() throw (CORBA::SystemException); virtual ACS::ROstring_ptr motionInfo() throw (CORBA::SystemException); virtual Management::ROTBoolean_ptr tracking() throw (CORBA::SystemException); virtual Management::ROTBoolean_ptr starting() throw (CORBA::SystemException); virtual Management::ROTBoolean_ptr asConfiguration() throw (CORBA::SystemException); virtual Management::ROTBoolean_ptr elevationTrack() throw (CORBA::SystemException); Loading Loading @@ -485,6 +489,8 @@ private: baci::SmartPropertyPointer< ROEnumImpl<ACS_ENUM_T(Management::TSystemStatus), POA_Management::ROTSystemStatus> > m_status; baci::SmartPropertyPointer< ROEnumImpl<ACS_ENUM_T(Management::TBoolean),POA_Management::ROTBoolean> > m_ready; baci::SmartPropertyPointer<baci::ROstring> m_actualSetup; baci::SmartPropertyPointer<baci::ROstring> m_motionInfo; baci::SmartPropertyPointer< ROEnumImpl<ACS_ENUM_T(Management::TBoolean),POA_Management::ROTBoolean> > m_tracking; baci::SmartPropertyPointer< ROEnumImpl<ACS_ENUM_T(Management::TBoolean),POA_Management::ROTBoolean> > m_starting; baci::SmartPropertyPointer< ROEnumImpl<ACS_ENUM_T(Management::TBoolean),POA_Management::ROTBoolean> > m_asConfiguration; baci::SmartPropertyPointer< ROEnumImpl<ACS_ENUM_T(Management::TBoolean),POA_Management::ROTBoolean> > m_elevationTrack; Loading Medicina/Servers/MedicinaMinorServo/src/MedMinorServoStatus.cpp +19 −0 Original line number Diff line number Diff line #include <string> #include "MedMinorServoStatus.hpp" MedMinorServoStatus::MedMinorServoStatus(): Loading @@ -15,6 +16,24 @@ MedMinorServoStatus::MedMinorServoStatus(): MedMinorServoStatus::~MedMinorServoStatus() {} std::string MedMinorServoStatus::getStatusString() { if(starting) return "STARTING"; if(ready) return "READY"; if(scan_active) return "SCAN_ACTIVE"; if(scanning) return "SCANNING"; if(parking) return "PARKING"; if(parked) return "PARKED"; return "UNDEFINED"; } void MedMinorServoStatus::reset() { Loading Loading
Medicina/Servers/MedicinaMinorServo/include/DevIOMotionInfo.h 0 → 100644 +51 −0 Original line number Diff line number Diff line #ifndef _DEVIOMOTIONINFO_H_ #define _DEVIOMOTIONINFO_H_ #include <baciDevIO.h> #include <IRA> #include "MedMinorServoParameters.hpp" using namespace baci; /** * This class is derived from the template DevIO. It is used by the by the mode property. * @author <a href=mailto:a.orlati@ira.inaf.it>Andrea Orlati</a>, * Istituto di Radioastronomia, Italia<br> */ class DevIOMotionInfo: public virtual DevIO<ACE_CString> { public: DevIOMotionInfo(MedMinorServoStatus *status): m_status(status) { AUTO_TRACE("DevIOMotionInfo::DevIOMotionInfo()"); } ~DevIOMotionInfo() { AUTO_TRACE("DevIOMotionInfo::~DevIOMotionInfo()"); } bool initializeValue(){ return false; } ACE_CString read(ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl) { AUTO_TRACE("DevIOMotionInfo::read()"); timestamp=getTimeStamp(); if(m_status){ return (m_status->getStatusString()).c_str(); }else{ return "unconfigured"; } } void write(const ACE_CString& value, ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl) { AUTO_TRACE("DevIOActualSetup::write()"); } private: MedMinorServoStatus *m_status; }; #endif
Medicina/Servers/MedicinaMinorServo/include/DevIOTracking.h 0 → 100644 +53 −0 Original line number Diff line number Diff line #ifndef DEVIOTRACKING_H_ #define DEVIOTRACKING_H_ #include <baciDevIO.h> #include "MedMinorServoControl.hpp" using namespace baci; class DevIOTracking: public virtual DevIO<Management::TBoolean> { public: DevIOTracking(MedMinorServoControl_sp control): m_control(control) { AUTO_TRACE("DevIOTracking::DevIOTracking()"); } ~DevIOTracking() { AUTO_TRACE("DevIOTracking::~DevIOTracking()"); } bool initializeValue() { return false; } Management::TBoolean read(ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl) { AUTO_TRACE("DevIOTracking::read()"); timestamp=getTimeStamp(); if (m_control->is_tracking()) { m_val=Management::MNG_TRUE; } else { m_val=Management::MNG_FALSE; } return m_val; } void write(const ACE_CString &value, ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl) { AUTO_TRACE("DevIOTracking::write()"); } private: MedMinorServoControl_sp m_control; Management::TBoolean m_val; }; #endif /*DEVIOTRACKING_H_*/
Medicina/Servers/MedicinaMinorServo/include/MedMinorServoStatus.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ class MedMinorServoStatus Management::TSystemStatus status; void reset(); MedMinorServoStatus& operator=(const MedMinorServoStatus&); std::string getStatusString(); private: MedMinorServoStatus(const MedMinorServoStatus&); }; Loading
Medicina/Servers/MedicinaMinorServo/include/MinorServoBossImpl.h +6 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,8 @@ #include "DevIOElevationTrack.h" //#include "DevIOParking.h" #include "DevIOReady.h" #include "DevIOMotionInfo.h" #include "DevIOTracking.h" #include "DevIOScanActive.h" #include "DevIOScanning.h" #include "DevIOStarting.h" Loading Loading @@ -203,6 +205,8 @@ public: virtual Management::ROTSystemStatus_ptr status() throw (CORBA::SystemException); virtual Management::ROTBoolean_ptr ready() throw (CORBA::SystemException); virtual ACS::ROstring_ptr actualSetup() throw (CORBA::SystemException); virtual ACS::ROstring_ptr motionInfo() throw (CORBA::SystemException); virtual Management::ROTBoolean_ptr tracking() throw (CORBA::SystemException); virtual Management::ROTBoolean_ptr starting() throw (CORBA::SystemException); virtual Management::ROTBoolean_ptr asConfiguration() throw (CORBA::SystemException); virtual Management::ROTBoolean_ptr elevationTrack() throw (CORBA::SystemException); Loading Loading @@ -485,6 +489,8 @@ private: baci::SmartPropertyPointer< ROEnumImpl<ACS_ENUM_T(Management::TSystemStatus), POA_Management::ROTSystemStatus> > m_status; baci::SmartPropertyPointer< ROEnumImpl<ACS_ENUM_T(Management::TBoolean),POA_Management::ROTBoolean> > m_ready; baci::SmartPropertyPointer<baci::ROstring> m_actualSetup; baci::SmartPropertyPointer<baci::ROstring> m_motionInfo; baci::SmartPropertyPointer< ROEnumImpl<ACS_ENUM_T(Management::TBoolean),POA_Management::ROTBoolean> > m_tracking; baci::SmartPropertyPointer< ROEnumImpl<ACS_ENUM_T(Management::TBoolean),POA_Management::ROTBoolean> > m_starting; baci::SmartPropertyPointer< ROEnumImpl<ACS_ENUM_T(Management::TBoolean),POA_Management::ROTBoolean> > m_asConfiguration; baci::SmartPropertyPointer< ROEnumImpl<ACS_ENUM_T(Management::TBoolean),POA_Management::ROTBoolean> > m_elevationTrack; Loading
Medicina/Servers/MedicinaMinorServo/src/MedMinorServoStatus.cpp +19 −0 Original line number Diff line number Diff line #include <string> #include "MedMinorServoStatus.hpp" MedMinorServoStatus::MedMinorServoStatus(): Loading @@ -15,6 +16,24 @@ MedMinorServoStatus::MedMinorServoStatus(): MedMinorServoStatus::~MedMinorServoStatus() {} std::string MedMinorServoStatus::getStatusString() { if(starting) return "STARTING"; if(ready) return "READY"; if(scan_active) return "SCAN_ACTIVE"; if(scanning) return "SCANNING"; if(parking) return "PARKING"; if(parked) return "PARKED"; return "UNDEFINED"; } void MedMinorServoStatus::reset() { Loading