openc3 5.16.2 → 5.17.0
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.
Potentially problematic release.
This version of openc3 might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/data/config/command_modifiers.yaml +0 -1
- data/data/config/widgets.yaml +26 -0
- data/lib/openc3/config/config_parser.rb +5 -2
- data/lib/openc3/models/activity_model.rb +5 -3
- data/lib/openc3/models/target_model.rb +1 -0
- data/lib/openc3/script/calendar.rb +2 -2
- data/lib/openc3/script/suite_runner.rb +1 -0
- data/lib/openc3/topics/limits_event_topic.rb +6 -4
- data/lib/openc3/version.rb +6 -6
- data/templates/tool_angular/package.json +4 -4
- data/templates/tool_react/package.json +0 -1
- data/templates/tool_svelte/package.json +3 -3
- data/templates/tool_vue/package.json +9 -9
- data/templates/widget/package.json +9 -9
- 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: 38d414a88623d811f51dc74da1f49169ca0b0c3ca3ba740e5f70b854e9524824
|
4
|
+
data.tar.gz: ad24c61fe6f733ae07777f3fa4dbe7b2cfd013adf8e22bc8cec63d4c1a3b1684
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8faed944b2e064ecf2a4d55f434dfeb91bf09f5a383aa30bc370f550fc7bc5dccfa9c1d8cf7efdda601887359dc6a44bad84e1eef27dc811341208062b038f23
|
7
|
+
data.tar.gz: 7c50c7428cac1a2c35a5b62121fc5791f90a3d1a6d3c2f00c61b24b2e7ebfa24990bd08c74b0af47a41979b55c41e1cd582d76cf8392260947e7578f47a9eeb2
|
@@ -51,7 +51,6 @@ ID_PARAMETER:
|
|
51
51
|
required: true
|
52
52
|
description: Bit offset into the command packet of the Most Significant Bit of this parameter.
|
53
53
|
May be negative to indicate on offset from the end of the packet.
|
54
|
-
Always use a bit offset of 0 for derived parameters.
|
55
54
|
values: '[-]?\d+'
|
56
55
|
<%= MetaConfigParser.load('_id_params.yaml').to_meta_config_yaml(4) %>
|
57
56
|
example: ID_PARAMETER OPCODE 32 32 UINT 2 2 2 "Opcode identifier"
|
data/data/config/widgets.yaml
CHANGED
@@ -1154,6 +1154,32 @@ Telemetry Widgets:
|
|
1154
1154
|
# example: |
|
1155
1155
|
# RANGECOLUMN INST HEALTH_STATUS TEMP1 0 100000 RAW 200 50
|
1156
1156
|
# RANGECOLUMN INST HEALTH_STATUS TEMP1 -100 100
|
1157
|
+
ROLLUP:
|
1158
|
+
summary: Displays a notification icon which changes color based on a rollup telemetry
|
1159
|
+
parameters:
|
1160
|
+
- name: Icon name
|
1161
|
+
required: true
|
1162
|
+
description: |
|
1163
|
+
The astro UX icon to display. Valid choices are 'astro' icons taken from
|
1164
|
+
https://github.com/RocketCommunicationsInc/astro-components/blob/master/static/json/rux-icons.json
|
1165
|
+
values: .+
|
1166
|
+
- name: Icon label
|
1167
|
+
required: false
|
1168
|
+
description: Text to apply to the icon label
|
1169
|
+
values: .+
|
1170
|
+
- name: Icon sublabel
|
1171
|
+
required: false
|
1172
|
+
description: Text to apply to the icon sublabel
|
1173
|
+
values: .+
|
1174
|
+
example: |
|
1175
|
+
ROLLUP satellite-transmit "SAT 1" "Details"
|
1176
|
+
SETTING SCREEN INST HS
|
1177
|
+
SETTING TLM INST HEALTH_STATUS TEMP1
|
1178
|
+
SETTING TLM INST HEALTH_STATUS TEMP2
|
1179
|
+
ROLLUP antenna "GND 2" "Location"
|
1180
|
+
SETTING SCREEN INST HS
|
1181
|
+
SETTING TLM INST HEALTH_STATUS TEMP3
|
1182
|
+
SETTING TLM INST HEALTH_STATUS TEMP4
|
1157
1183
|
TEXTBOX:
|
1158
1184
|
summary: Provides a large box for multiline text
|
1159
1185
|
parameters:
|
@@ -247,8 +247,8 @@ module OpenC3
|
|
247
247
|
end
|
248
248
|
|
249
249
|
# Verifies the indicated parameter in the config doesn't start or end
|
250
|
-
# with an underscore, doesn't contain a double underscore
|
251
|
-
# spaces and doesn't start with a close bracket.
|
250
|
+
# with an underscore, doesn't contain a double underscore or double bracket,
|
251
|
+
# doesn't contain spaces and doesn't start with a close bracket.
|
252
252
|
#
|
253
253
|
# @param [Integer] index The index of the parameter to check
|
254
254
|
def verify_parameter_naming(index, usage = "")
|
@@ -259,6 +259,9 @@ module OpenC3
|
|
259
259
|
if param.include? '__'
|
260
260
|
raise Error.new(self, "Parameter #{index} (#{param}) for #{@keyword} cannot contain a double underscore ('__').", usage, @url)
|
261
261
|
end
|
262
|
+
if param.include? '[[' or param.include? ']]'
|
263
|
+
raise Error.new(self, "Parameter #{index} (#{param}) for #{@keyword} cannot contain double brackets ('[[' or ']]').", usage, @url)
|
264
|
+
end
|
262
265
|
if param.include? ' '
|
263
266
|
raise Error.new(self, "Parameter #{index} (#{param}) for #{@keyword} cannot contain a space (' ').", usage, @url)
|
264
267
|
end
|
@@ -36,6 +36,8 @@ module OpenC3
|
|
36
36
|
class ActivityModel < Model
|
37
37
|
MAX_DURATION = Time::SEC_PER_DAY
|
38
38
|
PRIMARY_KEY = '__openc3_timelines'.freeze # MUST be equal to `TimelineModel::PRIMARY_KEY` minus the leading __
|
39
|
+
# See run_activity(activity) in openc3/lib/openc3/microservices/timeline_microservice.rb
|
40
|
+
VALID_KINDS = %w(COMMAND SCRIPT RESERVE EXPIRE)
|
39
41
|
|
40
42
|
# Called via the microservice this gets the previous 00:00:15 to 01:01:00. This should allow
|
41
43
|
# for a small buffer around the timeline to make sure the schedule doesn't get stale.
|
@@ -201,14 +203,14 @@ module OpenC3
|
|
201
203
|
rescue NoMethodError
|
202
204
|
raise ActivityInputError.new "start and stop must be seconds: #{start}, #{stop}"
|
203
205
|
end
|
204
|
-
if now_i >= start
|
206
|
+
if now_i >= start and kind != 'EXPIRE'
|
205
207
|
raise ActivityInputError.new "activity must be in the future, current_time: #{now_i} vs #{start}"
|
206
208
|
elsif duration >= MAX_DURATION
|
207
209
|
raise ActivityInputError.new "activity can not be longer than #{MAX_DURATION} seconds"
|
208
210
|
elsif duration <= 0
|
209
211
|
raise ActivityInputError.new "start: #{start} must be before stop: #{stop}"
|
210
|
-
elsif
|
211
|
-
raise ActivityInputError.new "kind must
|
212
|
+
elsif !VALID_KINDS.include?(kind)
|
213
|
+
raise ActivityInputError.new "unknown kind: #{kind}, must be one of #{VALID_KINDS.join(', ')}"
|
212
214
|
elsif data.nil?
|
213
215
|
raise ActivityInputError.new "data must not be nil: #{data}"
|
214
216
|
elsif data.is_a?(Hash) == false
|
@@ -67,8 +67,8 @@ module OpenC3
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def create_timeline_activity(name, kind:, start:, stop:, data: {}, scope: $openc3_scope, token: $openc3_token)
|
70
|
-
kind = kind.to_s.
|
71
|
-
kinds = %w(
|
70
|
+
kind = kind.to_s.upcase()
|
71
|
+
kinds = %w(COMMAND SCRIPT RESERVE)
|
72
72
|
unless kinds.include?(kind)
|
73
73
|
raise "Unknown kind: #{kind}. Must be one of #{kinds.join(', ')}."
|
74
74
|
end
|
@@ -14,7 +14,7 @@
|
|
14
14
|
# GNU Affero General Public License for more details.
|
15
15
|
|
16
16
|
# Modified by OpenC3, Inc.
|
17
|
-
# All changes Copyright
|
17
|
+
# All changes Copyright 2024, OpenC3, Inc.
|
18
18
|
# All Rights Reserved
|
19
19
|
#
|
20
20
|
# This file may also be used under the terms of a commercial license
|
@@ -179,7 +179,7 @@ module OpenC3
|
|
179
179
|
enabled = limits_settings['enabled']
|
180
180
|
persistence = limits_settings['persistence_setting']
|
181
181
|
limits_settings.each do |limits_set, settings|
|
182
|
-
next unless Hash ===
|
182
|
+
next unless Hash === settings
|
183
183
|
System.limits.set(target_name, packet_name, item_name, settings['red_low'], settings['yellow_low'], settings['yellow_high'], settings['red_high'], settings['green_low'], settings['green_high'], limits_set.to_s.intern, persistence, enabled)
|
184
184
|
end
|
185
185
|
if not enabled.nil?
|
@@ -198,7 +198,7 @@ module OpenC3
|
|
198
198
|
def self.sync_system_thread_body(scope:, block_ms: nil)
|
199
199
|
telemetry = System.telemetry.all
|
200
200
|
topics = ["#{scope}__openc3_limits_events"]
|
201
|
-
Topic.read_topics(topics, nil, block_ms) do |
|
201
|
+
Topic.read_topics(topics, nil, block_ms) do |_topic, _msg_id, event, _redis|
|
202
202
|
event = JSON.parse(event['event'], :allow_nan => true, :create_additions => true)
|
203
203
|
case event['type']
|
204
204
|
when 'LIMITS_CHANGE'
|
@@ -213,7 +213,9 @@ module OpenC3
|
|
213
213
|
if packet
|
214
214
|
enabled = ConfigParser.handle_true_false_nil(event['enabled'])
|
215
215
|
persistence = event['persistence']
|
216
|
-
System.limits.set(target_name, packet_name, item_name,
|
216
|
+
System.limits.set(target_name, packet_name, item_name,
|
217
|
+
event['red_low'], event['yellow_low'], event['yellow_high'], event['red_high'],
|
218
|
+
event['green_low'], event['green_high'], event['limits_set'], persistence, enabled)
|
217
219
|
end
|
218
220
|
end
|
219
221
|
|
data/lib/openc3/version.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# encoding: ascii-8bit
|
2
2
|
|
3
|
-
OPENC3_VERSION = '5.
|
3
|
+
OPENC3_VERSION = '5.17.0'
|
4
4
|
module OpenC3
|
5
5
|
module Version
|
6
6
|
MAJOR = '5'
|
7
|
-
MINOR = '
|
8
|
-
PATCH = '
|
7
|
+
MINOR = '17'
|
8
|
+
PATCH = '0'
|
9
9
|
OTHER = ''
|
10
|
-
BUILD = '
|
10
|
+
BUILD = 'da4e65bcbe6c1fad00b5eb3499a026c9f75412a1'
|
11
11
|
end
|
12
|
-
VERSION = '5.
|
13
|
-
GEM_VERSION = '5.
|
12
|
+
VERSION = '5.17.0'
|
13
|
+
GEM_VERSION = '5.17.0'
|
14
14
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "<%= tool_name %>",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.17.0",
|
4
4
|
"scripts": {
|
5
5
|
"ng": "ng",
|
6
6
|
"start": "ng serve",
|
@@ -12,7 +12,6 @@
|
|
12
12
|
},
|
13
13
|
"private": true,
|
14
14
|
"dependencies": {
|
15
|
-
"@openc3/tool-common": "5.16.2",
|
16
15
|
"@angular/animations": "^17.0.8",
|
17
16
|
"@angular/cdk": "^17.0.4",
|
18
17
|
"@angular/common": "^17.0.8",
|
@@ -23,7 +22,8 @@
|
|
23
22
|
"@angular/platform-browser": "^17.0.8",
|
24
23
|
"@angular/platform-browser-dynamic": "^17.0.8",
|
25
24
|
"@angular/router": "^17.0.8",
|
26
|
-
"@astrouxds/astro-web-components": "7.22.
|
25
|
+
"@astrouxds/astro-web-components": "7.22.1",
|
26
|
+
"@openc3/tool-common": "5.17.0",
|
27
27
|
"rxjs": "~7.8.0",
|
28
28
|
"single-spa": "5.9.5",
|
29
29
|
"single-spa-angular": "^9.0.1",
|
@@ -43,6 +43,6 @@
|
|
43
43
|
"karma-jasmine": "~5.1.0",
|
44
44
|
"karma-jasmine-html-reporter": "~2.1.0",
|
45
45
|
"style-loader": "^4.0.0",
|
46
|
-
"typescript": "~5.
|
46
|
+
"typescript": "~5.5.2"
|
47
47
|
}
|
48
48
|
}
|
@@ -11,13 +11,13 @@
|
|
11
11
|
"smui-theme": "smui-theme compile build/smui.css -i src/theme"
|
12
12
|
},
|
13
13
|
"dependencies": {
|
14
|
-
"@
|
15
|
-
"@
|
14
|
+
"@astrouxds/astro-web-components": "7.22.1",
|
15
|
+
"@openc3/tool-common": "5.17.0",
|
16
16
|
"@smui/button": "^7.0.0-beta.16",
|
17
17
|
"@smui/card": "^7.0.0-beta.16",
|
18
18
|
"@smui/list": "^7.0.0-beta.16",
|
19
19
|
"@smui/menu": "^7.0.0-beta.16",
|
20
|
-
"axios": "1.
|
20
|
+
"axios": "1.7.2",
|
21
21
|
"single-spa-svelte": "^2.1.1",
|
22
22
|
"sirv-cli": "^2.0.2",
|
23
23
|
"svelte-portal": "^2.2.0"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "<%= tool_name %>",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.17.0",
|
4
4
|
"private": true,
|
5
5
|
"scripts": {
|
6
6
|
"serve": "vue-cli-service serve",
|
@@ -11,9 +11,9 @@
|
|
11
11
|
"test:components": "vue-cli-service test:components"
|
12
12
|
},
|
13
13
|
"dependencies": {
|
14
|
-
"@
|
15
|
-
"@
|
16
|
-
"axios": "1.
|
14
|
+
"@astrouxds/astro-web-components": "7.22.1",
|
15
|
+
"@openc3/tool-common": "5.17.0",
|
16
|
+
"axios": "1.7.2",
|
17
17
|
"date-fns": "3.6.0",
|
18
18
|
"portal-vue": "2.1.7",
|
19
19
|
"single-spa-vue": "2.5.1",
|
@@ -25,7 +25,7 @@
|
|
25
25
|
"vuex": "3.6.2"
|
26
26
|
},
|
27
27
|
"devDependencies": {
|
28
|
-
"@babel/eslint-parser": "7.24.
|
28
|
+
"@babel/eslint-parser": "7.24.7",
|
29
29
|
"@vue/babel-preset-app": "5.0.8",
|
30
30
|
"@vue/cli": "5.0.8",
|
31
31
|
"@vue/cli-plugin-babel": "5.0.8",
|
@@ -40,14 +40,14 @@
|
|
40
40
|
"eslint": "8.56.0",
|
41
41
|
"eslint-config-prettier": "9.1.0",
|
42
42
|
"eslint-plugin-prettier": "5.1.3",
|
43
|
-
"eslint-plugin-vue": "9.
|
43
|
+
"eslint-plugin-vue": "9.26.0",
|
44
44
|
"html-webpack-plugin": "^5.6.0",
|
45
|
-
"prettier": "3.2
|
46
|
-
"sass": "1.
|
45
|
+
"prettier": "3.3.2",
|
46
|
+
"sass": "1.77.6",
|
47
47
|
"sass-loader": "14.2.1",
|
48
48
|
"vue-cli-plugin-single-spa": "3.3.0",
|
49
49
|
"vue-cli-plugin-vuetify": "2.5.8",
|
50
50
|
"vue-template-compiler": "2.7.16",
|
51
|
-
"webpack": "5.
|
51
|
+
"webpack": "5.92.1"
|
52
52
|
}
|
53
53
|
}
|
@@ -1,19 +1,19 @@
|
|
1
1
|
{
|
2
2
|
"name": "widget",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.17.0",
|
4
4
|
"private": true,
|
5
5
|
"scripts": {
|
6
6
|
"build": "vue-cli-service build --target lib --dest tools/widgets/<%= widget_name %> --formats umd-min <%= widget_path %> --name <%= widget_name %>"
|
7
7
|
},
|
8
8
|
"dependencies": {
|
9
|
-
"@
|
10
|
-
"@
|
9
|
+
"@astrouxds/astro-web-components": "7.22.1",
|
10
|
+
"@openc3/tool-common": "5.17.0",
|
11
11
|
"vue": "2.7.16",
|
12
12
|
"vuetify": "2.7.1"
|
13
13
|
},
|
14
14
|
"devDependencies": {
|
15
|
-
"@babel/eslint-parser": "7.24.
|
16
|
-
"@rushstack/eslint-patch": "1.10.
|
15
|
+
"@babel/eslint-parser": "7.24.7",
|
16
|
+
"@rushstack/eslint-patch": "1.10.3",
|
17
17
|
"@vue/babel-preset-app": "5.0.8",
|
18
18
|
"@vue/cli": "5.0.8",
|
19
19
|
"@vue/cli-plugin-babel": "5.0.8",
|
@@ -25,12 +25,12 @@
|
|
25
25
|
"eslint": "8.56.0",
|
26
26
|
"eslint-config-prettier": "9.1.0",
|
27
27
|
"eslint-plugin-prettier": "5.1.3",
|
28
|
-
"eslint-plugin-vue": "9.
|
29
|
-
"prettier": "3.2
|
30
|
-
"sass": "1.
|
28
|
+
"eslint-plugin-vue": "9.26.0",
|
29
|
+
"prettier": "3.3.2",
|
30
|
+
"sass": "1.77.6",
|
31
31
|
"sass-loader": "14.2.1",
|
32
32
|
"vue-cli-plugin-vuetify": "2.5.8",
|
33
33
|
"vue-template-compiler": "2.7.16",
|
34
|
-
"webpack": "5.
|
34
|
+
"webpack": "5.92.1"
|
35
35
|
}
|
36
36
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openc3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Melton
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-
|
12
|
+
date: 2024-06-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|