openc3 5.16.2 → 5.17.0

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