Skip to content
This repository was archived by the owner on Nov 20, 2023. It is now read-only.

Commit 67c9446

Browse files
committed
added basic debug time slider
1 parent 15656ec commit 67c9446

File tree

4 files changed

+34
-2
lines changed

4 files changed

+34
-2
lines changed

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@
109109
<button type="button" id="debugBackBtn">&#x23EE;</button>
110110
<button type="button" id="debugPauseBtn">&#x23EF;</button>
111111
<button type="button" id="debugForwardBtn">&#x23ED;</button>
112-
<input type="range" value ="0" min="0" max="100" step="0.1" oninput="this.nextElementSibling.value = this.value" id="timeSlider">
112+
<input type="range" value ="0" min="0" max="100" step="1" oninput="this.nextElementSibling.value = this.value" id="timeSlider">
113113
<output class="text" id="timeSliderVal">0</output>
114114

115115
</div>

scripts/events.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ uploadDebugBtn.onchange = function() {
460460
// leftVel, rightVel
461461
//
462462
// loop to get debug data
463-
for (i++; i < lines.length; i++) {
463+
for (i++; i < lines.length-1; i++) {
464464
const line = lines[i].split(', ');
465465
const timestamp = parseFloat(line[0]);
466466
const rbtX = parseFloat(line[1]);
@@ -541,6 +541,9 @@ rewindBtn.onclick = function() {
541541
pauseBtn.onclick = function() {
542542
debugRun = !debugRun;
543543
if (debugRun == true) {
544+
if (debugDataTime == debugDataList.length-1) {
545+
debugDataTime = 0;
546+
}
544547
clearInterval(intervalId);
545548
intervalId = setInterval(render, 10);
546549
} else {
@@ -557,3 +560,15 @@ forwardBtn.onclick = function() {
557560
debugDataTime++;
558561
}
559562
};
563+
564+
565+
/**
566+
* @brief debug time slider changed
567+
*/
568+
debugTimeSlider.oninput = function() {
569+
debugDataTime = this.value;
570+
if (debugSet == true) {
571+
renderField();
572+
renderDebug();
573+
}
574+
};

scripts/render.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,10 @@ function renderCreate() {
159159
* @brief render for debug mode
160160
*/
161161
function renderDebug() {
162+
// get debug data time
163+
debugTimeSlider.max = debugDataList.length-1;
164+
const debugTime = debugTimeSlider.value;
165+
162166
// render the path
163167
for (let i = 0; i < debugPath.length; i++) {
164168
const p1 = coordToPx(debugPath[i]);
@@ -214,6 +218,15 @@ function renderDebug() {
214218
ctx.lineTo(headingVecPx.x, headingVecPx.y);
215219
ctx.stroke();
216220
ctx.closePath();
221+
222+
// update the time
223+
if (debugDataTime < debugDataList.length - 1) {
224+
debugDataTime++;
225+
} else {
226+
debugRun = false;
227+
clearInterval(intervalId);
228+
}
229+
debugTimeSlider.value = debugDataTime;
217230
};
218231

219232

scripts/userInput.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ const rDSlider = document.getElementById('rD');
2626
const rBSlider = document.getElementById('rB');
2727
const rGSlider = document.getElementById('rG');
2828

29+
const debugTimeSlider = document.getElementById('timeSlider');
30+
2931
// slider values
3032
const lookaheadVal = document.getElementById('lookaheadVal');
3133
const decelVal = document.getElementById('decelVal');
@@ -54,6 +56,8 @@ const rDVal = document.getElementById('rDVal');
5456
const rBVal = document.getElementById('rBVal');
5557
const rGVal = document.getElementById('rGVal');
5658

59+
const debugTimeVal = document.getElementById('timeSliderVal');
60+
5761

5862
// buttons
5963
const downloadRobotBtn = document.getElementById('downloadRobotBtn');

0 commit comments

Comments
 (0)