kopia lustrzana https://gitlab.com/gridtracker.org/gridtracker
200 wiersze
3.9 KiB
JavaScript
200 wiersze
3.9 KiB
JavaScript
// GridTracker Copyright © 2021 GridTracker.org
|
|
// All rights reserved.
|
|
// See LICENSE for more information.
|
|
|
|
// Incoming is already float fixed ( 14.037 ) for 14,037,000hz
|
|
Number.prototype.formatBand = function ()
|
|
{
|
|
var freq = this;
|
|
var bands = [
|
|
"OOB",
|
|
"0",
|
|
1,
|
|
"160m",
|
|
3,
|
|
"80m",
|
|
5,
|
|
"60m",
|
|
7,
|
|
"40m",
|
|
10,
|
|
"30m",
|
|
14,
|
|
"20m",
|
|
18,
|
|
"17m",
|
|
21,
|
|
"15m",
|
|
24,
|
|
"12m",
|
|
27,
|
|
"11m",
|
|
28,
|
|
"10m",
|
|
29,
|
|
"10m",
|
|
50,
|
|
"6m",
|
|
51,
|
|
"6m",
|
|
52,
|
|
"6m",
|
|
53,
|
|
"6m",
|
|
54,
|
|
"6m",
|
|
70,
|
|
"4m",
|
|
141,
|
|
"2m",
|
|
142,
|
|
"2m",
|
|
143,
|
|
"2m",
|
|
144,
|
|
"2m",
|
|
145,
|
|
"2m",
|
|
146,
|
|
"2m",
|
|
147,
|
|
"2m",
|
|
148,
|
|
"2m",
|
|
219,
|
|
"1.5m",
|
|
220,
|
|
"1.5m",
|
|
221,
|
|
"1.5m",
|
|
222,
|
|
"1.5m",
|
|
223,
|
|
"1.5m",
|
|
224,
|
|
"1.5m",
|
|
225,
|
|
"1.5m"
|
|
];
|
|
|
|
var newFreq = parseInt(freq);
|
|
if (newFreq > 0 && newFreq < 226) return bands[bands.indexOf(newFreq) + 1];
|
|
else if (newFreq >= 420 && newFreq <= 450) return "70cm";
|
|
else if (newFreq >= 902 && newFreq <= 928) return "33cm";
|
|
else if (newFreq >= 1240 && newFreq <= 1300) return "23cm";
|
|
else if (freq >= 0.472 && freq <= 0.479) return "630m";
|
|
else if (freq >= 0.1357 && freq <= 0.1485) return "2200m";
|
|
else if (freq >= 0.009 && freq <= 0.02) return "4000m";
|
|
else return "OOB";
|
|
};
|
|
|
|
Number.prototype.formatMhz = function (n, x)
|
|
{
|
|
var re = "\\d(?=(\\d{" + (x || 3) + "})+" + (n > 0 ? "\\." : "$") + ")";
|
|
return this.toFixed(Math.max(0, ~~n)).replace(new RegExp(re, "g"), "$&.");
|
|
};
|
|
|
|
Number.prototype.formatSignalReport = function ()
|
|
{
|
|
var val = this;
|
|
var report = String();
|
|
|
|
if (val >= 0) report = "+" + val;
|
|
else report = val;
|
|
return report;
|
|
};
|
|
|
|
String.prototype.formatCallsign = function ()
|
|
{
|
|
var re = new RegExp("0", "g");
|
|
return this.replace(re, "Ø");
|
|
};
|
|
|
|
Number.prototype.toDHMS = function ()
|
|
{
|
|
var seconds = this;
|
|
var days = Math.floor(seconds / (3600 * 24));
|
|
seconds -= days * 3600 * 24;
|
|
var hrs = Math.floor(seconds / 3600);
|
|
seconds -= hrs * 3600;
|
|
var mnts = Math.floor(seconds / 60);
|
|
seconds -= mnts * 60;
|
|
|
|
days = days ? days + "d " : "";
|
|
hrs = hrs ? hrs + "h " : "";
|
|
mnts = mnts ? mnts + "m " : "";
|
|
var first = days + hrs + mnts;
|
|
if (first == "") val = seconds + "s";
|
|
else val = first + (seconds > 0 ? seconds + "s" : "");
|
|
return val;
|
|
};
|
|
|
|
Number.prototype.toDHM = function ()
|
|
{
|
|
var seconds = this;
|
|
var days = Math.floor(seconds / (3600 * 24));
|
|
seconds -= days * 3600 * 24;
|
|
var hrs = Math.floor(seconds / 3600);
|
|
seconds -= hrs * 3600;
|
|
var mnts = Math.floor(seconds / 60);
|
|
seconds -= mnts * 60;
|
|
|
|
days = days ? days + "d " : "";
|
|
hrs = hrs ? hrs + "h " : "";
|
|
mnts = mnts ? mnts + "m " : "";
|
|
val = days + hrs + mnts;
|
|
return val;
|
|
};
|
|
|
|
Number.prototype.toYM = function ()
|
|
{
|
|
var months = this;
|
|
var years = parseInt(Math.floor(months / 12));
|
|
months -= years * 12;
|
|
months = parseInt(months);
|
|
years = years ? years + "y " : "";
|
|
months = months ? months + "m" : "";
|
|
var total = years + months;
|
|
return total == "" ? "any" : total;
|
|
};
|
|
|
|
Number.prototype.toHMS = function ()
|
|
{
|
|
var seconds = this;
|
|
var days = Math.floor(seconds / (3600 * 24));
|
|
seconds -= days * 3600 * 24;
|
|
var hrs = Math.floor(seconds / 3600);
|
|
seconds -= hrs * 3600;
|
|
var mnts = Math.floor(seconds / 60);
|
|
seconds -= mnts * 60;
|
|
|
|
hrs = hrs < 10 ? "0" + hrs : hrs;
|
|
mnts = mnts < 10 ? "0" + mnts : mnts;
|
|
seconds = seconds < 10 ? "0" + seconds : seconds;
|
|
val = hrs + "" + mnts + "" + seconds;
|
|
return val;
|
|
};
|
|
|
|
String.prototype.toProperCase = function ()
|
|
{
|
|
return this.replace(/\w\S*/g, function (txt)
|
|
{
|
|
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
|
|
});
|
|
};
|
|
|
|
Number.prototype.pad = function (size)
|
|
{
|
|
var s = String(this);
|
|
while (s.length < (size || 2))
|
|
{
|
|
s = "0" + s;
|
|
}
|
|
return s;
|
|
};
|
|
|
|
String.prototype.replaceAll = function (str1, str2)
|
|
{
|
|
return this.split(str1).join(str2);
|
|
};
|