fprime-gds 4.0.2a3__py3-none-any.whl → 4.0.2a4__py3-none-any.whl
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.
- fprime_gds/common/distributor/distributor.py +9 -6
- fprime_gds/common/fpy/README.md +190 -42
- fprime_gds/common/fpy/SPEC.md +153 -39
- fprime_gds/common/fpy/bytecode/assembler.py +62 -0
- fprime_gds/common/fpy/bytecode/directives.py +620 -294
- fprime_gds/common/fpy/codegen.py +687 -910
- fprime_gds/common/fpy/grammar.lark +44 -9
- fprime_gds/common/fpy/main.py +27 -4
- fprime_gds/common/fpy/model.py +799 -0
- fprime_gds/common/fpy/parser.py +29 -34
- fprime_gds/common/fpy/test_helpers.py +119 -0
- fprime_gds/common/fpy/types.py +563 -0
- fprime_gds/executables/cli.py +9 -0
- fprime_gds/executables/run_deployment.py +2 -0
- fprime_gds/flask/app.py +17 -2
- fprime_gds/flask/default_settings.py +1 -0
- fprime_gds/flask/static/index.html +7 -4
- fprime_gds/flask/static/js/config.js +9 -1
- fprime_gds/flask/static/js/vue-support/channel.js +16 -0
- fprime_gds/flask/static/js/vue-support/event.js +1 -0
- fprime_gds/flask/static/js/vue-support/fp-row.js +25 -1
- {fprime_gds-4.0.2a3.dist-info → fprime_gds-4.0.2a4.dist-info}/METADATA +1 -1
- {fprime_gds-4.0.2a3.dist-info → fprime_gds-4.0.2a4.dist-info}/RECORD +28 -24
- {fprime_gds-4.0.2a3.dist-info → fprime_gds-4.0.2a4.dist-info}/entry_points.txt +2 -1
- {fprime_gds-4.0.2a3.dist-info → fprime_gds-4.0.2a4.dist-info}/WHEEL +0 -0
- {fprime_gds-4.0.2a3.dist-info → fprime_gds-4.0.2a4.dist-info}/licenses/LICENSE.txt +0 -0
- {fprime_gds-4.0.2a3.dist-info → fprime_gds-4.0.2a4.dist-info}/licenses/NOTICE.txt +0 -0
- {fprime_gds-4.0.2a3.dist-info → fprime_gds-4.0.2a4.dist-info}/top_level.txt +0 -0
@@ -77,7 +77,9 @@ Note: Vue.js annotations are used, as Vue is the data-to-view framework of choic
|
|
77
77
|
<li v-for="tab in tabs"
|
78
78
|
:class="['nav-item', 'nav-link', 'click-able-item', { active: currentTab == tab[0] }]"
|
79
79
|
:key="tab[0]"
|
80
|
-
v-on:click="route(tab[0])"
|
80
|
+
v-on:click="route(tab[0])"
|
81
|
+
v-if="config.enableDashboards || tab[0] != 'Dashboard'"
|
82
|
+
>
|
81
83
|
<span class="d-none d-sm-none d-md-none d-lg-block" v-bind:id="tab[0]">{{ tab[0] }}</span>
|
82
84
|
<span class="d-none d-sm-block d-md-block d-lg-none">{{ tab[1] }}</span>
|
83
85
|
</li>
|
@@ -111,7 +113,7 @@ Note: Vue.js annotations are used, as Vue is the data-to-view framework of choic
|
|
111
113
|
<dictionary v-show="currentTab == 'Dictionaries'"></dictionary>
|
112
114
|
<logging v-show="currentTab == 'Logs'"></logging>
|
113
115
|
<sequencer v-show="currentTab == 'Sequences'"></sequencer>
|
114
|
-
<dashboard
|
116
|
+
<dashboard v-if="config.enableDashboards" v-show="currentTab == 'Dashboard'"></dashboard>
|
115
117
|
<advanced-settings v-show="currentTab == 'Advanced'"></advanced-settings>
|
116
118
|
<dictionary-version></dictionary-version>
|
117
119
|
</div>
|
@@ -181,7 +183,7 @@ Note: Vue.js annotations are used, as Vue is the data-to-view framework of choic
|
|
181
183
|
<div class="fp-flex-header">
|
182
184
|
<h2>Events</h2>
|
183
185
|
</div>
|
184
|
-
<fp-table :header-columns="['Event Time', 'Event Id', 'Event Name', 'Event Severity', 'Event Description']"
|
186
|
+
<fp-table ref="fptable" :header-columns="['Event Time', 'Event Id', 'Event Name', 'Event Severity', 'Event Description']"
|
185
187
|
:items-key="'events'"
|
186
188
|
:item-to-columns="columnify"
|
187
189
|
:row-style="style"
|
@@ -206,7 +208,7 @@ Note: Vue.js annotations are used, as Vue is the data-to-view framework of choic
|
|
206
208
|
<div class="fp-flex-header">
|
207
209
|
<h2>Channels</h2>
|
208
210
|
</div>
|
209
|
-
<fp-table :display-template="'channel-row'"
|
211
|
+
<fp-table ref="fptable" :display-template="'channel-row'"
|
210
212
|
:header-columns="['Last Sample Time', 'Channel Id', 'Channel Name', 'Channel Value']"
|
211
213
|
:items-key="'channels'"
|
212
214
|
:item-to-columns="columnify"
|
@@ -214,6 +216,7 @@ Note: Vue.js annotations are used, as Vue is the data-to-view framework of choic
|
|
214
216
|
:support-views="true"
|
215
217
|
:item-to-view-name="itemToName"
|
216
218
|
:item-hide="channelHider"
|
219
|
+
:clear-rows="clearChannels"
|
217
220
|
:initial-fields="fields"
|
218
221
|
:filter-text="filterText"
|
219
222
|
:initial-views="itemsShown"
|
@@ -22,5 +22,13 @@ export let config = {
|
|
22
22
|
default: 1000
|
23
23
|
},
|
24
24
|
// Summary counter fields containing object of field: bootstrap class
|
25
|
-
summaryFields: {"WARNING_HI": "warning", "FATAL": "danger", "GDS_Errors": "danger"}
|
25
|
+
summaryFields: {"WARNING_HI": "warning", "FATAL": "danger", "GDS_Errors": "danger"},
|
26
|
+
|
27
|
+
// Dashboards are a security vulnerability in that users are uploading artifacts that trigger
|
28
|
+
// arbitrary rendering and code execution. This is explained in more detail here:
|
29
|
+
// https://v2.vuejs.org/v2/guide/security#Rule-No-1-Never-Use-Non-trusted-Templates
|
30
|
+
//
|
31
|
+
// Thus dashboards are disabled by default and projects must opt-in thus taking the responsibility
|
32
|
+
// to validate and review the safety of the dashboards they use.
|
33
|
+
enableDashboards: false
|
26
34
|
};
|
@@ -120,9 +120,25 @@ Vue.component("channel-table", {
|
|
120
120
|
* @return {boolean}
|
121
121
|
*/
|
122
122
|
channelHider(item) {
|
123
|
+
// Never hide channels if all channels are null
|
124
|
+
let all_null = Object.values(_datastore.channels).reduce((accumulator, channel) => accumulator && channel.val == null);
|
125
|
+
if (all_null && this.itemsShown.length == 0) {
|
126
|
+
return false;
|
127
|
+
}
|
123
128
|
return item.val == null
|
124
129
|
|| item.time == null
|
125
130
|
|| listExistsAndItemNameNotInList(this.itemsShown, item);
|
131
|
+
},
|
132
|
+
/**
|
133
|
+
* Function that clears all channels
|
134
|
+
*/
|
135
|
+
clearChannels() {
|
136
|
+
let channels = {}
|
137
|
+
for (let key in _dictionaries.channels) {
|
138
|
+
channels[key] = {id: key, time: null, datetime: null, val: null};
|
139
|
+
}
|
140
|
+
Object.assign(_datastore.channels, channels);
|
141
|
+
this.$refs.fptable.send([]);
|
126
142
|
}
|
127
143
|
}
|
128
144
|
});
|
@@ -10,6 +10,28 @@
|
|
10
10
|
*
|
11
11
|
* Note: fp-row is broken up such that other row implementations can inherit the base properties.
|
12
12
|
*/
|
13
|
+
|
14
|
+
let headerRegex = new RegExp("<h([1-6])>([^&]*)</h[1-6]>", "g");
|
15
|
+
let spanRegex = new RegExp("<span( title=\"[^\"]*\")?>([^&]*)</span>", "g");
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Replace strings keeping <h1> - <h6> and <span...> tags.
|
19
|
+
* @param {*} item: display item
|
20
|
+
* @returns: sanitized display item
|
21
|
+
*/
|
22
|
+
function sanitize(item) {
|
23
|
+
if (typeof(item) !== "string") {
|
24
|
+
return item;
|
25
|
+
}
|
26
|
+
// Remove all HTML tags
|
27
|
+
item = item.replaceAll("<", "<").replaceAll(">", ">");
|
28
|
+
// Put back in h[1-6] and span tags
|
29
|
+
item = item.replaceAll(headerRegex, "<h$1>$2</h$1>")
|
30
|
+
.replaceAll(spanRegex, "<span $1>$2</span>");
|
31
|
+
return item;
|
32
|
+
}
|
33
|
+
|
34
|
+
|
13
35
|
export let fp_row_base_component = {
|
14
36
|
template: "#fp-row-template",
|
15
37
|
props: {
|
@@ -85,7 +107,9 @@ export let fp_row_base_component = {
|
|
85
107
|
if (typeof (this.itemToColumns) !== "function") {
|
86
108
|
throw Error("Failed to define required 'itemToColumns' function on fp-table")
|
87
109
|
}
|
88
|
-
return this.itemToColumns(this.item)
|
110
|
+
return this.itemToColumns(this.item)
|
111
|
+
.map(sanitize)
|
112
|
+
.filter((item, index) => this.visible == null || this.visible.indexOf(index) !== -1);
|
89
113
|
},
|
90
114
|
/**
|
91
115
|
* Calculates the style of the row based on a given item. This is optional and will not raise an error if the
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: fprime-gds
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.2a4
|
4
4
|
Summary: F Prime Flight Software Ground Data System layer
|
5
5
|
Author-email: Michael Starch <Michael.D.Starch@jpl.nasa.gov>, Thomas Boyer-Chammard <Thomas.Boyer.Chammard@jpl.nasa.gov>
|
6
6
|
License:
|
@@ -35,7 +35,7 @@ fprime_gds/common/decoders/event_decoder.py,sha256=tF_mg98RDjR0PppymGhmXybYXA0mF
|
|
35
35
|
fprime_gds/common/decoders/file_decoder.py,sha256=Ky2U8bli3YL6GbT9jSSvI73ySOtf0cdZLK4FXTuWjfA,2542
|
36
36
|
fprime_gds/common/decoders/pkt_decoder.py,sha256=c1CebqBaD7rAZd9t0AXkGVRTCtvXj0YH9OBN2bJKaTk,3327
|
37
37
|
fprime_gds/common/distributor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
38
|
-
fprime_gds/common/distributor/distributor.py,sha256=
|
38
|
+
fprime_gds/common/distributor/distributor.py,sha256=6XevwW9c75Un-tT0JXCE_savhvBUya8FWW-cHZNAqdw,8334
|
39
39
|
fprime_gds/common/encoders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
40
40
|
fprime_gds/common/encoders/ch_encoder.py,sha256=TBrTJ7TK4WwCh6KAspozh63WcPxrMImloB8tz7qeulw,2878
|
41
41
|
fprime_gds/common/encoders/cmd_encoder.py,sha256=iFPi6uMlMPlApC47p9YKRjKJxMvz46p15Yy3NnGTyaE,3497
|
@@ -49,15 +49,19 @@ fprime_gds/common/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
49
49
|
fprime_gds/common/files/downlinker.py,sha256=CZPfhH0J9-LNqW5Cv_ryicLTuoedLSWK8OPQmmQDZZY,7498
|
50
50
|
fprime_gds/common/files/helpers.py,sha256=sGaxcczXmZ5_soawT7x_eJ_cC2PZ6KOGBfusAV4QC_g,7219
|
51
51
|
fprime_gds/common/files/uplinker.py,sha256=lgqhlgeipBt3Arx-ohzK8vCdS54fKpv9Rg7SUTocUX8,13244
|
52
|
-
fprime_gds/common/fpy/README.md,sha256=
|
53
|
-
fprime_gds/common/fpy/SPEC.md,sha256=
|
52
|
+
fprime_gds/common/fpy/README.md,sha256=3lEAlRhkChCdjqhF1RIaNnRbUJZTtk-2LUHD55Uca2A,7602
|
53
|
+
fprime_gds/common/fpy/SPEC.md,sha256=j-V5F4I-syKJFnsW5ySE8va4GoXC50kECXUAr4xZYA8,5864
|
54
54
|
fprime_gds/common/fpy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
55
|
-
fprime_gds/common/fpy/codegen.py,sha256=
|
56
|
-
fprime_gds/common/fpy/grammar.lark,sha256=
|
57
|
-
fprime_gds/common/fpy/main.py,sha256=
|
58
|
-
fprime_gds/common/fpy/
|
55
|
+
fprime_gds/common/fpy/codegen.py,sha256=EmTsqkUqVFHH2xuvxw3nNPSgvGumsetRVTnYl5DeW7I,53045
|
56
|
+
fprime_gds/common/fpy/grammar.lark,sha256=ZjL9xYK9v1Ko-_hm99mR2IB-Alqx9amGRHX0a7jehdM,2826
|
57
|
+
fprime_gds/common/fpy/main.py,sha256=fdo1TLWNvmmygiqwZlszOTlDHN8cXnSG69grxZ6loXQ,1927
|
58
|
+
fprime_gds/common/fpy/model.py,sha256=tLKtkDLk52dLKUVrS-p2Dma1r-aE2eqBgahYwB7oecc,27392
|
59
|
+
fprime_gds/common/fpy/parser.py,sha256=zbB_vcWi2VybLYP8s7st5RkzZBnPRdP1ilR6DIum1-M,4346
|
60
|
+
fprime_gds/common/fpy/test_helpers.py,sha256=19iACidiZZyeOo8LgwP6ir-X2mPPVNrlTpd34Sia5m8,4109
|
61
|
+
fprime_gds/common/fpy/types.py,sha256=IplHyCGXsru0EPALvGdjFNXCQRmr437K_dR0_zhYgSo,16916
|
59
62
|
fprime_gds/common/fpy/bytecode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
|
-
fprime_gds/common/fpy/bytecode/
|
63
|
+
fprime_gds/common/fpy/bytecode/assembler.py,sha256=8UH7UAWbHP_cEQT4QVB7zV1SGoR5R_euvwWhiHzfwrw,1501
|
64
|
+
fprime_gds/common/fpy/bytecode/directives.py,sha256=JBgznGs8rMlBFm_YwXmZiKGAoYnQCjuDse_zbQLVZsA,23225
|
61
65
|
fprime_gds/common/gds_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
62
66
|
fprime_gds/common/gds_cli/base_commands.py,sha256=js4SAXPfDYy_ewIL27066XylExxh9S1A-e4NNChWf9s,9430
|
63
67
|
fprime_gds/common/gds_cli/channels.py,sha256=BvADGBrsJ2G9zcGpSwJlxLRFiY1bUxtQSTfEOlA3UME,2134
|
@@ -122,20 +126,20 @@ fprime_gds/common/utils/event_severity.py,sha256=7qPXHrDaM_REJ7sKBUEJTZIE0D4qVnV
|
|
122
126
|
fprime_gds/common/utils/string_util.py,sha256=u_2iahRG3ROu3lAAt_KVcK226gEByElXqrA8mH8eDpI,3584
|
123
127
|
fprime_gds/executables/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
124
128
|
fprime_gds/executables/apps.py,sha256=_OLWxby1XvYmmDcecsOAKu34XGf952_ya5uRWf_8Y3I,15127
|
125
|
-
fprime_gds/executables/cli.py,sha256=
|
129
|
+
fprime_gds/executables/cli.py,sha256=OgP0RYrqasTzFXP8r3L1UAlGq0wKGVLb5_Vr6nxFpGc,52643
|
126
130
|
fprime_gds/executables/comm.py,sha256=08rO0o0MJgTRngB7Ygu2IL_gEAWKF7WFvFyro1CqReE,5214
|
127
131
|
fprime_gds/executables/data_product_writer.py,sha256=e1Rp2LT_Cpg08f0Ki8GhirC7Wn6LtYiAef7KLAkZHUY,37773
|
128
132
|
fprime_gds/executables/dictionary_merge.py,sha256=3Zy8LcbEdBwmNX2GLN_Nr1DfbLyWYHg-y4jdjTVCXgY,7966
|
129
133
|
fprime_gds/executables/fprime_cli.py,sha256=9_eNU7AzUOMhz4FLPkD_byA9C13c509wGPZN-kdw9Ok,12429
|
130
|
-
fprime_gds/executables/run_deployment.py,sha256=
|
134
|
+
fprime_gds/executables/run_deployment.py,sha256=XM_--4Pj37cpe7fjv1Jr87Ep1YC-qZpgUXk7v_fZGMY,7744
|
131
135
|
fprime_gds/executables/tcpserver.py,sha256=KspVpu5YIuiWKOk5E6UDMKvqXYrRB1j9aX8CkMxysfw,17555
|
132
136
|
fprime_gds/executables/utils.py,sha256=SbzXRe1p41qMPdifvPap5_4v0T42gZZ_Rs_OYfITd80,7626
|
133
137
|
fprime_gds/flask/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
134
|
-
fprime_gds/flask/app.py,sha256=
|
138
|
+
fprime_gds/flask/app.py,sha256=vOcZvLekuMsWhc8hrZf60ni8nPPAHlFwgK1yF1nMC58,7255
|
135
139
|
fprime_gds/flask/channels.py,sha256=sOeL-UmWPh2hqYvqj81STpABLlPcjdPgkRwjd3Qx77k,735
|
136
140
|
fprime_gds/flask/commands.py,sha256=62R3b0mnjc3_XpULpqJyUSvAcfOjAyZNifQ3wqHKO7s,3658
|
137
141
|
fprime_gds/flask/components.py,sha256=a-eG8XJfSrqR8MIzIc9StwbNwxcBqkxYMEYq46S2Bmk,4176
|
138
|
-
fprime_gds/flask/default_settings.py,sha256=
|
142
|
+
fprime_gds/flask/default_settings.py,sha256=uDYQQUTRWbkeodln9rsS8ccSW_bgQ3u-cS3QkPzK4MQ,696
|
139
143
|
fprime_gds/flask/errors.py,sha256=yN3jDsJd30jL6aOIF-SqbVoesvReHqPvXlIt8qWB87M,2133
|
140
144
|
fprime_gds/flask/events.py,sha256=BO9OUUwNDnRuOz4ZC6nFHMR7sJJ9P2P0xUxDluGd218,732
|
141
145
|
fprime_gds/flask/json.py,sha256=PBljX3afJzyE_04DvZS4OEFOQW_ldVmfWiTYfxPZiGo,5888
|
@@ -146,7 +150,7 @@ fprime_gds/flask/sequence.py,sha256=1FfOFIUdWFX1qXjONAWm1vklPbyhkBYkuPow8RBt-yk,
|
|
146
150
|
fprime_gds/flask/stats.py,sha256=i62envu9V6WpNsRD_mlhwzB_2dGUOCTf1XpyC5HApzg,1177
|
147
151
|
fprime_gds/flask/updown.py,sha256=7za_zgOwQKHgm-3W1OBZqBgDLCmj7c0ziFEduhEuqdU,6176
|
148
152
|
fprime_gds/flask/static/favicon.ico,sha256=pwqBRx64V_wyrrXgXsBXPWWUmwqanuWAfesMpFfV1E4,15406
|
149
|
-
fprime_gds/flask/static/index.html,sha256=
|
153
|
+
fprime_gds/flask/static/index.html,sha256=mzdnT0aqLntWBkmvJywiOd_spSviSdB4BoExPyJUEQU,26331
|
150
154
|
fprime_gds/flask/static/.idea/.gitignore,sha256=NHNmSnP0xfbzJRKbluJMetE8N_J3-dXL-arvLWCrYTk,38
|
151
155
|
fprime_gds/flask/static/.idea/misc.xml,sha256=jiBUIoLNoO3PVZNHFbeuPqK7i2ghgKEpmbgvBHXqizY,174
|
152
156
|
fprime_gds/flask/static/.idea/modules.xml,sha256=iH0knC0oHsbwsrC7lgoIqoHQUYPiTqHLiAkihGsSoAE,264
|
@@ -197,7 +201,7 @@ fprime_gds/flask/static/css/fpstyle.css,sha256=9JvcrT8VnLONCrEXY-QNdNPXKAH9U7WUr
|
|
197
201
|
fprime_gds/flask/static/img/error.svg,sha256=dJOAFEQ_DlLvJg-fBuBGDCBua8rbvSzmY3lqCuw3yc4,1953
|
198
202
|
fprime_gds/flask/static/img/logo.svg,sha256=czqCyVnhqFEw7qsKDMm63w959Pa77nYqY7GyoHVGcZ4,12470
|
199
203
|
fprime_gds/flask/static/img/success.svg,sha256=wCfYG4cPfSCcsZ76JI4SwAJ-y62rahx9rJXyB-2qDIY,1757
|
200
|
-
fprime_gds/flask/static/js/config.js,sha256=
|
204
|
+
fprime_gds/flask/static/js/config.js,sha256=QS8riL5Q6LPR6hoCPPS5nRNaoFVJxI2CfOucKlcbsFo,1551
|
201
205
|
fprime_gds/flask/static/js/datastore.js,sha256=AAJKRQbcvQuS-4OScad5zBfYjHljDrjsL5RnTcXx39A,15508
|
202
206
|
fprime_gds/flask/static/js/gds.js,sha256=OeDJrNmNA8hUPi8QIHP-s33MW_IYT3QIccxzL75MsjA,1297
|
203
207
|
fprime_gds/flask/static/js/json.js,sha256=kfwzTqoyLu_Feqcp9WEhDWpZ3lziwHy9LGkOg8PCo6s,12429
|
@@ -206,13 +210,13 @@ fprime_gds/flask/static/js/performance.js,sha256=fGBbK5anf5UB9iAr6rO4u9sCkrQGlOH
|
|
206
210
|
fprime_gds/flask/static/js/settings.js,sha256=Cfnn1ybZUOmsp48t_b23TDaHBRctvpD_h2ivBVKz6HM,1101
|
207
211
|
fprime_gds/flask/static/js/uploader.js,sha256=HdFUGwJ-SN_OEMXiXXJw0YblC0j_QiOA1y9yVWyS4SI,2730
|
208
212
|
fprime_gds/flask/static/js/validate.js,sha256=yVY_MlpJeRfBRy3-k_JflWqyk-P_YJU3ot-iJtRJFPM,13046
|
209
|
-
fprime_gds/flask/static/js/vue-support/channel.js,sha256=
|
213
|
+
fprime_gds/flask/static/js/vue-support/channel.js,sha256=a1ll-y5qqPiWCgSB2LJWmC4718ZFmsr542YPQQKh1rA,5257
|
210
214
|
fprime_gds/flask/static/js/vue-support/dashboard-box.js,sha256=yX6eH9BQRKRLHk2eBDv1AjVjpLbl8PP8t-SXQPmi0sU,739
|
211
215
|
fprime_gds/flask/static/js/vue-support/dashboard-row.js,sha256=vCkLANr_8GAkPLV4K0WAXWJohevOTods0VbjMrA5zC0,297
|
212
216
|
fprime_gds/flask/static/js/vue-support/dashboard.js,sha256=WOdmZoivmtg9KbLe8usPjlXTzEO_uwJQIY9iIgMhW2g,3022
|
213
217
|
fprime_gds/flask/static/js/vue-support/downlink.js,sha256=zY7S4w5ylQDQJ9-ihN-_1CUOxacGCuTyVO7-jeVefQg,1589
|
214
|
-
fprime_gds/flask/static/js/vue-support/event.js,sha256=
|
215
|
-
fprime_gds/flask/static/js/vue-support/fp-row.js,sha256=
|
218
|
+
fprime_gds/flask/static/js/vue-support/event.js,sha256=9hrFAtDGBHFRXAmvhhDAN1iuJcn_TyTnn6ymzn8L3Cw,5333
|
219
|
+
fprime_gds/flask/static/js/vue-support/fp-row.js,sha256=ujy7T6jl1vnfCx7kf_DLrtLqA79y9SUr4rdVdKYqHUg,4475
|
216
220
|
fprime_gds/flask/static/js/vue-support/fptable.js,sha256=ETGE4LlBeLXQnOv6-NNtZtk3JadDOPus6ad3tBEooUo,18874
|
217
221
|
fprime_gds/flask/static/js/vue-support/log.js,sha256=40dDjFgmEugTFZFsy0Y1xqNJpnuEfUiZ_-M3HGTPMCc,2735
|
218
222
|
fprime_gds/flask/static/js/vue-support/tabetc.js,sha256=_JfTOezwXrxZ-RaSs4jhLdv5e3hTbjxYTnbGwv6NTAc,3865
|
@@ -244,10 +248,10 @@ fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff2,sha256=mDS4KtJuK
|
|
244
248
|
fprime_gds/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
245
249
|
fprime_gds/plugin/definitions.py,sha256=QlxW1gNvoiqGMslSJjh3dTFZuv0igFHawN__3XJ0Wns,5355
|
246
250
|
fprime_gds/plugin/system.py,sha256=M9xb-8jBhCUUx3X1z2uAP8Wx_v6NkL8JeaFgGcMnQqY,13432
|
247
|
-
fprime_gds-4.0.
|
248
|
-
fprime_gds-4.0.
|
249
|
-
fprime_gds-4.0.
|
250
|
-
fprime_gds-4.0.
|
251
|
-
fprime_gds-4.0.
|
252
|
-
fprime_gds-4.0.
|
253
|
-
fprime_gds-4.0.
|
251
|
+
fprime_gds-4.0.2a4.dist-info/licenses/LICENSE.txt,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
252
|
+
fprime_gds-4.0.2a4.dist-info/licenses/NOTICE.txt,sha256=vXjA_xRcQhd83Vfk5D_vXg5kOjnnXvLuMi5vFKDEVmg,1612
|
253
|
+
fprime_gds-4.0.2a4.dist-info/METADATA,sha256=jJXlRA8gO9KhN8WGHJ6J_vx59671yO7OHe_XNNtYLAM,24576
|
254
|
+
fprime_gds-4.0.2a4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
255
|
+
fprime_gds-4.0.2a4.dist-info/entry_points.txt,sha256=zESAeUBvVYSuzzinWIqNWaewa8nYDDImEX4jBzdyThs,559
|
256
|
+
fprime_gds-4.0.2a4.dist-info/top_level.txt,sha256=6vzFLIX6ANfavKaXFHDMSLFtS94a6FaAsIWhjgYuSNE,27
|
257
|
+
fprime_gds-4.0.2a4.dist-info/RECORD,,
|
@@ -1,7 +1,8 @@
|
|
1
1
|
[console_scripts]
|
2
2
|
fprime-cli = fprime_gds.executables.fprime_cli:main
|
3
3
|
fprime-dp-write = fprime_gds.executables.data_product_writer:main
|
4
|
-
fprime-
|
4
|
+
fprime-fpy-model = fprime_gds.common.fpy.main:model_main
|
5
|
+
fprime-fpyc = fprime_gds.common.fpy.main:compile_main
|
5
6
|
fprime-gds = fprime_gds.executables.run_deployment:main
|
6
7
|
fprime-merge-dictionary = fprime_gds.executables.dictionary_merge:main
|
7
8
|
fprime-prm-write = fprime_gds.common.tools.params:main
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|