mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
first working message exchange
message will not saved to database yet
This commit is contained in:
parent
9dcf98e229
commit
a952b49ce6
5 changed files with 102 additions and 13 deletions
|
@ -122,7 +122,7 @@ function createWindow() {
|
||||||
})
|
})
|
||||||
|
|
||||||
chat.loadFile('src/chat-module.html')
|
chat.loadFile('src/chat-module.html')
|
||||||
|
chat.setMenuBarVisibility(false)
|
||||||
|
|
||||||
|
|
||||||
// Emitted when the window is closed.
|
// Emitted when the window is closed.
|
||||||
|
|
|
@ -2,8 +2,6 @@ const path = require('path')
|
||||||
const {
|
const {
|
||||||
ipcRenderer
|
ipcRenderer
|
||||||
} = require('electron')
|
} = require('electron')
|
||||||
const sock = require('./sock.js');
|
|
||||||
|
|
||||||
|
|
||||||
// https://stackoverflow.com/a/26227660
|
// https://stackoverflow.com/a/26227660
|
||||||
var appDataFolder = process.env.APPDATA || (process.platform == 'darwin' ? process.env.HOME + '/Library/Application Support' : process.env.HOME + "/.config")
|
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', () => {
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
// SEND MSG
|
// SEND MSG
|
||||||
document.getElementById("sendMessage").addEventListener("click", () => {
|
document.getElementById("sendMessage").addEventListener("click", () => {
|
||||||
dxcallsign = document.getElementById('chatModuledxCall').value
|
dxcallsign = document.getElementById('chatModuleDxCall').value
|
||||||
|
message = document.getElementById('chatModuleMessage').value
|
||||||
|
|
||||||
let Data = {
|
let Data = {
|
||||||
command: "sendMessage",
|
command: "sendMessage",
|
||||||
dxcallsign : dxcallsign.toUpperCase(),
|
dxcallsign : dxcallsign.toUpperCase(),
|
||||||
mode : 10,
|
mode : 10,
|
||||||
frames : 1,
|
frames : 1,
|
||||||
data : 'hallo welt',
|
data : message,
|
||||||
checksum : '123'
|
checksum : '123'
|
||||||
};
|
};
|
||||||
ipcRenderer.send('run-tnc-command', Data);
|
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"});
|
||||||
})
|
})
|
||||||
|
|
|
@ -22,7 +22,7 @@ const config = require(configPath);
|
||||||
setInterval(daemon.getDaemonState, 1000)
|
setInterval(daemon.getDaemonState, 1000)
|
||||||
setInterval(sock.getTncState, 150)
|
setInterval(sock.getTncState, 150)
|
||||||
setInterval(sock.getRxBuffer, 1000)
|
setInterval(sock.getRxBuffer, 1000)
|
||||||
|
setInterval(sock.getMsgRxBuffer, 1000)
|
||||||
// UPDATE FFT DEMO
|
// UPDATE FFT DEMO
|
||||||
/*
|
/*
|
||||||
updateFFT = function(fft) {
|
updateFFT = function(fft) {
|
||||||
|
@ -1196,4 +1196,7 @@ ipcRenderer.on('run-tnc-command', (event, arg) => {
|
||||||
if (arg.command == 'stopTransmission') {
|
if (arg.command == 'stopTransmission') {
|
||||||
sock.stopTransmission()
|
sock.stopTransmission()
|
||||||
}
|
}
|
||||||
|
if (arg.command == 'delRxMsgBuffer') {
|
||||||
|
sock.delRxMsgBuffer()
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
16
gui/sock.js
16
gui/sock.js
|
@ -166,7 +166,7 @@ client.on('data', function(data) {
|
||||||
let Data = {
|
let Data = {
|
||||||
data: data['DATA-ARRAY'],
|
data: data['DATA-ARRAY'],
|
||||||
};
|
};
|
||||||
console.log(Data)
|
|
||||||
ipcRenderer.send('request-update-rx-buffer', Data);
|
ipcRenderer.send('request-update-rx-buffer', Data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ client.on('data', function(data) {
|
||||||
let Data = {
|
let Data = {
|
||||||
data: data['DATA-ARRAY'],
|
data: data['DATA-ARRAY'],
|
||||||
};
|
};
|
||||||
//console.log(Data)
|
|
||||||
ipcRenderer.send('request-update-rx-msg-buffer', Data);
|
ipcRenderer.send('request-update-rx-msg-buffer', Data);
|
||||||
}
|
}
|
||||||
// check if EOF ...
|
// check if EOF ...
|
||||||
|
@ -271,3 +271,15 @@ exports.getMsgRxBuffer = function() {
|
||||||
writeTncCommand(command)
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,9 +18,36 @@
|
||||||
<script src="../node_modules/chart.js/dist/chart.min.js"></script>
|
<script src="../node_modules/chart.js/dist/chart.min.js"></script>
|
||||||
<script src="../node_modules/chartjs-plugin-annotation/dist/chartjs-plugin-annotation.min.js"></script>
|
<script src="../node_modules/chartjs-plugin-annotation/dist/chartjs-plugin-annotation.min.js"></script>
|
||||||
|
|
||||||
|
<div class="input-group m-1">
|
||||||
<input id="chatModuledxCall"></input>
|
<input class="form-control" maxlength="6" style="max-width: 6rem; text-transform:uppercase" id="chatModuleDxCall" placeholder="DX CALL"></input>
|
||||||
|
<input class="form-control" id="chatModuleMessage" placeholder="Message"></input>
|
||||||
<button class="btn btn-sm btn-primary me-2" id="sendMessage" type="button">SEND MSG</button>
|
<button class="btn btn-sm btn-primary me-2" id="sendMessage" type="button">SEND MSG</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">Time</th>
|
||||||
|
<th scope="col">DXCall</th>
|
||||||
|
<!--<th scope="col">DXGrid</th>
|
||||||
|
<th scope="col">Distance</th>-->
|
||||||
|
<th scope="col">Message</th>
|
||||||
|
<!--<th scope="col">SNR</th>-->
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="rx-msg-data">
|
||||||
|
<!--
|
||||||
|
<tr>
|
||||||
|
<th scope="row">1</th>
|
||||||
|
<td>Mark</td>
|
||||||
|
<td>Otto</td>
|
||||||
|
<td>@mdo</td>
|
||||||
|
</tr>
|
||||||
|
-->
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in a new issue