Skip to content

Commit

Permalink
2.59.2 Chirpconvert code minified
Browse files Browse the repository at this point in the history
  • Loading branch information
classaxe committed Sep 27, 2023
1 parent 63f0967 commit ba901a9
Show file tree
Hide file tree
Showing 5 changed files with 312 additions and 158 deletions.
158 changes: 154 additions & 4 deletions public/js/functions.js
@@ -1,8 +1,8 @@
/*
* Project: RXX - NDB Logging Database
* Homepage: https://rxx.classaxe.com
* Version: 2.58.4
* Date: 2023-08-29
* Version: 2.59.2
* Date: 2023-09-27
* Licence: LGPL
* Copyright: 2023 Martin Francis
*/
Expand Down Expand Up @@ -62,6 +62,7 @@ var popWinSpecs = {
'states_*' : 'width=720,height=780,resizable=1',
'states_aus' : 'width=720,height=240,resizable=1',
'states_can_usa' : 'width=680,height=710,resizable=1',
'tools_chirpconvert' : 'width=1400,height=800,resizable=1',
'tools_coordinates' : 'width=900,height=195,resizable=1',
'tools_dgps' : 'width=720,height=345,resizable=1',
'tools_navtex' : 'width=420,height=580,resizable=1',
Expand Down Expand Up @@ -3654,6 +3655,157 @@ var SIGNAL_MERGE = {
}


var CHIRPCONVERT = {
init: function() {
document.getElementById('input').addEventListener('change', CHIRPCONVERT.readSingleFile, false);
$('#close').on('click', function(){
window.close();
})
},
displayContents: function(id, data) {
var element = document.getElementById(id);
element.innerHTML = JSON.stringify(data, null, 2);
},
displayTable: function(id, data) {
var key;
var row;
var element = document.getElementById(id);
var html =
"<table class='chirpconvert'>" +
" <thead>" +
" <tr>\n";
for (key in data[0]) {
if (data[0].hasOwnProperty(key)) {
html += " <th>" + key + "</th>\n";
}
}
html +=
" </tr>\n" +
" </thead>\n" +
" <tbody>\n";
for (row in data) {
html += " <tr>\n";
for (key in data[0]) {
if (data[0].hasOwnProperty(key)) {
html += " <td>" + data[row][key] + "</td>\n";
}
}
html += " </tr>\n";
}
html +=
" <tbody>\n" +
"</table>";
element.innerHTML = html;
},
readSingleFile: function(e) {
var file = e.target.files[0];
if (!file) {
return;
}
var reader = new FileReader();
reader.onload = function(e) {
var i;
var j;
var contents = e.target.result;
var data = $.csv.toArrays(contents);
var column;
var columns = data[0];
var rows = [];
var row = {};
for (i=1; i < data.length; i++) {
new_row = {};
for (j=0; j<columns.length; j++) {
new_row[columns[j]] = data[i][j];
}
rows.push(new_row)
}

//CHIRPCONVERT.displayContents('input_doc', rows);
CHIRPCONVERT.displayTable('input_doc', rows);
CHIRPCONVERT.convertToFT200CSV('output_doc', rows)
};
reader.readAsText(file);
},
convertToFT200CSV: function(id, data) {
var max_line = 999;
var csv = "";
var line = "";
var gapfill = 1;
var i = 0;
for (i = 0; i <= max_line; i++) {
while (typeof data[i] === 'undefined' || parseInt(data[i].Location) !== (i + gapfill)) {
line = (i + gapfill) + ",,,,,,,,,,,,,,,,,,,,0\r\n";
csv += line;
gapfill++;
if (gapfill + i > max_line) {
break;
}
}
if (gapfill + i > max_line) {
break;
}
var Location = parseInt(data[i].Location);
var tx = parseFloat(data[i].Frequency);
var IsAir = tx > 108 && tx < 137;
var IsHam = (tx >=144 && tx <= 148) || (tx >= 430 && tx <=450)
var duplex = data[i].Duplex;
var offset = parseFloat(data[i].Offset);
var offsetDir =
(duplex === '+' ? '+RPT' : '') +
(duplex === '-' ? '-RPT' : '') +
(!IsHam ? "OFF" : "");
var mode = data[i].Mode;
var DigAnalog = (IsAir ? "AM" : "AMS");
var rx =
tx +
(duplex === '-' ? offset * -1 : 0) +
(duplex === '+' ? offset : 0);
var name = data[i].Name;
var tone =
(data[i].Tone === "Tone" ? "TONE" : "") +
(data[i].Tone === "TSQL" ? "TONE SQL" : "") +
(data[i].Tone === "DTCS" ? "DCS" : "");
var toneFreq = data[i].rToneFreq ? (IsHam ? parseFloat(data[i].rToneFreq) : 100).toFixed(1) + " Hz" : "";
var DtcsCode = data[i].DtcsCode;
var UserCTCSS = "1500 Hz";
var RxDgId = (IsAir ? "-" : "RX 00");
var TxDgId = (IsAir ? "-" : "TX 00");
var TxPower = "HIGH";
var Scan = "YES";
var Step = (IsHam ? parseFloat(data[i].TStep).toFixed(1) : "25.0") + "KHz";
var Narrow = "OFF";
var ClockShift = "OFF";
var Comment = '"' + data[i].Comment + '"';
//Comment = "";
line =
Location + "," +
tx.toFixed(5) + "," +
rx.toFixed(5) + "," +
(IsHam ? offset.toFixed(2) : "0.00000") + "," +
offsetDir + "," +
mode + "," +
DigAnalog + "," +
name + "," +
(tone ? tone : 'OFF') + "," +
toneFreq + "," +
DtcsCode + "," +
UserCTCSS + "," +
RxDgId + "," +
TxDgId + "," +
TxPower + "," +
Scan + "," +
Step + "," +
Narrow + "," +
ClockShift + "," +
Comment + "," +
0 +
"\r\n";
csv += line;
}
var element = document.getElementById(id);
element.value = csv;
}
}
var DGPS = {
init: function() {
$('#frm_dgps').on('submit', function() {
Expand Down Expand Up @@ -3873,7 +4025,6 @@ var VALIDATE = {
return true;
},
}

var COORDS = {
init: function() {
var cmd_1, cmd_2, cmd_3, idx, modes;
Expand Down Expand Up @@ -4023,7 +4174,6 @@ var COORDS = {
return true;
}
}

var NAVTEX = {
init: function() {
$('#frm_navtex').on('submit', function(){
Expand Down
6 changes: 3 additions & 3 deletions public/js/functions.min.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions src/js/_globals.js
Expand Up @@ -54,6 +54,7 @@ var popWinSpecs = {
'states_*' : 'width=720,height=780,resizable=1',
'states_aus' : 'width=720,height=240,resizable=1',
'states_can_usa' : 'width=680,height=710,resizable=1',
'tools_chirpconvert' : 'width=1400,height=800,resizable=1',
'tools_coordinates' : 'width=900,height=195,resizable=1',
'tools_dgps' : 'width=720,height=345,resizable=1',
'tools_navtex' : 'width=420,height=580,resizable=1',
Expand Down
153 changes: 151 additions & 2 deletions src/js/tools.js
@@ -1,3 +1,154 @@
var CHIRPCONVERT = {
init: function() {
document.getElementById('input').addEventListener('change', CHIRPCONVERT.readSingleFile, false);
$('#close').on('click', function(){
window.close();
})
},
displayContents: function(id, data) {
var element = document.getElementById(id);
element.innerHTML = JSON.stringify(data, null, 2);
},
displayTable: function(id, data) {
var key;
var row;
var element = document.getElementById(id);
var html =
"<table class='chirpconvert'>" +
" <thead>" +
" <tr>\n";
for (key in data[0]) {
if (data[0].hasOwnProperty(key)) {
html += " <th>" + key + "</th>\n";
}
}
html +=
" </tr>\n" +
" </thead>\n" +
" <tbody>\n";
for (row in data) {
html += " <tr>\n";
for (key in data[0]) {
if (data[0].hasOwnProperty(key)) {
html += " <td>" + data[row][key] + "</td>\n";
}
}
html += " </tr>\n";
}
html +=
" <tbody>\n" +
"</table>";
element.innerHTML = html;
},
readSingleFile: function(e) {
var file = e.target.files[0];
if (!file) {
return;
}
var reader = new FileReader();
reader.onload = function(e) {
var i;
var j;
var contents = e.target.result;
var data = $.csv.toArrays(contents);
var column;
var columns = data[0];
var rows = [];
var row = {};
for (i=1; i < data.length; i++) {
new_row = {};
for (j=0; j<columns.length; j++) {
new_row[columns[j]] = data[i][j];
}
rows.push(new_row)
}

//CHIRPCONVERT.displayContents('input_doc', rows);
CHIRPCONVERT.displayTable('input_doc', rows);
CHIRPCONVERT.convertToFT200CSV('output_doc', rows)
};
reader.readAsText(file);
},
convertToFT200CSV: function(id, data) {
var max_line = 999;
var csv = "";
var line = "";
var gapfill = 1;
var i = 0;
for (i = 0; i <= max_line; i++) {
while (typeof data[i] === 'undefined' || parseInt(data[i].Location) !== (i + gapfill)) {
line = (i + gapfill) + ",,,,,,,,,,,,,,,,,,,,0\r\n";
csv += line;
gapfill++;
if (gapfill + i > max_line) {
break;
}
}
if (gapfill + i > max_line) {
break;
}
var Location = parseInt(data[i].Location);
var tx = parseFloat(data[i].Frequency);
var IsAir = tx > 108 && tx < 137;
var IsHam = (tx >=144 && tx <= 148) || (tx >= 430 && tx <=450)
var duplex = data[i].Duplex;
var offset = parseFloat(data[i].Offset);
var offsetDir =
(duplex === '+' ? '+RPT' : '') +
(duplex === '-' ? '-RPT' : '') +
(!IsHam ? "OFF" : "");
var mode = data[i].Mode;
var DigAnalog = (IsAir ? "AM" : "AMS");
var rx =
tx +
(duplex === '-' ? offset * -1 : 0) +
(duplex === '+' ? offset : 0);
var name = data[i].Name;
var tone =
(data[i].Tone === "Tone" ? "TONE" : "") +
(data[i].Tone === "TSQL" ? "TONE SQL" : "") +
(data[i].Tone === "DTCS" ? "DCS" : "");
var toneFreq = data[i].rToneFreq ? (IsHam ? parseFloat(data[i].rToneFreq) : 100).toFixed(1) + " Hz" : "";
var DtcsCode = data[i].DtcsCode;
var UserCTCSS = "1500 Hz";
var RxDgId = (IsAir ? "-" : "RX 00");
var TxDgId = (IsAir ? "-" : "TX 00");
var TxPower = "HIGH";
var Scan = "YES";
var Step = (IsHam ? parseFloat(data[i].TStep).toFixed(1) : "25.0") + "KHz";
var Narrow = "OFF";
var ClockShift = "OFF";
var Comment = '"' + data[i].Comment + '"';
//Comment = "";
line =
Location + "," +
tx.toFixed(5) + "," +
rx.toFixed(5) + "," +
(IsHam ? offset.toFixed(2) : "0.00000") + "," +
offsetDir + "," +
mode + "," +
DigAnalog + "," +
name + "," +
(tone ? tone : 'OFF') + "," +
toneFreq + "," +
DtcsCode + "," +
UserCTCSS + "," +
RxDgId + "," +
TxDgId + "," +
TxPower + "," +
Scan + "," +
Step + "," +
Narrow + "," +
ClockShift + "," +
Comment + "," +
0 +
"\r\n";
csv += line;
}
var element = document.getElementById(id);
element.value = csv;
}
}
var DGPS = {
init: function() {
$('#frm_dgps').on('submit', function() {
Expand Down Expand Up @@ -217,7 +368,6 @@ var VALIDATE = {
return true;
},
}

var COORDS = {
init: function() {
var cmd_1, cmd_2, cmd_3, idx, modes;
Expand Down Expand Up @@ -367,7 +517,6 @@ var COORDS = {
return true;
}
}

var NAVTEX = {
init: function() {
$('#frm_navtex').on('submit', function(){
Expand Down

0 comments on commit ba901a9

Please sign in to comment.