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
|
@ -122,7 +122,7 @@ function createWindow() {
|
|||
})
|
||||
|
||||
chat.loadFile('src/chat-module.html')
|
||||
|
||||
chat.setMenuBarVisibility(false)
|
||||
|
||||
|
||||
// Emitted when the window is closed.
|
||||
|
|
|
@ -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"});
|
||||
})
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
});
|
||||
|
|
18
gui/sock.js
18
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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -18,9 +18,36 @@
|
|||
<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>
|
||||
|
||||
|
||||
<input id="chatModuledxCall"></input>
|
||||
<div class="input-group m-1">
|
||||
<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>
|
||||
</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>
|
||||
</html>
|
||||
|
|
Loading…
Reference in a new issue