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.
- checksums.yaml +7 -0
- data/LICENSE.txt +727 -0
- data/README.md +30 -0
- data/Rakefile +42 -0
- data/microservices/EXAMPLE/example_target.rb +123 -0
- data/microservices/TEMPLATED/scpi_target.rb +79 -0
- data/plugin.txt +112 -0
- data/targets/EXAMPLE/cmd_tlm/example_cmds.txt +2 -0
- data/targets/EXAMPLE/cmd_tlm/example_tlm.txt +5 -0
- data/targets/EXAMPLE/lib/example_interface.rb +27 -0
- data/targets/EXAMPLE/target.txt +9 -0
- data/targets/INST/cmd_tlm/_ccsds_cmd.txt +9 -0
- data/targets/INST/cmd_tlm/_ccsds_tlm.txt +19 -0
- data/targets/INST/cmd_tlm/inst_cmds.txt +57 -0
- data/targets/INST/cmd_tlm/inst_tlm.txt +162 -0
- data/targets/INST/cmd_tlm/inst_tlm_override.txt +12 -0
- data/targets/INST/data/attitude.bin +0 -0
- data/targets/INST/data/position.bin +0 -0
- data/targets/INST/lib/example_limits_response.rb +39 -0
- data/targets/INST/lib/sim_inst.rb +354 -0
- data/targets/INST/procedures/checks.rb +11 -0
- data/targets/INST/procedures/collect.rb +18 -0
- data/targets/INST/procedures/disconnect.rb +29 -0
- data/targets/INST/procedures/file_dialog.rb +13 -0
- data/targets/INST/procedures/my_script_suite.rb +46 -0
- data/targets/INST/procedures/my_test_suite.rb +45 -0
- data/targets/INST/procedures/target_file.rb +21 -0
- data/targets/INST/procedures/utilities/clear.rb +7 -0
- data/targets/INST/procedures/utilities/collect.rb +14 -0
- data/targets/INST/public/ground_error.png +0 -0
- data/targets/INST/public/ground_off.png +0 -0
- data/targets/INST/public/ground_on.png +0 -0
- data/targets/INST/public/satellite.png +0 -0
- data/targets/INST/screens/_footer.txt +3 -0
- data/targets/INST/screens/adcs.txt +71 -0
- data/targets/INST/screens/array.txt +15 -0
- data/targets/INST/screens/block.txt +6 -0
- data/targets/INST/screens/commanding.txt +44 -0
- data/targets/INST/screens/graphs.txt +17 -0
- data/targets/INST/screens/ground.txt +46 -0
- data/targets/INST/screens/hs.txt +42 -0
- data/targets/INST/screens/latest.txt +21 -0
- data/targets/INST/screens/limits.txt +82 -0
- data/targets/INST/screens/other.txt +37 -0
- data/targets/INST/screens/params.txt +54 -0
- data/targets/INST/screens/simple.txt +6 -0
- data/targets/INST/screens/tabs.txt +66 -0
- data/targets/INST/screens/web.txt +5 -0
- data/targets/INST/tables/bin/ConfigTables.bin +0 -0
- data/targets/INST/tables/config/ConfigTables_def.txt +7 -0
- data/targets/INST/tables/config/MCConfigurationTable_def.txt +36 -0
- data/targets/INST/tables/config/PPSSelectionTable_def.txt +7 -0
- data/targets/INST/tables/config/TLMMonitoringTable_def.txt +31 -0
- data/targets/INST/tables/procedures/download.rb +16 -0
- data/targets/INST/tables/procedures/upload.rb +19 -0
- data/targets/INST/target.txt +31 -0
- data/targets/SYSTEM/cmd_tlm/limits_groups.txt +6 -0
- data/targets/SYSTEM/cmd_tlm/meta_tlm.txt +10 -0
- data/targets/SYSTEM/cmd_tlm/system_cmds.txt +41 -0
- data/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
- data/targets/SYSTEM/lib/example_background_task.rb +66 -0
- data/targets/SYSTEM/lib/example_target.rb +112 -0
- data/targets/SYSTEM/lib/limits_groups.rb +64 -0
- data/targets/SYSTEM/lib/scpi_target.rb +76 -0
- data/targets/SYSTEM/procedures/example_test.rb +191 -0
- data/targets/SYSTEM/procedures/interactive.rb +38 -0
- data/targets/SYSTEM/procedures/openc3_api_test.rb +286 -0
- data/targets/SYSTEM/procedures/run_example_test.rb +3 -0
- data/targets/SYSTEM/procedures/test.rb +49 -0
- data/targets/SYSTEM/screens/status.txt +12 -0
- data/targets/SYSTEM/target.txt +12 -0
- data/targets/TEMPLATED/cmd_tlm/templated_cmds.txt +13 -0
- data/targets/TEMPLATED/cmd_tlm/templated_tlm.txt +3 -0
- data/targets/TEMPLATED/lib/templated_interface.rb +69 -0
- data/targets/TEMPLATED/target.txt +8 -0
- data/tools/widgets/BigWidget/BigWidget.umd.min.js +4 -0
- data/tools/widgets/BigWidget/BigWidget.umd.min.js.map +1 -0
- data/tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js +2 -0
- data/tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js.map +1 -0
- 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,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
|
Binary file
|
@@ -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,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,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
|