diff --git a/gui/daemon.js b/gui/daemon.js index a4176336..1dd0694f 100644 --- a/gui/daemon.js +++ b/gui/daemon.js @@ -20,6 +20,10 @@ var socketchunk = ''; // Current message, per connection. // global to keep track of daemon connection error emissions var daemonShowConnectStateError = 1 +// global for storing ip information +var daemon_port = config.daemon_port; +var daemon_host = config.daemon_host; + setTimeout(connectDAEMON, 500) function connectDAEMON() { @@ -27,13 +31,13 @@ function connectDAEMON() { daemonLog.info('connecting to daemon'); } - //clear message buffer after reconnecting or inital connection + //clear message buffer after reconnecting or initial connection socketchunk = ''; if (config.tnclocation == 'localhost') { daemon.connect(3001, '127.0.0.1') } else { - daemon.connect(config.daemon_port, config.daemon_host) + daemon.connect(daemon_port, daemon_host) } @@ -299,4 +303,19 @@ exports.saveMyGrid = function(grid) { writeDaemonCommand(command) } - +ipcRenderer.on('action-update-daemon-ip', (event, arg) => { + daemon.destroy(); + let Data = { + busy_state: "-", + arq_state: "-", + //channel_state: "-", + frequency: "-", + mode: "-", + bandwidth: "-", + dbfs_level: 0 + }; + ipcRenderer.send('request-update-tnc-state', Data); + daemon_port = arg.port; + daemon_host = arg.adress; + connectDAEMON(); +}); diff --git a/gui/main.js b/gui/main.js index 39c111e3..4539b780 100644 --- a/gui/main.js +++ b/gui/main.js @@ -425,6 +425,16 @@ ipcMain.on('request-show-chat-window', () => { chat.show(); }); +// UPDATE TNC CONNECTION +ipcMain.on('request-update-tnc-ip',(event,data)=>{ + win.webContents.send('action-update-tnc-ip', data); +}); + +// UPDATE DAEMON CONNECTION +ipcMain.on('request-update-daemon-ip',(event,data)=>{ + win.webContents.send('action-update-daemon-ip', data); +}); + ipcMain.on('request-update-tnc-state', (event, arg) => { win.webContents.send('action-update-tnc-state', arg); @@ -570,6 +580,7 @@ ipcMain.on('save-file-to-folder',(event,data)=>{ }); + //tnc messages START -------------------------------------- // CQ TRANSMITTING diff --git a/gui/preload-main.js b/gui/preload-main.js index fddbcbe5..4917d7e7 100644 --- a/gui/preload-main.js +++ b/gui/preload-main.js @@ -723,13 +723,7 @@ document.getElementById('hamlib_rigctld_stop').addEventListener('click', () => { fs.writeFileSync(configPath, JSON.stringify(config, null, 2)); }); - // on change port and host - document.getElementById("tnc_adress").addEventListener("change", () => { - console.log(document.getElementById("tnc_adress").value); - config.tnc_host = document.getElementById("tnc_adress").value; - config.daemon_host = document.getElementById("tnc_adress").value; - fs.writeFileSync(configPath, JSON.stringify(config, null, 2)); - }); + // on change ping callsign document.getElementById("dxCall").addEventListener("change", () => { @@ -741,13 +735,45 @@ document.getElementById('hamlib_rigctld_stop').addEventListener('click', () => { }); - + // on change port and host + document.getElementById("tnc_adress").addEventListener("change", () => { + console.log(document.getElementById("tnc_adress").value); + config.tnc_host = document.getElementById("tnc_adress").value; + config.daemon_host = document.getElementById("tnc_adress").value; + fs.writeFileSync(configPath, JSON.stringify(config, null, 2)); + + let Data = { + port: document.getElementById("tnc_port").value, + adress: document.getElementById("tnc_adress").value, + }; + ipcRenderer.send('request-update-tnc-ip', Data); + + Data = { + port: parseInt(document.getElementById("tnc_port").value) + 1, + adress: document.getElementById("tnc_adress").value, + }; + ipcRenderer.send('request-update-daemon-ip', Data); + }); + // on change tnc port document.getElementById("tnc_port").addEventListener("change", () => { + config.tnc_port = document.getElementById("tnc_port").value; config.daemon_port = parseInt(document.getElementById("tnc_port").value) + 1; fs.writeFileSync(configPath, JSON.stringify(config, null, 2)); + let Data = { + port: document.getElementById("tnc_port").value, + adress: document.getElementById("tnc_adress").value, + }; + ipcRenderer.send('request-update-tnc-ip', Data); + + Data = { + port: parseInt(document.getElementById("tnc_port").value) + 1, + adress: document.getElementById("tnc_adress").value, + }; + ipcRenderer.send('request-update-daemon-ip', Data); + }); // on change audio TX Level diff --git a/gui/sock.js b/gui/sock.js index 13ba113b..f74c07b6 100644 --- a/gui/sock.js +++ b/gui/sock.js @@ -30,6 +30,10 @@ var rxMsgBufferLengthGui = 0 // global to keep track of TNC connection error emissions var tncShowConnectStateError = 1 +// global for storing ip information +var tnc_port = config.tnc_port; +var tnc_host = config.tnc_host; + // network connection Timeout setTimeout(connectTNC, 2000) @@ -37,13 +41,13 @@ function connectTNC() { //exports.connectTNC = function(){ //socketLog.info('connecting to TNC...') - //clear message buffer after reconnecting or inital connection + //clear message buffer after reconnecting or initial connection socketchunk = ''; if (config.tnclocation == 'localhost') { client.connect(3000, '127.0.0.1') } else { - client.connect(config.tnc_port, config.tnc_host) + client.connect(tnc_port, tnc_host) } } @@ -578,3 +582,23 @@ exports.sendTestFrame = function() { command = '{"type" : "set", "command" : "send_test_frame"}' writeTncCommand(command) } + + + +ipcRenderer.on('action-update-tnc-ip', (event, arg) => { + client.destroy(); + let Data = { + busy_state: "-", + arq_state: "-", + //channel_state: "-", + frequency: "-", + mode: "-", + bandwidth: "-", + dbfs_level: 0 + }; + ipcRenderer.send('request-update-tnc-state', Data); + tnc_port = arg.port; + tnc_host = arg.adress; + connectTNC(); + +}); \ No newline at end of file