diff --git a/Panels/PacketErrorPanel.js b/Panels/PacketErrorPanel.js index 258de4c..18ac59a 100644 --- a/Panels/PacketErrorPanel.js +++ b/Panels/PacketErrorPanel.js @@ -14,7 +14,10 @@ class PacketErrorPanel extends BasePanel { this.openField('Failed Packets'); this.addDynamicText('failed-packet-count', 'N/A'); - this.addDynamicText('failed-packet-count-percent', ''); + this.closeField(); + + this.openField('Successful Packets'); + this.addDynamicText('successful-packet-count', 'N/A'); this.closeField(); this.addSection('Packet Retransmission') @@ -35,13 +38,16 @@ class PacketErrorPanel extends BasePanel { } reset = () => { this.setFailedPacketIndeces([]); + this.setFailedPacketCountUnavailable(); this.setSizeCrcUnavailable(); this.setCrcUnavailable(); + this.setSuccessfulPacketCountUnavailable(); } setFailedPacketIndeces = (packetIndexes) => { this.setValueById('request-packet-indexes', packetIndexes.join(', ')); this.setValueById('failed-packet-count', packetIndexes.length.toLocaleString()); } + setFailedPacketCountUnavailable = () => this.setValueById('failed-packet-count', 'N/A'); getFailedPacketIndeces = () => { let text = this.getValueById('request-packet-indexes'); return text.replace(/\s+/g, '').split(',').filter(v => v !== '').map(Number); @@ -50,6 +56,8 @@ class PacketErrorPanel extends BasePanel { setCrcUnavailable = () => this.setValueById('crc', 'N/A'); setSizeCrcPassed = (passed) => this.setValueById('crc-size', passed ? 'Pass' : 'Fail'); setSizeCrcUnavailable = () => this.setValueById('crc-size', 'N/A'); + setSuccessfulPacketCount = (count) => this.setValueById('successful-packet-count', count.toLocaleString()); + setSuccessfulPacketCountUnavailable = () => this.setValueById('successful-packet-count', 'N/A') } export default PacketErrorPanel; \ No newline at end of file diff --git a/Panels/ReceivePanel.js b/Panels/ReceivePanel.js index b419cbd..f917725 100644 --- a/Panels/ReceivePanel.js +++ b/Panels/ReceivePanel.js @@ -43,8 +43,6 @@ class ReceivePanel extends BasePanel { }); this.addEventListener('resetClick', () => { - AudioReceiver.reset(); - StreamManager.reset(); this.setReceivedBytes([]); this.setExpectedPacketCount(0); this.setFailedPacketCount(0); diff --git a/index.js b/index.js index 2d5cf8d..dcea4f8 100644 --- a/index.js +++ b/index.js @@ -91,11 +91,11 @@ function handleWindowLoad() { // bitsSentPanel.setCode(''); // bitsReceivedPanel.setCode(''); - frequencyPanel.setMinimumFrequency(2500); - frequencyPanel.setMaximumFrequency(23000); - frequencyPanel.setFftSize(2 ** 9); - frequencyPanel.setFskPadding(3); - frequencyPanel.setMultiFskPadding(4); + frequencyPanel.setMinimumFrequency(300); + frequencyPanel.setMaximumFrequency(3400); + frequencyPanel.setFftSize(2 ** 11); + frequencyPanel.setFskPadding(2); + frequencyPanel.setMultiFskPadding(3); signalPanel.setWaveform('triangle'); signalPanel.setSegmentDurationMilliseconds(30); @@ -103,12 +103,12 @@ function handleWindowLoad() { signalPanel.setSmoothingTimeConstant(0); signalPanel.setTimeoutMilliseconds(60); - packetizationPanel.setSizePower(5); - packetizationPanel.setDataSizePower(16); + packetizationPanel.setDataSizePower(12); packetizationPanel.setDataSizeCrc(8); packetizationPanel.setDataCrc(16); + packetizationPanel.setSizePower(6); packetizationPanel.setPacketCrc(8); - packetizationPanel.setSequenceNumberPower(16); + packetizationPanel.setSequenceNumberPower(8); packetizationPanel.setErrorCorrection(true); packetizationPanel.setInterleaving(true); @@ -196,6 +196,12 @@ function handleWindowLoad() { receivePanel.addEventListener('start', handleReceivePanelStart); receivePanel.addEventListener('receive', handleReceivePanelReceive); receivePanel.addEventListener('end', handleReceivePanelEnd); + receivePanel.addEventListener('resetClick', () => { + AudioReceiver.stop(); + AudioReceiver.reset(); + StreamManager.reset(); + packetErrorPanel.reset(); + }); packetErrorPanel.addEventListener('requestPackets', requestFailedPackets); @@ -223,6 +229,7 @@ function handleWindowLoad() { }); StreamManager.addEventListener('packetReceived', () => { receivePanel.setSuccessfulPacketCount(StreamManager.countSuccessfulPackets()); + packetErrorPanel.setSuccessfulPacketCount(StreamManager.countSuccessfulPackets()); // Failed indices changed? receivePanel.setFailedPacketCount(StreamManager.countFailedPackets());