* Implements Fault Management Co-authored-by: Rukmini Bose <rukmini.bose15@gmail.com> Co-authored-by: Andrew Henry <akhenry@gmail.com> Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
		
			
				
	
	
		
			204 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			204 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!--
 | 
						|
 Open MCT, Copyright (c) 2014-2022, United States Government
 | 
						|
 as represented by the Administrator of the National Aeronautics and Space
 | 
						|
 Administration. All rights reserved.
 | 
						|
 | 
						|
 Open MCT is licensed under the Apache License, Version 2.0 (the
 | 
						|
 "License"); you may not use this file except in compliance with the License.
 | 
						|
 You may obtain a copy of the License at
 | 
						|
 http://www.apache.org/licenses/LICENSE-2.0.
 | 
						|
 | 
						|
 Unless required by applicable law or agreed to in writing, software
 | 
						|
 distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
						|
 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | 
						|
 License for the specific language governing permissions and limitations
 | 
						|
 under the License.
 | 
						|
 | 
						|
 Open MCT includes source code licensed under additional open source
 | 
						|
 licenses. See the Open Source Licenses file (LICENSES.md) included with
 | 
						|
 this source code distribution or the Licensing information page available
 | 
						|
 at runtime from the About dialog for additional information.
 | 
						|
-->
 | 
						|
<!doctype html>
 | 
						|
<html lang="en">
 | 
						|
    <head>
 | 
						|
        <meta charset="utf-8">
 | 
						|
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, shrink-to-fit=no">
 | 
						|
        <meta name="apple-mobile-web-app-capable" content="yes">
 | 
						|
        <title></title>
 | 
						|
        <script src="dist/openmct.js"></script>
 | 
						|
        <link rel="icon" type="image/png" href="dist/favicons/favicon-96x96.png" sizes="96x96" type="image/x-icon">
 | 
						|
        <link rel="icon" type="image/png" href="dist/favicons/favicon-32x32.png" sizes="32x32" type="image/x-icon">
 | 
						|
        <link rel="icon" type="image/png" href="dist/favicons/favicon-16x16.png" sizes="16x16" type="image/x-icon">
 | 
						|
        <style type="text/css">
 | 
						|
            @keyframes splash-spinner {
 | 
						|
                0% {
 | 
						|
                    transform: translate(-50%, -50%) rotate(0deg); }
 | 
						|
                100% {
 | 
						|
                    transform: translate(-50%, -50%) rotate(360deg); } }
 | 
						|
 | 
						|
            #splash-screen {
 | 
						|
                background-color: black;
 | 
						|
                position: absolute;
 | 
						|
                top: 0; right: 0; bottom: 0; left: 0;
 | 
						|
                z-index: 10000;
 | 
						|
            }
 | 
						|
 | 
						|
            #splash-screen:before {
 | 
						|
                animation-name: splash-spinner;
 | 
						|
                animation-duration: 0.5s;
 | 
						|
                animation-iteration-count: infinite;
 | 
						|
                animation-timing-function: linear;
 | 
						|
                border-radius: 50%;
 | 
						|
                border-color: rgba(255,255,255,0.25);
 | 
						|
                border-top-color: white;
 | 
						|
                border-style: solid;
 | 
						|
                border-width: 10px;
 | 
						|
                content: '';
 | 
						|
                display: block;
 | 
						|
                opacity: 0.25;
 | 
						|
                position: absolute;
 | 
						|
                left: 50%; top: 50%;
 | 
						|
                height: 100px; width: 100px;
 | 
						|
            }
 | 
						|
        </style>
 | 
						|
    </head>
 | 
						|
    <body>
 | 
						|
    </body>
 | 
						|
    <script>
 | 
						|
        const THIRTY_SECONDS = 30 * 1000;
 | 
						|
        const ONE_MINUTE = THIRTY_SECONDS * 2;
 | 
						|
        const FIVE_MINUTES = ONE_MINUTE * 5;
 | 
						|
        const FIFTEEN_MINUTES = FIVE_MINUTES * 3;
 | 
						|
        const THIRTY_MINUTES = FIFTEEN_MINUTES * 2;
 | 
						|
        const ONE_HOUR = THIRTY_MINUTES * 2;
 | 
						|
        const TWO_HOURS = ONE_HOUR * 2;
 | 
						|
        const ONE_DAY = ONE_HOUR * 24;
 | 
						|
 | 
						|
        openmct.install(openmct.plugins.LocalStorage());
 | 
						|
 | 
						|
        openmct.install(openmct.plugins.example.Generator());
 | 
						|
        openmct.install(openmct.plugins.example.EventGeneratorPlugin());
 | 
						|
        openmct.install(openmct.plugins.example.ExampleImagery());
 | 
						|
        openmct.install(openmct.plugins.example.ExampleTags());
 | 
						|
 | 
						|
        openmct.install(openmct.plugins.Espresso());
 | 
						|
        openmct.install(openmct.plugins.MyItems());
 | 
						|
        openmct.install(openmct.plugins.PlanLayout());
 | 
						|
        openmct.install(openmct.plugins.Timeline());
 | 
						|
        openmct.install(openmct.plugins.Hyperlink());
 | 
						|
        openmct.install(openmct.plugins.UTCTimeSystem());
 | 
						|
        openmct.install(openmct.plugins.AutoflowView({
 | 
						|
            type: "telemetry.panel"
 | 
						|
        }));
 | 
						|
        openmct.install(openmct.plugins.DisplayLayout({
 | 
						|
            showAsView: ['summary-widget', 'example.imagery']
 | 
						|
        }));
 | 
						|
        openmct.install(openmct.plugins.Conductor({
 | 
						|
            menuOptions: [
 | 
						|
                {
 | 
						|
                    name: "Fixed",
 | 
						|
                    timeSystem: 'utc',
 | 
						|
                    bounds: {
 | 
						|
                        start: Date.now() - THIRTY_MINUTES,
 | 
						|
                        end: Date.now()
 | 
						|
                    },
 | 
						|
                    // commonly used bounds can be stored in history
 | 
						|
                    // bounds (start and end) can accept either a milliseconds number
 | 
						|
                    // or a callback function returning a milliseconds number
 | 
						|
                    // a function is useful for invoking Date.now() at exact moment of preset selection
 | 
						|
                    presets: [
 | 
						|
                        {
 | 
						|
                            label: 'Last Day',
 | 
						|
                            bounds: {
 | 
						|
                                start: () => Date.now() - ONE_DAY,
 | 
						|
                                end: () => Date.now()
 | 
						|
                            }
 | 
						|
                        },
 | 
						|
                        {
 | 
						|
                            label: 'Last 2 hours',
 | 
						|
                            bounds: {
 | 
						|
                                start: () => Date.now() - TWO_HOURS,
 | 
						|
                                end: () => Date.now()
 | 
						|
                            }
 | 
						|
                        },
 | 
						|
                        {
 | 
						|
                            label: 'Last hour',
 | 
						|
                            bounds: {
 | 
						|
                                start: () => Date.now() - ONE_HOUR,
 | 
						|
                                end: () => Date.now()
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    ],
 | 
						|
                    // maximum recent bounds to retain in conductor history
 | 
						|
                    records: 10
 | 
						|
                    // maximum duration between start and end bounds
 | 
						|
                    // for utc-based time systems this is in milliseconds
 | 
						|
                    // limit: ONE_DAY
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    name: "Realtime",
 | 
						|
                    timeSystem: 'utc',
 | 
						|
                    clock: 'local',
 | 
						|
                    clockOffsets: {
 | 
						|
                        start: - THIRTY_MINUTES,
 | 
						|
                        end: THIRTY_SECONDS
 | 
						|
                    },
 | 
						|
                    presets: [
 | 
						|
                        {
 | 
						|
                            label: '1 Hour',
 | 
						|
                            bounds: {
 | 
						|
                                start: - ONE_HOUR,
 | 
						|
                                end: THIRTY_SECONDS
 | 
						|
                            }
 | 
						|
                        },
 | 
						|
                        {
 | 
						|
                            label: '30 Minutes',
 | 
						|
                            bounds: {
 | 
						|
                                start: - THIRTY_MINUTES,
 | 
						|
                                end: THIRTY_SECONDS
 | 
						|
                            }
 | 
						|
                        },
 | 
						|
                        {
 | 
						|
                            label: '15 Minutes',
 | 
						|
                            bounds: {
 | 
						|
                                start: - FIFTEEN_MINUTES,
 | 
						|
                                end: THIRTY_SECONDS
 | 
						|
                            }
 | 
						|
                        },
 | 
						|
                        {
 | 
						|
                            label: '5 Minutes',
 | 
						|
                            bounds: {
 | 
						|
                                start: - FIVE_MINUTES,
 | 
						|
                                end: THIRTY_SECONDS
 | 
						|
                            }
 | 
						|
                        },
 | 
						|
                        {
 | 
						|
                            label: '1 Minute',
 | 
						|
                            bounds: {
 | 
						|
                                start: - ONE_MINUTE,
 | 
						|
                                end: THIRTY_SECONDS
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    ]
 | 
						|
                }
 | 
						|
            ]
 | 
						|
        }));
 | 
						|
        openmct.install(openmct.plugins.SummaryWidget());
 | 
						|
        openmct.install(openmct.plugins.Notebook());
 | 
						|
        openmct.install(openmct.plugins.LADTable());
 | 
						|
        openmct.install(openmct.plugins.Filters(['table', 'telemetry.plot.overlay']));
 | 
						|
        openmct.install(openmct.plugins.ObjectMigration());
 | 
						|
        openmct.install(openmct.plugins.ClearData(
 | 
						|
            ['table', 'telemetry.plot.overlay', 'telemetry.plot.stacked', 'example.imagery'],
 | 
						|
            { indicator: true }
 | 
						|
        ));
 | 
						|
        openmct.install(openmct.plugins.Clock({ enableClockIndicator: true }));
 | 
						|
        openmct.install(openmct.plugins.Timer());
 | 
						|
        openmct.install(openmct.plugins.Timelist());
 | 
						|
        openmct.install(openmct.plugins.BarChart());
 | 
						|
        openmct.install(openmct.plugins.ScatterPlot());
 | 
						|
        openmct.start();
 | 
						|
    </script>
 | 
						|
</html>
 |