-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
88 lines (73 loc) · 3.24 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
dumps_mon aka config_mon
Monitors and reports deviations from expected spacecraft configuration
using dumped telemetry in non-realtime.
found at colossus: /home/brad/Dumps/Dumps_mon/dumps_mon.pl
run with cronjob by mta using interface /home/brad/Dumps/Dumps_mon/mta_run
This program checks once per hour for new telemetry dump data.
Its input comes from another program that has processed the raw
telemetry through acorn.
Input is dumps_mon.pl -c<ccdm> -p<pcad>
where ccdm is acorn output containing TSCPOS, FAPOS and gratings data
pcad is acorn output containing quaternion data
This program compares this input with expected MP values.
Expected values come from pred_state.rdb,
see HEAD://proj/gads6/ops/Chex
Values checked are TSC position
FA position
RA, Dec, Roll
Grating angles A/B sides in agreement
Currently, HETG/LETG position (inserted/retracted) is not checked
If descrepencies are found, e-mail is sent to sot_yellow_alert
(currently sent only to brad swolk rac)
At most, one e-mail will be sent per dump file.
Only the first violation of each of the checked values
is reported in the e-mail.
If a violated value, regains sync with the expected value,
a recovery is reported in the e-mail.
# ************** Program Parameters ***************************
# allowable lag time for moves (seconds)
$tsclagtime = 500; # SIM translation
$falagtime = 200; # SIM Focus
$gratlagtime = 1000; # Grating insertion/retraction time
$qtlagtime = 2000; # Slew time
# violation limits
$tscposlim = 5; # steps
$faposlim = 5; # steps
$ralim = 0.05; # degrees = 3 min
$declim = 0.05; # degrees = 3 min
$rolllim = 0.05; # degrees = 3 min
# gratings parameters
$gratinpar = 20; # position where gratings is considered inserted
$gratoutpar = 65; # position where gratings is considered retracted
$gratlim = 10; # allowable disagreement between A and B readings
# *************************************************************
Basic algorithm goes something like this:
set violation = false
for each input_time {
find corresponding position in expected state file (esf)
for each value to be checked (tscpos, fapos, pcad) {
look backward in esf for last state transition
if (input_time - last_transition_time > allowable_lag_time) then
if (|actual_value - expected_value| > violation_limit and
violation = false) then
write some details about the violation
set violation = true
if (|actual_value - expected_value| < violation_limit and
violation = true) then
write some details about the recovery
set violation = false
}
if any violations occurred, send e-mail alerts.
Revisions
10/15/00 dumps_mon_1.0
11/20/00 dumps_mon_1.2
- fixed acorn y2k bug
- reinterpret pred_state file so there are no undefs
then lag time determines undefs
11/21/00 dumps_mon_2.0
- use Tom Aldcroft's routines for comparisons
- so dumps_mon basically just reads telemetry, passes to chex,
and reports mismatches.
11/29/00 dumps_mon_2.1
- do not report violations that exhibit recovery within n seconds
- add sot_lead to e-mail list