CARMA C++
DriveControlImpl.h
Go to the documentation of this file.
1 
10 #ifndef CARMA_ANTENNA_OVRO_DRIVECONTROLIMPL_H
11 #define CARMA_ANTENNA_OVRO_DRIVECONTROLIMPL_H
12 
13 #include "carma/corba/corba.h"
14 
15 #include "carma/antenna/common/DriveControl.h"
16 #include "carma/antenna/common/OpticalTelControl.h"
17 
18 #include <string>
19 
20 namespace log4cpp {
21  class Category;
22 } // namespace log4cpp
23 
24 namespace carma {
25 namespace antenna {
26 namespace ovro {
27 
28  class DriveEngine;
29 
34  public:
35 
39  explicit DriveControlImpl(
40  DriveEngine & driveEngine,
41  const ::std::string & opticalTelControlDOName,
42  bool simulate );
43 
44  virtual ~DriveControlImpl( ); // Prevent explicit destruction
45 
47  CORBA::ULong seq );
48 
49  void stop( );
50 
51  void trackSnow( );
52 
53  void trackWind( );
54 
55  void setAntLocation( CORBA::Double longitude,
56  CORBA::Double latitude,
57  CORBA::Double altitude );
58 
59  void setAzel( CORBA::Double az, CORBA::Double el, CORBA::ULong seq );
60 
61  void setAz( CORBA::Double az, CORBA::ULong seq );
62 
63  void setEl( CORBA::Double el, CORBA::ULong seq );
64 
65  void setMaxRate( CORBA::Float azRate, CORBA::Float elRate );
66 
67  void setAzMaxRate( CORBA::Float azRate );
68 
69  void setElMaxRate( CORBA::Float elRate );
70 
71  void track(
72  const char * source,
73  const carma::antenna::common::DriveControl::RaDecTriplet & positionTriplet,
75  CORBA::Boolean overTheTop,
76  CORBA::ULong seq );
77 
78  void updateRaDec(
79  const ::carma::antenna::common::DriveControl::RaDecEpoch & position,
81 
82  void updateWeather( CORBA::Float ambientTemp,
83  CORBA::Float barometricPressure,
84  CORBA::Float relativeHumidity,
85  CORBA::Float dewpointTemp,
86  CORBA::Float windSpeed,
87  CORBA::Float windDirection );
88 
89  void setMountOffset( CORBA::Double az,
90  CORBA::Double el,
91  CORBA::ULong seq );
92 
93  void setAzMountOffset( CORBA::Double az,
94  CORBA::ULong seq );
95 
96  void setElMountOffset( CORBA::Double el,
97  CORBA::ULong seq );
98 
99  void setOffset( CORBA::Double az,
100  CORBA::Double el,
101  CORBA::ULong seq );
102 
103  void setAzOffset( CORBA::Double az,
104  CORBA::ULong seq );
105 
106  void setElOffset( CORBA::Double el,
107  CORBA::ULong seq );
108 
109  void setAperturePointingConstants(
111  CORBA::Float azOffset,
112  CORBA::Float elOffset,
113  CORBA::Float sag );
114 
115  void setTiltmeterZero( CORBA::Float aftForward,
116  CORBA::Float leftRight );
117 
118  void selectAperture(
120 
121  void setTolerance( CORBA::Float tolerance );
122 
123  void setMountPointingConstants( CORBA::Double m1,
124  CORBA::Double m2,
125  CORBA::Double m3,
126  CORBA::Double m4,
127  CORBA::Double m5 );
128 
129  void setSafeRange( CORBA::Float azLow, CORBA::Float azHigh,
130  CORBA::Float elLow, CORBA::Float elHigh );
131 
132  void setRawDriveVoltages( CORBA::Float azVoltage,
133  CORBA::Float elVoltage );
134 
135  void setRawDriveRates( CORBA::Float azRateInDegPerMin,
136  CORBA::Float elRateInDegPerMin );
137 
138  void setEngineeringMode( CORBA::Boolean enable );
139 
140  void updateConfigurationData( );
141 
142  void freezeTilt( );
143 
144  void thawTilt( );
145 
146  void toggleBacklashCorrection( CORBA::Boolean enable );
147 
148  protected:
149 
150  private:
151 
152  DriveEngine & driveEngine_;
153 
154  const bool simulate_;
155  const ::std::string opticalTelControlDOName_;
156  carma::antenna::common::OpticalTelControl_var opticalTelControl_;
157 
158  }; // class DriveControlImpl
159 
160 }}} // namespace carma::antenna::ovro
161 
162 #endif
Drive control implementation.
Aperture
Enumerate apertures to use for selecting pointing models.
AzWrapMode
The azimuth drive can operate over more than a full circle, and the wrap logic dictates how the ambig...
Responsible for storing and maintaining drive parameters, calculating drive rate updates and regularl...
Definition: DriveEngine.h:51
DriveControlImpl(DriveEngine &driveEngine, const ::std::string &opticalTelControlDOName, bool simulate)
Constructor.
Position
Enumerate valid fixed positions for Stow.