openc3-demo 5.0.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|