Skip to content

Commit 1c89702

Browse files
committed
v0.43 Beta Test - Visual cue for altitude beep.
1 parent 2f034ff commit 1c89702

12 files changed

+38
-22
lines changed
2.53 KB
Binary file not shown.

PROJECT/GPS-PFD/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<link rel="icon" type="image/png" href="images/Icon_Small.png" />
1111
<title>GPS-PFD</title>
1212
<meta name="author" content="SAM TOKI STUDIO" />
13-
<meta name="version" content="v0.42 (2025/08/13) Beta Test. Since 2024/12/01." />
13+
<meta name="version" content="v0.43 (2025/08/22) Beta Test. Since 2024/12/01." />
1414
<meta name="description" content="利用 GPS 与加速计,在移动设备上模拟飞机驾驶舱的 PFD。" />
1515
<meta name="copyright" content="© 2025 SAM TOKI STUDIO" />
1616

@@ -3807,7 +3807,7 @@ <h4>音频</h4>
38073807
<legend>关于</legend>
38083808
<p>GPS-PFD</p>
38093809
<p>by SAM TOKI STUDIO</p>
3810-
<p>版本 v0.42 (<time datetime="2025-08-13" pubdate="pubdate">2025/08/13</time>) Beta Test<br />
3810+
<p>版本 v0.43 (<time datetime="2025-08-22" pubdate="pubdate">2025/08/22</time>) Beta Test<br />
38113811
始于 2024/12/01</p>
38123812
<p class="GreenText Hidden" id="Label_HelpPWANewVersionReady" inert="true">新版本已就绪,将在下次启动时生效。</p>
38133813
<ul class="CtrlGroup BelowParagraph">

PROJECT/GPS-PFD/script_ServiceWorker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// Declare variables
77
"use strict";
88
// Unsaved
9-
const CacheName = "GPS-PFD_v0.42";
9+
const CacheName = "GPS-PFD_v0.43";
1010

1111
// Listeners
1212
// Service worker (https://learn.microsoft.com/en-us/microsoft-edge/progressive-web-apps-chromium/how-to/#step-5---add-a-service-worker)

PROJECT/GPS-PFD/scripts/script.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// Declare variables
77
"use strict";
88
// Unsaved
9-
const CurrentVersion = 0.42,
9+
const CurrentVersion = 0.43,
1010
GeolocationAPIOptions = {
1111
enableHighAccuracy: true
1212
};
@@ -99,6 +99,7 @@
9999
Altitude: {
100100
Altitude: 0, TapeDisplay: 0, PreviousTapeDisplay: 0, BalloonDisplay: [0, 0, 0, 0, 0],
101101
Trend: 0, TrendDisplay: 0,
102+
BeepTimestamp: 0,
102103
RadioDisplay: 0,
103104
DecisionTimestamp: 0
104105
},
@@ -1186,6 +1187,11 @@
11861187
PFD0.Stats.Altitude.BalloonDisplay[4] = Math.trunc(PFD0.Stats.Altitude.BalloonDisplay[4] / 20) * 20;
11871188
}
11881189

1190+
// Altitude beep
1191+
if(IsMCPAltitudeReached() == true) {
1192+
PFD0.Stats.Altitude.BeepTimestamp = PFD0.Stats.ClockTime;
1193+
}
1194+
11891195
// Heading (Updated before speed because speed data relies on heading)
11901196
switch(true) {
11911197
case PFD.Heading.Mode == "GPS" && PFD0.Status.GPS.IsHeadingAvailable == true:

PROJECT/GPS-PFD/scripts/script_PFDDefaultPanel.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@
6868
ChangeText("Label_PFDDefaultPanelHeadingModeValue", Translate(PFD.Heading.Mode));
6969
ChangeText("Label_PFDDefaultPanelFlightMode", Translate(PFD.FlightMode.FlightMode));
7070
if(PFD0.Stats.ClockTime - PFD0.Stats.FlightModeTimestamp < 10000) {
71-
AddClass("Ctnr_PFDDefaultPanelFMA2", "ModeChanged");
71+
AddClass("Ctnr_PFDDefaultPanelFMA2", "Reminder");
7272
} else {
73-
RemoveClass("Ctnr_PFDDefaultPanelFMA2", "ModeChanged");
73+
RemoveClass("Ctnr_PFDDefaultPanelFMA2", "Reminder");
7474
}
7575

7676
// Attitude
@@ -394,6 +394,11 @@
394394
AlertSystemError("The value of ConvertUnit(PFD0.Stats.Altitude.TapeDisplay, \"Meter\", Subsystem.I18n.AltitudeUnit) \"" + ConvertUnit(PFD0.Stats.Altitude.TapeDisplay, "Meter", Subsystem.I18n.AltitudeUnit) + "\" in function RefreshDefaultPanel is invalid.");
395395
break;
396396
}
397+
if(PFD0.Stats.ClockTime - PFD0.Stats.Altitude.BeepTimestamp < 10000 && PFD0.Alert.Active.AltitudeWarning == "") {
398+
AddClass("Ctrl_PFDDefaultPanelAltitudeBalloonBalloon", "Reminder");
399+
} else {
400+
RemoveClass("Ctrl_PFDDefaultPanelAltitudeBalloonBalloon", "Reminder");
401+
}
397402
if(PFD0.Alert.Active.AltitudeWarning != "" && PFD0.Alert.Active.AltitudeWarning != "GlideSlope") {
398403
AddClass("Ctrl_PFDDefaultPanelAltitudeBalloonBalloon", "Warning");
399404
} else {

PROJECT/GPS-PFD/scripts/script_PFDHUDPanel.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@
3333
ChangeText("Label_PFDHUDPanelHeadingModeValue", Translate(PFD.Heading.Mode));
3434
ChangeText("Label_PFDHUDPanelFlightMode", Translate(PFD.FlightMode.FlightMode));
3535
if(PFD0.Stats.ClockTime - PFD0.Stats.FlightModeTimestamp < 10000) {
36-
AddClass("Ctnr_PFDHUDPanelFMA2", "ModeChanged");
36+
AddClass("Ctnr_PFDHUDPanelFMA2", "Reminder");
3737
} else {
38-
RemoveClass("Ctnr_PFDHUDPanelFMA2", "ModeChanged");
38+
RemoveClass("Ctnr_PFDHUDPanelFMA2", "Reminder");
3939
}
4040

4141
// Attitude
@@ -355,6 +355,11 @@
355355
AlertSystemError("The value of ConvertUnit(PFD0.Stats.Altitude.TapeDisplay, \"Meter\", Subsystem.I18n.AltitudeUnit) \"" + ConvertUnit(PFD0.Stats.Altitude.TapeDisplay, "Meter", Subsystem.I18n.AltitudeUnit) + "\" in function RefreshHUDPanel is invalid.");
356356
break;
357357
}
358+
if(PFD0.Stats.ClockTime - PFD0.Stats.Altitude.BeepTimestamp < 10000 && PFD0.Alert.Active.AltitudeWarning == "") {
359+
AddClass("Ctrl_PFDHUDPanelAltitudeBalloonBalloon", "Reminder");
360+
} else {
361+
RemoveClass("Ctrl_PFDHUDPanelAltitudeBalloonBalloon", "Reminder");
362+
}
358363
if(PFD0.Alert.Active.AltitudeWarning != "" && PFD0.Alert.Active.AltitudeWarning != "GlideSlope") {
359364
AddClass("Ctrl_PFDHUDPanelAltitudeBalloonBalloon", "Warning");
360365
} else {

PROJECT/GPS-PFD/styles/style.css

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -935,12 +935,12 @@
935935
}
936936

937937
/* Blink */
938-
#Ctnr_PFDDefaultPanel .ModeChanged {
938+
#Ctnr_PFDDefaultPanel .Reminder {
939939
background-color: #FFFFFF; box-shadow: 0 0 0 3px #00A000;
940940
color: #008000;
941-
animation: Anim_PFDDefaultPanelModeChanged 1000ms infinite ease-in-out;
941+
animation: Anim_PFDDefaultPanelReminder 1000ms infinite ease-in-out;
942942
}
943-
@keyframes Anim_PFDDefaultPanelModeChanged {
943+
@keyframes Anim_PFDDefaultPanelReminder {
944944
0%, 75%, 100% {
945945
box-shadow: none;
946946
}

PROJECT/GPS-PFD/styles/style_AtelierSophie2.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,11 +236,11 @@
236236
}
237237

238238
/* Blink */
239-
#Ctnr_PFDDefaultPanel .ModeChanged {
239+
#Ctnr_PFDDefaultPanel .Reminder {
240240
background-color: #E7DDD1; box-shadow: 0 0 0 3px #00A000;
241241
color: #00B400;
242242
}
243-
@keyframes Anim_PFDDefaultPanelModeChanged {
243+
@keyframes Anim_PFDDefaultPanelReminder {
244244
0%, 75%, 100% {
245245
box-shadow: none;
246246
}

PROJECT/GPS-PFD/styles/style_Dark.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,11 +236,11 @@
236236
}
237237

238238
/* Blink */
239-
#Ctnr_PFDDefaultPanel .ModeChanged {
239+
#Ctnr_PFDDefaultPanel .Reminder {
240240
background-color: #202020; box-shadow: 0 0 0 3px #00C000;
241241
color: #00E000;
242242
}
243-
@keyframes Anim_PFDDefaultPanelModeChanged {
243+
@keyframes Anim_PFDDefaultPanelReminder {
244244
0%, 75%, 100% {
245245
box-shadow: none;
246246
}

PROJECT/GPS-PFD/styles/style_Genshin.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,11 +236,11 @@
236236
}
237237

238238
/* Blink */
239-
#Ctnr_PFDDefaultPanel .ModeChanged {
239+
#Ctnr_PFDDefaultPanel .Reminder {
240240
background-color: #485267; box-shadow: 0 0 0 3px #00C000;
241241
color: #96D722;
242242
}
243-
@keyframes Anim_PFDDefaultPanelModeChanged {
243+
@keyframes Anim_PFDDefaultPanelReminder {
244244
0%, 75%, 100% {
245245
box-shadow: none;
246246
}

0 commit comments

Comments
 (0)