Rotor controller added

This commit is contained in:
darekper 2013-03-24 18:33:37 +01:00
parent 31ac34e152
commit 073d40b9c6
13 changed files with 3965 additions and 2767 deletions

View File

@ -4,10 +4,11 @@ Legend:
- bugfix - bugfix
-------------------- --------------------
1.5.5 1.5.5
+ experimental Rotor support (Darek, SP2MKI)
+ added option to choose if you want to remove separator from remarks text (default YES) + added option to choose if you want to remove separator from remarks text (default YES)
+ if the station is working up/down it's showed in bandmap next to the callsign (Darek, SP2MKI) + if the station is working up/down it's showed in bandmap next to the callsign (Darek, SP2MKI)
+ DXCC statistic in New QSO window now shows all type of cmf - Q,L and E (Darek, SP2MKI) + DXCC statistic in New QSO window now shows all type of cmf - Q,L and E (Darek, SP2MKI)
+ experimental DVK supprt (Darek, SP2MKI) + experimental DVK support (Darek, SP2MKI)
- Tune function didn't work witch cwdaemon - fixed (Darek, SP2MKI) - Tune function didn't work witch cwdaemon - fixed (Darek, SP2MKI)
- Mark QSL sent after export didn't work properly - fixed (export for QSL label printing) - Mark QSL sent after export didn't work properly - fixed (export for QSL label printing)

View File

@ -16,7 +16,7 @@
<AutoIncrementBuild Value="True"/> <AutoIncrementBuild Value="True"/>
<MinorVersionNr Value="3"/> <MinorVersionNr Value="3"/>
<RevisionNr Value="1"/> <RevisionNr Value="1"/>
<BuildNr Value="2066"/> <BuildNr Value="2069"/>
<StringTable ProductVersion="0.3.1.2026"/> <StringTable ProductVersion="0.3.1.2026"/>
</VersionInfo> </VersionInfo>
<BuildModes Count="1"> <BuildModes Count="1">
@ -80,7 +80,7 @@
<MinVersion Major="1" Minor="2" Release="1" Valid="True"/> <MinVersion Major="1" Minor="2" Release="1" Valid="True"/>
</Item10> </Item10>
</RequiredPackages> </RequiredPackages>
<Units Count="80"> <Units Count="81">
<Unit0> <Unit0>
<Filename Value="cqrlog.lpr"/> <Filename Value="cqrlog.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
@ -636,6 +636,13 @@
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="fQSLExpPref"/> <UnitName Value="fQSLExpPref"/>
</Unit79> </Unit79>
<Unit80>
<Filename Value="fRotControl.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="frmRotControl"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="fRotControl"/>
</Unit80>
</Units> </Units>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

View File

@ -17,7 +17,7 @@ uses
fPropagation,fSQLConsole,fCallAttachment,fEditDetails,fQSLViewer,fCWKeys, fPropagation,fSQLConsole,fCallAttachment,fEditDetails,fQSLViewer,fCWKeys,
fTestMain,fNewTestLog,fLogList,fSCP,fEditTestQSO,fKeysPref,fDBConnect,fNewLog, fTestMain,fNewTestLog,fLogList,fSCP,fEditTestQSO,fKeysPref,fDBConnect,fNewLog,
fRebuildMembStat,uVersion,fAbout,fChangelog,fBigSquareStat,feQSLDownload, fRebuildMembStat,uVersion,fAbout,fChangelog,fBigSquareStat,feQSLDownload,
feQSLUpload,fSOTAExport, fNewQSODefValues, fQSLExpPref; feQSLUpload,fSOTAExport, fNewQSODefValues, fQSLExpPref, fRotControl;
var var
Splash : TfrmSplash; Splash : TfrmSplash;
@ -51,6 +51,7 @@ begin
{$IFDEF NO_CONTEST} {$IFDEF NO_CONTEST}
Application.CreateForm(TfrmTestMain, frmTestMain); Application.CreateForm(TfrmTestMain, frmTestMain);
Application.CreateForm(TfrmSCP, frmSCP); Application.CreateForm(TfrmSCP, frmSCP);
Application.CreateForm(TfrmRotControl, frmRotControl);
{$ENDIF} {$ENDIF}
Splash.Update; Splash.Update;

View File

@ -328,7 +328,7 @@ var
implementation implementation
uses dUtils, dDXCC, fMain, fWorking, fUpgrade, fImportProgress, fNewQSO, dDXCluster, uMyIni, uses dUtils, dDXCC, fMain, fWorking, fUpgrade, fImportProgress, fNewQSO, dDXCluster, uMyIni,
fTRXControl, uVersion; fTRXControl, fRotControl, uVersion;
procedure TdmData.CheckForDatabases; procedure TdmData.CheckForDatabases;
var var
@ -675,6 +675,7 @@ begin
dmUtils.LoadBandsSettings; dmUtils.LoadBandsSettings;
frmTRXControl.InicializeRig; frmTRXControl.InicializeRig;
frmRotControl.InicializeRot;
PrepareBandMapDB; PrepareBandMapDB;
LoadClubsSettings; LoadClubsSettings;

View File

@ -30,6 +30,7 @@ const
AllowedChars = ['A'..'Z','a'..'z','0'..'9','/',',','.','?','!',' ',':','|','-','=','+','@','#','*', AllowedChars = ['A'..'Z','a'..'z','0'..'9','/',',','.','?','!',' ',':','|','-','=','+','@','#','*',
'%','_','(',')','$']; '%','_','(',')','$'];
empty_freq = '0.00000'; empty_freq = '0.00000';
empty_azimuth = '0.0';
cMaxModes = 38; cMaxModes = 38;
cModes: array [0..cMaxModes] of string = ('CW','SSB','AM','FM','RTTY','SSTV','PACTOR','PSK','ATV','CLOVER','GTOR','MTOR', cModes: array [0..cMaxModes] of string = ('CW','SSB','AM','FM','RTTY','SSTV','PACTOR','PSK','ATV','CLOVER','GTOR','MTOR',
'PSK31','HELL','MT63','QRSS','CWQ','BPSK31','MFSK','JT44','FSK44','WSJT','AMTOR', 'PSK31','HELL','MT63','QRSS','CWQ','BPSK31','MFSK','JT44','FSK44','WSJT','AMTOR',
@ -212,6 +213,7 @@ type
function DateInSOTAFormat(date : TDateTime) : String; function DateInSOTAFormat(date : TDateTime) : String;
function GetLocalUTCDelta : Double; function GetLocalUTCDelta : Double;
function GetRadioRigCtldCommandLine(radio : Word) : String; function GetRadioRigCtldCommandLine(radio : Word) : String;
function GetRotorRotCtldCommandLine(rotor : Word) : String;
function IgnoreFreq(kHz : String) : Boolean; function IgnoreFreq(kHz : String) : Boolean;
function HTMLEncode(const Data: string): string; function HTMLEncode(const Data: string): string;
end; end;
@ -3704,7 +3706,7 @@ begin
Result := '-m '+ cqrini.ReadString(section,'model','') + ' ' + Result := '-m '+ cqrini.ReadString(section,'model','') + ' ' +
'-r '+ cqrini.ReadString(section,'device','') + ' ' + '-r '+ cqrini.ReadString(section,'device','') + ' ' +
'-t '+ cqrini.ReadString(section,'RigCtldPort','4534') + ' '; '-t '+ cqrini.ReadString(section,'RigCtldPort','4532') + ' ';
Result := Result + cqrini.ReadString(section,'ExtraRigCtldArgs','') + ' '; Result := Result + cqrini.ReadString(section,'ExtraRigCtldArgs','') + ' ';
case cqrini.ReadInteger(section,'SerialSpeed',0) of case cqrini.ReadInteger(section,'SerialSpeed',0) of
@ -3792,6 +3794,110 @@ begin
end end
end; end;
function TdmUtils.GetRotorRotCtldCommandLine(rotor : Word) : String;
var
section : ShortString='';
arg : String='';
set_conf : String = '';
begin
section := 'ROT'+IntToStr(rotor);
if cqrini.ReadString(section,'model','') = '' then
begin
Result := '';
exit
end;
Result := '-m '+ cqrini.ReadString(section,'model','') + ' ' +
'-r '+ cqrini.ReadString(section,'device','') + ' ' +
'-t '+ cqrini.ReadString(section,'RotCtldPort','4533') + ' ';
Result := Result + cqrini.ReadString(section,'ExtraRotCtldArgs','') + ' ';
case cqrini.ReadInteger(section,'SerialSpeed',0) of
0 : arg := '';
1 : arg := '-s 1200 ';
2 : arg := '-s 2400 ';
3 : arg := '-s 4800 ';
4 : arg := '-s 9600 ';
5 : arg := '-s 144000 ';
6 : arg := '-s 19200 ';
7 : arg := '-s 38400 ';
8 : arg := '-s 57600 ';
9 : arg := '-s 115200 '
else
arg := ''
end; //case
Result := Result + arg;
case cqrini.ReadInteger(section,'DataBits',0) of
0 : arg := '';
1 : arg := 'data_bits=5';
2 : arg := 'data_bits=6';
3 : arg := 'data_bits=7';
4 : arg := 'data_bits=8';
5 : arg := 'data_bits=9'
else
arg := ''
end; //case
if arg<>'' then
set_conf := set_conf+arg+',';
if cqrini.ReadInteger(section,'StopBits',0) > 0 then
set_conf := set_conf+'stop_bits='+IntToStr(cqrini.ReadInteger(section,'StopBits',0)-1)+',';
case cqrini.ReadInteger(section,'Parity',0) of
0 : arg := '';
1 : arg := 'parity=None';
2 : arg := 'parity=Odd';
3 : arg := 'parity=Even';
4 : arg := 'parity=Mark';
5 : arg := 'parity=Space'
else
arg := ''
end; //case
if arg<>'' then
set_conf := set_conf+arg+',';
case cqrini.ReadInteger(section,'HandShake',0) of
0 : arg := '';
1 : arg := 'serial_handshake=None';
2 : arg := 'serial_handshake=XONXOFF';
3 : arg := 'serial_handshake=Hardware';
else
arg := ''
end; //case
if arg<>'' then
set_conf := set_conf+arg+',';
case cqrini.ReadInteger(section,'DTR',0) of
0 : arg := '';
1 : arg := 'dtr_state=Unset';
2 : arg := 'dtr_state=ON';
3 : arg := 'dtr_state=OFF';
else
arg := ''
end; //case
if arg<>'' then
set_conf := set_conf+arg+',';
case cqrini.ReadInteger(section,'RTS',0) of
0 : arg := '';
1 : arg := 'rts_state=Unset';
2 : arg := 'rts_state=ON';
3 : arg := 'rts_state=OFF';
else
arg := ''
end; //case
if arg<>'' then
set_conf := set_conf+arg+',';
if (set_conf<>'') then
begin
set_conf := copy(set_conf,1,Length(set_conf)-1);
Result := Result + ' --set-conf='+set_conf
end
end;
function TdmUtils.IgnoreFreq(kHz : String) : Boolean; function TdmUtils.IgnoreFreq(kHz : String) : Boolean;
var var
i : Integer; i : Integer;

View File

@ -1,12 +1,12 @@
object frmNewQSO: TfrmNewQSO object frmNewQSO: TfrmNewQSO
Left = 465 Left = 466
Height = 651 Height = 651
Top = 88 Top = 87
Width = 807 Width = 807
HelpType = htKeyword HelpType = htKeyword
HelpKeyword = 'help/index.html' HelpKeyword = 'help/index.html'
Caption = 'New QSO ... (CQRLOG for Linux)' Caption = 'New QSO ... (CQRLOG for Linux)'
ClientHeight = 631 ClientHeight = 628
ClientWidth = 807 ClientWidth = 807
Font.Height = 8 Font.Height = 8
Icon.Data = { Icon.Data = {
@ -127,8 +127,8 @@ object frmNewQSO: TfrmNewQSO
LCLVersion = '0.9.30.2' LCLVersion = '0.9.30.2'
object sbNewQSO: TStatusBar object sbNewQSO: TStatusBar
Left = 0 Left = 0
Height = 20 Height = 21
Top = 611 Top = 607
Width = 807 Width = 807
Panels = < Panels = <
item item
@ -148,7 +148,7 @@ object frmNewQSO: TfrmNewQSO
object Panel1: TPanel object Panel1: TPanel
Left = 0 Left = 0
Height = 499 Height = 499
Top = 112 Top = 108
Width = 807 Width = 807
Align = alBottom Align = alBottom
Caption = 'Panel1' Caption = 'Panel1'
@ -178,9 +178,9 @@ object frmNewQSO: TfrmNewQSO
TabOrder = 0 TabOrder = 0
object Label11: TLabel object Label11: TLabel
Left = 256 Left = 256
Height = 17 Height = 18
Top = 192 Top = 192
Width = 130 Width = 142
Caption = 'Comment to callsign:' Caption = 'Comment to callsign:'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -188,9 +188,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label10: TLabel object Label10: TLabel
Left = 112 Left = 112
Height = 17 Height = 18
Top = 55 Top = 55
Width = 30 Width = 34
Caption = 'QTH:' Caption = 'QTH:'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -198,9 +198,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label9: TLabel object Label9: TLabel
Left = 16 Left = 16
Height = 17 Height = 18
Top = 55 Top = 55
Width = 39 Width = 45
Caption = 'Name:' Caption = 'Name:'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -208,9 +208,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label8: TLabel object Label8: TLabel
Left = 448 Left = 448
Height = 17 Height = 18
Top = 8 Top = 8
Width = 46 Width = 52
Caption = 'My RST:' Caption = 'My RST:'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -218,9 +218,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label7: TLabel object Label7: TLabel
Left = 343 Left = 343
Height = 17 Height = 18
Top = 8 Top = 8
Width = 46 Width = 53
Caption = 'His RST:' Caption = 'His RST:'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -228,9 +228,9 @@ object frmNewQSO: TfrmNewQSO
end end
object lblCall: TLabel object lblCall: TLabel
Left = 16 Left = 16
Height = 17 Height = 18
Top = 8 Top = 8
Width = 28 Width = 30
Caption = 'Call:' Caption = 'Call:'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -238,9 +238,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label5: TLabel object Label5: TLabel
Left = 136 Left = 136
Height = 17 Height = 18
Top = 8 Top = 8
Width = 68 Width = 74
Caption = 'Frequency:' Caption = 'Frequency:'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -248,9 +248,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label4: TLabel object Label4: TLabel
Left = 234 Left = 234
Height = 17 Height = 18
Top = 8 Top = 8
Width = 39 Width = 44
Caption = 'Mode:' Caption = 'Mode:'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -258,9 +258,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label3: TLabel object Label3: TLabel
Left = 183 Left = 183
Height = 17 Height = 18
Top = 248 Top = 248
Width = 57 Width = 64
Caption = 'End time:' Caption = 'End time:'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -268,9 +268,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label2: TLabel object Label2: TLabel
Left = 108 Left = 108
Height = 17 Height = 18
Top = 248 Top = 248
Width = 66 Width = 73
Caption = 'Start time:' Caption = 'Start time:'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -278,9 +278,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label1: TLabel object Label1: TLabel
Left = 16 Left = 16
Height = 17 Height = 18
Top = 248 Top = 248
Width = 34 Width = 37
Caption = 'Date:' Caption = 'Date:'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -288,9 +288,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label15: TLabel object Label15: TLabel
Left = 258 Left = 258
Height = 17 Height = 18
Top = 55 Top = 55
Width = 30 Width = 34
Caption = 'GRID' Caption = 'GRID'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -298,9 +298,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label12: TLabel object Label12: TLabel
Left = 338 Left = 338
Height = 17 Height = 18
Top = 55 Top = 55
Width = 28 Width = 33
Caption = 'PWR' Caption = 'PWR'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -308,9 +308,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label18: TLabel object Label18: TLabel
Left = 405 Left = 405
Height = 17 Height = 18
Top = 55 Top = 55
Width = 38 Width = 43
Caption = 'QSL_S' Caption = 'QSL_S'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -318,9 +318,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label19: TLabel object Label19: TLabel
Left = 468 Left = 468
Height = 17 Height = 18
Top = 55 Top = 55
Width = 39 Width = 44
Caption = 'QSL_R' Caption = 'QSL_R'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -328,9 +328,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label13: TLabel object Label13: TLabel
Left = 16 Left = 16
Height = 17 Height = 18
Top = 99 Top = 99
Width = 20 Width = 23
Caption = 'ITU' Caption = 'ITU'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -338,9 +338,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label20: TLabel object Label20: TLabel
Left = 414 Left = 414
Height = 17 Height = 18
Top = 99 Top = 99
Width = 39 Width = 45
Caption = 'Award' Caption = 'Award'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -348,9 +348,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label21: TLabel object Label21: TLabel
Left = 12 Left = 12
Height = 17 Height = 18
Top = 147 Top = 147
Width = 58 Width = 64
Caption = 'DXCC ref.' Caption = 'DXCC ref.'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -358,9 +358,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label22: TLabel object Label22: TLabel
Left = 57 Left = 57
Height = 17 Height = 18
Top = 99 Top = 99
Width = 28 Width = 33
Caption = 'WAZ' Caption = 'WAZ'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -368,9 +368,9 @@ object frmNewQSO: TfrmNewQSO
end end
object lblIOTA: TLabel object lblIOTA: TLabel
Left = 127 Left = 127
Height = 17 Height = 18
Top = 99 Top = 99
Width = 29 Width = 33
Caption = 'IOTA' Caption = 'IOTA'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -378,9 +378,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label17: TLabel object Label17: TLabel
Left = 224 Left = 224
Height = 17 Height = 18
Top = 99 Top = 99
Width = 45 Width = 48
Caption = 'County' Caption = 'County'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -388,9 +388,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label23: TLabel object Label23: TLabel
Left = 111 Left = 111
Height = 17 Height = 18
Top = 147 Top = 147
Width = 111 Width = 122
Caption = 'Comment to QSO:' Caption = 'Comment to QSO:'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -398,9 +398,9 @@ object frmNewQSO: TfrmNewQSO
end end
object lblQSLVia: TLabel object lblQSLVia: TLabel
Left = 419 Left = 419
Height = 17 Height = 18
Top = 147 Top = 147
Width = 49 Width = 55
Caption = 'QSL VIA' Caption = 'QSL VIA'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -408,9 +408,9 @@ object frmNewQSO: TfrmNewQSO
end end
object lblQSOTakes: TLabel object lblQSOTakes: TLabel
Left = 12 Left = 12
Height = 17 Height = 18
Top = 303 Top = 303
Width = 68 Width = 74
Caption = 'QSO takes ' Caption = 'QSO takes '
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
@ -418,9 +418,9 @@ object frmNewQSO: TfrmNewQSO
end end
object lblQSLMgr: TLabel object lblQSLMgr: TLabel
Left = 406 Left = 406
Height = 17 Height = 18
Top = 191 Top = 191
Width = 123 Width = 137
Caption = 'QSL manager found!' Caption = 'QSL manager found!'
Font.Color = clRed Font.Color = clRed
ParentColor = False ParentColor = False
@ -429,9 +429,9 @@ object frmNewQSO: TfrmNewQSO
end end
object Label25: TLabel object Label25: TLabel
Left = 344 Left = 344
Height = 17 Height = 18
Top = 99 Top = 99
Width = 35 Width = 37
Caption = 'State' Caption = 'State'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -439,9 +439,9 @@ object frmNewQSO: TfrmNewQSO
end end
object lblCfmLoTW: TLabel object lblCfmLoTW: TLabel
Left = 12 Left = 12
Height = 17 Height = 18
Top = 199 Top = 199
Width = 147 Width = 164
Caption = 'QSO confirmed by LoTW' Caption = 'QSO confirmed by LoTW'
Font.Color = clRed Font.Color = clRed
ParentColor = False ParentColor = False
@ -450,9 +450,9 @@ object frmNewQSO: TfrmNewQSO
end end
object lblQSLRcvdDate: TLabel object lblQSLRcvdDate: TLabel
Left = 95 Left = 95
Height = 17 Height = 18
Top = 226 Top = 226
Width = 76 Width = 83
Caption = 'QSL rcvd on ' Caption = 'QSL rcvd on '
Font.Color = clRed Font.Color = clRed
ParentColor = False ParentColor = False
@ -1011,9 +1011,9 @@ object frmNewQSO: TfrmNewQSO
TabOrder = 26 TabOrder = 26
object cbOffline: TCheckBox object cbOffline: TCheckBox
Left = -3 Left = -3
Height = 26 Height = 24
Top = 4 Top = 4
Width = 53 Width = 51
Caption = 'Offline' Caption = 'Offline'
OnChange = cbOfflineChange OnChange = cbOfflineChange
TabOrder = 0 TabOrder = 0
@ -1103,9 +1103,9 @@ object frmNewQSO: TfrmNewQSO
end end
object chkAutoMode: TCheckBox object chkAutoMode: TCheckBox
Left = 277 Left = 277
Height = 26 Height = 24
Top = 4 Top = 4
Width = 50 Width = 48
Caption = 'AUTO' Caption = 'AUTO'
Checked = True Checked = True
OnChange = chkAutoModeChange OnChange = chkAutoModeChange
@ -1213,14 +1213,14 @@ object frmNewQSO: TfrmNewQSO
Width = 548 Width = 548
Align = alBottom Align = alBottom
Caption = 'DXCC stat.' Caption = 'DXCC stat.'
ClientHeight = 109 ClientHeight = 122
ClientWidth = 544 ClientWidth = 544
Font.Color = clBlue Font.Color = clBlue
ParentFont = False ParentFont = False
TabOrder = 1 TabOrder = 1
object sgrdStatistic: TStringGrid object sgrdStatistic: TStringGrid
Left = 0 Left = 0
Height = 109 Height = 122
Top = 0 Top = 0
Width = 544 Width = 544
Align = alClient Align = alClient
@ -1255,7 +1255,7 @@ object frmNewQSO: TfrmNewQSO
Top = 255 Top = 255
Width = 240 Width = 240
Caption = ' Callbook (qrz.com) ' Caption = ' Callbook (qrz.com) '
ClientHeight = 139 ClientHeight = 152
ClientWidth = 236 ClientWidth = 236
Font.Color = clBlue Font.Color = clBlue
ParentFont = False ParentFont = False
@ -1276,151 +1276,151 @@ object frmNewQSO: TfrmNewQSO
Top = -3 Top = -3
Width = 240 Width = 240
Caption = 'DXCC info' Caption = 'DXCC info'
ClientHeight = 220 ClientHeight = 233
ClientWidth = 236 ClientWidth = 236
Font.Color = clBlue Font.Color = clBlue
ParentFont = False ParentFont = False
TabOrder = 1 TabOrder = 1
object Label26: TLabel object Label26: TLabel
Left = 1 Left = 1
Height = 17 Height = 18
Top = 3 Top = 3
Width = 53 Width = 58
Caption = 'Country:' Caption = 'Country:'
ParentColor = False ParentColor = False
end end
object Label27: TLabel object Label27: TLabel
Left = 124 Left = 124
Height = 17 Height = 18
Top = 89 Top = 89
Width = 38 Width = 42
Caption = 'DXCC:' Caption = 'DXCC:'
ParentColor = False ParentColor = False
end end
object Label28: TLabel object Label28: TLabel
Left = 8 Left = 8
Height = 17 Height = 18
Top = 72 Top = 72
Width = 31 Width = 37
Caption = 'WAZ:' Caption = 'WAZ:'
ParentColor = False ParentColor = False
end end
object Label29: TLabel object Label29: TLabel
Left = 17 Left = 17
Height = 17 Height = 18
Top = 89 Top = 89
Width = 23 Width = 27
Caption = 'ITU:' Caption = 'ITU:'
ParentColor = False ParentColor = False
end end
object Label30: TLabel object Label30: TLabel
Left = 129 Left = 129
Height = 17 Height = 18
Top = 73 Top = 73
Width = 34 Width = 37
Caption = 'Cont:' Caption = 'Cont:'
ParentColor = False ParentColor = False
end end
object lblWAZ: TLabel object lblWAZ: TLabel
Left = 48 Left = 48
Height = 17 Height = 18
Top = 73 Top = 73
Width = 28 Width = 31
Caption = 'AAA' Caption = 'AAA'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object lblITU: TLabel object lblITU: TLabel
Left = 48 Left = 48
Height = 17 Height = 18
Top = 89 Top = 89
Width = 28 Width = 31
Caption = 'AAA' Caption = 'AAA'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object lblDXCC: TLabel object lblDXCC: TLabel
Left = 169 Left = 169
Height = 17 Height = 18
Top = 89 Top = 89
Width = 28 Width = 31
Caption = 'AAA' Caption = 'AAA'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object lblCont: TLabel object lblCont: TLabel
Left = 169 Left = 169
Height = 17 Height = 18
Top = 73 Top = 73
Width = 28 Width = 31
Caption = 'AAA' Caption = 'AAA'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object Label31: TLabel object Label31: TLabel
Left = 16 Left = 16
Height = 17 Height = 18
Top = 105 Top = 105
Width = 25 Width = 29
Caption = 'LAT:' Caption = 'LAT:'
ParentColor = False ParentColor = False
end end
object Label32: TLabel object Label32: TLabel
Left = 122 Left = 122
Height = 17 Height = 18
Top = 105 Top = 105
Width = 38 Width = 44
Caption = 'LONG:' Caption = 'LONG:'
ParentColor = False ParentColor = False
end end
object lblLat: TLabel object lblLat: TLabel
Left = 48 Left = 48
Height = 17 Height = 18
Top = 105 Top = 105
Width = 28 Width = 31
Caption = 'AAA' Caption = 'AAA'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object lblLong: TLabel object lblLong: TLabel
Left = 169 Left = 169
Height = 17 Height = 18
Top = 105 Top = 105
Width = 28 Width = 31
Caption = 'AAA' Caption = 'AAA'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object Label33: TLabel object Label33: TLabel
Left = 6 Left = 6
Height = 17 Height = 18
Top = 122 Top = 122
Width = 32 Width = 38
Caption = 'DIST.:' Caption = 'DIST.:'
ParentColor = False ParentColor = False
end end
object lblQRA: TLabel object lblQRA: TLabel
Left = 48 Left = 48
Height = 17 Height = 18
Top = 122 Top = 122
Width = 28 Width = 31
Caption = 'AAA' Caption = 'AAA'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object Label34: TLabel object Label34: TLabel
Left = 126 Left = 126
Height = 17 Height = 18
Top = 122 Top = 122
Width = 34 Width = 40
Caption = 'AZIM:' Caption = 'AZIM:'
ParentColor = False ParentColor = False
end end
object lblAzi: TLabel object lblAzi: TLabel
Left = 169 Left = 169
Height = 17 Height = 18
Top = 122 Top = 122
Width = 28 Width = 31
Caption = 'AAA' Caption = 'AAA'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
@ -1437,9 +1437,9 @@ object frmNewQSO: TfrmNewQSO
end end
object lblGreeting: TLabel object lblGreeting: TLabel
Left = 169 Left = 169
Height = 17 Height = 18
Top = 166 Top = 166
Width = 42 Width = 48
Caption = 'GE/GM' Caption = 'GE/GM'
Font.Color = clRed Font.Color = clRed
ParentColor = False ParentColor = False
@ -1604,45 +1604,45 @@ object frmNewQSO: TfrmNewQSO
end end
object lblLocSunRise: TLabel object lblLocSunRise: TLabel
Left = 49 Left = 49
Height = 17 Height = 18
Top = 209 Top = 209
Width = 85 Width = 94
Caption = 'lblLocSunRise' Caption = 'lblLocSunRise'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object lblLocSunSet: TLabel object lblLocSunSet: TLabel
Left = 169 Left = 169
Height = 17 Height = 18
Top = 209 Top = 209
Width = 81 Width = 88
Caption = 'lblLocSunSet' Caption = 'lblLocSunSet'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object lblTarSunRise: TLabel object lblTarSunRise: TLabel
Left = 46 Left = 46
Height = 17 Height = 18
Top = 141 Top = 141
Width = 81 Width = 91
Caption = 'lblTarSunRise' Caption = 'lblTarSunRise'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object lblTarSunSet: TLabel object lblTarSunSet: TLabel
Left = 167 Left = 167
Height = 17 Height = 18
Top = 141 Top = 141
Width = 77 Width = 85
Caption = 'lblTarSunSet' Caption = 'lblTarSunSet'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object Label14: TLabel object Label14: TLabel
Left = 8 Left = 8
Height = 17 Height = 18
Top = 185 Top = 185
Width = 37 Width = 41
Caption = 'Local:' Caption = 'Local:'
ParentColor = False ParentColor = False
end end
@ -1689,18 +1689,18 @@ object frmNewQSO: TfrmNewQSO
TabOrder = 2 TabOrder = 2
object lblQSONr: TLabel object lblQSONr: TLabel
Left = 63 Left = 63
Height = 17 Height = 18
Top = 9 Top = 9
Width = 8 Width = 9
Caption = '0' Caption = '0'
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object Label24: TLabel object Label24: TLabel
Left = 7 Left = 7
Height = 17 Height = 18
Top = 9 Top = 9
Width = 45 Width = 51
Caption = 'QSO nr.' Caption = 'QSO nr.'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
@ -1708,9 +1708,9 @@ object frmNewQSO: TfrmNewQSO
end end
object lblCountryInfo: TLabel object lblCountryInfo: TLabel
Left = 567 Left = 567
Height = 17 Height = 18
Top = 8 Top = 8
Width = 22 Width = 25
Alignment = taRightJustify Alignment = taRightJustify
Caption = 'aaa' Caption = 'aaa'
Font.Color = clRed Font.Color = clRed
@ -1719,9 +1719,9 @@ object frmNewQSO: TfrmNewQSO
end end
object lblAmbiguous: TLabel object lblAmbiguous: TLabel
Left = 701 Left = 701
Height = 17 Height = 18
Top = 8 Top = 8
Width = 107 Width = 120
Caption = 'Ambiguous prefix' Caption = 'Ambiguous prefix'
Font.Color = clRed Font.Color = clRed
ParentColor = False ParentColor = False
@ -1730,16 +1730,16 @@ object frmNewQSO: TfrmNewQSO
end end
object Label6: TLabel object Label6: TLabel
Left = 86 Left = 86
Height = 17 Height = 18
Top = 9 Top = 9
Width = 80 Width = 88
Caption = 'QTH profile: ' Caption = 'QTH profile: '
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
end end
object cmbProfiles: TComboBox object cmbProfiles: TComboBox
Left = 175 Left = 175
Height = 22 Height = 29
Top = 3 Top = 3
Width = 325 Width = 325
ItemHeight = 0 ItemHeight = 0
@ -1752,7 +1752,7 @@ object frmNewQSO: TfrmNewQSO
end end
object dbgrdQSOBefore: TDBGrid object dbgrdQSOBefore: TDBGrid
Left = 0 Left = 0
Height = 112 Height = 108
Top = 0 Top = 0
Width = 807 Width = 807
Align = alClient Align = alClient
@ -1782,8 +1782,8 @@ object frmNewQSO: TfrmNewQSO
object tmrRadio: TTimer object tmrRadio: TTimer
Enabled = False Enabled = False
OnTimer = tmrRadioTimer OnTimer = tmrRadioTimer
left = 336 left = 320
top = 528 top = 552
end end
object MainMenu1: TMainMenu object MainMenu1: TMainMenu
Images = imgMain1 Images = imgMain1
@ -1913,6 +1913,7 @@ object frmNewQSO: TfrmNewQSO
end end
object MenuItem78: TMenuItem object MenuItem78: TMenuItem
Action = acRefreshTRX Action = acRefreshTRX
Caption = 'Refresh TRX/ROT control'
end end
object MenuItem36: TMenuItem object MenuItem36: TMenuItem
Caption = '-' Caption = '-'
@ -2087,6 +2088,9 @@ object frmNewQSO: TfrmNewQSO
object MenuItem34: TMenuItem object MenuItem34: TMenuItem
Action = acSCP Action = acSCP
end end
object MenuItem37: TMenuItem
Action = acRotControl
end
end end
object MenuItem3: TMenuItem object MenuItem3: TMenuItem
Caption = 'Statistics' Caption = 'Statistics'
@ -2685,6 +2689,11 @@ object frmNewQSO: TfrmNewQSO
OnExecute = acTuneExecute OnExecute = acTuneExecute
ShortCut = 16468 ShortCut = 16468
end end
object acRotControl: TAction
Category = 'Window'
Caption = 'Rotor Control'
OnExecute = acRotControlExecute
end
end end
object imgMain: TImageList object imgMain: TImageList
left = 200 left = 200
@ -3975,4 +3984,10 @@ object frmNewQSO: TfrmNewQSO
left = 96 left = 96
top = 544 top = 544
end end
object tmrRotor: TTimer
Enabled = False
Interval = 500
left = 400
top = 552
end
end end

File diff suppressed because it is too large Load Diff

View File

@ -56,6 +56,7 @@ type
acBigSquare: TAction; acBigSquare: TAction;
acSendSpot : TAction; acSendSpot : TAction;
acSCP : TAction; acSCP : TAction;
acRotControl: TAction;
acTune : TAction; acTune : TAction;
chkAutoMode: TCheckBox; chkAutoMode: TCheckBox;
dbgrdQSOBefore: TDBGrid; dbgrdQSOBefore: TDBGrid;
@ -65,6 +66,7 @@ type
MenuItem34 : TMenuItem; MenuItem34 : TMenuItem;
MenuItem35 : TMenuItem; MenuItem35 : TMenuItem;
MenuItem36 : TMenuItem; MenuItem36 : TMenuItem;
MenuItem37: TMenuItem;
MenuItem4 : TMenuItem; MenuItem4 : TMenuItem;
MenuItem54: TMenuItem; MenuItem54: TMenuItem;
MenuItem55: TMenuItem; MenuItem55: TMenuItem;
@ -268,6 +270,7 @@ type
tmrFldigi: TTimer; tmrFldigi: TTimer;
tmrESC: TTimer; tmrESC: TTimer;
tmrRadio: TTimer; tmrRadio: TTimer;
tmrRotor: TTimer;
tmrEnd: TTimer; tmrEnd: TTimer;
tmrStart: TTimer; tmrStart: TTimer;
procedure acBigSquareExecute(Sender: TObject); procedure acBigSquareExecute(Sender: TObject);
@ -275,6 +278,7 @@ type
procedure acOpenLogExecute(Sender: TObject); procedure acOpenLogExecute(Sender: TObject);
procedure acPropExecute(Sender: TObject); procedure acPropExecute(Sender: TObject);
procedure acRefreshTRXExecute(Sender: TObject); procedure acRefreshTRXExecute(Sender: TObject);
procedure acRotControlExecute(Sender: TObject);
procedure acSCPExecute(Sender : TObject); procedure acSCPExecute(Sender : TObject);
procedure acSendSpotExecute(Sender : TObject); procedure acSendSpotExecute(Sender : TObject);
procedure acShowStatBarExecute(Sender: TObject); procedure acShowStatBarExecute(Sender: TObject);
@ -552,6 +556,7 @@ var
c_ErrMsg : String; c_ErrMsg : String;
c_SyncText : String; c_SyncText : String;
c_running : Boolean = False; c_running : Boolean = False;
Azimuth : String;
minimalize : Boolean; minimalize : Boolean;
MinDXCluster : Boolean; MinDXCluster : Boolean;
@ -569,7 +574,7 @@ uses dUtils, fChangeLocator, dDXCC, dDXCluster, dData, fMain, fSelectDXCC, fGray
fQSODetails, fWAZITUStat, fIOTAStat, fGraphStat, fImportProgress, fBandMap, fQSODetails, fWAZITUStat, fIOTAStat, fGraphStat, fImportProgress, fBandMap,
fLongNote, fRefCall, fKeyTexts, fCWType, fExportProgress, fPropagation, fCallAttachment, fLongNote, fRefCall, fKeyTexts, fCWType, fExportProgress, fPropagation, fCallAttachment,
fQSLViewer, fCWKeys,{ fTestMain,} uMyIni, fDBConnect, fAbout, uVersion, fChangelog, fQSLViewer, fCWKeys,{ fTestMain,} uMyIni, fDBConnect, fAbout, uVersion, fChangelog,
fBigSquareStat, fSCP; fBigSquareStat, fSCP, fRotControl;
procedure TQSLTabThread.Execute; procedure TQSLTabThread.Execute;
var var
@ -1068,6 +1073,12 @@ begin
frmTRXControl.BringToFront frmTRXControl.BringToFront
end; end;
if cqrini.ReadBool('Window','ROT',False) then
begin
frmRotControl.Show;
frmRotControl.BringToFront
end;
if cqrini.ReadBool('Window','Dxcluster',False) then if cqrini.ReadBool('Window','Dxcluster',False) then
begin begin
frmDXCluster.Show; frmDXCluster.Show;
@ -1085,6 +1096,17 @@ begin
tmrRadio.Interval := cqrini.ReadInteger('TRX1','Poll',500) tmrRadio.Interval := cqrini.ReadInteger('TRX1','Poll',500)
end; end;
if frmRotControl.Showing then
begin
if frmRotControl.rbRotor1.Checked then
tmrRotor.Interval := cqrini.ReadInteger('ROT1','Poll',500)
else
tmrRotor.Interval := cqrini.ReadInteger('ROT2','Poll',500)
end
else begin
tmrRotor.Interval := cqrini.ReadInteger('ROT1','Poll',500)
end;
if cqrini.ReadBool('Window','Details',True) and (not dmData.ContestMode) then if cqrini.ReadBool('Window','Details',True) and (not dmData.ContestMode) then
begin begin
frmQSODetails.Show; frmQSODetails.Show;
@ -1191,6 +1213,14 @@ begin
else else
cqrini.WriteBool('Window','TRX',False); cqrini.WriteBool('Window','TRX',False);
if frmRotControl.Showing then
begin
frmRotControl.Close;
cqrini.WriteBool('Window','ROT',True)
end
else
cqrini.WriteBool('Window','ROT',False);
if frmDXCluster.Showing then if frmDXCluster.Showing then
begin begin
frmDXCluster.Close; frmDXCluster.Close;
@ -2936,7 +2966,14 @@ end;
procedure TfrmNewQSO.acRefreshTRXExecute(Sender: TObject); procedure TfrmNewQSO.acRefreshTRXExecute(Sender: TObject);
begin begin
frmTRXControl.InicializeRig; frmTRXControl.InicializeRig;
tmrRadio.Enabled := True tmrRadio.Enabled := True;
frmRotControl.InicializeRot;
tmrRotor.Enabled := True
end;
procedure TfrmNewQSO.acRotControlExecute(Sender: TObject);
begin
frmRotControl.Show
end; end;
procedure TfrmNewQSO.acSCPExecute(Sender : TObject); procedure TfrmNewQSO.acSCPExecute(Sender : TObject);
@ -4430,6 +4467,7 @@ begin
begin begin
lblQRA.Caption := qra + ' km'; lblQRA.Caption := qra + ' km';
lblAzi.Caption := azim; lblAzi.Caption := azim;
Azimuth := azim;
end; end;
end; end;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -18,7 +18,7 @@ interface
uses uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ComCtrls, Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ComCtrls,
ExtCtrls, StdCtrls, Buttons, inifiles, DB, process, Spin, ColorBox, lcltype, ExtCtrls, StdCtrls, Buttons, inifiles, DB, process, Spin, ColorBox, lcltype,
uCWKeying; uCWKeying, types;
type type
@ -113,6 +113,8 @@ type
cb60m: TCheckBox; cb60m: TCheckBox;
cb30cm: TCheckBox; cb30cm: TCheckBox;
chkIgnoreBandFreq : TCheckBox; chkIgnoreBandFreq : TCheckBox;
chkRot1RunRotCtld: TCheckBox;
chkRot2RunRotCtld: TCheckBox;
chkShowDxcCountry : TCheckBox; chkShowDxcCountry : TCheckBox;
chkClearNewQSOFreq : TCheckBox; chkClearNewQSOFreq : TCheckBox;
chkClearRIT : TCheckBox; chkClearRIT : TCheckBox;
@ -400,14 +402,26 @@ type
clboxNewIOTA: TColorBox; clboxNewIOTA: TColorBox;
clBoxQSLITU: TColorBox; clBoxQSLITU: TColorBox;
cmbDataBitsR2: TComboBox; cmbDataBitsR2: TComboBox;
cmbDataBitsRot1: TComboBox;
cmbDataBitsRot2: TComboBox;
cmbDTRR1: TComboBox; cmbDTRR1: TComboBox;
cmbDTRRot1: TComboBox;
cmbDTRRot2: TComboBox;
cmbHanshakeRot1: TComboBox;
cmbHanshakeRot2: TComboBox;
cmbParityRot1: TComboBox;
cmbParityRot2: TComboBox;
cmbRTSR1: TComboBox; cmbRTSR1: TComboBox;
cmbDTRR2: TComboBox; cmbDTRR2: TComboBox;
cmbRTSR2: TComboBox; cmbRTSR2: TComboBox;
cmbHanshakeR2: TComboBox; cmbHanshakeR2: TComboBox;
cmbParityR2: TComboBox; cmbParityR2: TComboBox;
cmbRTSRot1: TComboBox;
cmbRTSRot2: TComboBox;
cmbSpeedR1: TComboBox; cmbSpeedR1: TComboBox;
cmbSpeedR2: TComboBox; cmbSpeedR2: TComboBox;
cmbSpeedRot1: TComboBox;
cmbSpeedRot2: TComboBox;
cmbStopBitsR1: TComboBox; cmbStopBitsR1: TComboBox;
cmbDefaultMode: TComboBox; cmbDefaultMode: TComboBox;
cmbDefaultMode1: TComboBox; cmbDefaultMode1: TComboBox;
@ -417,6 +431,8 @@ type
cmbQSL_S: TComboBox; cmbQSL_S: TComboBox;
cmbSecondSaveTo: TComboBox; cmbSecondSaveTo: TComboBox;
cmbStopBitsR2: TComboBox; cmbStopBitsR2: TComboBox;
cmbStopBitsRot1: TComboBox;
cmbStopBitsRot2: TComboBox;
cmbThirdSaveTo: TComboBox; cmbThirdSaveTo: TComboBox;
cmbSecondZip: TComboBox; cmbSecondZip: TComboBox;
cmbSecondClub: TComboBox; cmbSecondClub: TComboBox;
@ -448,16 +464,28 @@ type
edtFreqChange : TEdit; edtFreqChange : TEdit;
edtPoll1: TEdit; edtPoll1: TEdit;
edtPoll2: TEdit; edtPoll2: TEdit;
edtRot1Poll: TEdit;
edtRot2Poll: TEdit;
edtR1Device: TEdit; edtR1Device: TEdit;
edtRot1Device: TEdit;
edtRot1Host: TEdit;
edtRot1RotCtldArgs: TEdit;
edtRot1RotCtldPort: TEdit;
edtR2Device: TEdit; edtR2Device: TEdit;
edtR1Host: TEdit; edtR1Host: TEdit;
edtRot2Device: TEdit;
edtR2Host: TEdit; edtR2Host: TEdit;
edtR1RigCtldArgs: TEdit; edtR1RigCtldArgs: TEdit;
edtRot2Host: TEdit;
edtR2RigCtldArgs: TEdit; edtR2RigCtldArgs: TEdit;
edtR1RigCtldPort: TEdit; edtR1RigCtldPort: TEdit;
edtRot2RotCtldArgs: TEdit;
edtR2RigCtldPort: TEdit; edtR2RigCtldPort: TEdit;
edtRot2RotCtldPort: TEdit;
edtRadio1: TEdit; edtRadio1: TEdit;
edtRadio2: TEdit; edtRadio2: TEdit;
edtRotor1: TEdit;
edtRotor2: TEdit;
edtRigCtldPath: TEdit; edtRigCtldPath: TEdit;
edtAM1: TSpinEdit; edtAM1: TSpinEdit;
edtClub1Date: TEdit; edtClub1Date: TEdit;
@ -475,6 +503,9 @@ type
edtCbUser: TEdit; edtCbUser: TEdit;
edteQSLName: TEdit; edteQSLName: TEdit;
edteQSLPass: TEdit; edteQSLPass: TEdit;
edtRot1ID: TEdit;
edtRot2ID: TEdit;
edtRotCtldPath: TEdit;
edtRigID1: TEdit; edtRigID1: TEdit;
edtRigID2: TEdit; edtRigID2: TEdit;
edtRTTY1: TSpinEdit; edtRTTY1: TSpinEdit;
@ -570,6 +601,8 @@ type
dlgFont: TFontDialog; dlgFont: TFontDialog;
gbProfiles1: TGroupBox; gbProfiles1: TGroupBox;
grbSerialR2: TGroupBox; grbSerialR2: TGroupBox;
grbSerialR3: TGroupBox;
grbSerialR4: TGroupBox;
GroupBox1: TGroupBox; GroupBox1: TGroupBox;
GroupBox10: TGroupBox; GroupBox10: TGroupBox;
GroupBox11: TGroupBox; GroupBox11: TGroupBox;
@ -607,6 +640,9 @@ type
GroupBox4: TGroupBox; GroupBox4: TGroupBox;
GroupBox40: TGroupBox; GroupBox40: TGroupBox;
grbSerialR1: TGroupBox; grbSerialR1: TGroupBox;
GroupBox41: TGroupBox;
GroupBox42: TGroupBox;
GroupBox43: TGroupBox;
GroupBox5: TGroupBox; GroupBox5: TGroupBox;
GroupBox6: TGroupBox; GroupBox6: TGroupBox;
GroupBox7: TGroupBox; GroupBox7: TGroupBox;
@ -640,9 +676,12 @@ type
Label121: TLabel; Label121: TLabel;
Label122: TLabel; Label122: TLabel;
Label123: TLabel; Label123: TLabel;
Label124: TLabel;
Label125: TLabel;
Label126: TLabel; Label126: TLabel;
Label127: TLabel; Label127: TLabel;
Label128: TLabel; Label128: TLabel;
Label129: TLabel;
Label13: TLabel; Label13: TLabel;
Label130: TLabel; Label130: TLabel;
Label131: TLabel; Label131: TLabel;
@ -659,8 +698,30 @@ type
Label141: TLabel; Label141: TLabel;
Label142: TLabel; Label142: TLabel;
Label143: TLabel; Label143: TLabel;
Label144: TLabel;
Label145: TLabel;
Label146: TLabel;
Label147: TLabel;
Label148: TLabel;
Label149: TLabel;
Label15: TLabel; Label15: TLabel;
Label150: TLabel;
Label151: TLabel;
Label152: TLabel;
Label153: TLabel;
Label154: TLabel;
Label155: TLabel;
Label156: TLabel;
Label157: TLabel;
Label158: TLabel;
Label159: TLabel;
Label16: TLabel; Label16: TLabel;
Label160: TLabel;
Label161: TLabel;
Label162: TLabel;
Label163: TLabel;
Label164: TLabel;
Label165: TLabel;
Label17: TLabel; Label17: TLabel;
Label18: TLabel; Label18: TLabel;
Label19: TLabel; Label19: TLabel;
@ -766,9 +827,12 @@ type
dlgOpen: TOpenDialog; dlgOpen: TOpenDialog;
Panel2: TPanel; Panel2: TPanel;
Panel3: TPanel; Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
pgTRXControl: TPageControl; pgTRXControl: TPageControl;
pgPreferences: TPageControl; pgPreferences: TPageControl;
Panel1: TPanel; Panel1: TPanel;
pgROTControl: TPageControl;
rbHamQTH: TRadioButton; rbHamQTH: TRadioButton;
rbQRZ: TRadioButton; rbQRZ: TRadioButton;
rgBackupType: TRadioGroup; rgBackupType: TRadioGroup;
@ -802,8 +866,11 @@ type
tabAutoBackup: TTabSheet; tabAutoBackup: TTabSheet;
tabExtViewers: TTabSheet; tabExtViewers: TTabSheet;
tabCallbook: TTabSheet; tabCallbook: TTabSheet;
TabROTcontrol: TTabSheet;
tabTRX2: TTabSheet; tabTRX2: TTabSheet;
tabTRX1: TTabSheet; tabTRX1: TTabSheet;
tabRot1: TTabSheet;
tabRot2: TTabSheet;
tabZipCode: TTabSheet; tabZipCode: TTabSheet;
tabXplanet: TTabSheet; tabXplanet: TTabSheet;
tabStation: TTabSheet; tabStation: TTabSheet;
@ -892,7 +959,11 @@ type
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure edtPoll2Exit(Sender: TObject); procedure edtPoll2Exit(Sender: TObject);
procedure edtPoll1Exit(Sender: TObject); procedure edtPoll1Exit(Sender: TObject);
procedure Panel1Click(Sender: TObject);
procedure pgPreferencesChange(Sender: TObject); procedure pgPreferencesChange(Sender: TObject);
procedure pgROTControlChange(Sender: TObject);
procedure tabRot2ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
private private
{ private declarations } { private declarations }
public public
@ -1068,6 +1139,40 @@ begin
cqrini.WriteInteger('TRX2', 'DTR', cmbDTRR2.ItemIndex); cqrini.WriteInteger('TRX2', 'DTR', cmbDTRR2.ItemIndex);
cqrini.WriteInteger('TRX2', 'RTS', cmbRTSR2.ItemIndex); cqrini.WriteInteger('TRX2', 'RTS', cmbRTSR2.ItemIndex);
cqrini.WriteString('ROT', 'RotCtldPath', edtRotCtldPath.Text);
cqrini.WriteString('ROT1', 'device', edtRot1Device.Text);
cqrini.WriteString('ROT1', 'model', edtRot1ID.Text);
cqrini.WriteString('ROT1', 'poll', edtRot1Poll.Text);
cqrini.WriteString('ROT1', 'Desc', edtRotor1.Text);
cqrini.WriteString('ROT1', 'RotCtldPort', edtRot1RotCtldPort.Text);
cqrini.WriteString('ROT1', 'ExtraRotCtldArgs', edtRot1RotCtldArgs.Text);
cqrini.WriteBool('ROT1', 'RunRotCtld', chkRot1RunRotCtld.Checked);
cqrini.WriteString('ROT1', 'host', edtRot1Host.Text);
cqrini.WriteInteger('ROT1', 'SerialSpeed', cmbSpeedRot1.ItemIndex);
cqrini.WriteInteger('ROT1', 'DataBits', cmbDataBitsRot1.ItemIndex);
cqrini.WriteInteger('ROT1', 'StopBits', cmbStopBitsRot1.ItemIndex);
cqrini.WriteInteger('ROT1', 'Parity', cmbParityRot1.ItemIndex);
cqrini.WriteInteger('ROT1', 'HandShake', cmbHanshakeRot1.ItemIndex);
cqrini.WriteInteger('ROT1', 'DTR', cmbDTRRot1.ItemIndex);
cqrini.WriteInteger('ROT1', 'RTS', cmbRTSRot1.ItemIndex);
cqrini.WriteString('ROT2', 'device', edtRot2Device.Text);
cqrini.WriteString('ROT2', 'model', edtRot2ID.Text);
cqrini.WriteString('ROT2', 'poll', edtRot2Poll.Text);
cqrini.WriteString('ROT2', 'Desc', edtRotor2.Text);
cqrini.WriteString('ROT2', 'RotCtldPort', edtRot2RotCtldPort.Text);
cqrini.WriteString('ROT2', 'ExtraRotCtldArgs', edtRot2RotCtldArgs.Text);
cqrini.WriteBool('ROT2', 'RunRotCtld', chkRot2RunRotCtld.Checked);
cqrini.WriteString('ROT2', 'host', edtRot2Host.Text);
cqrini.WriteInteger('ROT2', 'SerialSpeed', cmbSpeedRot2.ItemIndex);
cqrini.WriteInteger('ROT2', 'DataBits', cmbDataBitsRot2.ItemIndex);
cqrini.WriteInteger('ROT2', 'StopBits', cmbStopBitsRot2.ItemIndex);
cqrini.WriteInteger('ROT2', 'Parity', cmbParityRot2.ItemIndex);
cqrini.WriteInteger('ROT2', 'HandShake', cmbHanshakeRot2.ItemIndex);
cqrini.WriteInteger('ROT2', 'DTR', cmbDTRRot2.ItemIndex);
cqrini.WriteInteger('ROT2', 'RTS', cmbRTSRot2.ItemIndex);
cqrini.WriteInteger('Band1', 'CW', edtCW1.Value); cqrini.WriteInteger('Band1', 'CW', edtCW1.Value);
cqrini.WriteInteger('Band1', 'SSB', edtSSB1.Value); cqrini.WriteInteger('Band1', 'SSB', edtSSB1.Value);
cqrini.WriteInteger('Band1', 'RTTY', edtRTTY1.Value); cqrini.WriteInteger('Band1', 'RTTY', edtRTTY1.Value);
@ -2204,7 +2309,7 @@ begin
edtPoll2.Text := cqrini.ReadString('TRX2', 'poll', '500'); edtPoll2.Text := cqrini.ReadString('TRX2', 'poll', '500');
edtRadio2.Text := cqrini.ReadString('TRX2', 'Desc', 'Radio 2'); edtRadio2.Text := cqrini.ReadString('TRX2', 'Desc', 'Radio 2');
chkR2SendCWR.Checked := cqrini.ReadBool('TRX2', 'CWR', False); chkR2SendCWR.Checked := cqrini.ReadBool('TRX2', 'CWR', False);
edtR2RigCtldPort.Text := cqrini.ReadString('TRX2', 'RigCtldPort', '4534'); edtR2RigCtldPort.Text := cqrini.ReadString('TRX2', 'RigCtldPort', '4532');
edtR2RigCtldArgs.Text := cqrini.ReadString('TRX2', 'ExtraRigCtldArgs', ''); edtR2RigCtldArgs.Text := cqrini.ReadString('TRX2', 'ExtraRigCtldArgs', '');
chkR2RunRigCtld.Checked := cqrini.ReadBool('TRX2', 'RunRigCtld', False); chkR2RunRigCtld.Checked := cqrini.ReadBool('TRX2', 'RunRigCtld', False);
edtR2Host.Text := cqrini.ReadString('TRX2', 'host', 'localhost'); edtR2Host.Text := cqrini.ReadString('TRX2', 'host', 'localhost');
@ -2216,6 +2321,40 @@ begin
cmbDTRR2.ItemIndex := cqrini.ReadInteger('TRX2', 'DTR', 0); cmbDTRR2.ItemIndex := cqrini.ReadInteger('TRX2', 'DTR', 0);
cmbRTSR2.ItemIndex := cqrini.ReadInteger('TRX2', 'RTS', 0); cmbRTSR2.ItemIndex := cqrini.ReadInteger('TRX2', 'RTS', 0);
edtRotCtldPath.Text := cqrini.ReadString('ROT', 'RotCtldPath', '/usr/bin/rotctld');
edtRot1Device.Text := cqrini.ReadString('ROT1', 'device', '');
edtRot1ID.Text := cqrini.ReadString('ROT1', 'model', '');
edtRot1Poll.Text := cqrini.ReadString('ROT1', 'poll', '500');
edtRotor1.Text := cqrini.ReadString('ROT1', 'Desc', 'Rotor 1');
edtRot1RotCtldPort.Text := cqrini.ReadString('ROT1', 'RotCtldPort', '4533');
edtRot1RotCtldArgs.Text := cqrini.ReadString('ROT1', 'ExtraRotCtldArgs', '');
chkRot1RunRotCtld.Checked := cqrini.ReadBool('ROT1', 'RunRotCtld', False);
edtRot1Host.Text := cqrini.ReadString('ROT1', 'host', 'localhost');
cmbSpeedRot1.ItemIndex := cqrini.ReadInteger('ROT1', 'SerialSpeed', 0);
cmbDataBitsRot1.ItemIndex := cqrini.ReadInteger('ROT1', 'DataBits', 0);
cmbStopBitsRot1.ItemIndex := cqrini.ReadInteger('ROT1', 'StopBits', 0);
cmbParityRot1.ItemIndex := cqrini.ReadInteger('ROT1', 'Parity', 0);
cmbHanshakeRot1.ItemIndex := cqrini.ReadInteger('ROT1', 'HandShake', 0);
cmbDTRRot1.ItemIndex := cqrini.ReadInteger('ROT1', 'DTR', 0);
cmbRTSRot1.ItemIndex := cqrini.ReadInteger('ROT1', 'RTS', 0);
edtRot2Device.Text := cqrini.ReadString('ROT2', 'device', '');
edtRot2ID.Text := cqrini.ReadString('ROT2', 'model', '');
edtRot2Poll.Text := cqrini.ReadString('ROT2', 'poll', '500');
edtRotor2.Text := cqrini.ReadString('ROT2', 'Desc', 'Rotor 2');
edtRot2RotCtldPort.Text := cqrini.ReadString('ROT2', 'RotCtldPort', '4533');
edtRot2RotCtldArgs.Text := cqrini.ReadString('ROT2', 'ExtraRotCtldArgs', '');
chkRot2RunRotCtld.Checked := cqrini.ReadBool('ROT2', 'RunRotCtld', False);
edtRot2Host.Text := cqrini.ReadString('ROT2', 'host', 'localhost');
cmbSpeedRot2.ItemIndex := cqrini.ReadInteger('ROT2', 'SerialSpeed', 0);
cmbDataBitsRot2.ItemIndex := cqrini.ReadInteger('ROT2', 'DataBits', 0);
cmbStopBitsRot2.ItemIndex := cqrini.ReadInteger('ROT2', 'StopBits', 0);
cmbParityRot2.ItemIndex := cqrini.ReadInteger('ROT2', 'Parity', 0);
cmbHanshakeRot2.ItemIndex := cqrini.ReadInteger('ROT2', 'HandShake', 0);
cmbDTRRot2.ItemIndex := cqrini.ReadInteger('ROT2', 'DTR', 0);
cmbRTSRot2.ItemIndex := cqrini.ReadInteger('ROT2', 'RTS', 0);
edtCW1.Value := cqrini.ReadInteger('Band1', 'CW', 500); edtCW1.Value := cqrini.ReadInteger('Band1', 'CW', 500);
edtSSB1.Value := cqrini.ReadInteger('Band1', 'SSB', 1800); edtSSB1.Value := cqrini.ReadInteger('Band1', 'SSB', 1800);
edtRTTY1.Value := cqrini.ReadInteger('Band1', 'RTTY', 500); edtRTTY1.Value := cqrini.ReadInteger('Band1', 'RTTY', 500);
@ -2503,11 +2642,27 @@ begin
edtPoll1.Text := '500'; edtPoll1.Text := '500';
end; end;
procedure TfrmPreferences.Panel1Click(Sender: TObject);
begin
end;
procedure TfrmPreferences.pgPreferencesChange(Sender: TObject); procedure TfrmPreferences.pgPreferencesChange(Sender: TObject);
begin begin
lbPreferences.Selected[pgPreferences.ActivePageIndex] := True; lbPreferences.Selected[pgPreferences.ActivePageIndex] := True;
end; end;
procedure TfrmPreferences.pgROTControlChange(Sender: TObject);
begin
end;
procedure TfrmPreferences.tabRot2ContextPopup(Sender: TObject;
MousePos: TPoint; var Handled: Boolean);
begin
end;
initialization initialization
{$I fPreferences.lrs} {$I fPreferences.lrs}

View File

@ -1,7 +1,7 @@
object frmTRXControl: TfrmTRXControl object frmTRXControl: TfrmTRXControl
Left = 634 Left = 381
Height = 232 Height = 232
Top = 350 Top = 578
Width = 339 Width = 339
ActiveControl = btnVFOA ActiveControl = btnVFOA
BorderIcons = [biSystemMenu] BorderIcons = [biSystemMenu]

View File

@ -1,6 +1,8 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TfrmTRXControl','FORMDATA',[ LazarusResources.Add('TfrmTRXControl','FORMDATA',[
'TPF0'#14'TfrmTRXControl'#13'frmTRXControl'#4'Left'#3'z'#2#6'Height'#3#232#0#3 'TPF0'#14'TfrmTRXControl'#13'frmTRXControl'#4'Left'#3'}'#1#6'Height'#3#232#0#3
+'Top'#3'^'#1#5'Width'#3'S'#1#13'ActiveControl'#7#7'btnVFOA'#11'BorderIcons' +'Top'#3'B'#2#5'Width'#3'S'#1#13'ActiveControl'#7#7'btnVFOA'#11'BorderIcons'
+#11#12'biSystemMenu'#0#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6#11'TRX con' +#11#12'biSystemMenu'#0#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6#11'TRX con'
+'trol'#12'ClientHeight'#3#232#0#11'ClientWidth'#3'S'#1#9'Icon.Data'#10#194#16 +'trol'#12'ClientHeight'#3#232#0#11'ClientWidth'#3'S'#1#9'Icon.Data'#10#194#16
+#0#0#190#16#0#0#0#0#1#0#1#0' '#0#0#1#0' '#0#168#16#0#0#22#0#0#0'('#0#0#0' ' +#0#0#190#16#0#0#0#0#1#0#1#0' '#0#0#1#0' '#0#168#16#0#0#22#0#0#0'('#0#0#0' '