mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:27:33 +00:00
51 lines
1.2 KiB
ObjectPascal
51 lines
1.2 KiB
ObjectPascal
unit BoardUtils;
|
|
|
|
{$IFDEF FPC}
|
|
{$MODE Delphi}
|
|
{$ENDIF}
|
|
|
|
interface
|
|
|
|
function BoardTypeName(BoardType: Integer): string;
|
|
function FreqToBandIdx(Hz: Double): Integer;
|
|
|
|
implementation
|
|
|
|
uses SysUtils;
|
|
|
|
function BoardTypeName(BoardType: Integer): string;
|
|
begin
|
|
case BoardType of
|
|
1: Result := 'HERMES (ANAN-10/100)';
|
|
2: Result := 'HERMES-E (ANAN-10E/100B)';
|
|
3: Result := 'ANGELIA (ANAN-100D)';
|
|
4: Result := 'ORION (ANAN-200D)';
|
|
5: Result := 'ORION MkII (ANAN-7000/8000)';
|
|
6: Result := 'HERMES-LITE 2';
|
|
10: Result := 'SATURN (G2)';
|
|
else Result := Format('Unknown Board #%d', [BoardType]);
|
|
end;
|
|
end;
|
|
|
|
function FreqToBandIdx(Hz: Double): Integer;
|
|
const
|
|
BAND_LO: array[0..10] of Double = (
|
|
1800000, 3500000, 5330000, 7000000, 10100000,
|
|
14000000, 18068000, 21000000, 24890000, 28000000, 50000000);
|
|
BAND_HI: array[0..10] of Double = (
|
|
2000000, 4000000, 5410000, 7300000, 10150000,
|
|
14350000, 18168000, 21450000, 24990000, 29700000, 54000000);
|
|
var
|
|
i: Integer;
|
|
begin
|
|
Result := -1;
|
|
for i := 0 to 10 do
|
|
if (Hz >= BAND_LO[i]) and (Hz <= BAND_HI[i]) then
|
|
begin
|
|
Result := i;
|
|
Exit;
|
|
end;
|
|
end;
|
|
|
|
end.
|