Fix counting of the segments to be easier

Add test for exact test file
This commit is contained in:
Joe Tretter
2022-09-05 10:36:27 -05:00
parent efbcc508cb
commit 80d4171cc4
2 changed files with 10 additions and 10 deletions

View File

@@ -4,22 +4,21 @@
<title>QRTransfer</title>
<script src="qrenc-4.0.0.js" type="text/javascript"></script>
<script type="text/javascript">
let $ = (ele) => document.getElementById(ele);
let fileData,
chunkSize,
segmentPosition,
activeCanvas = 0; // double buffering.
let serveCodes = () => {
let numChunks = fileData.length / chunkSize;
let currChunk = segmentPosition / chunkSize;
const $ = (ele) => document.getElementById(ele);
const serveCodes = () => {
let numChunks = Math.ceil(fileData.length / chunkSize);
let currChunk = Math.ceil(segmentPosition / chunkSize) + 1;
let delay = Number($("delay").value);
let minLeft = ((numChunks - currChunk) * delay) / 1000 / 60;
$("status").innerText = `${currChunk}/${Math.ceil(numChunks)}/${(currChunk / numChunks).toFixed(2)}% (${minLeft.toFixed(2)} minutes left.)`;
$("status").innerText = `${currChunk}/${numChunks}/${((currChunk / numChunks) * 100).toFixed(2)}% (${minLeft.toFixed(2)} min left.)`;
displayQR(
currChunk + 1 + "|" + fileData.substring(segmentPosition, segmentPosition + chunkSize),
currChunk + "|" + fileData.substring(segmentPosition, segmentPosition + chunkSize),
Number($("qrSize").value),
Number($("ecc").value)
);
@@ -29,13 +28,13 @@
window.setTimeout(serveCodes, delay);
}
};
let displayQR = (data, size, ecc) => {
const displayQR = (data, size, ecc) => {
var qr = new QR($("qrcanv" + activeCanvas), data, size, size, ecc);
$("qrcanv" + (activeCanvas === 0 ? 1 : 0)).style.display = "none";
$("qrcanv" + activeCanvas).style.display = "block";
activeCanvas = activeCanvas === 0 ? 1 : 0;
};
let getFile = (fileName) => {
const getFile = (fileName) => {
chunkSize = Number($("chunkSize").value);
segmentPosition = Number($("startChunk").value * chunkSize);
@@ -66,7 +65,7 @@
<hr />
Status:<span id="status">...</span>
<hr />
Filename:<input type="text" id="inputFileName" value="testInput/5K.dat" />
Filename:<input type="text" id="inputFileName" value="testInput/matchSeg.dat" />
<br />
ECC (1-4):<input type="number" value="4" id="ecc" />
<br />

View File

@@ -0,0 +1 @@
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890