This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
rechner-gruppe:sdh-multicast-format [2017/07/05 15:38] hafok |
rechner-gruppe:sdh-multicast-format [2018/11/29 16:18] (current) hafok |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== SDH multicast format (port 1602) ====== | ====== SDH multicast format (port 1602) ====== | ||
- | The table lists all keys from the json multicast stream in alphabetic order and all "reserve"-keys were skipped. Below are screen-shots from the system status during this observation and even lower the full table with all keys. | + | The table lists all keys from the json multicast stream in alphabetic order and all "reserve"-keys were skipped. Below are screen-shots from the system status during this observation and even lower the full table with all keys. In the bottom, the original 'datastruct_def.h' C-header file is quoted. It contains some additional comments and logical grouping of the entries, which might help to find certain information more easily. |
^ json-key ^ measure ^ off-source slewing ^ Comment ^ | ^ json-key ^ measure ^ off-source slewing ^ Comment ^ | ||
Line 7: | Line 7: | ||
| act-coordsys | 1 | 1 | 0:apparent 1:J2000 2:1950 3:galactic 4: ecliptic 5: other (az/el) | | | act-coordsys | 1 | 1 | 0:apparent 1:J2000 2:1950 3:galactic 4: ecliptic 5: other (az/el) | | ||
| actfixcoor | 0.0 | 0.0 | | | | actfixcoor | 0.0 | 0.0 | | | ||
- | | act-focus | 1.0 | 1.0 | | | + | | act-focus | 1.0 | 1.0 | 1: prime focus; 2: secondary focus | |
| actlam | 0.0 | 0.0 | | | | actlam | 0.0 | 0.0 | | | ||
| actruncoor | 0.0 | 0.0 | | | | actruncoor | 0.0 | 0.0 | | | ||
Line 26: | Line 26: | ||
| az-enc-1 | 98.3709583333 | 149.773736111 | | | | az-enc-1 | 98.3709583333 | 149.773736111 | | | ||
| azi | 0.0 | 0.0 | | | | azi | 0.0 | 0.0 | | | ||
- | | azim-ein | 0 | 0 | | | + | | azim-ein | 0 | 0 | Azi button active | |
| azim-endsch | 0 | 0 | | | | azim-endsch | 0 | 0 | | | ||
| azim-ist20d | 0 | 0 | | | | azim-ist20d | 0 | 0 | | | ||
Line 32: | Line 32: | ||
| azim-rechner | 0 | 0 | | | | azim-rechner | 0 | 0 | | | ||
| azim-soll0 | 0 | 0 | | | | azim-soll0 | 0 | 0 | | | ||
- | | azonpos | 1 | 0 | | | + | | azonpos | 1 | 0 | Azimuth position 0: slewing 1: tracking | |
- | | beobachter | TEST | TEST | | | + | | beobachter | TEST | TEST | Observer | |
| camac-adcs-0 | 0 | 0 | | | | camac-adcs-0 | 0 | 0 | | | ||
| camac-adcs-1 | 0 | 0 | | | | camac-adcs-1 | 0 | 0 | | | ||
Line 185: | Line 185: | ||
| displ-coo-bet | <empty> | <empty> | | | | displ-coo-bet | <empty> | <empty> | | | ||
| displ-coo-lam | <empty> | <empty> | | | | displ-coo-lam | <empty> | <empty> | | | ||
- | | dk2000 | 42.2361111111 | 42.2361111111 | | | + | | dk2000 | 42.2361111111 | 42.2361111111 | Declination J2000 | |
- | | dk50 | 42.0340852091 | 42.0340852091 | | | + | | dk50 | 42.0340852091 | 42.0340852091 | Declination B1950 | |
| dUT1 | 0.161447599015 | 0.161447599015 | | | | dUT1 | 0.161447599015 | 0.161447599015 | | | ||
- | | ekllat | 54.9335076784 | 54.9335076784 | | | + | | ekllat | 54.9335076784 | 54.9335076784 | Ecliptical coordinates LAT | |
- | | ekllong | 339.841003158 | 339.841003158 | | | + | | ekllong | 339.841003158 | 339.841003158 | Ecliptical coordinates LON | |
- | | el-enc-0 | 67.3578611111 | 66.9424722222 | | | + | | el-enc-0 | 67.3578611111 | 66.9424722222 | Elev encoder 1 | |
- | | el-enc-1 | 67.3559027778 | 66.9415 | | | + | | el-enc-1 | 67.3559027778 | 66.9415 | Elev encoder 2 | |
- | | elev-ein | 0 | 0 | | | + | | elev-ein | 0 | 0 | Elev button active | |
| elev-endsch | 0 | 0 | | | | elev-endsch | 0 | 0 | | | ||
| elev-ist10d | 0 | 0 | | | | elev-ist10d | 0 | 0 | | | ||
Line 198: | Line 198: | ||
| elev-rechner | 0 | 0 | | | | elev-rechner | 0 | 0 | | | ||
| elev-soll0 | 0 | 0 | | | | elev-soll0 | 0 | 0 | | | ||
- | | elonpos | 1 | 1 | | | + | | elonpos | 1 | 1 | Elevation position 0: slewing 1: tracking | |
| elv | 0.0 | 0.0 | | | | elv | 0.0 | 0.0 | | | ||
| fahraxis | NEIN | NEIN | | | | fahraxis | NEIN | NEIN | | | ||
Line 341: | Line 341: | ||
| fe-version-2 | 0 | 0 | | | | fe-version-2 | 0 | 0 | | | ||
| fe-version-3 | 0 | 0 | | | | fe-version-3 | 0 | 0 | | | ||
- | | foc-active | 1 | 1 | | | + | | foc-active | 1 | 1 | Focus button | |
| foc-azim | 67.3588333333 | 66.9367152778 | | | | foc-azim | 67.3588333333 | 66.9367152778 | | | ||
| foc-controlport | 15998 | 15998 | | | | foc-controlport | 15998 | 15998 | | | ||
Line 360: | Line 360: | ||
| foc-istpos-4 | 3.22184732227e-08 | -2.29261331697e-07 | | | | foc-istpos-4 | 3.22184732227e-08 | -2.29261331697e-07 | | | ||
| foc-istpos-5 | 4.31083924113e-09 | 6.17564452909e-08 | | | | foc-istpos-5 | 4.31083924113e-09 | 6.17564452909e-08 | | | ||
- | | foc-istpos-6 | -90.003036499 | -90.003036499 | | | + | | foc-istpos-6 | -90.003036499 | -90.003036499 | Prime Focus Derotator angle | |
| foc-istvel-0 | -1.19825415368e-06 | 1.2587927813e-05 | | | | foc-istvel-0 | -1.19825415368e-06 | 1.2587927813e-05 | | | ||
| foc-istvel-1 | 1.5850582713e-05 | -2.78222205452e-06 | | | | foc-istvel-1 | 1.5850582713e-05 | -2.78222205452e-06 | | | ||
Line 377: | Line 377: | ||
| foc-offset-5 | 0.0 | 0.0 | | | | foc-offset-5 | 0.0 | 0.0 | | | ||
| foc-offsets | 0 | 0 | | | | foc-offsets | 0 | 0 | | | ||
- | | foc-onpos | 1 | 1 | | | + | | foc-onpos | 1 | 1 | Focus position 0: slewing 1: tracking | |
- | | foc-prim | 1 | 1 | | | + | | foc-prim | 1 | 1 | Prime focus | |
| foc-realpos-0 | -40.357946415 | -41.3685439693 | | | | foc-realpos-0 | -40.357946415 | -41.3685439693 | | | ||
| foc-realpos-1 | 27.0 | 27.0 | | | | foc-realpos-1 | 27.0 | 27.0 | | | ||
Line 389: | Line 389: | ||
| focrx-ist | -5.00044250488 | -5.00044250488 | | | | focrx-ist | -5.00044250488 | -5.00044250488 | | | ||
| focrx-soll | 0.0 | 0.0 | | | | focrx-soll | 0.0 | 0.0 | | | ||
- | | foc-sek | 0 | 0 | | | + | | foc-sek | 0 | 0 | secondary focus | |
| foc-sendport | 8001 | 8001 | | | | foc-sendport | 8001 | 8001 | | | ||
| foc-set-0 | 0.0 | 0.0 | | | | foc-set-0 | 0.0 | 0.0 | | | ||
Line 434: | Line 434: | ||
| front-msg | <empty> | <empty> | | | | front-msg | <empty> | <empty> | | | ||
| fuelling | NGC7027 | NGC7027 | | | | fuelling | NGC7027 | NGC7027 | | | ||
- | | gallat | -3.4962470934 | -3.4962470934 | | | + | | gallat | -3.4962470934 | -3.4962470934 | Galactic coordinate LAT | |
- | | gallong | 84.9298042732 | 84.9298042732 | | | + | | gallong | 84.9298042732 | 84.9298042732 | Galactic coordinate LON | |
| hangle | 0.0 | 0.0 | | | | hangle | 0.0 | 0.0 | | | ||
| haz | 0.0 | 0.0 | | | | haz | 0.0 | 0.0 | | | ||
| hel | 0.0 | 0.0 | | | | hel | 0.0 | 0.0 | | | ||
| horizon-on | 0 | 0 | | | | horizon-on | 0 | 0 | | | ||
- | | hourangle | -2.06822769847 | -2.11268241241 | | | + | | hourangle | -2.06822769847 | -2.11268241241 | Hour angle | |
| hpa | 0.0 | 0.0 | | | | hpa | 0.0 | 0.0 | | | ||
| humi | 0.0 | 0.0 | | | | humi | 0.0 | 0.0 | | | ||
Line 449: | Line 449: | ||
| indvaz | 0.0 | 0.0 | | | | indvaz | 0.0 | 0.0 | | | ||
| indvel | 0.0 | 0.0 | | | | indvel | 0.0 | 0.0 | | | ||
- | | ist-0 | 67.2896270182 | 66.8735019384 | elevation actual position | | + | | ist-0 | 67.2896270182 | 66.8735019384 | elevation actual position (apparent) | |
- | | ist-1 | 98.6835868357 | 150.091096393 | azimuth actual position | | + | | ist-1 | 98.6835868357 | 150.091096393 | azimuth actual position (apparent) | |
- | | istmess | 1 | 0 | | | + | | istmess | 1 | 0 | Antenna overall status 1: measure 0: configuring | |
| ist-onscan | 0 | 0 | | | | ist-onscan | 0 | 0 | | | ||
| juldat | 0.0 | 0.0 | | | | juldat | 0.0 | 0.0 | | | ||
| lb-mjd | 0.0 | 0.0 | | | | lb-mjd | 0.0 | 0.0 | | | ||
- | | lb-offs-0 | 0.0 | 0.0 | | | + | | lb-offs-0 | 0.0 | 0.0 | Offset to the current axis (El or Dec) | |
- | | lb-offs-1 | -0.185019133102 | 0.306729346514 | | | + | | lb-offs-1 | -0.185019133102 | 0.306729346514 | Offset to the current axis (Az or RA) | |
- | | lb-pos-0 | 42.3069381714 | 42.3069381714 | | | + | | lb-pos-0 | 42.3069381714 | 42.3069381714 | Apparent Dec | |
- | | lb-pos-1 | 316.905548096 | 316.905548096 | | | + | | lb-pos-1 | 316.905548096 | 316.905548096 | Apparent RA | |
| man-azi | 0 | 0 | | | | man-azi | 0 | 0 | | | ||
| man-elv | 0 | 0 | | | | man-elv | 0 | 0 | | | ||
Line 464: | Line 464: | ||
| mdazi | 0.0 | 0.0 | | | | mdazi | 0.0 | 0.0 | | | ||
| mdelv | 0.0 | 0.0 | | | | mdelv | 0.0 | 0.0 | | | ||
- | | mjuld | 15.1711024999 | 15.1271025001 | | | + | | mjuld | 15.1711024999 | 15.1271025001 | Time in hours | |
| month | 0 | 0 | | | | month | 0 | 0 | | | ||
| noch | <empty> | <empty> | | | | noch | <empty> | <empty> | | | ||
Line 480: | Line 480: | ||
| ok-foci | 1 | 1 | | | | ok-foci | 1 | 1 | | | ||
| olam | 0.0 | 0.0 | | | | olam | 0.0 | 0.0 | | | ||
- | | operateur | VOGT | VOGT | | | + | | operateur | VOGT | VOGT | Operateur | |
| outazi | 0.0 | 0.0 | | | | outazi | 0.0 | 0.0 | | | ||
| outelv | 0.0 | 0.0 | | | | outelv | 0.0 | 0.0 | | | ||
Line 486: | Line 486: | ||
| pazi | 0.0 | 0.0 | | | | pazi | 0.0 | 0.0 | | | ||
| pelv | 0.0 | 0.0 | | | | pelv | 0.0 | 0.0 | | | ||
- | | poicorr-0 | 242.117734352 | 246.54302181 | | | + | | poicorr-0 | 242.117734352 | 246.54302181 | current pointing correction El | |
- | | poicorr-1 | -1129.18760865 | -1146.42201641 | | | + | | poicorr-1 | -1129.18760865 | -1146.42201641 | current pointing correction Az | |
| poifc1 | 0.0 | 0.0 | | | | poifc1 | 0.0 | 0.0 | | | ||
| poifc2 | 0.0 | 0.0 | | | | poifc2 | 0.0 | 0.0 | | | ||
Line 494: | Line 494: | ||
| posit-fast-azm | 1 | 1 | sets fast gear | | | posit-fast-azm | 1 | 1 | sets fast gear | | ||
| posit-fast-elv | 1 | 1 | sets fast gear | | | posit-fast-elv | 1 | 1 | sets fast gear | | ||
- | | project | 20-13 | 20-13 | | | + | | project | 20-13 | 20-13 | Project code | |
| pvaz | 0.0 | 0.0 | | | | pvaz | 0.0 | 0.0 | | | ||
| pvel | 0.0 | 0.0 | | | | pvel | 0.0 | 0.0 | | | ||
- | | ra2000 | 316.756666667 | 316.756666667 | | | + | | ra2000 | 316.756666667 | 316.756666667 | RA J2000 | |
- | | ra50 | 316.289445677 | 316.289445677 | | | + | | ra50 | 316.289445677 | 316.289445677 | RA B1950 | |
| read | 0 | 0 | | | | read | 0 | 0 | | | ||
| refract | 0.0 | 0.0 | | | | refract | 0.0 | 0.0 | | | ||
Line 512: | Line 512: | ||
| selv | 0.0 | 0.0 | | | | selv | 0.0 | 0.0 | | | ||
| sfl-corr | 1 | 1 | | | | sfl-corr | 1 | 1 | | | ||
- | | sidtime | 19.05880717 | 19.0143524561 | | | + | | sidtime | 19.05880717 | 19.0143524561 | Siderial time | |
| simulation-azm | 1 | 1 | | | | simulation-azm | 1 | 1 | | | ||
| simulation-elv | 1 | 1 | | | | simulation-elv | 1 | 1 | | | ||
| sit | 0.0 | 0.0 | | | | sit | 0.0 | 0.0 | | | ||
| slam | 0.0 | 0.0 | | | | slam | 0.0 | 0.0 | | | ||
- | | soll-0 | 67.2894729195 | 66.8736884332 | | | + | | soll-0 | 67.2894729195 | 66.8736884332 | Commanded apparent position El | |
- | | soll-1 | 98.6837326366 | 99.4873884992 | | | + | | soll-1 | 98.6837326366 | 99.4873884992 | Commanded apparent position Az | |
| sollazi | 0.0 | 0.0 | | | | sollazi | 0.0 | 0.0 | | | ||
| sollelv | 0.0 | 0.0 | | | | sollelv | 0.0 | 0.0 | | | ||
Line 524: | Line 524: | ||
| sollvel | 0.0 | 0.0 | | | | sollvel | 0.0 | 0.0 | | | ||
| sourcename | <empty> | <empty> | | | | sourcename | <empty> | <empty> | | | ||
- | | spgklapp | Open | Open | | | + | | spgklapp | Open | Open | Spiegelklappe | |
| srp1 | 0 | 0 | | | | srp1 | 0 | 0 | | | ||
| srp2 | 0 | 0 | | | | srp2 | 0 | 0 | | | ||
Line 548: | Line 548: | ||
| time | 0.0 | 0.0 | | | | time | 0.0 | 0.0 | | | ||
| time-scanbegin | 15.1644241667 | 0.0 | | | | time-scanbegin | 15.1644241667 | 0.0 | | | ||
- | | time-to-end | 5.95800052397 | 29.9939997029 | | | + | | time-to-end | 5.95800052397 | 29.9939997029 | Scan time counter in s (reverse) | |
- | | topochar | TOPO:AUTO | TOPO:AUTO | | | + | | topochar | TOPO:AUTO | TOPO:AUTO | Cable wrap | |
| topomode | 0 | 0 | 0:auto, -1: north, 1:south | | | topomode | 0 | 0 | 0:auto, -1: north, 1:south | | ||
| uazi | 0.0 | 0.0 | | | | uazi | 0.0 | 0.0 | | | ||
Line 584: | Line 584: | ||
| vwindvel | 0.753390312195 | 2.42949199677 | | | | vwindvel | 0.753390312195 | 2.42949199677 | | | ||
| waterpress | 0.0 | 0.0 | | | | waterpress | 0.0 | 0.0 | | | ||
- | | wavelength | 217.3 | 217.3 | | | + | | wavelength | 217.3 | 217.3 | Receiver plus version | |
| weekday | 0 | 0 | | | | weekday | 0 | 0 | | | ||
| wetter-manual | 0 | 0 | | | | wetter-manual | 0 | 0 | | | ||
Line 1329: | Line 1329: | ||
| time | 0.0 | 0.0 | | | | time | 0.0 | 0.0 | | | ||
| paral | 0.0 | 0.0 | | | | paral | 0.0 | 0.0 | | | ||
+ | |||
+ | ===== Shared memory data structure ===== | ||
+ | |||
+ | Note, that for the translation into the data stream, underscores are replaced with minus signs, and arrays are put into distinct variables with the index appended (e.g., foc_sollpos[7] --> foc-sollpos-0 .. foc-sollpos-6). | ||
+ | |||
+ | <code C datastruct_def.h> | ||
+ | /*************************************************************************** | ||
+ | datastruct_def.h - description | ||
+ | ------------------- | ||
+ | Version : 16.05.2011 | ||
+ | Author : (C) 2002 by J.Neidhoefer | ||
+ | ***************************************************************************/ | ||
+ | |||
+ | |||
+ | #ifndef DATASTRUCTDEF_H | ||
+ | #define DATASTRUCTDEF_H | ||
+ | |||
+ | #define DOUBLE_DATA_DIM 350 | ||
+ | #define INTEG_DATA_DIM 250 | ||
+ | #define BOOL_DATA_DIM 100 | ||
+ | |||
+ | typedef struct dat_dbl | ||
+ | { | ||
+ | double azi; // Azimut, Grad | ||
+ | double dazi; // soll-ist | ||
+ | double mdazi; // Regelungsabweichung | ||
+ | double cazi; // counterdifferenz und einzelne | ||
+ | double caz1; | ||
+ | double caz2; | ||
+ | double vazi; // Geschw. | ||
+ | double uazi; // up-down counter | ||
+ | double sazi; // Striche | ||
+ | double pazi; // ideal Azimut ohne Pointing | ||
+ | double pvaz; | ||
+ | double sollazi; // Sollwerte | ||
+ | double sollvaz; | ||
+ | double indazi; // indicated | ||
+ | double indvaz; | ||
+ | double tecazi; // unbehandelte hardware inputs | ||
+ | // double tecvaz; | ||
+ | double haz; | ||
+ | double outazi; // Ausgabewerte | ||
+ | // double outvaz; | ||
+ | // double outbaz; // Beschleunigung | ||
+ | // ***************** neue Werte von VME | ||
+ | double rxaz; | ||
+ | double hysa; | ||
+ | |||
+ | double elv; // Elevation dgl. | ||
+ | double delv; | ||
+ | double mdelv; // Regelungsabweichung | ||
+ | double celv; // counterdifferenz und einzelne | ||
+ | double cel1; | ||
+ | double cel2; | ||
+ | double velv; | ||
+ | double uelv; | ||
+ | double selv; | ||
+ | double pelv; // ideal Elevation ohne Pointing | ||
+ | double pvel; | ||
+ | double sollelv; // Sollwerte und Abweichung | ||
+ | double sollvel; | ||
+ | double indelv; // indicated | ||
+ | double indvel; | ||
+ | double tecelv; // unbehandelte hardware inputs | ||
+ | // double tecvel; | ||
+ | double hel; | ||
+ | double outelv; // Ausgabewerte | ||
+ | // double outvel; | ||
+ | // double outbel; // Beschleunigung | ||
+ | // ***************** neue Werte von VME | ||
+ | double rxel; | ||
+ | double hyse; | ||
+ | |||
+ | //----- Foci fc1-fc3: linear xyz, fc4-fc6: rotation xyz, fc7: Polarisation | ||
+ | double foc_sollpos[7]; // Sollpositionen in mm oder Grad | ||
+ | double foc_sollvel[7]; // Sollgeschw. | ||
+ | double foc_solldist[7]; // Bei Fahren: Distanz | ||
+ | double foc_istpos[7]; // Istpositionen | ||
+ | double foc_istvel[7]; // Istgeschw. | ||
+ | double foc_realpos[7]; // berechnete Position (zB bei Fahren) | ||
+ | | ||
+ | //----- FocusWechsel | ||
+ | double focrx_soll; | ||
+ | double focrx_ist; | ||
+ | |||
+ | double slam; // eingegeben | ||
+ | double vlam; | ||
+ | double olam; | ||
+ | double sbet; | ||
+ | double vbet; | ||
+ | double obet; | ||
+ | |||
+ | double ra50; // VME-System: Eingabe-Koordinaten | ||
+ | double dk50; | ||
+ | double ra2000; // ... (2000.0) | ||
+ | double dk2000; | ||
+ | double gallong; // ... galaktisch | ||
+ | double gallat; | ||
+ | double hangle; // Stundenwinkel | ||
+ | double paral; // Parallaktischer Winkel | ||
+ | |||
+ | double actlam; // aktive Werte fuer Anzeige | ||
+ | double actbet; | ||
+ | double actruncoor; // laufende und fixed Koordinate | ||
+ | double actfixcoor; | ||
+ | double actveloc; // aktive Geschw. | ||
+ | |||
+ | |||
+ | double hpa; // Luftdruck in Hpa | ||
+ | double temp; // Temperatur in C | ||
+ | double humi; // Luftfeuchte in % | ||
+ | double waterpress; // Wasserdruck in Hpa | ||
+ | double refract; // Refractive Index in " | ||
+ | double windvel; // Windgeschw in km/s | ||
+ | double winddir; // Windrichtung in Grad | ||
+ | |||
+ | double juldat; // julianisches Datum in [d] | ||
+ | double time; // Uhrzeit in [h] | ||
+ | double sit; // siderische Zeit in [h] | ||
+ | double subsctime; // Zeit im Subscan [h] | ||
+ | double subscdist; // Distanz im Subscan in [] | ||
+ | double rxfreq; // RX-Frequenz | ||
+ | |||
+ | double nule; // Pointingwerte | ||
+ | double nula; | ||
+ | double coll; | ||
+ | double poifc1; | ||
+ | double poifc2; | ||
+ | |||
+ | /* double vme_elv1[11]; // AXPUG-Feld vmetelescope*/ | ||
+ | |||
+ | double foc_wanted; // gewuenschter Fokus | ||
+ | double foc_elev; // Elevation fuer Oberflaeche | ||
+ | double foc_azim; | ||
+ | double foc_mjd; // Zeit der Fokusdaten in mjd | ||
+ | double foc_surfstatus; // Status der Oberflaeche | ||
+ | double foc_time; // focmjd-tage | ||
+ | |||
+ | /* | ||
+ | double vme_elv1[5]; // AXPUG-Feld vmetelescope | ||
+ | double vme_elv2[11]; // AXPUG-Feld vmetelescope | ||
+ | double vme_azi1[11]; // AXPUG-Feld vmetelescope | ||
+ | double vme_azi2[11]; // AXPUG-Feld vmetelescope | ||
+ | */ | ||
+ | /* VME - Teleskop- Felder 0 = elev, 1 = azim | ||
+ | ... weitere Felder s.o. | ||
+ | */ | ||
+ | double el_enc[2]; // Encoderwerte | ||
+ | double az_enc[2]; // Encoderwerte | ||
+ | double soll[2]; // astron. Werte | ||
+ | double ist[2]; | ||
+ | double vsoll[2]; | ||
+ | double vist[2]; | ||
+ | double poscom[2]; // kommandierte + Korr. | ||
+ | double volt[2]; | ||
+ | double poicorr[2]; | ||
+ | | ||
+ | double mjuld; // Zeit Ende des Puffers | ||
+ | double time_to_end; // in s bis Messende | ||
+ | double dUT1; | ||
+ | double lb_mjd; // Werte fuer lam/bet (apparent) | ||
+ | double lb_pos[2]; | ||
+ | double lb_offs[2]; | ||
+ | double starttime; // in mjd des Subscans | ||
+ | double act_focus; // aktiver Fokus (1,2) | ||
+ | double wavelength; // Wellenlaenge Rx in mm | ||
+ | double vnula; | ||
+ | double vcoll; | ||
+ | double vnule; | ||
+ | double vtemperature; | ||
+ | double vhumidity; | ||
+ | double vpressure; | ||
+ | double vwindvel; | ||
+ | double vwinddir; | ||
+ | double vrefract; | ||
+ | |||
+ | double obs_timeon; // selected observation time per subscan (on) [h] | ||
+ | // double obs_timeref; // selected observation time per subscan (ref) [h] | ||
+ | |||
+ | double time_scanbegin; // VME: Zeit am Begin des ersten Subscans | ||
+ | |||
+ | double obs_timeact; // actual observation time in subscan [h] | ||
+ | double obs_velocity; // selected observation velocity [ per min] | ||
+ | double obs_distance; // selected observation distance [] | ||
+ | double obs_timerest; // rest time in subscan [h] | ||
+ | |||
+ | //***** naechster ist double(171) | ||
+ | |||
+ | // Frontend-Daten | ||
+ | double fe_ulo_frqs[3]; // berechnete ULO-Frequenzen signal,switch,fixed | ||
+ | double fe_update; // update-time in JD | ||
+ | double fe_frqs[3]; // Synthesizer-Frequenzen signal,switch,fixed in [GHz] | ||
+ | double fe_amps[3]; // ... dgl Amplituden in [dBm] | ||
+ | double fe_dfms[3]; // gelesene Frequenzen | ||
+ | double fe_diffs[3]; // Diff zwischen gelesen und gesetzt | ||
+ | double fe_facts[3]; // Faktor fr Frequenzberechnung | ||
+ | double fe_scfs[7]; // eingegebene Frqs: scf,ocf,rlf,olf,rhf,ohf,suf | ||
+ | double fe_rxfrq; // receiver Frequenz | ||
+ | double fe_reffrq; // Referenz " | ||
+ | double fe_frqoff; // Offset " | ||
+ | double fe_sif; // IF " | ||
+ | double fe_sif2; // not used | ||
+ | |||
+ | //----- Fahrprogramm-Fokuswerte | ||
+ | double foc_offset[6]; | ||
+ | double foc_set[6]; | ||
+ | double foc_geom[6]; | ||
+ | |||
+ | double hourangle; | ||
+ | double sidtime; | ||
+ | |||
+ | //----- Daten aus dem Delphin-System | ||
+ | double delphin[75]; | ||
+ | |||
+ | double ekllong; // VME-System: Eingabe-Koordinaten | ||
+ | double ekllat; // ... (Ekliptikal) | ||
+ | double freilong; // ... ( freie Koordinaten) | ||
+ | double freilat; | ||
+ | double anzeige_lam; // VME: Anzuzeigende Koordinaten | ||
+ | double anzeige_bet; | ||
+ | |||
+ | double dreserve[47]; | ||
+ | |||
+ | // double dreserve[53]; | ||
+ | |||
+ | } DOUBLE_DATA; | ||
+ | |||
+ | |||
+ | typedef struct dat_intg | ||
+ | { | ||
+ | long year; // Kalenderdaten | ||
+ | long month; | ||
+ | long day; | ||
+ | long weekday; | ||
+ | long day_year; | ||
+ | long statazi; // Status-Bits der Achsen | ||
+ | long statelv; | ||
+ | long statfc1; | ||
+ | long statfc2; | ||
+ | long statfc3; | ||
+ | long statpos; | ||
+ | long scannr; | ||
+ | long subscnr; | ||
+ | long srp1; | ||
+ | long srp2; | ||
+ | long srp3; | ||
+ | long srp4; | ||
+ | long vax_statclock[2]; // BCD-kodierte Stationsuhr | ||
+ | long vax_antclock; // VAX Antennencrate Clockcontroller | ||
+ | long vax_beclock; // VAX Backend Clockcontroller | ||
+ | long steuerpult_sw; // Steuerpultschalter | ||
+ | long camac_adcs[16]; // ADCS von VAX Camac | ||
+ | long camac_dacs[16 ]; // DACS von VAX-Camac 12 Bit | ||
+ | long camac_dac18[2]; // 18-Bit DAC von VAX Camac | ||
+ | long camac_digin[6]; // Digitale Inputs von VAX Camac | ||
+ | long camac_digout[2]; // Digitale Outputs von VAX Camac | ||
+ | long camac_veloc[4]; // Geschw. von VAX Camac | ||
+ | long camac_currents[16]; // actuelle Werte von VAX Camac | ||
+ | long vaxevents96; // Eventflags der VAX | ||
+ | long vaxevents64; | ||
+ | long scanning_axis; // scannende Achse 1:lam,2:bet,3:azm ... | ||
+ | |||
+ | //***** naechste beginnt mit long(87) | ||
+ | |||
+ | // Frontend Daten | ||
+ | long fe_status_bits; // gegenw�tiger Status Frontend | ||
+ | long fe_used_syn; // benutzte Synthesizer (sut) | ||
+ | long fe_ulomode; // fsm | ||
+ | long fe_act_fcunr; // aktive fcu-Nr | ||
+ | long fe_fcu_first; // erste und letzte fcu-Nr | ||
+ | long fe_fcu_last; | ||
+ | long fe_fcu_avail; // verfuegbare fcus | ||
+ | long fe_fcu_notavail; | ||
+ | long fe_obs_status; // Status of observation | ||
+ | long fe_err_severity; // Error Severity | ||
+ | long fe_ulo_contr[6]; // Frontend Einheiten Einstellung | ||
+ | // ulocontr1,2,esm_contr,vlba_contr, 2 not used | ||
+ | |||
+ | long fe_syn_typ[3]; // Synthesizer typ | ||
+ | long fe_syn_adr[3]; // IEC adresse | ||
+ | long fe_syn_fd[3]; // file-descriptor (IEC) | ||
+ | long fe_syn_funct[3]; // welche Funktion hat er | ||
+ | long fe_syn_severity[3]; // error severity | ||
+ | |||
+ | long fe_dfm_alert[3]; // Frequenz-Abweichungs Status | ||
+ | long fe_dfm_typ[3]; // Typ | ||
+ | long fe_dfm_adr[3]; // IEC Adresse | ||
+ | long fe_dfm_fd[3]; // filedescriptor (IEC) | ||
+ | long fe_dfm_funct[3]; // welche Funktion hat er | ||
+ | long fe_dfm_chan[3]; // welcher Eingangskanal | ||
+ | long fe_dfm_severity[3]; // error severity | ||
+ | |||
+ | long fe_fcu_number; // Nr der Steuereinheit | ||
+ | long fe_bac_mul80; // Backend-Multiplexer Einheit | ||
+ | long fe_bac_if750; // IF-Umschaltung 750/150 | ||
+ | long fe_bac_if150; // IF-150-Verteilung | ||
+ | long fe_fcu_blanktime; // Blankzeit in 100 microsec | ||
+ | long fe_fcu_phtime; // Phasenzeit in millisec | ||
+ | long fe_fcu_mode; // | ||
+ | long fe_fcu_status; // Status-info | ||
+ | long fe_fcu_severity; // error severity | ||
+ | long fe_fcu_dyn10; // Schalter dynamisch blockiert | ||
+ | long fe_fcu_dynxx; // " geschaltet | ||
+ | long fe_fcu_off10; // dgl. fuer Offscan | ||
+ | long fe_fcu_offxx; // | ||
+ | long fe_fcu_stat1; // statische Schalter 9-16 | ||
+ | long fe_fcu_stat2; // " 17-24 | ||
+ | long fe_fcu_phases; // Anzahl Phasen | ||
+ | long fe_fcu_workmode; // Betriebsart (1,2,3) | ||
+ | long fe_fcu_phmatrix[4]; // Phasenmatrix | ||
+ | |||
+ | long fe_scf_opts[7]; // eingegebene Optionen | ||
+ | // synt-,fcu-,units-simul,ulo_berechnung,rhf,ohf,frq | ||
+ | long fe_mul; | ||
+ | long fe_sid; | ||
+ | long fe_switchmode; | ||
+ | long fe_version[4]; | ||
+ | long steps; // Nr. of steps in scanning direction | ||
+ | |||
+ | // Focus-Informationen | ||
+ | long foc_input; // Eingabe-Bits | ||
+ | long foc_status1; // Ausgabe-Status | ||
+ | long foc_status2; | ||
+ | long foc_sendport; // PortNr. fuer Senden an Focusprozessor | ||
+ | long foc_controlport; // PortNr. fuer Kontrollrechner | ||
+ | long foc_receiveport; // PortNr. fuer Statusempfang | ||
+ | long foc_fahrachse; // bei Fokusfahren: Fahrachse | ||
+ | long foc_spiegelklappen; // Status der Spiegelklappen | ||
+ | |||
+ | //---- VME Achsen (0=elev, 1=azim) | ||
+ | // status-Input: 0:elev,1:azim,3:focus | ||
+ | // 0,1: 0-manual,1-idle,2-pos,3-ready,4-start,5-meas,6-end,7-stop,99-lost | ||
+ | // 2: 0-idle,1-pos,2-ready,3-start,4-meas,5-end,6-stop,99-abort | ||
+ | // --> gewandelt nach Bit 0-manual ... Bit 7-stop, Bit 8-abort | ||
+ | long axstatus[3]; | ||
+ | long axoptions[2]; | ||
+ | long axspsbits[4]; | ||
+ | //---- VME-Scannr. usw. | ||
+ | long vscan; | ||
+ | long vsubscan; | ||
+ | long vanzsubs; | ||
+ | long vonoff; | ||
+ | long topomode; | ||
+ | long act_coordsys; // VME aktuelles Eingabe-Koordinatensystem | ||
+ | // 0= app 1 = 2000 2 = 1950 3 = Gal 4 = Ekl 5 = Horizontal 6 =frei | ||
+ | long wwgeber[4]; | ||
+ | |||
+ | long ireserve[48]; | ||
+ | |||
+ | } INTEG_DATA; | ||
+ | |||
+ | |||
+ | typedef struct dat_bool | ||
+ | { | ||
+ | bool alive; | ||
+ | bool man_elv; | ||
+ | bool man_azi; | ||
+ | bool man_foci; | ||
+ | bool ok_elv; | ||
+ | bool ok_azi; | ||
+ | bool ok_foci; | ||
+ | bool ist_onscan; | ||
+ | bool observation; | ||
+ | bool azim_ein; // Inputs von SPS | ||
+ | bool azim_rechner; | ||
+ | bool azim_soll0; | ||
+ | bool azim_endsch; | ||
+ | bool azim_ist20d; | ||
+ | bool azim_ist40d; | ||
+ | bool elev_ein; | ||
+ | bool elev_rechner; | ||
+ | bool elev_soll0; | ||
+ | bool elev_endsch; | ||
+ | bool elev_ist10d; | ||
+ | bool elev_ist20d; | ||
+ | |||
+ | bool foc_messung; | ||
+ | bool foc_active; | ||
+ | bool foc_surface; | ||
+ | bool foc_standard; | ||
+ | bool foc_offsets; | ||
+ | bool foc_ellipse; | ||
+ | bool foc_prim; | ||
+ | bool foc_sek; | ||
+ | bool foc_surfaceok; | ||
+ | bool foc_onpos; | ||
+ | |||
+ | // Frontend-Daten | ||
+ | bool fe_unit_remote[6]; // FrontendKontrolleinheiten remote | ||
+ | // ulocontr1,2,esm_contr,vlba_contr, 2 not used | ||
+ | bool fe_syn_standby[3]; // Synthesizer standby-mode | ||
+ | bool fe_syn_exist[3]; // Synthesizer exist | ||
+ | bool fe_dfm_exist[3]; // Frequenzzaehler exist | ||
+ | bool fe_fcu_hand; // Wird in Hand benutzt | ||
+ | bool fe_fcu_exist; // existiert | ||
+ | bool fe_fcu_remote; // Schalter auf remote | ||
+ | bool fe_be_mul80_remote; // mul80 auf remote | ||
+ | bool fe_be_if750_remote; // if750 auf remote | ||
+ | bool fe_be_if150_remote; // if150 auf remote | ||
+ | |||
+ | bool azonpos; // vme az/el auf position | ||
+ | bool elonpos; | ||
+ | bool istmess; | ||
+ | bool focusfahren; // alles vme ... | ||
+ | bool posit_fast_elv; | ||
+ | bool posit_fast_azm; | ||
+ | bool without_corr_elv; | ||
+ | bool without_corr_azm; | ||
+ | bool simulation_elv; | ||
+ | bool simulation_azm; | ||
+ | bool sfl_corr; | ||
+ | bool sun_allow; | ||
+ | bool steer_parangle; | ||
+ | bool wetter_manual; | ||
+ | bool frontend_active; | ||
+ | bool horizon_on; | ||
+ | |||
+ | bool breserve[32]; | ||
+ | |||
+ | } BOOL_DATA; | ||
+ | |||
+ | //------ Anzahl der Textstring-Felder | ||
+ | #define TEXT_DATA_DIM 14 | ||
+ | |||
+ | typedef struct in_data | ||
+ | { | ||
+ | unsigned short write; // TRUE, wenn noch nicht alle Werte erneuert sind | ||
+ | unsigned short read; // TRUE, wenn Werte noch dargestellt werden | ||
+ | int running; // wird immer von 0-99 gez�lt bei jedem Update | ||
+ | |||
+ | char datum[32]; // Kalenderzeit in ascii | ||
+ | /* char sourcename[80];*/ | ||
+ | char sourcename[40]; | ||
+ | char fuelling[20]; // *** vorlaeufig VME-sourcename | ||
+ | char fahraxis[10]; // focusfahrachse text | ||
+ | char spgklapp[10]; // Spiegelklappen-text offen,zu usw. | ||
+ | char scancoord[16]; // Scannende Koordinate lam,bet,azm usw. | ||
+ | char velocity[16]; // aktuelle Geschwindigkeitsart | ||
+ | char displ_coo_lam[16]; // Displaykoordinate in Lam | ||
+ | char displ_coo_bet[16]; // Displaykoordinate in Bet | ||
+ | char front_msg[80]; // Error von Frontend | ||
+ | char front_inf[80]; // Info von Frontend (severity 0,1) | ||
+ | char fahroffsets[16]; // Fahroffset-Koordinaten | ||
+ | char topochar[10]; // topomode | ||
+ | char project[40]; | ||
+ | char beobachter[40]; | ||
+ | char operateur[40]; | ||
+ | char noch[30]; // freier Platz | ||
+ | |||
+ | |||
+ | union doubledata | ||
+ | { | ||
+ | struct dat_dbl d; | ||
+ | double dfeld[350]; | ||
+ | } d; | ||
+ | |||
+ | union integdata | ||
+ | { | ||
+ | struct dat_intg i; | ||
+ | long ifeld[250]; | ||
+ | } i; | ||
+ | |||
+ | union booldata | ||
+ | { | ||
+ | struct dat_bool b; | ||
+ | bool bfeld[100]; | ||
+ | } b; | ||
+ | |||
+ | } DISPLAY_DATA; | ||
+ | |||
+ | |||
+ | #endif // DATASTRUCTDEF_H | ||
+ | |||
+ | |||
+ | </code> | ||
+ | |||
+ |