kopia lustrzana https://github.com/dl2alf/AirScout
72 wiersze
1.9 KiB
C#
72 wiersze
1.9 KiB
C#
using ScoutBase.CAT;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Dynamic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace AirScout.CAT
|
|
{
|
|
public class RigSettings
|
|
{
|
|
// rig type name
|
|
public string Type { get; set; } = "";
|
|
public string Model { get; set; } = "";
|
|
|
|
// port settings
|
|
public string PortName { get; set; } = "";
|
|
public int Baudrate { get; set; } = 0;
|
|
public int DataBits { get; set; } = 0;
|
|
public PARITY Parity { get; set; } = PARITY.NONE;
|
|
public STOPBITS StopBits { get; set; } = STOPBITS.ONE;
|
|
public FLOWCONTROL RtsMode { get; set; } = FLOWCONTROL.LOW;
|
|
public FLOWCONTROL DtrMode { get; set; } = FLOWCONTROL.LOW;
|
|
|
|
// time settings
|
|
public int PollMs { get; set; } = 1000;
|
|
public int TimeoutMs { get; set; } = 5000;
|
|
|
|
|
|
}
|
|
|
|
// repesents an interface to a rig connected via CAT interface
|
|
// supports variuos kinds of connections
|
|
public interface IRig
|
|
{
|
|
|
|
// Rig
|
|
RigSettings Settings { get; set; }
|
|
CATENGINE CatEngine { get; }
|
|
string CatVersion { get; }
|
|
|
|
// rig status, read-only
|
|
RIGSTATUS GetStatus();
|
|
|
|
// get rig values
|
|
RIGMODE GetMode();
|
|
RIGSPLIT GetSplit();
|
|
RIGRIT GetRit();
|
|
RIGVFO GetVfo();
|
|
long GetRxFrequency();
|
|
long GetTxFrequency();
|
|
|
|
// set rig values
|
|
bool SetMode(RIGMODE mode);
|
|
bool SetSplit(RIGSPLIT split);
|
|
bool SetRit(RIGRIT rit);
|
|
bool SetVfo(RIGVFO vfo);
|
|
bool SetRxFrequency(long rx);
|
|
bool SetTxFrequency(long tx);
|
|
|
|
// rig capabilities
|
|
bool SetSimplexMode(long freq, RIGMODE mode = RIGMODE.NONE);
|
|
bool SetSplitMode(long rxfreq, long txfreq, RIGMODE mode = RIGMODE.NONE);
|
|
|
|
// doppler tracking
|
|
bool SetDopplerStrategy(DOPPLERSTRATEGY doppler);
|
|
bool EnterDoppler();
|
|
bool LeaveDoppler();
|
|
|
|
}
|
|
}
|