CARMA C++
szaregs.h
1 #ifndef szaregs_h
2 #define szaregs_h
3 
4 #include "carma/szaarrayutils/arraymap.h"
5 #include "carma/szaarrayutils/arraytemplate.h"
6 
7 #define CAN_COMMON_REGS \
8  RegBlockTemp("", "received", REG_USHORT|REG_UNION, 0, 1),\
9  RegBlockTemp("", "apiNo", REG_USHORT, 0, 1),\
10  RegBlockTemp("", "swVersionStr", REG_UCHAR|REG_STRING, 0, 12),\
11  RegBlockTemp("", "swVersion", REG_UCHAR, 0, 3),\
12  RegBlockTemp("", "dongleId", REG_USHORT, 0, 1),\
13 \
14  RegBlockTemp("", "serialNo", REG_USHORT, 0, 1),\
15  RegBlockTemp("", "moduleType", REG_UCHAR, 0, 1),\
16  RegBlockTemp("", "initRequest", REG_UCHAR, 0, 1),\
17  RegBlockTemp("", "rxErrors", REG_UCHAR, 0, 1),\
18  RegBlockTemp("", "txErrors", REG_UCHAR, 0, 1),\
19  RegBlockTemp("", "memoryErrors", REG_UCHAR, 0, 1),\
20  RegBlockTemp("", "systemErrors", REG_UCHAR, 0, 1),\
21 \
22  RegBlockTemp("", "schOverflowCnt", REG_USHORT, 0, 1),\
23  RegBlockTemp("", "tSchOverflowCnt", REG_USHORT, 0, 1),\
24  RegBlockTemp("", "swVerMaj", REG_UCHAR, 0, 1),\
25  RegBlockTemp("", "swVerMin", REG_UCHAR, 0, 1),\
26  RegBlockTemp("", "swVerTst", REG_UCHAR, 0, 1),\
27  RegBlockTemp("", "testMode", REG_UCHAR, 0, 1),\
28 \
29  RegBlockTemp("", "commErrCnt", REG_USHORT, 0, 1),\
30  RegBlockTemp("", "timeErrCnt", REG_USHORT, 0, 1),\
31  RegBlockTemp("", "swErrCnt", REG_USHORT, 0, 1),\
32  RegBlockTemp("", "hwErrCnt", REG_USHORT, 0, 1),\
33 \
34  RegBlockTemp("", "timeJitter", REG_SHORT, 0, 1),\
35  RegBlockTemp("", "sinceLastTs", REG_USHORT, 0, 1),\
36  RegBlockTemp("", "tsDelta", REG_SHORT, 0, 1),\
37  RegBlockTemp("", "apiVer", REG_UCHAR|REG_STRING, 0, 1),\
38  RegBlockTemp("", "timeOffset", REG_SHORT|REG_PREAVG, 0, 1),\
39  RegBlockTemp("", "timeStampInt", REG_SHORT|REG_PREAVG, 0, 1),\
40  RegBlockTemp("", "timeStampDelta", REG_SHORT|REG_PREAVG, 0, 1),\
41 \
42  RegBlockTemp("", "uptime", REG_UINT, 0, 1),\
43  RegBlockTemp("", "bootLoader", REG_UCHAR, 0, 1),\
44  RegBlockTemp("", "buildDate", REG_UCHAR|REG_STRING, 0, 12),\
45  RegBlockTemp("", "buildTime", REG_UCHAR|REG_STRING, 0, 9),
46 
50 enum {SRC_LEN=12};
51 enum {SCAN_LEN=12};
52 
53 typedef RegMap SzaRegMap;
54 typedef ArrayMap SzaArrayMap;
55 
56 SzaArrayMap *new_SzaArrayMap(void);
57 SzaArrayMap *del_SzaArrayMap(SzaArrayMap *map);
58 long net_SzaArrayMap_size(void);
59 int net_put_SzaArrayMap(sza::array::NetBuf *net);
60 
61 SzaRegMap *new_SzaAntRegMap(void);
62 SzaRegMap *del_SzaAntRegMap(SzaRegMap *regs);
63 long net_SzaAntRegMap_size(void);
64 int net_put_SzaAntRegMap(sza::array::NetBuf *net);
65 
66 SzaRegMap *new_SzaArrRegMap(void);
67 SzaRegMap *del_SzaArrRegMap(SzaRegMap *regs);
68 long net_SzaArrRegMap_size(void);
69 int net_put_SzaArrRegMap(sza::array::NetBuf *net);
70 
71 SzaRegMap *new_SzaCorrelatorRegMap(void);
72 SzaRegMap *del_SzaCorrelatorRegMap(SzaRegMap *regs);
73 long net_SzaCorrelatorRegMap_size(void);
74 int net_put_SzaCorrelatorRegMap(sza::array::NetBuf *net);
75 
76 /*
77  * Enumerate the available deck-axis tracking modes.
78  */
79 typedef enum {
80  DECK_TRACK, /* Maintain the deck angle at the current deck-axis */
81  /* tracking offset plus the parallactic angle of */
82  /* the source. */
83  DECK_ZERO /* Set the deck angle equal to the current deck-axis */
84  /* tracking offset. */
85 } DeckMode;
86 
87 /*
88  * The following is the PMAC VME base address in A24 space.
89  */
90 #define PMAC_ADDR 0x700000U
91 
92 /*
93  * The following is the location at which to map the PMAC dual port RAM.
94  * Note that all but bits 19-14 (lsb is bit 1) are either fixed or
95  * set externally via the serial interface of the PMAC.
96  */
97 #define PMAC_DPRAM_ADDR 0x710000U
98 
99 void documentSzaArrayMap();
100 
101 RegTemplate* getSzaAntennaTemplate();
102 RegTemplate* getSzaArrayTemplate();
103 RegTemplate* getSzaCorrelatorTemplate();
104 
105 // Defined in szaregsCan1.cc
106 
107 RegBlockTemp* getSzaBiasGunn();
108 unsigned getSizeOfSzaBiasGunn();
109 
110 RegBlockTemp* getSzaCalTert();
111 unsigned getSizeOfSzaCalTert();
112 
113 RegBlockTemp* getSzaIFMod();
114 unsigned getSizeOfSzaIFMod();
115 
116 RegBlockTemp* getSzaIntMod();
117 unsigned getSizeOfSzaIntMod();
118 
119 // Defined in szaregsCan2.cc
120 
121 RegBlockTemp* getSzaRx();
122 unsigned getSizeOfSzaRx();
123 
124 RegBlockTemp* getSzaThermal();
125 unsigned getSizeOfSzaThermal();
126 
127 RegBlockTemp* getSzaTiltMeter();
128 unsigned getSizeOfSzaTiltMeter();
129 
130 RegBlockTemp* getSzaVarGunn();
131 unsigned getSizeOfSzaVarGunn();
132 
133 RegBlockTemp* getSzaYig();
134 unsigned getSizeOfSzaYig();
135 
136 #endif
......................................................................
Definition: regtemplate.h:139