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;