|
@@ -15,7 +15,6 @@ var apList = null;
|
|
|
var selectedSSID = "";
|
|
|
var refreshAPInterval = null;
|
|
|
var checkStatusInterval = null;
|
|
|
-var checkConfigInterval = null;
|
|
|
|
|
|
var StatusIntervalActive = false;
|
|
|
var ConfigIntervalActive = false;
|
|
@@ -29,13 +28,6 @@ function stopCheckStatusInterval(){
|
|
|
}
|
|
|
StatusIntervalActive = false;
|
|
|
}
|
|
|
-function stopCheckConfigInterval(){
|
|
|
- if(checkConfigInterval != null){
|
|
|
- clearTimeout(checkConfigInterval);
|
|
|
- checkConfigInterval = null;
|
|
|
- }
|
|
|
- ConfigIntervalActive=false;
|
|
|
-}
|
|
|
|
|
|
function stopRefreshAPInterval(){
|
|
|
|
|
@@ -51,10 +43,6 @@ function startCheckStatusInterval(){
|
|
|
StatusIntervalActive = true;
|
|
|
checkStatusInterval = setTimeout(checkStatus, 950);
|
|
|
}
|
|
|
-function startCheckConfigInterval(){
|
|
|
- ConfigIntervalActive = true;
|
|
|
- checkConfigInterval = setTimeout(checkConfig, 950);
|
|
|
-}
|
|
|
|
|
|
function startRefreshAPInterval(){
|
|
|
RefreshAPIIntervalActive = true;
|
|
@@ -78,8 +66,6 @@ function RepeatRefreshAPInterval(){
|
|
|
}
|
|
|
|
|
|
$(document).ready(function(){
|
|
|
-
|
|
|
-
|
|
|
$("#wifi-status").on("click", ".ape", function() {
|
|
|
$( "#wifi" ).slideUp( "fast", function() {});
|
|
|
$( "#connect-details" ).slideDown( "fast", function() {});
|
|
@@ -138,19 +124,10 @@ $(document).ready(function(){
|
|
|
$( "#wifi" ).slideDown( "fast", function() {});
|
|
|
|
|
|
});
|
|
|
- $("#update").on("click", function() {
|
|
|
-
|
|
|
- performUpdate();
|
|
|
- });
|
|
|
- $("#factory").on("click", function() {
|
|
|
-
|
|
|
- performFactory();
|
|
|
- });
|
|
|
|
|
|
$("#ok-credits").on("click", function() {
|
|
|
$( "#credits" ).slideUp( "fast", function() {});
|
|
|
$( "#app" ).slideDown( "fast", function() {});
|
|
|
-
|
|
|
});
|
|
|
|
|
|
$("#acredits").on("click", function(event) {
|
|
@@ -196,48 +173,18 @@ $(document).ready(function(){
|
|
|
$( "#wifi" ).slideDown( "fast", function() {})
|
|
|
});
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ $("#update-command").on("click", function() {
|
|
|
+ updateAutoexec();
|
|
|
+ });
|
|
|
+
|
|
|
//first time the page loads: attempt get the connection status and start the wifi scan
|
|
|
refreshAP();
|
|
|
startCheckStatusInterval();
|
|
|
startRefreshAPInterval();
|
|
|
- startCheckConfigInterval();
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ getConfig();
|
|
|
});
|
|
|
|
|
|
|
|
|
-function performUpdate(){
|
|
|
- autoexec1 = $("#autoexec1").val();
|
|
|
- //reset connection
|
|
|
-//
|
|
|
-// $( "#ok-connect" ).prop("disabled",true);
|
|
|
-// $( "#ssid-wait" ).text(selectedSSID);
|
|
|
-// $( "#connect" ).slideUp( "fast", function() {});
|
|
|
-// $( "#connect_manual" ).slideUp( "fast", function() {});
|
|
|
-// $( "#connect-wait" ).slideDown( "fast", function() {});
|
|
|
-// // todo: should we update the UI here?
|
|
|
-
|
|
|
- $.ajax({
|
|
|
- url: '/config.json',
|
|
|
- dataType: 'json',
|
|
|
- method: 'POST',
|
|
|
- cache: false,
|
|
|
- headers: { 'X-Custom-autoexec1': autoexec1 },
|
|
|
- data: { 'timestamp': Date.now()}
|
|
|
- });
|
|
|
-
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
function performFactory(){
|
|
|
|
|
|
// $( "#ok-connect" ).prop("disabled",true);
|
|
@@ -258,7 +205,6 @@ function performFactory(){
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
function performConnect(conntype){
|
|
|
|
|
|
//stop the status refresh. This prevents a race condition where a status
|
|
@@ -302,7 +248,6 @@ function performConnect(conntype){
|
|
|
//now we can re-set the intervals regardless of result
|
|
|
startCheckStatusInterval();
|
|
|
startRefreshAPInterval();
|
|
|
-
|
|
|
}
|
|
|
|
|
|
|
|
@@ -322,7 +267,6 @@ function rssiToIcon(rssi){
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
function refreshAP(){
|
|
|
$.getJSON( "/ap.json", function( data ) {
|
|
|
if(data.length > 0){
|
|
@@ -337,7 +281,6 @@ function refreshAP(){
|
|
|
}
|
|
|
});
|
|
|
RepeatRefreshAPInterval();
|
|
|
-
|
|
|
}
|
|
|
|
|
|
function refreshAPHTML(data){
|
|
@@ -350,9 +293,6 @@ function refreshAPHTML(data){
|
|
|
$( "#wifi-list" ).html(h)
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
function checkStatus(){
|
|
|
$.getJSON( "/status.json", function( data ) {
|
|
|
if(data.hasOwnProperty('autoexec1') && data['autoexec1'] != ""){
|
|
@@ -424,31 +364,46 @@ function checkStatus(){
|
|
|
RepeatCheckStatusInterval();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-function checkConfig(){
|
|
|
- var h = "";
|
|
|
- //{ "autoexec" : 0, "list" : [{ 'autoexec1' : 'squeezelite -o "I2S" -b 500:2000 -d all=info -M esp32' }]}
|
|
|
- $.getJSON( "/config.json", function( data ) {
|
|
|
- if(data.hasOwnProperty('autoexec')) {
|
|
|
- h+= '<div id="autoexec">Autoexec: {0}</div>'.format(data["autoexec"]===1?"Active":"Inactive");
|
|
|
- }
|
|
|
- if(data.hasOwnProperty('list')) {
|
|
|
- data["list"].forEach(function(e, idx, array) {
|
|
|
- for (const [key, value] of Object.entries(e)) {
|
|
|
- h+= '<input id="{0}" type="text" maxlength="201" value="{1}"><br>'.format(key,value);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- );
|
|
|
- h += "\n";
|
|
|
- $( "#command-list" ).html(h);
|
|
|
- }
|
|
|
-
|
|
|
+function getConfig() {
|
|
|
+ $.getJSON("/config.json", function(data) {
|
|
|
+ if (data.hasOwnProperty('autoexec')) {
|
|
|
+ if (data["autoexec"] === 1) {
|
|
|
+ console.log('turn on autoexec');
|
|
|
+ $("#autoexec-cb")[0].checked=true;
|
|
|
+ } else {
|
|
|
+ console.log('turn off autoexec');
|
|
|
+ $("#autoexec-cb")[0].checked=false;
|
|
|
+ $("#autoexec-command").hide(200);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (data.hasOwnProperty('list')) {
|
|
|
+ data.list.forEach(function(line) {
|
|
|
+ let key = Object.keys(line)[0];
|
|
|
+ let val = Object.values(line)[0];
|
|
|
+ console.log(key, val);
|
|
|
+ if (key == 'autoexec1') {
|
|
|
+ $("#autoexec1").val(val);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
})
|
|
|
.fail(function() {
|
|
|
- //don't do anything, the server might be down while esp32 recalibrates radio
|
|
|
+ console.log("failed to fetch config!");
|
|
|
});
|
|
|
+}
|
|
|
|
|
|
- RepeatCheckConfigInterval();
|
|
|
-
|
|
|
+function updateAutoexec(){
|
|
|
+ autoexec = ($("#autoexec-cb")[0].checked)?1:0;
|
|
|
+ autoexec1 = $("#autoexec1").val();
|
|
|
+
|
|
|
+ $.ajax({
|
|
|
+ url: '/config.json',
|
|
|
+ dataType: 'json',
|
|
|
+ method: 'POST',
|
|
|
+ cache: false,
|
|
|
+ headers: { "X-Custom-autoexec": autoexec, "X-Custom-autoexec1": autoexec1 },
|
|
|
+ data: { 'timestamp': Date.now() }
|
|
|
+ });
|
|
|
+ console.log('sent config JSON with headers:', autoexec, autoexec1);
|
|
|
}
|
|
|
+
|