From a90abb122f3f4d10d14b8a95107366c8c2536a00 Mon Sep 17 00:00:00 2001 From: dj2ls Date: Mon, 18 Apr 2022 17:17:53 +0200 Subject: [PATCH] enable/disable cq response Enable and disable CQ response via GUI. Also moved settings to settings modal - with a small redesign. Auto updater still WIP --- CMakeLists.txt | 2 +- gui/daemon.js | 5 +- gui/main.js | 3 +- gui/preload-main.js | 36 +- gui/sock.js | 2 +- gui/src/index.html | 57 +- gui/src/index.html~ | 1439 +++++++++++++++++++++++++++++++++++++++++++ test/rx48.raw | Bin 850776 -> 0 bytes tnc/daemon.py | 8 +- tnc/data_handler.py | 4 +- tnc/main.py | 3 +- tnc/sock.py | 3 +- tnc/static.py | 1 + 13 files changed, 1523 insertions(+), 40 deletions(-) create mode 100644 gui/src/index.html~ delete mode 100644 test/rx48.raw diff --git a/CMakeLists.txt b/CMakeLists.txt index 5986f3e0..185ca2d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,7 +57,7 @@ add_test(NAME highsnr_stdio_P_P_single PATH=$PATH:${CODEC2_BUILD_DIR}/src; cd ${CMAKE_CURRENT_SOURCE_DIR}/test; python3 test_tx.py --mode datac0 --delay 500 --framesperburst ${FRAMESPERBURST} --bursts ${BURSTS} | - python3 test_rx.py --mode datac0 --framesperburst ${FRAMESPERBURST} --bursts ${BURSTS}") + python3 test_rx.py --debug --mode datac0 --framesperburst ${FRAMESPERBURST} --bursts ${BURSTS}") set_tests_properties(highsnr_stdio_P_P_single PROPERTIES PASS_REGULAR_EXPRESSION "RECEIVED BURSTS: ${BURSTS} RECEIVED FRAMES: ${FRAMESPERBURST}") add_test(NAME highsnr_stdio_P_P_multi diff --git a/gui/daemon.js b/gui/daemon.js index d3219732..dee8e5e2 100644 --- a/gui/daemon.js +++ b/gui/daemon.js @@ -209,7 +209,7 @@ exports.getDaemonState = function() { // START TNC // ` `== multi line string -exports.startTNC = function(mycall, mygrid, rx_audio, tx_audio, radiocontrol, devicename, deviceport, pttprotocol, pttport, serialspeed, data_bits, stop_bits, handshake, rigctld_ip, rigctld_port, enable_fft, enable_scatter, low_bandwith_mode, tuning_range_fmin, tuning_range_fmax, enable_fsk, tx_audio_level) { +exports.startTNC = function(mycall, mygrid, rx_audio, tx_audio, radiocontrol, devicename, deviceport, pttprotocol, pttport, serialspeed, data_bits, stop_bits, handshake, rigctld_ip, rigctld_port, enable_fft, enable_scatter, low_bandwith_mode, tuning_range_fmin, tuning_range_fmax, enable_fsk, tx_audio_level, respond_to_cq) { var json_command = JSON.stringify({ type: 'set', command: 'start_tnc', @@ -235,7 +235,8 @@ exports.startTNC = function(mycall, mygrid, rx_audio, tx_audio, radiocontrol, de low_bandwith_mode : low_bandwith_mode, tuning_range_fmin : tuning_range_fmin, tuning_range_fmax : tuning_range_fmax, - tx_audio_level : tx_audio_level + tx_audio_level : tx_audio_level, + respond_to_cq : respond_to_cq }] }) diff --git a/gui/main.js b/gui/main.js index b64b6978..e669aa64 100644 --- a/gui/main.js +++ b/gui/main.js @@ -76,7 +76,8 @@ const configDefaultSettings = '{\ "beacon_interval" : 5,\ "received_files_folder" : "None",\ "tuning_range_fmin" : "-50.0",\ - "tuning_range_fmax" : "50.0"\ + "tuning_range_fmax" : "50.0",\ + "respond_to_cq" : "True" \ }'; if (!fs.existsSync(configPath)) { diff --git a/gui/preload-main.js b/gui/preload-main.js index 6bfb2620..bde9863d 100644 --- a/gui/preload-main.js +++ b/gui/preload-main.js @@ -110,8 +110,9 @@ document.getElementById('openReceivedFilesFolder').addEventListener('click', () document.getElementById("scatterSwitch").value = config.enable_scatter; document.getElementById("fftSwitch").value = config.enable_fft; - document.getElementById("500HzModeSwitch").value = config.low_bandwith_mode; - document.getElementById("fskModeSwitch").value = config.enable_fsk; + //document.getElementById("500HzModeSwitch").value = config.low_bandwith_mode; + //document.getElementById("fskModeSwitch").value = config.enable_fsk; + //document.getElementById("respondCQSwitch").value = config.respond_to_cq; document.getElementById("received_files_folder").value = config.received_files_folder; @@ -140,6 +141,12 @@ document.getElementById('openReceivedFilesFolder').addEventListener('click', () } else { document.getElementById("fskModeSwitch").checked = false; } + + if(config.respond_to_cq == 'True'){ + document.getElementById("respondCQSwitch").checked = true; + } else { + document.getElementById("respondCQSwitch").checked = false; + } // theme selector if(config.theme != 'default'){ @@ -509,6 +516,17 @@ document.getElementById('openReceivedFilesFolder').addEventListener('click', () } fs.writeFileSync(configPath, JSON.stringify(config, null, 2)); }); + + // enable response to cq clicked + document.getElementById("respondCQSwitch").addEventListener("click", () => { + if(document.getElementById("respondCQSwitch").checked == true){ + config.respond_to_cq = "True"; + } else { + config.respond_to_cq = "False"; + } + fs.writeFileSync(configPath, JSON.stringify(config, null, 2)); + }); + // enable fsk Switch clicked document.getElementById("fskModeSwitch").addEventListener("click", () => { @@ -630,6 +648,13 @@ document.getElementById('openReceivedFilesFolder').addEventListener('click', () } else { var enable_fsk = "False"; } + + if (document.getElementById("respondCQSwitch").checked == true){ + var respond_to_cq = "True"; + } else { + var respond_to_cq = "False"; + } + // loop through audio device list and select for(i = 0; i < document.getElementById("audio_input_selectbox").length; i++) { @@ -697,9 +722,8 @@ document.getElementById('openReceivedFilesFolder').addEventListener('click', () config.enable_fsk = enable_fsk; config.low_bandwith_mode = low_bandwith_mode; config.tx_audio_level = tx_audio_level; - - - + config.respond_to_cq = respond_to_cq; + fs.writeFileSync(configPath, JSON.stringify(config, null, 2)); @@ -717,7 +741,7 @@ document.getElementById('openReceivedFilesFolder').addEventListener('click', () */ - daemon.startTNC(callsign_ssid, mygrid, rx_audio, tx_audio, radiocontrol, deviceid, deviceport, pttprotocol, pttport, serialspeed, data_bits, stop_bits, handshake, rigctld_ip, rigctld_port, enable_fft, enable_scatter, low_bandwith_mode, tuning_range_fmin, tuning_range_fmax, enable_fsk, tx_audio_level); + daemon.startTNC(callsign_ssid, mygrid, rx_audio, tx_audio, radiocontrol, deviceid, deviceport, pttprotocol, pttport, serialspeed, data_bits, stop_bits, handshake, rigctld_ip, rigctld_port, enable_fft, enable_scatter, low_bandwith_mode, tuning_range_fmin, tuning_range_fmax, enable_fsk, tx_audio_level, respond_to_cq); }) diff --git a/gui/sock.js b/gui/sock.js index fc442ed6..7c2061a3 100644 --- a/gui/sock.js +++ b/gui/sock.js @@ -80,7 +80,7 @@ client.on('error', function(data) { ipcRenderer.send('request-update-tnc-state', Data); ipcRenderer.send('request-update-tnc-connection', {tnc_connection : client.readyState}); client.destroy(); - setTimeout(connectTNC, 500) + setTimeout(connectTNC, 1500) // setTimeout( function() { exports.connectTNC(tnc_host, tnc_port); }, 2000 ); }); diff --git a/gui/src/index.html b/gui/src/index.html index 77f5463c..b57d995a 100644 --- a/gui/src/index.html +++ b/gui/src/index.html @@ -86,8 +86,8 @@ - @@ -322,7 +322,7 @@ --> -