Skip to content

Commit cf4cb40

Browse files
committed
Merge branch 'main' into 303/remove-deprecated-config
2 parents 3943cba + 330b33c commit cf4cb40

File tree

88 files changed

+1625
-1765
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+1625
-1765
lines changed

.cspell.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"version": "0.2",
3+
"language": "en,en-us",
4+
"dictionaries": [
5+
"npm",
6+
"softwareTerms",
7+
"node",
8+
"html",
9+
"css",
10+
"bash",
11+
"en_US",
12+
"en-gb",
13+
"misc",
14+
"omm"
15+
],
16+
"dictionaryDefinitions": [
17+
{
18+
"name": "omm",
19+
"path": ".cspell/omm-dictionary.txt",
20+
"description": "Open MCT for MCWS dictionary"
21+
}
22+
],
23+
"ignorePaths": [
24+
"package.json",
25+
"dist/**",
26+
"package-lock.json",
27+
"node_modules",
28+
"*.log",
29+
"test_data/**",
30+
"target/**"
31+
]
32+
}

.cspell/omm-dictionary.txt

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# openmct
2+
openmct
3+
metadatas
4+
metadatum
5+
unlisten
6+
unlisteners
7+
persistable
8+
Persistable
9+
timesystem
10+
TIMESYSTEM
11+
frameaccountability
12+
DDDTHH
13+
DDDDTHH
14+
15+
# dependencies
16+
printj
17+
18+
# testing
19+
xdescribe
20+
21+
# ammos
22+
mcws
23+
MCWSEVR
24+
mcwsurl
25+
ampcs
26+
mpcs # root_topic was hardcoded as mpcs before name change to ampcs
27+
atlo
28+
rfsw
29+
spsc
30+
apid
31+
apids
32+
scid
33+
vcid
34+
vcids
35+
vcfc
36+
evrs
37+
scmf
38+
cltus
39+
insync
40+
datatable
41+
42+
# time
43+
scet
44+
lmst
45+
sclk
46+
mslsol
47+
48+
# names
49+
dsanto
50+
peterr
51+
smap
52+
53+
# TODO fix
54+
# remove dismissable when implementing https://github.com/NASA-AMMOS/openmct-mcws/issues/209
55+
dismissable

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Open MCT for MCWS
2-
Open Mission Control Techologies for Mission Control Web Services (Open MCT for MCWS) is a next-generation web-based mission control framework for visualization of data on desktop and mobile devices. Open MCT for MCWS is built on the [Open MCT Framework](https://github.com/nasa/openmct), and includes adapter code for using MCWS as a telemetry and persistence provider. Open MCT is developed at NASA Ames Research Center in Silicon Valley, in collaboration with NASA AMMOS and the Jet Propulsion Laboratory, California Institute of Technology (under its contract with NASA, 80NM0018D0004).
2+
Open Mission Control Technologies for Mission Control Web Services (Open MCT for MCWS) is a next-generation web-based mission control framework for visualization of data on desktop and mobile devices. Open MCT for MCWS is built on the [Open MCT Framework](https://github.com/nasa/openmct), and includes adapter code for using MCWS as a telemetry and persistence provider. Open MCT is developed at NASA Ames Research Center in Silicon Valley, in collaboration with NASA AMMOS and the Jet Propulsion Laboratory, California Institute of Technology (under its contract with NASA, 80NM0018D0004).
33

44
## Configuration
55
Various configurations and customizations are available by editing `config.js`. Descriptions of each configuration reside with the configuration in the file.

config.js

Lines changed: 152 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,11 @@
8484
evrDefaultBackgroundColor: undefined,
8585

8686
/**
87-
* evrDefaultForegoundColor: default foreground color for EVRs.
87+
* evrDefaultForegroundColor: default foreground color for EVRs.
8888
* Set to `undefined` to use the theme default. Otherwise, specify
8989
* a hex string for an RGB color, e.g. `#ababab`.
9090
*/
91-
evrDefaultForegoundColor: undefined,
91+
evrDefaultForegroundColor: undefined,
9292

9393
/**
9494
* evrBackgroundColorByLevel: specify the background color of EVRs
@@ -181,6 +181,14 @@
181181
*/
182182
lmstEpoch: Date.UTC(2020, 2, 18, 0, 0, 0),
183183

184+
/*
185+
* subscriptionMCWSFilterDelay: delay in milliseconds for combining filters for the same subscription
186+
* endpoint connection. Smaller value = quicker display of realtime data (ex, 10ms in a
187+
* low latency environment), higher value = avoids potentially creating and subsequently tearing down new websocket connections if filter changes are happening faster than server response times
188+
* (ex, 100ms+ in a high latency environment)
189+
*/
190+
subscriptionMCWSFilterDelay: 100,
191+
184192
/**
185193
* timeSystems: specify the time systems to use.
186194
* Options are 'scet', 'ert', 'sclk', 'msl.sol' and 'lmst'.
@@ -193,83 +201,137 @@
193201
*
194202
* key property is required and other options are optional
195203
* timeSystem:
196-
* * key: string, required
204+
* * key: string, required. Time system. Options are 'scet', 'ert', 'sclk', 'msl.sol' and 'lmst'.
197205
* * limit: number, optional - maximum duration between start and end bounds allow
198-
* * presets: array, optional - preset bounds for convenience
199-
* * * preset:
200-
* * * * label: string, descriptive label for preset
206+
* * modeSettings: object, optional - presets for convenience.
207+
* * * fixed: object, optional - valid objects are bounds objects and presets array.
208+
* * * realtime: object, optional - valid objects are clockOffsets and presets array.
209+
* * * lad:object, optional - valid objects are clockOffsets.
210+
* * * *
211+
* * * * Optional objects:
201212
* * * * bounds: start and end bounds for preset as numbers
202-
* * * * * * * * start and end can be declared as a number or a function returning a number
203-
*
213+
* * * * * * * * start: and end: can be declared as a number or a function returning a number
214+
* * * * presets: array of objects consisting of:
215+
* * * * * bounds: - required.
216+
* * * * * label: - required, string
217+
* * * * clockOffsets: object, optional. Start and end relative to active clock.
218+
* * * * start: and end: numbers relative to active clock's 0. Start is negative, end is positive.
204219
* *advanced** example configuration below
205220
*
206221
timeSystems: [
207-
{
208-
key:'scet',
209-
presets: [
210-
{
211-
label: 'Last 2 hours',
212-
bounds: {
213-
start: Date.now() - 1000 * 60 * 60 * 2,
214-
end: Date.now()
215-
}
222+
{
223+
key:'scet',
224+
modeSettings:{
225+
fixed:{
226+
bounds:{
227+
// 1 day ago
228+
start: new Date(
229+
Date.UTC(
230+
new Date().getUTCFullYear(),
231+
new Date().getUTCMonth(),
232+
new Date().getUTCDate()
233+
) - 1 * 864e5
234+
).getTime(),
235+
end: new Date(
236+
Date.UTC(
237+
new Date().getUTCFullYear(),
238+
new Date().getUTCMonth(),
239+
new Date().getUTCDate()
240+
) + 864e5 - 1
241+
).getTime()
216242
},
217-
{
218-
label: 'Last 1 hour',
219-
bounds: {
220-
start: Date.now() - 1000 * 60 * 60,
221-
end: Date.now()
222-
}
243+
presets:[
244+
{
245+
label: 'Last 2 hours (SCET Recorded)',
246+
bounds: {
247+
start: () => Date.now() - 1000 * 60 * 60 * 2,
248+
end: () => Date.now()
223249
}
224-
],
225-
limit: 1000 * 60 * 60 * 6
226-
},
227-
{
228-
key:'ert',
229-
presets: [
230-
{
231-
label: 'Last 2 hours',
232-
bounds: {
233-
start: Date.now() - 1000 * 60 * 60 * 2,
234-
end: Date.now()
235-
}
236-
},
237-
{
238-
label: 'Last 1 hour',
239-
bounds: {
240-
start: Date.now() - 1000 * 60 * 60,
241-
end: Date.now()
242-
}
250+
},
251+
]
252+
},
253+
realtime:{
254+
clockOffsets:{
255+
start: -60 * 60 * 1000,
256+
end: 5 * 60 * 1000
257+
},
258+
presets:[
259+
{
260+
label: 'Last 2 hours (SCET Realtime)',
261+
bounds: {
262+
start: -60 * 60 * 1000 * 2,
263+
end: 5 * 60 * 1000
243264
}
244-
],
245-
limit: 1000 * 60 * 60 * 6
265+
}
266+
]
267+
},
268+
lad:{
269+
clockOffsets:{
270+
start: -60 * 60 * 1000,
271+
end: 5 * 60 * 1000
272+
},
273+
},
274+
},
275+
limit: 1000 * 60 * 60 * 60
276+
},
277+
{
278+
key:'ert',
279+
modeSettings:{
280+
fixed:{
281+
bounds:{
282+
// 1 day ago
283+
start: new Date(
284+
Date.UTC(
285+
new Date().getUTCFullYear(),
286+
new Date().getUTCMonth(),
287+
new Date().getUTCDate()
288+
) - 1 * 864e5
289+
).getTime(),
290+
// today
291+
end: new Date(
292+
Date.UTC(
293+
new Date().getUTCFullYear(),
294+
new Date().getUTCMonth(),
295+
new Date().getUTCDate()
296+
) + 864e5 - 1
297+
).getTime()
246298
},
247-
{
248-
key:'sclk',
249-
presets: [
250-
{
251-
label: 'Last 2 hours',
252-
bounds: {
253-
start: Date.now() - 1000 * 60 * 60 * 2,
254-
end: Date.now()
255-
}
256-
},
257-
{
258-
label: 'Last 1 hour',
259-
bounds: {
260-
start: Date.now() - 1000 * 60 * 60,
261-
end: Date.now()
262-
}
263-
}
264-
],
265-
limit: 1000 / 5 * 60 * 60 * 6
299+
presets:[
300+
{
301+
label: 'Last 2 hours (ERT Recorded)',
302+
bounds: {
303+
start: Date.now() - 1000 * 60 * 60 * 2,
304+
end: Date.now()
305+
}
306+
},
307+
]
266308
},
267-
{
268-
key:'lmst',
269-
presets: []
270-
}
271-
],
272-
*/
309+
realtime:{
310+
clockOffsets:{
311+
start: -60 * 60 * 1000,
312+
end: 5 * 60 * 1000
313+
},
314+
presets:[
315+
{
316+
label: 'Last 2 hours (ERT Realtime)',
317+
bounds: {
318+
start: -60 * 60 * 1000 * 2,
319+
end: 5 * 60 * 1000
320+
}
321+
}
322+
]
323+
},
324+
lad:{
325+
clockOffsets:{
326+
start: -60 * 60 * 1000,
327+
end: 5 * 60 * 1000
328+
},
329+
},
330+
},
331+
limit: 1000 * 60 * 60 * 60
332+
}
333+
],
334+
*/
273335

274336
/**
275337
* allowRealtime: whether or not to allow utc-relative time conductor.
@@ -287,6 +349,27 @@
287349
records: 10
288350
},
289351

352+
/**
353+
* Data Product Temporary Workaround:
354+
*
355+
* If you want to view real-time product data, you must specify all
356+
* product APIDs that you want to see in the below array. This config
357+
* is only required for MCWS R3.2, and will not be required for
358+
* MCWS R3.3.
359+
*
360+
* This list can be quickly extracted from apid.xml with the following
361+
* python code:
362+
*
363+
* temporarily disable spellcheck, to be removed in https://github.com/NASA-AMMOS/openmct-mcws/issues/303
364+
* cspell:disable
365+
* import xml.etree.ElementTree as ET
366+
* tree = ET.parse('apid.xml')
367+
* apids = [int(a.attrib['number']) for a in tree.getroot() if a.tag == 'apid']
368+
* cspell:enable
369+
*
370+
*/
371+
realtimeProductAPIDs: [],
372+
290373
/**
291374
* Plugin Support
292375
* Example configuration:

docs/process/lines-of-code.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<!-- cspell:words cloc -->
12
# Lines of code
23

34
Per release, we report on total lines of code, plus the different in lines of

eslint.config.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
const globals = require('globals');
22
const js = require('@eslint/js');
3+
const vue = require('eslint-plugin-vue');
34
const vueParser = require('vue-eslint-parser');
45
const babelParser = require('@babel/eslint-parser');
56
// eslint-plugin-prettier/recommended must be last in configuration
@@ -38,6 +39,7 @@ module.exports = [
3839
}
3940
},
4041
js.configs.recommended,
42+
...vue.configs['flat/recommended'],
4143
prettierRecommended,
4244
{
4345
rules: {

karma.conf.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ module.exports = function (config) {
4545
// Web server port.
4646
port: 9876,
4747

48-
// Wnable / disable colors in the output (reporters and logs).
48+
// enable / disable colors in the output (reporters and logs).
4949
colors: true,
5050

5151
logLevel: config.LOG_INFO,

0 commit comments

Comments
 (0)