backstop_history's People
Forkers
jzuhonebackstop_history's Issues
Support running code on a standalone machine
Modification to accommodate shiny data structure changes
Programs in backstop-history have to be modified to conform to the new data structures created by the
introduction of shiny.
This will result in a commit, push and Pull Request.
Status: Modifications made; testing underway.
Specifically, the introduction of these commands:
bs_cmds = kadi.commands.get_cmds_from_backstop(backstop_file_path)
bs_cmds = bs_cmds.as_list_of_dict()
..is that the structure of a dictionary entry in the resultant bs_cmds is very different from
what ParseCM created.
As an example:
MP_TARGQUAT went from this:
self.MAN_bs_cmds = {'cmd': 'MP_TARGQUAT',
'date': '1900:001',
'msid': None,
'params': {'CMDS': 8,
'Q1': 1000.0,
'Q2': 2000.0,
'Q3': 3000.0,
'Q4': 4000.0,
'SCS': 135,
'STEP': 1,
'TLMSID': 'AOUPTARQ'},
'paramstr': 'POS= -99616, SCS= 108, STEP= 1',
'scs': 135,
'step': 1,
'time': -1.0,
'tlmsid': 'AOUPTARQ',
'vcdu': 0000000}
to this:
{'idx': -1,
'date': '1900:001',
'type': 'MP_TARGQUAT',
'tlmsid': 'AOUPTARQ',
'scs': 129,
'step': 796,
'timeline_id': 0,
'vcdu': 0000000,
'params': {'cmds': 8, 'q1': 0.0, 'q2': 0.0, 'q3': 0.0, 'q4': 0.0}}
Firstly the keyword "time' was eliminated from the data structure. I had
to add that keyword to all bs_cmds because I use it.
**"time" is now a keyword in shiny so this issue is solved.**
Note that the keys such as the Q's changed case. BSH accesses those values.
The key "cmd" disappeared and BSH used that.
Another example, SIMTRANS changed from this:
{'cmd': 'SIMTRANS',
'date': '1900:001',
'msid': None,
'params': {'POS': -99616, 'SCS': 108, 'STEP': 1},
'paramstr': 'POS= -99616, SCS= 108, STEP= 1',
'scs': 108,
'step': 1,
'time': -1.0,
'tlmsid': None,
'vcdu': 0000000}
To this:
{'idx': -1,
'date': '1900:001',
'type': 'SIMTRANS',
'tlmsid': 'None',
'scs': 132,
'step': 451,
'time': -1,
'timeline_id': 0,
'vcdu': 0000000,
'params': {'pos': -99616}}
Again 'cmd' is changed to 'type', and the sim position keyword went from "POS" to 'pos'.
As an example of where this comes into play, Backstop history has a series of defined
commands which are inserted into the bs_cmds at the point where non-load events such
as an SCS-107 (for example) occurs. That data structure had to be modified to conform
to the output of kadi/as_list_of_dict. And some of the code that uses these dictionary
entries had to be modified.
Another:
AA00000000 went from this:
{'cmd': 'ACISPKT', # Stop Science
'date': '1900:001',
'msid': None,
'params': {'CMDS': 3,
'PACKET(40)': 'D80000300030603001300',
'SCS': 107,
'STEP': 1,
'TLMSID': 'AA00000000',
'WORDS': 3},
'paramstr': 'TLMSID= AA00000000, CMDS= 3, WORDS= 3, PACKET(40)= D80000300030603001300 , SCS= 107, STEP= 1',
'scs': 107,
'step': 1,
'time': -1.0,
'tlmsid': 'AA00000000',
'vcdu': 0000000}
to this:
{'idx': -1,
'date': '2020:305:02:19:34.019',
'type': 'ACISPKT',
'tlmsid': 'AA00000000',
'scs': 132,
'step': 166,
'time': 720498043.203,
'timeline_id': 0,
'vcdu': 3079564,
'params': {'cmds': 3, 'words': 3, 'packet(40)': 'D80000300030603001300'}}
The code searches backstop commands from the review backstop file (for example) to
determine if 2 stop sciences has occurred during a non-load LTCTI measurement
thusly cutting off the LTCTI measurement before it ran to completion.
So it was necessary to change all the data structures for inserted non-load commands to conform to
the shiny structure and to carefully search the code for cases where the change affects the code.
Two examples are that the code missed non-load maneuvers because of the quaternion keyword
case change and was also not processing LTCTI's correctly.
The code would run to completion but the assembled history was incorrect.
These changes are underway.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.