diff --git a/gui/main.js b/gui/main.js index da62c959..b0c4f4ec 100644 --- a/gui/main.js +++ b/gui/main.js @@ -122,7 +122,7 @@ function createWindow() { }) chat.loadFile('src/chat-module.html') - + chat.setMenuBarVisibility(false) // Emitted when the window is closed. diff --git a/gui/preload-chat.js b/gui/preload-chat.js index ac15931f..d401a36a 100644 --- a/gui/preload-chat.js +++ b/gui/preload-chat.js @@ -2,8 +2,6 @@ const path = require('path') const { ipcRenderer } = require('electron') -const sock = require('./sock.js'); - // https://stackoverflow.com/a/26227660 var appDataFolder = process.env.APPDATA || (process.platform == 'darwin' ? process.env.HOME + '/Library/Application Support' : process.env.HOME + "/.config") @@ -18,13 +16,15 @@ var chatDB = path.join(configFolder, 'chatDB.json') window.addEventListener('DOMContentLoaded', () => { // SEND MSG document.getElementById("sendMessage").addEventListener("click", () => { - dxcallsign = document.getElementById('chatModuledxCall').value + dxcallsign = document.getElementById('chatModuleDxCall').value + message = document.getElementById('chatModuleMessage').value + let Data = { command: "sendMessage", dxcallsign : dxcallsign.toUpperCase(), mode : 10, frames : 1, - data : 'hallo welt', + data : message, checksum : '123' }; ipcRenderer.send('run-tnc-command', Data); @@ -33,9 +33,56 @@ window.addEventListener('DOMContentLoaded', () => { }) -ipcRenderer.on('action-update-rx-buffer', (event, arg) => { +ipcRenderer.on('action-update-rx-msg-buffer', (event, arg) => { - alert(arg) + var data = arg.data + console.log(arg.data) + var tbl = document.getElementById("rx-msg-data"); + document.getElementById("rx-msg-data").innerHTML = '' + + + + for (i = 0; i < arg.data.length; i++) { + + + + // now we update the received files list + var row = document.createElement("tr"); + //https://stackoverflow.com/q/51421470 + + //https://stackoverflow.com/a/847196 + timestampRaw = arg.data[i]['TIMESTAMP'] + var date = new Date(timestampRaw * 1000); + var hours = date.getHours(); + var minutes = "0" + date.getMinutes(); + var seconds = "0" + date.getSeconds(); + var datetime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2); + + var timestamp = document.createElement("td"); + var timestampText = document.createElement('span'); + timestampText.innerText = datetime + timestamp.appendChild(timestampText); + + var dxCall = document.createElement("td"); + var dxCallText = document.createElement('span'); + dxCallText.innerText = arg.data[i]['DXCALLSIGN'] + dxCall.appendChild(dxCallText); + + var message = document.createElement("td"); + var messageText = document.createElement('span'); + var messageString = arg.data[i]['RXDATA'][0]['data'] + messageText.innerText = messageString + message.appendChild(messageText); + + row.appendChild(timestamp); + row.appendChild(dxCall); + row.appendChild(message); + + tbl.appendChild(row); + + } + + ipcRenderer.send('run-tnc-command', {"command" : "delRxMsgBuffer"}); }) diff --git a/gui/preload-main.js b/gui/preload-main.js index a2ab95e9..60991ea0 100644 --- a/gui/preload-main.js +++ b/gui/preload-main.js @@ -22,7 +22,7 @@ const config = require(configPath); setInterval(daemon.getDaemonState, 1000) setInterval(sock.getTncState, 150) setInterval(sock.getRxBuffer, 1000) - +setInterval(sock.getMsgRxBuffer, 1000) // UPDATE FFT DEMO /* updateFFT = function(fft) { @@ -1196,4 +1196,7 @@ ipcRenderer.on('run-tnc-command', (event, arg) => { if (arg.command == 'stopTransmission') { sock.stopTransmission() } + if (arg.command == 'delRxMsgBuffer') { + sock.delRxMsgBuffer() + } }); diff --git a/gui/sock.js b/gui/sock.js index 6838889b..ce38af19 100644 --- a/gui/sock.js +++ b/gui/sock.js @@ -127,7 +127,7 @@ client.on('data', function(data) { // set length of RX Buffer to global variable rxBufferLengthTnc = data['RX_BUFFER_LENGTH'] rxMsgBufferLengthTnc = data['RX_MSG_BUFFER_LENGTH'] - + let Data = { toe: Date.now() - data['TIMESTAMP'], // time of execution ptt_state: data['PTT_STATE'], @@ -166,7 +166,7 @@ client.on('data', function(data) { let Data = { data: data['DATA-ARRAY'], }; - console.log(Data) + ipcRenderer.send('request-update-rx-buffer', Data); } @@ -176,7 +176,7 @@ client.on('data', function(data) { let Data = { data: data['DATA-ARRAY'], }; - //console.log(Data) + ipcRenderer.send('request-update-rx-msg-buffer', Data); } // check if EOF ... @@ -271,3 +271,15 @@ exports.getMsgRxBuffer = function() { writeTncCommand(command) } } + +// DELETE RX MSG BUffer +exports.delRxMsgBuffer = function() { + command = '{"type" : "SET", "command" : "DEL_RX_MSG_BUFFER", "timestamp" : ' + Date.now() + '}' + + // call command only if new data arrived + if (rxMsgBufferLengthGui != rxMsgBufferLengthTnc) { + writeTncCommand(command) + } +} + + diff --git a/gui/src/chat-module.html b/gui/src/chat-module.html index 944b9fc9..33d988e5 100644 --- a/gui/src/chat-module.html +++ b/gui/src/chat-module.html @@ -18,9 +18,36 @@ - - +
+ + +
+ + + + + + + + + + + + + +
TimeDXCallMessage
+ + +