Fix counting of the segments to be easier
Add test for exact test file
This commit is contained in:
@@ -4,22 +4,21 @@
|
|||||||
<title>QRTransfer</title>
|
<title>QRTransfer</title>
|
||||||
<script src="qrenc-4.0.0.js" type="text/javascript"></script>
|
<script src="qrenc-4.0.0.js" type="text/javascript"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
let $ = (ele) => document.getElementById(ele);
|
|
||||||
|
|
||||||
let fileData,
|
let fileData,
|
||||||
chunkSize,
|
chunkSize,
|
||||||
segmentPosition,
|
segmentPosition,
|
||||||
activeCanvas = 0; // double buffering.
|
activeCanvas = 0; // double buffering.
|
||||||
|
|
||||||
let serveCodes = () => {
|
const $ = (ele) => document.getElementById(ele);
|
||||||
let numChunks = fileData.length / chunkSize;
|
const serveCodes = () => {
|
||||||
let currChunk = segmentPosition / chunkSize;
|
let numChunks = Math.ceil(fileData.length / chunkSize);
|
||||||
|
let currChunk = Math.ceil(segmentPosition / chunkSize) + 1;
|
||||||
let delay = Number($("delay").value);
|
let delay = Number($("delay").value);
|
||||||
let minLeft = ((numChunks - currChunk) * delay) / 1000 / 60;
|
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(
|
displayQR(
|
||||||
currChunk + 1 + "|" + fileData.substring(segmentPosition, segmentPosition + chunkSize),
|
currChunk + "|" + fileData.substring(segmentPosition, segmentPosition + chunkSize),
|
||||||
Number($("qrSize").value),
|
Number($("qrSize").value),
|
||||||
Number($("ecc").value)
|
Number($("ecc").value)
|
||||||
);
|
);
|
||||||
@@ -29,13 +28,13 @@
|
|||||||
window.setTimeout(serveCodes, delay);
|
window.setTimeout(serveCodes, delay);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
let displayQR = (data, size, ecc) => {
|
const displayQR = (data, size, ecc) => {
|
||||||
var qr = new QR($("qrcanv" + activeCanvas), data, size, size, ecc);
|
var qr = new QR($("qrcanv" + activeCanvas), data, size, size, ecc);
|
||||||
$("qrcanv" + (activeCanvas === 0 ? 1 : 0)).style.display = "none";
|
$("qrcanv" + (activeCanvas === 0 ? 1 : 0)).style.display = "none";
|
||||||
$("qrcanv" + activeCanvas).style.display = "block";
|
$("qrcanv" + activeCanvas).style.display = "block";
|
||||||
activeCanvas = activeCanvas === 0 ? 1 : 0;
|
activeCanvas = activeCanvas === 0 ? 1 : 0;
|
||||||
};
|
};
|
||||||
let getFile = (fileName) => {
|
const getFile = (fileName) => {
|
||||||
chunkSize = Number($("chunkSize").value);
|
chunkSize = Number($("chunkSize").value);
|
||||||
segmentPosition = Number($("startChunk").value * chunkSize);
|
segmentPosition = Number($("startChunk").value * chunkSize);
|
||||||
|
|
||||||
@@ -66,7 +65,7 @@
|
|||||||
<hr />
|
<hr />
|
||||||
Status:<span id="status">...</span>
|
Status:<span id="status">...</span>
|
||||||
<hr />
|
<hr />
|
||||||
Filename:<input type="text" id="inputFileName" value="testInput/5K.dat" />
|
Filename:<input type="text" id="inputFileName" value="testInput/matchSeg.dat" />
|
||||||
<br />
|
<br />
|
||||||
ECC (1-4):<input type="number" value="4" id="ecc" />
|
ECC (1-4):<input type="number" value="4" id="ecc" />
|
||||||
<br />
|
<br />
|
||||||
|
|||||||
1
Client/testInput/matchSeg.dat
Normal file
1
Client/testInput/matchSeg.dat
Normal file
@@ -0,0 +1 @@
|
|||||||
|
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||||
Reference in New Issue
Block a user