Browse Source

Merge branch 'WiFi-Manager' of https://github.com/philippe44/squeezelite-esp32 into WiFi-Manager

philippe44 5 years ago
parent
commit
12572130c4

+ 1 - 1
components/wifi-manager/Kconfig.projbuild

@@ -2,7 +2,7 @@ menu "Wifi Manager Configuration"
 
 config WIFI_MANAGER_TASK_PRIORITY
     int "RTOS Task Priority for the wifi_manager"
-    default 5
+    default 1
     help
 	Tasks spawn by the manager will have a priority of WIFI_MANAGER_TASK_PRIORITY-1. For this particular reason, minimum recommended task priority is 2.
 

+ 17 - 0
components/wifi-manager/code.js

@@ -1,3 +1,4 @@
+var recovery = 0;
 var commandHeader = 'squeezelite -b 500:2000 -d all=info ';
 
 // First, checks if it isn't implemented yet.
@@ -187,6 +188,16 @@ $(document).ready(function(){
         selectOutput(this);
    	});
 
+    if (recovery) {
+		$("#recoverydiv").hide();
+		$("#otadiv").show();
+		$("#command_line").hide();
+		$("#wifi").hide();
+    } else {
+		$("#recoverydiv").show();
+		$("#otadiv").hide();
+    }
+
 	//first time the page loads: attempt get the connection status and start the wifi scan
 	refreshAP();
 	startCheckStatusInterval();
@@ -304,6 +315,7 @@ function checkStatus(){
 					
 					//update wait screen
 					$( "#loading" ).hide();
+					$( "#connect-success" ).append("<p>Your IP address now is: " + text(data["ip"]) + "</p>");
 					$( "#connect-success" ).show();
 					$( "#connect-fail" ).hide();
 				}
@@ -418,6 +430,9 @@ function selectOutput(el) {
     if ($(el).attr('id') == 'bt') {
         $("#btsinkdiv").show(200);
         output = 'bt';
+    } else if ($(el).attr('id') == 'spdif') {
+        $("#btsinkdiv").hide(200);
+        output = 'spdif';
     } else {
         $("#btsinkdiv").hide(200);
         output = 'i2s';
@@ -429,6 +444,8 @@ function generateCommand() {
 
     if (output == 'bt') {
         commandLine += ' -o "BT -n \'' + $("#btsink").val() + '\'"  -R -u m -Z 192000 -r "44100-44100"';
+    } else if (output == 'spdif') {
+        commandLine += ' -o SPDIF';
     } else {
         commandLine += ' -o I2S';
     }

+ 26 - 8
components/wifi-manager/index.html

@@ -158,10 +158,14 @@ function heartbeat()
 }
 
 function handleClick(cb) {
-    if (cb.checked) {
-        $("#autoexec-command").show(200);
-    } else {
-        $("#autoexec-command").hide(200);
+    console.log(cb);
+    if (cb.id == 'autoexec-cb') {
+        if (cb.checked) {
+            $("#autoexec-command").show(200);
+        } else {
+            $("#autoexec-command").hide(200);
+        }
+    } else if (cb.id == 'autoexec-cb') {
     }
 }
 </script>
@@ -175,7 +179,7 @@ function handleClick(cb) {
                     </header>
                     <h2>
                         <div id="autoexec" class="toggle">
-                            <label>Run automatically at boot
+                            <label>Run squeezelite automatically at boot
                                 <input id="autoexec-cb" type="checkbox" checked="checked" onclick='handleClick(this);'/><span class="slider"></span>
                             </label>
                         </div>
@@ -184,8 +188,10 @@ function handleClick(cb) {
                     <div id="autoexec-command">
                         <div id="audioout" class="toggle-buttons">
                             <h2>Audio output</h2>
-                            <input type="radio" id="i2s" name="audio" />
+                            <input type="radio" id="i2s" name="audio" checked='checked' />
                             <label for="i2s">I2S</label>
+                            <input type="radio" id="spdif" name="audio" />
+                            <label for="spdif">SPDIF</label>
                             <input type="radio" id="bt" name="audio" />
                             <label for="bt">Bluetooth</label>
                         </div>
@@ -205,14 +211,26 @@ function handleClick(cb) {
                             <input id="generate-command" type="button" value="Generate" />
                         </div>
 
-                        <h2>Command to run</h2>
+                        <h2>Squeezelite command to run</h2>
                         <section id="command-list">
                             <textarea id="autoexec1" maxlength="120">squeezelite -o I2S -b 500:2000 -d all=info -M esp32</textarea>
                         </section>
                     </div>
 
                     <div class="buttons">
-                        <input id="update-command" type="button" value="Update" />
+                        <input id="update-command" type="button" value="Save" />
+                    </div>
+                </div>
+                <div id="recoverydiv">
+                    <header><h1>System management</h1></header>
+                    <h2>Check for firmware upgrade</h2>
+                    <div class="buttons">
+                        <input type="button" id="fwcheck" value="Check" onclick='handleClick(this);' />
+                        <p><span id="currentfw">Currently running: 0.1</span> - <span id="latestfw">latest available version: 0.2</span></p>
+                    </div>
+                    <h2>Reboot to recovery system to perform firmware upgrade</h2>
+                    <div class="buttons">
+                        <input type="button" id="recovery" value="Recovery" onclick='handleClick(this);' />
                     </div>
                 </div>
                 <div id="otadiv">

+ 4 - 1
components/wifi-manager/style.css

@@ -22,7 +22,6 @@ button:focus {
     outline: none;
 }
 input[type="button"] {
-    width: 100px;
     padding: 5px;
     text-align: center;
     display: block;
@@ -376,3 +375,7 @@ textarea#autoexec1 {
 	background: #5a9900;
 	box-shadow: none;
 }
+
+#otadiv {
+	display: none;
+}