Skip to content

Commit 1cc669c

Browse files
committed
Get closest Mode and V-Bumb to 1.1.9beta
1 parent 785ec91 commit 1cc669c

File tree

3 files changed

+41
-9
lines changed

3 files changed

+41
-9
lines changed

main.js

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ if (!gotTheLock) {
252252
s_mainWindow.hide();
253253
}
254254
});
255-
if (process.platform === 'darwin') {
255+
if (app.isPackaged && (process.platform === 'darwin')) {
256256
app.dock.hide();
257257
}
258258
})
@@ -515,20 +515,52 @@ function startserver() {
515515
}
516516
}
517517

518+
518519
async function get_modes() {
519-
s_mainWindow.webContents.send('get_info','rig.get_modes');
520+
return new Promise((resolve) => {
521+
ipcMain.once('get_info_result', (event, modes) => {
522+
resolve(modes);
523+
});
524+
s_mainWindow.webContents.send('get_info', 'rig.get_modes');
525+
});
520526
}
527+
528+
function getClosestMode(requestedMode, availableModes) {
529+
if (availableModes.includes(requestedMode)) { // Check perfect matches
530+
return requestedMode;
531+
}
532+
533+
const modeFallbacks = {
534+
'CW': ['CW-L', 'CW-R', 'CW', 'LSB', 'USB'],
535+
'RTTY': ['RTTY', 'RTTY-R'],
536+
};
537+
538+
if (modeFallbacks[requestedMode]) {
539+
for (let variant of modeFallbacks[requestedMode]) {
540+
if (availableModes.includes(variant)) {
541+
return variant;
542+
}
543+
}
544+
}
545+
546+
const found = availableModes.find(mode =>
547+
mode.toUpperCase().startsWith(requestedMode.toUpperCase())
548+
);
549+
if (found) return found;
550+
return null;
551+
}
552+
521553
async function settrx(qrg, mode = '') {
522554
let avail_modes={};
523555
try {
524556
avail_modes=await get_modes();
525557
} catch(e) {
526-
avail_modes={};
527-
}
558+
avail_modes=[];
559+
}
528560
let to={};
529561
to.qrg=qrg;
530562
if (mode == 'cw') {
531-
to.mode='CW';
563+
to.mode=getClosestMode(mode,avail_modes);
532564
} else {
533565
if ((to.qrg) < 7999000) {
534566
to.mode='LSB';

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "Gateway for connecting WSJT-* and FLRig to Wavelog",
55
"keywords": [],
66
"main": "./main.js",
7-
"version": "1.1.8",
7+
"version": "1.1.9b",
88
"author": "DJ7NT",
99
"scripts": {
1010
"start": "electron-forge start",

renderer.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,10 +117,10 @@ $(document).ready(function() {
117117
resizeme(obj);
118118
});
119119

120-
ipcRenderer.on('get_info', (event, arg) => {
121-
const result = getInfo(arg);
120+
ipcRenderer.on('get_info', async (event, arg) => {
121+
const result = await getInfo(arg);
122122
ipcRenderer.send('get_info_result', result);
123-
}
123+
});
124124
});
125125

126126
async function load_config() {

0 commit comments

Comments
 (0)