cosmos 4.0.1-universal-java-1.8 → 4.0.2-universal-java-1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/data/config/_id_items.yaml +1 -1
- data/data/config/_id_params.yaml +1 -1
- data/data/config/_items.yaml +1 -1
- data/data/config/_params.yaml +1 -1
- data/data/config/cmd_tlm_server.yaml +14 -0
- data/data/config/command.yaml +2 -0
- data/data/config/command_modifiers.yaml +18 -0
- data/data/config/item_modifiers.yaml +39 -0
- data/data/config/param_item_modifiers.yaml +5 -0
- data/data/config/parameter_modifiers.yaml +36 -0
- data/data/config/protocols.yaml +22 -6
- data/data/config/system.yaml +17 -0
- data/data/config/target.yaml +9 -0
- data/data/config/telemetry.yaml +7 -0
- data/data/config/telemetry_modifiers.yaml +13 -0
- data/data/config/tlm_viewer.yaml +5 -0
- data/data/crc.txt +20 -20
- data/demo/config/data/crc.txt +3 -3
- data/demo/config/targets/INST/screens/hs.txt +1 -1
- data/demo/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +5 -10
- data/demo/config/targets/SYSTEM/lib/limits_groups.rb +33 -17
- data/lib/cosmos/core_ext/string.rb +1 -1
- data/lib/cosmos/gui/utilities/script_module_gui.rb +3 -3
- data/lib/cosmos/interfaces/protocols/length_protocol.rb +1 -1
- data/lib/cosmos/interfaces/protocols/template_protocol.rb +37 -6
- data/lib/cosmos/interfaces/udp_interface.rb +3 -3
- data/lib/cosmos/packets/packet_config.rb +1 -0
- data/lib/cosmos/packets/parsers/format_string_parser.rb +1 -0
- data/lib/cosmos/packets/parsers/limits_parser.rb +1 -0
- data/lib/cosmos/packets/parsers/state_parser.rb +3 -0
- data/lib/cosmos/packets/telemetry.rb +1 -1
- data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +1 -1
- data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +4 -3
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_config.rb +1 -1
- data/lib/cosmos/tools/tlm_viewer/screen.rb +3 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/formatfontvalue_widget.rb +5 -10
- data/lib/cosmos/tools/tlm_viewer/widgets/limits_widget.rb +1 -1
- data/lib/cosmos/tools/tlm_viewer/widgets/matrixbycolumns_widget.rb +3 -1
- data/lib/cosmos/top_level.rb +2 -4
- data/lib/cosmos/utilities/csv.rb +1 -1
- data/lib/cosmos/version.rb +4 -4
- data/spec/interfaces/protocols/template_protocol_spec.rb +119 -15
- data/spec/interfaces/udp_interface_spec.rb +8 -2
- data/spec/packets/packet_config_spec.rb +11 -0
- data/spec/packets/parsers/format_string_parser_spec.rb +11 -0
- data/spec/packets/parsers/limits_parser_spec.rb +21 -10
- data/spec/packets/parsers/packet_item_parser_spec.rb +5 -5
- data/spec/packets/parsers/state_parser_spec.rb +33 -0
- data/spec/tools/cmd_tlm_server/limits_groups_background_task_spec.rb +4 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa743efd88b1f40cbe8b30a4fe554250df894cd5504623922983bb022c94516a
|
4
|
+
data.tar.gz: ca495dc357053842b8d6cf0665a8583c46169b7cf8e7c9eb92b3829603e49258
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91e4cd22b79229e07263e2fd63245b992897d4bd6a08a2227aafd8063b8965654aa47fe9e016735aebc64829b9d32a971710c79e5e52675a94da532d7efe2c13
|
7
|
+
data.tar.gz: 769a8c98697a2bba14dc831e1204b7b890346578f14b09eb1bdd5a8486cce945e1439dc491bf907499860790cb3cb0e1e0fc1f85b7fbea0a14fd88b41e7db6e8
|
data/data/config/_id_items.yaml
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
- name: Data Type
|
10
10
|
required: true
|
11
11
|
description: Data Type of this telemetry item
|
12
|
-
values: <%= %w(INT UINT FLOAT STRING BLOCK
|
12
|
+
values: <%= %w(INT UINT FLOAT STRING BLOCK DERIVED) %>
|
13
13
|
- name: ID Value
|
14
14
|
required: true
|
15
15
|
description: The value of this telemetry item that uniquely identifies this telemetry packet
|
data/data/config/_id_params.yaml
CHANGED
data/data/config/_items.yaml
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
- name: Data Type
|
10
10
|
required: true
|
11
11
|
description: Data Type of this telemetry item
|
12
|
-
values: <%= %w(INT UINT FLOAT STRING BLOCK
|
12
|
+
values: <%= %w(INT UINT FLOAT STRING BLOCK DERIVED) %>
|
13
13
|
- name: Description
|
14
14
|
required: false
|
15
15
|
description: Description for this telemetry item which must be enclosed with quotes
|
data/data/config/_params.yaml
CHANGED
@@ -17,6 +17,12 @@ PACKET_LOG_WRITER:
|
|
17
17
|
to create log files.
|
18
18
|
warning: You should NOT override the default without consulting a COSMOS expert
|
19
19
|
as this may break the ability to successfully read and write log files.
|
20
|
+
example: |
|
21
|
+
PACKET_LOG_WRITER DEFAULT packet_log_writer.rb # Default
|
22
|
+
# The default logger filename will be <DATE>_cosmostlm.bin and will create a new log every 1MB
|
23
|
+
PACKET_LOG_WRITER DEFAULT packet_log_writer.rb cosmos true nil 1000000
|
24
|
+
# Create a logger named COSMOS_LOG which creates a new log every 5 min (600s)
|
25
|
+
PACKET_LOG_WRITER COSMOS_LOG packet_log_writer.rb cosmos true 600
|
20
26
|
parameters:
|
21
27
|
- name: Log Writer Name
|
22
28
|
required: true
|
@@ -40,6 +46,9 @@ AUTO_INTERFACE_TARGETS:
|
|
40
46
|
INTERFACE_TARGET or INTERFACE keyword.
|
41
47
|
INTERFACE_TARGET:
|
42
48
|
summary: Load the specified target's cmd_tlm_server.txt configuration file
|
49
|
+
example: |
|
50
|
+
INTERFACE_TARGET COSMOS # Look in the COSMOS target directory for cmd_tlm_server.txt
|
51
|
+
INTERFACE_TARGET COSMOS config.txt # Look in the COSMOS target directory for config.txt
|
43
52
|
parameters:
|
44
53
|
- name: Target Name
|
45
54
|
required: true
|
@@ -71,6 +80,8 @@ INTERFACE:
|
|
71
80
|
description: Ruby file to use when instantiating the interface.
|
72
81
|
values:
|
73
82
|
<%= MetaConfigParser.load('_interfaces.yaml').to_meta_config_yaml(8) %>
|
83
|
+
documentation: Additional parameters are required. Please see the [Interfaces](/docs/interfaces)
|
84
|
+
documentation for more details.
|
74
85
|
ROUTER:
|
75
86
|
modifiers:
|
76
87
|
<%= MetaConfigParser.load('interface_modifiers.yaml').to_meta_config_yaml(4) %>
|
@@ -89,6 +100,8 @@ ROUTER:
|
|
89
100
|
description: Ruby file to use when instantiating the interface.
|
90
101
|
values:
|
91
102
|
<%= MetaConfigParser.load('_interfaces.yaml').to_meta_config_yaml(8) %>
|
103
|
+
documentation: Additional parameters are required. Please see the [Interfaces](/docs/interfaces)
|
104
|
+
documentation for more details.
|
92
105
|
COLLECT_METADATA:
|
93
106
|
summary: Prompts the user for meta data when starting the Command and Telemetry Server
|
94
107
|
BACKGROUND_TASK:
|
@@ -98,6 +111,7 @@ BACKGROUND_TASK:
|
|
98
111
|
is only called once so if your background task is supposed to live on while the
|
99
112
|
Server is running, you must implement your code in a loop with a sleep to not
|
100
113
|
use all the CPU.
|
114
|
+
example: BACKGROUND_TASK example_background_task.rb
|
101
115
|
parameters:
|
102
116
|
- name: Filename
|
103
117
|
required: true
|
data/data/config/command.yaml
CHANGED
@@ -3,6 +3,7 @@ COMMAND:
|
|
3
3
|
modifiers:
|
4
4
|
<%= MetaConfigParser.load('command_modifiers.yaml').to_meta_config_yaml(4) %>
|
5
5
|
summary: Defines a new command packet
|
6
|
+
example: COMMAND SYSTEM STARTLOGGING BIG_ENDIAN "Starts logging both commands and telemetry for an interface"
|
6
7
|
parameters:
|
7
8
|
- name: Target
|
8
9
|
required: true
|
@@ -27,6 +28,7 @@ SELECT_COMMAND:
|
|
27
28
|
summary: Selects an existing command packet for editing
|
28
29
|
description: Typically used in a separate configuration file from where the original
|
29
30
|
command is defined to override or add to the existing command definition
|
31
|
+
example: SELECT_COMMAND SYSTEM STARTLOGGING
|
30
32
|
parameters:
|
31
33
|
- name: Target Name
|
32
34
|
required: true
|
@@ -3,6 +3,12 @@ PARAMETER:
|
|
3
3
|
modifiers:
|
4
4
|
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
5
5
|
summary: Defines a command parameter in the current command packet
|
6
|
+
example: |
|
7
|
+
PARAMETER SYNC 0 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern"
|
8
|
+
PARAMETER DATA 32 32 INT MIN MAX 0 "Data value"
|
9
|
+
PARAMETER VALUE 64 32 FLOAT 0 10.5 2.5
|
10
|
+
PARAMETER LABEL 96 96 STRING "COSMOS" "The label to apply"
|
11
|
+
PARAMETER BLOCK 192 0 BLOCK '' "Block of binary data"
|
6
12
|
parameters:
|
7
13
|
- name: Name
|
8
14
|
required: true
|
@@ -19,6 +25,10 @@ APPEND_PARAMETER:
|
|
19
25
|
modifiers:
|
20
26
|
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
21
27
|
summary: Defines a command parameter in the current command packet
|
28
|
+
example: |
|
29
|
+
APPEND_PARAMETER SYNC 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern"
|
30
|
+
APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5
|
31
|
+
APPEND_PARAMETER LABEL 0 STRING "COSMOS" "The label to apply"
|
22
32
|
parameters:
|
23
33
|
- name: Name
|
24
34
|
required: true
|
@@ -32,6 +42,7 @@ ID_PARAMETER:
|
|
32
42
|
description: ID parameters are used to identify the binary block of data as a
|
33
43
|
particular command. A command packet may have one or more ID_PARAMETERs and all
|
34
44
|
must match the binary data for the command to be identified.
|
45
|
+
example: ID_PARAMETER OPCODE 32 32 UINT 2 2 2 "Opcode identifier"
|
35
46
|
parameters:
|
36
47
|
- name: Name
|
37
48
|
required: true
|
@@ -51,6 +62,7 @@ APPEND_ID_PARAMETER:
|
|
51
62
|
description: ID parameters are used to identify the binary block of data as a
|
52
63
|
particular command. A command packet may have one or more ID_PARAMETERs and all
|
53
64
|
must match the binary data for the command to be identified.
|
65
|
+
example: APPEND_ID_PARAMETER OPCODE 32 UINT 2 2 2 "Opcode identifier"
|
54
66
|
parameters:
|
55
67
|
- name: Name
|
56
68
|
required: true
|
@@ -61,6 +73,7 @@ ARRAY_PARAMETER:
|
|
61
73
|
modifiers:
|
62
74
|
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
63
75
|
summary: Defines a command parameter in the current command packet that is an array
|
76
|
+
example: ARRAY_PARAMETER ARRAY 64 64 FLOAT 640 "Array of 10 64bit floats"
|
64
77
|
parameters:
|
65
78
|
- name: Name
|
66
79
|
required: true
|
@@ -77,6 +90,7 @@ APPEND_ARRAY_PARAMETER:
|
|
77
90
|
modifiers:
|
78
91
|
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
79
92
|
summary: Defines a command parameter in the current command packet that is an array
|
93
|
+
example: APPEND_ARRAY_PARAMETER ARRAY 64 FLOAT 640 "Array of 10 64bit floats"
|
80
94
|
parameters:
|
81
95
|
- name: Name
|
82
96
|
required: true
|
@@ -87,6 +101,9 @@ SELECT_PARAMETER:
|
|
87
101
|
modifiers:
|
88
102
|
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
89
103
|
summary: Selects an existing command parameter for editing
|
104
|
+
example: |
|
105
|
+
SELECT_COMMAND SYSTEM STARTLOGGING
|
106
|
+
SELECT_PARAMETER LABEL
|
90
107
|
parameters:
|
91
108
|
- name: Parameter
|
92
109
|
required: true
|
@@ -107,6 +124,7 @@ META:
|
|
107
124
|
description: Meta data is user specific data that can be used by custom tools
|
108
125
|
for various purposes. One example is to store additional information needed
|
109
126
|
to generate source code header files.
|
127
|
+
example: META FSW_TYPE "struct command"
|
110
128
|
parameters:
|
111
129
|
- name: Meta Name
|
112
130
|
required: true
|
@@ -6,6 +6,14 @@ STATE:
|
|
6
6
|
you might define states for ON = 1 and OFF = 0. This allows the word ON to be
|
7
7
|
used rather than the number 1 when sending the telemetry item and allows
|
8
8
|
for much greater clarity and less chance for user error.
|
9
|
+
example: |
|
10
|
+
APPEND_ITEM ENABLE 32 UINT "Enable setting"
|
11
|
+
STATE FALSE 0
|
12
|
+
STATE TRUE 1
|
13
|
+
APPEND_ITEM STRING 1024 STRING "String"
|
14
|
+
STATE "NOOP" "NOOP" GREEN
|
15
|
+
STATE "ARM LASER" "ARM LASER" YELLOW
|
16
|
+
STATE "FIRE LASER" "FIRE LASER" RED
|
9
17
|
parameters:
|
10
18
|
- name: Key
|
11
19
|
required: true
|
@@ -29,6 +37,23 @@ READ_CONVERSION:
|
|
29
37
|
factor is applied to the raw value in the telemetry packet before it is displayed
|
30
38
|
to the user. The user still has the ability to see the raw unconverted value
|
31
39
|
in a details dialog.
|
40
|
+
example: |
|
41
|
+
READ_CONVERSION the_great_conversion.rb 1000
|
42
|
+
|
43
|
+
Defined in the_great_conversion.rb:
|
44
|
+
|
45
|
+
require 'cosmos/conversions/conversion'
|
46
|
+
module Cosmos
|
47
|
+
class TheGreatConversion < Conversion
|
48
|
+
def initialize(multiplier)
|
49
|
+
super()
|
50
|
+
@multiplier = multiplier
|
51
|
+
end
|
52
|
+
def call(value, packet, buffer)
|
53
|
+
return value * multiplier
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
32
57
|
parameters:
|
33
58
|
- name: Class File Name
|
34
59
|
required: true
|
@@ -47,6 +72,7 @@ POLY_READ_CONVERSION:
|
|
47
72
|
description: The conversion factor is applied to raw value in the telemetry
|
48
73
|
packet before it is displayed to the user. The user still has the ability
|
49
74
|
to see the raw unconverted value in a details dialog.
|
75
|
+
example: POLY_READ_CONVERSION 10 0.5 0.25
|
50
76
|
parameters:
|
51
77
|
- name: C0
|
52
78
|
required: true
|
@@ -64,6 +90,10 @@ SEG_POLY_READ_CONVERSION:
|
|
64
90
|
description: This conversion factor is applied to the raw value in the telemetry packet
|
65
91
|
before it is displayed to the user. The user still has the ability to see the raw
|
66
92
|
unconverted value in a details dialog.
|
93
|
+
example: |
|
94
|
+
SEG_POLY_READ_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50
|
95
|
+
SEG_POLY_READ_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100
|
96
|
+
SEG_POLY_READ_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100
|
67
97
|
parameters:
|
68
98
|
- name: Lower Bound
|
69
99
|
required: true
|
@@ -96,6 +126,11 @@ GENERIC_READ_CONVERSION_START:
|
|
96
126
|
warning: Generic conversions are not a good long term solution. Consider creating
|
97
127
|
a conversion class and using READ_CONVERSION instead. READ_CONVERSION is easier
|
98
128
|
to debug and higher performance.
|
129
|
+
example: |
|
130
|
+
APPEND_ITEM ITEM1 32 UINT
|
131
|
+
GENERIC_READ_CONVERSION_START
|
132
|
+
value * 1.5 # Convert the value by a scale factor
|
133
|
+
GENERIC_READ_CONVERSION_END
|
99
134
|
GENERIC_READ_CONVERSION_END:
|
100
135
|
summary: Complete a generic write conversion
|
101
136
|
LIMITS:
|
@@ -106,6 +141,9 @@ LIMITS:
|
|
106
141
|
The concept of "limits sets" is defined to allow for different limits values
|
107
142
|
in different environments. For example, you might want tighter or looser limits
|
108
143
|
on telemetry if your environment changes such as during thermal vacuum testing.
|
144
|
+
example: |
|
145
|
+
LIMITS DEFAULT 3 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0
|
146
|
+
LIMITS TVAC 3 ENABLED -80.0 -30.0 30.0 80.0
|
109
147
|
parameters:
|
110
148
|
- name: Limits Set
|
111
149
|
required: true
|
@@ -159,6 +197,7 @@ LIMITS:
|
|
159
197
|
values: .+
|
160
198
|
LIMITS_RESPONSE:
|
161
199
|
summary: Defines a response class that is called when the limits state of the current item changes
|
200
|
+
example: LIMITS_RESPONSE example_limits_response.rb 10
|
162
201
|
parameters:
|
163
202
|
- name: Response Class Filename
|
164
203
|
required: true
|
@@ -1,6 +1,7 @@
|
|
1
1
|
---
|
2
2
|
FORMAT_STRING:
|
3
3
|
summary: Adds printf style formatting
|
4
|
+
example: FORMAT_STRING "0x%0X"
|
4
5
|
parameters:
|
5
6
|
- name: Format
|
6
7
|
required: true
|
@@ -9,6 +10,9 @@ FORMAT_STRING:
|
|
9
10
|
values: .*
|
10
11
|
UNITS:
|
11
12
|
summary: Add displayed units
|
13
|
+
example: |
|
14
|
+
UNITS Celcius C
|
15
|
+
UNITS Kilometers KM
|
12
16
|
parameters:
|
13
17
|
- name: Full Name
|
14
18
|
required: true
|
@@ -30,6 +34,7 @@ META:
|
|
30
34
|
description: Meta data is user specific data that can be used by custom tools
|
31
35
|
for various purposes. One example is to store additional information needed
|
32
36
|
to generate source code header files.
|
37
|
+
example: META TEST "This parameter is for test purposes only"
|
33
38
|
parameters:
|
34
39
|
- name: Meta Name
|
35
40
|
required: true
|
@@ -33,6 +33,14 @@ STATE:
|
|
33
33
|
you might define states for ON = 1 and OFF = 0. This allows the word ON to be
|
34
34
|
used rather than the number 1 when sending the command parameter and allows
|
35
35
|
for much greater clarity and less chance for user error.
|
36
|
+
example: |
|
37
|
+
APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting"
|
38
|
+
STATE FALSE 0
|
39
|
+
STATE TRUE 1
|
40
|
+
APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter"
|
41
|
+
STATE "NOOP" "NOOP"
|
42
|
+
STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard"
|
43
|
+
STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!"
|
36
44
|
parameters:
|
37
45
|
- name: Key
|
38
46
|
required: true
|
@@ -60,6 +68,23 @@ WRITE_CONVERSION:
|
|
60
68
|
takes extra parameters and must always implement the call method. The conversion
|
61
69
|
factor is applied to the value entered by the user before it is written into
|
62
70
|
the binary command packet and sent.
|
71
|
+
example: |
|
72
|
+
WRITE_CONVERSION the_great_conversion.rb 1000
|
73
|
+
|
74
|
+
Defined in the_great_conversion.rb:
|
75
|
+
|
76
|
+
require 'cosmos/conversions/conversion'
|
77
|
+
module Cosmos
|
78
|
+
class TheGreatConversion < Conversion
|
79
|
+
def initialize(multiplier)
|
80
|
+
super()
|
81
|
+
@multiplier = multiplier
|
82
|
+
end
|
83
|
+
def call(value, packet, buffer)
|
84
|
+
return value * multiplier
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
63
88
|
parameters:
|
64
89
|
- name: Class File Name
|
65
90
|
required: true
|
@@ -77,6 +102,7 @@ POLY_WRITE_CONVERSION:
|
|
77
102
|
summary: Adds a polynomial conversion factor to the current command parameter
|
78
103
|
description: The conversion factor is applied to the value entered by the user
|
79
104
|
before it is written into the binary command packet and sent.
|
105
|
+
example: POLY_WRITE_CONVERSION 10 0.5 0.25
|
80
106
|
parameters:
|
81
107
|
- name: C0
|
82
108
|
required: true
|
@@ -93,6 +119,10 @@ SEG_POLY_WRITE_CONVERSION:
|
|
93
119
|
summary: Adds a segmented polynomial conversion factor to the current command parameter
|
94
120
|
description: This conversion factor is applied to the value entered by the user
|
95
121
|
before it is written into the binary command packet and sent.
|
122
|
+
example: |
|
123
|
+
SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50
|
124
|
+
SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100
|
125
|
+
SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100
|
96
126
|
parameters:
|
97
127
|
- name: Lower Bound
|
98
128
|
required: true
|
@@ -124,6 +154,11 @@ GENERIC_WRITE_CONVERSION_START:
|
|
124
154
|
warning: Generic conversions are not a good long term solution. Consider creating
|
125
155
|
a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier
|
126
156
|
to debug and higher performance.
|
157
|
+
example: |
|
158
|
+
APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0
|
159
|
+
GENERIC_WRITE_CONVERSION_START
|
160
|
+
(value * 1.5).to_i # Convert the value by a scale factor
|
161
|
+
GENERIC_WRITE_CONVERSION_END
|
127
162
|
GENERIC_WRITE_CONVERSION_END:
|
128
163
|
summary: Complete a generic write conversion
|
129
164
|
OVERFLOW:
|
@@ -136,6 +171,7 @@ OVERFLOW:
|
|
136
171
|
for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for
|
137
172
|
a maximum hex value to be writen, e.g. you can successfully write 255 to a 8
|
138
173
|
bit signed value.
|
174
|
+
example: OVERFLOW TRUNCATE
|
139
175
|
parameters:
|
140
176
|
- name: Behavior
|
141
177
|
required: true
|
data/data/config/protocols.yaml
CHANGED
@@ -224,8 +224,8 @@ TEMPLATE:
|
|
224
224
|
required: false
|
225
225
|
description: An initial delay after connecting after which the stream will
|
226
226
|
be read till empty and data dropped. Useful for discarding connect headers
|
227
|
-
and initial prompts. Default is nil (no initial read)
|
228
|
-
values:
|
227
|
+
and initial prompts. Default is nil (no initial read).
|
228
|
+
values: .+
|
229
229
|
- name: Response Lines
|
230
230
|
required: false
|
231
231
|
description: The number of lines that make up expected responses.
|
@@ -241,17 +241,33 @@ TEMPLATE:
|
|
241
241
|
description: The number of bytes to discard from the binary data after
|
242
242
|
reading from the stream. Note that this applies to bytes including the
|
243
243
|
sync pattern if the sync pattern is being used.
|
244
|
-
Default is 0 (do not discard bytes)
|
244
|
+
Default is 0 (do not discard bytes).
|
245
245
|
values: \d+
|
246
246
|
- name: Sync Pattern
|
247
247
|
required: false
|
248
248
|
description: Hex string representing a byte pattern that will be searched
|
249
249
|
for in the raw stream. This pattern represents a packet delimiter and all
|
250
250
|
data found including the sync pattern will be returned.
|
251
|
-
Default is nil (no sync pattern)
|
251
|
+
Default is nil (no sync pattern).
|
252
252
|
values: .+
|
253
253
|
- name: Fill Sync Pattern
|
254
254
|
required: false
|
255
|
-
description: Whether or not to fill in the sync pattern on outgoing packets
|
256
|
-
Default is false
|
255
|
+
description: Whether or not to fill in the sync pattern on outgoing packets.
|
256
|
+
Default is false.
|
257
257
|
values: ['false','true']
|
258
|
+
- name: Response Timeout
|
259
|
+
required: false
|
260
|
+
description: Number of seconds to wait before timing out when waiting for a response.
|
261
|
+
Default is 5 seconds.
|
262
|
+
values: .+
|
263
|
+
- name: Response Polling Period
|
264
|
+
required: false
|
265
|
+
description: Number of seconds to wait between polling for a response.
|
266
|
+
Default is 0.02 seconds.
|
267
|
+
values: .+
|
268
|
+
- name: Error Action
|
269
|
+
required: false
|
270
|
+
description: How to handle errors in the protocol like unexpected responses
|
271
|
+
or response timeouts. 'DISCONNECT' to disconnect after errors. The default
|
272
|
+
is 'LOG' to log an error and continue.
|
273
|
+
values: ['LOG','DISCONNECT']
|
data/data/config/system.yaml
CHANGED
@@ -12,6 +12,7 @@ DECLARE_TARGET:
|
|
12
12
|
description: Declare target is used in place of AUTO_DECLARE_TARGETS to give more
|
13
13
|
fine grained control over how the target folder is loaded and named within COSMOS.
|
14
14
|
This is required if AUTO_DECLARE_TARGET is not present.
|
15
|
+
example: DECLARE_TARGET INST INST2 inst.txt
|
15
16
|
parameters:
|
16
17
|
- name: Target Name
|
17
18
|
required: true
|
@@ -57,6 +58,10 @@ PORT:
|
|
57
58
|
It is not necessary to set this option unless you wish to override the defaults
|
58
59
|
(given in the example usage). Overriding ports is necessary if you want to run
|
59
60
|
two Command and Telemetry Servers on the same computer simultaneously.
|
61
|
+
example: |
|
62
|
+
PORT CTS_API 7777 # Default
|
63
|
+
PORT TLMVIEWER_API 7778 # Default
|
64
|
+
PORT CTS_PREIDENTIFIED 7779 # Default
|
60
65
|
parameters:
|
61
66
|
- name: Port Name
|
62
67
|
required: true
|
@@ -121,6 +126,13 @@ PATH:
|
|
121
126
|
warning: The PROCEDURES path must be set for Script Runner and Test Runner to locate your
|
122
127
|
procedure files. You can add multiple 'PATH PROCEDURES' lines to your configuration file
|
123
128
|
to set multiple locations.
|
129
|
+
example: |
|
130
|
+
PATH LOGS './logs' # Default location of system and tool log files
|
131
|
+
PATH TMP './tmp' # Default location of temporary marshal files
|
132
|
+
PATH SAVED_CONFIG './saved_config' # Default location of saved configurations (see note)
|
133
|
+
PATH TABLES './tables' # Default location of table files
|
134
|
+
PATH PROCEDURES './procedures' # Default location of Script procedure files
|
135
|
+
PATH HANDBOOKS './handbooks' # Default location to place handbook files
|
124
136
|
parameters:
|
125
137
|
- name: Path Name
|
126
138
|
required: true
|
@@ -134,6 +146,7 @@ DEFAULT_PACKET_LOG_WRITER:
|
|
134
146
|
summary: Set the class used when creating binary packet log files
|
135
147
|
warning: Overriding the default log writer can break the ability to write log
|
136
148
|
files that COSMOS can interpret. Proceed with caution!
|
149
|
+
example: DEFAULT_PACKET_LOG_WRITER packet_log_writer.rb # Default
|
137
150
|
parameters:
|
138
151
|
- name: Filename
|
139
152
|
required: true
|
@@ -148,6 +161,7 @@ DEFAULT_PACKET_LOG_READER:
|
|
148
161
|
summary: Set the class used when reading binary packet log file
|
149
162
|
warning: Overriding the default log read can break the ability to read log
|
150
163
|
files. Proceed with caution!
|
164
|
+
example: DEFAULT_PACKET_LOG_READER packet_log_reader.rb # Default
|
151
165
|
parameters:
|
152
166
|
- name: Filename
|
153
167
|
required: true
|
@@ -162,6 +176,7 @@ STALENESS_SECONDS:
|
|
162
176
|
summary: Number of seconds before marking the packet stale
|
163
177
|
description: A stale packet is identified in telemetry screens by all the telemetry
|
164
178
|
items in the stale packet being colored purple..
|
179
|
+
example: STALENESS_SECONDS 30 # Default
|
165
180
|
parameters:
|
166
181
|
- name: Seconds
|
167
182
|
required: true
|
@@ -186,6 +201,7 @@ ENABLE_SOUND:
|
|
186
201
|
since: 3.5.0
|
187
202
|
ALLOW_ACCESS:
|
188
203
|
summary: White list machines that are allowed to connect to the Server
|
204
|
+
example: ALLOW_ACCESS ALL # Default
|
189
205
|
parameters:
|
190
206
|
- name: Name or IP Address
|
191
207
|
required: true
|
@@ -223,6 +239,7 @@ ADD_MD5_FILE:
|
|
223
239
|
MD5 sum calculation. This means that a change in the file will cause COSMOS to
|
224
240
|
re-process the cmd/tlm defintions and create a new set of marshal files.
|
225
241
|
since: 4.0.0
|
242
|
+
example: ADD_MD5_FILE lib/user_version.rb
|
226
243
|
parameters:
|
227
244
|
- name: Filename
|
228
245
|
required: true
|