diff --git a/index.html b/index.html index 3a10941..0c8981b 100644 --- a/index.html +++ b/index.html @@ -65,6 +65,10 @@
+ Packet Size: + 2^ + +
Segment Duration: ms
Amplitude Threshold:
Minimum Frequency:
diff --git a/index.js b/index.js index 41a4ec6..e874ca1 100644 --- a/index.js +++ b/index.js @@ -81,7 +81,13 @@ function handleWindowLoad() { document.getElementById('wave-form').value = WAVE_FORM; document.getElementById('wave-form').addEventListener('change', (event) => { WAVE_FORM = event.target.value; - }) + }); + document.getElementById('packet-size-power').value = PACKET_SIZE_BITS; + document.getElementById('packet-size').innerText = friendlyByteSize(2 ** PACKET_SIZE_BITS); + document.getElementById('packet-size-power').addEventListener('input', event => { + PACKET_SIZE_BITS = parseInt(event.target.value); + document.getElementById('packet-size').innerText = friendlyByteSize(2 ** PACKET_SIZE_BITS); + }); document.getElementById('pause-after-end').checked = PAUSE_AFTER_END; document.getElementById('error-correction-hamming').checked = HAMMING_ERROR_CORRECTION; document.getElementById('error-correction-hamming').addEventListener('change', event => { @@ -163,6 +169,17 @@ function handleWindowLoad() { handleTextToSendInput(); showSpeed(); } +function friendlyByteSize(count) { + let unitIndex = 0; + const units = ['bytes', 'kb', 'mb', 'gb', 'tb', 'pb']; + while(count > 900) { + count /= 1024; + unitIndex++; + if(unitIndex === units.length - 1) break; + } + count = Math.floor(count * 10) * 0.1 + return `${count.toLocaleString()} ${units[unitIndex]}` +} function handleTextToSendInput() { const text = textToSend.value;