2018-12-30 22:17:58 -08:00
<!DOCTYPE HTML>
<!--
Hyperspace by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
< html >
< head >
2019-01-26 18:01:17 -08:00
< title id = "title" > Speeduino Universal Firmware Loader< / title >
2018-12-30 22:17:58 -08:00
< meta charset = "utf-8" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< link rel = "stylesheet" href = "assets/css/main.css" / >
2018-12-31 05:59:18 -08:00
2018-12-30 22:17:58 -08:00
< / head >
< body >
<!-- Sidebar -->
< section id = "sidebar" >
2020-10-20 23:00:15 -07:00
< div class = "inner" >
< nav >
< ul >
< li > < a href = "#loader" > Choose Firmware< / a > < / li >
2023-01-12 12:47:10 -08:00
< li style = "display: none;" > < a href = "#details" > Firmware Details< / a > < / li >
2020-10-20 23:00:15 -07:00
< li > < a href = "#port" > Choose Port< / a > < / li >
< li > < a href = "#progress" > Progress< / a > < / li >
< li > < a href = "#basetunes" > Base Tunes< / a > < / li >
2023-01-13 10:42:13 -08:00
< li style = "display: none;" > < a href = "#basetunewarning" > Base Tunes< / a > < / li >
2020-10-20 23:00:15 -07:00
< / ul >
< / nav >
< / div >
< / section >
2018-12-30 22:17:58 -08:00
<!-- Wrapper -->
2020-10-20 23:00:15 -07:00
< div class = "wrapper" >
2018-12-30 22:17:58 -08:00
2018-12-31 05:59:18 -08:00
<!-- Choose Version -->
2023-01-12 14:02:22 -08:00
< section id = "loader" class = "wrapper style1" style = "height: 100vh;" >
2018-12-30 22:17:58 -08:00
< div class = "inner" >
2021-08-01 04:52:34 -07:00
< div style = "display: none; text-align: center;" id = "update_text" > < a href = "" id = "update_url" target = "_blank" > A new version is available. Click here to download< / a > < / div >
2018-12-31 01:47:16 -08:00
< center > < img src = "assets/speeduino logo_white.png" width = "235" / > < / center >
2019-07-16 23:51:27 -07:00
2018-12-31 01:47:16 -08:00
<!-- <h1>Firmware Loader</h1> -->
2018-12-30 22:17:58 -08:00
< p > Available Firmwares:
2021-07-25 23:33:07 -07:00
< span class = "icon fa-spinner" style = "position: absolute; left: 48%; top: 42%;" id = "fwVersionsSpinner" > < / span >
2019-07-16 23:51:27 -07:00
< select name = "firmwares" class = "select" id = "versionsSelect" size = "10" width = "20" onClick = "refreshBasetunes();" > < / select >
2019-01-01 15:47:54 -08:00
< ul class = "actions" >
2023-01-12 12:47:10 -08:00
< li > < input type = 'button' id = "btnChoosePort" value = "Choose Port" / > < / li >
2019-01-01 15:47:54 -08:00
< / ul >
2019-07-16 23:51:27 -07:00
< p > Other actions:< / p >
< ul class = "actions" >
2023-01-12 13:12:38 -08:00
< li > < input type = 'button' id = "btnDetails" value = "View Firmware Notes" / > < / li >
2023-01-12 12:47:10 -08:00
< li > < input type = 'button' value = "Get Base Tune" id = "btnBasetune" / > < / li >
2024-02-13 01:40:50 -08:00
< li > < input type = 'button' id = "btnSelectLocal" value = "Use Local Firmware" / > < / li >
2019-07-16 23:51:27 -07:00
< / ul >
2018-12-30 22:17:58 -08:00
< / p >
2018-12-31 05:59:18 -08:00
< div id = "error" > < / div >
< div id = "ports" > < / div >
2018-12-30 22:17:58 -08:00
< / div >
< / section >
2018-12-31 05:59:18 -08:00
<!-- Firmware details -->
2023-01-12 14:02:22 -08:00
< section id = "details" class = "wrapper style1-alt" style = "height: 100vh;" >
2019-01-01 16:31:28 -08:00
< div class = "inner" >
2023-01-12 14:03:11 -08:00
< h2 > Firmware Notes< / h2 >
2019-01-01 21:18:31 -08:00
< div class = "features major" >
2019-01-14 14:21:56 -08:00
< h2 > < div id = "detailsHeading" style = "padding-left: 0.55em;" > < / div > < / h2 >
2023-03-09 21:14:00 -08:00
< div id = "detailsText" style = "padding-left: 0.9em; padding-right: 0.9em; overflow-y: scroll; height: 50vh;" > < / div >
2019-01-01 21:18:31 -08:00
< / div >
2019-01-14 14:21:56 -08:00
< ul class = "actions" >
2023-01-12 12:47:10 -08:00
< li > < input type = 'button' value = "Get Base Tune" id = "btnBasetune" / > < / li >
< li > < input type = 'button' id = "btnLoader" value = "Change Version" / > < / li >
< li > < input type = 'button' id = "btnChoosePort" value = "Install" / > < / li >
2019-01-14 14:21:56 -08:00
< / ul >
2019-01-01 16:31:28 -08:00
< / div >
2019-01-01 21:18:31 -08:00
< / section >
2018-12-30 22:17:58 -08:00
2018-12-31 05:59:18 -08:00
<!-- Choose Port -->
2023-01-12 14:02:22 -08:00
< section id = "port" class = "wrapper style2" style = "height: 100vh;" >
2018-12-31 05:59:18 -08:00
< div class = "inner" >
2023-01-12 14:03:11 -08:00
< h2 > Select Serial Port< / h2 >
2018-12-31 05:59:18 -08:00
< p > Available Ports:
2024-06-11 20:40:30 -07:00
< select name = "ports" class = "select" id = "portsSelect" size = "10" width = "20" onClick = "checkForValidPort()" > < / select >
2018-12-31 05:59:18 -08:00
< ul class = "actions" >
2019-07-09 00:13:26 -07:00
<!-- <li><input type='button' value="Install Serial Drivers" onclick="installDrivers();" /></li> -->
2018-12-31 05:59:18 -08:00
< li > < input type = 'button' value = "Refresh" onclick = "refreshSerialPorts();" / > < / li >
2023-01-15 03:45:36 -08:00
< li > < input type = 'button' value = "Upload" id = "btnInstall" / > < / li >
2018-12-31 05:59:18 -08:00
< / ul >
2024-06-11 20:40:30 -07:00
< div class = "features major" id = "port_warning" style = "display: none;" >
< div id = "port_warningText" style = "padding-left: 0.9em; padding-right: 0.9em; overflow-y: scroll; height: 10vh;" > < / div >
< / div >
2018-12-31 05:59:18 -08:00
< / p >
< / div >
2024-06-11 20:40:30 -07:00
2018-12-31 05:59:18 -08:00
< div id = "serialDetectError" > < / div >
< / section >
2019-01-01 16:31:28 -08:00
<!-- Progress -->
2023-01-12 14:02:22 -08:00
< section id = "progress" class = "wrapper style3" style = "height: 100vh;" >
2023-01-15 06:14:14 -08:00
<!-- Sponsor bar -->
< div class = "features" id = "sponsorbox" style = "display: none;" >
< section id = "sponsor" >
< span class = "icon major fa-heart" > < / span >
< p > < center >
< a href = "https://github.com/sponsors/noisymime" target = "_blank" > Speeduino is a volunteer run project. Click here if you're interested in supporting Speeduino's development< / a >
< / center >
< / p >
< / section >
< / div >
2018-12-30 22:17:58 -08:00
< div class = "inner" >
2023-01-15 05:59:59 -08:00
2023-01-15 06:14:14 -08:00
< h2 > Progress< / h2 >
2023-01-15 05:59:59 -08:00
2019-01-14 14:21:56 -08:00
< div class = "features" >
< section >
< span class = "icon major fa-pause" id = "progressSpinner" > < / span >
< p >
< strong > Current Status:< / strong >
2019-01-26 17:34:31 -08:00
< span id = "statusText" > < / span > < span id = "burnPercent" > < / span > < br / >
2023-01-15 05:35:06 -08:00
< span id = "iniFileText" style = "display: none;" > TunerStudio definition file: < a id = "iniFileLink" > < span id = "iniFileLocation" > < / span > < / a > < / span > < / span >
2019-01-14 14:21:56 -08:00
< / p >
< / section >
< section id = "terminalSection" style = "display: none;" >
< span class = "icon major fa-exclamation-triangle" > < / span >
< h3 > Terminal Output:< / h3 >
2021-07-26 22:29:11 -07:00
< pre style = "color: silver; background: black; overflow-x: scroll; overflow-y: scroll; height:190px" > < span id = "terminalText" > < / span > < / pre >
2019-01-14 14:21:56 -08:00
< / section >
< / div >
< ul class = "actions" >
2023-01-12 12:47:10 -08:00
< li > < input type = 'button' id = "btnChoosePort" value = "Choose Port" / > < / li >
2023-01-12 13:12:38 -08:00
< li > < input type = 'button' value = "Burn again" id = "btnReinstall" / > < / li >
2023-01-12 12:47:10 -08:00
< li > < input type = 'button' value = "Get Base Tune" id = "btnBasetune" / > < / li >
2019-07-16 23:51:27 -07:00
< / ul >
< ul class = "actions" >
2023-01-13 10:53:38 -08:00
< li > < input type = 'button' value = "Exit" id = "btnExit" / > < / li >
2019-01-14 14:21:56 -08:00
< / ul >
2018-12-30 22:17:58 -08:00
< / div >
< / section >
2019-07-16 23:51:27 -07:00
<!-- Base Tune download -->
2023-01-12 14:02:22 -08:00
< section id = "basetunes" class = "wrapper style4" style = "height: 100vh;" >
2019-07-16 23:51:27 -07:00
< div class = "inner" >
2023-01-12 14:20:06 -08:00
< h2 style = "margin: 0;" > Base Tunes< / h2 >
2021-07-19 23:31:54 -07:00
< p style = "font-size: 12px;" >
Tune Author: < select id = "basetunesAuthor" class = "select1" onChange = "refreshBasetunesFilters()" > < / select >
Make: < select id = "basetunesMake" class = "select1" onChange = "refreshBasetunesFilters()" > < / select >
Type: < select id = "basetunesType" class = "select1" onChange = "refreshBasetunesFilters()" > < / select > < br / >
< / p >
2019-07-16 23:51:27 -07:00
< p >
2021-07-19 23:31:54 -07:00
Available Tunes
2021-07-26 18:35:14 -07:00
< span class = "icon fa-spinner" style = "position: absolute; left: 48%; top: 42%;" id = "baseTuneSpinner" > < / span >
2023-01-12 14:20:06 -08:00
< select name = "basetunes" id = "basetunesSelect" size = "10" width = "20" onChange = "refreshBasetunesDescription()" > < / select >
2021-07-19 23:31:54 -07:00
< div class = "features major" >
2021-07-26 21:58:26 -07:00
< div id = "tuneDetailsText" style = "padding-left: 0.9em; padding-right: 0.9em; padding-top: 0.1em; overflow-y: auto; height: 17vh; font-size: 14px;" > < / div >
2021-07-19 23:31:54 -07:00
< / div >
2019-07-16 23:51:27 -07:00
< ul class = "actions" >
2023-01-13 10:42:13 -08:00
< li > < input type = 'button' id = "btnDownloadBasetune" value = "Download tune" / > < / li >
2023-01-13 13:43:24 -08:00
< li > < input type = 'button' value = "Exit" id = "btnExit" / > < / li >
2019-07-16 23:51:27 -07:00
< / ul >
< / p >
< / div >
< / section >
2023-01-13 10:42:13 -08:00
<!-- Base tune warning -->
< section id = "basetunewarning" class = "wrapper style5" style = "height: 100vh;" >
< div class = "inner" >
< h1 style = "text-align: center; width: 100%;" > WARNING< / h1 >
< div class = "features major" >
< p style = "text-align: center; width: 100%;" > Base tunes are intended as a starting point ONLY. They will require changes in order to work correctly with your engine!< / p >
< center > < span class = "icon fa-exclamation major" id = "warningIcon" > < / span > < / center >
< p style = "text-align: center; width: 100%;" > Take note of the board that has been used in this tune. If you are not using this board you need to change this setting immediately:< / p >
< p style = "text-align: center; width: 100%;" >
< span class = "icon fa-arrow-right" id = "emphasisIcon" > < / span >
< span style = "font-weight: bold;" id = "tuneBoard" > < / span >
< span class = "icon fa-arrow-left" id = "emphasisIcon" > < / span >
< / p >
< / div >
< ul class = "actions modal" >
< li > < input type = 'button' id = "btnDownloadConfirm" value = "Download" onclick = "downloadBasetune();" / > < / li >
< li > < input type = 'button' id = "btnDownloadCancel" value = "Cancel" / > < / li >
< / ul >
< / div >
< / section >
2018-12-30 22:17:58 -08:00
<!-- Footer -->
< footer id = "footer" class = "wrapper style1-alt" >
< div class = "inner" >
< ul class = "menu" >
2023-01-13 13:23:46 -08:00
< li > © Josh Stewart. All rights reserved.< / li > < li > Design: < a href = "http://html5up.net" target = "_blank" > HTML5 UP< / a > < / li > < li > Version: 0.0.3< / li >
2018-12-30 22:17:58 -08:00
< / ul >
< / div >
< / footer >
<!-- Scripts -->
2023-01-13 13:28:42 -08:00
< script > window . $ = window . jQuery = require ( 'jquery' ) ; < / script >
2018-12-30 22:17:58 -08:00
< script src = "assets/js/jquery.scrollex.min.js" > < / script >
< script src = "assets/js/jquery.scrolly.min.js" > < / script >
< script src = "assets/js/skel.min.js" > < / script >
2023-01-12 08:27:12 -08:00
< script src = "assets/js/breakpoints.min.js" > < / script >
2018-12-30 22:17:58 -08:00
< script src = "assets/js/util.js" > < / script >
< script src = "assets/js/main.js" > < / script >
2023-01-13 13:43:24 -08:00
< script src = "renderer.js" > < / script >
2018-12-30 22:17:58 -08:00
< / body >
< / html >