Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.apo.nmsu.edu/Telescopes/TCC/html/basics_8h_source.html
Дата изменения: Tue Sep 15 02:25:37 2015
Дата индексирования: Sun Apr 10 00:26:58 2016
Кодировка:

Поисковые слова: п п п п п п п п п п п
lsst.tcc: include/tcc/basics.h Source File
lsst.tcc  1.2.2-3-g89ecb63
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
basics.h
Go to the documentation of this file.
1 #pragma once
2 /*
3 Basic definitions.
4 
5 Note:
6  The units used are degrees and seconds,
7  and absolute time is TAI in MJD (in sec), unless otherwise noted.
8 */
9 #include <cmath>
10 #include <map>
11 #include <string>
12 
13 namespace tcc {
14 
15  const int NAxes = 3; //< Number of telescope mount axes (Az, Alt, Rot)
16 
17  const double DeltaTForVel = 0.1; //< time between adjacent coordinate conversions for computing velocity (sec)
18 
25  double tai();
26 
32  enum RotTypeEnum {
33  RotType_Begin = 0, // invalid value used for range checking
34  RotType_None = 0, // do not rotate (obj.rotUser is ignored)
35  RotType_Object = 1, // angle of user coord axis 1 w.r.t. inst x at the un-arc-offset object position
36  RotType_Horizon = 2, // angle of increasing azimuth w.r.t. inst x at the un-arc-offset object position
37  // 3 was used for physical rotation
38  RotType_Mount = 4, // angle of rotator w.r.t. its mount, in controller units, with no wrap
39  RotType_End = 4 // invalid value used for range checking
40  };
41 
47  enum WrapTypeEnum {
48  WrapType_Begin = -1, // invalid value used for range checking
49  WrapType_None = -1, // no wrap specified; only permitted for mount coordinates
50  WrapType_Nearest = 0, // choose wrap with nearest position
51  WrapType_Negative = 1, // choose wrap with most negative value
52  WrapType_Middle = 2, // choose wrap closest to middle of total range
53  WrapType_Positive = 3, // choose wrap with most positive position
54  WrapType_NoUnwrap = 4, // like nearest, but keep moving into a limit rather than unwrapping
55  WrapType_End = 4 // invalid value used for range checking
56  };
57 
68  AxisState_Slewing = 2, // slewing to track
69  AxisState_Halting = 3, // slewing to a controlled halt
73  };
74 
75 
84  enum AxisErrEnum {
86  AxisErr_HaltRequested = -3, // user explicitly halted the axis
87  AxisErr_NoRestart = -2, // axis left halted via /NoRestart
88  AxisErr_NotAvailable = -1, // device not available
96  AxisErr_ControllerErr = 7, // controller or communication error
98  AxisErr_BadCode = 9, // invalid error code
100  };
101 
102  struct IPDevice {
103  std::string ipAddrStr; // IP address string
104  float port; // IP port; 0 if no device
105  };
106 
107 }
RotTypeEnum
Definition: basics.h:32
AxisErrEnum
Definition: basics.h:84
float port
Definition: basics.h:104
std::string ipAddrStr
Definition: basics.h:103
WrapTypeEnum
Definition: basics.h:47
const double DeltaTForVel
Definition: basics.h:17
AxisStateEnum
Definition: basics.h:63
double tai()
Definition: tai.cc:7
const int NAxes
Definition: basics.h:15