index.html 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>ArduRemoteID</title>
  6. <meta name="description" content="ArduPilot RemoteID Module.">
  7. <link rel="stylesheet" type="text/css" href="styles/main.css">
  8. <script src='js/jquery.min.js'></script>
  9. <script src='js/tools.js'></script>
  10. </head>
  11. <body>
  12. <a href="/index.html"><img src="images/logo.jpg" alt="ArduPilot"></a></p>
  13. <h1>ArduRemoteID</h1>
  14. <h2>Status</h2>
  15. <fieldset>
  16. <legend>System</legend>
  17. <table class="values">
  18. <tr><td>Version</td><td><div id="STATUS:VERSION"></div></td></tr>
  19. <tr><td>Up Time</td><td><div id="STATUS:UPTIME"></div></td></tr>
  20. <tr><td>Free Memory</td><td><div id="STATUS:FREEMEM"></div></td></tr>
  21. </table>
  22. </fieldset>
  23. <fieldset>
  24. <legend>BasicID</legend>
  25. <table class="values">
  26. <tr><td>UAType</td><td><div id="BASICID:UAType"></div></td></tr>
  27. <tr><td>IDType</td><td><div id="BASICID:IDType"></div></td></tr>
  28. <tr><td>UASID</td><td><div id="BASICID:UASID"></div></td></tr>
  29. </table>
  30. </fieldset>
  31. <fieldset>
  32. <legend>OperatorID</legend>
  33. <table class="values">
  34. <tr><td>IDType</td><td><div id="OPERATORID:IDType"></div></td></tr>
  35. <tr><td>ID</td><td><div id="OPERATORID:ID"></div></td></tr>
  36. </table>
  37. </fieldset>
  38. <fieldset>
  39. <legend>SelfID</legend>
  40. <table class="values">
  41. <tr><td>DescriptionType</td><td><div id="SELFID:DescType"></div></td></tr>
  42. <tr><td>Description</td><td><div id="SELFID:Desc"></div></td></tr>
  43. </table>
  44. </fieldset>
  45. <fieldset>
  46. <legend>System</legend>
  47. <table class="values">
  48. <tr><td>OperatorLocationType</td><td><div id="SYSTEM:OperatorLocationType"></div></td></tr>
  49. <tr><td>ClassificationType</td><td><div id="SYSTEM:ClassificationType"></div></td></tr>
  50. <tr><td>OperatorLatitude</td><td><div id="SYSTEM:OperatorLatitude"></div></td></tr>
  51. <tr><td>OperatorLongitude</td><td><div id="SYSTEM:OperatorLongitude"></div></td></tr>
  52. <tr><td>AreaCount</td><td><div id="SYSTEM:AreaCount"></div></td></tr>
  53. <tr><td>AreaRadius</td><td><div id="SYSTEM:AreaRadius"></div></td></tr>
  54. <tr><td>AreaCeiling</td><td><div id="SYSTEM:AreaCeiling"></div></td></tr>
  55. <tr><td>AreaFloor</td><td><div id="SYSTEM:AreaFloor"></div></td></tr>
  56. <tr><td>CategoryEU</td><td><div id="SYSTEM:CategoryEU"></div></td></tr>
  57. <tr><td>ClassEU</td><td><div id="SYSTEM:ClassEU"></div></td></tr>
  58. <tr><td>OperatorAltitudeGeo</td><td><div id="SYSTEM:OperatorAltitudeGeo"></div></td></tr>
  59. <tr><td>Timestamp</td><td><div id="SYSTEM:Timestamp"></div></td></tr>
  60. </table>
  61. </fieldset>
  62. <fieldset>
  63. <legend>Location</legend>
  64. <table class="values">
  65. <tr><td>Status</td><td><div id="LOCATION:Status"></div><td></tr>
  66. <tr><td>Direction</td><td><div id="LOCATION:Direction"></div><td></tr>
  67. <tr><td>SpeedHorizontal</td><td><div id="LOCATION:SpeedHorizontal"></div><td></tr>
  68. <tr><td>SpeedVertical</td><td><div id="LOCATION:SpeedVertical"></div><td></tr>
  69. <tr><td>Latitude</td><td><div id="LOCATION:Latitude"></div><td></tr>
  70. <tr><td>Longitude</td><td><div id="LOCATION:Longitude"></div><td></tr>
  71. <tr><td>AltitudeBaro</td><td><div id="LOCATION:AltitudeBaro"></div><td></tr>
  72. <tr><td>AltitudeGeo</td><td><div id="LOCATION:AltitudeGeo"></div><td></tr>
  73. <tr><td>HeightType</td><td><div id="LOCATION:HeightType"></div><td></tr>
  74. <tr><td>Height</td><td><div id="LOCATION:Height"></div><td></tr>
  75. <tr><td>HorizAccuracy</td><td><div id="LOCATION:HorizAccuracy"></div><td></tr>
  76. <tr><td>VertAccuracy</td><td><div id="LOCATION:VertAccuracy"></div><td></tr>
  77. <tr><td>BaroAccuracy</td><td><div id="LOCATION:BaroAccuracy"></div><td></tr>
  78. <tr><td>SpeedAccuracy</td><td><div id="LOCATION:SpeedAccuracy"></div><td></tr>
  79. <tr><td>TSAccuracy</td><td><div id="LOCATION:TSAccuracy"></div><td></tr>
  80. <tr><td>TimeStamp</td><td><div id="LOCATION:TimeStamp"></div><td></tr>
  81. </table>
  82. </fieldset>
  83. <h2>Firmware Update</h2>
  84. <form method='POST' action='#' enctype='multipart/form-data' id='upload_form'>
  85. <input type='file' name='update'>
  86. <input type='submit' value='Update'>
  87. </form>
  88. <div id='progress'>upload progress: 0%</div>
  89. <script>
  90. $('form').submit(function(e) {
  91. e.preventDefault();
  92. var form = $('#upload_form')[0];
  93. var data = new FormData(form);
  94. $.ajax({
  95. url: '/update',
  96. type: 'POST',
  97. data: data,
  98. contentType: false,
  99. processData:false,
  100. xhr: function() {
  101. var xhr = new window.XMLHttpRequest();
  102. xhr.upload.addEventListener('progress', function(evt) {
  103. if (evt.lengthComputable) {
  104. var per = evt.loaded / evt.total;
  105. $('#progress').html('progress: ' + Math.round(per*100) + '%');
  106. }
  107. }, false);
  108. return xhr;
  109. },
  110. success:function(d, s) {
  111. console.log('success!')
  112. },
  113. error: function (a, b, c) {
  114. }
  115. });
  116. });
  117. // poll status information at 1Hz (900ms to cope with some lag)
  118. ajax_json_poll_fill("/ajax/status.json", 900);
  119. </script>
  120. </body>
  121. </html>