Now dot blinking seems to be fixed. Also dots are now band related as the help says

This commit is contained in:
OH1KH 2022-01-19 18:46:28 +02:00
parent cdcdc83cc8
commit e32500bc30
3 changed files with 34 additions and 30 deletions

View File

@ -725,8 +725,8 @@ There are no known dependencies issues.<br><br>
<br><strong>Note:</strong> "Connect RBN Grayline" and "Link Grayline to RBN Monitor" are alternatives. You can not select both of them at same time.</li>
</ul>
<li><strong>Delete old information after XX seconds</strong> The dots won't stay on the map forever.
180 seconds (3 minutes) is a good default value. Please note, it also depends on the band,
if you change band, dots will always be deleted. All data is band related.</li>
180 seconds (3 minutes) is a good default value.
<br><b>Note:</b> Dots also depend on the band, if you change band, dots will always be deleted. All data is band related.</li>
</ul>
<br><br>

View File

@ -39,8 +39,9 @@
<li> <b>Show statusbar</b> Shows connection or linking state</li>
<li> <b>Show GreatCirclePath</b> By default Grayline map will show straight line from your station (from your locator defined) to station you enter to NewQSO/callsign.
With this selection you can switch the straight line to plotted great circle path. </li>
<li> <b>Clear all spots</b> Clears all RBN spots from map.</li>
<li> <b>Wathc for</b> Opens an edit window where you can change callsign or prefix watched without opening preferences. see: <a href="h1.html#ch6">RBN support</a></li>
<li> <b>Clear all spots</b> Clears all RBN spots from map.
<br><b> Note:</b> Dots also depend on the band, if you change band, dots will always be deleted. All data is band related.</li>
<li> <b>Watch for</b> Opens an edit window where you can change callsign or prefix watched without opening preferences. see: <a href="h1.html#ch6">RBN support</a></li>
</ul>

View File

@ -169,7 +169,7 @@ begin
Result := 0;
for i:= 1 to MAX_ITEMS do
begin
if frmGrayline.RBNSpotList[i].band='' then
if RBNSpotList[i].band='' then
begin
Result := i;
break
@ -184,7 +184,7 @@ begin
Result := 0;
for i:= 1 to MAX_ITEMS do
begin
if frmGrayline.RBNSpotList[i].spotter=spotter then
if RBNSpotList[i].spotter=spotter then
begin
Result := i;
break
@ -280,7 +280,14 @@ begin
InitCriticalSection(csRBN);
tmrSpotDots.Enabled:=false;
for i:=1 to MAX_ITEMS do
RBNSpotList[i].band := '';
begin
RBNSpotList[i].band := '';
RBNSpotList[i].spotter := '';
RBNSpotList[i].time := DateTimeToUnix(now);
RBNSpotList[i].strengt := 0;
RBNSpotList[i].lat := 0;
RBNSpotList[i].long := 0;
end;
ImageFile := dmData.HomeDir+'images'+PathDelim+'grayline.bmp';
if not FileExists(ImageFile) then
ImageFile := ExpandFileNameUTF8('..'+PathDelim+'share'+PathDelim+'cqrlog'+
@ -590,21 +597,24 @@ procedure TfrmGrayline.SynRBN;
var
i : Integer;
c : TColor;
begin
CqrBand:String;
begin
ob^.body_smaz;
CqrBand := dmUtils.GetBandFromFreq(frmNewQSO.cmbFreq.Text);
for i:=1 to MAX_ITEMS do
begin
if (RBNSpotList[i].band='') then
if (RBNSpotList[i].band='') then //skip empty
Continue;
if (band <> '') then
begin
if band<>RBNSpotList[i].band then
Continue
end;
if (CqrBand = '') or (CqrBand<>RBNSpotList[i].band) then //skip if no cqrlog band or it differs from spot band
Continue;
if LocalDbg then
begin
writeln('Cqr:band: ',cqrband);
Writeln('Syn:spotter:',RBNSpotList[i].spotter);
Writeln('Syn:stren: ',RBNSpotList[i].strengt);
Writeln('Syn:band: ',RBNSpotList[i].band);
@ -625,25 +635,18 @@ end;
procedure TfrmGrayline.RemoveOldSpots(RemoveAfter:integer); //setting RemoveAfter:=0 removes all Spots
var
i : Integer;
time : int64;
i : Integer;
time,
SpotTime: int64;
begin
time := DateTimeToUnix(now);
EnterCriticalsection(csRBN);
for i:=1 to MAX_ITEMS do
begin
if (time - DateTimeToUnix(frmGrayline.RBNSpotList[i].time)) > RemoveAfter then
with RBNSpotList[i] do
Begin
spotter :='';
band :='';
lat :=0;
long :=0;
strengt :=0;
time :=0;
end;
end;
begin
if ((time - RBNSpotList[i].time) > RemoveAfter) then
RBNSpotList[i].band :='';
end;
SynRBN;
LeaveCriticalsection(csRBN);
@ -751,7 +754,7 @@ begin
frmGrayline.RBNSpotList[index].band := band;
frmGrayline.RBNSpotList[index].spotter := spotter;
frmGrayline.RBNSpotList[index].time := now;
frmGrayline.RBNSpotList[index].time := DateTimeToUnix(now);
if TryStrToInt(stren,tmp) then
frmGrayline.RBNSpotList[index].strengt := tmp
else
@ -766,7 +769,7 @@ begin
Write('Add spotter:',spotter);
Write('Add stren: ',stren);
Write('Add freq: ',freq);
Write('Add band: ',dmDXCluster.GetBandFromFreq(freq,True));
Write('Add band: ',band);
Write('Add Lat: ',lat);
Writeln('Add Long: ',long)
end;