source: trunk/Cosy/tcpip/MDriveCom.h@ 20046

Last change on this file since 20046 was 12599, checked in by tbretz, 13 years ago
Added a command to set the LED brightness in FACT; changed the units of the errors in FACT; make use of the 'real' MJD in the report; added the pdo3 status to the end of the report
File size: 2.0 KB
Line 
1#ifndef COSY_MDriveCom
2#define COSY_MDriveCom
3
4#ifndef COSY_MCeCoCom
5#include "MCeCoCom.h"
6#endif
7
8class RaDec;
9class AltAz;
10class ZdAz;
11class MsgQueue;
12class Ring;
13class Led;
14class MLog;
15class MTime;
16class TVector2;
17
18class MDriveCom : public MCeCoCom
19{
20private:
21 MsgQueue *fQueue;
22
23 bool ReadAngle(TString &str, Double_t &d);
24 bool ReadPosition(TString &str, Double_t &d1, Double_t &d2);
25
26 bool InterpreteCmd(TString cmd, TString str);
27 void Print(TString &str, Double_t deg) const;
28
29 bool CommandRADEC(TString &str);
30 bool CommandGRB(TString &str);
31 bool CommandZDAZ(TString &str);
32 bool CommandCELEST(TString &str);
33 bool CommandMOON(TString &str);
34 bool CommandPREPS(TString &str);
35 bool CommandARM(TString &str);
36 bool CommandTPOINT(TString &str);
37 bool CommandSTGMD(TString &str);
38 bool CommandLEDS(TString &str);
39
40public:
41 enum
42 {
43 kError = 0x01,
44 kMoving = 0x02,
45 kTracking = 0x04,
46 kStopping = 0x08,
47 kStopped = 0x10,
48 kStandby = 0x20,
49 kMonitoring = 0x40
50 };
51
52 MDriveCom(MsgQueue *q, const char *addr, const int tx, const int rx, MLog *out=NULL) : MCeCoCom(addr, tx, rx, out), fQueue(q) {}
53 MDriveCom(const char *addr, const int tx, const int rx, MLog *out=NULL) : MCeCoCom(addr, tx, rx, out), fQueue(NULL) {}
54
55 void SetMsgQueue(MsgQueue *q) { fQueue = q; }
56
57
58 bool SendReport(UInt_t stat, Double_t mjd, RaDec rd, double ha, ZdAz so, ZdAz is, ZdAz er, Bool_t armed, Int_t stargmd, UInt_t pdo3);
59 bool SendStargReport(UInt_t stat, ZdAz miss, ZdAz nompos, Ring center, Int_t num, Int_t n, Double_t bright, Double_t mjd, Int_t numleds, Int_t numrings);
60 bool SendTPoint(bool stat, char type, Float_t mag, const char *name, const AltAz &za0, const ZdAz &za1,
61 const TVector2 &xy, Float_t dzd, Float_t daz, const MTime &t,
62 const Ring &center, const Led &star, Int_t numleds, Int_t numrings,
63 Int_t numstars=0, Int_t numcor=0, Float_t bright=0);
64
65 bool SendStatus(const char *stat);
66};
67
68#endif
Note: See TracBrowser for help on using the repository browser.