1
0
mirror of https://github.com/KubaPro010/fm-dx-webserver.git synced 2026-02-26 14:11:59 +01:00

add auto bw, ceq, ims, stereo options to setup

This commit is contained in:
Amateur Audio Dude
2025-05-03 03:57:31 +10:00
committed by GitHub
parent fb8af10ce5
commit 3f79f7a0c7
3 changed files with 50 additions and 4 deletions

View File

@@ -146,6 +146,7 @@ router.get('/wizard', (req, res) => {
enabledPlugins: updatedConfig.plugins,
onlineUsers: dataHandler.dataToSend.users,
connectedUsers: storage.connectedUsers,
device: serverConfig.device,
banlist: updatedConfig.webserver.banlist // Updated banlist from the latest config
});
});

View File

@@ -188,7 +188,20 @@ if (serverConfig.xdrd.wirelessConnection === false) {
serialport.write('F-1\n');
serialport.write('W0\n');
serverConfig.webserver.rdsMode ? serialport.write('D1\n') : serialport.write('D0\n');
serialport.write('G00\n');
// cEQ and iMS combinations
if (serverConfig.ceqStartup === "0" && serverConfig.imsStartup === "0") {
serialport.write("G00\n"); // Both Disabled
} else if (serverConfig.ceqStartup === "1" && serverConfig.imsStartup === "0") {
serialport.write(`G10\n`);
} else if (serverConfig.ceqStartup === "0" && serverConfig.imsStartup === "1") {
serialport.write(`G01\n`);
} else if (serverConfig.ceqStartup === "1" && serverConfig.imsStartup === "1") {
serialport.write("G11\n"); // Both Enabled
}
// Handle stereo mode
if (serverConfig.stereoStartup === "1") {
serialport.write("B1\n"); // Mono
}
serverConfig.audio.startupVolume
? serialport.write('Y' + (serverConfig.audio.startupVolume * 100).toFixed(0) + '\n')
: serialport.write('Y100\n');
@@ -485,8 +498,32 @@ wss.on('connection', (ws, request) => {
if (currentUsers === 0) {
storage.connectedUsers = [];
output.write('W0\n');
output.write('B0\n');
if (serverConfig.bwAutoNoUsers === "1") {
output.write("W0\n"); // Auto BW 'Enabled'
}
// cEQ and iMS combinations
if (serverConfig.ceqNoUsers === "1" && serverConfig.imsNoUsers === "1") {
output.write("G00\n"); // Both Disabled
} else if (serverConfig.ceqNoUsers === "1" && serverConfig.imsNoUsers === "0") {
output.write(`G0${dataHandler.dataToSend.ims}\n`);
} else if (serverConfig.ceqNoUsers === "0" && serverConfig.imsNoUsers === "1") {
output.write(`G${dataHandler.dataToSend.eq}0\n`);
} else if (serverConfig.ceqNoUsers === "2" && serverConfig.imsNoUsers === "0") {
output.write(`G1${dataHandler.dataToSend.ims}\n`);
} else if (serverConfig.ceqNoUsers === "0" && serverConfig.imsNoUsers === "2") {
output.write(`G${dataHandler.dataToSend.eq}1\n`);
} else if (serverConfig.ceqNoUsers === "2" && serverConfig.imsNoUsers === "2") {
output.write("G11\n"); // Both Enabled
}
// Handle stereo mode
if (serverConfig.stereoNoUsers === "1") {
output.write("B0\n");
} else if (serverConfig.stereoNoUsers === "2") {
output.write("B1\n");
}
}
if (tunerLockTracker.has(ws)) {

View File

@@ -105,7 +105,15 @@ let serverConfig = {
autoShutdown: false,
enableDefaultFreq: false,
defaultFreq: "87.5",
bwSwitch: false
bwSwitch: false,
bwAutoStartup: "0",
bwAutoNoUsers: "0",
ceqStartup: "0",
ceqNoUsers: "0",
imsStartup: "0",
imsNoUsers: "0",
stereoStartup: "0",
stereoNoUsers: "0"
};
// Function to add missing fields without overwriting existing values