|
|
|
@ -59,6 +59,92 @@ function baudButton(baud) { |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function consoleSendInit() { |
|
|
|
|
var sendHistory = $("#send-history"); |
|
|
|
|
var inputText = $("#input-text"); |
|
|
|
|
var inputAddCr = $("#input-add-cr"); |
|
|
|
|
var inputAddLf = $("#input-add-lf"); |
|
|
|
|
|
|
|
|
|
function findHistory(text) { |
|
|
|
|
for (var i = 0; i < sendHistory.children.length; i++) { |
|
|
|
|
if (text == sendHistory.children[i].value) { |
|
|
|
|
return i; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function loadHistory(idx) { |
|
|
|
|
sendHistory.value = sendHistory.children[idx].value; |
|
|
|
|
inputText.value = sendHistory.children[idx].value; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function navHistory(rel) { |
|
|
|
|
var idx = findHistory(sendHistory.value) + rel; |
|
|
|
|
if (idx < 0) { |
|
|
|
|
idx = sendHistory.children.length - 1; |
|
|
|
|
} |
|
|
|
|
if (idx >= sendHistory.children.length) { |
|
|
|
|
idx = 0; |
|
|
|
|
} |
|
|
|
|
loadHistory(idx); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
sendHistory.addEventListener("change", function(e) { |
|
|
|
|
inputText.value = sendHistory.value; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
function pushHistory(text) { |
|
|
|
|
var idx = findHistory(text); |
|
|
|
|
if (idx !== null) { |
|
|
|
|
loadHistory(idx); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
var newOption = m('<option>'+ |
|
|
|
|
(text |
|
|
|
|
.replace(/&/g, '&') |
|
|
|
|
.replace(/</g, '<') |
|
|
|
|
.replace(/>/g, '>') |
|
|
|
|
.replace(/"/g, '"')) |
|
|
|
|
+'</option>'); |
|
|
|
|
newOption.value = text; |
|
|
|
|
sendHistory.appendChild(newOption); |
|
|
|
|
sendHistory.value = text; |
|
|
|
|
for (; sendHistory.children.length > 15; ) { |
|
|
|
|
sendHistory.removeChild(sendHistory.children[0]); |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
inputText.addEventListener("keydown", function(e) { |
|
|
|
|
switch (e.keyCode) { |
|
|
|
|
case 38: /* the up arrow key pressed */ |
|
|
|
|
e.preventDefault(); |
|
|
|
|
navHistory(-1); |
|
|
|
|
break; |
|
|
|
|
case 40: /* the down arrow key pressed */ |
|
|
|
|
e.preventDefault(); |
|
|
|
|
navHistory(+1); |
|
|
|
|
break; |
|
|
|
|
case 27: /* the escape key pressed */ |
|
|
|
|
e.preventDefault(); |
|
|
|
|
inputText.value = ""; |
|
|
|
|
sendHistory.value = ""; |
|
|
|
|
break; |
|
|
|
|
case 13: /* the enter key pressed */ |
|
|
|
|
e.preventDefault(); |
|
|
|
|
var text = inputText.value; |
|
|
|
|
if (inputAddCr.checked) text += '\r'; |
|
|
|
|
if (inputAddLf.checked) text += '\n'; |
|
|
|
|
ajaxSpin('POST', "/console/send?text=" + encodeURIComponent(text), |
|
|
|
|
function(resp) { showNotification("uC sent"); pushHistory(inputText.value); }, |
|
|
|
|
function(s, st) { showWarning("Error sending text to uC"); } |
|
|
|
|
); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//===== Log page
|
|
|
|
|
|
|
|
|
|
function showDbgMode(mode) { |
|
|
|
|