openc3-demo 5.0.6

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 (80) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +727 -0
  3. data/README.md +30 -0
  4. data/Rakefile +42 -0
  5. data/microservices/EXAMPLE/example_target.rb +123 -0
  6. data/microservices/TEMPLATED/scpi_target.rb +79 -0
  7. data/plugin.txt +112 -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 +57 -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 +354 -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/file_dialog.rb +13 -0
  25. data/targets/INST/procedures/my_script_suite.rb +46 -0
  26. data/targets/INST/procedures/my_test_suite.rb +45 -0
  27. data/targets/INST/procedures/target_file.rb +21 -0
  28. data/targets/INST/procedures/utilities/clear.rb +7 -0
  29. data/targets/INST/procedures/utilities/collect.rb +14 -0
  30. data/targets/INST/public/ground_error.png +0 -0
  31. data/targets/INST/public/ground_off.png +0 -0
  32. data/targets/INST/public/ground_on.png +0 -0
  33. data/targets/INST/public/satellite.png +0 -0
  34. data/targets/INST/screens/_footer.txt +3 -0
  35. data/targets/INST/screens/adcs.txt +71 -0
  36. data/targets/INST/screens/array.txt +15 -0
  37. data/targets/INST/screens/block.txt +6 -0
  38. data/targets/INST/screens/commanding.txt +44 -0
  39. data/targets/INST/screens/graphs.txt +17 -0
  40. data/targets/INST/screens/ground.txt +46 -0
  41. data/targets/INST/screens/hs.txt +42 -0
  42. data/targets/INST/screens/latest.txt +21 -0
  43. data/targets/INST/screens/limits.txt +82 -0
  44. data/targets/INST/screens/other.txt +37 -0
  45. data/targets/INST/screens/params.txt +54 -0
  46. data/targets/INST/screens/simple.txt +6 -0
  47. data/targets/INST/screens/tabs.txt +66 -0
  48. data/targets/INST/screens/web.txt +5 -0
  49. data/targets/INST/tables/bin/ConfigTables.bin +0 -0
  50. data/targets/INST/tables/config/ConfigTables_def.txt +7 -0
  51. data/targets/INST/tables/config/MCConfigurationTable_def.txt +36 -0
  52. data/targets/INST/tables/config/PPSSelectionTable_def.txt +7 -0
  53. data/targets/INST/tables/config/TLMMonitoringTable_def.txt +31 -0
  54. data/targets/INST/tables/procedures/download.rb +16 -0
  55. data/targets/INST/tables/procedures/upload.rb +19 -0
  56. data/targets/INST/target.txt +31 -0
  57. data/targets/SYSTEM/cmd_tlm/limits_groups.txt +6 -0
  58. data/targets/SYSTEM/cmd_tlm/meta_tlm.txt +10 -0
  59. data/targets/SYSTEM/cmd_tlm/system_cmds.txt +41 -0
  60. data/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
  61. data/targets/SYSTEM/lib/example_background_task.rb +66 -0
  62. data/targets/SYSTEM/lib/example_target.rb +112 -0
  63. data/targets/SYSTEM/lib/limits_groups.rb +64 -0
  64. data/targets/SYSTEM/lib/scpi_target.rb +76 -0
  65. data/targets/SYSTEM/procedures/example_test.rb +191 -0
  66. data/targets/SYSTEM/procedures/interactive.rb +38 -0
  67. data/targets/SYSTEM/procedures/openc3_api_test.rb +286 -0
  68. data/targets/SYSTEM/procedures/run_example_test.rb +3 -0
  69. data/targets/SYSTEM/procedures/test.rb +49 -0
  70. data/targets/SYSTEM/screens/status.txt +12 -0
  71. data/targets/SYSTEM/target.txt +12 -0
  72. data/targets/TEMPLATED/cmd_tlm/templated_cmds.txt +13 -0
  73. data/targets/TEMPLATED/cmd_tlm/templated_tlm.txt +3 -0
  74. data/targets/TEMPLATED/lib/templated_interface.rb +69 -0
  75. data/targets/TEMPLATED/target.txt +8 -0
  76. data/tools/widgets/BigWidget/BigWidget.umd.min.js +4 -0
  77. data/tools/widgets/BigWidget/BigWidget.umd.min.js.map +1 -0
  78. data/tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js +2 -0
  79. data/tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js.map +1 -0
  80. metadata +126 -0
@@ -0,0 +1,46 @@
1
+ load 'openc3/script/suite.rb'
2
+ require 'INST/procedures/utilities/collect' # Test requiring files from s3 in suite analysis
3
+
4
+ class ExampleGroup < OpenC3::Group
5
+ def setup
6
+ puts "Setup"
7
+ end
8
+
9
+ def script_run_method_with_long_name
10
+ puts "Running #{OpenC3::Group.current_suite}:#{OpenC3::Group.current_group}:#{OpenC3::Group.current_script}"
11
+ OpenC3::Group.puts "This test verifies requirement 1"
12
+ raise "error"
13
+ puts "continue past raise"
14
+ end
15
+
16
+ def script_2
17
+ puts "Running #{OpenC3::Group.current_suite}:#{OpenC3::Group.current_group}:#{OpenC3::Group.current_script}"
18
+ OpenC3::Group.puts "This test verifies requirement 2"
19
+ helper()
20
+ wait(2)
21
+ end
22
+
23
+ def script_3
24
+ puts "Running #{OpenC3::Group.current_suite}:#{OpenC3::Group.current_group}:#{OpenC3::Group.current_script}"
25
+ raise SkipScript
26
+ end
27
+
28
+ def helper
29
+ if $manual
30
+ answer = ask "Are you sure?"
31
+ else
32
+ answer = 'y'
33
+ end
34
+ end
35
+
36
+ def teardown
37
+ puts "teardown"
38
+ end
39
+ end
40
+
41
+ class MySuite < OpenC3::Suite
42
+ def initialize
43
+ super()
44
+ add_group('ExampleGroup')
45
+ end
46
+ end
@@ -0,0 +1,45 @@
1
+ load 'openc3/tools/test_runner/test.rb'
2
+
3
+ class ExampleTest < OpenC3::Test
4
+ def setup
5
+ puts "Setup"
6
+ end
7
+
8
+ def test_case_with_long_name
9
+ puts "Running #{OpenC3::Test.current_test_suite}:#{OpenC3::Test.current_test}:#{OpenC3::Test.current_test_case}"
10
+ OpenC3::Test.puts "This test verifies requirement 1"
11
+ raise "error"
12
+ puts "continue past raise"
13
+ end
14
+
15
+ def test_2
16
+ puts "Running #{OpenC3::Test.current_test_suite}:#{OpenC3::Test.current_test}:#{OpenC3::Test.current_test_case}"
17
+ OpenC3::Test.puts "This test verifies requirement 2"
18
+ helper()
19
+ wait(2)
20
+ end
21
+
22
+ def test_3
23
+ puts "Running #{OpenC3::Test.current_test_suite}:#{OpenC3::Test.current_test}:#{OpenC3::Test.current_test_case}"
24
+ raise SkipTestCase
25
+ end
26
+
27
+ def helper
28
+ if $manual
29
+ answer = ask "Are you sure?"
30
+ else
31
+ answer = 'y'
32
+ end
33
+ end
34
+
35
+ def teardown
36
+ puts "teardown"
37
+ end
38
+ end
39
+
40
+ class MyTestSuite < OpenC3::TestSuite
41
+ def initialize
42
+ super()
43
+ add_test('ExampleTest')
44
+ end
45
+ end
@@ -0,0 +1,21 @@
1
+ put_target_file("INST/test.txt", "this is a string test")
2
+ file = get_target_file("INST/test.txt")
3
+ puts file.read
4
+ file.delete
5
+ delete_target_file("INST/test.txt")
6
+
7
+ save_file = Tempfile.new('test')
8
+ save_file.write("this is a Io test")
9
+ save_file.rewind
10
+ put_target_file("INST/test.txt", save_file)
11
+ save_file.delete
12
+ file = get_target_file("INST/test.txt")
13
+ puts file.read
14
+ file.delete
15
+ delete_target_file("INST/test.txt")
16
+
17
+ put_target_file("INST/test.bin", "\x00\x01\x02\x03\xFF\xEE\xDD\xCC")
18
+ file = get_target_file("INST/test.bin")
19
+ puts file.read.formatted
20
+ file.delete
21
+ delete_target_file("INST/test.bin")
@@ -0,0 +1,7 @@
1
+ def clear
2
+ # Command the collect
3
+ cmd("<%= target_name %> CLEAR")
4
+
5
+ # Wait for telemetry to update
6
+ wait_check("<%= target_name %> HEALTH_STATUS COLLECTS == 0", 10)
7
+ end
@@ -0,0 +1,14 @@
1
+ load_utility '<%= target_name %>/procedures/utilities/clear.rb'
2
+
3
+ def collect(type, duration, call_clear = false)
4
+ # Get the current collects telemetry point
5
+ collects = tlm('<%= target_name %> HEALTH_STATUS COLLECTS')
6
+
7
+ # Command the collect
8
+ cmd("<%= target_name %> COLLECT with TYPE #{type}, DURATION #{duration}")
9
+
10
+ # Wait for telemetry to update
11
+ wait_check("<%= target_name %> HEALTH_STATUS COLLECTS == #{collects + 1}", 10)
12
+
13
+ clear() if call_clear
14
+ end
Binary file
Binary file
Binary file
@@ -0,0 +1,3 @@
1
+ VERTICALBOX
2
+ LABELVALUE <%= target_name %> HEALTH_STATUS TIMEFORMATTED WITH_UNITS 30
3
+ END
@@ -0,0 +1,71 @@
1
+ SCREEN AUTO AUTO 1.0 FIXED
2
+
3
+ VERTICAL
4
+ TITLE "<%= target_name %> Instrument ADCS Information" Courier 20 NORMAL true
5
+ # Note @original_target_name is also available
6
+
7
+ HORIZONTAL
8
+ VERTICALBOX
9
+ SECTIONHEADER "Position and Velocity"
10
+
11
+ LABELVALUE <%= target_name %> ADCS POSX WITH_UNITS 20 CENTER
12
+ LABELVALUE <%= target_name %> ADCS POSY WITH_UNITS 22 CENTER
13
+ LABELVALUE <%= target_name %> ADCS POSZ WITH_UNITS 24 CENTER
14
+ LABELVALUE <%= target_name %> ADCS VELX WITH_UNITS 20
15
+ LABELVALUE <%= target_name %> ADCS VELY WITH_UNITS 22
16
+ LABELVALUE <%= target_name %> ADCS VELZ WITH_UNITS 24
17
+ END
18
+
19
+ VERTICALBOX
20
+ SECTIONHEADER "Attitude"
21
+
22
+ LABELVALUE <%= target_name %> ADCS Q1 WITH_UNITS 12 RIGHT
23
+ SETTING TEXTALIGN LEFT
24
+ SETTING TEXTCOLOR RED
25
+ LABELVALUE <%= target_name %> ADCS Q2 WITH_UNITS 12 RIGHT
26
+ SETTING TEXTALIGN LEFT
27
+ SUBSETTING 0 TEXTCOLOR BLUE
28
+ SUBSETTING 1 TEXTCOLOR GREEN
29
+ LABELVALUE <%= target_name %> ADCS Q3 WITH_UNITS 12 RIGHT
30
+ SETTING TEXTALIGN LEFT
31
+ SETTING BACKCOLOR PURPLE
32
+ LABELVALUE <%= target_name %> ADCS Q4 WITH_UNITS 12 RIGHT
33
+ SETTING TEXTALIGN LEFT
34
+ SUBSETTING 0 BACKCOLOR ORANGE
35
+ LABELVALUE <%= target_name %> ADCS BIASX WITH_UNITS 12 RIGHT
36
+ SETTING TEXTALIGN LEFT
37
+ LABELVALUE <%= target_name %> ADCS BIASY WITH_UNITS 12 RIGHT
38
+ SETTING TEXTALIGN LEFT
39
+ LABELVALUE <%= target_name %> ADCS BIASZ WITH_UNITS 12 RIGHT
40
+ SETTING TEXTALIGN LEFT
41
+ END
42
+
43
+ VERTICALBOX
44
+ SECTIONHEADER "File Progress"
45
+
46
+ LABELPROGRESSBAR <%= target_name %> ADCS POSPROGRESS
47
+ LABELPROGRESSBAR <%= target_name %> ADCS ATTPROGRESS
48
+ LABELPROGRESSBAR <%= target_name %> ADCS ATTPROGRESS 2 60 RAW # scale by 2
49
+
50
+ LABEL ""
51
+ LABEL "LEFT"
52
+ SETTING PADDING 5
53
+ SETTING TEXTALIGN LEFT
54
+ SETTING BACKCOLOR RED
55
+ LABEL "CENTER"
56
+ SETTING PADDING 5
57
+ SETTING TEXTALIGN CENTER
58
+ SETTING TEXTCOLOR BLACK
59
+ SETTING BACKCOLOR WHITE
60
+ LABEL "RIGHT"
61
+ SETTING PADDING 5
62
+ SETTING TEXTALIGN RIGHT
63
+ SETTING TEXTCOLOR WHITE
64
+ SETTING BACKCOLOR BLUE
65
+ END
66
+ END
67
+
68
+ VERTICALBOX
69
+ LABELVALUE <%= target_name %> ADCS TIMEFORMATTED WITH_UNITS 30
70
+ END
71
+ END
@@ -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,44 @@
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
+ # This is an example of using a varible named 'type'. You can operate on variables with Javascript code.
21
+ # All OpenC3 commands (api.cmd) must be separated by newlines '\n'. All code separated by semicolons is evaluated together.
22
+ BUTTON 'Start Collect' "var type=screen.get_named_widget('COLLECT_TYPE').text(); api.cmd('<%= target_name %> COLLECT with TYPE '+type+', DURATION '+screen.get_named_widget('DURATION').text())"
23
+ END
24
+ SETTING BACKCOLOR 163 185 163
25
+
26
+ VERTICALBOX
27
+ SECTIONHEADER "Parameter-less Commands:"
28
+ NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index
29
+ RADIOBUTTON 'Abort'
30
+ RADIOBUTTON 'Clear'
31
+ END
32
+ NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' # No option is by default UNCHECKED
33
+ 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'))"
34
+ END
35
+ SETTING BACKCOLOR 163 185 163
36
+
37
+ VERTICALBOX
38
+ SECTIONHEADER "Run Script:"
39
+ NAMED_WIDGET SCRIPTNAME COMBOBOX collect.rb checks.rb
40
+ NAMED_WIDGET BG CHECKBUTTON 'Background'
41
+ BUTTON 'Run Script' "var script=screen.get_named_widget('SCRIPTNAME').text(); run_script('INST/procedures/'+script, !screen.get_named_widget('BG').checked())"
42
+ END
43
+ SETTING BACKCOLOR 163 185 163
44
+ 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