-
-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathIcomIc706SeriesDriver.cs
More file actions
46 lines (39 loc) · 1.38 KB
/
Copy pathIcomIc706SeriesDriver.cs
File metadata and controls
46 lines (39 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using OscarWatch.Core.Models;
namespace OscarWatch.Rig;
/// <summary>
/// IC-706 / IC-706MKII / IC-706MKIIG CI-V driver for dual-radio endpoints (one VFO per physical radio).
/// No dedicated satellite mode — dual layout uses VFO A only.
/// </summary>
public sealed class IcomIc706SeriesDriver : IcomCivDriverBase
{
public IcomIc706SeriesDriver(
RigType rigType,
string port,
int baudRate,
string civAddressHex,
int catDelayMs = 50)
: base(rigType, port, baudRate, civAddressHex, catDelayMs)
{
}
internal IcomIc706SeriesDriver(RigType rigType, IIcomCivTransport transport)
: base(rigType, transport)
{
}
public override bool SupportsTracking => true;
public override void SetSatelliteMode(bool on)
{
}
protected override RigVfo MapOperationalVfo(RigVfo vfo) =>
vfo is RigVfo.Main or RigVfo.Sub ? RigVfo.VfoA : vfo;
protected override bool IsFrequencyAllowedHz(long hz) => RigType switch
{
RigType.IcomIc706 or RigType.IcomIc706Mkii =>
hz is >= 1_800_000 and <= 54_000_000
or >= 144_000_000 and <= 148_000_000,
RigType.IcomIc706MkiiG =>
hz is >= 1_800_000 and <= 54_000_000
or >= 144_000_000 and <= 148_000_000
or >= 430_000_000 and <= 450_000_000,
_ => base.IsFrequencyAllowedHz(hz)
};
}