diff --git a/src/web/html/setup.html b/src/web/html/setup.html index a335f76f..4bb67b8f 100644 --- a/src/web/html/setup.html +++ b/src/web/html/setup.html @@ -363,6 +363,54 @@ [36, "VP (GPIO36)"], [39, "VN (GPIO39)"] ]; + var esp32s3pins = [ + [255, "off / default"], + [0, "GPIO0 (DONT USE - BOOT)"], + [1, "GPIO1"], + [2, "GPIO2"], + [3, "GPIO3"], + [4, "GPIO4"], + [5, "GPIO5"], + [6, "GPIO6"], + [7, "GPIO7"], + [8, "GPIO8"], + [9, "GPIO9"], + [10, "GPIO10"], + [11, "GPIO11"], + [12, "GPIO12"], + [13, "GPIO13"], + [14, "GPIO14"], + [15, "GPIO15"], + [16, "GPIO16"], + [17, "GPIO17"], + [18, "GPIO18"], + [19, "GPIO19 (DONT USE - USB-)"], + [20, "GPIO20 (DONT USE - USB+)"], + [21, "GPIO21"], + [26, "GPIO26 (PSRAM - not available)"], + [27, "GPIO27 (FLASH - not available)"], + [28, "GPIO28 (FLASH - not available)"], + [29, "GPIO29 (FLASH - not available)"], + [30, "GPIO30 (FLASH - not available)"], + [31, "GPIO31 (FLASH - not available)"], + [32, "GPIO32 (FLASH - not available)"], + [33, "GPIO33 (not exposed on WROOM modules)"], + [34, "GPIO34 (not exposed on WROOM modules)"], + [35, "GPIO35"], + [36, "GPIO36"], + [37, "GPIO37"], + [38, "GPIO38"], + [39, "GPIO39"], + [40, "GPIO40"], + [41, "GPIO41"], + [42, "GPIO42"], + [43, "GPIO43"], + [44, "GPIO44"], + [45, "GPIO45 (DONT USE - STRAPPING PIN)"], + [46, "GPIO46 (DONT USE - STRAPPING PIN)"], + [47, "GPIO47"], + [48, "GPIO48"], + ]; const re = /11[2,4,6]1.*/; @@ -605,7 +653,7 @@ } } - function parsePinout(obj, type) { + function parsePinout(obj, type, system) { var e = document.getElementById("pinout"); pins = [['cs', 'pinCs'], ['ce', 'pinCe'], ['irq', 'pinIrq'], ['led0', 'pinLed0'], ['led1', 'pinLed1']]; for(p of pins) { @@ -613,7 +661,7 @@ ml("div", {class: "row mb-3"}, [ ml("div", {class: "col-12 col-sm-3 my-2"}, p[0].toUpperCase()), ml("div", {class: "col-12 col-sm-9"}, - sel(p[1], ("ESP8266" == type) ? esp8266pins : esp32pins, obj[p[0]]) + sel(p[1], ("ESP8266" == type) ? esp8266pins : ("ESP32-S3" == system["chip_model"]) ? esp32s3pins : esp32pins, obj[p[0]]) ) ]) ); @@ -642,7 +690,7 @@ document.getElementsByName("serIntvl")[0].value = obj["interval"]; } - function parseDisplay(obj, type) { + function parseDisplay(obj, type, system) { for(var i of ["disp_pwr", "disp_pxshift"]) document.getElementsByName(i)[0].checked = obj[i]; @@ -720,7 +768,7 @@ parseMqtt(root["mqtt"]); parseNtp(root["ntp"]); parseSun(root["sun"]); - parsePinout(root["pinout"], root["system"]["esp_type"]); + parsePinout(root["pinout"], root["system"]["esp_type"], root["system"]); parseRadio(root["radio"]); parseSerial(root["serial"]); parseDisplay(root["display"], root["system"]["esp_type"]);