- Install Rust v1.77.1 or above.
- If you don't have Rust installed, follow the directions here.
- If you already have Rust installed, make sure you're on at least 1.77.1 by running
rustup upgrade
.
- Install the MIDAS Data Viewer locally using
cargo install --git https://github.com/ISSUIUC/MIDAS-Launch
. This builds a local copy of the resulting executable. - Run the Data Viewer executable by typing
midas-launch
into your command line.
If a new version of this software is available, you can update it by re-running step 3 above.
The workflow for using this software can be divided into 4 steps:
- Load data from either a list of raw launch files or from a CSV.
- (Possibly) Apply processing steps and filters.
- View the data in a tabular or graphical form.
- (Possibly) Reexport the data to a CSV.
Sample Flight data is available here.
Loading data from CSVs is fairly simple. Select the 'Import' tab, then select the source type '.csv File'. Now either paste in the absolute path to the CSV file you wish to load, or click 'Choose File' and select the file you wish to load in.
Once you've chosen a file, click the 'Load Data' button. If all goes well, the data will be loaded into the table in a few seconds.
Loading data from .launch files is much more complicated. To begin, select the 'Import' tab and select the source type of '.launch File'.
Click the 'Add Files' button under the 'Data File' header and choose the .launch files you want to load. The program will attempt to store the last set of files you loaded across runs, so if you're loading the same files again this step may be able to be skipped. The files you chose will be stitched together in order, so you can use the arrow buttons to reorder the chosen files.
Now, you have to tell the program the format that this .launch file was encoded in. This takes some extra steps to set up:
- Download a new copy of the MIDAS-Software repository somewhere on your computer.
- Note the git hash of the commit that was flashed to MIDAS. Use
git reset --hard <hash>
with<hash>
replaced with the noted hash to revert the above repository to the correct version. - Install Python 3.9 or above. On Windows, make sure you check the box that automatically adds Python to your 'PATH' environment variable. Make sure Python can be invoked from the command line.
- Install the module
lark
for your Python 3.9 installation usingpip install lark
.
Now that you've followed the above steps, click on the 'Choose File' button under the 'Data Format'
header and navigate to the copy of the MIDAS-Software above. Navigate into the repository until you
find the log_format.h
file and select it (it will be found at MIDAS-Software/MIDAS/src/log_format.h
).
For the 'Python Command' field, enter the command to invoke the Python 3.9 installation. This will
be autofilled with python
, which will likely work on Windows if the steps above were followed. On MacOS
and Linux, this will most likely have to be replaced with python3
or python3.9
since the default python
command is for Python 2.7.
Next, click the 'Load Format' button. If all goes well, this should parse the format and display the checksum of the format next to the 'Data Format' header. If you want to check that the launch data file was created by the same format, verify that the checksum is the same as all the chosen source files.
Now, you can click the 'Load Data' button. In a few seconds, this will have imported all the data from the launch file.
This software provides 4 different types of filters. You can add any number of filters, and you may add each filter any number of times in any order. You can click the '-' button to remove the associated row, '^' to swap it with the one above, or 'v' to swap it with the one below.
Note
Each time you click 'Apply', the filters will all be run again from a clean, unprocessed copy of the data.
- Fill: Fills in the empty cells with the contents of either the previous (for downwards) or next (for upwards) non-empty cell. If 'Backfill' is selected, then the empty cells at the start and ends of the table are also filled with the closest non-empty cell.
- Select: Only retain the rows of the table where the value of the chosen column of that row is equal to the provided value.
- Within: Only retain the rows of the table where the value of the chosen column match the conditions: If 'Lower' is selected, then only rows with a value above the provided bound are retained. If 'Upper' is selected, then only rows with a value below the provided are retained. Both can be selected at the same time.
- Sort: Sort the rows of the table by the value of the chosen column, in either ascending or descending order.
To plot the data, simply switch to the 'Plot' tab and select columns to plot on the X and Y axes. Points from the data set are sampled to improve performance. The 'Resolution' slider can be moved to change the balance between fidelity and performance, with lower resolutions improving performance.
Note
Applying a Sort and a Fill before plotting improves results.
Processed data can be re-exported in CSV form. Switch to the 'Export' tab, choose a file to export to using the 'Choose File' button, and then press 'Export'. If the chosen file already exists, this will replace the contents of the file. If you want to append this data to the pre-existing data in the chosen file instead, check the 'Append' box before exporting.