openc3 5.5.0 → 5.5.2.pre.beta0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of openc3 might be problematic. Click here for more details.

Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/data/config/_canvas_values.yaml +42 -0
  3. data/data/config/_graph_params.yaml +25 -0
  4. data/data/config/command.yaml +8 -3
  5. data/data/config/command_modifiers.yaml +26 -21
  6. data/data/config/graph_settings.yaml +54 -0
  7. data/data/config/interface_modifiers.yaml +8 -2
  8. data/data/config/item_modifiers.yaml +2 -2
  9. data/data/config/microservice.yaml +8 -1
  10. data/data/config/plugins.yaml +1 -0
  11. data/data/config/screen.yaml +45 -50
  12. data/data/config/settings.yaml +144 -0
  13. data/data/config/target.yaml +4 -0
  14. data/data/config/telemetry.yaml +15 -13
  15. data/data/config/telemetry_modifiers.yaml +9 -4
  16. data/data/config/tool.yaml +1 -0
  17. data/data/config/widgets.yaml +1745 -1493
  18. data/lib/openc3/api/settings_api.rb +12 -18
  19. data/lib/openc3/models/interface_model.rb +5 -2
  20. data/lib/openc3/models/microservice_model.rb +6 -5
  21. data/lib/openc3/models/plugin_model.rb +3 -1
  22. data/lib/openc3/models/scope_model.rb +5 -3
  23. data/lib/openc3/models/{settings_model.rb → setting_model.rb} +1 -1
  24. data/lib/openc3/models/tool_config_model.rb +6 -2
  25. data/lib/openc3/operators/microservice_operator.rb +2 -2
  26. data/lib/openc3/script/api_shared.rb +4 -0
  27. data/lib/openc3/utilities/authentication.rb +1 -1
  28. data/lib/openc3/utilities/aws_bucket.rb +6 -6
  29. data/lib/openc3/utilities/bucket.rb +1 -1
  30. data/lib/openc3/utilities/local_mode.rb +62 -7
  31. data/lib/openc3/utilities/redis_secrets.rb +4 -4
  32. data/lib/openc3/utilities/secrets.rb +5 -5
  33. data/lib/openc3/version.rb +6 -6
  34. data/templates/target/targets/TARGET/lib/target.rb +1 -1
  35. data/templates/target/targets/TARGET/screens/status.txt +1 -2
  36. metadata +9 -6
  37. data/lib/openc3/models/traefik_model.rb +0 -47
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a21cdfc706de17b576884e2d65593ed329ce736d12384ce0ab1880b3d5d7986
4
- data.tar.gz: a1927adc509a3087157cfc5b35737f01796c7fe54a711dd7e750a56de14d7b17
3
+ metadata.gz: 9afdd0579f3b0663d3cd0d378483b372c2f3c34faa5856d1c5ef5b4a1e582af3
4
+ data.tar.gz: 9224b37cda9d56d8e867a0ead73d815b3140979355a85d408824377e628fec10
5
5
  SHA512:
6
- metadata.gz: 0dc0c6851d30a29b647ae243b7cb6bfcf641c8cea7a86b41277c677a02f60ce9558f5bb1d37255eb358e99d4670c67e5fa9fecbe422055b061df10ee167591fb
7
- data.tar.gz: ed5c29f6c49930381ed2985e22736ec5ee2037774c60ec50d27e25afddd6ab90224d1012ff57ffa109402abe489abeafa78faf63e9111e65fa7689ec65222b3f
6
+ metadata.gz: 2c3e6009efea9ee0b7669634ba9dd0c45dd81fa9f47405ddd44ec375993e7d85b8f4b51547cb943c3229e2bfd7e5aa5ddfc5ad1de8963a6d05e8220c029e3baf
7
+ data.tar.gz: 4cbe48f762771ad19429e19102f5fe427607814b1eb2149a06ed713a972d807481b767b023031fe21c21465a67108e39ceb0fef003d0ffea533b3db223960764
@@ -0,0 +1,42 @@
1
+ VALUE_EQ:
2
+ summary: Map a value to a color
3
+ since: 5.5.1
4
+ parameters:
5
+ - name: Value
6
+ required: true
7
+ description: State or value
8
+ values: .+
9
+ - name: Color
10
+ required: true
11
+ description: Color of the line
12
+ values: .+
13
+ # TODO: At one point for CANVASIMAGEVALUE, CANVASLABELVALUE, and CANVASLINEVALUE
14
+ # supported VALUE_GT, VALUE_GTEQ, VALUE_LT, VALUE_LTEQ
15
+ # which are identical to VALUE_EQ except greater than, less than.
16
+ # They also supported TLM_AND and TLM_OR defined as:
17
+ ### TLM_AND
18
+ # The TLM_AND setting allows added another comparison that is anded with the original comparison for a canvas value widget to determine 'ON' state
19
+ # | Parameter | Description | Required |
20
+ # | --------------- | ---------------------------------------------------------------------------- | -------- |
21
+ # | Target Name | The target name portion of the telemetry mnemonic | Yes |
22
+ # | Packet Name | The packet name portion of the telemetry mnemonic | Yes |
23
+ # | Item Name | The item name portion of the telemetry mnemonic | Yes |
24
+ # | Comparison Type | The comparison type: VALUE_EQ, VALUE_GT, VALUE_GTEQ, VALUE_LT, or VALUE_LTEQ | Yes |
25
+ # | Value | The value to compare against | Yes |
26
+ # Example Usage:
27
+ # CANVASIMAGEVALUE INST HEALTH_STATUS TEMP1 "ground" 400 100
28
+ # SETTING VALUE_LTEQ 10.0
29
+ # SETTING TLM_AND INST HEALTH_STATUS TEMP2 VALUE_GT 20.0
30
+ ### TLM_OR
31
+ #The TLM_OR setting allows added another comparison that is ored with the original comparison for a canvas value widget to determine 'ON' state
32
+ # | Parameter | Description | Required |
33
+ # | --------------- | ---------------------------------------------------------------------------- | -------- |
34
+ # | Target Name | The target name portion of the telemetry mnemonic | Yes |
35
+ # | Packet Name | The packet name portion of the telemetry mnemonic | Yes |
36
+ # | Item Name | The item name portion of the telemetry mnemonic | Yes |
37
+ # | Comparison Type | The comparison type: VALUE_EQ, VALUE_GT, VALUE_GTEQ, VALUE_LT, or VALUE_LTEQ | Yes |
38
+ # | Value | The value to compare against | Yes |
39
+ # Example Usage:
40
+ # CANVASIMAGEVALUE INST HEALTH_STATUS TEMP1 "ground" 400 100
41
+ # SETTING VALUE_LTEQ 10.0
42
+ # SETTING TLM_OR INST HEALTH_STATUS TEMP2 VALUE_GT 20.0
@@ -0,0 +1,25 @@
1
+ ---
2
+ - name: Target name
3
+ required: true
4
+ description: The target name
5
+ values: .+
6
+ - name: Packet name
7
+ required: true
8
+ description: The packet name
9
+ values: .+
10
+ - name: Item name
11
+ required: true
12
+ description: The item name
13
+ values: .+
14
+ - name: Value type
15
+ required: false
16
+ description: The type of the value to display. Default is CONVERTED.
17
+ values: <%= %w(RAW CONVERTED) %>
18
+ - name: Reduced
19
+ required: false
20
+ description: Whether to display reduced data. Default is DECOM.
21
+ values: <%= %w(DECOM REDUCED_MINUTE REDUCED_HOUR REDUCED_DAY) %>
22
+ - name: Reduced Type
23
+ required: false
24
+ description: The type of reduce data to display. Only applies if Reduced is not DECOM.
25
+ values: <%= %w(MIN MAX AVG STDDEV) %>
@@ -5,7 +5,6 @@ COMMAND:
5
5
  modifiers:
6
6
  <%= MetaConfigParser.load('command_modifiers.yaml').to_meta_config_yaml(4) %>
7
7
  summary: Defines a new command packet
8
- example: COMMAND INST COLLECT BIG_ENDIAN "Start collect"
9
8
  parameters:
10
9
  - name: Target
11
10
  required: true
@@ -24,6 +23,7 @@ COMMAND:
24
23
  required: false
25
24
  description: Description of this command which must be enclosed with quotes
26
25
  values: '[''"].*[''"]'
26
+ example: COMMAND INST COLLECT BIG_ENDIAN "Start collect"
27
27
  SELECT_COMMAND:
28
28
  # prettier-ignore
29
29
  modifiers:
@@ -31,8 +31,8 @@ SELECT_COMMAND:
31
31
  summary: Selects an existing command packet for editing
32
32
  description:
33
33
  Typically used in a separate configuration file from where the original
34
- command is defined to override or add to the existing command definition
35
- example: SELECT_COMMAND INST COLLECT
34
+ command is defined to override or add to the existing command definition.
35
+ Must be used in conjunction with SELECT_PARAMETER to change an individual parameter.
36
36
  parameters:
37
37
  - name: Target Name
38
38
  required: true
@@ -42,3 +42,8 @@ SELECT_COMMAND:
42
42
  required: true
43
43
  description: Name of the command to select
44
44
  values: .*
45
+ example: |
46
+ SELECT_COMMAND INST COLLECT
47
+ SELECT_PARAMETER DURATION
48
+ # Add units
49
+ UNITS Seconds S
@@ -3,12 +3,6 @@ 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 "OPENC3" "The label to apply"
11
- PARAMETER BLOCK 192 0 BLOCK 0x0 "Block of binary data"
12
6
  parameters:
13
7
  - name: Name
14
8
  required: true
@@ -21,20 +15,26 @@ PARAMETER:
21
15
  Always use a bit offset of 0 for derived parameters.
22
16
  values: '[-]?\d+'
23
17
  <%= MetaConfigParser.load('_params.yaml').to_meta_config_yaml(4) %>
18
+ example: |
19
+ PARAMETER SYNC 0 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern"
20
+ PARAMETER DATA 32 32 INT MIN MAX 0 "Data value"
21
+ PARAMETER VALUE 64 32 FLOAT 0 10.5 2.5
22
+ PARAMETER LABEL 96 96 STRING "OPENC3" "The label to apply"
23
+ PARAMETER BLOCK 192 0 BLOCK 0x0 "Block of binary data"
24
24
  APPEND_PARAMETER:
25
25
  modifiers:
26
26
  <%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
27
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 "OPENC3" "The label to apply"
32
28
  parameters:
33
29
  - name: Name
34
30
  required: true
35
31
  description: Name of the parameter. Must be unique within the command.
36
32
  values: .+
37
33
  <%= MetaConfigParser.load('_params.yaml').to_meta_config_yaml(4) %>
34
+ example: |
35
+ APPEND_PARAMETER SYNC 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern"
36
+ APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5
37
+ APPEND_PARAMETER LABEL 0 STRING "OPENC3" "The label to apply"
38
38
  ID_PARAMETER:
39
39
  modifiers:
40
40
  <%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
@@ -42,7 +42,6 @@ ID_PARAMETER:
42
42
  description: ID parameters are used to identify the binary block of data as a
43
43
  particular command. A command packet may have one or more ID_PARAMETERs and all
44
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"
46
45
  parameters:
47
46
  - name: Name
48
47
  required: true
@@ -55,6 +54,7 @@ ID_PARAMETER:
55
54
  Always use a bit offset of 0 for derived parameters.
56
55
  values: '[-]?\d+'
57
56
  <%= MetaConfigParser.load('_id_params.yaml').to_meta_config_yaml(4) %>
57
+ example: ID_PARAMETER OPCODE 32 32 UINT 2 2 2 "Opcode identifier"
58
58
  APPEND_ID_PARAMETER:
59
59
  modifiers:
60
60
  <%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
@@ -62,18 +62,17 @@ APPEND_ID_PARAMETER:
62
62
  description: ID parameters are used to identify the binary block of data as a
63
63
  particular command. A command packet may have one or more ID_PARAMETERs and all
64
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"
66
65
  parameters:
67
66
  - name: Name
68
67
  required: true
69
68
  description: Name of the parameter. Must be unique within the command.
70
69
  values: .+
71
70
  <%= MetaConfigParser.load('_id_params.yaml').to_meta_config_yaml(4) %>
71
+ example: APPEND_ID_PARAMETER OPCODE 32 UINT 2 2 2 "Opcode identifier"
72
72
  ARRAY_PARAMETER:
73
73
  modifiers:
74
74
  <%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
75
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"
77
76
  parameters:
78
77
  - name: Name
79
78
  required: true
@@ -86,44 +85,50 @@ ARRAY_PARAMETER:
86
85
  Always use a bit offset of 0 for derived parameters.
87
86
  values: '[-]?\d+'
88
87
  <%= MetaConfigParser.load('_array_params.yaml').to_meta_config_yaml(4) %>
88
+ example: ARRAY_PARAMETER ARRAY 64 64 FLOAT 640 "Array of 10 64bit floats"
89
89
  APPEND_ARRAY_PARAMETER:
90
90
  modifiers:
91
91
  <%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
92
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"
94
93
  parameters:
95
94
  - name: Name
96
95
  required: true
97
96
  description: Name of the parameter. Must be unique within the command.
98
97
  values: .*
99
98
  <%= MetaConfigParser.load('_array_params.yaml').to_meta_config_yaml(4) %>
99
+ example: APPEND_ARRAY_PARAMETER ARRAY 64 FLOAT 640 "Array of 10 64bit floats"
100
100
  SELECT_PARAMETER:
101
101
  modifiers:
102
102
  <%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
103
103
  summary: Selects an existing command parameter for editing
104
- example: |
105
- SELECT_COMMAND INST COLLECT
106
- SELECT_PARAMETER DURATION
104
+ description: Must be used in conjunction with SELECT_COMMAND to first select
105
+ the packet. Typically used to override generated values or make specific changes
106
+ to commands that only affect a particular instance of a target used multiple times.
107
107
  parameters:
108
108
  - name: Parameter
109
109
  required: true
110
110
  description: Name of the parameter to select for modification
111
111
  values: .+
112
+ example: |
113
+ SELECT_COMMAND INST COLLECT
114
+ SELECT_PARAMETER DURATION
115
+ # Add units
116
+ UNITS Seconds S
112
117
  DELETE_PARAMETER:
113
118
  summary: Deletes an existing command parameter from the packet definition
114
119
  description: Deleting a parameter from the command definition does not remove the
115
120
  defined space for that parameter. Thus unless you redefine a new parameter, there
116
121
  will be a "hole" in the packet where the data is not accessible. You can
117
122
  use SELECT_COMMAND and then PARAMETER to define a new parameter.
118
- example: |
119
- SELECT_COMMAND INST COLLECT
120
- DELETE_PARAMETER DURATION
121
123
  since: 4.4.1
122
124
  parameters:
123
125
  - name: Parameter
124
126
  required: true
125
127
  description: Name of the parameter to delete
126
128
  values: .+
129
+ example: |
130
+ SELECT_COMMAND INST COLLECT
131
+ DELETE_PARAMETER DURATION
127
132
  HIDDEN:
128
133
  summary: Hides this command from all OpenC3 tools such as Command Sender and Handbook Creator
129
134
  description: Hidden commands do not appear in the Script Runner popup helper when writing scripts.
@@ -139,7 +144,6 @@ META:
139
144
  description: Meta data is user specific data that can be used by custom tools
140
145
  for various purposes. One example is to store additional information needed
141
146
  to generate source code header files.
142
- example: META FSW_TYPE "struct command"
143
147
  parameters:
144
148
  - name: Meta Name
145
149
  required: true
@@ -149,6 +153,7 @@ META:
149
153
  required: false
150
154
  description: One or more values to be stored for this Meta Name
151
155
  values: .*
156
+ example: META FSW_TYPE "struct command"
152
157
  HAZARDOUS:
153
158
  summary: Designates the current command as hazardous
154
159
  description: Sending a hazardous command causes a dialog asking for confirmation
@@ -0,0 +1,54 @@
1
+ ---
2
+ ITEM:
3
+ summary: Add a telemetry item to the graph
4
+ parameters:
5
+ # Inject the graph parameters
6
+ <%= MetaConfigParser.load('_graph_params.yaml').to_meta_config_yaml(4) %>
7
+ STARTTIME:
8
+ summary: Start the graph history at the designated Time
9
+ since: 5.5.1
10
+ parameters:
11
+ - name: Start Time
12
+ required: true
13
+ description: Start time as formatted 'YYYY/MM/DD HH:MM:SS'
14
+ values: .+
15
+ HISTORY:
16
+ summary: Display an initial history of data
17
+ since: 5.5.1
18
+ parameters:
19
+ - name: Value
20
+ required: true
21
+ description: Value{d,h,m,s}. For example 1d, 2h, 30m, 15s
22
+ values: .+
23
+ SECONDSGRAPHED:
24
+ summary: Display the specified number of seconds in the graph
25
+ parameters:
26
+ - name: Time
27
+ required: true
28
+ description: Number of seconds to display
29
+ values: .+
30
+ POINTSSAVED:
31
+ summary: Save the number of seconds in graph memory
32
+ parameters:
33
+ - name: Time
34
+ required: true
35
+ description: Number of seconds to save
36
+ values: .+
37
+ POINTSGRAPHED:
38
+ summary: Number of points to display on the graph
39
+ parameters:
40
+ - name: Time
41
+ required: true
42
+ description: Number of points to graph
43
+ values: .+
44
+ SIZE:
45
+ summary: Size of the graph
46
+ parameters:
47
+ - name: Width
48
+ required: true
49
+ description: Width in pixels
50
+ values: .+
51
+ - name: Height
52
+ required: true
53
+ description: Height in pixels
54
+ values: .+
@@ -8,6 +8,7 @@ MAP_TARGET:
8
8
  values: .+
9
9
  MAP_CMD_TARGET:
10
10
  summary: Maps a target name to an interface for commands only
11
+ since: 5.2.0
11
12
  parameters:
12
13
  - name: Target Name
13
14
  required: true
@@ -15,6 +16,7 @@ MAP_CMD_TARGET:
15
16
  values: .+
16
17
  MAP_TLM_TARGET:
17
18
  summary: Maps a target name to an interface for telemetry only
19
+ since: 5.2.0
18
20
  parameters:
19
21
  - name: Target Name
20
22
  required: true
@@ -82,8 +84,7 @@ OPTION:
82
84
  interfaces. The SerialInterface defines FLOW_CONTROL which can be NONE (default) or RTSCTS
83
85
  and DATA_BITS which changes the data bits of the serial interface.
84
86
  The TcpipServerInterface defines LISTEN_ADDRESS which is the IP address to accept
85
- connections on (default 0.0.0.0) and AUTO_SYSTEM_META which will automatically send
86
- SYSTEM META when the interface connects (default false).
87
+ connections on (default 0.0.0.0).
87
88
  values: .*
88
89
  - name: Parameters
89
90
  required: false
@@ -92,6 +93,7 @@ OPTION:
92
93
  SECRET:
93
94
  summary: Define a secret needed by this interface
94
95
  description: Defines a secret for this interface and optionally assigns its value to an option
96
+ since: 5.3.0
95
97
  parameters:
96
98
  - name: Type
97
99
  required: true
@@ -111,3 +113,7 @@ SECRET:
111
113
  required: false
112
114
  description: Interface option to pass the secret value
113
115
  values: .*
116
+ - name: Secret Store Name
117
+ required: false
118
+ description: Name of the secret store for stores with multipart keys
119
+ values: .*
@@ -224,10 +224,10 @@ LIMITS_RESPONSE:
224
224
  KEY:
225
225
  summary: Defines the key used to access this raw value in the packet.
226
226
  description: Keys are often JsonPath or XPath strings
227
- example: KEY $.book.title
227
+ since: 5.0.10
228
228
  parameters:
229
229
  - name: Key string
230
230
  required: true
231
231
  description: The key to access this item
232
232
  values: .+
233
- since: 5.0.10
233
+ example: KEY $.book.title
@@ -35,6 +35,7 @@ MICROSERVICE:
35
35
  PORT:
36
36
  summary: Open port for the microservice
37
37
  description: Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support
38
+ since: 5.0.10
38
39
  parameters:
39
40
  - name: Number
40
41
  required: true
@@ -91,6 +92,7 @@ MICROSERVICE:
91
92
  SECRET:
92
93
  summary: Define a secret needed by this microservice
93
94
  description: Defines a secret for this microservice
95
+ since: 5.3.0
94
96
  parameters:
95
97
  - name: Type
96
98
  required: true
@@ -102,13 +104,18 @@ MICROSERVICE:
102
104
  required: true
103
105
  description: The name of the secret to retrieve
104
106
  values: .*
105
- - name: Environment Variable of File Path
107
+ - name: Environment Variable or File Path
106
108
  required: true
107
109
  description: Environment variable name or file path to store secret
108
110
  values: .*
111
+ - name: Secret Store Name
112
+ required: false
113
+ description: Name of the secret store for stores with multipart keys
114
+ values: .*
109
115
  ROUTE_PREFIX:
110
116
  summary: Prefix of route
111
117
  description: Prefix of route to the microservice to expose externally with Traefik
118
+ since: 5.5.0
112
119
  parameters:
113
120
  - name: Route Prefix
114
121
  required: true
@@ -18,6 +18,7 @@ NEEDS_DEPENDENCIES:
18
18
  description: If the plugin has a top level lib folder or lists runtime dependencies in the gemspec,
19
19
  NEEDS_DEPENDENCIES is effectively already set. Note that in Enterprise Edition, having
20
20
  NEEDS_DEPENDENCIES adds the NFS volume mount to the Kuberentes pod.
21
+ since: 5.5.0
21
22
  INTERFACE:
22
23
  modifiers:
23
24
  <%= MetaConfigParser.load('interface_modifiers.yaml').to_meta_config_yaml(4) %>
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  SCREEN:
3
3
  summary: Define a telemetry viewer screen
4
+ description: The SCREEN keyword is the first keyword in any telemetry screen definition.
5
+ It defines the name of the screen and parameters that affect the screen overall.
4
6
  parameters:
5
7
  - name: Width
6
8
  required: true
@@ -16,6 +18,8 @@ SCREEN:
16
18
  required: true
17
19
  description: Number of seconds between screen updates
18
20
  values: '[0-9]*\.?[0-9]+'
21
+ example: |
22
+ SCREEN AUTO AUTO 1.0 FIXED
19
23
  END:
20
24
  summary: Indicates the close of a layout widget
21
25
  description: All layout widgets must be closed to properly identify where they
@@ -23,12 +27,15 @@ END:
23
27
  to indicate where the VERTICALBOX ends.
24
28
  STALE_TIME:
25
29
  summary: Values are marked stale if the packet time is more than Stale Time seconds in the past
30
+ since: 5.1.0
26
31
  parameters:
27
32
  - name: value
28
33
  required: true
29
34
  description: Items from packets with RECEIVED_TIMESECONDS greater than this value in the past will be marked stale.
30
35
  The default is 30s. Recommend a minimum of 2s to avoid false positives due to race conditions.
31
36
  values: \d+
37
+ example: |
38
+ STALE_TIME 5 # Number of seconds to wait before marking data stale
32
39
  GLOBAL_SETTING:
33
40
  summary: Applies a widget setting to all widgets of a certain type
34
41
  parameters:
@@ -39,19 +46,14 @@ GLOBAL_SETTING:
39
46
  values: .+
40
47
  - name: Setting Name
41
48
  required: true
42
- description: Widget specific setting name. OpenC3 defines several settings
43
- which apply across many different widget types. However, you can also use
44
- the 'RAW' setting which allows any stylesheet values.
45
- values: <%= %w(TEXTALIGN PADDING MARGIN BACKCOLOR TEXTCOLOR BORDERCOLOR WIDTH HEIGHT RAW) %>
49
+ description: See SETTING for details.
50
+ values: .+
46
51
  - name: Setting Value(s)
47
52
  required: false
48
- description: >
49
- The setting value which varies by setting. Note that color
50
- settings can be given as a common string, e.g. 'red', or by RGB values,
51
- e.g. 255 0 0. If the setting is a length the units are required, e.g. 200px.
52
- If the setting is RAW the value should be the raw stylesheet
53
- key and value, e.g. font-size 10px
53
+ description: See SETTING for details.
54
54
  values: .*
55
+ example: |
56
+ GLOBAL_SETTING LABELVALUELIMITSBAR COLORBLIND TRUE
55
57
  GLOBAL_SUBSETTING:
56
58
  summary: Applies a widget subsetting to all widgets of a certain type
57
59
  description: Subsettings are only valid for widgets that are
@@ -68,42 +70,33 @@ GLOBAL_SUBSETTING:
68
70
  values: .+
69
71
  - name: Subwidget Index
70
72
  required: true
71
- description: Index to the desired subwidget or 'ALL' to apply the setting
72
- to all the subwidgets of this composite widget.
73
+ description: Index to the desired subwidget
73
74
  values: .+
74
75
  - name: Setting Name
75
76
  required: true
76
- description: Widget specific setting name. OpenC3 defines several settings
77
- which apply across many different widget types. However, you can also use
78
- the 'RAW' setting which allows any stylesheet values.
79
- values: <%= %w(TEXTALIGN PADDING MARGIN BACKCOLOR TEXTCOLOR BORDERCOLOR WIDTH HEIGHT RAW) %>
77
+ description: See SETTING for details.
78
+ values: .+
80
79
  - name: Setting Value(s)
81
80
  required: false
82
- description: >
83
- The setting value which varies by setting. Note that color
84
- settings can be given as a common string, e.g. 'red', or by RGB values,
85
- e.g. 255 0 0. If the setting is a length the units are required, e.g. 200px.
86
- If the setting is RAW the value should be the raw stylesheet
87
- key and value, e.g. font-size 10px
81
+ description: See SETTING for details.
88
82
  values: .*
83
+ example: |
84
+ GLOBAL_SUBSETTING LABELVALUELIMITSBAR 1 COLORBLIND TRUE
85
+ # Set all text color to white for labelvaluelimitsbars
86
+ GLOBAL_SUBSETTING LABELVALUELIMITSBAR 0:0 TEXTCOLOR white
89
87
  SETTING:
90
88
  summary: Applies a widget setting to the previously defined widget
91
- parameters:
92
- - name: Setting Name
93
- required: true
94
- description: Widget specific setting name. OpenC3 defines several settings
95
- which apply across many different widget types. However, you can also use
96
- the 'RAW' setting which allows any stylesheet values.
97
- values: <%= %w(TEXTALIGN PADDING MARGIN BACKCOLOR TEXTCOLOR BORDERCOLOR WIDTH HEIGHT RAW) %>
98
- - name: Setting Value(s)
99
- required: false
100
- description: >
101
- The setting value which varies by setting. Note that color
102
- settings can be given as a common string, e.g. 'red', or by RGB values,
103
- e.g. 255 0 0. If the setting is a length the units are required, e.g. 200px.
104
- If the setting is RAW the value should be the raw stylesheet
105
- key and value, e.g. font-size 10px
106
- values: .*
89
+ description: |
90
+ Settings allow for additional tweaks and options to be applied to widgets
91
+ that are not available in their parameters. These settings are all configured
92
+ through the SETTING, SUBSETTING, GLOBAL_SETTING and GLOBAL_SUBSETTING keywords.
93
+ SETTING and SUBSETTING applies only to the widget defined immediately before it.
94
+ GLOBAL_SETTING and GLOBAL_SUBSETTING applies to all widgets.
95
+
96
+ Common wiget settings are defined here. Some widgets define their own
97
+ unqiue settings which are documented under that specific widget.
98
+ collection:
99
+ <%= MetaConfigParser.load('settings.yaml').to_meta_config_yaml(4) %>
107
100
  SUBSETTING:
108
101
  summary: Applies a widget subsetting to the previously defined widget
109
102
  description: Subsettings are only valid for widgets that are
@@ -120,19 +113,19 @@ SUBSETTING:
120
113
  values: .+
121
114
  - name: Setting Name
122
115
  required: true
123
- description: Widget specific setting name. OpenC3 defines several settings
124
- which apply across many different widget types. However, you can also use
125
- the 'RAW' setting which allows any stylesheet.
126
- values: <%= %w(TEXTALIGN PADDING MARGIN BACKCOLOR TEXTCOLOR BORDERCOLOR WIDTH HEIGHT RAW) %>
116
+ description: See SETTING for details.
117
+ values: .+
127
118
  - name: Setting Value(s)
128
119
  required: false
129
- description: >
130
- The setting value which varies by setting. Note that color
131
- settings can be given as a common string, e.g. 'red', or by RGB values,
132
- e.g. 255 0 0. If the setting is a length the units are required, e.g. 200px.
133
- If the setting is RAW the value should be the raw stylesheet
134
- key and value, e.g. font-size 10px
120
+ description: See SETTING for details.
135
121
  values: .*
122
+ example: |
123
+ VERTICALBOX
124
+ LABELVALUE INST HEALTH_STATUS TEMP1
125
+ SUBSETTING 0 TEXTCOLOR blue # Change the label's text to blue
126
+ LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1
127
+ SUBSETTING 0:0 TEXTCOLOR green # Change the label's text to green
128
+ END
136
129
  NAMED_WIDGET:
137
130
  summary: Name a widget to allow access to it via the getNamedWidget method
138
131
  description: To programatically access parts of a telemetry screen you need
@@ -154,6 +147,8 @@ NAMED_WIDGET:
154
147
  required: true
155
148
  description: The unique parameters for the given widget type
156
149
  values: .+
157
- # Even though these are technically SCREEN modifiers we load them at the top_frame
158
- # level so they appear as available keywords
150
+ example: |
151
+ NAMED_WIDGET DURATION TEXTFIELD
152
+ BUTTON "Push" "screen.getNamedWidget('DURATION').text()"
153
+
159
154
  <%= MetaConfigParser.load('widgets.yaml').to_meta_config_yaml(0) %>