Skip to content

Commit c11a88d

Browse files
committed
Initial commit for public release
0 parents  commit c11a88d

File tree

10 files changed

+690
-0
lines changed

10 files changed

+690
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/_Temp
2+
/Build

InGamePanels/pe-helper.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<SimBase.Document Type="InGamePanels" version="1.0">
3+
<Filename>InGamePanel_PEHelper.spb</Filename>
4+
<InGamePanels.InGamePanelDefinition
5+
id="PANEL_PEHELPER_PANEL"
6+
Name="PE Helper"
7+
url="html_ui/InGamePanels/PEHelper/PEHelper.html"
8+
resizeDirections="Both"
9+
minWidth="36"
10+
minHeight="50"
11+
defaultWidth="36"
12+
defaultHeight="50"
13+
defaultTop="33"
14+
defaultRight="2"
15+
icon="ICON_TOOLBAR_PEHELPER"
16+
buttonVisible="true">
17+
</InGamePanels.InGamePanelDefinition>
18+
</SimBase.Document>

PackageDefinitions/pe-helper.xml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<AssetPackage Name="pe-helper" Version="0.0.3">
2+
<ItemSettings>
3+
<ContentType>MISC</ContentType>
4+
<Title>pe-helper</Title>
5+
<Manufacturer>rcd</Manufacturer>
6+
<Creator>rcd</Creator>
7+
</ItemSettings>
8+
<Flags>
9+
<VisibleInStore>false</VisibleInStore>
10+
<CanBeReferenced>false</CanBeReferenced>
11+
</Flags>
12+
<AssetGroups>
13+
<AssetGroup Name="html-ui">
14+
<Type>Copy</Type>
15+
<Flags>
16+
<FSXCompatibility>false</FSXCompatibility>
17+
</Flags>
18+
<AssetDir>html_ui\</AssetDir>
19+
<OutputDir>html_ui\</OutputDir>
20+
</AssetGroup>
21+
<AssetGroup Name="pe-helper">
22+
<Type>SPB</Type>
23+
<Flags>
24+
<FSXCompatibility>false</FSXCompatibility>
25+
</Flags>
26+
<AssetDir>InGamePanels\</AssetDir>
27+
<OutputDir>InGamePanels\</OutputDir>
28+
</AssetGroup>
29+
</AssetGroups>
30+
</AssetPackage>
31+

README.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# PE Helper for Microsoft Flight Simulator 2020
2+
3+
This add-on creates a toolbar item allowing you to control the [PilotEdge](https://www.pilotedge.net/) Client from within Microsoft Flight Simulator 2020.
4+
5+
This is a 3rd party add-on for Microsoft Flight Simulator 2020 and PilotEdge and thus support is not provided by Microsoft or PilotEdge.
6+
7+
![screenshot](screenshot.png)
8+
9+
## Primary Features
10+
- Connect and disconnect from PilotEdge
11+
- Get ATIS for PilotEdge airports
12+
- View Mode C status and Ident
13+
14+
## Install
15+
16+
1. Install, configure, and test the [PilotEdge Pilot Client for Microsoft Flight Simulator 2020](https://www.pilotedge.net/pages/download-software-msfs).
17+
2. Download the latest release of PE Helper.
18+
3. Extract the release Zip file to your Community folder.
19+
4. Go fly!
20+
21+
The usage of this add-on should be mostly self explanitory if you configured and tested the PilotEdge Pilot Client in step 1.
22+
23+
## Known Issues
24+
25+
- ATIS can be difficult to read. This is due to some limitations in how the PilotEdge API can be accessed from MSFS.
26+
- It can be difficult to see if a text input box is disabled or not.
27+
- The text input boxes sometimes have difficulty getting focus. Alt+Tab out of MSFS and then go back into MSFS. This usually fixes the issue.
28+
- The toolbar icon is ugly. I'm a developer, not an artist. :P
29+
30+
## Credit
31+
32+
- Thank you to the PilotEdge team for their support during the development process and their blessing to release this add-on.
33+
- Thanks to [Felipe](https://github.com/bymaximus) for his [template project](https://github.com/bymaximus/msfs2020-toolbar-window-template) that gave me a running start on this project.
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
ingame-ui#PEHelper ui-element#PEHelperElement {
2+
display: flex;
3+
flex-direction: column;
4+
height: 100%;
5+
min-height: 100%;
6+
}
7+
8+
ingame-ui#PEHelper .pe-on {
9+
color: green;
10+
}
11+
12+
ingame-ui#PEHelper .pe-off {
13+
color: red;
14+
}
15+
16+
ingame-ui#PEHelper .pe-label {
17+
line-height: calc(var(--screenHeight) * (30px / 1080));
18+
vertical-align: middle;
19+
}
20+
21+
ingame-ui#PEHelper .pe-message {
22+
line-height: calc(var(--screenHeight) * (40px / 1080));
23+
vertical-align: middle;
24+
text-align: right;
25+
color: #dddddd;
26+
padding-top: var(--baseMargin);
27+
}
28+
29+
ingame-ui#PEHelper section {
30+
margin-bottom: calc(var(--screenHeight) * (6px / 2160));
31+
padding: var(--baseMargin);
32+
background: var(--backgroundColorPanel);
33+
display: flex;
34+
flex-direction: column;
35+
justify-content: center;
36+
}
37+
38+
ingame-ui#PEHelper .pe-user-grid {
39+
display: grid;
40+
grid-template-columns: 60% auto;
41+
grid-gap: calc(var(--screenHeight) * (15px / 2160));
42+
}
43+
44+
ingame-ui#PEHelper .pe-action-grid {
45+
display: grid;
46+
grid-template-columns: 50% auto;
47+
grid-gap: calc(var(--screenHeight) * (20px / 2160));
48+
}
49+
50+
ingame-ui#PEHelper .pe-atis-grid {
51+
display: grid;
52+
grid-template-columns: 70% auto;
53+
grid-gap: calc(var(--screenHeight) * (20px / 2160));
54+
padding-bottom: calc(var(--screenHeight) * (20px / 2160));
55+
}
56+
57+
ingame-ui#PEHelper .pe-atis-get {
58+
width: 100%;
59+
}
60+
61+
ingame-ui#PEHelper section#ATIS {
62+
flex: 1;
63+
display: flex;
64+
flex-direction: column;
65+
}
66+
67+
ingame-ui#PEHelper .pe-atis-frame {
68+
flex: 1;
69+
display: flex;
70+
flex-direction: column;
71+
height: 100%;
72+
min-height: 100%;
73+
}
74+
75+
ingame-ui#PEHelper .pe-atis-frame iframe {
76+
background-color: rgba(255, 255, 255, 0.5);
77+
width: 100% !important;
78+
overflow: scroll;
79+
height: 100%;
80+
flex: 1;
81+
}
82+
83+
ingame-ui#PEHelper .pe-error {
84+
color: red !important;
85+
}
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<head>
5+
<meta charset="utf-8" />
6+
<link rel="stylesheet" href="/SCSS/common.css" />
7+
<link rel="stylesheet" href="PEHelper.css" />
8+
9+
<script type="text/javascript" src="/JS/coherent.js"></script>
10+
<script type="text/javascript" src="/JS/common.js"></script>
11+
<script type="text/javascript" src="/JS/dataStorage.js"></script>
12+
<script type="text/javascript" src="/JS/buttons.js"></script>
13+
<script type="text/javascript" src="/JS/Services/ToolBarPanels.js"></script>
14+
<script type="text/javascript" src="/Pages/VCockpit/Instruments/Shared/BaseInstrument.js"></script>
15+
16+
<link rel="import" href="/templates/ingameUi/ingameUi.html" />
17+
<link rel="import" href="/templates/ingameUiHeader/ingameUiHeader.html" />
18+
<link rel="import" href="/templates/NewPushButton/NewPushButton.html" />
19+
<link rel="import" href="/templates/StatePushButton/StatePushButton.html" />
20+
<link rel="import" href="/templates/uiInput/uiInput.html" />
21+
22+
<script type="text/javascript" src="/JS/debug.js"></script>
23+
<script type="text/javascript" src="PEHelper.js"></script>
24+
</head>
25+
26+
<body class="border-box">
27+
<ingamepanel-pe-helper>
28+
<ingame-ui id="PEHelper" panel-id="PANEL_PEHELPER_PANEL" title="PE Helper" class="ingameUiFrame panelInvisible" content-fit="true">
29+
<ui-element id="PEHelperElement" auto-inside>
30+
<section id="User">
31+
<div class="pe-user-grid">
32+
<div class="pe-label">PilotEdge: <span class='pe-status pe-off'>Not Running</span></div>
33+
<state-push-button class='pe-connect-disconnect' title='Connect' titleChecked='Disconnect'></state-push-button>
34+
35+
<div class="pe-label">Callsign <span class='pe-callsign-validation pe-error'></span></div>
36+
<ui-input class="pe-callsign pe-validation-failed" type="text"></ui-input>
37+
38+
<div class="pe-label">Type Code <span class='pe-type-validation pe-error'></span></div>
39+
<ui-input class="pe-type" type="text"></ui-input>
40+
41+
<div class="pe-label">Airline Code <span class='pe-airline-validation pe-error'></span></div>
42+
<ui-input class="pe-airline" type="text"></ui-input>
43+
44+
<div class="pe-label">Livery <span class='pe-livery-validation pe-error'></span></div>
45+
<ui-input class="pe-livery" type="text"></ui-input>
46+
</div>
47+
48+
<div class="pe-message pe-error">The PilotEdge Client is not running!</div>
49+
</section>
50+
<section id="ATIS">
51+
<div class="pe-atis-grid">
52+
<div>
53+
<ui-input class="pe-atis-airport" type="text"></ui-input>
54+
</div>
55+
<!-- place in div to fix hover highlight -->
56+
<new-push-button class="pe-atis-get small" title="Get ATIS"></new-push-button>
57+
</div>
58+
59+
<div class="pe-atis-frame">
60+
<iframe class="pe-atis-frame"></iframe>
61+
</div>
62+
</section>
63+
<section id="Actions">
64+
<div class="pe-action-grid">
65+
<div class="pe-label">Mode C: <span class='pe-modec pe-off'>OFF</span></div>
66+
<state-push-button class='pe-ident' title='Ident' titleChecked='Ident'></state-push-button>
67+
</div>
68+
</section>
69+
</ui-element>
70+
</ingame-ui>
71+
</ingamepanel-pe-helper>
72+
</body>
73+
74+
</html>

0 commit comments

Comments
 (0)