source: trunk/MagicSoft/Cosy/tcpip/MDriveCom.h@ 8869

Last change on this file since 8869 was 8869, checked in by tbretz, 17 years ago
*** empty log message ***
File size: 1.5 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 ZdAz;
10class MsgQueue;
11class Ring;
12class MLog;
13
14class MDriveCom : public MCeCoCom
15{
16private:
17 MsgQueue *fQueue;
18
19 bool ReadAngle(TString &str, Double_t &d);
20 bool ReadPosition(TString &str, Double_t &d1, Double_t &d2);
21
22 bool InterpreteCmd(TString cmd, TString str);
23 void Print(TString &str, Double_t deg) const;
24
25 bool CommandRADEC(TString &str);
26 bool CommandGRB(TString &str);
27 bool CommandZDAZ(TString &str);
28 bool CommandPREPS(TString &str);
29 bool CommandARM(TString &str);
30 bool CommandTPOINT(TString &str);
31
32public:
33 enum
34 {
35 kError = 0x01,
36 kMoving = 0x02,
37 kTracking = 0x04,
38 kStopping = 0x08,
39 kStopped = 0x10,
40 kStandby = 0x20,
41 kMonitoring = 0x40
42 };
43
44 MDriveCom(MsgQueue *q, const char *addr, const int tx, const int rx, MLog *out=NULL) : MCeCoCom(addr, tx, rx, out), fQueue(q) {}
45 MDriveCom(const char *addr, const int tx, const int rx, MLog *out=NULL) : MCeCoCom(addr, tx, rx, out), fQueue(NULL) {}
46
47 void SetMsgQueue(MsgQueue *q) { fQueue = q; }
48
49
50 bool SendReport(UInt_t stat, RaDec rd, ZdAz so, ZdAz is, ZdAz er, Bool_t armed);
51 bool SendStargReport(UInt_t stat, ZdAz miss, ZdAz nompos, Ring center, Int_t num, Int_t n, Double_t bright, Double_t mjd, Double_t x, Double_t y);
52 bool SendTPoint(UInt_t stat);
53 bool SendStatus(const char *stat);
54};
55
56#endif
Note: See TracBrowser for help on using the repository browser.