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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 178d5ecd9984ee77cc79a3f4e6b84f793a863aa01dc1da87cb318ddff90f0397
4
- data.tar.gz: cab3009043a7f423cd11f882f8639790d890588fae5ada6aa7dae868bf78b3ed
3
+ metadata.gz: 38d414a88623d811f51dc74da1f49169ca0b0c3ca3ba740e5f70b854e9524824
4
+ data.tar.gz: ad24c61fe6f733ae07777f3fa4dbe7b2cfd013adf8e22bc8cec63d4c1a3b1684
5
5
  SHA512:
6
- metadata.gz: f3197aabb417f5a467b4cbcdbb48c9a7523002ecf9b58930aa37a31d521abf5ce132b66c27a77ca14cb0676badeb42a8d689991e226be50577ddddccfced0a58
7
- data.tar.gz: aa8749e4a08c4891a7aa4aa72d46474d5b4bfa17da047ef8f537b727fda31e9225dba24121e7680b6458fa5abfcdafdf6221d86b06d0adb9362f8bead3691496
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"
@@ -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, doesn't contain
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 kind.nil?
211
- raise ActivityInputError.new "kind must not be nil: #{kind}"
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
@@ -31,6 +31,7 @@ require 'openc3/utilities/local_mode'
31
31
  require 'openc3/utilities/bucket'
32
32
  require 'openc3/utilities/zip'
33
33
  require 'fileutils'
34
+ require 'ostruct'
34
35
  require 'tmpdir'
35
36
 
36
37
  module OpenC3
@@ -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.downcase()
71
- kinds = %w(command script reserve)
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
@@ -20,6 +20,7 @@
20
20
  # This file may also be used under the terms of a commercial license
21
21
  # if purchased from OpenC3, Inc.
22
22
 
23
+ require 'ostruct'
23
24
  require 'openc3/script/suite'
24
25
  require 'openc3/script/suite_results'
25
26
  require 'openc3/tools/test_runner/test'
@@ -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 2022, OpenC3, Inc.
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 === limits_set
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 |topic, msg_id, event, redis|
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, event['red_low'], event['yellow_low'], event['yellow_high'], event['red_high'], event['green_low'], event['green_high'], event['limits_set'], persistence, enabled)
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
 
@@ -1,14 +1,14 @@
1
1
  # encoding: ascii-8bit
2
2
 
3
- OPENC3_VERSION = '5.16.2'
3
+ OPENC3_VERSION = '5.17.0'
4
4
  module OpenC3
5
5
  module Version
6
6
  MAJOR = '5'
7
- MINOR = '16'
8
- PATCH = '2'
7
+ MINOR = '17'
8
+ PATCH = '0'
9
9
  OTHER = ''
10
- BUILD = '91e39a71be955ef5d20c474b73d8bc9a3f895284'
10
+ BUILD = 'da4e65bcbe6c1fad00b5eb3499a026c9f75412a1'
11
11
  end
12
- VERSION = '5.16.2'
13
- GEM_VERSION = '5.16.2'
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.16.2",
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.0",
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.4.5"
46
+ "typescript": "~5.5.2"
47
47
  }
48
48
  }
@@ -10,7 +10,6 @@
10
10
  "check-format": "prettier --check .",
11
11
  "test": "cross-env BABEL_ENV=test jest",
12
12
  "watch-tests": "cross-env BABEL_ENV=test jest --watch",
13
- "prepare": "husky install",
14
13
  "coverage": "cross-env BABEL_ENV=test jest --coverage"
15
14
  },
16
15
  "dependencies": {
@@ -11,13 +11,13 @@
11
11
  "smui-theme": "smui-theme compile build/smui.css -i src/theme"
12
12
  },
13
13
  "dependencies": {
14
- "@openc3/tool-common": "5.16.2",
15
- "@astrouxds/astro-web-components": "7.22.0",
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.6.8",
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.16.2",
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
- "@openc3/tool-common": "5.16.2",
15
- "@astrouxds/astro-web-components": "7.22.0",
16
- "axios": "1.6.8",
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.5",
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.25.0",
43
+ "eslint-plugin-vue": "9.26.0",
44
44
  "html-webpack-plugin": "^5.6.0",
45
- "prettier": "3.2.5",
46
- "sass": "1.76.0",
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.91.0"
51
+ "webpack": "5.92.1"
52
52
  }
53
53
  }
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "widget",
3
- "version": "5.16.2",
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
- "@openc3/tool-common": "5.16.2",
10
- "@astrouxds/astro-web-components": "7.22.0",
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.5",
16
- "@rushstack/eslint-patch": "1.10.2",
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.25.0",
29
- "prettier": "3.2.5",
30
- "sass": "1.76.0",
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.91.0"
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.16.2
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-05-23 00:00:00.000000000 Z
12
+ date: 2024-06-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler