1
0
mirror of https://github.com/KubaPro010/fm-dx-webserver.git synced 2026-02-27 14:33:52 +01:00
This commit is contained in:
NoobishSVK
2024-02-19 21:49:20 +01:00
parent bc7a3ddf48
commit 2d59684c3f
5 changed files with 73 additions and 48 deletions

View File

@@ -138,6 +138,7 @@ function connectToXdrd() {
} }
if (authFlags.authMsg && authFlags.firstClient) { if (authFlags.authMsg && authFlags.firstClient) {
client.write('x\n');
client.write('T87500\n'); client.write('T87500\n');
client.write('A0\n'); client.write('A0\n');
client.write('G00\n'); client.write('G00\n');
@@ -223,9 +224,13 @@ app.get('/static_data', (req, res) => {
}); });
app.get('/server_time', (req, res) => { app.get('/server_time', (req, res) => {
const serverTime = new Date().toISOString(); /*const serverTime = new Date().toISOString(); // Get server time in ISO format
const serverTimezoneOffset = new Date().getTimezoneOffset(); // Get server timezone offset in minutes*/
const serverTime = new Date(); // Get current server time
const serverTimeUTC = new Date(serverTime.getTime() - (serverTime.getTimezoneOffset() * 60000)); // Adjust server time to UTC
res.json({ res.json({
serverTime serverTime: serverTimeUTC,
}); });
}); });
@@ -430,11 +435,15 @@ wss.on('connection', (ws, request) => {
httpServer.on('upgrade', (request, socket, head) => { httpServer.on('upgrade', (request, socket, head) => {
sessionMiddleware(request, {}, () => { if (request.url === '/text') {
wss.handleUpgrade(request, socket, head, (ws) => { sessionMiddleware(request, {}, () => {
wss.emit('connection', ws, request); wss.handleUpgrade(request, socket, head, (ws) => {
wss.emit('connection', ws, request);
});
}); });
}); } else {
socket.destroy();
}
}); });
/* Serving of HTML files */ /* Serving of HTML files */

View File

@@ -14,6 +14,8 @@
<meta property="og:image" content="favicon2.png"> <meta property="og:image" content="favicon2.png">
<meta property="og:description" content="Server description: <%= tunerDesc %>."> <meta property="og:description" content="Server description: <%= tunerDesc %>.">
<script src="js/init.js"></script>
<!-- 3LAS Scripts for Audio streaming --> <!-- 3LAS Scripts for Audio streaming -->
<script src="js/3las/util/3las.helpers.js"></script> <script src="js/3las/util/3las.helpers.js"></script>
<script src="js/3las/util/3las.logging.js"></script> <script src="js/3las/util/3las.logging.js"></script>

View File

@@ -150,7 +150,7 @@ var AudioFormatReader = /** @class */ (function () {
// Theoretical minimum is 2. // Theoretical minimum is 2.
// Recommended value is 3 or higher. // Recommended value is 3 or higher.
if (isAndroid) if (isAndroid)
settings["mpeg"]["MinDecodeFrames"] = 17; settings["mpeg"]["MinDecodeFrames"] = 3;
else else
settings["mpeg"]["MinDecodeFrames"] = 3; settings["mpeg"]["MinDecodeFrames"] = 3;
return settings; return settings;

18
web/js/init.js Normal file
View File

@@ -0,0 +1,18 @@
getInitialSettings();
function getInitialSettings() {
$.ajax({
url: './static_data',
dataType: 'json',
success: function (data) {
// Use the received data (data.qthLatitude, data.qthLongitude) as needed
localStorage.setItem('qthLatitude', data.qthLatitude);
localStorage.setItem('qthLongitude', data.qthLongitude);
localStorage.setItem('audioPort', data.audioPort);
localStorage.setItem('streamEnabled', data.streamEnabled);
},
error: function (error) {
console.error('Error:', error);
}
});
}

View File

@@ -24,7 +24,6 @@ $(document).ready(function () {
canvas.width = canvas.parentElement.clientWidth; canvas.width = canvas.parentElement.clientWidth;
canvas.height = canvas.parentElement.clientHeight; canvas.height = canvas.parentElement.clientHeight;
getInitialSettings();
// Start updating the canvas // Start updating the canvas
initCanvas(); initCanvas();
@@ -156,46 +155,44 @@ $(document).ready(function () {
}); });
}); });
function getInitialSettings() {
$.ajax({
url: './static_data',
dataType: 'json',
success: function (data) {
// Use the received data (data.qthLatitude, data.qthLongitude) as needed
localStorage.setItem('qthLatitude', data.qthLatitude);
localStorage.setItem('qthLongitude', data.qthLongitude);
localStorage.setItem('audioPort', data.audioPort);
localStorage.setItem('streamEnabled', data.streamEnabled);
},
error: function (error) {
console.error('Error:', error);
}
});
}
function getLocalizedTime(serverTime) {
const serverDate = new Date(serverTime);
// Format server time using options for local time formatting
const options = { year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', hour12: false };
const formattedServerTime = serverDate.toLocaleString(navigator.language ? navigator.language : 'en-US', options);
return formattedServerTime;
}
function getServerTime() { function getServerTime() {
$.ajax({ $.ajax({
url: './server_time', url: "/server_time",
dataType: 'json', dataType: "json",
success: function (data) { success: function(data) {
$('#server-time').text(getLocalizedTime(data.serverTime)); const serverTimeUtc = data.serverTime;
$('#client-time').text(getLocalizedTime(new Date()));
}, const options = {
error: function (error) { year: 'numeric',
console.error('Error:', error); month: 'short',
} day: 'numeric',
hour: '2-digit',
minute: '2-digit',
hour12: false
};
const serverOptions = {
...options,
timeZone: 'Etc/UTC' // Add timeZone only for server time
};
const formattedServerTime = new Date(serverTimeUtc).toLocaleString(navigator.language ? navigator.language : 'en-US', serverOptions);
$("#server-time").text(formattedServerTime);
// Get and format user's local time directly without specifying timeZone:
const localTime = new Date();
const formattedLocalTime = new Date(localTime).toLocaleString(navigator.language ? navigator.language : 'en-US', options);
// Display client time:
$("#client-time").text(formattedLocalTime);
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("Error fetching server time:", errorThrown);
// Handle error gracefully (e.g., display a fallback message)
}
}); });
} }
function sendPingRequest() { function sendPingRequest() {
const startTime = new Date().getTime(); const startTime = new Date().getTime();
@@ -596,7 +593,6 @@ function updateDataElements(parsedData) {
$('.data-st').html("<span class='opacity-half'>ST</span>"); $('.data-st').html("<span class='opacity-half'>ST</span>");
} }
} }
console.log(parsedData.st, parsedData.st_forced);
$('#data-rt0').html(processString(parsedData.rt0, parsedData.rt0_errors)); $('#data-rt0').html(processString(parsedData.rt0, parsedData.rt0_errors));
$('#data-rt1').html(processString(parsedData.rt1, parsedData.rt1_errors)); $('#data-rt1').html(processString(parsedData.rt1, parsedData.rt1_errors));