update.html 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <link rel="stylesheet" href="max80.css" />
  5. <title class="update">MAX80: Update</title>
  6. <script src="max80.js"></script>
  7. </head>
  8. <body>
  9. <x-inc src="head.html"></x-inc>
  10. <h1 class="update">Update</h1>
  11. <form class="hw" id="boardid" action="sys/setboardrev" method="post"
  12. onsubmit="uploadform()" data-ref="1" data-ref-url="update.html">
  13. <fieldset>
  14. <legend class="ver">Hardware Version</legend>
  15. <label class="unlock">
  16. <b>Unlock Programming</b>
  17. <input is="x-box" name="unlock" id="unlock" onchange="bropen()">
  18. </label>
  19. <label class="ver">
  20. <b>Hardware Version</b>
  21. <select name="boardrevs" id="boardrevs" onchange="brn()" disabled>
  22. <option value="MAX80 v1">v1.0.0</option>
  23. <option value="MAX80 v2">v2.0.0</option>
  24. <option value="MAX80 v2.0.1">v2.0.1</option>
  25. <option class="other" value="MAX80 v">other...</option>
  26. </select>
  27. <input type="text" name="max80.hw.ver" id="ver"
  28. oninput="brt()" disabled />
  29. </label>
  30. <p id="warnrev" class="warnrev hidden">Be careful: the board
  31. might fail to boot if the board revision is programmed
  32. incorrectly. In that case, reflashing via USB/serial port will
  33. be necessary.</p>
  34. <button type="submit" id="setrev" disabled>Write to flash</button>
  35. </fieldset>
  36. </form>
  37. <form id="upload" action="sys/fwupdate" method="post"
  38. onsubmit="uploadform()" data-ref="10" data-ref-url="status.html">
  39. <fieldset class="fw">
  40. <legend>Firmware</legend>
  41. <p id="norev" class="norev hidden">
  42. BOARD REVISION NOT PROGRAMMED. YOU MUST PROGRAM THE BOARD
  43. REVISION BEFORE UPDATING THE FIRMWARE. MAKE SURE YOU KNOW
  44. WHAT REVISION YOUR BOARD IS BEFORE DOING SO.
  45. </p>
  46. <input type="file" name="file" hidden accept=".fw" onchange="uploadform()" />
  47. <button type="submit" class="fromfile" id="upload.start"
  48. onclick="sib(this,'input').value=''">Update from file</button>
  49. <progress value="0"></progress>
  50. <ul>
  51. <li><a class="latest" href="https://max80.abc80.org/fw/latest/max80.fw">Latest official build</a></li>
  52. <li><a class="archive" href="https://max80.abc80.org/fw/">Official build archive</a></li>
  53. </ul>
  54. </fieldset>
  55. <output></output>
  56. <div class="onerr">
  57. <h3>Possible troubleshooting steps:</h3>
  58. <ol>
  59. <li class="retry">Try again</li>
  60. <li class="jtag">Make sure no JTAG cable is plugged in</li>
  61. <li class="power">Power cycle board (remove both USB and power off ABC host)</li>
  62. <li class="esp">Separately update ESP32 over USB before trying again</li>
  63. <li class="console">Check serial console for more detailed status messages</li>
  64. </ol>
  65. </div>
  66. <script src="update.js"></script>
  67. </form>
  68. </body>
  69. </html>