Standardize filter widths per mode; fix FM web filter/deviation

- LSB/USB: 5.0k–1.0k (unchanged)
- DSB: split into own group 16k–2.4k (was sharing AM filters)
- CWL/CWU: 1.0k 800 600 500 400 250 150 100 50 25 (removed 750, added 150)
- AM/SAM: 20k–5.0k (new wider range)
- Web FNP FM: now shows NFM/FM only (11k/16k), matching desktop
- Fix SyncWebFilter: FM array out-of-bounds; FFMDeviation now set on web filter select
- VfoOverlay: DSB separated from SSB with own quick-select values

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-18 21:14:29 +03:00
co-authored by Claude Sonnet 4.6
parent 68d05657e6
commit 87f449c737
3 changed files with 56 additions and 26 deletions
+11 -8
View File
@@ -252,15 +252,17 @@ begin
// FNP — фильтровый оверлей
'var FNP_N={ssb:["5.0k","4.4k","3.8k","3.3k","2.9k","2.7k","2.4k","2.1k","1.8k","1.0k"],' +
'cw:["1.0k","800","750","600","500","400","250","100","50","25"],' +
'am:["16k","12k","10k","8k","6.6k","5.2k","4.0k","3.1k","2.9k","2.4k"],' +
'fm:["20k","15k","12k","10k","8k","6k","5k","4k","3k","2k"]};' +
'dsb:["16k","12k","10k","8.0k","6.6k","5.2k","4.0k","3.1k","2.9k","2.4k"],' +
'cw:["1.0k","800","600","500","400","250","150","100","50","25"],' +
'am:["20k","18k","16k","12k","10k","9.0k","8.0k","7.0k","6.0k","5.0k"],' +
'fm:["NFM","FM"]};' +
'var FNP_BW={ssb:[5000,4400,3800,3300,2900,2700,2400,2100,1800,1000],' +
'cw:[1000,800,750,600,500,400,250,100,50,25],' +
'am:[16000,12000,10000,8000,6600,5200,4000,3100,2900,2400],' +
'fm:[20000,15000,12000,10000,8000,6000,5000,4000,3000,2000]};' +
'dsb:[16000,12000,10000,8000,6600,5200,4000,3100,2900,2400],' +
'cw:[1000,800,600,500,400,250,150,100,50,25],' +
'am:[20000,18000,16000,12000,10000,9000,8000,7000,6000,5000],' +
'fm:[11000,16000]};' +
'var fnpOv=null;' +
'function fnpGrp(){var m=cur.mode|0;return(m===3||m===4)?"cw":(m===5)?"fm":(m===2||m===6||m===7)?"am":"ssb";}' +
'function fnpGrp(){var m=cur.mode|0;return(m===3||m===4)?"cw":(m===5)?"fm":(m===2)?"dsb":(m===6||m===7)?"am":"ssb";}' +
'function closeFnp(){if(fnpOv){fnpOv.remove();fnpOv=null;}document.removeEventListener("click",fnpOutside);}' +
'function fnpOutside(e){if(fnpOv&&!fnpOv.contains(e.target)&&e.target!==q("fnpBtn"))closeFnp();}' +
'function showFnp(){' +
@@ -283,7 +285,8 @@ begin
'hd.appendChild(tl);hd.appendChild(xb);fnpOv.appendChild(hd);' +
// сетка кнопок
'var gd=document.createElement("div");' +
'gd.style.cssText="display:grid;grid-template-columns:repeat(5,1fr);gap:5px;";' +
'var cols=(g==="fm")?2:5;' +
'gd.style.cssText="display:grid;grid-template-columns:repeat("+cols+",1fr);gap:5px;";' +
'ns.forEach(function(n,i){' +
'var b=document.createElement("button"),act=bws[i]===cb;' +
'b.textContent=n;' +