mirror of
https://github.com/lewismoten/data-over-audio.git
synced 2026-04-20 21:26:24 +08:00
configure packet size
This commit is contained in:
@@ -65,6 +65,10 @@
|
|||||||
<option value="sawtooth">Sawtooth Wave</option>
|
<option value="sawtooth">Sawtooth Wave</option>
|
||||||
<option value="triangle">Triangle Wave</option>
|
<option value="triangle">Triangle Wave</option>
|
||||||
</select><br>
|
</select><br>
|
||||||
|
Packet Size:
|
||||||
|
2^<input id="packet-size-power" type="number" min="0" max="16">
|
||||||
|
<span id="packet-size"></span>
|
||||||
|
<br>
|
||||||
Segment Duration: <input id="bit-duration-text" type="number" min="0" max="1000" value="190">ms<br>
|
Segment Duration: <input id="bit-duration-text" type="number" min="0" max="1000" value="190">ms<br>
|
||||||
Amplitude Threshold: <input id="amplitude-threshold-text" type="number" min="0" max="100" value="75"><br>
|
Amplitude Threshold: <input id="amplitude-threshold-text" type="number" min="0" max="100" value="75"><br>
|
||||||
Minimum Frequency: <input id="minimum-frequency" type="number" min="20" max="20000" value="900"><br>
|
Minimum Frequency: <input id="minimum-frequency" type="number" min="20" max="20000" value="900"><br>
|
||||||
|
|||||||
19
index.js
19
index.js
@@ -81,7 +81,13 @@ function handleWindowLoad() {
|
|||||||
document.getElementById('wave-form').value = WAVE_FORM;
|
document.getElementById('wave-form').value = WAVE_FORM;
|
||||||
document.getElementById('wave-form').addEventListener('change', (event) => {
|
document.getElementById('wave-form').addEventListener('change', (event) => {
|
||||||
WAVE_FORM = event.target.value;
|
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('pause-after-end').checked = PAUSE_AFTER_END;
|
||||||
document.getElementById('error-correction-hamming').checked = HAMMING_ERROR_CORRECTION;
|
document.getElementById('error-correction-hamming').checked = HAMMING_ERROR_CORRECTION;
|
||||||
document.getElementById('error-correction-hamming').addEventListener('change', event => {
|
document.getElementById('error-correction-hamming').addEventListener('change', event => {
|
||||||
@@ -163,6 +169,17 @@ function handleWindowLoad() {
|
|||||||
handleTextToSendInput();
|
handleTextToSendInput();
|
||||||
showSpeed();
|
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() {
|
function handleTextToSendInput() {
|
||||||
const text = textToSend.value;
|
const text = textToSend.value;
|
||||||
|
|||||||
Reference in New Issue
Block a user