CARMA C++
Drive.h
1 #ifndef DRIVE_H
2 #define DRIVE_H
3 
11 #include "carma/antenna/sza/antenna/corba/Corba.h"
12 
13 #include "carma/antenna/common/DriveControl.h"
14 
16 
20 namespace sza {
21  namespace antenna {
22  namespace corba {
23 
24 
25  class Drive {
26 
27  public:
28 
29  void scheduleNextSequenceNo(unsigned long seq);
30 
31  void setAntLocation(double longitude, double latitude,
32  double altitude);
33 
34  void setFiducialLocation(double longitude, double latitude,
35  double altitude);
36 
37  void setRelativeLocation(double north, double east, double up);
38 
39  void setAzel(double az, double el, unsigned long seq);
40 
41  void setAz(double az, unsigned long seq);
42 
43  void setEl(double el, unsigned long seq);
44 
45  void setMountOffset(double az, double el, unsigned long seq);
46 
47  void setEncoderCountsPerTurn(long az, long el);
48 
49  void setEncoderLimits(long azMin, long azMax,
50  long elMin, long elMax);
51 
52  void setEncoderZeros(double az, double el);
53 
54  void setEqnEqx(double mjd, double eqneqx);
55 
56  void setMaxRate(float azRate, float elRate);
57 
58  void setAzMaxRate(float azRate);
59 
60  void setElMaxRate(float elRate);
61 
63  model);
64 
65  void setRaDec(double mjd, double ra, double dec, double distance);
66 
67  void setRefrac(double a, double b );
68 
69  void setSlewRate(unsigned long axes,
70  long az, long el);
71 
72  void setUt1Utc(double mjd, double ut1utc);
73 
75  azWrapMode, bool elOverTheTop);
76 
77  void stop();
78 
79  void slew(const char* source, unsigned long axisMask,
80  double az, double el);
81 
82  void trackSnow();
83 
84  void trackWind();
85 
87  unsigned long seq);
88 
89  void track(const char* source,
90  const carma::antenna::common::DriveControl::RaDecTriplet& positionTriplet,
92  bool overTheTop,
93  unsigned long seq);
94 
95 
96  virtual void updateRaDec(const carma::antenna::common::DriveControl::RaDecEpoch& position,
98 
99  virtual void updateWeather(float ambientTemp,
100  float barometricPressure,
101  float relativeHumidity,
102  float dewpointTemp,
103  float windSpeed,
104  float windDirection);
105 
106  virtual void setAzMountOffset(double az, unsigned long seq);
107 
108  virtual void setElMountOffset(double el, unsigned long seq);
109 
110  virtual void setOffset(double az, double el, unsigned long seq);
111 
112  virtual void setAzOffset(double az, unsigned long seq);
113 
114  virtual void setElOffset(double el, unsigned long seq);
115 
116  virtual void setAperturePointingConstants(carma::antenna::common::DriveControl::Aperture aperture,
117  float azOffset,
118  float elOffset,
119  float sag);
120 
121  virtual void setTiltmeterZero(float aftForward,
122  float leftRight);
123 
124  virtual void setTolerance(float toleranceInArcsecs);
125 
126  virtual void setSafeRange(float azLow,
127  float azHigh,
128  float elLow,
129  float elHigh);
130 
131  }; // End namespace sza
132 
133  }; // End namespace corba
134  }; // End namespace antenna
135 }; // End namespace sza
136 
137 #endif
Tagged: Fri Nov 14 12:38:04 UTC 2003.
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...
Position
Enumerate valid fixed positions for Stow.