cosmosc2-demo 5.0.2.pre.beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +693 -0
  3. data/README.md +31 -0
  4. data/Rakefile +35 -0
  5. data/microservices/EXAMPLE/example_target.rb +123 -0
  6. data/microservices/TEMPLATED/scpi_target.rb +79 -0
  7. data/plugin.txt +100 -0
  8. data/targets/EXAMPLE/cmd_tlm/example_cmds.txt +2 -0
  9. data/targets/EXAMPLE/cmd_tlm/example_tlm.txt +5 -0
  10. data/targets/EXAMPLE/lib/example_interface.rb +27 -0
  11. data/targets/EXAMPLE/target.txt +9 -0
  12. data/targets/INST/cmd_tlm/_ccsds_cmd.txt +9 -0
  13. data/targets/INST/cmd_tlm/_ccsds_tlm.txt +19 -0
  14. data/targets/INST/cmd_tlm/inst_cmds.txt +53 -0
  15. data/targets/INST/cmd_tlm/inst_tlm.txt +162 -0
  16. data/targets/INST/cmd_tlm/inst_tlm_override.txt +12 -0
  17. data/targets/INST/data/attitude.bin +0 -0
  18. data/targets/INST/data/position.bin +0 -0
  19. data/targets/INST/lib/example_limits_response.rb +39 -0
  20. data/targets/INST/lib/sim_inst.rb +343 -0
  21. data/targets/INST/procedures/checks.rb +11 -0
  22. data/targets/INST/procedures/collect.rb +18 -0
  23. data/targets/INST/procedures/disconnect.rb +29 -0
  24. data/targets/INST/procedures/my_script_suite.rb +46 -0
  25. data/targets/INST/procedures/my_test_suite.rb +45 -0
  26. data/targets/INST/procedures/target_file.rb +21 -0
  27. data/targets/INST/procedures/utilities/clear.rb +7 -0
  28. data/targets/INST/procedures/utilities/collect.rb +14 -0
  29. data/targets/INST/public/ground_error.png +0 -0
  30. data/targets/INST/public/ground_off.png +0 -0
  31. data/targets/INST/public/ground_on.png +0 -0
  32. data/targets/INST/public/satellite.png +0 -0
  33. data/targets/INST/screens/_footer.txt +3 -0
  34. data/targets/INST/screens/adcs.txt +71 -0
  35. data/targets/INST/screens/array.txt +15 -0
  36. data/targets/INST/screens/block.txt +6 -0
  37. data/targets/INST/screens/commanding.txt +34 -0
  38. data/targets/INST/screens/graphs.txt +17 -0
  39. data/targets/INST/screens/ground.txt +46 -0
  40. data/targets/INST/screens/hs.txt +42 -0
  41. data/targets/INST/screens/latest.txt +21 -0
  42. data/targets/INST/screens/limits.txt +82 -0
  43. data/targets/INST/screens/other.txt +37 -0
  44. data/targets/INST/screens/params.txt +54 -0
  45. data/targets/INST/screens/simple.txt +6 -0
  46. data/targets/INST/screens/tabs.txt +66 -0
  47. data/targets/INST/screens/web.txt +5 -0
  48. data/targets/INST/tables/bin/ConfigTables.bin +0 -0
  49. data/targets/INST/tables/config/ConfigTables_def.txt +8 -0
  50. data/targets/INST/tables/config/MCConfigurationTable_def.txt +36 -0
  51. data/targets/INST/tables/config/PPSSelectionTable_def.txt +7 -0
  52. data/targets/INST/tables/config/TLMMonitoringTable_def.txt +31 -0
  53. data/targets/INST/target.txt +31 -0
  54. data/targets/SYSTEM/cmd_tlm/limits_groups.txt +6 -0
  55. data/targets/SYSTEM/cmd_tlm/meta_tlm.txt +10 -0
  56. data/targets/SYSTEM/cmd_tlm/system_cmds.txt +41 -0
  57. data/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
  58. data/targets/SYSTEM/lib/example_background_task.rb +66 -0
  59. data/targets/SYSTEM/lib/example_target.rb +112 -0
  60. data/targets/SYSTEM/lib/limits_groups.rb +64 -0
  61. data/targets/SYSTEM/lib/scpi_target.rb +76 -0
  62. data/targets/SYSTEM/procedures/cosmos_api_test.rb +286 -0
  63. data/targets/SYSTEM/procedures/example_test.rb +191 -0
  64. data/targets/SYSTEM/procedures/interactive.rb +38 -0
  65. data/targets/SYSTEM/procedures/run_example_test.rb +3 -0
  66. data/targets/SYSTEM/procedures/test.rb +49 -0
  67. data/targets/SYSTEM/screens/status.txt +12 -0
  68. data/targets/SYSTEM/target.txt +12 -0
  69. data/targets/TEMPLATED/cmd_tlm/templated_cmds.txt +13 -0
  70. data/targets/TEMPLATED/cmd_tlm/templated_tlm.txt +3 -0
  71. data/targets/TEMPLATED/lib/templated_interface.rb +69 -0
  72. data/targets/TEMPLATED/target.txt +8 -0
  73. data/tools/widgets/BigWidget/BigWidget.umd.min.js +2 -0
  74. data/tools/widgets/BigWidget/BigWidget.umd.min.js.map +1 -0
  75. data/tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js +2 -0
  76. data/tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js.map +1 -0
  77. metadata +123 -0
@@ -0,0 +1,15 @@
1
+ SCREEN AUTO AUTO 1.0
2
+ GLOBAL_SETTING ARRAY COLORBLIND TRUE
3
+ GLOBAL_SETTING TEXTBOX COLORBLIND TRUE
4
+
5
+ VERTICAL
6
+ TITLE "<%= target_name %> Instrument Array Data"
7
+ ARRAY <%= target_name %> HEALTH_STATUS ARY 300 50 nil 8 FORMATTED
8
+ ARRAY <%= target_name %> HEALTH_STATUS ARY2 300 50 nil 5 WITH_UNITS
9
+ TEXTBOX <%= target_name %> HEALTH_STATUS ARY 300 50
10
+ TEXTBOX <%= target_name %> HEALTH_STATUS ARY2 300 50
11
+ ARRAY <%= target_name %> HEALTH_STATUS GROUND1STATUS 300 50 nil 8 FORMATTED
12
+ ARRAY <%= target_name %> HEALTH_STATUS GROUND2STATUS 300 50 nil 5 WITH_UNITS
13
+ TEXTBOX <%= target_name %> HEALTH_STATUS GROUND1STATUS 300 50
14
+ TEXTBOX <%= target_name %> HEALTH_STATUS GROUND2STATUS 300 50
15
+ END
@@ -0,0 +1,6 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ VERTICAL
4
+ TITLE "<%= target_name %> Instrument Block Data"
5
+ BLOCK <%= target_name %> IMAGE IMAGE 500 600 "%02X" 4 4 "0x%08X:"
6
+ END
@@ -0,0 +1,34 @@
1
+ SCREEN AUTO AUTO 0.5
2
+
3
+ VERTICAL
4
+ TITLE "<%= target_name %> Commanding Examples"
5
+
6
+ LABELVALUE <%= target_name %> HEALTH_STATUS COLLECTS
7
+ LABELVALUE <%= target_name %> HEALTH_STATUS COLLECT_TYPE
8
+ LABELVALUE <%= target_name %> HEALTH_STATUS DURATION
9
+
10
+ VERTICALBOX
11
+ SECTIONHEADER "Send Collect Command:"
12
+ HORIZONTAL
13
+ LABEL "Type: "
14
+ NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL
15
+ END
16
+ HORIZONTAL
17
+ LABEL " Duration: "
18
+ NAMED_WIDGET DURATION TEXTFIELD 12 "10.0"
19
+ END
20
+ BUTTON 'Start Collect' "api.cmd('<%= target_name %> COLLECT with TYPE '+screen.get_named_widget('COLLECT_TYPE').text()+', DURATION '+screen.get_named_widget('DURATION').text())"
21
+ END
22
+ SETTING BACKCOLOR 163 185 163
23
+
24
+ VERTICALBOX
25
+ SECTIONHEADER "Parameter-less Commands:"
26
+ NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index
27
+ RADIOBUTTON 'Abort'
28
+ RADIOBUTTON 'Clear'
29
+ END
30
+ NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' # No option is by default UNCHECKED
31
+ BUTTON 'Send' "screen.get_named_widget('GROUP').selected() === 0 ? api.cmd('<%= target_name %> ABORT') : (screen.get_named_widget('CHECK').checked() ? api.cmd_no_hazardous_check('<%= target_name %> CLEAR') : api.cmd('<%= target_name %> CLEAR'))"
32
+ END
33
+ SETTING BACKCOLOR 163 185 163
34
+ END
@@ -0,0 +1,17 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ VERTICAL
4
+ TITLE "<%= target_name %> Instrument Graphs"
5
+
6
+ MATRIXBYCOLUMNS 2
7
+ LINEGRAPH <%= target_name %> HEALTH_STATUS TEMP1
8
+ SETTING ITEM <%= target_name %> ADCS Q1
9
+ LINEGRAPH <%= target_name %> HEALTH_STATUS TEMP2
10
+ SETTING SECONDSGRAPHED 60
11
+ SETTING POINTSSAVED 600
12
+ SETTING POINTSGRAPHED 60
13
+ LINEGRAPH <%= target_name %> HEALTH_STATUS TEMP3
14
+ SETTING SIZE 600 500 # width height
15
+ LINEGRAPH <%= target_name %> HEALTH_STATUS TEMP4
16
+ END
17
+ END
@@ -0,0 +1,46 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ VERTICAL
4
+ # TODO: This causes an error because layout widgets don't have settings
5
+ # SETTING BACKCOLOR white
6
+ TITLE "<%= target_name %> Instrument Ground Station Status"
7
+ SETTING BACKCOLOR white
8
+
9
+ CANVAS 650 700
10
+ # The code inside <% %> is just ruby
11
+ <% 11.times do |x| %>
12
+ # Create a dot at various y locations. The <%= %> adds the expression to the file
13
+ CANVASDOT 5 <%= 50 * x + 50 %> BLUE 5
14
+ <% end %> # Close our block from above
15
+ # This is an example of using TLM_AND to && together different logical values
16
+ # Note you must use RAW for the base value and use SETTING IMAGE true / false
17
+ # for the two values you wish to display
18
+ #CANVASIMAGEVALUE <%= target_name %> HEALTH_STATUS GROUND1STATUS
19
+ # SETTING TLM_AND <%= target_name %> HEALTH_STATUS GROUND2STATUS VALUE_EQ 1
20
+ # SETTING TLM_AND <%= target_name %> HEALTH_STATUS COLLECTS VALUE_EQ 0
21
+ # SETTING IMAGE true "ground_on.png" 100 200
22
+ # SETTING IMAGE false "ground_off.png" 100 200
23
+ CANVASLINE 10 10 640 10 blue 3
24
+ CANVASIMAGE "satellite.png" 90 130 200 200
25
+ # We're using the converted value and specifing a default of "ground_error.png"
26
+ # if none of the IMAGE settings match the value
27
+ CANVASIMAGEVALUE <%= target_name %> HEALTH_STATUS GROUND1STATUS CONVERTED "ground_error.png" 400 100 180 180
28
+ SETTING IMAGE CONNECTED "ground_on.png" 400 100
29
+ SETTING IMAGE UNAVAILABLE "ground_off.png" 400 100
30
+ # If the image is clicked the "<%= target_name %> HS" screen will popup at 100, 100
31
+ SETTING SCREEN "<%= target_name %> HS" 100 100
32
+ CANVASLABEL 380 300 "Ground Station #1"
33
+ CANVASLABELVALUE <%= target_name %> HEALTH_STATUS GROUND1STATUS 520 300
34
+ # The default type is RAW and no default means anything over 10 will be blank
35
+ CANVASIMAGEVALUE <%= target_name %> HEALTH_STATUS GROUND2STATUS RAW "ground_error.png" 400 350 180 180
36
+ SETTING IMAGE 1 "ground_on.png" 400 350
37
+ SETTING IMAGE 0 "ground_off.png" 400 350
38
+ # This is an example of using a range of values with a particular image
39
+ SETTING IMAGE 2..10 "ground_error.png" 400 350
40
+ CANVASLABEL 380 550 "Ground Station #2"
41
+ CANVASLABELVALUE <%= target_name %> HEALTH_STATUS GROUND2STATUS 520 550
42
+ CANVASLINEVALUE <%= target_name %> HEALTH_STATUS GROUND1STATUS 420 135 240 330 green white 3
43
+ CANVASLINEVALUE <%= target_name %> HEALTH_STATUS GROUND2STATUS 420 385 240 330 green white 3
44
+ CANVASLINE 10 584 640 584 blue 3
45
+ END
46
+ END
@@ -0,0 +1,42 @@
1
+ SCREEN AUTO AUTO 0.5
2
+ GLOBAL_SETTING LABELVALUELIMITSBAR COLORBLIND TRUE
3
+
4
+ VERTICAL
5
+
6
+ TITLE "<%= target_name %> Instrument Health and Status"
7
+ SETTING BACKCOLOR 162 181 205
8
+ SETTING TEXTCOLOR black
9
+
10
+ VERTICALBOX
11
+ SECTIONHEADER "General Telemetry"
12
+ BUTTON 'Start Collect' 'api.cmd("<%= target_name %> COLLECT with TYPE NORMAL, DURATION 5")'
13
+ FORMATVALUE <%= target_name %> HEALTH_STATUS COLLECTS "0x%08X"
14
+ LABELVALUE <%= target_name %> HEALTH_STATUS COLLECT_TYPE
15
+ LABELVALUE <%= target_name %> HEALTH_STATUS DURATION
16
+ LABELVALUE <%= target_name %> HEALTH_STATUS ASCIICMD WITH_UNITS 30
17
+ END
18
+ SETTING BACKCOLOR 163 185 163
19
+
20
+ VERTICALBOX
21
+ SECTIONHEADER "Temperatures"
22
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP1 WITH_UNITS 5
23
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP2 CONVERTED 25
24
+ # LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP2 RAW 20 # RAW is not allowed for LIMITSBAR widgets
25
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP2 FORMATTED
26
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP2 WITH_UNITS
27
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP3
28
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP4
29
+ SETTING GRAY_TOLERANCE 0.1
30
+ END
31
+ SETTING BACKCOLOR 203 173 158
32
+
33
+ VERTICALBOX
34
+ SECTIONHEADER "Ground Station"
35
+ LABELVALUE <%= target_name %> HEALTH_STATUS GROUND1STATUS
36
+ LABELVALUE <%= target_name %> HEALTH_STATUS GROUND2STATUS
37
+ END
38
+
39
+ <%= render "_footer.txt" %>
40
+ SETTING BACKCOLOR 207 171 169
41
+ END
42
+ SETTING BACKCOLOR 162 181 205
@@ -0,0 +1,21 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ VERTICAL
4
+
5
+ TITLE "<%= @target_name %> Instrument Latest Header"
6
+
7
+ VERTICALBOX
8
+ SECTIONHEADER "Header"
9
+ LABELVALUE INST LATEST CCSDSVER
10
+ LABELVALUE INST LATEST CCSDSTYPE
11
+ LABELVALUE INST LATEST CCSDSSHF
12
+ LABELVALUE INST LATEST CCSDSAPID
13
+ LABELVALUE INST LATEST CCSDSSEQFLAGS
14
+ LABELVALUE INST LATEST CCSDSSEQCNT
15
+ LABELVALUE INST LATEST CCSDSLENGTH
16
+ LABELVALUE INST LATEST TIMESEC
17
+ LABELVALUE INST LATEST TIMEUS
18
+ LABELVALUE INST LATEST PKTID
19
+ END
20
+
21
+ END
@@ -0,0 +1,82 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ TITLE "<%= target_name %> Instrument Limits"
4
+
5
+ HORIZONTAL
6
+ VERTICALBOX
7
+ SECTIONHEADER "Limits Bars"
8
+ LIMITSBAR <%= target_name %> HEALTH_STATUS TEMP1
9
+ VALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP1
10
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP1
11
+ # The TEMP1 limits are defined as follow:
12
+ # LIMITS DEFAULT 1 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0
13
+ # Thus the following are examples of limiting the limitsbar
14
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP1
15
+ SUBSETTING 1 MIN_VALUE -80
16
+ SUBSETTING 1 MAX_VALUE 80
17
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP1
18
+ SUBSETTING 1 MIN_VALUE -75
19
+ SUBSETTING 1 MAX_VALUE 70
20
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP1
21
+ SUBSETTING 1 MIN_VALUE -70
22
+ SUBSETTING 1 MAX_VALUE 60
23
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP1
24
+ SUBSETTING 1 MIN_VALUE -50
25
+ SUBSETTING 1 MAX_VALUE 50
26
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP1
27
+ SUBSETTING 1 MIN_VALUE -20
28
+ SUBSETTING 1 MAX_VALUE 20
29
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP1
30
+ SUBSETTING 1 MIN_VALUE -10
31
+ SUBSETTING 1 MAX_VALUE 10
32
+ END
33
+ VERTICAL
34
+ VERTICALBOX
35
+ SECTIONHEADER "Range Bars 0-100"
36
+ RANGEBAR <%= target_name %> HEALTH_STATUS TEMP2 0 100
37
+ VALUERANGEBAR <%= target_name %> HEALTH_STATUS TEMP2 0 100
38
+ LABELVALUERANGEBAR <%= target_name %> HEALTH_STATUS TEMP2 0 100
39
+ END
40
+ VERTICALBOX
41
+ SECTIONHEADER "Limits Colors"
42
+ LIMITSCOLOR <%= target_name %> HEALTH_STATUS TEMP1 CONVERTED 5 NIL # No label
43
+ LIMITSCOLOR <%= target_name %> HEALTH_STATUS TEMP2 # Default is label with just item name
44
+ LIMITSCOLOR <%= target_name %> HEALTH_STATUS GROUND1STATUS CONVERTED 5 TRUE # Full TGT/PKT/ITEM label
45
+ END
46
+ END
47
+ END
48
+
49
+ HORIZONTAL
50
+ VERTICALBOX
51
+ SECTIONHEADER "Limits Columns"
52
+ HORIZONTAL
53
+ LIMITSCOLUMN <%= target_name %> HEALTH_STATUS TEMP2
54
+ VALUELIMITSCOLUMN <%= target_name %> HEALTH_STATUS TEMP2
55
+ LABELVALUELIMITSCOLUMN <%= target_name %> HEALTH_STATUS TEMP2 WITH_UNITS 8
56
+ # The TEMP2 limits are defined as follow:
57
+ # LIMITS DEFAULT 1 ENABLED -60.0 -55.0 30.0 35.0
58
+ # Thus the following are examples of limiting the limitscolumn
59
+ LABELVALUELIMITSCOLUMN <%= target_name %> HEALTH_STATUS TEMP2 WITH_UNITS 8
60
+ SUBSETTING 1 MIN_VALUE -60
61
+ SUBSETTING 1 MAX_VALUE 35
62
+ LABELVALUELIMITSCOLUMN <%= target_name %> HEALTH_STATUS TEMP2 WITH_UNITS 8
63
+ SUBSETTING 1 MIN_VALUE -55
64
+ SUBSETTING 1 MAX_VALUE 30
65
+ LABELVALUELIMITSCOLUMN <%= target_name %> HEALTH_STATUS TEMP2 WITH_UNITS 8
66
+ SUBSETTING 1 MIN_VALUE -20
67
+ SUBSETTING 1 MAX_VALUE 10
68
+ END
69
+ END
70
+
71
+ # TODO: Not yet implemented
72
+ #VERTICALBOX
73
+ # SECTIONHEADER "Range Columns 0-100"
74
+ # HORIZONTAL
75
+ # RANGECOLUMN <%= target_name %> HEALTH_STATUS TEMP2 0 100
76
+ # VALUERANGECOLUMN <%= target_name %> HEALTH_STATUS TEMP2 0 100
77
+ # LABELVALUERANGECOLUMN <%= target_name %> HEALTH_STATUS TEMP2 0 100
78
+ # END
79
+ #END
80
+ END
81
+
82
+ <%= render "_footer.txt" %>
@@ -0,0 +1,37 @@
1
+ SCREEN 800 700 1.0
2
+
3
+ SCROLLWINDOW
4
+
5
+ # Change the title font to 10 pt courier without bold and make it italic
6
+ TITLE "<%= target_name %> Other Widget Examples" courier 10 normal true
7
+
8
+ HORIZONTAL
9
+ LABEL "TestText"
10
+ LABEL "TestText" nil 20 # Only change the font size
11
+ LABEL "TestText" nil nil BOLD # Only change make it bold
12
+ LABEL "TestText" nil nil nil true # Only make it italic
13
+ SPACER 32 24
14
+ LABEL "TestText" Arial nil BOLD # Bold arial with default size
15
+ LABEL "TestText" Arial nil nil true # Italic arial with default size
16
+ LABEL "TestText" Courier 14 # 14pt courier
17
+ END
18
+
19
+ VERTICALBOX
20
+ HORIZONTAL
21
+ SETTING LAYOUT_FILL_X
22
+ LABEL TIMESEC
23
+ FORMATFONTVALUE <%= target_name %> LATEST TIMESEC %012u CONVERTED 12 arial 15
24
+ SETTING LAYOUT_RIGHT
25
+ END
26
+
27
+ HORIZONTAL
28
+ TEXTBOX <%= target_name %> ADCS TIMEFORMATTED 200 300
29
+ TIMEGRAPH <%= target_name %> ADCS Q1 100 500 500 3
30
+ END
31
+
32
+ LABELVALUEDESC <%= target_name %> HEALTH_STATUS TEMP1
33
+ LABELFORMATVALUE <%= target_name %> HEALTH_STATUS TEMP1 %0.6f
34
+
35
+ BUTTON 'Open ADCS Screen' "self.$emit('add-new-screen', ['INST', 'ADCS'])"
36
+ END
37
+ END
@@ -0,0 +1,54 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ VERTICAL
4
+ TITLE Params
5
+
6
+ HORIZONTAL
7
+ VERTICALBOX
8
+ LABELVALUE <%= target_name %> PARAMS VALUE5
9
+ LABELVALUE <%= target_name %> PARAMS VALUE4
10
+ LABELVALUE <%= target_name %> PARAMS VALUE3
11
+ LABELVALUE <%= target_name %> PARAMS VALUE2
12
+ LABELVALUE <%= target_name %> PARAMS VALUE1
13
+ END
14
+ VERTICALBOX
15
+ LED <%= target_name %> PARAMS VALUE5 RAW 25 20 # Ellipse
16
+ SETTING LED_COLOR 0 GREEN
17
+ SETTING LED_COLOR 1 RED
18
+ LED <%= target_name %> PARAMS VALUE4 RAW 20 25 # Ellipse
19
+ SETTING LED_COLOR 0 YELLOW
20
+ SETTING LED_COLOR 1 BLUE
21
+ LED <%= target_name %> PARAMS VALUE3 RAW 20 20
22
+ SETTING LED_COLOR 0 GREEN
23
+ SETTING LED_COLOR 1 RED
24
+ SETTING LED_COLOR ANY ORANGE # All other values are ORANGE
25
+ LED <%= target_name %> PARAMS VALUE2 # Default is WITH_UNITS 15 15
26
+ SETTING LED_COLOR GOOD GREEN
27
+ SETTING LED_COLOR BAD RED
28
+ LED <%= target_name %> PARAMS VALUE1 CONVERTED 10 10
29
+ SETTING LED_COLOR GOOD GREEN
30
+ SETTING LED_COLOR BAD RED
31
+ END
32
+ VERTICALBOX
33
+ LABELLED <%= target_name %> PARAMS VALUE5
34
+ SETTING LED_COLOR GOOD GREEN
35
+ SETTING LED_COLOR BAD RED
36
+ LABELLED <%= target_name %> PARAMS VALUE4
37
+ SETTING LED_COLOR GOOD GREEN
38
+ SETTING LED_COLOR BAD RED
39
+ LABELLED <%= target_name %> PARAMS VALUE3
40
+ SETTING LED_COLOR GOOD GREEN
41
+ SETTING LED_COLOR BAD RED
42
+ LABELLED <%= target_name %> PARAMS VALUE2
43
+ SETTING LED_COLOR GOOD GREEN
44
+ SETTING LED_COLOR BAD RED
45
+ LABELLED <%= target_name %> PARAMS VALUE1
46
+ SETTING LED_COLOR GOOD GREEN
47
+ SETTING LED_COLOR BAD RED
48
+ END
49
+ END
50
+
51
+ VERTICALBOX
52
+ LABELVALUE <%= target_name %> PARAMS TIMEFORMATTED WITH_UNITS 20
53
+ END
54
+ END
@@ -0,0 +1,6 @@
1
+ SCREEN AUTO AUTO 0.5
2
+
3
+ LABELVALUE <%= target_name %> HEALTH_STATUS CCSDSSEQCNT
4
+
5
+ HELLOWORLD
6
+ BIG <%= target_name %> HEALTH_STATUS TEMP1
@@ -0,0 +1,66 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ TABBOOK
4
+ TABITEM ADCS
5
+ TITLE "<%= target_name %> Instrument ADCS Information"
6
+
7
+ HORIZONTAL
8
+ VERTICALBOX
9
+ SECTIONHEADER "Position and Velocity"
10
+
11
+ LABELVALUE <%= target_name %> ADCS POSX WITH_UNITS 20
12
+ LABELVALUE <%= target_name %> ADCS POSY WITH_UNITS 20
13
+ LABELVALUE <%= target_name %> ADCS POSZ WITH_UNITS 20
14
+ LABELVALUE <%= target_name %> ADCS VELX WITH_UNITS 20
15
+ LABELVALUE <%= target_name %> ADCS VELY WITH_UNITS 20
16
+ LABELVALUE <%= target_name %> ADCS VELZ WITH_UNITS 20
17
+ END
18
+
19
+ VERTICALBOX
20
+ SECTIONHEADER "Attitude"
21
+
22
+ LABELVALUE <%= target_name %> ADCS Q1
23
+ LABELVALUE <%= target_name %> ADCS Q2
24
+ LABELVALUE <%= target_name %> ADCS Q3
25
+ LABELVALUE <%= target_name %> ADCS Q4
26
+ LABELVALUE <%= target_name %> ADCS BIASX
27
+ LABELVALUE <%= target_name %> ADCS BIASY
28
+ LABELVALUE <%= target_name %> ADCS BIASZ
29
+ END
30
+
31
+ VERTICALBOX
32
+ SECTIONHEADER "File Progress"
33
+
34
+ LABELPROGRESSBAR <%= target_name %> ADCS POSPROGRESS
35
+ LABELPROGRESSBAR <%= target_name %> ADCS ATTPROGRESS
36
+ END
37
+ END
38
+
39
+ VERTICALBOX
40
+ LABELVALUE <%= target_name %> ADCS TIMEFORMATTED WITH_UNITS 30
41
+ END
42
+ END
43
+
44
+ TABITEM HS
45
+ TITLE "Instrument Health and Status"
46
+
47
+ VERTICALBOX
48
+ SECTIONHEADER "General Telemetry"
49
+
50
+ LABELVALUE <%= target_name %> HEALTH_STATUS COLLECTS
51
+ END
52
+
53
+ VERTICALBOX
54
+ SECTIONHEADER "Temperatures"
55
+
56
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP1
57
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP2
58
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP3
59
+ LABELVALUELIMITSBAR <%= target_name %> HEALTH_STATUS TEMP4
60
+ END
61
+
62
+ VERTICALBOX
63
+ LABELVALUE <%= target_name %> HEALTH_STATUS TIMEFORMATTED WITH_UNITS 30
64
+ END
65
+ END
66
+ END
@@ -0,0 +1,5 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ VERTICAL
4
+ IFRAME https://cosmosc2.com 900 450
5
+ END
@@ -0,0 +1,8 @@
1
+ # This file references table definitions contained in stand alone
2
+ # files. The syntax is:
3
+ # TABLEFILE "FileName_def.txt"
4
+
5
+ TABLEFILE "MCConfigurationTable_def.txt"
6
+ TABLEFILE "TLMMonitoringTable_def.txt"
7
+ TABLEFILE "PPSSelectionTable_def.txt"
8
+
@@ -0,0 +1,36 @@
1
+ TABLE "MC_Configuration" BIG_ENDIAN KEY_VALUE "Memory Control Configuration Table"
2
+ APPEND_PARAMETER "Scrub_Region_1_Start_Addr" 32 UINT 0 0x03FFFFFB 0
3
+ FORMAT_STRING "0x%0X"
4
+ APPEND_PARAMETER "Scrub_Region_1_End_Addr" 32 UINT 0 0x03FFFFFF 0x03FFFFFF
5
+ FORMAT_STRING "0x%0X"
6
+ APPEND_PARAMETER "Scrub_Region_2_Start_Addr" 32 UINT 0 0x03FFFFB 0
7
+ FORMAT_STRING "0x%0X"
8
+ APPEND_PARAMETER "Scrub_Region_2_End_Addr" 32 UINT 0 0x03FFFFF 0x03FFFFF
9
+ FORMAT_STRING "0x%0X"
10
+ APPEND_PARAMETER "Dump_Packet_Throttle_(sec)" 32 UINT 0 0x0FFFFFFFF 2 "Number of seconds to wait between dumping large packets"
11
+ APPEND_PARAMETER "Memory_Scrubbing" 8 UINT 0 1 1
12
+ STATE DISABLE 0
13
+ STATE ENABLE 1
14
+ APPEND_PARAMETER "SIOC_Memory_Config" 8 UINT 1 3 3
15
+ GENERIC_WRITE_CONVERSION_START
16
+ if packet.read("Memory_Scrubbing") == 'DISABLE'
17
+ packet.get_item("SIOC_Memory_Config").range = (10..20)
18
+ else
19
+ packet.get_item("SIOC_Memory_Config").range = (1..3)
20
+ end
21
+ value
22
+ GENERIC_WRITE_CONVERSION_END
23
+ APPEND_PARAMETER "Uneditable_Text" 32 UINT MIN MAX 0xDEADBEEF "Uneditable field"
24
+ FORMAT_STRING "0x%0X"
25
+ UNEDITABLE
26
+ APPEND_PARAMETER "Uneditable_State" 16 UINT MIN MAX 0 "Uneditable field"
27
+ STATE DISABLE 0
28
+ STATE ENABLE 1
29
+ UNEDITABLE
30
+ APPEND_PARAMETER "Uneditable_Check" 16 UINT MIN MAX 1 "Uneditable field"
31
+ STATE UNCHECKED 0
32
+ STATE CHECKED 1
33
+ UNEDITABLE
34
+ APPEND_PARAMETER "Binary" 32 STRING 0xDEADBEEF "Binary string"
35
+ APPEND_PARAMETER "Pad" 16 UINT 0 0 0
36
+ HIDDEN
@@ -0,0 +1,7 @@
1
+ TABLE "PPS_Selection" BIG_ENDIAN KEY_VALUE "Payload Clock Control Pulse Per Second Selection Table"
2
+ APPEND_PARAMETER "Primary_PPS" 8 UINT 0 1 1
3
+ STATE CHECKED 1
4
+ STATE UNCHECKED 0
5
+ APPEND_PARAMETER "Redundant_PPS" 8 UINT 0 1 0
6
+ STATE UNCHECKED 0
7
+ STATE CHECKED 1
@@ -0,0 +1,31 @@
1
+ TABLE "TLM_Monitoring" BIG_ENDIAN ROW_COLUMN 100 "Telemetry Monitoring Table"
2
+ APPEND_PARAMETER "Threshold" 32 UINT MIN MAX 0 "Telemetry item threshold at which point persistance is incremented"
3
+ APPEND_PARAMETER "Offset" 32 UINT MIN MAX 0 "Offset into the telemetry packet to monitor"
4
+ APPEND_PARAMETER "Data_Size" 32 UINT 0 3 0 "Amount of data to monitor (bytes)"
5
+ STATE BITS 0
6
+ STATE BYTE 1
7
+ STATE WORD 2
8
+ STATE LONGWORD 3
9
+ APPEND_PARAMETER "Bit_Mask" 32 UINT MIN MAX 0 "Bit Mask to apply to the Data Size before the value is compared ot the Threshold"
10
+ APPEND_PARAMETER "Persistence" 32 UINT MIN MAX 0 "Number of times the Threshold must be exceeded before Action is triggered"
11
+ APPEND_PARAMETER "Type" 32 UINT 0 3 0 "How the Threshold is compared against"
12
+ STATE LESS_THAN 0
13
+ STATE GREATER_THAN 1
14
+ STATE EQUAL_TO 2
15
+ STATE NOT_EQUAL_TO 3
16
+ APPEND_PARAMETER "Action" 32 UINT 0 4 0 "Action to take when Persistance is met"
17
+ STATE NO_ACTION_REQUIRED 0
18
+ STATE INITIATE_RESET 1
19
+ STATE CHANGE_MODE_SAFE 2
20
+ APPEND_PARAMETER "Group" 32 UINT 1 4 1 "Telemetry group this monitor item belongs to. Groups are automatically enabled due to payload events."
21
+ STATE ALL_MODES 1
22
+ STATE SAFE_MODE 2
23
+ APPEND_PARAMETER "Signed" 8 UINT 0 2 0 "Whether to treat the Data Size data as signed or unsigned when comparing to the Threshold"
24
+ STATE NOT_APPLICABLE 0
25
+ STATE UNSIGNED 1
26
+ STATE SIGNED 2
27
+
28
+ # Note we're creating 100 DEFAULT rows to match our 100 row table
29
+ <% 100.times do %>
30
+ DEFAULT 0x0 0 BITS 0x0 0 LESS_THAN NO_ACTION_REQUIRED ALL_MODES UNSIGNED
31
+ <% end %>
@@ -0,0 +1,31 @@
1
+ # Requires for limits responses and custom conversion classes
2
+ REQUIRE example_limits_response.rb
3
+ REQUIRE sim_inst.rb
4
+
5
+ # Ignored Parameters
6
+ # IGNORE_PARAMETER parameter_name
7
+ IGNORE_PARAMETER CCSDSVER
8
+ IGNORE_PARAMETER CCSDSTYPE
9
+ IGNORE_PARAMETER CCSDSSHF
10
+ IGNORE_PARAMETER CCSDSAPID
11
+ IGNORE_PARAMETER CCSDSSEQFLAGS
12
+ IGNORE_PARAMETER CCSDSSEQCNT
13
+ IGNORE_PARAMETER CCSDSLENGTH
14
+ IGNORE_PARAMETER PKTID
15
+
16
+ # Ignored Items
17
+ # IGNORE_ITEM item_name
18
+ IGNORE_ITEM CCSDSVER
19
+ IGNORE_ITEM CCSDSTYPE
20
+ IGNORE_ITEM CCSDSSHF
21
+ IGNORE_ITEM CCSDSAPID
22
+ IGNORE_ITEM CCSDSSEQFLAGS
23
+ IGNORE_ITEM CCSDSSEQCNT
24
+ IGNORE_ITEM CCSDSLENGTH
25
+
26
+ # Explicitly define command and telemetry files
27
+ # If not given then all the files in cmd/tlm will be processed in
28
+ # alphabetical order
29
+ COMMANDS inst_cmds.txt
30
+ TELEMETRY inst_tlm.txt
31
+ TELEMETRY inst_tlm_override.txt
@@ -0,0 +1,6 @@
1
+ LIMITS_GROUP INST2_TEMP2
2
+ LIMITS_GROUP_ITEM INST2 HEALTH_STATUS TEMP2
3
+
4
+ LIMITS_GROUP INST2_GROUND
5
+ LIMITS_GROUP_ITEM INST2 HEALTH_STATUS GROUND1STATUS
6
+ LIMITS_GROUP_ITEM INST2 HEALTH_STATUS GROUND2STATUS
@@ -0,0 +1,10 @@
1
+ TELEMETRY SYSTEM META BIG_ENDIAN "System Meta Data Telemetry Packet"
2
+ APPEND_ID_ITEM PKTID 8 UINT 1 "Packet Id"
3
+ APPEND_ITEM CONFIG 256 STRING "Configuration Name"
4
+ APPEND_ITEM COSMOS_VERSION 240 STRING "COSMOS Version"
5
+ META READ_ONLY
6
+ APPEND_ITEM USER_VERSION 240 STRING "User Project Version"
7
+ META READ_ONLY
8
+ APPEND_ITEM RUBY_VERSION 240 STRING "Ruby Version"
9
+ META READ_ONLY
10
+ APPEND_ITEM OPERATOR_NAME 512 STRING "Operator Name"
@@ -0,0 +1,41 @@
1
+ COMMAND SYSTEM STARTLOGGING BIG_ENDIAN "Starts logging both commands and telemetry for an interface"
2
+ APPEND_PARAMETER SYNC 32 UINT 0x1ACFFC1D 0x1ACFFC1D 0x1ACFFC1D "COSMOS Command Sync Pattern"
3
+ APPEND_ID_PARAMETER OPCODE 32 UINT 2 2 2 "COSMOS Command Opcode"
4
+ APPEND_PARAMETER LENGTH 32 UINT 0 65536 3 "COSMOS Command Length of Command Data in Bytes"
5
+ APPEND_PARAMETER INTERFACE 256 STRING "ALL" "Interface to start logging on - ALL starts logging on all interfaces"
6
+ APPEND_PARAMETER LABEL 0 STRING "" "Optional label to place on log files"
7
+
8
+ COMMAND SYSTEM STARTCMDLOG BIG_ENDIAN "Starts logging commands for an interface"
9
+ APPEND_PARAMETER SYNC 32 UINT 0x1ACFFC1D 0x1ACFFC1D 0x1ACFFC1D "COSMOS Command Sync Pattern"
10
+ APPEND_ID_PARAMETER OPCODE 32 UINT 3 3 3 "COSMOS Command Opcode"
11
+ APPEND_PARAMETER LENGTH 32 UINT 0 65536 3 "COSMOS Command Length of Command Data in Bytes"
12
+ APPEND_PARAMETER INTERFACE 256 STRING "ALL" "Interface to start logging on - ALL starts logging on all interfaces"
13
+ APPEND_PARAMETER LABEL 0 STRING "" "Optional label to place on log files"
14
+
15
+ COMMAND SYSTEM STARTTLMLOG BIG_ENDIAN "Starts logging telemetry for an interface"
16
+ APPEND_PARAMETER SYNC 32 UINT 0x1ACFFC1D 0x1ACFFC1D 0x1ACFFC1D "COSMOS Command Sync Pattern"
17
+ APPEND_ID_PARAMETER OPCODE 32 UINT 4 4 4 "COSMOS Command Opcode"
18
+ APPEND_PARAMETER LENGTH 32 UINT 0 65536 3 "COSMOS Command Length of Command Data in Bytes"
19
+ APPEND_PARAMETER INTERFACE 256 STRING "ALL" "Interface to start logging on - ALL starts logging on all interfaces"
20
+ APPEND_PARAMETER LABEL 0 STRING "" "Optional label to place on log files"
21
+
22
+ COMMAND SYSTEM STOPLOGGING BIG_ENDIAN "Stops logging both commands and telemetry for an interface"
23
+ APPEND_PARAMETER SYNC 32 UINT 0x1ACFFC1D 0x1ACFFC1D 0x1ACFFC1D "COSMOS Command Sync Pattern"
24
+ APPEND_ID_PARAMETER OPCODE 32 UINT 5 5 5 "COSMOS Command Opcode"
25
+ APPEND_PARAMETER LENGTH 32 UINT 0 65536 3 "COSMOS Command Length of Command Data in Bytes"
26
+ APPEND_PARAMETER INTERFACE 256 STRING "ALL" "Interface to stop logging on - ALL stops logging on all interfaces"
27
+ APPEND_PARAMETER LABEL 0 STRING "" "Optional label to place on log files"
28
+
29
+ COMMAND SYSTEM STOPCMDLOG BIG_ENDIAN "Stops logging commands for an interface"
30
+ APPEND_PARAMETER SYNC 32 UINT 0x1ACFFC1D 0x1ACFFC1D 0x1ACFFC1D "COSMOS Command Sync Pattern"
31
+ APPEND_ID_PARAMETER OPCODE 32 UINT 6 6 6 "COSMOS Command Opcode"
32
+ APPEND_PARAMETER LENGTH 32 UINT 0 65536 3 "COSMOS Command Length of Command Data in Bytes"
33
+ APPEND_PARAMETER INTERFACE 256 STRING "ALL" "Interface to stop logging on - ALL stops logging on all interfaces"
34
+ APPEND_PARAMETER LABEL 0 STRING "" "Optional label to place on log files"
35
+
36
+ COMMAND SYSTEM STOPTLMLOG BIG_ENDIAN "Stops logging telemetry for an interface"
37
+ APPEND_PARAMETER SYNC 32 UINT 0x1ACFFC1D 0x1ACFFC1D 0x1ACFFC1D "COSMOS Command Sync Pattern"
38
+ APPEND_ID_PARAMETER OPCODE 32 UINT 7 7 7 "COSMOS Command Opcode"
39
+ APPEND_PARAMETER LENGTH 32 UINT 0 65536 3 "COSMOS Command Length of Command Data in Bytes"
40
+ APPEND_PARAMETER INTERFACE 256 STRING "ALL" "Interface to stop logging on - ALL stops logging on all interfaces"
41
+ APPEND_PARAMETER LABEL 0 STRING "" "Optional label to place on log files"
@@ -0,0 +1,7 @@
1
+ TELEMETRY SYSTEM LIMITS_CHANGE BIG_ENDIAN "COSMOS limits change"
2
+ APPEND_ID_ITEM PKT_ID 8 UINT 2 "Packet Id"
3
+ APPEND_ITEM TARGET 240 STRING "Target name"
4
+ APPEND_ITEM PACKET 240 STRING "Packet name"
5
+ APPEND_ITEM ITEM 240 STRING "Item that changed limits state"
6
+ APPEND_ITEM OLD_STATE 240 STRING "The old limit state"
7
+ APPEND_ITEM NEW_STATE 240 STRING "The new limit state"