Merge pull request #5 from ozarchie/UpdateHardwareMethod
Consolidate Hardware/Software definitions into hardware.hmaster
|
@ -0,0 +1,79 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>EQMOD2ETX: HBXFileSystem.h Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="installsplash.bmp"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">EQMOD2ETX
|
||||
 <span id="projectnumber">1.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">EQ6 Protocol Translator for Meade ETX60 device</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.15 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">HBXFileSystem.h</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">/**************************************************************</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * SPIFFS filesystem</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Only invoked in STA mode</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">*/</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> </div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include <EEPROM.h></span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include <FS.h></span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include <SPIFFS.h></span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include <SPIFFSEditor.h></span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#define FORMAT_SPIFFS_IF_FAILED true</span></div></div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.15
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,86 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>EQMOD2ETX: Class List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="installsplash.bmp"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">EQMOD2ETX
|
||||
 <span id="projectnumber">1.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">EQ6 Protocol Translator for Meade ETX60 device</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.15 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Class List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
|
||||
<table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structaxis__type.html" target="_self">axis_type</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structaxis__values.html" target="_self">axis_values</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sky_watcher_features.html" target="_self">SkyWatcherFeatures</a></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.15
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
Po Szerokość: | Wysokość: | Rozmiar: 676 B |
Po Szerokość: | Wysokość: | Rozmiar: 147 B |
|
@ -0,0 +1,90 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>EQMOD2ETX: Class Index</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="installsplash.bmp"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">EQMOD2ETX
|
||||
 <span id="projectnumber">1.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">EQ6 Protocol Translator for Meade ETX60 device</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.15 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Class Index</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="qindex"><a class="qindex" href="#letter_a">a</a> | <a class="qindex" href="#letter_s">s</a></div>
|
||||
<table class="classindex">
|
||||
<tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  a  </div></td></tr></table>
|
||||
</td><td valign="top"><a class="el" href="structaxis__values.html">axis_values</a>   </td><td></td></tr>
|
||||
<tr><td></td><td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  s  </div></td></tr></table>
|
||||
</td><td></td></tr>
|
||||
<tr><td valign="top"><a class="el" href="structaxis__type.html">axis_type</a>   </td><td></td><td></td></tr>
|
||||
<tr><td></td><td valign="top"><a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>   </td><td></td></tr>
|
||||
<tr><td></td><td></td><td></td></tr>
|
||||
</table>
|
||||
<div class="qindex"><a class="qindex" href="#letter_a">a</a> | <a class="qindex" href="#letter_s">s</a></div>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.15
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
Po Szerokość: | Wysokość: | Rozmiar: 132 B |
Po Szerokość: | Wysokość: | Rozmiar: 746 B |
Po Szerokość: | Wysokość: | Rozmiar: 3.7 KiB |
|
@ -0,0 +1,120 @@
|
|||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this file.
|
||||
|
||||
Copyright (C) 1997-2017 by Dimitri van Heesch
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this file
|
||||
*/
|
||||
function toggleVisibility(linkObj)
|
||||
{
|
||||
var base = $(linkObj).attr('id');
|
||||
var summary = $('#'+base+'-summary');
|
||||
var content = $('#'+base+'-content');
|
||||
var trigger = $('#'+base+'-trigger');
|
||||
var src=$(trigger).attr('src');
|
||||
if (content.is(':visible')===true) {
|
||||
content.hide();
|
||||
summary.show();
|
||||
$(linkObj).addClass('closed').removeClass('opened');
|
||||
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
|
||||
} else {
|
||||
content.show();
|
||||
summary.hide();
|
||||
$(linkObj).removeClass('closed').addClass('opened');
|
||||
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function updateStripes()
|
||||
{
|
||||
$('table.directory tr').
|
||||
removeClass('even').filter(':visible:even').addClass('even');
|
||||
}
|
||||
|
||||
function toggleLevel(level)
|
||||
{
|
||||
$('table.directory tr').each(function() {
|
||||
var l = this.id.split('_').length-1;
|
||||
var i = $('#img'+this.id.substring(3));
|
||||
var a = $('#arr'+this.id.substring(3));
|
||||
if (l<level+1) {
|
||||
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
|
||||
a.html('▼');
|
||||
$(this).show();
|
||||
} else if (l==level+1) {
|
||||
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
|
||||
a.html('►');
|
||||
$(this).show();
|
||||
} else {
|
||||
$(this).hide();
|
||||
}
|
||||
});
|
||||
updateStripes();
|
||||
}
|
||||
|
||||
function toggleFolder(id)
|
||||
{
|
||||
// the clicked row
|
||||
var currentRow = $('#row_'+id);
|
||||
|
||||
// all rows after the clicked row
|
||||
var rows = currentRow.nextAll("tr");
|
||||
|
||||
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
|
||||
|
||||
// only match elements AFTER this one (can't hide elements before)
|
||||
var childRows = rows.filter(function() { return this.id.match(re); });
|
||||
|
||||
// first row is visible we are HIDING
|
||||
if (childRows.filter(':first').is(':visible')===true) {
|
||||
// replace down arrow by right arrow for current row
|
||||
var currentRowSpans = currentRow.find("span");
|
||||
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
||||
currentRowSpans.filter(".arrow").html('►');
|
||||
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
|
||||
} else { // we are SHOWING
|
||||
// replace right arrow by down arrow for current row
|
||||
var currentRowSpans = currentRow.find("span");
|
||||
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
|
||||
currentRowSpans.filter(".arrow").html('▼');
|
||||
// replace down arrows by right arrows for child rows
|
||||
var childRowsSpans = childRows.find("span");
|
||||
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
||||
childRowsSpans.filter(".arrow").html('►');
|
||||
childRows.show(); //show all children
|
||||
}
|
||||
updateStripes();
|
||||
}
|
||||
|
||||
|
||||
function toggleInherit(id)
|
||||
{
|
||||
var rows = $('tr.inherit.'+id);
|
||||
var img = $('tr.inherit_header.'+id+' img');
|
||||
var src = $(img).attr('src');
|
||||
if (rows.filter(':first').is(':visible')===true) {
|
||||
rows.css('display','none');
|
||||
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
|
||||
} else {
|
||||
rows.css('display','table-row'); // using show() causes jump in firefox
|
||||
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
|
||||
}
|
||||
}
|
||||
/* @license-end */
|
|
@ -0,0 +1,90 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>EQMOD2ETX: File List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="installsplash.bmp"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">EQMOD2ETX
|
||||
 <span id="projectnumber">1.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">EQ6 Protocol Translator for Meade ETX60 device</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.15 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">File List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
|
||||
<table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="_e_q_g2_h_b_x_8h_source.html"><span class="icondoc"></span></a><b>EQG2HBX.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="_e_q_g_protocol_8h_source.html"><span class="icondoc"></span></a><b>EQGProtocol.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="_e_t_x_protocol_8h_source.html"><span class="icondoc"></span></a><b>ETXProtocol.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="_hardware_8h_source.html"><span class="icondoc"></span></a><b>Hardware.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="_h_b_x_comms_8h_source.html"><span class="icondoc"></span></a><b>HBXComms.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="_h_b_x_file_system_8h_source.html"><span class="icondoc"></span></a><b>HBXFileSystem.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="_h_b_x_wi_fi_server_8h_source.html"><span class="icondoc"></span></a><b>HBXWiFiServer.h</b></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.15
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
Po Szerokość: | Wysokość: | Rozmiar: 616 B |
Po Szerokość: | Wysokość: | Rozmiar: 597 B |
|
@ -0,0 +1,79 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>EQMOD2ETX: Main Page</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="installsplash.bmp"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">EQMOD2ETX
|
||||
 <span id="projectnumber">1.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">EQ6 Protocol Translator for Meade ETX60 device</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.15 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">EQMOD2ETX Documentation</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.15
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
Po Szerokość: | Wysokość: | Rozmiar: 151 KiB |
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this file.
|
||||
|
||||
Copyright (C) 1997-2017 by Dimitri van Heesch
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this file
|
||||
*/
|
||||
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
|
||||
function makeTree(data,relPath) {
|
||||
var result='';
|
||||
if ('children' in data) {
|
||||
result+='<ul>';
|
||||
for (var i in data.children) {
|
||||
result+='<li><a href="'+relPath+data.children[i].url+'">'+
|
||||
data.children[i].text+'</a>'+
|
||||
makeTree(data.children[i],relPath)+'</li>';
|
||||
}
|
||||
result+='</ul>';
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
$('#main-nav').append(makeTree(menudata,relPath));
|
||||
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
|
||||
if (searchEnabled) {
|
||||
if (serverSide) {
|
||||
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
|
||||
} else {
|
||||
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.png" alt=""/></a></span></div></li>');
|
||||
}
|
||||
}
|
||||
$('#main-menu').smartmenus();
|
||||
}
|
||||
/* @license-end */
|
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
@ @licstart The following is the entire license notice for the
|
||||
JavaScript code in this file.
|
||||
|
||||
Copyright (C) 1997-2017 by Dimitri van Heesch
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this file
|
||||
*/
|
||||
var menudata={children:[
|
||||
{text:"Main Page",url:"index.html"},
|
||||
{text:"Classes",url:"annotated.html",children:[
|
||||
{text:"Class List",url:"annotated.html"},
|
||||
{text:"Class Index",url:"classes.html"}]},
|
||||
{text:"Files",url:"files.html",children:[
|
||||
{text:"File List",url:"files.html"}]}]}
|
Po Szerokość: | Wysokość: | Rozmiar: 153 B |
Po Szerokość: | Wysokość: | Rozmiar: 95 B |
Po Szerokość: | Wysokość: | Rozmiar: 98 B |
Po Szerokość: | Wysokość: | Rozmiar: 123 B |
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html><head><title></title>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
||||
<script type="text/javascript" src="all_0.js"></script>
|
||||
<script type="text/javascript" src="search.js"></script>
|
||||
</head>
|
||||
<body class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div id="SRResults"></div>
|
||||
<script type="text/javascript"><!--
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
createResults();
|
||||
/* @license-end */
|
||||
--></script>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
<script type="text/javascript"><!--
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults");
|
||||
searchResults.Search();
|
||||
/* @license-end */
|
||||
--></script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,5 @@
|
|||
var searchData=
|
||||
[
|
||||
['axis_5ftype',['axis_type',['../structaxis__type.html',1,'']]],
|
||||
['axis_5fvalues',['axis_values',['../structaxis__values.html',1,'']]]
|
||||
];
|
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html><head><title></title>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
||||
<script type="text/javascript" src="all_1.js"></script>
|
||||
<script type="text/javascript" src="search.js"></script>
|
||||
</head>
|
||||
<body class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div id="SRResults"></div>
|
||||
<script type="text/javascript"><!--
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
createResults();
|
||||
/* @license-end */
|
||||
--></script>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
<script type="text/javascript"><!--
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults");
|
||||
searchResults.Search();
|
||||
/* @license-end */
|
||||
--></script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['skywatcherfeatures',['SkyWatcherFeatures',['../struct_sky_watcher_features.html',1,'']]]
|
||||
];
|
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html><head><title></title>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
||||
<script type="text/javascript" src="classes_0.js"></script>
|
||||
<script type="text/javascript" src="search.js"></script>
|
||||
</head>
|
||||
<body class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div id="SRResults"></div>
|
||||
<script type="text/javascript"><!--
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
createResults();
|
||||
/* @license-end */
|
||||
--></script>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
<script type="text/javascript"><!--
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults");
|
||||
searchResults.Search();
|
||||
/* @license-end */
|
||||
--></script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,5 @@
|
|||
var searchData=
|
||||
[
|
||||
['axis_5ftype',['axis_type',['../structaxis__type.html',1,'']]],
|
||||
['axis_5fvalues',['axis_values',['../structaxis__values.html',1,'']]]
|
||||
];
|
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html><head><title></title>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
||||
<script type="text/javascript" src="classes_1.js"></script>
|
||||
<script type="text/javascript" src="search.js"></script>
|
||||
</head>
|
||||
<body class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div id="SRResults"></div>
|
||||
<script type="text/javascript"><!--
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
createResults();
|
||||
/* @license-end */
|
||||
--></script>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
<script type="text/javascript"><!--
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults");
|
||||
searchResults.Search();
|
||||
/* @license-end */
|
||||
--></script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['skywatcherfeatures',['SkyWatcherFeatures',['../struct_sky_watcher_features.html',1,'']]]
|
||||
];
|
Po Szerokość: | Wysokość: | Rozmiar: 273 B |
Po Szerokość: | Wysokość: | Rozmiar: 465 B |
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html><head><title></title>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
||||
<script type="text/javascript" src="search.js"></script>
|
||||
</head>
|
||||
<body class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,271 @@
|
|||
/*---------------- Search Box */
|
||||
|
||||
#FSearchBox {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#MSearchBox {
|
||||
white-space : nowrap;
|
||||
float: none;
|
||||
margin-top: 8px;
|
||||
right: 0px;
|
||||
width: 170px;
|
||||
height: 24px;
|
||||
z-index: 102;
|
||||
}
|
||||
|
||||
#MSearchBox .left
|
||||
{
|
||||
display:block;
|
||||
position:absolute;
|
||||
left:10px;
|
||||
width:20px;
|
||||
height:19px;
|
||||
background:url('search_l.png') no-repeat;
|
||||
background-position:right;
|
||||
}
|
||||
|
||||
#MSearchSelect {
|
||||
display:block;
|
||||
position:absolute;
|
||||
width:20px;
|
||||
height:19px;
|
||||
}
|
||||
|
||||
.left #MSearchSelect {
|
||||
left:4px;
|
||||
}
|
||||
|
||||
.right #MSearchSelect {
|
||||
right:5px;
|
||||
}
|
||||
|
||||
#MSearchField {
|
||||
display:block;
|
||||
position:absolute;
|
||||
height:19px;
|
||||
background:url('search_m.png') repeat-x;
|
||||
border:none;
|
||||
width:115px;
|
||||
margin-left:20px;
|
||||
padding-left:4px;
|
||||
color: #909090;
|
||||
outline: none;
|
||||
font: 9pt Arial, Verdana, sans-serif;
|
||||
-webkit-border-radius: 0px;
|
||||
}
|
||||
|
||||
#FSearchBox #MSearchField {
|
||||
margin-left:15px;
|
||||
}
|
||||
|
||||
#MSearchBox .right {
|
||||
display:block;
|
||||
position:absolute;
|
||||
right:10px;
|
||||
top:8px;
|
||||
width:20px;
|
||||
height:19px;
|
||||
background:url('search_r.png') no-repeat;
|
||||
background-position:left;
|
||||
}
|
||||
|
||||
#MSearchClose {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
background : none;
|
||||
border: none;
|
||||
margin: 0px 4px 0px 0px;
|
||||
padding: 0px 0px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.left #MSearchClose {
|
||||
left: 6px;
|
||||
}
|
||||
|
||||
.right #MSearchClose {
|
||||
right: 2px;
|
||||
}
|
||||
|
||||
.MSearchBoxActive #MSearchField {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
/*---------------- Search filter selection */
|
||||
|
||||
#MSearchSelectWindow {
|
||||
display: none;
|
||||
position: absolute;
|
||||
left: 0; top: 0;
|
||||
border: 1px solid #90A5CE;
|
||||
background-color: #F9FAFC;
|
||||
z-index: 10001;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-top-left-radius: 4px;
|
||||
-webkit-border-top-right-radius: 4px;
|
||||
-webkit-border-bottom-left-radius: 4px;
|
||||
-webkit-border-bottom-right-radius: 4px;
|
||||
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.SelectItem {
|
||||
font: 8pt Arial, Verdana, sans-serif;
|
||||
padding-left: 2px;
|
||||
padding-right: 12px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
span.SelectionMark {
|
||||
margin-right: 4px;
|
||||
font-family: monospace;
|
||||
outline-style: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.SelectItem {
|
||||
display: block;
|
||||
outline-style: none;
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
padding-left: 6px;
|
||||
padding-right: 12px;
|
||||
}
|
||||
|
||||
a.SelectItem:focus,
|
||||
a.SelectItem:active {
|
||||
color: #000000;
|
||||
outline-style: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.SelectItem:hover {
|
||||
color: #FFFFFF;
|
||||
background-color: #3D578C;
|
||||
outline-style: none;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*---------------- Search results window */
|
||||
|
||||
iframe#MSearchResults {
|
||||
width: 60ex;
|
||||
height: 15em;
|
||||
}
|
||||
|
||||
#MSearchResultsWindow {
|
||||
display: none;
|
||||
position: absolute;
|
||||
left: 0; top: 0;
|
||||
border: 1px solid #000;
|
||||
background-color: #EEF1F7;
|
||||
z-index:10000;
|
||||
}
|
||||
|
||||
/* ----------------------------------- */
|
||||
|
||||
|
||||
#SRIndex {
|
||||
clear:both;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
.SREntry {
|
||||
font-size: 10pt;
|
||||
padding-left: 1ex;
|
||||
}
|
||||
|
||||
.SRPage .SREntry {
|
||||
font-size: 8pt;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
body.SRPage {
|
||||
margin: 5px 2px;
|
||||
}
|
||||
|
||||
.SRChildren {
|
||||
padding-left: 3ex; padding-bottom: .5em
|
||||
}
|
||||
|
||||
.SRPage .SRChildren {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.SRSymbol {
|
||||
font-weight: bold;
|
||||
color: #425E97;
|
||||
font-family: Arial, Verdana, sans-serif;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
a.SRScope {
|
||||
display: block;
|
||||
color: #425E97;
|
||||
font-family: Arial, Verdana, sans-serif;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
a.SRSymbol:focus, a.SRSymbol:active,
|
||||
a.SRScope:focus, a.SRScope:active {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
span.SRScope {
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.SRPage .SRStatus {
|
||||
padding: 2px 5px;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.SRResult {
|
||||
display: none;
|
||||
}
|
||||
|
||||
DIV.searchresults {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
/*---------------- External search page results */
|
||||
|
||||
.searchresult {
|
||||
background-color: #F0F3F8;
|
||||
}
|
||||
|
||||
.pages b {
|
||||
color: white;
|
||||
padding: 5px 5px 3px 5px;
|
||||
background-image: url("../tab_a.png");
|
||||
background-repeat: repeat-x;
|
||||
text-shadow: 0 1px 1px #000000;
|
||||
}
|
||||
|
||||
.pages {
|
||||
line-height: 17px;
|
||||
margin-left: 4px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.hl {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#searchresults {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.searchpages {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
|
@ -0,0 +1,814 @@
|
|||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this file.
|
||||
|
||||
Copyright (C) 1997-2017 by Dimitri van Heesch
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this file
|
||||
*/
|
||||
function convertToId(search)
|
||||
{
|
||||
var result = '';
|
||||
for (i=0;i<search.length;i++)
|
||||
{
|
||||
var c = search.charAt(i);
|
||||
var cn = c.charCodeAt(0);
|
||||
if (c.match(/[a-z0-9\u0080-\uFFFF]/))
|
||||
{
|
||||
result+=c;
|
||||
}
|
||||
else if (cn<16)
|
||||
{
|
||||
result+="_0"+cn.toString(16);
|
||||
}
|
||||
else
|
||||
{
|
||||
result+="_"+cn.toString(16);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
function getXPos(item)
|
||||
{
|
||||
var x = 0;
|
||||
if (item.offsetWidth)
|
||||
{
|
||||
while (item && item!=document.body)
|
||||
{
|
||||
x += item.offsetLeft;
|
||||
item = item.offsetParent;
|
||||
}
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
function getYPos(item)
|
||||
{
|
||||
var y = 0;
|
||||
if (item.offsetWidth)
|
||||
{
|
||||
while (item && item!=document.body)
|
||||
{
|
||||
y += item.offsetTop;
|
||||
item = item.offsetParent;
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
|
||||
/* A class handling everything associated with the search panel.
|
||||
|
||||
Parameters:
|
||||
name - The name of the global variable that will be
|
||||
storing this instance. Is needed to be able to set timeouts.
|
||||
resultPath - path to use for external files
|
||||
*/
|
||||
function SearchBox(name, resultsPath, inFrame, label)
|
||||
{
|
||||
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
|
||||
|
||||
// ---------- Instance variables
|
||||
this.name = name;
|
||||
this.resultsPath = resultsPath;
|
||||
this.keyTimeout = 0;
|
||||
this.keyTimeoutLength = 500;
|
||||
this.closeSelectionTimeout = 300;
|
||||
this.lastSearchValue = "";
|
||||
this.lastResultsPage = "";
|
||||
this.hideTimeout = 0;
|
||||
this.searchIndex = 0;
|
||||
this.searchActive = false;
|
||||
this.insideFrame = inFrame;
|
||||
this.searchLabel = label;
|
||||
|
||||
// ----------- DOM Elements
|
||||
|
||||
this.DOMSearchField = function()
|
||||
{ return document.getElementById("MSearchField"); }
|
||||
|
||||
this.DOMSearchSelect = function()
|
||||
{ return document.getElementById("MSearchSelect"); }
|
||||
|
||||
this.DOMSearchSelectWindow = function()
|
||||
{ return document.getElementById("MSearchSelectWindow"); }
|
||||
|
||||
this.DOMPopupSearchResults = function()
|
||||
{ return document.getElementById("MSearchResults"); }
|
||||
|
||||
this.DOMPopupSearchResultsWindow = function()
|
||||
{ return document.getElementById("MSearchResultsWindow"); }
|
||||
|
||||
this.DOMSearchClose = function()
|
||||
{ return document.getElementById("MSearchClose"); }
|
||||
|
||||
this.DOMSearchBox = function()
|
||||
{ return document.getElementById("MSearchBox"); }
|
||||
|
||||
// ------------ Event Handlers
|
||||
|
||||
// Called when focus is added or removed from the search field.
|
||||
this.OnSearchFieldFocus = function(isActive)
|
||||
{
|
||||
this.Activate(isActive);
|
||||
}
|
||||
|
||||
this.OnSearchSelectShow = function()
|
||||
{
|
||||
var searchSelectWindow = this.DOMSearchSelectWindow();
|
||||
var searchField = this.DOMSearchSelect();
|
||||
|
||||
if (this.insideFrame)
|
||||
{
|
||||
var left = getXPos(searchField);
|
||||
var top = getYPos(searchField);
|
||||
left += searchField.offsetWidth + 6;
|
||||
top += searchField.offsetHeight;
|
||||
|
||||
// show search selection popup
|
||||
searchSelectWindow.style.display='block';
|
||||
left -= searchSelectWindow.offsetWidth;
|
||||
searchSelectWindow.style.left = left + 'px';
|
||||
searchSelectWindow.style.top = top + 'px';
|
||||
}
|
||||
else
|
||||
{
|
||||
var left = getXPos(searchField);
|
||||
var top = getYPos(searchField);
|
||||
top += searchField.offsetHeight;
|
||||
|
||||
// show search selection popup
|
||||
searchSelectWindow.style.display='block';
|
||||
searchSelectWindow.style.left = left + 'px';
|
||||
searchSelectWindow.style.top = top + 'px';
|
||||
}
|
||||
|
||||
// stop selection hide timer
|
||||
if (this.hideTimeout)
|
||||
{
|
||||
clearTimeout(this.hideTimeout);
|
||||
this.hideTimeout=0;
|
||||
}
|
||||
return false; // to avoid "image drag" default event
|
||||
}
|
||||
|
||||
this.OnSearchSelectHide = function()
|
||||
{
|
||||
this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
|
||||
this.closeSelectionTimeout);
|
||||
}
|
||||
|
||||
// Called when the content of the search field is changed.
|
||||
this.OnSearchFieldChange = function(evt)
|
||||
{
|
||||
if (this.keyTimeout) // kill running timer
|
||||
{
|
||||
clearTimeout(this.keyTimeout);
|
||||
this.keyTimeout = 0;
|
||||
}
|
||||
|
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==40 || e.keyCode==13)
|
||||
{
|
||||
if (e.shiftKey==1)
|
||||
{
|
||||
this.OnSearchSelectShow();
|
||||
var win=this.DOMSearchSelectWindow();
|
||||
for (i=0;i<win.childNodes.length;i++)
|
||||
{
|
||||
var child = win.childNodes[i]; // get span within a
|
||||
if (child.className=='SelectItem')
|
||||
{
|
||||
child.focus();
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (window.frames.MSearchResults.searchResults)
|
||||
{
|
||||
var elem = window.frames.MSearchResults.searchResults.NavNext(0);
|
||||
if (elem) elem.focus();
|
||||
}
|
||||
}
|
||||
else if (e.keyCode==27) // Escape out of the search field
|
||||
{
|
||||
this.DOMSearchField().blur();
|
||||
this.DOMPopupSearchResultsWindow().style.display = 'none';
|
||||
this.DOMSearchClose().style.display = 'none';
|
||||
this.lastSearchValue = '';
|
||||
this.Activate(false);
|
||||
return;
|
||||
}
|
||||
|
||||
// strip whitespaces
|
||||
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
|
||||
|
||||
if (searchValue != this.lastSearchValue) // search value has changed
|
||||
{
|
||||
if (searchValue != "") // non-empty search
|
||||
{
|
||||
// set timer for search update
|
||||
this.keyTimeout = setTimeout(this.name + '.Search()',
|
||||
this.keyTimeoutLength);
|
||||
}
|
||||
else // empty search field
|
||||
{
|
||||
this.DOMPopupSearchResultsWindow().style.display = 'none';
|
||||
this.DOMSearchClose().style.display = 'none';
|
||||
this.lastSearchValue = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.SelectItemCount = function(id)
|
||||
{
|
||||
var count=0;
|
||||
var win=this.DOMSearchSelectWindow();
|
||||
for (i=0;i<win.childNodes.length;i++)
|
||||
{
|
||||
var child = win.childNodes[i]; // get span within a
|
||||
if (child.className=='SelectItem')
|
||||
{
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
this.SelectItemSet = function(id)
|
||||
{
|
||||
var i,j=0;
|
||||
var win=this.DOMSearchSelectWindow();
|
||||
for (i=0;i<win.childNodes.length;i++)
|
||||
{
|
||||
var child = win.childNodes[i]; // get span within a
|
||||
if (child.className=='SelectItem')
|
||||
{
|
||||
var node = child.firstChild;
|
||||
if (j==id)
|
||||
{
|
||||
node.innerHTML='•';
|
||||
}
|
||||
else
|
||||
{
|
||||
node.innerHTML=' ';
|
||||
}
|
||||
j++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Called when an search filter selection is made.
|
||||
// set item with index id as the active item
|
||||
this.OnSelectItem = function(id)
|
||||
{
|
||||
this.searchIndex = id;
|
||||
this.SelectItemSet(id);
|
||||
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
|
||||
if (searchValue!="" && this.searchActive) // something was found -> do a search
|
||||
{
|
||||
this.Search();
|
||||
}
|
||||
}
|
||||
|
||||
this.OnSearchSelectKey = function(evt)
|
||||
{
|
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
|
||||
{
|
||||
this.searchIndex++;
|
||||
this.OnSelectItem(this.searchIndex);
|
||||
}
|
||||
else if (e.keyCode==38 && this.searchIndex>0) // Up
|
||||
{
|
||||
this.searchIndex--;
|
||||
this.OnSelectItem(this.searchIndex);
|
||||
}
|
||||
else if (e.keyCode==13 || e.keyCode==27)
|
||||
{
|
||||
this.OnSelectItem(this.searchIndex);
|
||||
this.CloseSelectionWindow();
|
||||
this.DOMSearchField().focus();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// --------- Actions
|
||||
|
||||
// Closes the results window.
|
||||
this.CloseResultsWindow = function()
|
||||
{
|
||||
this.DOMPopupSearchResultsWindow().style.display = 'none';
|
||||
this.DOMSearchClose().style.display = 'none';
|
||||
this.Activate(false);
|
||||
}
|
||||
|
||||
this.CloseSelectionWindow = function()
|
||||
{
|
||||
this.DOMSearchSelectWindow().style.display = 'none';
|
||||
}
|
||||
|
||||
// Performs a search.
|
||||
this.Search = function()
|
||||
{
|
||||
this.keyTimeout = 0;
|
||||
|
||||
// strip leading whitespace
|
||||
var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
|
||||
|
||||
var code = searchValue.toLowerCase().charCodeAt(0);
|
||||
var idxChar = searchValue.substr(0, 1).toLowerCase();
|
||||
if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
|
||||
{
|
||||
idxChar = searchValue.substr(0, 2);
|
||||
}
|
||||
|
||||
var resultsPage;
|
||||
var resultsPageWithSearch;
|
||||
var hasResultsPage;
|
||||
|
||||
var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
|
||||
if (idx!=-1)
|
||||
{
|
||||
var hexCode=idx.toString(16);
|
||||
resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
|
||||
resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
|
||||
hasResultsPage = true;
|
||||
}
|
||||
else // nothing available for this search term
|
||||
{
|
||||
resultsPage = this.resultsPath + '/nomatches.html';
|
||||
resultsPageWithSearch = resultsPage;
|
||||
hasResultsPage = false;
|
||||
}
|
||||
|
||||
window.frames.MSearchResults.location = resultsPageWithSearch;
|
||||
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
|
||||
|
||||
if (domPopupSearchResultsWindow.style.display!='block')
|
||||
{
|
||||
var domSearchBox = this.DOMSearchBox();
|
||||
this.DOMSearchClose().style.display = 'inline';
|
||||
if (this.insideFrame)
|
||||
{
|
||||
var domPopupSearchResults = this.DOMPopupSearchResults();
|
||||
domPopupSearchResultsWindow.style.position = 'relative';
|
||||
domPopupSearchResultsWindow.style.display = 'block';
|
||||
var width = document.body.clientWidth - 8; // the -8 is for IE :-(
|
||||
domPopupSearchResultsWindow.style.width = width + 'px';
|
||||
domPopupSearchResults.style.width = width + 'px';
|
||||
}
|
||||
else
|
||||
{
|
||||
var domPopupSearchResults = this.DOMPopupSearchResults();
|
||||
var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
|
||||
var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
|
||||
domPopupSearchResultsWindow.style.display = 'block';
|
||||
left -= domPopupSearchResults.offsetWidth;
|
||||
domPopupSearchResultsWindow.style.top = top + 'px';
|
||||
domPopupSearchResultsWindow.style.left = left + 'px';
|
||||
}
|
||||
}
|
||||
|
||||
this.lastSearchValue = searchValue;
|
||||
this.lastResultsPage = resultsPage;
|
||||
}
|
||||
|
||||
// -------- Activation Functions
|
||||
|
||||
// Activates or deactivates the search panel, resetting things to
|
||||
// their default values if necessary.
|
||||
this.Activate = function(isActive)
|
||||
{
|
||||
if (isActive || // open it
|
||||
this.DOMPopupSearchResultsWindow().style.display == 'block'
|
||||
)
|
||||
{
|
||||
this.DOMSearchBox().className = 'MSearchBoxActive';
|
||||
|
||||
var searchField = this.DOMSearchField();
|
||||
|
||||
if (searchField.value == this.searchLabel) // clear "Search" term upon entry
|
||||
{
|
||||
searchField.value = '';
|
||||
this.searchActive = true;
|
||||
}
|
||||
}
|
||||
else if (!isActive) // directly remove the panel
|
||||
{
|
||||
this.DOMSearchBox().className = 'MSearchBoxInactive';
|
||||
this.DOMSearchField().value = this.searchLabel;
|
||||
this.searchActive = false;
|
||||
this.lastSearchValue = ''
|
||||
this.lastResultsPage = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
// The class that handles everything on the search results page.
|
||||
function SearchResults(name)
|
||||
{
|
||||
// The number of matches from the last run of <Search()>.
|
||||
this.lastMatchCount = 0;
|
||||
this.lastKey = 0;
|
||||
this.repeatOn = false;
|
||||
|
||||
// Toggles the visibility of the passed element ID.
|
||||
this.FindChildElement = function(id)
|
||||
{
|
||||
var parentElement = document.getElementById(id);
|
||||
var element = parentElement.firstChild;
|
||||
|
||||
while (element && element!=parentElement)
|
||||
{
|
||||
if (element.nodeName == 'DIV' && element.className == 'SRChildren')
|
||||
{
|
||||
return element;
|
||||
}
|
||||
|
||||
if (element.nodeName == 'DIV' && element.hasChildNodes())
|
||||
{
|
||||
element = element.firstChild;
|
||||
}
|
||||
else if (element.nextSibling)
|
||||
{
|
||||
element = element.nextSibling;
|
||||
}
|
||||
else
|
||||
{
|
||||
do
|
||||
{
|
||||
element = element.parentNode;
|
||||
}
|
||||
while (element && element!=parentElement && !element.nextSibling);
|
||||
|
||||
if (element && element!=parentElement)
|
||||
{
|
||||
element = element.nextSibling;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.Toggle = function(id)
|
||||
{
|
||||
var element = this.FindChildElement(id);
|
||||
if (element)
|
||||
{
|
||||
if (element.style.display == 'block')
|
||||
{
|
||||
element.style.display = 'none';
|
||||
}
|
||||
else
|
||||
{
|
||||
element.style.display = 'block';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Searches for the passed string. If there is no parameter,
|
||||
// it takes it from the URL query.
|
||||
//
|
||||
// Always returns true, since other documents may try to call it
|
||||
// and that may or may not be possible.
|
||||
this.Search = function(search)
|
||||
{
|
||||
if (!search) // get search word from URL
|
||||
{
|
||||
search = window.location.search;
|
||||
search = search.substring(1); // Remove the leading '?'
|
||||
search = unescape(search);
|
||||
}
|
||||
|
||||
search = search.replace(/^ +/, ""); // strip leading spaces
|
||||
search = search.replace(/ +$/, ""); // strip trailing spaces
|
||||
search = search.toLowerCase();
|
||||
search = convertToId(search);
|
||||
|
||||
var resultRows = document.getElementsByTagName("div");
|
||||
var matches = 0;
|
||||
|
||||
var i = 0;
|
||||
while (i < resultRows.length)
|
||||
{
|
||||
var row = resultRows.item(i);
|
||||
if (row.className == "SRResult")
|
||||
{
|
||||
var rowMatchName = row.id.toLowerCase();
|
||||
rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
|
||||
|
||||
if (search.length<=rowMatchName.length &&
|
||||
rowMatchName.substr(0, search.length)==search)
|
||||
{
|
||||
row.style.display = 'block';
|
||||
matches++;
|
||||
}
|
||||
else
|
||||
{
|
||||
row.style.display = 'none';
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
document.getElementById("Searching").style.display='none';
|
||||
if (matches == 0) // no results
|
||||
{
|
||||
document.getElementById("NoMatches").style.display='block';
|
||||
}
|
||||
else // at least one result
|
||||
{
|
||||
document.getElementById("NoMatches").style.display='none';
|
||||
}
|
||||
this.lastMatchCount = matches;
|
||||
return true;
|
||||
}
|
||||
|
||||
// return the first item with index index or higher that is visible
|
||||
this.NavNext = function(index)
|
||||
{
|
||||
var focusItem;
|
||||
while (1)
|
||||
{
|
||||
var focusName = 'Item'+index;
|
||||
focusItem = document.getElementById(focusName);
|
||||
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if (!focusItem) // last element
|
||||
{
|
||||
break;
|
||||
}
|
||||
focusItem=null;
|
||||
index++;
|
||||
}
|
||||
return focusItem;
|
||||
}
|
||||
|
||||
this.NavPrev = function(index)
|
||||
{
|
||||
var focusItem;
|
||||
while (1)
|
||||
{
|
||||
var focusName = 'Item'+index;
|
||||
focusItem = document.getElementById(focusName);
|
||||
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if (!focusItem) // last element
|
||||
{
|
||||
break;
|
||||
}
|
||||
focusItem=null;
|
||||
index--;
|
||||
}
|
||||
return focusItem;
|
||||
}
|
||||
|
||||
this.ProcessKeys = function(e)
|
||||
{
|
||||
if (e.type == "keydown")
|
||||
{
|
||||
this.repeatOn = false;
|
||||
this.lastKey = e.keyCode;
|
||||
}
|
||||
else if (e.type == "keypress")
|
||||
{
|
||||
if (!this.repeatOn)
|
||||
{
|
||||
if (this.lastKey) this.repeatOn = true;
|
||||
return false; // ignore first keypress after keydown
|
||||
}
|
||||
}
|
||||
else if (e.type == "keyup")
|
||||
{
|
||||
this.lastKey = 0;
|
||||
this.repeatOn = false;
|
||||
}
|
||||
return this.lastKey!=0;
|
||||
}
|
||||
|
||||
this.Nav = function(evt,itemIndex)
|
||||
{
|
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==13) return true;
|
||||
if (!this.ProcessKeys(e)) return false;
|
||||
|
||||
if (this.lastKey==38) // Up
|
||||
{
|
||||
var newIndex = itemIndex-1;
|
||||
var focusItem = this.NavPrev(newIndex);
|
||||
if (focusItem)
|
||||
{
|
||||
var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
|
||||
if (child && child.style.display == 'block') // children visible
|
||||
{
|
||||
var n=0;
|
||||
var tmpElem;
|
||||
while (1) // search for last child
|
||||
{
|
||||
tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
|
||||
if (tmpElem)
|
||||
{
|
||||
focusItem = tmpElem;
|
||||
}
|
||||
else // found it!
|
||||
{
|
||||
break;
|
||||
}
|
||||
n++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (focusItem)
|
||||
{
|
||||
focusItem.focus();
|
||||
}
|
||||
else // return focus to search field
|
||||
{
|
||||
parent.document.getElementById("MSearchField").focus();
|
||||
}
|
||||
}
|
||||
else if (this.lastKey==40) // Down
|
||||
{
|
||||
var newIndex = itemIndex+1;
|
||||
var focusItem;
|
||||
var item = document.getElementById('Item'+itemIndex);
|
||||
var elem = this.FindChildElement(item.parentNode.parentNode.id);
|
||||
if (elem && elem.style.display == 'block') // children visible
|
||||
{
|
||||
focusItem = document.getElementById('Item'+itemIndex+'_c0');
|
||||
}
|
||||
if (!focusItem) focusItem = this.NavNext(newIndex);
|
||||
if (focusItem) focusItem.focus();
|
||||
}
|
||||
else if (this.lastKey==39) // Right
|
||||
{
|
||||
var item = document.getElementById('Item'+itemIndex);
|
||||
var elem = this.FindChildElement(item.parentNode.parentNode.id);
|
||||
if (elem) elem.style.display = 'block';
|
||||
}
|
||||
else if (this.lastKey==37) // Left
|
||||
{
|
||||
var item = document.getElementById('Item'+itemIndex);
|
||||
var elem = this.FindChildElement(item.parentNode.parentNode.id);
|
||||
if (elem) elem.style.display = 'none';
|
||||
}
|
||||
else if (this.lastKey==27) // Escape
|
||||
{
|
||||
parent.searchBox.CloseResultsWindow();
|
||||
parent.document.getElementById("MSearchField").focus();
|
||||
}
|
||||
else if (this.lastKey==13) // Enter
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
this.NavChild = function(evt,itemIndex,childIndex)
|
||||
{
|
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==13) return true;
|
||||
if (!this.ProcessKeys(e)) return false;
|
||||
|
||||
if (this.lastKey==38) // Up
|
||||
{
|
||||
if (childIndex>0)
|
||||
{
|
||||
var newIndex = childIndex-1;
|
||||
document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
|
||||
}
|
||||
else // already at first child, jump to parent
|
||||
{
|
||||
document.getElementById('Item'+itemIndex).focus();
|
||||
}
|
||||
}
|
||||
else if (this.lastKey==40) // Down
|
||||
{
|
||||
var newIndex = childIndex+1;
|
||||
var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
|
||||
if (!elem) // last child, jump to parent next parent
|
||||
{
|
||||
elem = this.NavNext(itemIndex+1);
|
||||
}
|
||||
if (elem)
|
||||
{
|
||||
elem.focus();
|
||||
}
|
||||
}
|
||||
else if (this.lastKey==27) // Escape
|
||||
{
|
||||
parent.searchBox.CloseResultsWindow();
|
||||
parent.document.getElementById("MSearchField").focus();
|
||||
}
|
||||
else if (this.lastKey==13) // Enter
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function setKeyActions(elem,action)
|
||||
{
|
||||
elem.setAttribute('onkeydown',action);
|
||||
elem.setAttribute('onkeypress',action);
|
||||
elem.setAttribute('onkeyup',action);
|
||||
}
|
||||
|
||||
function setClassAttr(elem,attr)
|
||||
{
|
||||
elem.setAttribute('class',attr);
|
||||
elem.setAttribute('className',attr);
|
||||
}
|
||||
|
||||
function createResults()
|
||||
{
|
||||
var results = document.getElementById("SRResults");
|
||||
for (var e=0; e<searchData.length; e++)
|
||||
{
|
||||
var id = searchData[e][0];
|
||||
var srResult = document.createElement('div');
|
||||
srResult.setAttribute('id','SR_'+id);
|
||||
setClassAttr(srResult,'SRResult');
|
||||
var srEntry = document.createElement('div');
|
||||
setClassAttr(srEntry,'SREntry');
|
||||
var srLink = document.createElement('a');
|
||||
srLink.setAttribute('id','Item'+e);
|
||||
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
|
||||
setClassAttr(srLink,'SRSymbol');
|
||||
srLink.innerHTML = searchData[e][1][0];
|
||||
srEntry.appendChild(srLink);
|
||||
if (searchData[e][1].length==2) // single result
|
||||
{
|
||||
srLink.setAttribute('href',searchData[e][1][1][0]);
|
||||
if (searchData[e][1][1][1])
|
||||
{
|
||||
srLink.setAttribute('target','_parent');
|
||||
}
|
||||
var srScope = document.createElement('span');
|
||||
setClassAttr(srScope,'SRScope');
|
||||
srScope.innerHTML = searchData[e][1][1][2];
|
||||
srEntry.appendChild(srScope);
|
||||
}
|
||||
else // multiple results
|
||||
{
|
||||
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
|
||||
var srChildren = document.createElement('div');
|
||||
setClassAttr(srChildren,'SRChildren');
|
||||
for (var c=0; c<searchData[e][1].length-1; c++)
|
||||
{
|
||||
var srChild = document.createElement('a');
|
||||
srChild.setAttribute('id','Item'+e+'_c'+c);
|
||||
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
|
||||
setClassAttr(srChild,'SRScope');
|
||||
srChild.setAttribute('href',searchData[e][1][c+1][0]);
|
||||
if (searchData[e][1][c+1][1])
|
||||
{
|
||||
srChild.setAttribute('target','_parent');
|
||||
}
|
||||
srChild.innerHTML = searchData[e][1][c+1][2];
|
||||
srChildren.appendChild(srChild);
|
||||
}
|
||||
srEntry.appendChild(srChildren);
|
||||
}
|
||||
srResult.appendChild(srEntry);
|
||||
results.appendChild(srResult);
|
||||
}
|
||||
}
|
||||
|
||||
function init_search()
|
||||
{
|
||||
var results = document.getElementById("MSearchSelectWindow");
|
||||
for (var key in indexSectionLabels)
|
||||
{
|
||||
var link = document.createElement('a');
|
||||
link.setAttribute('class','SelectItem');
|
||||
link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
|
||||
link.href='javascript:void(0)';
|
||||
link.innerHTML='<span class="SelectionMark"> </span>'+indexSectionLabels[key];
|
||||
results.appendChild(link);
|
||||
}
|
||||
searchBox.OnSelectItem(0);
|
||||
}
|
||||
/* @license-end */
|
Po Szerokość: | Wysokość: | Rozmiar: 567 B |
Po Szerokość: | Wysokość: | Rozmiar: 158 B |
Po Szerokość: | Wysokość: | Rozmiar: 553 B |
|
@ -0,0 +1,18 @@
|
|||
var indexSectionsWithContent =
|
||||
{
|
||||
0: "as",
|
||||
1: "as"
|
||||
};
|
||||
|
||||
var indexSectionNames =
|
||||
{
|
||||
0: "all",
|
||||
1: "classes"
|
||||
};
|
||||
|
||||
var indexSectionLabels =
|
||||
{
|
||||
0: "All",
|
||||
1: "Classes"
|
||||
};
|
||||
|
Po Szerokość: | Wysokość: | Rozmiar: 314 B |
|
@ -0,0 +1,92 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>EQMOD2ETX: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="installsplash.bmp"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">EQMOD2ETX
|
||||
 <span id="projectnumber">1.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">EQ6 Protocol Translator for Meade ETX60 device</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.15 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">SkyWatcherFeatures Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hasCommonSlewStart</b> (defined in <a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>)</td><td class="entry"><a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>hasEncoder</b> (defined in <a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>)</td><td class="entry"><a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hasHalfCurrentTracking</b> (defined in <a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>)</td><td class="entry"><a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>hasHomeIndexer</b> (defined in <a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>)</td><td class="entry"><a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hasPolarLed</b> (defined in <a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>)</td><td class="entry"><a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>hasPPEC</b> (defined in <a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>)</td><td class="entry"><a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hasWifi</b> (defined in <a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>)</td><td class="entry"><a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>inPPEC</b> (defined in <a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>)</td><td class="entry"><a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>inPPECTraining</b> (defined in <a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>)</td><td class="entry"><a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>isAZEQ</b> (defined in <a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>)</td><td class="entry"><a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.15
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,119 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>EQMOD2ETX: SkyWatcherFeatures Struct Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="installsplash.bmp"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">EQMOD2ETX
|
||||
 <span id="projectnumber">1.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">EQ6 Protocol Translator for Meade ETX60 device</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.15 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-attribs">Public Attributes</a> |
|
||||
<a href="struct_sky_watcher_features-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">SkyWatcherFeatures Struct Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
|
||||
Public Attributes</h2></td></tr>
|
||||
<tr class="memitem:a447371090b5e2c4346a90e654a7f6d6a"><td class="memItemLeft" align="right" valign="top"><a id="a447371090b5e2c4346a90e654a7f6d6a"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>inPPECTraining</b> = false</td></tr>
|
||||
<tr class="separator:a447371090b5e2c4346a90e654a7f6d6a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a642b77877277ef442e7094ed455199e3"><td class="memItemLeft" align="right" valign="top"><a id="a642b77877277ef442e7094ed455199e3"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>inPPEC</b> = false</td></tr>
|
||||
<tr class="separator:a642b77877277ef442e7094ed455199e3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a78751e1cb1708965989351881ce525fe"><td class="memItemLeft" align="right" valign="top"><a id="a78751e1cb1708965989351881ce525fe"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>hasEncoder</b> = false</td></tr>
|
||||
<tr class="separator:a78751e1cb1708965989351881ce525fe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abbb84e6151a8936a3fb3a2dc0100eb1b"><td class="memItemLeft" align="right" valign="top"><a id="abbb84e6151a8936a3fb3a2dc0100eb1b"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>hasPPEC</b> = false</td></tr>
|
||||
<tr class="separator:abbb84e6151a8936a3fb3a2dc0100eb1b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7498d63409d8ef53428e06fcd3141624"><td class="memItemLeft" align="right" valign="top"><a id="a7498d63409d8ef53428e06fcd3141624"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>hasHomeIndexer</b> = false</td></tr>
|
||||
<tr class="separator:a7498d63409d8ef53428e06fcd3141624"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a75e3dc036c454da6e55e7db2aaee8176"><td class="memItemLeft" align="right" valign="top"><a id="a75e3dc036c454da6e55e7db2aaee8176"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>isAZEQ</b> = false</td></tr>
|
||||
<tr class="separator:a75e3dc036c454da6e55e7db2aaee8176"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6f02d7a4c6af0e7c43d8cad9da3a0d45"><td class="memItemLeft" align="right" valign="top"><a id="a6f02d7a4c6af0e7c43d8cad9da3a0d45"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>hasPolarLed</b> = false</td></tr>
|
||||
<tr class="separator:a6f02d7a4c6af0e7c43d8cad9da3a0d45"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9e07eb745f039b8815c88ba81234a647"><td class="memItemLeft" align="right" valign="top"><a id="a9e07eb745f039b8815c88ba81234a647"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>hasCommonSlewStart</b> = false</td></tr>
|
||||
<tr class="separator:a9e07eb745f039b8815c88ba81234a647"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a65b43839a6ac29ae8cfa217879fff50e"><td class="memItemLeft" align="right" valign="top"><a id="a65b43839a6ac29ae8cfa217879fff50e"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>hasHalfCurrentTracking</b> = false</td></tr>
|
||||
<tr class="separator:a65b43839a6ac29ae8cfa217879fff50e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac9ad6e2d283ba7a6b1137e743e99e8b5"><td class="memItemLeft" align="right" valign="top"><a id="ac9ad6e2d283ba7a6b1137e743e99e8b5"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>hasWifi</b> = false</td></tr>
|
||||
<tr class="separator:ac9ad6e2d283ba7a6b1137e743e99e8b5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
<li><a class="el" href="_e_q_g_protocol_8h_source.html">EQGProtocol.h</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.15
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,125 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>EQMOD2ETX: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="installsplash.bmp"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">EQMOD2ETX
|
||||
 <span id="projectnumber">1.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">EQ6 Protocol Translator for Meade ETX60 device</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.15 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">axis_type Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="structaxis__type.html">axis_type</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>aVALUE</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>bVALUE</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Command</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>DEGREERATE1</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DirnSpeed</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>EQGMotorStatus</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ETXMotorState</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>ETXMotorStatus</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ETXSpeedCommand</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>GbxRatio</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HBXBitCount</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>HBXCount</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HBXData</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>HBXGuide</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HBXLEDI</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>HBXP1</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HBXP2</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>HBXP3</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HBXP4</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>HBXSnapPort</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Increment</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>LEDValue</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>LUNARRATE</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>MeadeRatio</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MotorControl</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>MotorFlag</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MotorType</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>Offset</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>OneDegree</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>PEC</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Position</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>PrintStatus0</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SIDEREALRATE</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>SlowDown</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SOLARRATE</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>Speed</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SpeedState</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>Target</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>TargetSpeed</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>TimeDelta</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Vanes</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>WormTeeth</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>XferRatio</b> (defined in <a class="el" href="structaxis__type.html">axis_type</a>)</td><td class="entry"><a class="el" href="structaxis__type.html">axis_type</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.15
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,218 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>EQMOD2ETX: axis_type Struct Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="installsplash.bmp"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">EQMOD2ETX
|
||||
 <span id="projectnumber">1.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">EQ6 Protocol Translator for Meade ETX60 device</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.15 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-attribs">Public Attributes</a> |
|
||||
<a href="structaxis__type-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">axis_type Struct Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
|
||||
Public Attributes</h2></td></tr>
|
||||
<tr class="memitem:a8d6e2614b5b9ced9a557fa59a22543ed"><td class="memItemLeft" align="right" valign="top"><a id="a8d6e2614b5b9ced9a557fa59a22543ed"></a>
|
||||
unsigned char </td><td class="memItemRight" valign="bottom"><b>MotorType</b></td></tr>
|
||||
<tr class="separator:a8d6e2614b5b9ced9a557fa59a22543ed"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa70145fea3079f5b250d4f1586f2223c"><td class="memItemLeft" align="right" valign="top"><a id="aa70145fea3079f5b250d4f1586f2223c"></a>
|
||||
unsigned char </td><td class="memItemRight" valign="bottom"><b>MotorFlag</b></td></tr>
|
||||
<tr class="separator:aa70145fea3079f5b250d4f1586f2223c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1192a02117a60694ac5574eda88b8ea7"><td class="memItemLeft" align="right" valign="top"><a id="a1192a02117a60694ac5574eda88b8ea7"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>ETXMotorState</b></td></tr>
|
||||
<tr class="separator:a1192a02117a60694ac5574eda88b8ea7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7935fe762d46b59a84ea8f423b434782"><td class="memItemLeft" align="right" valign="top"><a id="a7935fe762d46b59a84ea8f423b434782"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>ETXMotorStatus</b></td></tr>
|
||||
<tr class="separator:a7935fe762d46b59a84ea8f423b434782"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a45ac919db125d0953e3adab20c1542df"><td class="memItemLeft" align="right" valign="top"><a id="a45ac919db125d0953e3adab20c1542df"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>EQGMotorStatus</b></td></tr>
|
||||
<tr class="separator:a45ac919db125d0953e3adab20c1542df"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aaa45704c8f826b1d2e73fe749005cfa2"><td class="memItemLeft" align="right" valign="top"><a id="aaa45704c8f826b1d2e73fe749005cfa2"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>MotorControl</b></td></tr>
|
||||
<tr class="separator:aaa45704c8f826b1d2e73fe749005cfa2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af5ea840e77e4a91bae5bcacede0855b6"><td class="memItemLeft" align="right" valign="top"><a id="af5ea840e77e4a91bae5bcacede0855b6"></a>
|
||||
unsigned char </td><td class="memItemRight" valign="bottom"><b>HBXBitCount</b></td></tr>
|
||||
<tr class="separator:af5ea840e77e4a91bae5bcacede0855b6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4c9b959520501d8bba6c7074f7128b17"><td class="memItemLeft" align="right" valign="top"><a id="a4c9b959520501d8bba6c7074f7128b17"></a>
|
||||
unsigned char </td><td class="memItemRight" valign="bottom"><b>Command</b></td></tr>
|
||||
<tr class="separator:a4c9b959520501d8bba6c7074f7128b17"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a877b0c8c30498ce9338b82d65ca5ac79"><td class="memItemLeft" align="right" valign="top"><a id="a877b0c8c30498ce9338b82d65ca5ac79"></a>
|
||||
unsigned char </td><td class="memItemRight" valign="bottom"><b>HBXData</b></td></tr>
|
||||
<tr class="separator:a877b0c8c30498ce9338b82d65ca5ac79"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acaf4a45ba2953d3f8eebf12758e715a1"><td class="memItemLeft" align="right" valign="top"><a id="acaf4a45ba2953d3f8eebf12758e715a1"></a>
|
||||
unsigned char </td><td class="memItemRight" valign="bottom"><b>HBXP1</b></td></tr>
|
||||
<tr class="separator:acaf4a45ba2953d3f8eebf12758e715a1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afad533166bfc2724c705bfa81e57ff1d"><td class="memItemLeft" align="right" valign="top"><a id="afad533166bfc2724c705bfa81e57ff1d"></a>
|
||||
unsigned char </td><td class="memItemRight" valign="bottom"><b>HBXP2</b></td></tr>
|
||||
<tr class="separator:afad533166bfc2724c705bfa81e57ff1d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab71f137ce48048aa7a0f2b8ff3f60ee1"><td class="memItemLeft" align="right" valign="top"><a id="ab71f137ce48048aa7a0f2b8ff3f60ee1"></a>
|
||||
unsigned char </td><td class="memItemRight" valign="bottom"><b>HBXP3</b></td></tr>
|
||||
<tr class="separator:ab71f137ce48048aa7a0f2b8ff3f60ee1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac63a803f4f8c8dc4b8af186609e7b41d"><td class="memItemLeft" align="right" valign="top"><a id="ac63a803f4f8c8dc4b8af186609e7b41d"></a>
|
||||
unsigned char </td><td class="memItemRight" valign="bottom"><b>HBXP4</b></td></tr>
|
||||
<tr class="separator:ac63a803f4f8c8dc4b8af186609e7b41d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abdf7866e448e964a92fe79c63ef3f755"><td class="memItemLeft" align="right" valign="top"><a id="abdf7866e448e964a92fe79c63ef3f755"></a>
|
||||
unsigned char </td><td class="memItemRight" valign="bottom"><b>HBXCount</b></td></tr>
|
||||
<tr class="separator:abdf7866e448e964a92fe79c63ef3f755"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a47af0530bdbf2fef9dbaf66da8b5ff38"><td class="memItemLeft" align="right" valign="top"><a id="a47af0530bdbf2fef9dbaf66da8b5ff38"></a>
|
||||
unsigned char </td><td class="memItemRight" valign="bottom"><b>HBXLEDI</b></td></tr>
|
||||
<tr class="separator:a47af0530bdbf2fef9dbaf66da8b5ff38"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9940377963d574b38975c49bb9753dd6"><td class="memItemLeft" align="right" valign="top"><a id="a9940377963d574b38975c49bb9753dd6"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>DirnSpeed</b></td></tr>
|
||||
<tr class="separator:a9940377963d574b38975c49bb9753dd6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ada1ef73d76498f2942b1a4df043c9853"><td class="memItemLeft" align="right" valign="top"><a id="ada1ef73d76498f2942b1a4df043c9853"></a>
|
||||
char </td><td class="memItemRight" valign="bottom"><b>HBXGuide</b></td></tr>
|
||||
<tr class="separator:ada1ef73d76498f2942b1a4df043c9853"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5a29c1b1900e0706a0a69952bb63b067"><td class="memItemLeft" align="right" valign="top"><a id="a5a29c1b1900e0706a0a69952bb63b067"></a>
|
||||
char </td><td class="memItemRight" valign="bottom"><b>HBXSnapPort</b></td></tr>
|
||||
<tr class="separator:a5a29c1b1900e0706a0a69952bb63b067"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a67c1719e0b3d9b1933566075671d141d"><td class="memItemLeft" align="right" valign="top"><a id="a67c1719e0b3d9b1933566075671d141d"></a>
|
||||
char </td><td class="memItemRight" valign="bottom"><b>LEDValue</b></td></tr>
|
||||
<tr class="separator:a67c1719e0b3d9b1933566075671d141d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a093932d4a97d2f8a08fb01f3ba6605b6"><td class="memItemLeft" align="right" valign="top"><a id="a093932d4a97d2f8a08fb01f3ba6605b6"></a>
|
||||
char </td><td class="memItemRight" valign="bottom"><b>ETXSpeedCommand</b></td></tr>
|
||||
<tr class="separator:a093932d4a97d2f8a08fb01f3ba6605b6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a96402b3f3317f107cf15b4d956a20209"><td class="memItemLeft" align="right" valign="top"><a id="a96402b3f3317f107cf15b4d956a20209"></a>
|
||||
long </td><td class="memItemRight" valign="bottom"><b>Speed</b></td></tr>
|
||||
<tr class="separator:a96402b3f3317f107cf15b4d956a20209"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6791f418b7170c5f97201fe4534d669f"><td class="memItemLeft" align="right" valign="top"><a id="a6791f418b7170c5f97201fe4534d669f"></a>
|
||||
long </td><td class="memItemRight" valign="bottom"><b>TargetSpeed</b></td></tr>
|
||||
<tr class="separator:a6791f418b7170c5f97201fe4534d669f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acb8750c37a6a8df3ebe809095843d247"><td class="memItemLeft" align="right" valign="top"><a id="acb8750c37a6a8df3ebe809095843d247"></a>
|
||||
char </td><td class="memItemRight" valign="bottom"><b>SpeedState</b></td></tr>
|
||||
<tr class="separator:acb8750c37a6a8df3ebe809095843d247"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afc562535446cdb1fe08380f155034fe4"><td class="memItemLeft" align="right" valign="top"><a id="afc562535446cdb1fe08380f155034fe4"></a>
|
||||
long </td><td class="memItemRight" valign="bottom"><b>Position</b></td></tr>
|
||||
<tr class="separator:afc562535446cdb1fe08380f155034fe4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0bb731f6188c70eec095aa1413205c58"><td class="memItemLeft" align="right" valign="top"><a id="a0bb731f6188c70eec095aa1413205c58"></a>
|
||||
long </td><td class="memItemRight" valign="bottom"><b>Target</b></td></tr>
|
||||
<tr class="separator:a0bb731f6188c70eec095aa1413205c58"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a08d1fea2e1b10e2518291544d2267563"><td class="memItemLeft" align="right" valign="top"><a id="a08d1fea2e1b10e2518291544d2267563"></a>
|
||||
long </td><td class="memItemRight" valign="bottom"><b>Increment</b></td></tr>
|
||||
<tr class="separator:a08d1fea2e1b10e2518291544d2267563"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a579b90ed04507ff74579008e8ecc117e"><td class="memItemLeft" align="right" valign="top"><a id="a579b90ed04507ff74579008e8ecc117e"></a>
|
||||
long </td><td class="memItemRight" valign="bottom"><b>SlowDown</b></td></tr>
|
||||
<tr class="separator:a579b90ed04507ff74579008e8ecc117e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a12af7f2ff2f296c54d54dc4880f962eb"><td class="memItemLeft" align="right" valign="top"><a id="a12af7f2ff2f296c54d54dc4880f962eb"></a>
|
||||
long </td><td class="memItemRight" valign="bottom"><b>Offset</b></td></tr>
|
||||
<tr class="separator:a12af7f2ff2f296c54d54dc4880f962eb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a51a5c3b0ad565aafe84bbf6ed3f95d0b"><td class="memItemLeft" align="right" valign="top"><a id="a51a5c3b0ad565aafe84bbf6ed3f95d0b"></a>
|
||||
float </td><td class="memItemRight" valign="bottom"><b>MeadeRatio</b></td></tr>
|
||||
<tr class="separator:a51a5c3b0ad565aafe84bbf6ed3f95d0b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad485b2aaf212a44bcb9b8930bbba8ee1"><td class="memItemLeft" align="right" valign="top"><a id="ad485b2aaf212a44bcb9b8930bbba8ee1"></a>
|
||||
float </td><td class="memItemRight" valign="bottom"><b>GbxRatio</b></td></tr>
|
||||
<tr class="separator:ad485b2aaf212a44bcb9b8930bbba8ee1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2a763647ed6954b74391e7ec668aea42"><td class="memItemLeft" align="right" valign="top"><a id="a2a763647ed6954b74391e7ec668aea42"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>Vanes</b></td></tr>
|
||||
<tr class="separator:a2a763647ed6954b74391e7ec668aea42"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad4e02128a3716e6e50ee6cdea7e77900"><td class="memItemLeft" align="right" valign="top"><a id="ad4e02128a3716e6e50ee6cdea7e77900"></a>
|
||||
float </td><td class="memItemRight" valign="bottom"><b>XferRatio</b></td></tr>
|
||||
<tr class="separator:ad4e02128a3716e6e50ee6cdea7e77900"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad72da5b007c935f48260620d182a4556"><td class="memItemLeft" align="right" valign="top"><a id="ad72da5b007c935f48260620d182a4556"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>WormTeeth</b></td></tr>
|
||||
<tr class="separator:ad72da5b007c935f48260620d182a4556"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab5f8c71bd61af81017912137bcbe8dc4"><td class="memItemLeft" align="right" valign="top"><a id="ab5f8c71bd61af81017912137bcbe8dc4"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>aVALUE</b></td></tr>
|
||||
<tr class="separator:ab5f8c71bd61af81017912137bcbe8dc4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a92730f2ae10f67179c26fca7c3dbc503"><td class="memItemLeft" align="right" valign="top"><a id="a92730f2ae10f67179c26fca7c3dbc503"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>bVALUE</b></td></tr>
|
||||
<tr class="separator:a92730f2ae10f67179c26fca7c3dbc503"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6d408f8c18ab3a8b6fd42c45d383a537"><td class="memItemLeft" align="right" valign="top"><a id="a6d408f8c18ab3a8b6fd42c45d383a537"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>OneDegree</b></td></tr>
|
||||
<tr class="separator:a6d408f8c18ab3a8b6fd42c45d383a537"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9671b2224c205a2ef87dd17b9e9379bc"><td class="memItemLeft" align="right" valign="top"><a id="a9671b2224c205a2ef87dd17b9e9379bc"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>SIDEREALRATE</b></td></tr>
|
||||
<tr class="separator:a9671b2224c205a2ef87dd17b9e9379bc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2e077c5c6409615751a079f9e4f1b5e3"><td class="memItemLeft" align="right" valign="top"><a id="a2e077c5c6409615751a079f9e4f1b5e3"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>SOLARRATE</b></td></tr>
|
||||
<tr class="separator:a2e077c5c6409615751a079f9e4f1b5e3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a20669e06299050ac114615b3d816455a"><td class="memItemLeft" align="right" valign="top"><a id="a20669e06299050ac114615b3d816455a"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>LUNARRATE</b></td></tr>
|
||||
<tr class="separator:a20669e06299050ac114615b3d816455a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1b1780f04321b5903b8f97c17b5db039"><td class="memItemLeft" align="right" valign="top"><a id="a1b1780f04321b5903b8f97c17b5db039"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>DEGREERATE1</b></td></tr>
|
||||
<tr class="separator:a1b1780f04321b5903b8f97c17b5db039"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab9221caecffb15e528d1d843ee1e1ccf"><td class="memItemLeft" align="right" valign="top"><a id="ab9221caecffb15e528d1d843ee1e1ccf"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>PEC</b></td></tr>
|
||||
<tr class="separator:ab9221caecffb15e528d1d843ee1e1ccf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad36f04c29f39500cb5361501052a891d"><td class="memItemLeft" align="right" valign="top"><a id="ad36f04c29f39500cb5361501052a891d"></a>
|
||||
unsigned char </td><td class="memItemRight" valign="bottom"><b>PrintStatus0</b></td></tr>
|
||||
<tr class="separator:ad36f04c29f39500cb5361501052a891d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2bfeb2429981e220e649898a4edfa9a3"><td class="memItemLeft" align="right" valign="top"><a id="a2bfeb2429981e220e649898a4edfa9a3"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>TimeDelta</b></td></tr>
|
||||
<tr class="separator:a2bfeb2429981e220e649898a4edfa9a3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
<li><a class="el" href="_e_q_g2_h_b_x_8h_source.html">EQG2HBX.h</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.15
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,87 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>EQMOD2ETX: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="installsplash.bmp"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">EQMOD2ETX
|
||||
 <span id="projectnumber">1.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">EQ6 Protocol Translator for Meade ETX60 device</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.15 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">axis_values Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="structaxis__values.html">axis_values</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GbxRatio</b> (defined in <a class="el" href="structaxis__values.html">axis_values</a>)</td><td class="entry"><a class="el" href="structaxis__values.html">axis_values</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>Telescope</b> (defined in <a class="el" href="structaxis__values.html">axis_values</a>)</td><td class="entry"><a class="el" href="structaxis__values.html">axis_values</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Vanes</b> (defined in <a class="el" href="structaxis__values.html">axis_values</a>)</td><td class="entry"><a class="el" href="structaxis__values.html">axis_values</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>WormTeeth</b> (defined in <a class="el" href="structaxis__values.html">axis_values</a>)</td><td class="entry"><a class="el" href="structaxis__values.html">axis_values</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>XferRatio</b> (defined in <a class="el" href="structaxis__values.html">axis_values</a>)</td><td class="entry"><a class="el" href="structaxis__values.html">axis_values</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.15
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,104 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>EQMOD2ETX: axis_values Struct Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="installsplash.bmp"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">EQMOD2ETX
|
||||
 <span id="projectnumber">1.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">EQ6 Protocol Translator for Meade ETX60 device</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.15 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-attribs">Public Attributes</a> |
|
||||
<a href="structaxis__values-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">axis_values Struct Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
|
||||
Public Attributes</h2></td></tr>
|
||||
<tr class="memitem:a69fe070e634631a905091b64b69ed733"><td class="memItemLeft" align="right" valign="top"><a id="a69fe070e634631a905091b64b69ed733"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>Vanes</b></td></tr>
|
||||
<tr class="separator:a69fe070e634631a905091b64b69ed733"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8fba82b610a5c029a7b492f3f84c4c4b"><td class="memItemLeft" align="right" valign="top"><a id="a8fba82b610a5c029a7b492f3f84c4c4b"></a>
|
||||
float </td><td class="memItemRight" valign="bottom"><b>GbxRatio</b></td></tr>
|
||||
<tr class="separator:a8fba82b610a5c029a7b492f3f84c4c4b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a59119ea853e5881b2718e0c1d45a81a4"><td class="memItemLeft" align="right" valign="top"><a id="a59119ea853e5881b2718e0c1d45a81a4"></a>
|
||||
float </td><td class="memItemRight" valign="bottom"><b>XferRatio</b></td></tr>
|
||||
<tr class="separator:a59119ea853e5881b2718e0c1d45a81a4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a847c89951bc827b17958f586adf6c2b4"><td class="memItemLeft" align="right" valign="top"><a id="a847c89951bc827b17958f586adf6c2b4"></a>
|
||||
unsigned long </td><td class="memItemRight" valign="bottom"><b>WormTeeth</b></td></tr>
|
||||
<tr class="separator:a847c89951bc827b17958f586adf6c2b4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0b78a78c0d2ad6333b60955c57d70b75"><td class="memItemLeft" align="right" valign="top"><a id="a0b78a78c0d2ad6333b60955c57d70b75"></a>
|
||||
char </td><td class="memItemRight" valign="bottom"><b>Telescope</b> [16]</td></tr>
|
||||
<tr class="separator:a0b78a78c0d2ad6333b60955c57d70b75"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
<li><a class="el" href="_e_q_g2_h_b_x_8h_source.html">EQG2HBX.h</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.15
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
Po Szerokość: | Wysokość: | Rozmiar: 853 B |
Po Szerokość: | Wysokość: | Rozmiar: 845 B |
Po Szerokość: | Wysokość: | Rozmiar: 142 B |
Po Szerokość: | Wysokość: | Rozmiar: 169 B |
Po Szerokość: | Wysokość: | Rozmiar: 177 B |
Po Szerokość: | Wysokość: | Rozmiar: 184 B |
|
@ -0,0 +1,23 @@
|
|||
LATEX_CMD=pdflatex
|
||||
|
||||
all: refman.pdf
|
||||
|
||||
pdf: refman.pdf
|
||||
|
||||
refman.pdf: clean refman.tex
|
||||
$(LATEX_CMD) refman
|
||||
makeindex refman.idx
|
||||
$(LATEX_CMD) refman
|
||||
latex_count=8 ; \
|
||||
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
|
||||
do \
|
||||
echo "Rerunning latex...." ;\
|
||||
$(LATEX_CMD) refman ;\
|
||||
latex_count=`expr $$latex_count - 1` ;\
|
||||
done
|
||||
makeindex refman.idx
|
||||
$(LATEX_CMD) refman
|
||||
|
||||
|
||||
clean:
|
||||
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
|
|
@ -0,0 +1,6 @@
|
|||
\section{Class List}
|
||||
Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structaxis__type}{axis\+\_\+type}} }{\pageref{structaxis__type}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structaxis__values}{axis\+\_\+values}} }{\pageref{structaxis__values}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{struct_sky_watcher_features}{Sky\+Watcher\+Features}} }{\pageref{struct_sky_watcher_features}}{}
|
||||
\end{DoxyCompactList}
|
|
@ -0,0 +1,549 @@
|
|||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{doxygen}
|
||||
|
||||
% Packages used by this style file
|
||||
\RequirePackage{alltt}
|
||||
\RequirePackage{array}
|
||||
\RequirePackage{calc}
|
||||
\RequirePackage{float}
|
||||
\RequirePackage{ifthen}
|
||||
\RequirePackage{verbatim}
|
||||
\RequirePackage[table]{xcolor}
|
||||
\RequirePackage{longtable}
|
||||
\RequirePackage{tabu}
|
||||
\RequirePackage{fancyvrb}
|
||||
\RequirePackage{tabularx}
|
||||
\RequirePackage{multirow}
|
||||
\RequirePackage{hanging}
|
||||
\RequirePackage{ifpdf}
|
||||
\RequirePackage{adjustbox}
|
||||
\RequirePackage{amssymb}
|
||||
\RequirePackage{stackengine}
|
||||
\RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis
|
||||
|
||||
%---------- Internal commands used in this style file ----------------
|
||||
|
||||
\newcommand{\ensurespace}[1]{%
|
||||
\begingroup%
|
||||
\setlength{\dimen@}{#1}%
|
||||
\vskip\z@\@plus\dimen@%
|
||||
\penalty -100\vskip\z@\@plus -\dimen@%
|
||||
\vskip\dimen@%
|
||||
\penalty 9999%
|
||||
\vskip -\dimen@%
|
||||
\vskip\z@skip% hide the previous |\vskip| from |\addvspace|
|
||||
\endgroup%
|
||||
}
|
||||
|
||||
\newcommand{\DoxyLabelFont}{}
|
||||
\newcommand{\entrylabel}[1]{%
|
||||
{%
|
||||
\parbox[b]{\labelwidth-4pt}{%
|
||||
\makebox[0pt][l]{\DoxyLabelFont#1}%
|
||||
\vspace{1.5\baselineskip}%
|
||||
}%
|
||||
}%
|
||||
}
|
||||
|
||||
\newenvironment{DoxyDesc}[1]{%
|
||||
\ensurespace{4\baselineskip}%
|
||||
\begin{list}{}{%
|
||||
\settowidth{\labelwidth}{20pt}%
|
||||
\setlength{\parsep}{0pt}%
|
||||
\setlength{\itemsep}{0pt}%
|
||||
\setlength{\leftmargin}{\labelwidth+\labelsep}%
|
||||
\renewcommand{\makelabel}{\entrylabel}%
|
||||
}%
|
||||
\item[#1]%
|
||||
}{%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
\newsavebox{\xrefbox}
|
||||
\newlength{\xreflength}
|
||||
\newcommand{\xreflabel}[1]{%
|
||||
\sbox{\xrefbox}{#1}%
|
||||
\setlength{\xreflength}{\wd\xrefbox}%
|
||||
\ifthenelse{\xreflength>\labelwidth}{%
|
||||
\begin{minipage}{\textwidth}%
|
||||
\setlength{\parindent}{0pt}%
|
||||
\hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
|
||||
\end{minipage}%
|
||||
}{%
|
||||
\parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
|
||||
}%
|
||||
}
|
||||
|
||||
%---------- Commands used by doxygen LaTeX output generator ----------
|
||||
|
||||
% Used by <pre> ... </pre>
|
||||
\newenvironment{DoxyPre}{%
|
||||
\small%
|
||||
\begin{alltt}%
|
||||
}{%
|
||||
\end{alltt}%
|
||||
\normalsize%
|
||||
}
|
||||
% Necessary for redefining not defined charcaters, i.e. "Replacement Character" in tex output.
|
||||
\newlength{\CodeWidthChar}
|
||||
\newlength{\CodeHeightChar}
|
||||
\settowidth{\CodeWidthChar}{?}
|
||||
\settoheight{\CodeHeightChar}{?}
|
||||
% Necessary for hanging indent
|
||||
\newlength{\DoxyCodeWidth}
|
||||
|
||||
\newcommand\DoxyCodeLine[1]{\hangpara{\DoxyCodeWidth}{1}{#1}\par}
|
||||
|
||||
\newcommand\NiceSpace{%
|
||||
\discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}%
|
||||
}
|
||||
|
||||
% Used by @code ... @endcode
|
||||
\newenvironment{DoxyCode}[1]{%
|
||||
\par%
|
||||
\scriptsize%
|
||||
\normalfont\ttfamily%
|
||||
\rightskip0pt plus 1fil%
|
||||
\settowidth{\DoxyCodeWidth}{000000}%
|
||||
\settowidth{\CodeWidthChar}{?}%
|
||||
\settoheight{\CodeHeightChar}{?}%
|
||||
\setlength{\parskip}{0ex plus 0ex minus 0ex}%
|
||||
\ifthenelse{\equal{#1}{0}}
|
||||
{
|
||||
{\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces%
|
||||
}
|
||||
{
|
||||
{\lccode`~32 \lowercase{\global\let~}}\obeyspaces%
|
||||
}
|
||||
|
||||
}{%
|
||||
\normalfont%
|
||||
\normalsize%
|
||||
\settowidth{\CodeWidthChar}{?}%
|
||||
\settoheight{\CodeHeightChar}{?}%
|
||||
}
|
||||
|
||||
% Redefining not defined characters, i.e. "Replacement Character" in tex output.
|
||||
\def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{%
|
||||
\textcolor{white}{\sffamily\bfseries\small ?}}{%
|
||||
\rotatebox{45}{$\blacksquare$}}}}
|
||||
|
||||
% Used by @example, @include, @includelineno and @dontinclude
|
||||
\newenvironment{DoxyCodeInclude}[1]{%
|
||||
\DoxyCode{#1}%
|
||||
}{%
|
||||
\endDoxyCode%
|
||||
}
|
||||
|
||||
% Used by @verbatim ... @endverbatim
|
||||
\newenvironment{DoxyVerb}{%
|
||||
\footnotesize%
|
||||
\verbatim%
|
||||
}{%
|
||||
\endverbatim%
|
||||
\normalsize%
|
||||
}
|
||||
|
||||
% Used by @verbinclude
|
||||
\newenvironment{DoxyVerbInclude}{%
|
||||
\DoxyVerb%
|
||||
}{%
|
||||
\endDoxyVerb%
|
||||
}
|
||||
|
||||
% Used by numbered lists (using '-#' or <ol> ... </ol>)
|
||||
\newenvironment{DoxyEnumerate}{%
|
||||
\enumerate%
|
||||
}{%
|
||||
\endenumerate%
|
||||
}
|
||||
|
||||
% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
|
||||
\newenvironment{DoxyItemize}{%
|
||||
\itemize%
|
||||
}{%
|
||||
\enditemize%
|
||||
}
|
||||
|
||||
% Used by description lists (using <dl> ... </dl>)
|
||||
\newenvironment{DoxyDescription}{%
|
||||
\description%
|
||||
}{%
|
||||
\enddescription%
|
||||
}
|
||||
|
||||
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
|
||||
% (only if caption is specified)
|
||||
\newenvironment{DoxyImage}{%
|
||||
\begin{figure}[H]%
|
||||
\begin{center}%
|
||||
}{%
|
||||
\end{center}%
|
||||
\end{figure}%
|
||||
}
|
||||
|
||||
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
|
||||
% (only if no caption is specified)
|
||||
\newenvironment{DoxyImageNoCaption}{%
|
||||
\begin{center}%
|
||||
}{%
|
||||
\end{center}%
|
||||
}
|
||||
|
||||
% Used by @image
|
||||
% (only if inline is specified)
|
||||
\newenvironment{DoxyInlineImage}{%
|
||||
}{%
|
||||
}
|
||||
|
||||
% Used by @attention
|
||||
\newenvironment{DoxyAttention}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @author and @authors
|
||||
\newenvironment{DoxyAuthor}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @date
|
||||
\newenvironment{DoxyDate}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @invariant
|
||||
\newenvironment{DoxyInvariant}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @note
|
||||
\newenvironment{DoxyNote}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @post
|
||||
\newenvironment{DoxyPostcond}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @pre
|
||||
\newenvironment{DoxyPrecond}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @copyright
|
||||
\newenvironment{DoxyCopyright}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @remark
|
||||
\newenvironment{DoxyRemark}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @return and @returns
|
||||
\newenvironment{DoxyReturn}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @since
|
||||
\newenvironment{DoxySince}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @see
|
||||
\newenvironment{DoxySeeAlso}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @version
|
||||
\newenvironment{DoxyVersion}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @warning
|
||||
\newenvironment{DoxyWarning}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @internal
|
||||
\newenvironment{DoxyInternal}[1]{%
|
||||
\paragraph*{#1}%
|
||||
}{%
|
||||
}
|
||||
|
||||
% Used by @par and @paragraph
|
||||
\newenvironment{DoxyParagraph}[1]{%
|
||||
\begin{list}{}{%
|
||||
\settowidth{\labelwidth}{40pt}%
|
||||
\setlength{\leftmargin}{\labelwidth}%
|
||||
\setlength{\parsep}{0pt}%
|
||||
\setlength{\itemsep}{-4pt}%
|
||||
\renewcommand{\makelabel}{\entrylabel}%
|
||||
}%
|
||||
\item[#1]%
|
||||
}{%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
% Used by parameter lists
|
||||
\newenvironment{DoxyParams}[2][]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\ifthenelse{\equal{#1}{}}%
|
||||
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
|
||||
{\ifthenelse{\equal{#1}{1}}%
|
||||
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
|
||||
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
|
||||
}
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
|
||||
\hline%
|
||||
\endfirsthead%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
|
||||
\hline%
|
||||
\endhead%
|
||||
}{%
|
||||
\end{longtabu*}%
|
||||
\vspace{6pt}%
|
||||
}
|
||||
|
||||
% Used for fields of simple structs
|
||||
\newenvironment{DoxyFields}[1]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
|
||||
\multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endfirsthead%
|
||||
\multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endhead%
|
||||
}{%
|
||||
\end{longtabu*}%
|
||||
\vspace{6pt}%
|
||||
}
|
||||
|
||||
% Used for fields simple class style enums
|
||||
\newenvironment{DoxyEnumFields}[1]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endfirsthead%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endhead%
|
||||
}{%
|
||||
\end{longtabu*}%
|
||||
\vspace{6pt}%
|
||||
}
|
||||
|
||||
% Used for parameters within a detailed function description
|
||||
\newenvironment{DoxyParamCaption}{%
|
||||
\renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}%
|
||||
}{%
|
||||
}
|
||||
|
||||
% Used by return value lists
|
||||
\newenvironment{DoxyRetVals}[1]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endfirsthead%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endhead%
|
||||
}{%
|
||||
\end{longtabu*}%
|
||||
\vspace{6pt}%
|
||||
}
|
||||
|
||||
% Used by exception lists
|
||||
\newenvironment{DoxyExceptions}[1]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endfirsthead%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endhead%
|
||||
}{%
|
||||
\end{longtabu*}%
|
||||
\vspace{6pt}%
|
||||
}
|
||||
|
||||
% Used by template parameter lists
|
||||
\newenvironment{DoxyTemplParams}[1]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endfirsthead%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endhead%
|
||||
}{%
|
||||
\end{longtabu*}%
|
||||
\vspace{6pt}%
|
||||
}
|
||||
|
||||
% Used for member lists
|
||||
\newenvironment{DoxyCompactItemize}{%
|
||||
\begin{itemize}%
|
||||
\setlength{\itemsep}{-3pt}%
|
||||
\setlength{\parsep}{0pt}%
|
||||
\setlength{\topsep}{0pt}%
|
||||
\setlength{\partopsep}{0pt}%
|
||||
}{%
|
||||
\end{itemize}%
|
||||
}
|
||||
|
||||
% Used for member descriptions
|
||||
\newenvironment{DoxyCompactList}{%
|
||||
\begin{list}{}{%
|
||||
\setlength{\leftmargin}{0.5cm}%
|
||||
\setlength{\itemsep}{0pt}%
|
||||
\setlength{\parsep}{0pt}%
|
||||
\setlength{\topsep}{0pt}%
|
||||
\renewcommand{\makelabel}{\hfill}%
|
||||
}%
|
||||
}{%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
% Used for reference lists (@bug, @deprecated, @todo, etc.)
|
||||
\newenvironment{DoxyRefList}{%
|
||||
\begin{list}{}{%
|
||||
\setlength{\labelwidth}{10pt}%
|
||||
\setlength{\leftmargin}{\labelwidth}%
|
||||
\addtolength{\leftmargin}{\labelsep}%
|
||||
\renewcommand{\makelabel}{\xreflabel}%
|
||||
}%
|
||||
}{%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
% Used by @bug, @deprecated, @todo, etc.
|
||||
\newenvironment{DoxyRefDesc}[1]{%
|
||||
\begin{list}{}{%
|
||||
\renewcommand\makelabel[1]{\textbf{##1}}%
|
||||
\settowidth\labelwidth{\makelabel{#1}}%
|
||||
\setlength\leftmargin{\labelwidth+\labelsep}%
|
||||
}%
|
||||
}{%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
% Used by parameter lists and simple sections
|
||||
\newenvironment{Desc}
|
||||
{\begin{list}{}{%
|
||||
\settowidth{\labelwidth}{20pt}%
|
||||
\setlength{\parsep}{0pt}%
|
||||
\setlength{\itemsep}{0pt}%
|
||||
\setlength{\leftmargin}{\labelwidth+\labelsep}%
|
||||
\renewcommand{\makelabel}{\entrylabel}%
|
||||
}
|
||||
}{%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
% Used by tables
|
||||
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
|
||||
\newenvironment{TabularC}[1]%
|
||||
{\tabulinesep=1mm
|
||||
\begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}%
|
||||
{\end{longtabu*}\par}%
|
||||
|
||||
\newenvironment{TabularNC}[1]%
|
||||
{\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}%
|
||||
{\end{tabu}\par}%
|
||||
|
||||
% Used for member group headers
|
||||
\newenvironment{Indent}{%
|
||||
\begin{list}{}{%
|
||||
\setlength{\leftmargin}{0.5cm}%
|
||||
}%
|
||||
\item[]\ignorespaces%
|
||||
}{%
|
||||
\unskip%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
% Used when hyperlinks are turned off
|
||||
\newcommand{\doxyref}[3]{%
|
||||
\textbf{#1} (\textnormal{#2}\,\pageref{#3})%
|
||||
}
|
||||
|
||||
% Used to link to a table when hyperlinks are turned on
|
||||
\newcommand{\doxytablelink}[2]{%
|
||||
\ref{#1}%
|
||||
}
|
||||
|
||||
% Used to link to a table when hyperlinks are turned off
|
||||
\newcommand{\doxytableref}[3]{%
|
||||
\ref{#3}%
|
||||
}
|
||||
|
||||
% Used by @addindex
|
||||
\newcommand{\lcurly}{\{}
|
||||
\newcommand{\rcurly}{\}}
|
||||
|
||||
% Colors used for syntax highlighting
|
||||
\definecolor{comment}{rgb}{0.5,0.0,0.0}
|
||||
\definecolor{keyword}{rgb}{0.0,0.5,0.0}
|
||||
\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
|
||||
\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
|
||||
\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
|
||||
\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
|
||||
\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
|
||||
\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
|
||||
\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
|
||||
\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
|
||||
\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
|
||||
|
||||
% Color used for table heading
|
||||
\newcommand{\tableheadbgcolor}{lightgray}%
|
||||
|
||||
% Version of hypertarget with correct landing location
|
||||
\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
|
||||
|
||||
% Define caption that is also suitable in a table
|
||||
\makeatletter
|
||||
\def\doxyfigcaption{%
|
||||
\refstepcounter{figure}%
|
||||
\@dblarg{\@caption{figure}}}
|
||||
\makeatother
|
Po Szerokość: | Wysokość: | Rozmiar: 151 KiB |
|
@ -0,0 +1,31 @@
|
|||
set Dir_Old=%cd%
|
||||
cd /D %~dp0
|
||||
|
||||
del /s /f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
|
||||
|
||||
set LATEX_CMD=pdflatex
|
||||
%LATEX_CMD% refman
|
||||
echo ----
|
||||
makeindex refman.idx
|
||||
echo ----
|
||||
%LATEX_CMD% refman
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
set count=8
|
||||
:repeat
|
||||
set content=X
|
||||
for /F "tokens=*" %%T in ( 'findstr /C:"Rerun LaTeX" refman.log' ) do set content="%%~T"
|
||||
if !content! == X for /F "tokens=*" %%T in ( 'findstr /C:"Rerun to get cross-references right" refman.log' ) do set content="%%~T"
|
||||
if !content! == X goto :skip
|
||||
set /a count-=1
|
||||
if !count! EQU 0 goto :skip
|
||||
|
||||
echo ----
|
||||
%LATEX_CMD% refman
|
||||
goto :repeat
|
||||
:skip
|
||||
endlocal
|
||||
makeindex refman.idx
|
||||
%LATEX_CMD% refman
|
||||
cd /D %Dir_Old%
|
||||
set Dir_Old=
|
|
@ -0,0 +1,178 @@
|
|||
\let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}\documentclass[twoside]{book}
|
||||
|
||||
% Packages required by doxygen
|
||||
\usepackage{fixltx2e}
|
||||
\usepackage{calc}
|
||||
\usepackage{doxygen}
|
||||
\usepackage{graphicx}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{makeidx}
|
||||
\usepackage{multicol}
|
||||
\usepackage{multirow}
|
||||
\PassOptionsToPackage{warn}{textcomp}
|
||||
\usepackage{textcomp}
|
||||
\usepackage[nointegrals]{wasysym}
|
||||
\usepackage[table]{xcolor}
|
||||
\usepackage{ifpdf,ifxetex}
|
||||
|
||||
% Font selection
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[scaled=.90]{helvet}
|
||||
\usepackage{courier}
|
||||
\usepackage{amssymb}
|
||||
\usepackage{sectsty}
|
||||
\renewcommand{\familydefault}{\sfdefault}
|
||||
\allsectionsfont{%
|
||||
\fontseries{bc}\selectfont%
|
||||
\color{darkgray}%
|
||||
}
|
||||
\renewcommand{\DoxyLabelFont}{%
|
||||
\fontseries{bc}\selectfont%
|
||||
\color{darkgray}%
|
||||
}
|
||||
\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
|
||||
|
||||
% Arguments of doxygenemoji:
|
||||
% 1) ':<text>:' form of the emoji, already "LaTeX"-escaped
|
||||
% 2) file with the name of the emoji without the .png extension
|
||||
% in case image exist use this otherwise use the ':<text>:' form
|
||||
\newcommand{\doxygenemoji}[2]{%
|
||||
\IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
|
||||
}
|
||||
% Page & text layout
|
||||
\usepackage{geometry}
|
||||
\geometry{%
|
||||
a4paper,%
|
||||
top=2.5cm,%
|
||||
bottom=2.5cm,%
|
||||
left=2.5cm,%
|
||||
right=2.5cm%
|
||||
}
|
||||
\tolerance=750
|
||||
\hfuzz=15pt
|
||||
\hbadness=750
|
||||
\setlength{\emergencystretch}{15pt}
|
||||
\setlength{\parindent}{0cm}
|
||||
\newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
|
||||
\newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
|
||||
\doxynormalparskip
|
||||
\makeatletter
|
||||
\renewcommand{\paragraph}{%
|
||||
\@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
|
||||
\normalfont\normalsize\bfseries\SS@parafont%
|
||||
}%
|
||||
}
|
||||
\renewcommand{\subparagraph}{%
|
||||
\@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
|
||||
\normalfont\normalsize\bfseries\SS@subparafont%
|
||||
}%
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% Headers & footers
|
||||
\usepackage{fancyhdr}
|
||||
\pagestyle{fancyplain}
|
||||
\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
|
||||
\fancyhead[CE]{\fancyplain{}{}}
|
||||
\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
|
||||
\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
|
||||
\fancyhead[CO]{\fancyplain{}{}}
|
||||
\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
|
||||
\fancyfoot[LE]{\fancyplain{}{}}
|
||||
\fancyfoot[CE]{\fancyplain{}{}}
|
||||
\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
|
||||
\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
|
||||
\fancyfoot[CO]{\fancyplain{}{}}
|
||||
\fancyfoot[RO]{\fancyplain{}{}}
|
||||
\renewcommand{\footrulewidth}{0.4pt}
|
||||
\renewcommand{\chaptermark}[1]{%
|
||||
\markboth{#1}{}%
|
||||
}
|
||||
\renewcommand{\sectionmark}[1]{%
|
||||
\markright{\thesection\ #1}%
|
||||
}
|
||||
|
||||
% Indices & bibliography
|
||||
\usepackage{natbib}
|
||||
\usepackage[titles]{tocloft}
|
||||
\setcounter{tocdepth}{3}
|
||||
\setcounter{secnumdepth}{5}
|
||||
\makeindex
|
||||
|
||||
\usepackage{newunicodechar}
|
||||
\newunicodechar{⁻}{${}^{-}$}% Superscript minus
|
||||
\newunicodechar{²}{${}^{2}$}% Superscript two
|
||||
\newunicodechar{³}{${}^{3}$}% Superscript three
|
||||
|
||||
% Hyperlinks (required, but should be loaded last)
|
||||
\ifpdf
|
||||
\usepackage[pdftex,pagebackref=true]{hyperref}
|
||||
\else
|
||||
\ifxetex
|
||||
\usepackage[pagebackref=true]{hyperref}
|
||||
\else
|
||||
\usepackage[ps2pdf,pagebackref=true]{hyperref}
|
||||
\fi
|
||||
\fi
|
||||
|
||||
\hypersetup{%
|
||||
colorlinks=true,%
|
||||
linkcolor=blue,%
|
||||
citecolor=blue,%
|
||||
unicode%
|
||||
}
|
||||
|
||||
% Custom commands
|
||||
\newcommand{\clearemptydoublepage}{%
|
||||
\newpage{\pagestyle{empty}\cleardoublepage}%
|
||||
}
|
||||
|
||||
\usepackage{caption}
|
||||
\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
|
||||
|
||||
\usepackage{etoc}
|
||||
\etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
|
||||
\renewcommand{\numberline}[1]{#1~}
|
||||
%===== C O N T E N T S =====
|
||||
|
||||
\begin{document}
|
||||
|
||||
% Titlepage & ToC
|
||||
\hypersetup{pageanchor=false,
|
||||
bookmarksnumbered=true,
|
||||
pdfencoding=unicode
|
||||
}
|
||||
\pagenumbering{alph}
|
||||
\begin{titlepage}
|
||||
\vspace*{7cm}
|
||||
\begin{center}%
|
||||
{\Large E\+Q\+M\+O\+D2\+E\+TX \\[1ex]\large 1.\+0 }\\
|
||||
\vspace*{1cm}
|
||||
{\large Generated by Doxygen 1.8.15}\\
|
||||
\end{center}
|
||||
\end{titlepage}
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{roman}
|
||||
\tableofcontents
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{arabic}
|
||||
\hypersetup{pageanchor=true}
|
||||
|
||||
%--- Begin generated contents ---
|
||||
\chapter{Class Index}
|
||||
\input{annotated}
|
||||
\chapter{Class Documentation}
|
||||
\input{structaxis__type}
|
||||
\input{structaxis__values}
|
||||
\input{struct_sky_watcher_features}
|
||||
%--- End generated contents ---
|
||||
|
||||
% Index
|
||||
\backmatter
|
||||
\newpage
|
||||
\phantomsection
|
||||
\clearemptydoublepage
|
||||
\addcontentsline{toc}{chapter}{\indexname}
|
||||
\printindex
|
||||
|
||||
\end{document}
|
|
@ -0,0 +1,40 @@
|
|||
\hypertarget{struct_sky_watcher_features}{}\section{Sky\+Watcher\+Features Struct Reference}
|
||||
\label{struct_sky_watcher_features}\index{SkyWatcherFeatures@{SkyWatcherFeatures}}
|
||||
\subsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\Hypertarget{struct_sky_watcher_features_a447371090b5e2c4346a90e654a7f6d6a}\label{struct_sky_watcher_features_a447371090b5e2c4346a90e654a7f6d6a}}
|
||||
bool {\bfseries in\+P\+P\+E\+C\+Training} = false
|
||||
\item
|
||||
\mbox{\Hypertarget{struct_sky_watcher_features_a642b77877277ef442e7094ed455199e3}\label{struct_sky_watcher_features_a642b77877277ef442e7094ed455199e3}}
|
||||
bool {\bfseries in\+P\+P\+EC} = false
|
||||
\item
|
||||
\mbox{\Hypertarget{struct_sky_watcher_features_a78751e1cb1708965989351881ce525fe}\label{struct_sky_watcher_features_a78751e1cb1708965989351881ce525fe}}
|
||||
bool {\bfseries has\+Encoder} = false
|
||||
\item
|
||||
\mbox{\Hypertarget{struct_sky_watcher_features_abbb84e6151a8936a3fb3a2dc0100eb1b}\label{struct_sky_watcher_features_abbb84e6151a8936a3fb3a2dc0100eb1b}}
|
||||
bool {\bfseries has\+P\+P\+EC} = false
|
||||
\item
|
||||
\mbox{\Hypertarget{struct_sky_watcher_features_a7498d63409d8ef53428e06fcd3141624}\label{struct_sky_watcher_features_a7498d63409d8ef53428e06fcd3141624}}
|
||||
bool {\bfseries has\+Home\+Indexer} = false
|
||||
\item
|
||||
\mbox{\Hypertarget{struct_sky_watcher_features_a75e3dc036c454da6e55e7db2aaee8176}\label{struct_sky_watcher_features_a75e3dc036c454da6e55e7db2aaee8176}}
|
||||
bool {\bfseries is\+A\+Z\+EQ} = false
|
||||
\item
|
||||
\mbox{\Hypertarget{struct_sky_watcher_features_a6f02d7a4c6af0e7c43d8cad9da3a0d45}\label{struct_sky_watcher_features_a6f02d7a4c6af0e7c43d8cad9da3a0d45}}
|
||||
bool {\bfseries has\+Polar\+Led} = false
|
||||
\item
|
||||
\mbox{\Hypertarget{struct_sky_watcher_features_a9e07eb745f039b8815c88ba81234a647}\label{struct_sky_watcher_features_a9e07eb745f039b8815c88ba81234a647}}
|
||||
bool {\bfseries has\+Common\+Slew\+Start} = false
|
||||
\item
|
||||
\mbox{\Hypertarget{struct_sky_watcher_features_a65b43839a6ac29ae8cfa217879fff50e}\label{struct_sky_watcher_features_a65b43839a6ac29ae8cfa217879fff50e}}
|
||||
bool {\bfseries has\+Half\+Current\+Tracking} = false
|
||||
\item
|
||||
\mbox{\Hypertarget{struct_sky_watcher_features_ac9ad6e2d283ba7a6b1137e743e99e8b5}\label{struct_sky_watcher_features_ac9ad6e2d283ba7a6b1137e743e99e8b5}}
|
||||
bool {\bfseries has\+Wifi} = false
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
E\+Q\+G\+Protocol.\+h\end{DoxyCompactItemize}
|
|
@ -0,0 +1,139 @@
|
|||
\hypertarget{structaxis__type}{}\section{axis\+\_\+type Struct Reference}
|
||||
\label{structaxis__type}\index{axis\_type@{axis\_type}}
|
||||
\subsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a8d6e2614b5b9ced9a557fa59a22543ed}\label{structaxis__type_a8d6e2614b5b9ced9a557fa59a22543ed}}
|
||||
unsigned char {\bfseries Motor\+Type}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_aa70145fea3079f5b250d4f1586f2223c}\label{structaxis__type_aa70145fea3079f5b250d4f1586f2223c}}
|
||||
unsigned char {\bfseries Motor\+Flag}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a1192a02117a60694ac5574eda88b8ea7}\label{structaxis__type_a1192a02117a60694ac5574eda88b8ea7}}
|
||||
unsigned long {\bfseries E\+T\+X\+Motor\+State}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a7935fe762d46b59a84ea8f423b434782}\label{structaxis__type_a7935fe762d46b59a84ea8f423b434782}}
|
||||
unsigned long {\bfseries E\+T\+X\+Motor\+Status}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a45ac919db125d0953e3adab20c1542df}\label{structaxis__type_a45ac919db125d0953e3adab20c1542df}}
|
||||
unsigned long {\bfseries E\+Q\+G\+Motor\+Status}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_aaa45704c8f826b1d2e73fe749005cfa2}\label{structaxis__type_aaa45704c8f826b1d2e73fe749005cfa2}}
|
||||
unsigned long {\bfseries Motor\+Control}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_af5ea840e77e4a91bae5bcacede0855b6}\label{structaxis__type_af5ea840e77e4a91bae5bcacede0855b6}}
|
||||
unsigned char {\bfseries H\+B\+X\+Bit\+Count}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a4c9b959520501d8bba6c7074f7128b17}\label{structaxis__type_a4c9b959520501d8bba6c7074f7128b17}}
|
||||
unsigned char {\bfseries Command}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a877b0c8c30498ce9338b82d65ca5ac79}\label{structaxis__type_a877b0c8c30498ce9338b82d65ca5ac79}}
|
||||
unsigned char {\bfseries H\+B\+X\+Data}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_acaf4a45ba2953d3f8eebf12758e715a1}\label{structaxis__type_acaf4a45ba2953d3f8eebf12758e715a1}}
|
||||
unsigned char {\bfseries H\+B\+X\+P1}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_afad533166bfc2724c705bfa81e57ff1d}\label{structaxis__type_afad533166bfc2724c705bfa81e57ff1d}}
|
||||
unsigned char {\bfseries H\+B\+X\+P2}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_ab71f137ce48048aa7a0f2b8ff3f60ee1}\label{structaxis__type_ab71f137ce48048aa7a0f2b8ff3f60ee1}}
|
||||
unsigned char {\bfseries H\+B\+X\+P3}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_ac63a803f4f8c8dc4b8af186609e7b41d}\label{structaxis__type_ac63a803f4f8c8dc4b8af186609e7b41d}}
|
||||
unsigned char {\bfseries H\+B\+X\+P4}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_abdf7866e448e964a92fe79c63ef3f755}\label{structaxis__type_abdf7866e448e964a92fe79c63ef3f755}}
|
||||
unsigned char {\bfseries H\+B\+X\+Count}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a47af0530bdbf2fef9dbaf66da8b5ff38}\label{structaxis__type_a47af0530bdbf2fef9dbaf66da8b5ff38}}
|
||||
unsigned char {\bfseries H\+B\+X\+L\+E\+DI}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a9940377963d574b38975c49bb9753dd6}\label{structaxis__type_a9940377963d574b38975c49bb9753dd6}}
|
||||
unsigned long {\bfseries Dirn\+Speed}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_ada1ef73d76498f2942b1a4df043c9853}\label{structaxis__type_ada1ef73d76498f2942b1a4df043c9853}}
|
||||
char {\bfseries H\+B\+X\+Guide}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a5a29c1b1900e0706a0a69952bb63b067}\label{structaxis__type_a5a29c1b1900e0706a0a69952bb63b067}}
|
||||
char {\bfseries H\+B\+X\+Snap\+Port}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a67c1719e0b3d9b1933566075671d141d}\label{structaxis__type_a67c1719e0b3d9b1933566075671d141d}}
|
||||
char {\bfseries L\+E\+D\+Value}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a093932d4a97d2f8a08fb01f3ba6605b6}\label{structaxis__type_a093932d4a97d2f8a08fb01f3ba6605b6}}
|
||||
char {\bfseries E\+T\+X\+Speed\+Command}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a96402b3f3317f107cf15b4d956a20209}\label{structaxis__type_a96402b3f3317f107cf15b4d956a20209}}
|
||||
long {\bfseries Speed}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a6791f418b7170c5f97201fe4534d669f}\label{structaxis__type_a6791f418b7170c5f97201fe4534d669f}}
|
||||
long {\bfseries Target\+Speed}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_acb8750c37a6a8df3ebe809095843d247}\label{structaxis__type_acb8750c37a6a8df3ebe809095843d247}}
|
||||
char {\bfseries Speed\+State}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_afc562535446cdb1fe08380f155034fe4}\label{structaxis__type_afc562535446cdb1fe08380f155034fe4}}
|
||||
long {\bfseries Position}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a0bb731f6188c70eec095aa1413205c58}\label{structaxis__type_a0bb731f6188c70eec095aa1413205c58}}
|
||||
long {\bfseries Target}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a08d1fea2e1b10e2518291544d2267563}\label{structaxis__type_a08d1fea2e1b10e2518291544d2267563}}
|
||||
long {\bfseries Increment}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a579b90ed04507ff74579008e8ecc117e}\label{structaxis__type_a579b90ed04507ff74579008e8ecc117e}}
|
||||
long {\bfseries Slow\+Down}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a12af7f2ff2f296c54d54dc4880f962eb}\label{structaxis__type_a12af7f2ff2f296c54d54dc4880f962eb}}
|
||||
long {\bfseries Offset}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a51a5c3b0ad565aafe84bbf6ed3f95d0b}\label{structaxis__type_a51a5c3b0ad565aafe84bbf6ed3f95d0b}}
|
||||
float {\bfseries Meade\+Ratio}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_ad485b2aaf212a44bcb9b8930bbba8ee1}\label{structaxis__type_ad485b2aaf212a44bcb9b8930bbba8ee1}}
|
||||
float {\bfseries Gbx\+Ratio}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a2a763647ed6954b74391e7ec668aea42}\label{structaxis__type_a2a763647ed6954b74391e7ec668aea42}}
|
||||
unsigned long {\bfseries Vanes}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_ad4e02128a3716e6e50ee6cdea7e77900}\label{structaxis__type_ad4e02128a3716e6e50ee6cdea7e77900}}
|
||||
float {\bfseries Xfer\+Ratio}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_ad72da5b007c935f48260620d182a4556}\label{structaxis__type_ad72da5b007c935f48260620d182a4556}}
|
||||
unsigned long {\bfseries Worm\+Teeth}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_ab5f8c71bd61af81017912137bcbe8dc4}\label{structaxis__type_ab5f8c71bd61af81017912137bcbe8dc4}}
|
||||
unsigned long {\bfseries a\+V\+A\+L\+UE}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a92730f2ae10f67179c26fca7c3dbc503}\label{structaxis__type_a92730f2ae10f67179c26fca7c3dbc503}}
|
||||
unsigned long {\bfseries b\+V\+A\+L\+UE}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a6d408f8c18ab3a8b6fd42c45d383a537}\label{structaxis__type_a6d408f8c18ab3a8b6fd42c45d383a537}}
|
||||
unsigned long {\bfseries One\+Degree}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a9671b2224c205a2ef87dd17b9e9379bc}\label{structaxis__type_a9671b2224c205a2ef87dd17b9e9379bc}}
|
||||
unsigned long {\bfseries S\+I\+D\+E\+R\+E\+A\+L\+R\+A\+TE}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a2e077c5c6409615751a079f9e4f1b5e3}\label{structaxis__type_a2e077c5c6409615751a079f9e4f1b5e3}}
|
||||
unsigned long {\bfseries S\+O\+L\+A\+R\+R\+A\+TE}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a20669e06299050ac114615b3d816455a}\label{structaxis__type_a20669e06299050ac114615b3d816455a}}
|
||||
unsigned long {\bfseries L\+U\+N\+A\+R\+R\+A\+TE}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a1b1780f04321b5903b8f97c17b5db039}\label{structaxis__type_a1b1780f04321b5903b8f97c17b5db039}}
|
||||
unsigned long {\bfseries D\+E\+G\+R\+E\+E\+R\+A\+T\+E1}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_ab9221caecffb15e528d1d843ee1e1ccf}\label{structaxis__type_ab9221caecffb15e528d1d843ee1e1ccf}}
|
||||
unsigned long {\bfseries P\+EC}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_ad36f04c29f39500cb5361501052a891d}\label{structaxis__type_ad36f04c29f39500cb5361501052a891d}}
|
||||
unsigned char {\bfseries Print\+Status0}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__type_a2bfeb2429981e220e649898a4edfa9a3}\label{structaxis__type_a2bfeb2429981e220e649898a4edfa9a3}}
|
||||
unsigned long {\bfseries Time\+Delta}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
E\+Q\+G2\+H\+B\+X.\+h\end{DoxyCompactItemize}
|
|
@ -0,0 +1,25 @@
|
|||
\hypertarget{structaxis__values}{}\section{axis\+\_\+values Struct Reference}
|
||||
\label{structaxis__values}\index{axis\_values@{axis\_values}}
|
||||
\subsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__values_a69fe070e634631a905091b64b69ed733}\label{structaxis__values_a69fe070e634631a905091b64b69ed733}}
|
||||
unsigned long {\bfseries Vanes}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__values_a8fba82b610a5c029a7b492f3f84c4c4b}\label{structaxis__values_a8fba82b610a5c029a7b492f3f84c4c4b}}
|
||||
float {\bfseries Gbx\+Ratio}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__values_a59119ea853e5881b2718e0c1d45a81a4}\label{structaxis__values_a59119ea853e5881b2718e0c1d45a81a4}}
|
||||
float {\bfseries Xfer\+Ratio}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__values_a847c89951bc827b17958f586adf6c2b4}\label{structaxis__values_a847c89951bc827b17958f586adf6c2b4}}
|
||||
unsigned long {\bfseries Worm\+Teeth}
|
||||
\item
|
||||
\mbox{\Hypertarget{structaxis__values_a0b78a78c0d2ad6333b60955c57d70b75}\label{structaxis__values_a0b78a78c0d2ad6333b60955c57d70b75}}
|
||||
char {\bfseries Telescope} \mbox{[}16\mbox{]}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
E\+Q\+G2\+H\+B\+X.\+h\end{DoxyCompactItemize}
|
|
@ -1,58 +1,38 @@
|
|||
/*
|
||||
* Copyright 2017, 2018 John Archbold
|
||||
* Copyright 2017, 2018, 2020 John Archbold
|
||||
*/
|
||||
|
||||
#include <Arduino.h>
|
||||
/********************************************************
|
||||
EQG2HBX program definitions
|
||||
===========================
|
||||
*********************************************************/
|
||||
|
||||
#ifndef EQG2HBX
|
||||
#define EQG2HBX
|
||||
#pragma once
|
||||
|
||||
// Real Time Clock Libraries
|
||||
// Time related libararies
|
||||
#include <DS1307RTC.h> //https://www.pjrc.com/teensy/td_libs_DS1307RTC.html
|
||||
//#include <TimeLord.h> //https://github.com/probonopd/TimeLord
|
||||
#include <TimeLib.h> //https://github.com/PaulStoffregen/Time
|
||||
#include <TimeAlarms.h> //https://github.com/PaulStoffregen/TimeAlarms
|
||||
#include <FS.h> // Include the SPIFFS library
|
||||
#include <SPIFFS.h>
|
||||
#include <Preferences.h>
|
||||
#include "ESP32Ticker.h"
|
||||
|
||||
|
||||
// Pin definitions for LED indicators
|
||||
// ==================================
|
||||
#ifdef m2560
|
||||
#define AzLED 7 // Mega2560 D7
|
||||
#define AltLED 6 // Mega2560 D6
|
||||
#define FROMEQG 5 // Mega2560 D5
|
||||
#define FROMHBX 4 // Mega2560 D4
|
||||
#endif
|
||||
#ifdef mESP32
|
||||
#define AzLED 33
|
||||
#define AltLED 25
|
||||
#define FROMEQG 26
|
||||
#define FROMHBX 27
|
||||
#endif
|
||||
|
||||
// Jumpers to run monitor or test
|
||||
// ==============================
|
||||
#ifdef m2560
|
||||
#define MONITORHBX 11 // Mega2560 D3
|
||||
#define TESTHBX 9 // Mega2560 D2
|
||||
#endif
|
||||
#ifdef ESP32
|
||||
#define MONITORHBX 35
|
||||
#define TESTHBX 32
|
||||
#endif
|
||||
void CheckETXState( unsigned char );
|
||||
|
||||
/**************************************************************
|
||||
* Common variables
|
||||
**************************************************************/
|
||||
unsigned int eepromlength = 256;
|
||||
unsigned long DelayTimer; // Delay timer
|
||||
unsigned long StatusTimer; // H2X delay timer
|
||||
String EQ2HBX_Version = "EQG2HBX V1.11";
|
||||
|
||||
Preferences preferences;
|
||||
unsigned long DelayTime; // Delay timer
|
||||
unsigned long StatusTime; // H2X interval time
|
||||
|
||||
unsigned long StatusTimer; // H2X status delay timer
|
||||
unsigned long StateTimer; // H2X state delay timer
|
||||
bool StateSelect;
|
||||
bool StatusSelect;
|
||||
int StatusCount;
|
||||
|
||||
Ticker AlarmCheckETX;
|
||||
|
||||
long P1;
|
||||
long P2;
|
||||
float F1;
|
||||
|
@ -90,15 +70,6 @@ unsigned char EQGDECAutoguide = 0; // EQG Autoguide rate
|
|||
unsigned char EQGRxState = 1; // EQG State
|
||||
unsigned char EQGRxChar; // EQG Rx Character
|
||||
unsigned char EQGRxCount; // EQG # parameters
|
||||
|
||||
#define dbgLEN 256 // Communications buffers
|
||||
#define dbgMASK dbgLEN-1 // Index wraps to 0
|
||||
unsigned char dbgRxBuffer[dbgLEN]; // Hold data from EQG
|
||||
char dbgCommand[dbgLEN]; // Hold data from EQG
|
||||
unsigned char dbgRxiPtr = 0; // Pointer for input from EQG
|
||||
unsigned char dbgRxoPtr = 0; // Pointer for output from EQG Rx buffer
|
||||
unsigned char dbgFlag = 0; // Received a command
|
||||
unsigned char dbgIndex = 0; // Index into command
|
||||
float f;
|
||||
unsigned long v;
|
||||
|
||||
|
@ -107,9 +78,9 @@ unsigned long v;
|
|||
* HBX variables
|
||||
**************************************************************/
|
||||
|
||||
long H2XStart = 0; // Used to count uS ticks
|
||||
long H2XTimer = 0; // Used to count uS ticks
|
||||
unsigned char EQGMotorStatus; // Current State of motor
|
||||
unsigned long H2XStart = 0; // Used to count uS ticks
|
||||
unsigned long H2XTimer = 0; // Used to count uS ticks
|
||||
unsigned char EQGMotorStatus; // Current State of motor
|
||||
|
||||
typedef struct {
|
||||
unsigned char MotorType; // Current type of motor
|
||||
|
@ -122,22 +93,25 @@ typedef struct {
|
|||
|
||||
unsigned char HBXBitCount; // #bits left to process
|
||||
unsigned char Command; // Current command
|
||||
unsigned char Flip; // Axis flipped - Alt for negative, Az probably never
|
||||
unsigned char HBXData; // Data byte from HBX Bus
|
||||
unsigned char HBXP1; // HBX status/data - MSB
|
||||
unsigned char HBXP2; // HBX status/data
|
||||
unsigned char HBXP3; // HBX status/data - LSB
|
||||
unsigned char HBXP4; // HBX status/data - encoder error
|
||||
unsigned char HBXP2; // HBX status/data - LSB
|
||||
unsigned char HBXP3; // HBX status/data - PWM % related
|
||||
unsigned char HBXP4; // HBX status/data - single flag bit related to battery alarm ( 0 = OK )
|
||||
unsigned char HBXCount; // HBX valid data count
|
||||
unsigned char HBXLEDI; // LED current value from Motor
|
||||
unsigned long DirnSpeed; // Speed, Direction for Motor to move
|
||||
char HBXGuide; // Guide speed
|
||||
char HBXSnapPort; // Snap port
|
||||
char LEDValue; // Polar LED brightness
|
||||
char ETXSpeedCommand; // Current ETX Speed command
|
||||
long Speed; // Move speed
|
||||
long EQGSpeed; // EQG Move speed
|
||||
long ETXSpeed; // ETX Move speed
|
||||
long TargetSpeed; // Target Move speed
|
||||
char SpeedState; // Slowdown/speedup state
|
||||
uint8_t SpeedState; // Slowdown/speedup state
|
||||
long Position; // Current position
|
||||
long Target; // Current target delta
|
||||
long Target; // Current target
|
||||
long Increment; // Change in position for motor speed calcs
|
||||
long SlowDown; // Point to change to lower speed
|
||||
long Offset; // Current adjustment
|
||||
|
@ -153,17 +127,19 @@ typedef struct {
|
|||
// b-Value = (6460.09 * MeadeRatio * a-Value * 15.041069) / 1,296,000
|
||||
unsigned long aVALUE; // For rate calculations
|
||||
unsigned long bVALUE; // For rate calculations
|
||||
long OneDegree; // For slew comparisons
|
||||
unsigned long OneDegree; // For slew comparisons
|
||||
|
||||
// SIDEREALRATE = 6460.09 * MeadeRatio
|
||||
// SOLARRATE = (SOLARSECS/SIDEREALSECS) * SIDEREALRATE
|
||||
// LUNARRATE = (SOLARSECS/SIDEREALSECS) * SIDEREALRATE
|
||||
// DEGREERATE1 = 240 * SIDEREALRATE
|
||||
// DEGREERATE1 = SLEW7(240) * SIDEREALRATE
|
||||
// BASERATE = (b * arcsec360) / a
|
||||
|
||||
long SIDEREALRATE; // Constants
|
||||
long SOLARRATE;
|
||||
long LUNARRATE;
|
||||
long DEGREERATE1;
|
||||
unsigned long SIDEREALRATE; // Constants
|
||||
unsigned long SOLARRATE;
|
||||
unsigned long LUNARRATE;
|
||||
unsigned long BASERATE;
|
||||
unsigned long DEGREERATE1;
|
||||
|
||||
// PEC = a-VALUE / WormTeeth;
|
||||
unsigned long PEC; // PEC period (period of worm tooth)
|
||||
|
@ -180,40 +156,69 @@ typedef struct {
|
|||
float GbxRatio; // GearBox Ratio
|
||||
float XferRatio; // Gearbox Transfer Ratio (usually 1)
|
||||
unsigned long WormTeeth; // Number of Worm teeth
|
||||
char Telescope[16]; // name of scope
|
||||
} axis_values;
|
||||
|
||||
unsigned char telescope = 0; // Default telescope (ETX60)
|
||||
|
||||
axis_values ratio[16][2] = // 16 scopes, Az, Alt
|
||||
axis_values ratio[16][2] = // 16 scopes, Az, Alt
|
||||
{
|
||||
{{36, 91.1458333, 1, 94}, {36, 157.5, 1, 58}}, // ETX60/70/80
|
||||
{{256, 50, 1, 350}, {256, 50, 1, 350}}, // LX200
|
||||
{{500, 36, 1, 225}, {500, 36, 1, 225}}, // LX850
|
||||
{{256, 50, 1, 180}, {256, 50, 1, 180}}, // LX200/400/500
|
||||
{{36, 91.1458333, 1, 94, "ETX60"}, {36, 157.5, 1, 58, "ETX60"}}, // ETX60/70/80
|
||||
{{36, 91.1458333, 1, 94, "ETX70"}, {36, 157.5, 1, 58, "ETX70"}}, // ETX60/70/80
|
||||
{{36, 91.1458333, 1, 94, "ETX80"}, {36, 157.5, 1, 58, "ETX80"}}, // ETX60/70/80
|
||||
{{108, 50, 1, 144, "LXD55"}, {108, 50, 1, 144, "LXD55"}}, // LXD55/75, LX70-GTS
|
||||
{{108, 50, 1, 144, "LXD75"}, {108, 50, 1, 144, "LXD75"}}, // LXD55/75, LX70-GTS
|
||||
{{108, 50, 1, 144, "LXD70"}, {108, 50, 1, 144, "LXD70"}}, // LXD55/75, LX70-GTS
|
||||
{{108, 53.5859375, 1, 154, "LX90"}, {108, 53.5859375, 1, 154, "LX90"}}, // LX90, LT, LX80AltAz
|
||||
{{108, 53.5859375, 1, 154, "LT"}, {108, 53.5859375, 1, 154, "LT"}}, // LX90, LT, LX80AltAz
|
||||
{{108, 53.5859375, 1, 154, "LX80"}, {108, 53.5859375, 1, 154, "LX80"}}, // LX90, LT, LX80AltAz
|
||||
{{256, 50, 1, 350, "LX200"}, {256, 50, 1, 350, "LX200"}}, // LX200
|
||||
{{500, 36, 1, 225, "LX850"}, {500, 36, 1, 225, "LX850"}}, // LX850
|
||||
{{256, 50, 1, 180, "LX400"}, {256, 50, 1, 180, "LX400"}}, // LX400/500
|
||||
{{36, 205.3330000, 1, 144, "DSEXT"}, {36, 205.3330000, 1, 144, "DSEXT"}}, // DS external
|
||||
{{36, 410.6660000, 1, 100, "DHEXT"}, {36, 157.5, 1, 58, "DHEXT"}}, // DH external/114EQs/4504s
|
||||
|
||||
{{108, 53.5859375, 1, 154}, {108, 53.5859375, 1, 154}}, // LX90, LT, LX80AltAz
|
||||
{{108, 50, 1, 144}, {108, 50, 1, 144}}, // LXD55/75, LX70-GTS
|
||||
{{36, 205.3330000, 1, 60}, {36, 205.3330000, 1, 60}}, // ETX-xxx, DS-xxx
|
||||
{{36, 91.1458333, 1, 83}, {36, 144.7362076, 1, 66}}, // ??
|
||||
|
||||
{{36, 205.3330000, 1, 144}, {36, 205.3330000, 1, 144}}, // DS external
|
||||
{{36, 410.6660000, 1, 100}, {36, 157.5, 1, 58}}, // DH external/114EQs/4504s
|
||||
{{36, 91.1458333, 1, 94}, {36, 157.5, 1, 58}}, // ETX60/70/80
|
||||
{{36, 91.1458333, 1, 94}, {36, 157.5, 1, 58}}, // ETX60/70/80
|
||||
|
||||
{{36, 91.1458333, 1, 94}, {36, 157.5, 1, 58}}, // ETX60/70/80
|
||||
{{36, 91.1458333, 1, 94}, {36, 157.5, 1, 58}}, // ETX60/70/80
|
||||
{{36, 91.1458333, 1, 94}, {36, 157.5, 1, 58}}, // ETX60/70/80
|
||||
{{36, 91.1458333, 1, 94}, {36, 157.5, 1, 58}} // ETX60/70/80
|
||||
{{36, 205.3330000, 1, 60, "ETXnn"}, {36, 205.3330000, 1, 60, "ETXnn"}}, // ETX-xxx, DS-xxx
|
||||
{{36, 91.1458333, 1, 83, "ETX??"}, {36, 144.7362076, 1, 66, "ETX??"}} // ??
|
||||
};
|
||||
|
||||
unsigned long PreviousTime; // Used in HBX Monitor, Testing
|
||||
unsigned char scopetype; // Default telescope (ETX60)
|
||||
unsigned char mounttype; // Default mounttype (ALTAZ)
|
||||
unsigned char protocoltype; // Default protocol (UDP)
|
||||
unsigned char modetype; // Default station (AP)
|
||||
|
||||
unsigned char scopedefault = 0; // Default telescope (ETX60)
|
||||
unsigned char mountdefault = 0; // Default mounttype (ALTAZ)
|
||||
unsigned char protocoldefault = 0; // Default protocol (UDP)
|
||||
unsigned char modedefault = 0; // Default station (AP)
|
||||
|
||||
String scope; // Text is in Meade Telescope array
|
||||
String mount;
|
||||
String protocol;
|
||||
String mode;
|
||||
|
||||
char mountDesc[3][8] = {"ALTAZ", "GEM", "FORK"};
|
||||
char protocolDesc[3][8] = {"UDP", "NOW", "SERIAL"};
|
||||
char modeDesc[3][16] = {"WIFI_AP", "WIFI_STA", "WIFI_STA_AP"};
|
||||
|
||||
char* an0 = (char*)"Bad";
|
||||
char* an1 = (char*)"Az ";
|
||||
char* an2 = (char*)"Alt";
|
||||
char * axis_name[3] = { an0, an1, an2 };
|
||||
|
||||
char SpeedStateDesc[4][16] = {"ChangeToStep", "Slowing1", "Slowing2", "Stopped"};
|
||||
|
||||
|
||||
// Testing only
|
||||
|
||||
Ticker AlarmDebugPrint;
|
||||
#define dbgLEN 256 // Communications buffers
|
||||
#define dbgMASK dbgLEN-1 // Index wraps to 0
|
||||
unsigned char dbgRxBuffer[dbgLEN]; // Hold data from EQG
|
||||
char dbgCommand[dbgLEN]; // Hold data from EQG
|
||||
unsigned char dbgRxiPtr = 0; // Pointer for input from EQG
|
||||
unsigned char dbgRxoPtr = 0; // Pointer for output from EQG Rx buffer
|
||||
unsigned char dbgFlag = 0; // Received a command
|
||||
unsigned char dbgIndex = 0; // Index into command
|
||||
|
||||
unsigned char TestCount;
|
||||
unsigned long TestLoopTime;
|
||||
|
||||
// Monitor only
|
||||
unsigned char DetectedClock;
|
||||
|
||||
#endif
|
||||
unsigned long PreviousTime; // Used in HBX Monitor, Testing
|
||||
|
|
|
@ -1,310 +1,290 @@
|
|||
/**@file*/
|
||||
/*
|
||||
* Copyright 2017, 2018 John Archbold
|
||||
Name: EQG2HBXE32.ino
|
||||
Created: 2018-09-01 10:07:17 AM
|
||||
Author: JOHNWIN10PRO\John
|
||||
*/
|
||||
|
||||
#include <Arduino.h>
|
||||
#include <stdio.h>
|
||||
#include <dummy.h>
|
||||
#include "Hardware.h"
|
||||
|
||||
/********************************************************
|
||||
Initialize HBX, translate EQG to HBX
|
||||
====================================
|
||||
*********************************************************/
|
||||
#undef m2560
|
||||
#define mESP32
|
||||
|
||||
#include <EEPROM.h>
|
||||
|
||||
#ifdef m2560
|
||||
#define dbgSerial Serial
|
||||
#define EQGSerial Serial1
|
||||
#endif
|
||||
#ifdef mESP32
|
||||
#define dbgSerial Serial
|
||||
#define EQGSerial Serial1
|
||||
#endif
|
||||
#include <FS.h> // Include the SPIFFS library
|
||||
#include <Preferences.h>
|
||||
#include "ESP32Ticker.h"
|
||||
//#include <BluetoothSerial.h>
|
||||
|
||||
#include "EQG2HBX.h"
|
||||
#include "EQGProtocol.h"
|
||||
#include "ETXProtocol.h"
|
||||
#include "HBXComms.h"
|
||||
#include "EQG2HBX.h" // All the declared variables
|
||||
|
||||
void setup()
|
||||
{
|
||||
DelayTimer = micros(); // Initialize timers, counts
|
||||
StatusTimer = DelayTimer;
|
||||
StatusTime = DelayTimer;
|
||||
TestCount = 0;
|
||||
EQGErrorValue = 0;
|
||||
|
||||
pinMode(FROMEQG, OUTPUT); // Initialize Indicator pins
|
||||
pinMode(FROMHBX, OUTPUT);
|
||||
pinMode(AzLED, OUTPUT);
|
||||
pinMode(AltLED, OUTPUT);
|
||||
digitalWrite(FROMEQG, LOW); // Initialize Indicator LEDS
|
||||
digitalWrite(FROMHBX, LOW);
|
||||
digitalWrite(AzLED, LOW);
|
||||
digitalWrite(AltLED, LOW);
|
||||
|
||||
#ifdef m2560
|
||||
pinMode(MONITORHBX, INPUT_PULLUP); // Initialize Mode jumpers
|
||||
pinMode(TESTHBX, INPUT_PULLUP);
|
||||
digitalWrite(MONITORHBX, HIGH);
|
||||
digitalWrite(TESTHBX, HIGH);
|
||||
#endif
|
||||
|
||||
axis[AzMotor].PrintStatus0 = 0; // Disable printing "status polls" with no change
|
||||
axis[AltMotor].PrintStatus0 = 0; // Disable printing "status polls" with no change
|
||||
|
||||
// Initialize EQG communications
|
||||
|
||||
#ifdef m2560
|
||||
dbgSerial.begin(115200); // debug
|
||||
EQGSerial.begin(9600); // EQG
|
||||
#endif
|
||||
|
||||
#ifdef mESP32
|
||||
dbgSerial.begin(115200); // debug
|
||||
EQGSerial.begin(9600); // EQG
|
||||
#endif
|
||||
dbgSerial.println("ETX V2.04");
|
||||
EQGSerial.println("ETX-EQMOD V1.03");
|
||||
digitalWrite(FROMEQG, HIGH); // Initialize Indicator LEDS
|
||||
delay(1000);
|
||||
digitalWrite(FROMEQG, LOW); // Initialize Indicator LEDS
|
||||
|
||||
// Serial2.begin(9600);
|
||||
// Serial3.begin(9600);
|
||||
|
||||
#ifdef m2560
|
||||
eepromlength = EEPROM.length(); // Get real length
|
||||
#endif
|
||||
|
||||
dbgSerial.print("EEPROM length: ");
|
||||
dbgSerial.println(eepromlength);
|
||||
dbgSerial.print("CRC32 of EEPROM data: 0x");
|
||||
dbgSerial.print(eeprom_crc(), HEX);
|
||||
if (!check_eeprom_crc()) {
|
||||
dbgSerial.println(" - crc failed");
|
||||
set_eeprom_crc();
|
||||
check_eeprom_crc();
|
||||
}
|
||||
else dbgSerial.println(" - crc OK");
|
||||
|
||||
#ifdef m2560
|
||||
// **************************
|
||||
// Check for HBX Monitor Mode
|
||||
// ==========================
|
||||
while (digitalRead(MONITORHBX) == 0) { // Check if monitor jumper installed
|
||||
HBXMonitorLoop(); // Execute monitor code until jumper removed
|
||||
}
|
||||
|
||||
// **************************
|
||||
// Check for HBX Testing Mode
|
||||
// ==========================
|
||||
while (digitalRead(TESTHBX) == 0) { // Check if test jumper installed
|
||||
HBXTestLoop(); // Execute test code until jumper removed
|
||||
} ;
|
||||
|
||||
#endif
|
||||
|
||||
dbgSerial.println("HBX Initialization");
|
||||
AzInitialise();
|
||||
AltInitialise();
|
||||
PrintRatioValues(telescope);
|
||||
PrintHbxValues(AzMotor);
|
||||
PrintHbxValues(AltMotor);
|
||||
|
||||
// Initialize HBX communications as outputs
|
||||
// It will use H2X communications
|
||||
HCL1Talk(); // Set for Talking on RAClk
|
||||
HCL2Talk(); // Set for Talking on DECClk
|
||||
HDAListen();
|
||||
TimerDelaymS(STARTTIME);
|
||||
|
||||
// Reset the motors (RA and DEC)
|
||||
// and wait until both respond to a command
|
||||
dbgSerial.println("Waiting for both motors to start up ..");
|
||||
WaitForMotors();
|
||||
|
||||
// Get Motor Type from Az MC ( assume both same type of motor)
|
||||
|
||||
dbgSerial.print("Get Motor Type: ");
|
||||
do {
|
||||
axis[AzMotor].MotorType = 0x00;
|
||||
if (HBXSendCommand(GetMotorType, AzMotor))
|
||||
axis[AzMotor].MotorType = HBXGetByte(AzMotor);
|
||||
} while (!axis[AzMotor].MotorType);
|
||||
axis[AltMotor].MotorType = axis[AzMotor].MotorType;
|
||||
dbgSerial.println(axis[AltMotor].MotorType);
|
||||
|
||||
// Get the real LEDI values from EEPROM
|
||||
axis[AzMotor].HBXLEDI = EEPROM.read(EEPROMAzLEDI);
|
||||
axis[AltMotor].HBXLEDI = EEPROM.read(EEPROMAltLEDI);
|
||||
// Set LED values from EEPROM
|
||||
dbgSerial.print("Set Encoder LED currents - Az: ");
|
||||
if (HBXSendCommand(SetLEDI, AzMotor))
|
||||
HBXSendByte(axis[AzMotor].HBXLEDI, AzMotor);
|
||||
if (HBXSendCommand(SetLEDI, AltMotor))
|
||||
HBXSendByte(axis[AltMotor].HBXLEDI, AltMotor);
|
||||
dbgSerial.print(axis[AzMotor].HBXLEDI);
|
||||
dbgSerial.print(", Alt: ");
|
||||
dbgSerial.println(axis[AltMotor].HBXLEDI);
|
||||
|
||||
// Set the Offset Clear Command
|
||||
// Send HBXP1, HBXP2 - which were initialised to 0
|
||||
dbgSerial.println("Reset any ETX offset bytes");
|
||||
if (HBXSendCommand(SetOffset, AzMotor))
|
||||
HBXSend2Bytes(AzMotor);
|
||||
TimerDelaymS(CMNDTIME);
|
||||
if (HBXSendCommand(SetOffset, AltMotor))
|
||||
HBXSend2Bytes(AltMotor);
|
||||
TimerDelaymS(CMNDTIME);
|
||||
|
||||
// Stop the motors (RA and DEC)
|
||||
dbgSerial.println("Stop motors");
|
||||
do {
|
||||
P1 = 0;
|
||||
if (HBXSendCommand(Stop, AzMotor)) P1 += 1;
|
||||
if (HBXSendCommand(Stop, AltMotor)) P1 += 1;
|
||||
} while (P1 < 2);
|
||||
|
||||
// Read status
|
||||
dbgSerial.println("Read Status");
|
||||
HBXGet2Status(); // Check and read both motor states
|
||||
|
||||
currentTime = now();
|
||||
dbgSerial.println("Setup Complete. Listening for commands ..");
|
||||
// Print debug info every 10 s
|
||||
// ---------------------------
|
||||
Alarm.timerRepeat(10, debugEQG); // Every 10 seconds
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
|
||||
/**************************************************************************************************
|
||||
* Check ETXState
|
||||
**************************************************************************************************/
|
||||
|
||||
if ((micros() - StatusTimer) > (ETXDELAY * 1000)) { // ~6.55mS
|
||||
StatusTimer = micros();
|
||||
// HBXGet2Status(); // Polls motor position every 6.55mS
|
||||
HBXGetStatus(AzMotor);
|
||||
HBXGetStatus(AltMotor);
|
||||
// delay(ETXDELAY * 4);
|
||||
ETXState(AzMotor); // Check the Az motor state
|
||||
ETXState(AltMotor); // Check the Alt motor state
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**************************************************************************************************
|
||||
* Process EQG comms - Rx Comms are interrupt driven
|
||||
**************************************************************************************************/
|
||||
|
||||
dbgRx(); // Check for comms from debug port for telescope values
|
||||
|
||||
if (EQGRx()) // Check for comms from EQG
|
||||
EQGState(); // Check command state if data received
|
||||
if (EQGDone) { // EQG receive complete, see what it is
|
||||
if (EQGErrorValue == 0) {
|
||||
EQGAction(); // and do it
|
||||
}
|
||||
else {
|
||||
EQGError(EQGErrorValue); // EQGAction() may set an error
|
||||
}
|
||||
}
|
||||
while (EQGTxoPtr != EQGTxiPtr) { // EQG send any response
|
||||
|
||||
if (dbgFlag) {
|
||||
dbgSerial.write(EQGTxBuffer[EQGTxoPtr]);
|
||||
if (EQGTxBuffer[EQGTxoPtr] == CR)
|
||||
dbgFlag = 0;
|
||||
}
|
||||
|
||||
EQGSerial.write(EQGTxBuffer[EQGTxoPtr++]); // Output to EQG
|
||||
EQGTxoPtr &= EQGMASK;
|
||||
}
|
||||
Alarm.delay(0);
|
||||
} // End loop()
|
||||
#include "HBXWiFiServer.h"
|
||||
#include "HBXFileSystem.h"
|
||||
|
||||
|
||||
// Functions
|
||||
//
|
||||
/**************************************************************************************************
|
||||
* Read / Update ETX - Timer Driven
|
||||
**************************************************************************************************/
|
||||
void UpdateETX(void) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**********************************************
|
||||
Multiple 1mS delay
|
||||
***********************************************/
|
||||
|
||||
void TimerDelaymS(unsigned long d) {
|
||||
delay(d);
|
||||
}
|
||||
|
||||
/**********************************************
|
||||
Multiple 1uS delay
|
||||
***********************************************/
|
||||
|
||||
void TimerDelayuS(unsigned int d) {
|
||||
delayMicroseconds(d);
|
||||
/**************************************************************************************************
|
||||
* Get ETXStatus
|
||||
**************************************************************************************************/
|
||||
void CheckETXStatus(unsigned char Motor) {
|
||||
HBXGetStatus(Motor);
|
||||
}
|
||||
|
||||
/**********************************************
|
||||
EEPROM support
|
||||
***********************************************/
|
||||
|
||||
unsigned long eeprom_crc(void) {
|
||||
|
||||
const unsigned long crc_table[16] = {
|
||||
0x00000000, 0x1db71064, 0x3b6e20c8, 0x26d930ac,
|
||||
0x76dc4190, 0x6b6b51f4, 0x4db26158, 0x5005713c,
|
||||
0xedb88320, 0xf00f9344, 0xd6d6a3e8, 0xcb61b38c,
|
||||
0x9b64c2b0, 0x86d3d2d4, 0xa00ae278, 0xbdbdf21c
|
||||
};
|
||||
|
||||
unsigned long crc = ~0L;
|
||||
|
||||
for (int index = 0 ; index < (eepromlength - 4) ; ++index) {
|
||||
crc = crc_table[(crc ^ EEPROM.read(index)) & 0x0f] ^ (crc >> 4);
|
||||
crc = crc_table[(crc ^ (EEPROM.read(index) >> 4)) & 0x0f] ^ (crc >> 4);
|
||||
crc = ~crc;
|
||||
}
|
||||
return crc;
|
||||
/**************************************************************************************************
|
||||
* Check ETXState
|
||||
**************************************************************************************************/
|
||||
void CheckETXState(unsigned char Motor) {
|
||||
ETXState(Motor); // Check the motor state
|
||||
}
|
||||
|
||||
unsigned long get_eeprom_crc(void) {
|
||||
unsigned long crc;
|
||||
int i;
|
||||
i = eepromlength - 4; // Location of stored crc (last four bytes)
|
||||
crc = 0;
|
||||
for (int j = 0; j < 4; j++) {
|
||||
crc = crc << 8;
|
||||
crc = crc | EEPROM.read(i);
|
||||
i += 1;
|
||||
}
|
||||
return (crc);
|
||||
/********************************************************
|
||||
Initialize HBX, translate EQG to HBX
|
||||
====================================
|
||||
*********************************************************/
|
||||
|
||||
// =======================================================================================================
|
||||
void setup()
|
||||
{
|
||||
// int i, j, k;
|
||||
// bool b;
|
||||
|
||||
#ifdef mESP32
|
||||
dbgSerial.begin(115200); // debug
|
||||
EQGSerial.begin(9600, SERIAL_8N1, 18, 19); // EQG via serial, bluetooth or WiFi
|
||||
#ifdef BTSerial
|
||||
EQGBluetooth.begin("EQ6Blue");
|
||||
#endif
|
||||
delay(10);
|
||||
#endif
|
||||
|
||||
dbgSerial.println("");
|
||||
dbgSerial.println(EQ2HBX_Version);
|
||||
DelayTime = micros(); // Initialize timers, counts
|
||||
StatusTime = DelayTime;
|
||||
EQGErrorValue = 0;
|
||||
|
||||
#ifdef mESP32
|
||||
HBXWiFiSetup();
|
||||
#endif
|
||||
preferences.begin("EQG2HBX", false); // Access EQG2HBX namespace
|
||||
dbgSerial.print("SPIFFS - ssid: "); dbgSerial.print(preferences.getString("STA_SSID"));
|
||||
dbgSerial.print(", pass: "); dbgSerial.print(preferences.getString("STA_PASS"));
|
||||
dbgSerial.print(", Telescope: "); dbgSerial.print(preferences.getString("TELESCOPE"));
|
||||
dbgSerial.print(", Mount: "); dbgSerial.println(preferences.getString("MOUNT"));
|
||||
preferences.end();
|
||||
|
||||
pinMode(ETXLED, OUTPUT); // Operation indicators
|
||||
pinMode(EQGLED, OUTPUT);
|
||||
digitalWrite(ETXLED, LOW);
|
||||
digitalWrite(EQGLED, LOW);
|
||||
|
||||
axis[AzMotor].PrintStatus0 = 0; // Disable printing "status polls" with no change
|
||||
axis[AltMotor].PrintStatus0 = 0; // Disable printing "status polls" with no change
|
||||
|
||||
// Initialize EQG communications
|
||||
dbgSerial.println("HBX Initialization");
|
||||
|
||||
// Read Motor Type to determine telescope type
|
||||
// -------------------------------------------
|
||||
preferences.begin("EQG2HBX", false); // Access EQG2HBX namespace
|
||||
scopetype = 0; // Default ETX60
|
||||
if (!(preferences.getUChar("SCOPETYPE", 0xFF) == 0xFF)) { // If it exists check telescope table for a match
|
||||
scopetype = (preferences.getUChar("SCOPETYPE", 0));
|
||||
}
|
||||
|
||||
scope = preferences.getString("TELESCOPE", "none");
|
||||
dbgSerial.print("Telescope: ");
|
||||
dbgSerial.print(scopetype);
|
||||
dbgSerial.print(", ");
|
||||
dbgSerial.print(scope);
|
||||
dbgSerial.print(", ");
|
||||
dbgSerial.println(ratio[scopetype][0].Telescope);
|
||||
|
||||
mount = preferences.getString("MOUNT", "none");
|
||||
if (!(preferences.getUChar("MOUNTTYPE", 0xFF) == 0xFF)) { // If it exists get mount type (ALTAZ, GEM, FORK)
|
||||
mounttype = (preferences.getUChar("MOUNTTYPE", 0));
|
||||
}
|
||||
dbgSerial.print("Mount: ");
|
||||
dbgSerial.print(mounttype);
|
||||
dbgSerial.print(", ");
|
||||
dbgSerial.print(mount);
|
||||
dbgSerial.print(", ");
|
||||
dbgSerial.println(mountDesc[mounttype]);
|
||||
|
||||
mode = preferences.getString("WIFIMODE", "none");
|
||||
if (!(preferences.getUChar("MODETYPE", 0xFF) == 0xFF)) { // If it exists get station type (AP, STA)
|
||||
modetype = (preferences.getUChar("MODETYPE", 0));
|
||||
}
|
||||
dbgSerial.print("WiFiMode: ");
|
||||
dbgSerial.print(modetype);
|
||||
dbgSerial.print(", ");
|
||||
dbgSerial.print(mode);
|
||||
dbgSerial.print(", ");
|
||||
dbgSerial.println(modeDesc[modetype]);
|
||||
|
||||
protocol = preferences.getString("PROTOCOL", "none");
|
||||
if (!(preferences.getUChar("PROTOCOLTYPE", 0xFF) == 0xFF)) { // If it exists get protocol type (UDP, NOW)
|
||||
protocoltype = (preferences.getUChar("PROTOCOLTYPE", 0));
|
||||
}
|
||||
dbgSerial.print("Protocol: ");
|
||||
dbgSerial.print(protocoltype);
|
||||
dbgSerial.print(", ");
|
||||
dbgSerial.print(protocol);
|
||||
dbgSerial.print(", ");
|
||||
dbgSerial.println(protocolDesc[protocoltype]);
|
||||
|
||||
preferences.end();
|
||||
|
||||
AzInitialise(scopetype);
|
||||
AltInitialise(scopetype);
|
||||
//PrintRatioValues(telescope);
|
||||
PrintHbxValues(AzMotor);
|
||||
PrintHbxValues(AltMotor);
|
||||
|
||||
// Initialize HBX communications as outputs
|
||||
// It will use H2X communications
|
||||
HBXReset();
|
||||
|
||||
// Reset the motors (RA and DEC)
|
||||
// and wait until both respond to a command
|
||||
dbgSerial.println("Waiting for both motors to start up ..");
|
||||
WaitForMotors();
|
||||
|
||||
// Get Motor Type from Az MC ( assume both same type of motor)
|
||||
|
||||
do {
|
||||
axis[AzMotor].MotorType = 0x00;
|
||||
if (HBXSendCommand(GetMotorType, AzMotor))
|
||||
axis[AzMotor].MotorType = HBXGetByte(AzMotor);
|
||||
} while (!axis[AzMotor].MotorType);
|
||||
axis[AltMotor].MotorType = axis[AzMotor].MotorType;
|
||||
dbgSerial.println(""); dbgSerial.print("Motor Type: "); dbgSerial.print(axis[AltMotor].MotorType);
|
||||
|
||||
// Handle position sensors LED current
|
||||
// -----------------------------------
|
||||
dbgSerial.println(""); dbgSerial.print("Check Calibrate LEDs");
|
||||
preferences.begin("EQG2HBX", false); // Access EQG2HBX namespace
|
||||
if (preferences.getUChar("AzLEDI", 0) == 0) { // If it does not exist, calibrate the LEDs
|
||||
CalibrateLEDs();
|
||||
}
|
||||
// Read stored LED currents
|
||||
axis[AzMotor].HBXLEDI = preferences.getUChar("AzLEDI", 0);
|
||||
axis[AltMotor].HBXLEDI = preferences.getUChar("AltLEDI", 0);
|
||||
preferences.end();
|
||||
|
||||
// Set the MC LED values
|
||||
dbgSerial.println(""); dbgSerial.print("Set MC LED values");
|
||||
if (HBXSendCommand(SetLEDI, AzMotor))
|
||||
HBXSendByte(axis[AzMotor].HBXLEDI, AzMotor);
|
||||
axis[AzMotor].HBXP1 = axis[AzMotor].HBXLEDI;
|
||||
HBXPrintStatus(AzMotor);
|
||||
|
||||
if (HBXSendCommand(SetLEDI, AltMotor))
|
||||
HBXSendByte(axis[AltMotor].HBXLEDI, AltMotor);
|
||||
axis[AltMotor].HBXP1 = axis[AltMotor].HBXLEDI;
|
||||
HBXPrintStatus(AltMotor);
|
||||
|
||||
// Set the Offset Clear Command
|
||||
// Send HBXP1, HBXP2
|
||||
dbgSerial.println(""); dbgSerial.print("Reset any ETX offset bytes");
|
||||
axis[AzMotor].HBXP1 = 0;
|
||||
axis[AzMotor].HBXP2 = 0;
|
||||
axis[AltMotor].HBXP1 = 0;
|
||||
axis[AltMotor].HBXP2 = 0;
|
||||
if (HBXSendCommand(SetOffset, AzMotor))
|
||||
HBXSend2Bytes(AzMotor);
|
||||
TimerDelaymS(CMNDTIME);
|
||||
if (HBXSendCommand(SetOffset, AltMotor))
|
||||
HBXSend2Bytes(AltMotor);
|
||||
TimerDelaymS(CMNDTIME);
|
||||
|
||||
// Stop the motors (RA and DEC)
|
||||
dbgSerial.println(""); dbgSerial.print("Stop motors");
|
||||
do {
|
||||
P1 = 0;
|
||||
if (HBXSendCommand(Stop, AzMotor)) P1 += 1;
|
||||
if (HBXSendCommand(Stop, AltMotor)) P1 += 1;
|
||||
} while (P1 < 2);
|
||||
|
||||
// Read status
|
||||
dbgSerial.println(""); dbgSerial.println("Read Status");
|
||||
HBXGet2Status(); // Check and read both motor states
|
||||
|
||||
dbgSerial.println("Setup Complete. Listening for commands ..");
|
||||
|
||||
// Print debug info every 10 s
|
||||
// ---------------------------
|
||||
|
||||
// HBXTestLoop();
|
||||
|
||||
// AlarmDebugPrint.attach(10, debugEQG); // Print debug info every 10 s
|
||||
// AlarmCheckETX.attach_ms(6, CheckETXState); // Check motor status (position), every 6mS
|
||||
}
|
||||
|
||||
bool set_eeprom_crc(void) {
|
||||
unsigned long crc;
|
||||
unsigned char data;
|
||||
int i;
|
||||
i = eepromlength - 1; // Location of stored crc (last four bytes)
|
||||
crc = eeprom_crc();
|
||||
for (int j = 0; j < 4; j++) {
|
||||
data = crc & 0xFF;
|
||||
EEPROM.write(i, data);
|
||||
// if (EEPROM.read(i) != data) return (false);
|
||||
i -= 1;
|
||||
crc = crc >> 8;
|
||||
}
|
||||
return (true);
|
||||
|
||||
// =======================================================================================================
|
||||
void loop()
|
||||
{
|
||||
/**************************************************************************************************
|
||||
* Process EQG comms - Rx, Tx Comms are interrupt driven
|
||||
**************************************************************************************************/
|
||||
|
||||
// dbgRx(); // Check for comms from debug port for telescope values
|
||||
|
||||
// Check ETX motor status and state
|
||||
if ((micros() - StateTimer) > (STATEDELAY * 1000)) { // ~6.55mS
|
||||
if (StateSelect) StateSelect = false;
|
||||
else StateSelect = true;
|
||||
StateTimer = micros();
|
||||
if (StateSelect) CheckETXState(AzMotor);
|
||||
else CheckETXState(AltMotor);
|
||||
}
|
||||
|
||||
//jma CheckAltFlipReqd();
|
||||
|
||||
if ((micros() - StatusTimer) > (STATUSDELAY * 1000)) { // ~50mS
|
||||
StatusTimer = micros();
|
||||
/* if (StatusSelect) StatusSelect = false;
|
||||
else StatusSelect = true;
|
||||
if (StatusSelect) CheckETXStatus(AzMotor);
|
||||
else CheckETXStatus(AltMotor);
|
||||
*/
|
||||
CheckETXStatus(AzMotor);
|
||||
CheckETXStatus(AltMotor);
|
||||
}
|
||||
|
||||
// Check any incoming characters from the EQMOD serial interface
|
||||
if (HBXCheckRx())
|
||||
EQGState(); // Check command state if data received
|
||||
if (EQGDone) { // EQG Rx complete, see what it is
|
||||
if (EQGErrorValue == 0) {
|
||||
EQGAction(); // and do it
|
||||
}
|
||||
else {
|
||||
EQGError(EQGErrorValue); // EQGAction() may set an error
|
||||
}
|
||||
}
|
||||
|
||||
// Check for any characters that are ready to go to the WiFi interface
|
||||
while (EQGTxoPtr != EQGTxiPtr) {
|
||||
|
||||
// Send any characters that are ready to go to the WiFi interface
|
||||
digitalWrite(EQGLED, HIGH);
|
||||
HBXCheckTx();
|
||||
EQGTxoPtr &= EQGMASK;
|
||||
digitalWrite(EQGLED, LOW);
|
||||
}
|
||||
// TimerDelaymS(1);
|
||||
// yield();
|
||||
// HandleOTA();
|
||||
}
|
||||
|
||||
bool check_eeprom_crc(void) {
|
||||
if (eeprom_crc() == get_eeprom_crc()) return true;
|
||||
else return false;
|
||||
}
|
||||
// End loop()
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2017, 2018 John Archbold
|
||||
* Copyright 2017, 2018, 2020 John Archbold
|
||||
*/
|
||||
|
||||
/********************************************************
|
||||
|
@ -7,72 +7,285 @@
|
|||
=================================
|
||||
*********************************************************/
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
#ifndef EQGProtocol
|
||||
#define EQGProtocol
|
||||
#pragma once
|
||||
|
||||
#define CR 0x0d
|
||||
#define LF 0x0a
|
||||
|
||||
float SIDEREALSECS = 86164.091; // Some astronomical constants
|
||||
float SOLARSECS = 86400;
|
||||
float LUNARSECS = 89309;
|
||||
float SIDEREALSECS = 86164.098903691; // Some astronomical constants
|
||||
float SOLARSECS = 86400;
|
||||
float LUNARSECS = 89309;
|
||||
|
||||
#define SKYWATCHER_SIDEREAL_DAY 86164.09053083288
|
||||
#define SKYWATCHER_SIDEREAL_SPEED 15.04106864
|
||||
#define SKYWATCHER_STELLAR_DAY 86164.098903691
|
||||
#define SKYWATCHER_STELLAR_SPEED 15.041067179
|
||||
|
||||
#define EQG_CMNDSTART 0x01
|
||||
#define EQG_WAITFORCR 0x77
|
||||
#define EQG_INTERPRET 0x78
|
||||
|
||||
#define EQGVERSION 0x000402 // Simulate EQ6
|
||||
/*
|
||||
tmpMCVersion = Revu24str2long(response + 1);
|
||||
MCVersion = ((tmpMCVersion & 0xFF) << 16) | ((tmpMCVersion & 0xFF00)) | ((tmpMCVersion & 0xFF0000) >> 16);
|
||||
MountCode = MCVersion & 0xFF;
|
||||
*/
|
||||
|
||||
// :I := ( :b * 1296000 / :a ) / Speed ( where Speed is in arcsec/sec )
|
||||
/*
|
||||
// Get Motor Controller Version
|
||||
// :em[0D]
|
||||
// ="llhhMM"[0D] (6 bytes - hex encoded)
|
||||
// Revu24str2long = MMhhll (3 bytes - binary encoded)
|
||||
// MCVersion = llhhMM (3 bytes - binary encoded)
|
||||
// MountCode = MM (1 byte - binary encoded)
|
||||
// =================================================================================
|
||||
// e 0 6 Get Motor Controller Version ="llhhMM"[0D] MM = mount code,
|
||||
// x00 = "EQ6Pro"
|
||||
// x01 = "HEQ5"
|
||||
// x02 = "EQ5"
|
||||
// x03 = "EQ3"
|
||||
// x04 = "EQ8"
|
||||
// x05 = "AZEQ6"
|
||||
// x06 = "AZEQ5"
|
||||
// x80 = "GT"
|
||||
// x81 = "MF"
|
||||
// x82 = "114GT"
|
||||
// x90 = "DOB"
|
||||
// hh.ll = board firmware version
|
||||
// hh=x00..x07 -> equatorial
|
||||
// =x08..xFF -> altaz
|
||||
*/
|
||||
// Get Axis Features
|
||||
// :qm[0D]
|
||||
// ="EFCDAB"[0D] (6 bytes - hex encoded)
|
||||
// AxisFeatures = EFCDAB (3 bytes - binary encoded)
|
||||
// A 8
|
||||
// 4
|
||||
// 2 in PPEC
|
||||
// 1 in PPECTraining
|
||||
|
||||
// B 8 is AZEQ
|
||||
// 4 has HomeIndexer
|
||||
// 2 has PPEC
|
||||
// 1 has Encoder
|
||||
|
||||
// C 8 has Wifi
|
||||
// 4 hasHalfCurrentTracking // ref :Wx06....
|
||||
// 2 has CommonSlewStart // Supports ":J3"
|
||||
// 1 has PolarLed
|
||||
/*
|
||||
// AxisFeatures = EFCDAB (3 bytes - binary encoded)
|
||||
// A
|
||||
AxisFeatures[Axis1].inPPECTraining = rafeatures & 0x00000010;
|
||||
AxisFeatures[Axis1].inPPEC = rafeatures & 0x00000020;
|
||||
// B
|
||||
AxisFeatures[Axis1].hasEncoder = rafeatures & 0x00000001;
|
||||
AxisFeatures[Axis1].hasPPEC = rafeatures & 0x00000002;
|
||||
AxisFeatures[Axis1].hasHomeIndexer = rafeatures & 0x00000004;
|
||||
AxisFeatures[Axis1].isAZEQ = rafeatures & 0x00000008;
|
||||
// C
|
||||
AxisFeatures[Axis1].hasPolarLed = rafeatures & 0x00001000;
|
||||
AxisFeatures[Axis1].hasCommonSlewStart = rafeatures & 0x00002000; // supports :J3
|
||||
AxisFeatures[Axis1].hasHalfCurrentTracking = rafeatures & 0x00004000;
|
||||
AxisFeatures[Axis1].hasWifi = rafeatures & 0x00008000;
|
||||
*/
|
||||
// Types
|
||||
enum SkywatcherCommand
|
||||
{
|
||||
Initialize = 'F',
|
||||
InquireMotorBoardVersion = 'e',
|
||||
InquireGridPerRevolution = 'a',
|
||||
InquireTimerInterruptFreq = 'b',
|
||||
InquireHighSpeedRatio = 'g',
|
||||
InquirePECPeriod = 's',
|
||||
InstantAxisStop = 'L',
|
||||
NotInstantAxisStop = 'K',
|
||||
SetAxisPositionCmd = 'E',
|
||||
GetAxisPosition = 'j',
|
||||
GetAxisStatus = 'f',
|
||||
SetSwitch = 'O',
|
||||
SetMotionMode = 'G',
|
||||
SetGotoTargetIncrement = 'H',
|
||||
SetBreakPointIncrement = 'M',
|
||||
SetGotoTarget = 'S',
|
||||
SetBreakStep = 'U',
|
||||
SetStepPeriod = 'I',
|
||||
StartMotion = 'J',
|
||||
GetStepPeriod = 'D',
|
||||
ActivateMotor = 'B', // See eq6direct implementation http://pierre.nerzic.free.fr/INDI/
|
||||
SetST4GuideRateCmd = 'P',
|
||||
GetHomePosition = 'd', // Get Home position encoder count (default at startup)
|
||||
SetFeatureCmd = 'W', // EQ8/AZEQ6/AZEQ5 only
|
||||
GetFeatureCmd = 'q', // EQ8/AZEQ6/AZEQ5 only
|
||||
InquireAuxEncoder = 'd', // EQ8/AZEQ6/AZEQ5 only
|
||||
NUMBER_OF_SkywatcherCommand
|
||||
};
|
||||
|
||||
enum SkywatcherAxis
|
||||
{
|
||||
Axis1 = 0, // RA/AZ
|
||||
Axis2 = 1, // DE/ALT
|
||||
NUMBER_OF_SKYWATCHERAXIS
|
||||
};
|
||||
char AxisCmd[2]{ '1', '2' };
|
||||
|
||||
enum SkywatcherDirection
|
||||
{
|
||||
BACKWARD = 0,
|
||||
FORWARD = 1
|
||||
};
|
||||
enum SkywatcherSlewMode
|
||||
{
|
||||
SLEW = 0,
|
||||
GOTO = 1
|
||||
};
|
||||
enum SkywatcherSpeedMode
|
||||
{
|
||||
LOWSPEED = 0,
|
||||
HIGHSPEED = 1
|
||||
};
|
||||
|
||||
typedef struct SkyWatcherFeatures
|
||||
{
|
||||
bool inPPECTraining = false;
|
||||
bool inPPEC = false;
|
||||
bool hasEncoder = false;
|
||||
bool hasPPEC = false;
|
||||
bool hasHomeIndexer = false;
|
||||
bool isAZEQ = false;
|
||||
bool hasPolarLed = false;
|
||||
bool hasCommonSlewStart = false; // supports :J3
|
||||
bool hasHalfCurrentTracking = false;
|
||||
bool hasWifi = false;
|
||||
} SkyWatcherFeatures;
|
||||
|
||||
enum SkywatcherGetFeatureCmd
|
||||
{
|
||||
GET_INDEXER_CMD = 0x00,
|
||||
GET_FEATURES_CMD = 0x01
|
||||
};
|
||||
|
||||
enum SkywatcherSetFeatureCmd
|
||||
{
|
||||
START_PPEC_TRAINING_CMD = 0x00,
|
||||
STOP_PPEC_TRAINING_CMD = 0x01,
|
||||
TURN_PPEC_ON_CMD = 0x02,
|
||||
TURN_PPEC_OFF_CMD = 0X03,
|
||||
ENCODER_ON_CMD = 0x04,
|
||||
ENCODER_OFF_CMD = 0x05,
|
||||
DISABLE_FULL_CURRENT_LOW_SPEED_CMD = 0x0006,
|
||||
ENABLE_FULL_CURRENT_LOW_SPEED_CMD = 0x0106,
|
||||
RESET_HOME_INDEXER_CMD = 0x08
|
||||
};
|
||||
|
||||
// Get Motor Controller Assets
|
||||
// :qm010000[0D]
|
||||
// =ABCDEF[0D]
|
||||
// ============
|
||||
// A 8 not defined
|
||||
// 4 not defined
|
||||
// 2 PPEC ON
|
||||
// 1 PPEC training in progress,
|
||||
// B 8 supports AZ/EQ
|
||||
// 4 has Home Sensors
|
||||
// 2 supports PPEC
|
||||
// 1 supports dual encoders
|
||||
// C 8 has WIFI
|
||||
// 4 supports half current tracking // ref :Wx06....
|
||||
// 2 axes slews must start independently // ie cant use :J3
|
||||
// 1 has polar LED
|
||||
// D 0000
|
||||
// E 0000
|
||||
// F 0000
|
||||
// EQ6 returns !0
|
||||
// ABCDEF
|
||||
// AZEQ5 =0B6000 at boot
|
||||
// AZEQ6 =0B3000
|
||||
// EQ8 =076000
|
||||
// ABCDEF
|
||||
|
||||
// Mount Assets
|
||||
// EFCDAB
|
||||
#define AEQ6 0x003000 // !:J3, PolarLED ; Real EQ6Pro
|
||||
#define AAEQ6 0x003008 // !:J3, PolarLED ; Pretend Az-EQ6
|
||||
#define AEQ5 0x003008 // !:J3, PolarLED ; AZ/EQ
|
||||
#define AEQ3 0x003000 // !:J3, PolarLED
|
||||
#define AAZEQ5 0x00B008 // WiFi, !:J3, PolarLED ; AZ/EQ
|
||||
#define AAZEQ6 0x00B008 // WiFi, !:J3, PolarLED ; AZ/EQ
|
||||
|
||||
// Motor firmware versions
|
||||
/*
|
||||
// Get Motor Controller Version
|
||||
// :e1[0D]
|
||||
// ="llhhMM"[0D] (6 bytes - hex encoded)
|
||||
// MountCode = MM (1 byte - binary encoded)
|
||||
// x00 = "EQ6Pro", x01 = "HEQ5", x02 = "EQ5", x03 = "EQ3", x04 = "EQ8", x05 = "AZEQ6", "AZEQ5"
|
||||
// x80 = "GT", x81 = "MF" , x82 = "114GT", x90 = "DOB"
|
||||
// hh.ll = board firmware version
|
||||
// hh = x00..x07 : equatorial
|
||||
// = x08..xFF : altaz
|
||||
*/
|
||||
#define VEQ6 0x000402 // Pretend EQ6 V 2.04 yyyy.mm.dd
|
||||
#define VAEQ6 0x050902 // Pretend Az-EQ6 V 2.09 yyyy.mm.dd
|
||||
#define VHEQ5 0x010204 // Pretend HEQ5 V 2.04 yyyy.mm.dd
|
||||
#define VEQ5 0x020207 // Pretend EQ5 V 2.07 yyyy.mm.dd
|
||||
#define VEQ3 0x030207 // Pretend EQ3 V 2.07 yyyy.mm.dd
|
||||
#define VEQ8 0x040211 // Pretend EQ8 V 2.11 2014.11.10
|
||||
#define VAZEQ6 0x050211 // Pretend AZEQ6 V 2.11 2014.11.10
|
||||
#define VAZEQ5 0x060301 // Pretend AZEQ5 V 3.01 2015.08.10
|
||||
|
||||
#define EQGVERSION VAEQ6 // For ETX, pretend to be an AltAz mount based on EQ6
|
||||
#define EQGASSETS AAEQ6 // For ETX, pretend to be an AltAz mount based on EQ6
|
||||
|
||||
|
||||
// :I := ( :b * (360*60*60) / :a ) / Speed ( where Speed is in arcsec/sec )
|
||||
// If :I is greater than about 10, then the slew will need to use :G = LoSpeed mode
|
||||
// If :I is less than 10, then the slew will need :G = HiRate, and :I := I * :g
|
||||
// a-AxxValue (Ticks/rev) := AxxVanes * 4 * AxxGbxRatio * ( Axx Transfer ) * AxxWormTeeth
|
||||
// b-AxxValue := 6460.09 * AxxRatio * a-AxxValue * 15.041069 / 1,296,000
|
||||
// b-AxxValue := 6460.09 * AxxRatio * a-AxxValue * 15.041069 / (360*60*60)
|
||||
|
||||
// Speed = g*(b*129600/a)/I
|
||||
// Speed = g*(b*(360*60*60)/a)/I
|
||||
// ==============================
|
||||
// IVALUE = (axis[EQGMOTOR].bVALUE * 1296000) / axis[EQGMOTOR].STEPSPER360)
|
||||
// IVALUE = (axis[EQGMOTOR].bVALUE * (360*60*60)) / axis[EQGMOTOR].STEPSPER360)
|
||||
|
||||
#define EQG_AzCENTRE ETX_AzCENTRE
|
||||
#define EQG_AltCENTRE ETX_AltCENTRE
|
||||
#define EQG_gVALUE 0x000010
|
||||
|
||||
#define EQGMAXIMUMSPEED 12 // 0x0C
|
||||
#define EQGMAXIMUMSPEED 12
|
||||
|
||||
// EQG 'G' Command - SET move parameters
|
||||
#define DIRECTION 0x00000001 // Increasing(0) Decreasing(1)
|
||||
#define HEMISPHERE 0x00000002 // North(0) South(1)
|
||||
|
||||
// Get axis tracking/slewing "status"
|
||||
// EQG 'f' Command - GET Motor status bit definitions
|
||||
// Get axis tracking/slewing "status" // =ABC[0D]
|
||||
// A xxx0 0 means GOTO, 1 means SLEW *** these are diff to :G usage
|
||||
// 0 means "actually doing" the goto. On stopping, it reverts to Slew Mode
|
||||
// xx0x 0 means +ve, 1 means -ve
|
||||
// x0xx 0 means LoRate, 1 means HiSpeed ***
|
||||
// B xxx0 0 means stopped, 1 means moving,
|
||||
// xx0x 0 means OK, 1 means blocked ( For DC motors only )
|
||||
// C xxx0 1 means axis is Initialised/Energised
|
||||
// xx0x 1 means level switch ON ( AltAz mounts and DEC only )
|
||||
// =ABC[0D]
|
||||
// A xxx0 0 means GOTO, 1 means SLEW *** these are diff to :G usage
|
||||
// 0 means "actually doing" the goto. On stopping, it reverts to Slew Mode
|
||||
// xx0x 0 means +ve, 1 means -ve
|
||||
// x0xx 0 means LoRate, 1 means HiSpeed ***
|
||||
// B xxx0 0 means stopped, 1 means moving,
|
||||
// xx0x 0 means OK, 1 means blocked ( For DC motors only )
|
||||
// C xxx0 1 means axis is Initialised/Energised
|
||||
// xx0x 1 means level switch ON ( AltAz mounts and DEC only )
|
||||
|
||||
// MotorState bit definitions
|
||||
// A: nibble 1
|
||||
// A nibble1
|
||||
#define MOVESLEW 0x0001 // Step(0) Slew(1)
|
||||
#define MOVEDECR 0x0002 // Increasing(0) Decreasing(1)
|
||||
#define MOVEHIGH 0x0004 // Low(0) High(1)
|
||||
// B: nibble2
|
||||
// B nibble2
|
||||
#define MOVEAXIS 0x0010 // Stopped(0) Moving(1)
|
||||
#define MOVEFACE 0x0020 // Front(0) Rear(1)
|
||||
// C: nibble3
|
||||
// C nibble3
|
||||
#define MOVEACTIVE 0x0100 // Inactive(0) Active(1)
|
||||
|
||||
#define RATESLEWHI RATE2DEGREES
|
||||
#define RATESLEWLO RATESLEWHI >> 3
|
||||
#define RATEGOTOHI RATE1DEGREE
|
||||
#define RATEGOTOLO RATEGOTOHI >> 3
|
||||
|
||||
void EQGState(void);
|
||||
void EQGError(unsigned char);
|
||||
void EQGAction(void);
|
||||
|
||||
void TimerDelaymS(unsigned long);
|
||||
|
||||
bool EQGRx(void);
|
||||
void EQGTx(unsigned char);
|
||||
|
@ -84,13 +297,9 @@ void EQGTxHex6(unsigned long);
|
|||
// debug
|
||||
void putbyte(unsigned char);
|
||||
void putbyte(unsigned char);
|
||||
void puthexn(unsigned char);
|
||||
void puthexb(unsigned char);
|
||||
void puthexw(unsigned int);
|
||||
void puthexl(unsigned long);
|
||||
void putdecn(unsigned char);
|
||||
void putdecb(unsigned char);
|
||||
void putdecw(unsigned int);
|
||||
void putdecl(unsigned long);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,20 +1,39 @@
|
|||
/*
|
||||
* Copyright 2017, 2018 John Archbold
|
||||
* Copyright 2017, 2018, 2020 John Archbold
|
||||
*/
|
||||
#include <Arduino.h>
|
||||
|
||||
/********************************************************
|
||||
EQG Protocol function definitions
|
||||
=================================
|
||||
*********************************************************/
|
||||
#ifndef ETXProtocol
|
||||
#define ETXProtocol
|
||||
#pragma once
|
||||
|
||||
#define MotorAz 0x01 // Pin3 on HBX interface
|
||||
// Function Prototypes
|
||||
//
|
||||
void UpdateETX(void);
|
||||
void CheckETXStatus(unsigned char);
|
||||
void CheckETXState(unsigned char);
|
||||
|
||||
bool HBXGetStatus( unsigned char );
|
||||
bool ETXState( unsigned char );
|
||||
void AzInitialise( unsigned char );
|
||||
void AltInitialise( unsigned char );
|
||||
void WaitForMotors( void );
|
||||
void CalibrateLEDs( void);
|
||||
void HBXPrintStatus( unsigned char );
|
||||
bool HBXReset( void );
|
||||
|
||||
void PrintHbxValues( unsigned char );
|
||||
void PrintHbxValues( unsigned char );
|
||||
void dbgRx(void);
|
||||
|
||||
#define HBXAux 0x00 // The HBX interface port (Aux)
|
||||
#define MotorAz 0x01 // Pin7 on HBX interface
|
||||
#define MotorAlt 0x02 // Pin5 on HBX interface
|
||||
|
||||
#define AzMotor MotorAz
|
||||
#define AltMotor MotorAlt
|
||||
uint8_t AuxHBX = HBXAux;
|
||||
uint8_t AzMotor = MotorAz;
|
||||
uint8_t AltMotor = MotorAlt;
|
||||
|
||||
// ETX Bit Definitions
|
||||
// Variable - axis[Motor].MotorControl
|
||||
|
@ -26,18 +45,18 @@
|
|||
#define GoToHBX 0x0800 // GoTo in process
|
||||
|
||||
// ETX Known Commands
|
||||
#define SpeedChnge 0x00 // Update "8.16" speed
|
||||
#define SpeedStart 0x01 // Begin "8.16" speed
|
||||
#define SetOffset 0x02 // Output "16" correction offset
|
||||
#define SetLEDI 0x03 // Output "8" LED current
|
||||
#define CalibrateLED 0x04 // None
|
||||
#define Stop 0x05 // None
|
||||
#define SlewReverse 0x06 // None
|
||||
#define SlewForward 0x07 // None
|
||||
#define GetStatus 0x08 // Input "16.8.1" ticks.pwm.error
|
||||
#define GetLEDI 0x09 // Input "8" LED current
|
||||
#define GetMotorType 0x0B // Input "8" Motor type
|
||||
#define ResetH2X 0xE4 // None
|
||||
#define SpeedChnge 0x00 // Update "8.16" speed
|
||||
#define SpeedStart 0x01 // Begin "8.16" speed
|
||||
#define SetOffset 0x02 // Output "16" correction offset
|
||||
#define SetLEDI 0x03 // Output "8" LED current
|
||||
#define CalibrateLED 0x04 // None
|
||||
#define Stop 0x05 // None
|
||||
#define SlewReverse 0x06 // None
|
||||
#define SlewForward 0x07 // None
|
||||
#define GetStatus 0x08 // Input "16.8.1" ticks.pwm.error
|
||||
#define GetLEDI 0x09 // Input "8" LED current
|
||||
#define GetMotorType 0x0B // Input "8" Motor type
|
||||
#define SleepHBX 0xE4 // None
|
||||
|
||||
#define OffsetMax 0x0020 // Maximum for a SetOffset command
|
||||
// ETX State Machine
|
||||
|
@ -51,21 +70,23 @@
|
|||
#define ETXCheckStop 7
|
||||
#define ETXStopMotor 8
|
||||
#define ETXMotorEnd 9
|
||||
// ETX axis State Machine
|
||||
#define NORMAL 0
|
||||
#define FLIP 1
|
||||
#define FLIPPED 2
|
||||
#define UNFLIP 3
|
||||
#define FLIPPING 4
|
||||
#define UNFLIPPING 5
|
||||
|
||||
#define EEPROMAzLEDI 0x01 // EEPROM Storage
|
||||
#define EEPROMAltLEDI 0x02
|
||||
#define EEPROMMotor 0x03 // MOTOR TYPE
|
||||
const float ETX60PERIOD = 152.587891; // (1/6.5536mS)
|
||||
const unsigned long ETX_CENTRE = 0x00800000; // RA, DEC;
|
||||
|
||||
const float ETX60PERIOD = 152.587891; // (1/6.5536mS)
|
||||
|
||||
#define ETX_AzCENTRE 0x00800000 // HA
|
||||
#define ETX_AltCENTRE 0x00800000 // DEC
|
||||
|
||||
const float MeadeSidereal = 6460.0900; // Refer Andrew Johansen
|
||||
const float SiderealArcSecs = 15.041069; // Sidereal arcsecs/sec
|
||||
const float MeadeSidereal = 6460.0900; // Refer Andrew Johansen - Roboscope
|
||||
const float SiderealArcSecs = 15.041069; // Sidereal arcsecs/sec (ArcSec360/Sidereal secs)
|
||||
const float ArcSecs360 = 1296000; // Arcsecs / 360
|
||||
|
||||
|
||||
//#define ETXSlew0 .5 // .5 x sidereal (0.125 arc-min/sec or 0.0021°/sec)
|
||||
#define ETXSlew1 1 // 1 x sidereal (0.25 arc-min/sec or 0.0042°/sec)
|
||||
#define ETXSlew2 2 // 2 x sidereal (0.50 arc-min/sec or 0.0084°/sec)
|
||||
#define ETXSlew3 8 // 8 x sidereal ( 2 arc-min/sec or 0.0334°/sec)
|
||||
|
@ -78,18 +99,13 @@ const float ArcSecs360 = 1296000; // Arcsecs / 360
|
|||
|
||||
#define ETXSLOWPOSN 0x00000800 // Point at which to start slowdown
|
||||
|
||||
#define H2X_INPUTPU INPUT_PULLUP // Set pin data input mode
|
||||
#define H2X_INPUT INPUT // Set pin data input mode
|
||||
#define H2X_OUTPUT OUTPUT // Set pin data output
|
||||
// bool HBXGetStatus(unsigned char);
|
||||
|
||||
/*
|
||||
bool HBXSetMotorState(unsigned char);
|
||||
bool HBXCheckTargetStatus(unsigned char);
|
||||
bool HBXUpdatePosn(void);
|
||||
|
||||
bool HBXStartMotor(unsigned char);
|
||||
bool HBXStopMotor(unsigned char);
|
||||
bool HBXGetStatus(unsigned char);
|
||||
void PositionPoll(unsigned char);
|
||||
|
||||
#endif
|
||||
|
||||
*/
|
||||
|
|
|
@ -1,29 +1,12 @@
|
|||
/*
|
||||
* Copyright 2017, 2018 John Archbold
|
||||
* Copyright 2017, 2018, 2020 John Archbold
|
||||
*/
|
||||
#include <Arduino.h>
|
||||
|
||||
/********************************************************
|
||||
EQG Protocol function definitions
|
||||
=================================
|
||||
*********************************************************/
|
||||
#ifndef HBXComms
|
||||
#define HBXComms
|
||||
|
||||
// Pin definitions for HBX interface
|
||||
// =================================
|
||||
#ifdef m2560
|
||||
#define HDA1 8 // Pin2, 4, 6 on HBX interface
|
||||
#define HCL1 2 // Pin3 on HBX interface
|
||||
#define HDA2 10 // Not used
|
||||
#define HCL2 3 // Pin5 on HBX interface
|
||||
#endif
|
||||
|
||||
#ifdef mESP32
|
||||
#define HDA1 25 // Pin2, 4, 6 on HBX interface
|
||||
#define HCL1 26 // Pin3 on HBX interface
|
||||
#define HCL2 27 // Pin5 on HBX interface
|
||||
#endif
|
||||
#pragma once
|
||||
|
||||
#define CR 0x0d
|
||||
#define LF 0x0a
|
||||
|
@ -31,23 +14,30 @@
|
|||
#define HBXLEN 16
|
||||
#define HBXMASK HBXLEN-1
|
||||
|
||||
#define H2XRESETTIME 25 // Reset H2X bus
|
||||
#define BITTIME 120 // H2X clock ~200uS i.e 100us Low/High
|
||||
#define HIGHTIME 120 // H2X clock ~200uS i.e 100us Low/High
|
||||
#define LOWTIME 120 // H2X clock ~200uS i.e 100us Low/High
|
||||
#define DSTABLE 60 // H2X data write delay ~ 50uS
|
||||
#define DGLITCH 5 // H2X data glitch sample
|
||||
#define ETXDELAY 6.55 // H2X ETX poll delay (mS)
|
||||
#define CMNDTIME 1 // H2X command delay (mS)
|
||||
#define STARTTIME 50 // H2X startup time for motors
|
||||
#define CLOCKTIMEOUT 50 // H2X Clock transition timeout (uS) (for monitor mode)
|
||||
#define MOTORDETECT 500 // H2X Detect Motor controller
|
||||
#define HCLRESETTIME 5 // Reset H2X Clock (mS)
|
||||
#define H2XRESETTIME 25 // Reset H2X bus
|
||||
#define BITTIME 100 // H2X clock ~200uS i.e 100us Low/High
|
||||
|
||||
int8_t HBXBitTime = 128;
|
||||
#define STATUSDELAY 50 // H2X ETX status poll delay (mS)
|
||||
#define STATEDELAY 6.55 // H2X ETX state poll delay (mS)
|
||||
#define CMNDTIME 1 // H2X command delay (mS)
|
||||
#define STARTTIME 50 // H2X startup time for motors (mS)
|
||||
#define CLOCKTIMEOUT 50 // H2X Clock transition timeout (uS) (for monitor mode)
|
||||
#define MOTORDETECT 500 // H2X Detect Motor controller (mS)
|
||||
|
||||
uint8_t HDA = HDAAz; // Default
|
||||
uint8_t HCL = HCLAz; // Default
|
||||
|
||||
uint8_t pCommand;
|
||||
uint16_t pAzCount;
|
||||
uint16_t pAltCount;
|
||||
|
||||
unsigned char HBXBitTime = BITTIME;
|
||||
void TimerDelayuS(unsigned int);
|
||||
void TimerDelaymS(unsigned long);
|
||||
|
||||
bool HBXSendCommand(unsigned char, unsigned char);
|
||||
void HBXMotorReset(unsigned char);
|
||||
bool HBXStartSequence(unsigned char);
|
||||
void HBXSendByte(unsigned char, unsigned char);
|
||||
unsigned char HBXGetByte(unsigned char);
|
||||
|
@ -55,33 +45,13 @@ void HBXSend2Bytes(unsigned char);
|
|||
void HBXSend3Bytes(unsigned char);
|
||||
void HBXGet3Bytes(unsigned char);
|
||||
|
||||
void HBXTestLoop(void);
|
||||
void HBXMonitorMode(void);
|
||||
bool HBXMonitorHCL(unsigned char);
|
||||
bool HBXMonitorBit(unsigned char);
|
||||
bool HBXMonitorByte(unsigned char);
|
||||
void HBXMonitorEnd(unsigned char);
|
||||
void HBXMonitorMessage(unsigned char);
|
||||
void HBXSaveState(unsigned char);
|
||||
void HBXPrintStatus(unsigned char);
|
||||
void HBXPrintState(unsigned char);
|
||||
|
||||
void HDAListen(void);
|
||||
void HDATalk(void);
|
||||
void HCL1Listen(void);
|
||||
void HCL1Talk(void);
|
||||
void HCL2Listen(void);
|
||||
void HCL2Talk(void);
|
||||
void H2XReset(void);
|
||||
bool ResetMotor(unsigned char);
|
||||
void HDAListen(uint8_t);
|
||||
void HDATalk(uint8_t);
|
||||
bool HBXReset(void);
|
||||
|
||||
long TwosComplement(long);
|
||||
|
||||
// Monitor
|
||||
void HBXMonitorLoop(void);
|
||||
|
||||
// Testing
|
||||
void HBXTestLoop(void);
|
||||
void HBXTest(void);
|
||||
bool HBXGet2Status(void);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,13 +1,93 @@
|
|||
/**@file*/
|
||||
/*
|
||||
* Copyright 2017, 2018 John Archbold
|
||||
* Copyright 2017, 2018, 2020 John Archbold
|
||||
*/
|
||||
#include <Arduino.h>
|
||||
#include "Hardware.h"
|
||||
#include "ETXProtocol.h"
|
||||
#include "EQGProtocol.h"
|
||||
#include "EQG2HBX.h"
|
||||
#include "HBXComms.h"
|
||||
#include "HBXFileSystem.h"
|
||||
#include "HBXWiFiServer.h"
|
||||
|
||||
/********************************************************
|
||||
HBX Comms related functions
|
||||
===========================
|
||||
*********************************************************/
|
||||
|
||||
/**********************************************
|
||||
Multiple 1mS delay
|
||||
***********************************************/
|
||||
|
||||
void TimerDelaymS(unsigned long d) {
|
||||
delay(d);
|
||||
}
|
||||
|
||||
/**********************************************
|
||||
Multiple 1uS delay
|
||||
***********************************************/
|
||||
|
||||
void TimerDelayuS(unsigned int d) {
|
||||
delayMicroseconds(d);
|
||||
}
|
||||
|
||||
// HBX Attempt to reset
|
||||
// --------------------
|
||||
void HBXMotorReset(unsigned char Motor)
|
||||
{
|
||||
if (Motor == AzMotor) {HCL = HCLAz; HDA = HDAAz;}
|
||||
else {HCL = HCLAlt; HDA = HDAAlt;}
|
||||
/*
|
||||
int i;
|
||||
|
||||
// Write LOW
|
||||
HDATalk(Motor);
|
||||
digitalWrite(HDA1, LOW);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, LOW);
|
||||
else digitalWrite(HCL2, LOW);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, HIGH);
|
||||
else digitalWrite(HCL2, HIGH);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
}
|
||||
|
||||
// Write HIGH
|
||||
digitalWrite(HDA1, HIGH);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, LOW);
|
||||
else digitalWrite(HCL2, LOW);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, HIGH);
|
||||
else digitalWrite(HCL2, HIGH);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
}
|
||||
|
||||
// Read, and discard, a byte
|
||||
HDAListen(HDA);
|
||||
for (i = 0; i < 8; i++) {
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, LOW);
|
||||
else digitalWrite(HCL2, LOW);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, HIGH);
|
||||
else digitalWrite(HCL2, HIGH);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
}
|
||||
*/
|
||||
|
||||
// Force Clock High, Low, High for reset, time ~1.25s
|
||||
HCLTalk(Motor);
|
||||
digitalWrite(HCL, HIGH);
|
||||
TimerDelaymS(MOTORDETECT);
|
||||
digitalWrite(HCL, LOW);
|
||||
TimerDelaymS(MOTORDETECT);
|
||||
digitalWrite(HCL, HIGH);
|
||||
TimerDelaymS(MOTORDETECT >> 1);
|
||||
}
|
||||
|
||||
// HBX transmission functions
|
||||
// ==========================
|
||||
|
||||
|
@ -15,60 +95,66 @@
|
|||
// ------------------
|
||||
bool HBXSendCommand(unsigned char Command, unsigned char Motor) {
|
||||
|
||||
pCommand = Command;
|
||||
if (Command != GetStatus){
|
||||
dbgSerial.println("");dbgSerial.print("+++ ");dbgSerial.print(Motor);
|
||||
}
|
||||
axis[Motor].Command = Command;
|
||||
|
||||
|
||||
// Select the interface
|
||||
if (Motor == MotorAz) {HDA = HDAAz;HCL = HCLAz;}
|
||||
else {HDA = HDAAlt;HCL = HCLAlt;}
|
||||
|
||||
// Send the start sequence
|
||||
// -----------------------
|
||||
if (HBXStartSequence(Motor)) {
|
||||
|
||||
if (HBXStartSequence(Motor)) {
|
||||
// Send the command byte
|
||||
// ---------------------
|
||||
HBXSendByte(Command, Motor);
|
||||
return(true);
|
||||
}
|
||||
else return(false);
|
||||
else {
|
||||
HDAListen(HDA); // Set data inbound
|
||||
return(false);
|
||||
}
|
||||
}
|
||||
|
||||
// HBX Initiate start sequence
|
||||
// ---------------------------
|
||||
bool HBXStartSequence(unsigned char Motor) {
|
||||
|
||||
HDAListen(); // HDA as input
|
||||
|
||||
// Set clock low
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, LOW);
|
||||
else digitalWrite(HCL2, LOW);
|
||||
TimerDelayuS(HBXBitTime >> 1); // Wait for answer
|
||||
|
||||
// Wait for data low by MC, or timeout
|
||||
H2XStart = micros(); // Get the start microseconds
|
||||
do { // Wait for MC to answer with HDA1 = 0
|
||||
if (Motor == AzMotor) {HCL = HCLAz; HDA = HDAAz;}
|
||||
else if (Motor == AltMotor) {HCL = HCLAlt; HDA = HDAAlt;}
|
||||
else {HCL = HCLAux; HDA = HDAAux;}
|
||||
|
||||
// 1. HDA as input, Clock as output
|
||||
HDAListen(HDA);
|
||||
HCLTalk(HCL);
|
||||
// 2. Set clock low
|
||||
digitalWrite(HCL, LOW);
|
||||
TimerDelayuS(HBXBitTime >> 1); // 1/2 bit-time
|
||||
// 3. Wait for data low (HDA = 0) by MC, or timeout
|
||||
H2XStart = micros();
|
||||
do {
|
||||
H2XTimer = micros() - H2XStart;
|
||||
} while ((digitalRead(HDA1) == 1) && (H2XTimer < (HBXBitTime << 3)));
|
||||
TimerDelayuS((HBXBitTime >> 5)); // Just in case of data line glitch
|
||||
|
||||
// Re-read data line, check if (data low transition) or (MC timeout)
|
||||
if ((digitalRead(HDA1) == 1) || (H2XTimer >= (HBXBitTime << 3))) {
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, HIGH);
|
||||
else digitalWrite(HCL2, HIGH);
|
||||
return(false); // Error Exit if no response from Motor
|
||||
} while ((digitalRead(HDA) == 1) && (H2XTimer < (HBXBitTime << 3)));
|
||||
TimerDelayuS((HBXBitTime >> 5)); // 1/32 bit-time delay, in case of data line glitch
|
||||
// 4. Re-read data line, check if (data low) or (MC timeout)
|
||||
if ((digitalRead(HDA) == 1) || (H2XTimer >= (HBXBitTime << 3))) {
|
||||
digitalWrite(HCL, HIGH);
|
||||
return(false); // error exit if no response from Motor
|
||||
}
|
||||
|
||||
// Set clock high if data low transition (i.e. MC acknowledged clock)
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, HIGH);
|
||||
else digitalWrite(HCL2, HIGH);
|
||||
// 5. Set clock high if data low occurred (i.e. MC acknowledged clock low)
|
||||
digitalWrite(HCL, HIGH);
|
||||
TimerDelayuS(HBXBitTime >> 1);
|
||||
|
||||
// Wait for data line release by MC, or timeout
|
||||
H2XStart = micros(); // Get the start microseconds
|
||||
do { // Wait for MC to answer
|
||||
// 6. Wait for data line release (HDA = 1) by MC, or timeout
|
||||
H2XStart = micros();
|
||||
do {
|
||||
H2XTimer = micros() - H2XStart;
|
||||
} while ((digitalRead(HDA1) == 0) && (H2XTimer < (HBXBitTime << 3)));
|
||||
TimerDelayuS(HBXBitTime);
|
||||
|
||||
// Check timeout for data line released
|
||||
} while ((digitalRead(HDA) == 0) && (H2XTimer < (HBXBitTime << 3)));
|
||||
TimerDelayuS(HBXBitTime); // Wait one bit-time, in case of success
|
||||
// 7. Check timeout for data line released or no response from MC
|
||||
if (H2XTimer >= (HBXBitTime << 3)) {
|
||||
return(false); // Error Exit if no response from Motor
|
||||
return(false); // Error Exit if no response from MC
|
||||
}
|
||||
return(true); // Success
|
||||
}
|
||||
|
@ -78,41 +164,37 @@ bool HBXStartSequence(unsigned char Motor) {
|
|||
void HBXSendByte(unsigned char databyte, unsigned char Motor) {
|
||||
|
||||
unsigned char mask;
|
||||
if (Motor == AzMotor) {HCL = HCLAz; HDA = HDAAz;}
|
||||
else if (Motor == AltMotor) {HCL = HCLAlt; HDA = HDAAlt;}
|
||||
else {HCL = HCLAux; HDA = HDAAux;}
|
||||
|
||||
HDATalk(); // HDA as output
|
||||
if (axis[Motor].Command != GetStatus) {
|
||||
dbgSerial.print("-> "); dbgSerial.print(databyte, HEX);
|
||||
}
|
||||
|
||||
HDATalk(HDA); // HDA as output
|
||||
axis[Motor].HBXBitCount = 8; // 8bits to go
|
||||
mask = 0x80; // MSB first
|
||||
|
||||
// Clock was set high before entry
|
||||
TimerDelayuS(HIGHTIME);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
do {
|
||||
axis[Motor].HBXBitCount -= 1;
|
||||
|
||||
// Set data bit
|
||||
if (databyte & mask) digitalWrite(HDA1, HIGH);
|
||||
else digitalWrite(HDA1, LOW);
|
||||
if (databyte & mask) digitalWrite(HDA, HIGH);
|
||||
else digitalWrite(HDA, LOW);
|
||||
TimerDelayuS(HBXBitTime >> 1); // Let data stabilise
|
||||
mask = mask >> 1; // Next data bit
|
||||
|
||||
mask = mask >> 1; // Next data bit
|
||||
// Set clock low
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, LOW);
|
||||
else digitalWrite(HCL2, LOW);
|
||||
digitalWrite(HCL, LOW);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
|
||||
if (!(axis[Motor].HBXBitCount)) { // Last bit -> force float on data
|
||||
digitalWrite(HDA1, LOW);
|
||||
HDAListen();
|
||||
}
|
||||
|
||||
// Set clock high
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, HIGH);
|
||||
else digitalWrite(HCL2, HIGH);
|
||||
digitalWrite(HCL, HIGH);
|
||||
TimerDelayuS(HBXBitTime-(HBXBitTime >> 1)); // Data is written DSTABLE before clock low
|
||||
|
||||
// for 8 bits
|
||||
} while (axis[Motor].HBXBitCount);
|
||||
|
||||
TimerDelayuS(HBXBitTime >> 1); // Last high clock
|
||||
HDAListen(HDA); // Release data pin
|
||||
TimerDelayuS(HBXBitTime);
|
||||
}
|
||||
|
||||
// HBX Send two bytes in sequence
|
||||
|
@ -120,6 +202,7 @@ void HBXSendByte(unsigned char databyte, unsigned char Motor) {
|
|||
void HBXSend2Bytes(unsigned char Motor) {
|
||||
HBXSendByte(axis[Motor].HBXP1, Motor);
|
||||
HBXSendByte(axis[Motor].HBXP2, Motor);
|
||||
if (pCommand != GetStatus) dbgSerial.println("");
|
||||
}
|
||||
|
||||
// HBX Send three bytes in sequence
|
||||
|
@ -128,37 +211,39 @@ void HBXSend3Bytes(unsigned char Motor) {
|
|||
HBXSendByte(axis[Motor].HBXP1, Motor);
|
||||
HBXSendByte(axis[Motor].HBXP2, Motor);
|
||||
HBXSendByte(axis[Motor].HBXP3, Motor);
|
||||
if (pCommand != GetStatus) dbgSerial.println("");
|
||||
}
|
||||
|
||||
// HBX Get a single byte
|
||||
// ----------------------
|
||||
unsigned char HBXGetByte(unsigned char Motor) {
|
||||
|
||||
HDAListen(); // HDA as input
|
||||
if (Motor == AzMotor) {HCL = HCLAz; HDA = HDAAz;}
|
||||
else if (Motor == AltMotor) {HCL = HCLAlt; HDA = HDAAlt;}
|
||||
else {HCL = HCLAux; HDA = HDAAux;}
|
||||
|
||||
// HDA as input
|
||||
HDAListen(HDA);
|
||||
axis[Motor].HBXBitCount = 8;
|
||||
axis[Motor].HBXData = 0;
|
||||
|
||||
// Clock was set high before entry
|
||||
while (axis[Motor].HBXBitCount) {
|
||||
|
||||
// Set clock low
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, LOW);
|
||||
else digitalWrite(HCL2, LOW);
|
||||
digitalWrite(HCL, LOW);
|
||||
TimerDelayuS(HBXBitTime >> 1);
|
||||
|
||||
// Read data bit
|
||||
axis[Motor].HBXData = axis[Motor].HBXData << 1; // Shift previous bit
|
||||
if (digitalRead(HDA1)) axis[Motor].HBXData |= 0x01; // Read next bit
|
||||
if (digitalRead(HDA)) axis[Motor].HBXData |= 0x01; // Read next bit
|
||||
axis[Motor].HBXBitCount--; // Need eight bits
|
||||
TimerDelayuS(HBXBitTime-(HBXBitTime >> 1)); // Wait for low time
|
||||
|
||||
TimerDelayuS(HBXBitTime-(HBXBitTime >> 1)); // Wait for low time
|
||||
// Set clock high
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, HIGH);
|
||||
else digitalWrite(HCL2, HIGH);
|
||||
digitalWrite(HCL, HIGH);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
TimerDelayuS(HBXBitTime);
|
||||
if (axis[Motor].Command != GetStatus) {
|
||||
dbgSerial.print("<- "); dbgSerial.print(axis[Motor].HBXData, HEX);
|
||||
}
|
||||
// Return data byte
|
||||
axis[Motor].HBXCount = 1;
|
||||
return (axis[Motor].HBXData);
|
||||
|
@ -178,55 +263,67 @@ void HBXGet3Bytes(unsigned char Motor) {
|
|||
|
||||
// Read 'byte4' = error bit
|
||||
// ------------------------
|
||||
if (Motor == MotorAz) digitalWrite(HCL1, LOW);
|
||||
else digitalWrite(HCL2, LOW);
|
||||
digitalWrite(HCL, LOW);
|
||||
TimerDelayuS(HBXBitTime >> 1);
|
||||
axis[Motor].HBXP4 |= digitalRead(HDA1); // Read the error bit
|
||||
axis[Motor].HBXP4 |= digitalRead(HDA); // Read the battery error bit
|
||||
TimerDelayuS(HBXBitTime-(HBXBitTime >> 1));
|
||||
if (Motor == MotorAz)digitalWrite(HCL1, HIGH);
|
||||
else digitalWrite(HCL2, HIGH);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
|
||||
digitalWrite(HCL, HIGH);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
if (axis[Motor].Command != GetStatus) {
|
||||
dbgSerial.print("- "); dbgSerial.print(axis[Motor].HBXP4, HEX);
|
||||
}
|
||||
axis[Motor].HBXCount = 4;
|
||||
if (pCommand != GetStatus) dbgSerial.println("");
|
||||
}
|
||||
|
||||
// H2X Low level Functions
|
||||
// -----------------------
|
||||
void HDAListen() {
|
||||
pinMode(HDA1, H2X_INPUT);
|
||||
// digitalWrite(HDA1, HIGH);
|
||||
void HDAListen(uint8_t HDA) {
|
||||
// digitalWrite(HDA, HIGH);
|
||||
pinMode(HDA, H2C_INPUT);
|
||||
}
|
||||
void HDAFloat() {
|
||||
pinMode(HDA1, H2X_INPUT);
|
||||
void HDAFloat(uint8_t HDA) {
|
||||
pinMode(HDA, H2C_INPUT);
|
||||
}
|
||||
void HDATalk() {
|
||||
digitalWrite(HDA1, HIGH);
|
||||
pinMode(HDA1, H2X_OUTPUT);
|
||||
void HDATalk(uint8_t HDA) {
|
||||
digitalWrite(HDA, HIGH);
|
||||
pinMode(HDA, H2C_OUTPUT);
|
||||
}
|
||||
void HCL1Listen() {
|
||||
pinMode(HCL1, H2X_INPUT);
|
||||
void HCLListen(uint8_t HCL) {
|
||||
// digitalWrite(HCL, HIGH);
|
||||
pinMode(HCL, H2C_INPUTPU);
|
||||
}
|
||||
void HCL1Talk() {
|
||||
digitalWrite(HCL1, HIGH);
|
||||
pinMode(HCL1, H2X_OUTPUT);
|
||||
void HCLFloat(uint8_t HCL) {
|
||||
pinMode(HCL, H2C_INPUT);
|
||||
}
|
||||
void HCL2Listen() {
|
||||
pinMode(HCL2, H2X_INPUT);
|
||||
}
|
||||
void HCL2Talk() {
|
||||
digitalWrite(HCL2, HIGH);
|
||||
pinMode(HCL2, H2X_OUTPUT);
|
||||
void HCLTalk(uint8_t HCL) {
|
||||
digitalWrite(HCL, HIGH);
|
||||
pinMode(HCL, H2C_OUTPUT);
|
||||
}
|
||||
|
||||
void H2XReset() {
|
||||
HCL1Talk();
|
||||
HCL2Talk();
|
||||
HDATalk();
|
||||
digitalWrite(HDA1, LOW);
|
||||
TimerDelayuS(H2XRESETTIME);
|
||||
digitalWrite(HDA1, HIGH);
|
||||
TimerDelayuS(H2XRESETTIME);
|
||||
HDAListen();
|
||||
bool HBXReset(void) {
|
||||
int ClockCount = 0;
|
||||
|
||||
HCLTalk(HCLAz); // Set clock high
|
||||
HCLTalk(HCLAlt); // Set clock high
|
||||
HCLTalk(HCLAux); // Set clock high
|
||||
HDAListen(HDAAz); // Set common data inbound
|
||||
TimerDelayuS(HBXBitTime);
|
||||
|
||||
// Data should be high
|
||||
while ((!digitalRead(HDA)) && (ClockCount < 25)) {
|
||||
digitalWrite(HCLAux, LOW);
|
||||
digitalWrite(HCLAz, LOW);
|
||||
digitalWrite(HCLAlt, LOW);
|
||||
TimerDelaymS(HCLRESETTIME);
|
||||
digitalWrite(HCLAux, HIGH);
|
||||
digitalWrite(HCLAz, HIGH);
|
||||
digitalWrite(HCLAlt, HIGH);
|
||||
TimerDelayuS(HBXBitTime);
|
||||
ClockCount += 1;
|
||||
}
|
||||
if (ClockCount >= 25) return(false);
|
||||
else return(true);
|
||||
}
|
||||
|
||||
long TwosComplement(long p) { // Calculate 2s complement
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
#pragma once
|
||||
/**************************************************************
|
||||
* SPIFFS filesystem
|
||||
* Only invoked in STA mode
|
||||
*/
|
||||
|
||||
#include <EEPROM.h>
|
||||
#include <FS.h>
|
||||
#include <SPIFFS.h>
|
||||
//#include <SPIFFSEditor.h>
|
||||
|
||||
#define FORMAT_SPIFFS_IF_FAILED true
|
||||
#pragma once
|
||||
|
||||
void listDir(fs::FS &fs, const char * dirname, uint8_t levels);
|
||||
void readFile(fs::FS &fs, const char * path);
|
||||
void writeFile(fs::FS &fs, const char * path, const char * message);
|
||||
void appendFile(fs::FS &fs, const char * path, const char * message);
|
||||
void renameFile(fs::FS &fs, const char * path1, const char * path2);
|
||||
void deleteFile(fs::FS &fs, const char * path);
|
|
@ -0,0 +1,108 @@
|
|||
/**@file*/
|
||||
// SPIFFS file system
|
||||
#include "Hardware.h"
|
||||
#include "ETXProtocol.h"
|
||||
#include "EQGProtocol.h"
|
||||
#include "EQG2HBX.h"
|
||||
#include "HBXComms.h"
|
||||
#include "HBXFileSystem.h"
|
||||
#include "HBXWiFiServer.h"
|
||||
|
||||
void listDir(fs::FS &fs, const char * dirname, uint8_t levels) {
|
||||
Serial.printf("Listing directory: %s\r\n", dirname);
|
||||
|
||||
File root = fs.open(dirname);
|
||||
if (!root) {
|
||||
Serial.println("- failed to open directory");
|
||||
return;
|
||||
}
|
||||
if (!root.isDirectory()) {
|
||||
Serial.println(" - not a directory");
|
||||
return;
|
||||
}
|
||||
|
||||
File file = root.openNextFile();
|
||||
while (file) {
|
||||
if (file.isDirectory()) {
|
||||
Serial.print(" DIR : ");
|
||||
Serial.println(file.name());
|
||||
if (levels) {
|
||||
listDir(fs, file.name(), levels - 1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
Serial.print(" FILE: ");
|
||||
Serial.print(file.name());
|
||||
Serial.print("\tSIZE: ");
|
||||
Serial.println(file.size());
|
||||
}
|
||||
file = root.openNextFile();
|
||||
}
|
||||
}
|
||||
|
||||
void readFile(fs::FS &fs, const char * path) {
|
||||
Serial.printf("Reading file: %s\r\n", path);
|
||||
|
||||
File file = fs.open(path);
|
||||
if (!file || file.isDirectory()) {
|
||||
Serial.println("- failed to open file for reading");
|
||||
return;
|
||||
}
|
||||
|
||||
Serial.println("- read from file:");
|
||||
while (file.available()) {
|
||||
Serial.write(file.read());
|
||||
}
|
||||
}
|
||||
|
||||
void writeFile(fs::FS &fs, const char * path, const char * message) {
|
||||
Serial.printf("Writing file: %s\r\n", path);
|
||||
|
||||
File file = fs.open(path, FILE_WRITE);
|
||||
if (!file) {
|
||||
Serial.println("- failed to open file for writing");
|
||||
return;
|
||||
}
|
||||
if (file.print(message)) {
|
||||
Serial.println("- file written");
|
||||
}
|
||||
else {
|
||||
Serial.println("- write failed");
|
||||
}
|
||||
}
|
||||
|
||||
void appendFile(fs::FS &fs, const char * path, const char * message) {
|
||||
Serial.printf("Appending to file: %s\r\n", path);
|
||||
|
||||
File file = fs.open(path, FILE_APPEND);
|
||||
if (!file) {
|
||||
Serial.println("- failed to open file for appending");
|
||||
return;
|
||||
}
|
||||
if (file.print(message)) {
|
||||
Serial.println("- message appended");
|
||||
}
|
||||
else {
|
||||
Serial.println("- append failed");
|
||||
}
|
||||
}
|
||||
|
||||
void renameFile(fs::FS &fs, const char * path1, const char * path2) {
|
||||
Serial.printf("Renaming file %s to %s\r\n", path1, path2);
|
||||
if (fs.rename(path1, path2)) {
|
||||
Serial.println("- file renamed");
|
||||
}
|
||||
else {
|
||||
Serial.println("- rename failed");
|
||||
}
|
||||
}
|
||||
|
||||
void deleteFile(fs::FS &fs, const char * path) {
|
||||
Serial.printf("Deleting file: %s\r\n", path);
|
||||
if (fs.remove(path)) {
|
||||
Serial.println("- file deleted");
|
||||
}
|
||||
else {
|
||||
Serial.println("- delete failed");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,117 @@
|
|||
|
||||
|
||||
/*
|
||||
* Copyright 2017, 2018, 2020 John Archbold
|
||||
*/
|
||||
|
||||
/********************************************************
|
||||
EQG Serial WiFi
|
||||
===============
|
||||
*********************************************************/
|
||||
#pragma once
|
||||
|
||||
#include <WiFi.h>
|
||||
#include <AsyncUDP.h>
|
||||
#include <AsyncTCP.h>
|
||||
#include <ESPAsyncWebServer.h>
|
||||
#include <Update.h>
|
||||
#include <esp_now.h>
|
||||
#include <ESPmDNS.h>
|
||||
|
||||
/**************************************************************
|
||||
* WiFi communications buffers and pointers
|
||||
* WiFi variables
|
||||
**************************************************************/
|
||||
|
||||
uint8_t smac[] = { 0x5C, 0xCF, 0x7F, 0x88, 0x88, 0x88 }; // Hopefully :) Unique Espressif mac
|
||||
uint8_t mmac[] = { 0x5C, 0xCF, 0x7F, 0x00, 0x00, 0x00 }; // Master mac address
|
||||
const uint8_t WIFI_CHANNEL = 4;
|
||||
|
||||
String ssid; // char ssid[64] = "EQGWiFi";
|
||||
String pass; // char pass[64] = "EQG2HBXPcl"
|
||||
|
||||
const char* http_username = "admin";
|
||||
const char* http_password = "eqmod";
|
||||
// flag to use from web update to reboot the ESP
|
||||
bool shouldReboot = false;
|
||||
bool loginValid = false;
|
||||
|
||||
IPAddress ip(192, 168, 88, 1);
|
||||
IPAddress gateway(192, 168, 88, 1);
|
||||
IPAddress netmask(255, 255, 255, 0);
|
||||
|
||||
/**************************************************************
|
||||
* WiFi WebServer
|
||||
* Only invoked in STA mode
|
||||
*/
|
||||
|
||||
AsyncWebServer server(80);
|
||||
AsyncWebSocket ws("/ws"); // access at ws://[esp ip]/ws
|
||||
AsyncEventSource events("/events"); // event source (Server-Sent events)
|
||||
|
||||
/**************************************************************
|
||||
* WiFi ESP_NOW
|
||||
*/
|
||||
esp_now_peer_info serial_peer;
|
||||
|
||||
/**************************************************************
|
||||
* WiFi UDP
|
||||
*/
|
||||
WiFiUDP udp;
|
||||
IPAddress remoteIp;
|
||||
const int localUdpPort = 11880;
|
||||
|
||||
/**************************************************************
|
||||
* WiFi Data Buffers
|
||||
*/
|
||||
struct __attribute__((packed)) DataStruct {
|
||||
char text[ESP_NOW_MAX_DATA_LEN];
|
||||
uint8_t len;
|
||||
};
|
||||
|
||||
DataStruct sendWiFi;
|
||||
DataStruct recvWiFi;
|
||||
uint8_t sendWiFi8[sizeof(sendWiFi)];
|
||||
uint8_t recvWiFi8[sizeof(recvWiFi)];
|
||||
|
||||
/**************************************************************
|
||||
* WiFi EQMOD virtualization
|
||||
*/
|
||||
#define EQxTimeout 10
|
||||
#define EQxSize ESP_NOW_MAX_DATA_LEN-1
|
||||
|
||||
uint8_t RxD;
|
||||
uint8_t TxD;
|
||||
uint8_t TxDIndex;
|
||||
|
||||
unsigned long RxTimeout;
|
||||
unsigned long WiFiTimeout;
|
||||
unsigned long LastmS;
|
||||
unsigned long CheckmS = 1000;
|
||||
bool Connected = false;
|
||||
bool dataSending = false;
|
||||
bool waitingForReply = false;
|
||||
|
||||
unsigned long TxDuS;
|
||||
unsigned long AckuS;
|
||||
unsigned long RxDuS;
|
||||
|
||||
unsigned long LastLEDmS;
|
||||
unsigned long FastLEDmS = 200;
|
||||
unsigned long SlowLEDmS = 800;
|
||||
unsigned long BlinkmS = SlowLEDmS;
|
||||
unsigned long SavedBlinkmS = SlowLEDmS;
|
||||
|
||||
bool UDPFlag = true;
|
||||
bool APFlag = true;
|
||||
bool SerialFlag = false;
|
||||
|
||||
void HBXWiFiSetup();
|
||||
bool HBXCheckRx();
|
||||
void HBXCheckTx();
|
||||
void InitESPNow();
|
||||
void recvCallBack(const uint8_t*, const uint8_t* , int );
|
||||
void sendData(const esp_now_peer_info_t* );
|
||||
void sendCallBack(const uint8_t* , esp_now_send_status_t );
|
||||
void putRxDataIntoMountInputBuffer(void);
|
||||
void getTxDataFromMountOutputBuffer(void);
|
|
@ -0,0 +1,570 @@
|
|||
/**@file*/
|
||||
// HBXSerialServer.ino
|
||||
// https://esp-idf.readthedocs.io/en/latest/api-reference/wifi/esp_now.html
|
||||
#include "Hardware.h"
|
||||
#include "ETXProtocol.h"
|
||||
#include "EQGProtocol.h"
|
||||
#include "EQG2HBX.h"
|
||||
#include "HBXComms.h"
|
||||
#include "HBXFileSystem.h"
|
||||
#include "HBXWiFiServer.h"
|
||||
#include <FS.h> // Include the SPIFFS library
|
||||
|
||||
// Init ESP Now with fallback
|
||||
void InitESPNow() {
|
||||
WiFi.disconnect();
|
||||
if (esp_now_init() == ESP_OK) {
|
||||
dbgSerial.println("ESPNow Init Success");
|
||||
}
|
||||
else {
|
||||
dbgSerial.println("ESPNow Init Failed");
|
||||
// Retry InitESPNow, add a counter and then restart?
|
||||
// InitESPNow();
|
||||
// or Simply Restart
|
||||
ESP.restart();
|
||||
}
|
||||
}
|
||||
|
||||
// Handle ESP_NOW WiFi data
|
||||
// Data in recvWiFi.text, length recvWiFi.len
|
||||
void recvCallBack(const uint8_t *senderMac, const uint8_t *incomingData, int len) {
|
||||
|
||||
// Get data from WiFi buffer
|
||||
memcpy(&recvWiFi.text, incomingData, len); // Receive data from EQMOD Tx
|
||||
recvWiFi.text[len] = 0; // Null terminate
|
||||
recvWiFi.len = len;
|
||||
|
||||
// Check if serial device is requesting restart
|
||||
if ((len == 20) && ((strncmp(recvWiFi.text, "Mount, please reply", 15) == 0))) {
|
||||
// Capture the serial device mac address
|
||||
for (byte n = 0; n < ESP_NOW_ETH_ALEN; n++) {
|
||||
serial_peer.peer_addr[n] = senderMac[n];
|
||||
}
|
||||
// Discard data from reconnect request, clear flags
|
||||
recvWiFi.len = 0;
|
||||
Connected = false;
|
||||
dataSending = false;
|
||||
// Reply to reconnect request
|
||||
strcpy(sendWiFi.text, "EQMOD WiFi Mount V1.0\n");
|
||||
sendWiFi.len = sizeof("EQMOD WiFi Mount V1.0\n");
|
||||
dbgSerial.println("Reconnecting");
|
||||
sendData(&serial_peer);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Send data to ESP_NOW
|
||||
void sendData(const esp_now_peer_info_t* s_peer) {
|
||||
// If first time, create a peer2peer connection with the sender mac address
|
||||
if (!Connected) {
|
||||
esp_now_add_peer(s_peer); // Only one paired device - the first one to respond
|
||||
}
|
||||
|
||||
// Send data, if not waiting for previous send to complete
|
||||
if (!dataSending) {
|
||||
memcpy(sendWiFi8, &sendWiFi, sendWiFi.len); // Need to satisfy esp_now
|
||||
esp_now_send(serial_peer.peer_addr, sendWiFi8, sendWiFi.len);
|
||||
dataSending = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Get Send data status
|
||||
void sendCallBack(const uint8_t* mac, esp_now_send_status_t sendStatus) {
|
||||
if (sendStatus == 0) {
|
||||
sendWiFi.len = 0; // Data successfully sent
|
||||
Connected = true;
|
||||
dataSending = false;
|
||||
}
|
||||
// Do some error checking?
|
||||
}
|
||||
|
||||
// Put received WiFi (UDP/ESP_NOW) data into the mount input data buffer for processing
|
||||
// Data in recvWiFi.text, length recvWiFi.len
|
||||
void putRxDataIntoMountInputBuffer(void) {
|
||||
uint8_t n;
|
||||
n = 0;
|
||||
while (n < recvWiFi.len) {
|
||||
EQGRxBuffer[EQGRxiPtr++] = recvWiFi.text[n];
|
||||
EQGRxiPtr &= EQGMASK;
|
||||
n += 1;
|
||||
}
|
||||
recvWiFi.len = 0;
|
||||
}
|
||||
|
||||
// Get mount data to send to WiFi (UDP/NOW) into WiFi buffer
|
||||
// Data in sendWiFi.text, length sendWiFi.len
|
||||
void getTxDataFromMountOutputBuffer(void) {
|
||||
while (EQGTxoPtr != EQGTxiPtr) {
|
||||
if ((EQGTxBuffer[EQGTxoPtr] != CR) && (EQGTxBuffer[EQGTxoPtr] != LF))
|
||||
dbgSerial.write(EQGTxBuffer[EQGTxoPtr]);
|
||||
else dbgSerial.write('.');
|
||||
sendWiFi.text[TxDIndex++] = EQGTxBuffer[EQGTxoPtr++];
|
||||
EQGTxoPtr &= EQGMASK;
|
||||
}
|
||||
// Send when a CR is detected
|
||||
if (sendWiFi.text[TxDIndex - 1] == 0x0d) {
|
||||
sendWiFi.text[TxDIndex] = 0;
|
||||
sendWiFi.len = TxDIndex;
|
||||
}
|
||||
}
|
||||
|
||||
// Webserver functions for ssid, pass, telescope etc
|
||||
// =================================================
|
||||
|
||||
void onRequest(AsyncWebServerRequest *request){
|
||||
//Handle Unknown Request
|
||||
request->send(404, "text/plain", "The content you are looking for was not found.");
|
||||
}
|
||||
|
||||
void onBody(AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total){
|
||||
if (!index) {
|
||||
dbgSerial.printf("BodyStart: %u B\n", total);
|
||||
}
|
||||
for (size_t i = 0; i < len; i++) {
|
||||
dbgSerial.write(data[i]);
|
||||
}
|
||||
if (index + len == total) {
|
||||
dbgSerial.printf("BodyEnd: %u B\n", total);
|
||||
}
|
||||
}
|
||||
|
||||
void onUpload(AsyncWebServerRequest *request, String filename, size_t index, uint8_t *data, size_t len, bool final){
|
||||
if (!index) {
|
||||
dbgSerial.printf("UploadStart: %s\n", filename.c_str());
|
||||
}
|
||||
for (size_t i = 0; i < len; i++) {
|
||||
dbgSerial.write(data[i]);
|
||||
}
|
||||
if (final) {
|
||||
dbgSerial.printf("UploadEnd: %s, %u B\n", filename.c_str(), index + len);
|
||||
}
|
||||
}
|
||||
|
||||
void AsyncServerResponseSetup(void) {
|
||||
|
||||
// respond to GET requests on URL /scan
|
||||
//First request will return 0 results unless you start scan from somewhere else (loop/setup)
|
||||
//Do not request more often than 3-5 seconds
|
||||
|
||||
server.on("/scan", HTTP_GET, [](AsyncWebServerRequest *request){
|
||||
String json = "[";
|
||||
int n = WiFi.scanComplete();
|
||||
if(n == -2){
|
||||
WiFi.scanNetworks(true);
|
||||
} else if(n){
|
||||
for (int i = 0; i < n; ++i) {
|
||||
if(i) json += ",";
|
||||
json += "{";
|
||||
json += "\"rssi\":"+String(WiFi.RSSI(i));
|
||||
json += ",\"ssid\":\""+WiFi.SSID(i)+"\"";
|
||||
json += ",\"bssid\":\""+WiFi.BSSIDstr(i)+"\"";
|
||||
json += ",\"channel\":"+String(WiFi.channel(i));
|
||||
json += ",\"secure\":"+String(WiFi.encryptionType(i));
|
||||
// json += ",\"hidden\":"+String(WiFi.isHidden(i)?"true":"false");
|
||||
json += "}\r\n";
|
||||
}
|
||||
WiFi.scanDelete();
|
||||
if(WiFi.scanComplete() == -2){
|
||||
WiFi.scanNetworks(true);
|
||||
}
|
||||
}
|
||||
json += "]";
|
||||
request->send(200, "application/json", json);
|
||||
json = String();
|
||||
});
|
||||
|
||||
// upload a file to /upload
|
||||
server.on("/upload", HTTP_POST, [](AsyncWebServerRequest *request){
|
||||
request->send(200);
|
||||
}, onUpload);
|
||||
|
||||
// send /index.htm file when /index is requested
|
||||
server.on("/index", HTTP_GET, [](AsyncWebServerRequest *request){
|
||||
request->send(SPIFFS, "/www/index.htm");
|
||||
});
|
||||
|
||||
// send /settings.htm file when /settings is requested
|
||||
server.on("/settings", HTTP_GET, [](AsyncWebServerRequest *request) {
|
||||
request->send(SPIFFS, "/www/settings.htm");
|
||||
int paramsNr = request->params();
|
||||
int i, j;
|
||||
dbgSerial.print("Number of settings parameters: "); dbgSerial.println(paramsNr);
|
||||
|
||||
if (paramsNr) {
|
||||
preferences.begin("EQG2HBX", false); // Access EQG2HBX namespace
|
||||
|
||||
dbgSerial.print("Original - ");
|
||||
dbgSerial.print("ssid: "); dbgSerial.print(preferences.getString("STA_SSID"));
|
||||
dbgSerial.print(", pass: "); dbgSerial.print(preferences.getString("STA_PASS"));
|
||||
dbgSerial.print(", WiFi Mode: "); dbgSerial.print(preferences.getString("WIFIMODE"));
|
||||
dbgSerial.print(", Protocol: "); dbgSerial.print(preferences.getString("PROTOCOL"));
|
||||
dbgSerial.print(", Telescope: "); dbgSerial.print(preferences.getString("TELESCOPE"));
|
||||
dbgSerial.print(", Mount: "); dbgSerial.println(preferences.getString("MOUNT"));
|
||||
|
||||
for (j = 0; j < paramsNr; j++) {
|
||||
AsyncWebParameter* p = request->getParam(j);
|
||||
dbgSerial.print("Param name: "); dbgSerial.print(p->name());
|
||||
dbgSerial.print(", value: "); dbgSerial.println(p->value());
|
||||
if ((p->name()) == "ssid") ssid = (p->value());
|
||||
if ((p->name()) == "pass") pass = (p->value());
|
||||
if ((p->name()) == "mode") mode = (p->value());
|
||||
if ((p->name()) == "protocol") protocol = (p->value());
|
||||
if ((p->name()) == "scope") scope = (p->value());
|
||||
if ((p->name()) == "mount") mount = (p->value());
|
||||
}
|
||||
|
||||
scopetype = scopedefault;
|
||||
modetype = modedefault;
|
||||
protocoltype = protocoldefault;
|
||||
mounttype = mountdefault;
|
||||
|
||||
for (i=0;i<16;i++) {
|
||||
dbgSerial.printf(" %d: ",i);dbgSerial.print(ratio[i][0].Telescope);
|
||||
if (strcmp(ratio[i][0].Telescope, scope.c_str()) == 0) {
|
||||
scopetype = i;
|
||||
dbgSerial.printf(" %d: ",i);dbgSerial.print(ratio[i][0].Telescope);
|
||||
dbgSerial.printf(" %d: ",i);dbgSerial.println(scope.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
for (i=0;i<3;i++) {
|
||||
if (strcmp(modeDesc[i], mode.c_str()) == 0) { modetype = i;
|
||||
dbgSerial.printf(" %d: ",i);dbgSerial.print(modeDesc[i]);
|
||||
dbgSerial.printf(" %d: ",i);dbgSerial.println(mode.c_str());}
|
||||
}
|
||||
|
||||
for (i=0;i<3;i++) {
|
||||
if (strcmp(protocolDesc[i], protocol.c_str()) == 0) protocoltype = i;
|
||||
}
|
||||
|
||||
for (i=0;i<3;i++) {
|
||||
if (strcmp(mountDesc[i], mount.c_str()) == 0) mounttype = i;
|
||||
}
|
||||
|
||||
if (strlen(ssid.c_str()) != 0) preferences.putString("STA_SSID", ssid);
|
||||
if (strlen(pass.c_str()) != 0) preferences.putString("STA_PASS", pass);
|
||||
if (strlen(mode.c_str()) != 0) preferences.putString("WIFIMODE", mode);
|
||||
if (strlen(protocol.c_str()) != 0) preferences.putString("PROTOCOL", protocol);
|
||||
if (strlen(scope.c_str()) != 0) preferences.putString("TELESCOPE", scope);
|
||||
if (strlen(mount.c_str()) != 0) preferences.putString("MOUNT", mount);
|
||||
|
||||
preferences.putUChar("MODETYPE", modetype);
|
||||
preferences.putUChar("PROTOCOLTYPE", protocoltype);
|
||||
preferences.putUChar("SCOPETYPE", scopetype);
|
||||
preferences.putUChar("MOUNTTYPE", mounttype);
|
||||
|
||||
dbgSerial.println("");
|
||||
dbgSerial.print("Updated - ");
|
||||
dbgSerial.print("ssid: "); dbgSerial.print(preferences.getString("STA_SSID"));
|
||||
dbgSerial.print(", pass: "); dbgSerial.print(preferences.getString("STA_PASS"));
|
||||
dbgSerial.print(", WiFi Mode: "); dbgSerial.print(preferences.getString("WIFIMODE"));dbgSerial.printf(" %d",modetype);
|
||||
dbgSerial.print(", Protocol: "); dbgSerial.print(preferences.getString("PROTOCOL"));dbgSerial.printf(" %d",protocoltype);
|
||||
dbgSerial.print(", Telescope: "); dbgSerial.print(preferences.getString("TELESCOPE"));dbgSerial.printf(" %d",scopetype);
|
||||
dbgSerial.print(", Mount: "); dbgSerial.print(preferences.getString("MOUNT"));dbgSerial.printf(" %d",mounttype);dbgSerial.println("");
|
||||
preferences.end();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
// HTTP basic authentication
|
||||
server.on("/login", HTTP_GET, [](AsyncWebServerRequest *request){
|
||||
dbgSerial.print("B4 http_username: ");
|
||||
dbgSerial.print(http_username);
|
||||
dbgSerial.print(", http_password: ");
|
||||
dbgSerial.println(http_password);
|
||||
|
||||
if(!request->authenticate(http_username, http_password))
|
||||
return request->requestAuthentication();
|
||||
else {
|
||||
dbgSerial.print("http_username: ");
|
||||
dbgSerial.print(http_username);
|
||||
dbgSerial.print(", http_password: ");
|
||||
dbgSerial.println(http_password);
|
||||
}
|
||||
request->send(200, "text/plain", "Login Success!");
|
||||
loginValid = true;
|
||||
});
|
||||
|
||||
// Simple Firmware Update Form
|
||||
// send /update.htm file when /index is requested
|
||||
server.on("/update", HTTP_GET, [](AsyncWebServerRequest *request) {
|
||||
if (loginValid == true) {
|
||||
request->send(SPIFFS, "/update.htm");
|
||||
}
|
||||
else {
|
||||
request->send(200, "text/plain", "Before you can update firmware, Please Login");
|
||||
}
|
||||
});
|
||||
|
||||
// Process POST from Update Form
|
||||
server.on("/update", HTTP_POST, [](AsyncWebServerRequest *request){
|
||||
shouldReboot = !Update.hasError();
|
||||
AsyncWebServerResponse *response = request->beginResponse(200, "text/plain", shouldReboot?"OK":"FAIL");
|
||||
response->addHeader("Connection", "close");
|
||||
request->send(response);
|
||||
},[](AsyncWebServerRequest *request, String filename, size_t index, uint8_t *data, size_t len, bool final){
|
||||
if(!index){
|
||||
dbgSerial.printf("Update Start: %s\n", filename.c_str());
|
||||
|
||||
// Update.runAsync(true);
|
||||
// if (!Update.begin((ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000)) {
|
||||
if (!Update.begin(0x140000)) {
|
||||
Update.printError(dbgSerial);
|
||||
}
|
||||
}
|
||||
if(!Update.hasError()){
|
||||
if(Update.write(data, len) != len){
|
||||
Update.printError(dbgSerial);
|
||||
}
|
||||
}
|
||||
if(final){
|
||||
if(Update.end(true)){
|
||||
dbgSerial.printf("Update Success: %uB\n", index+len);
|
||||
} else {
|
||||
Update.printError(dbgSerial);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void browseService(const char * service, const char * proto) {
|
||||
Serial.printf("Browsing for service _%s._%s.local. ... ", service, proto);
|
||||
int n = MDNS.queryService(service, proto);
|
||||
if (n == 0) {
|
||||
Serial.println("no services found");
|
||||
}
|
||||
else {
|
||||
Serial.print(n);
|
||||
Serial.println(" service(s) found");
|
||||
for (int i = 0; i < n; ++i) {
|
||||
// Print details for each service found
|
||||
Serial.print(" ");
|
||||
Serial.print(i + 1);
|
||||
Serial.print(": ");
|
||||
Serial.print(MDNS.hostname(i));
|
||||
Serial.print(" (");
|
||||
Serial.print(MDNS.IP(i));
|
||||
Serial.print(":");
|
||||
Serial.print(MDNS.port(i));
|
||||
Serial.println(")");
|
||||
}
|
||||
}
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
// ================================================================================================
|
||||
|
||||
void HBXWiFiSetup() {
|
||||
|
||||
// TODO
|
||||
// Read from EEPROM
|
||||
// ESPNOW
|
||||
uint8_t numSsid = 0;
|
||||
UDPFlag = false;
|
||||
#ifdef SelectUDP
|
||||
UDPFlag = true; // Either UDP or ESPNOW
|
||||
#endif
|
||||
APFlag = false;
|
||||
#ifdef SelectAP
|
||||
APFlag = true; // Either AP or STA
|
||||
#endif
|
||||
|
||||
if (APFlag) {
|
||||
// AP mode device connects directly to EQMODWiFi (no router)
|
||||
// For AP mode: UDP2Serial: This ESP assigns IP addresses
|
||||
// For AP mode: ESP IP is always 192.168.88.1 (set above)
|
||||
|
||||
dbgSerial.println("EQMODWiFi Access Point Mode");
|
||||
// Check preferences for ssid, pass
|
||||
preferences.begin("EQG2HBX", false); // Access EQG2HBX namespace
|
||||
if (preferences.getString("AP_SSID", "none") == "none")
|
||||
preferences.putString("AP_SSID", "EQGWiFi"); // Default
|
||||
if (preferences.getString("AP_PASS", "none") == "none")
|
||||
preferences.putString("AP_PASS", "EQG2HBXPcl"); // Default
|
||||
ssid = preferences.getString("AP_SSID", "none");
|
||||
pass = preferences.getString("AP_PASS", "none");
|
||||
preferences.end();
|
||||
|
||||
WiFi.persistent(false);
|
||||
WiFi.mode(WIFI_AP);
|
||||
WiFi.softAP(ssid.c_str(), pass.c_str()); // softAP ssid, pass
|
||||
delay(2000); // Espressif wifi bug needs this
|
||||
WiFi.softAPConfig(ip, gateway, netmask); // softAP ip
|
||||
dbgSerial.print("SoftAP IP address: "); dbgSerial.println(WiFi.softAPIP());
|
||||
}
|
||||
else {
|
||||
// STA mode EQMODWiFi connects to network router and gets an IP
|
||||
// For STA mode: Host software must detect that IP
|
||||
// For STA mode: UDP2Serial router network assigns IP address
|
||||
// For STA mode: Start webserver, mDNS and accept changes to ssid, pass, Telescope etc
|
||||
|
||||
dbgSerial.println("EQMODWiFi Station Mode");
|
||||
// Check preferences for ssid, pass
|
||||
preferences.begin("EQG2HBX", false); // Access EQG2HBX namespace
|
||||
if (preferences.getString("STA_SSID", "none") == "none")
|
||||
preferences.putString("STA_SSID", "EQGnet"); // Default Home Network
|
||||
if (preferences.getString("STA_PASS", "none") == "none")
|
||||
preferences.putString("STA_PASS", "EQGconnect");
|
||||
ssid = preferences.getString("STA_SSID", "none");
|
||||
pass = preferences.getString("STA_PASS", "none");
|
||||
preferences.end();
|
||||
|
||||
//JMA
|
||||
ssid = "bunyas_g";
|
||||
pass = "WindyRidge137";
|
||||
//JMA
|
||||
|
||||
WiFi.disconnect();
|
||||
delay(100);
|
||||
WiFi.mode(WIFI_STA);
|
||||
WiFi.begin(ssid.c_str(), pass.c_str());
|
||||
int i = 0;
|
||||
while ((WiFi.status() != WL_CONNECTED) && (i++ < 50)) {
|
||||
delay(1000);
|
||||
dbgSerial.print(i); dbgSerial.print(", ssid: "); dbgSerial.print(ssid.c_str()); dbgSerial.print(", pass: "); dbgSerial.println(pass.c_str());
|
||||
}
|
||||
if (i >= 50) {
|
||||
WiFi.begin("EQGnet", "EQGconnect");
|
||||
while (WiFi.status() != WL_CONNECTED) {
|
||||
delay(100);
|
||||
dbgSerial.print("!");
|
||||
}
|
||||
}
|
||||
dbgSerial.print("ssid: "); dbgSerial.println(ssid.c_str());
|
||||
dbgSerial.print("pass: "); dbgSerial.println(pass.c_str());
|
||||
dbgSerial.print("IP: "); dbgSerial.println(WiFi.localIP().toString().c_str());
|
||||
dbgSerial.println(" ... connected");
|
||||
|
||||
if (!MDNS.begin("EQGWiFi")) {
|
||||
Serial.println("Error setting up MDNS responder!");
|
||||
while (1) {
|
||||
delay(1000);
|
||||
}
|
||||
}
|
||||
Serial.println("mDNS responder started");
|
||||
// Load 'server.on' responses
|
||||
AsyncServerResponseSetup();
|
||||
numSsid = WiFi.scanNetworks();
|
||||
Serial.print("Number of available WiFi networks discovered:");
|
||||
Serial.println(numSsid);
|
||||
|
||||
/* for (int i = 0; i < numSsid; ++i) {
|
||||
// Print SSID and RSSI for each network found
|
||||
Serial.print(i + 1);
|
||||
Serial.print(": ");
|
||||
Serial.print(WiFi.SSID(i));
|
||||
Serial.print(" (");
|
||||
Serial.print(WiFi.RSSI(i));
|
||||
Serial.print(")");
|
||||
Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*");
|
||||
}
|
||||
*/
|
||||
// attach filesystem root at URL /fs
|
||||
if (!SPIFFS.begin(FORMAT_SPIFFS_IF_FAILED)) {
|
||||
dbgSerial.println("SPIFFS Mount Failed, SPIFF formatted");
|
||||
}
|
||||
else
|
||||
dbgSerial.println("SPIFFS Mounted .. updating Version");
|
||||
writeFile(SPIFFS, "/www/index.htm", EQ2HBX_Version.c_str());
|
||||
listDir(SPIFFS, "/", 0);
|
||||
|
||||
server.serveStatic("/", SPIFFS, "/www/").setDefaultFile("index.htm");
|
||||
|
||||
// Catch-All Handlers
|
||||
// Any request that can not find a Handler that can Handle it
|
||||
// ends in the callbacks below.
|
||||
server.onNotFound(onRequest);
|
||||
server.onFileUpload(onUpload);
|
||||
server.onRequestBody(onBody);
|
||||
|
||||
server.begin();
|
||||
// Add service to MDNS-SD
|
||||
MDNS.addService("_http", "_tcp", 80);
|
||||
MDNS.addService("_osc", "_udp", localUdpPort);
|
||||
//browseService("http", "tcp");
|
||||
}
|
||||
|
||||
if (!UDPFlag) {
|
||||
// ESP_NOW mode (EQMODWiFi responds to MAC protocol)
|
||||
dbgSerial.println("ESP_NOW Mode");
|
||||
InitESPNow();
|
||||
dbgSerial.println("ESPNOW2SerialServer");
|
||||
dbgSerial.print("Mount soft mac: "); dbgSerial.println(WiFi.softAPmacAddress());
|
||||
dbgSerial.print("Mount hard mac: "); dbgSerial.println(WiFi.macAddress());
|
||||
// esp_now_set_self_role(ESP_NOW_ROLE_COMBO);
|
||||
esp_now_register_recv_cb(recvCallBack);
|
||||
esp_now_register_send_cb(sendCallBack);
|
||||
}
|
||||
else {
|
||||
dbgSerial.println("UDP Mode");
|
||||
udp.begin(localUdpPort);
|
||||
dbgSerial.println("UDP2SerialServer");
|
||||
if (APFlag)
|
||||
dbgSerial.printf("AP : ");
|
||||
else
|
||||
dbgSerial.printf("STA: ");
|
||||
dbgSerial.printf("Now listening at IP %s, UDP port %d\n", WiFi.localIP().toString().c_str(), localUdpPort);
|
||||
}
|
||||
|
||||
TxDIndex = 0;
|
||||
sendWiFi.len = 0;
|
||||
recvWiFi.len = 0;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------------------------
|
||||
|
||||
bool HBXCheckRx() {
|
||||
if (UDPFlag) {
|
||||
// UDP - SynScanPro UDP
|
||||
recvWiFi.len = udp.parsePacket();
|
||||
if (recvWiFi.len > 0) {
|
||||
// receive incoming UDP packets
|
||||
recvWiFi.len = udp.read(recvWiFi.text, 250);
|
||||
if (recvWiFi.len > 0) {
|
||||
recvWiFi.text[recvWiFi.len] = 0; // Null terminate
|
||||
|
||||
// dbgSerial.print("RxUDP - len: ");
|
||||
// dbgSerial.print(recvWiFi.len);
|
||||
// dbgSerial.print(", data: ");
|
||||
// dbgSerial.println(recvWiFi.text);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
if (recvWiFi.len > 0) { // Send data to mount Input data buffer for processing
|
||||
putRxDataIntoMountInputBuffer();
|
||||
return true; // Data received from UDP or ESP_NOW callback
|
||||
}
|
||||
else
|
||||
return false; // No Data received
|
||||
}
|
||||
|
||||
void HBXCheckTx() {
|
||||
if (UDPFlag) {
|
||||
// Get data to send to SynScanPro via UDP into WiFi buffer
|
||||
getTxDataFromMountOutputBuffer();
|
||||
// send back a reply, to the IP address and port we got the packet from
|
||||
if (sendWiFi.len > 0) {
|
||||
|
||||
// dbgSerial.print("TxUDP - len: ");
|
||||
// dbgSerial.print(sendWiFi.len);
|
||||
// dbgSerial.print(", data: ");
|
||||
// dbgSerial.println(sendWiFi.text);
|
||||
|
||||
udp.beginPacket(udp.remoteIP(), udp.remotePort());
|
||||
memcpy(sendWiFi8, &sendWiFi.text, sendWiFi.len);
|
||||
udp.write(sendWiFi8, sendWiFi.len);
|
||||
udp.endPacket();
|
||||
}
|
||||
sendWiFi.len = 0;
|
||||
TxDIndex = 0;
|
||||
}
|
||||
else {
|
||||
// Get data to send to ESP_NOW - EQMOD/SynScanPro Serial WiFi
|
||||
if (Connected) {
|
||||
getTxDataFromMountOutputBuffer();
|
||||
if (sendWiFi.len > 0)
|
||||
sendData(&serial_peer);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,257 +0,0 @@
|
|||
/*
|
||||
* Copyright 2017, 2018 John Archbold
|
||||
*/
|
||||
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
/********************************************************
|
||||
Utility functions to monitor HBX comms
|
||||
======================================
|
||||
The monitor is enabled by reading the state of the MONITORHBX pin.
|
||||
The pin definition is set in EQG2HBX and changes depending on the interface board:
|
||||
#ifdef m2560
|
||||
#define MONITORHBX 11 // Mega2560 D3
|
||||
#define TESTHBX 9 // Mega2560 D2
|
||||
#endif
|
||||
#ifdef ESP32
|
||||
#define MONITORHBX 35
|
||||
#define TESTHBX 32
|
||||
#endif
|
||||
|
||||
This mode overrides the EQG2HBX protocol conversion.
|
||||
It uses the board inetrface to monitor the HBX 'serial' commands and prints the details:
|
||||
Start
|
||||
Message
|
||||
End
|
||||
ToDo:
|
||||
Change to H2XISR for interrupt driven receive
|
||||
*********************************************************/
|
||||
void HBXMonitorLoop(void){
|
||||
int Messages;
|
||||
PreviousTime = millis();
|
||||
|
||||
dbgSerial.println("ETX-Monitor");
|
||||
// H2XReset();
|
||||
axis[AzMotor].PrintStatus0 = 1; // Enable printing "status polls" with no change
|
||||
axis[AltMotor].PrintStatus0 = 1; // Enable printing "status polls" with no change
|
||||
HBXMonitorMode();
|
||||
|
||||
do {
|
||||
Messages = 0;
|
||||
if (HBXMonitorHCL(CLOCKTIMEOUT)) {
|
||||
if (DetectedClock) {
|
||||
HBXMonitorMessage(DetectedClock); // Wait for low clock and print data
|
||||
axis[DetectedClock].TimeDelta = millis(); // - PreviousTime;
|
||||
Messages += 1;
|
||||
}
|
||||
}
|
||||
if (HBXMonitorHCL(CLOCKTIMEOUT)) { // Better read Alt
|
||||
if (DetectedClock) { // as
|
||||
HBXMonitorMessage(DetectedClock); // Alt msg may follow immediately
|
||||
axis[DetectedClock].TimeDelta = millis(); // - PreviousTime;
|
||||
Messages += 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (Messages) {
|
||||
switch(Messages) {
|
||||
case 1:
|
||||
HBXPrintState(DetectedClock);
|
||||
break;
|
||||
case 2:
|
||||
if (DetectedClock == MotorAz) {
|
||||
HBXPrintState(MotorAlt);
|
||||
HBXPrintState(MotorAz);
|
||||
}
|
||||
else {
|
||||
HBXPrintState(MotorAz);
|
||||
HBXPrintState(MotorAlt);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} while (digitalRead(MONITORHBX) == 0); // Check if jumper installed
|
||||
}
|
||||
|
||||
void HBXMonitorMode(void) {
|
||||
|
||||
HDAListen(); // HDA as input
|
||||
HCL1Listen(); // HCL as input
|
||||
HCL2Listen();
|
||||
TimerDelaymS(STARTTIME);
|
||||
}
|
||||
|
||||
bool HBXMonitorHCL(unsigned char Timeout) {
|
||||
unsigned int j;
|
||||
DetectedClock = 0;
|
||||
j = Timeout;
|
||||
while (!digitalRead(HDA1)); // Wait for data high
|
||||
while (DetectedClock == 0) { // Wait for a low on either clock
|
||||
if (digitalRead(HCL1) == 0) {
|
||||
TimerDelayuS(3); // Re-read in case of glitches
|
||||
if (digitalRead(HCL1) == 0) DetectedClock = MotorAz;
|
||||
if (digitalRead(HCL2) == 0) { // Fail if both low
|
||||
DetectedClock = 0;
|
||||
return (false);
|
||||
}
|
||||
}
|
||||
else if (digitalRead(HCL2) == 0) {
|
||||
TimerDelayuS(3); // Re-read in case of glitches
|
||||
if (digitalRead(HCL2) == 0) DetectedClock = MotorAlt;
|
||||
if (digitalRead(HCL1) == 0) { // Fail if both low
|
||||
DetectedClock = 0;
|
||||
return (false);
|
||||
}
|
||||
}
|
||||
j -= 1;
|
||||
}
|
||||
|
||||
// if (j) {
|
||||
while (digitalRead(HDA1)); // Wait for data low
|
||||
while (digitalRead(HDA1)); // Wait for data low again
|
||||
if (DetectedClock == MotorAz) { // Check clock is still low
|
||||
if (digitalRead(HCL1)) return (false);
|
||||
}
|
||||
else if (digitalRead(HCL2)) return (false);
|
||||
|
||||
if (DetectedClock == MotorAz) {
|
||||
while (!digitalRead(HCL1)); // Wait for clock high
|
||||
}
|
||||
else while (!digitalRead(HCL2));
|
||||
return (true);
|
||||
// }
|
||||
// return (false); // Timeout
|
||||
}
|
||||
|
||||
void HBXMonitorEnd(unsigned char Motor) {
|
||||
|
||||
if (Motor == MotorAz) while (!digitalRead(HCL1)); // Wait for clock high
|
||||
else while (!digitalRead(HCL2));
|
||||
}
|
||||
|
||||
bool HBXMonitorBit(unsigned char Motor) {
|
||||
// dbgSerial.write('!');
|
||||
axis[Motor].HBXData = 0;
|
||||
if (Motor == MotorAz) while (!digitalRead(HCL1)); // Wait for clock high
|
||||
else while (!digitalRead(HCL2));
|
||||
if (Motor == MotorAz) while (digitalRead(HCL1)); // Wait for clock low
|
||||
else while (digitalRead(HCL2));
|
||||
if (digitalRead(HDA1)) axis[Motor].HBXData |= 0x01; // Read the bit
|
||||
return(true);
|
||||
}
|
||||
|
||||
bool HBXMonitorByte(unsigned char Motor) {
|
||||
// dbgSerial.write('>');
|
||||
axis[Motor].HBXBitCount = 8;
|
||||
axis[Motor].HBXData = 0;
|
||||
while (axis[Motor].HBXBitCount) {
|
||||
axis[Motor].HBXData = axis[Motor].HBXData << 1; // Shift previous bit
|
||||
axis[Motor].HBXBitCount--; // Need eight bits
|
||||
if (Motor == MotorAz) while (!digitalRead(HCL1)); // Wait for clock high
|
||||
else while (!digitalRead(HCL2));
|
||||
if (Motor == MotorAz) while (digitalRead(HCL1)); // Wait for clock low
|
||||
else while (digitalRead(HCL2));
|
||||
if (digitalRead(HDA1)) axis[Motor].HBXData |= 0x01; // Read next bit
|
||||
}
|
||||
return(true);
|
||||
}
|
||||
|
||||
void HBXMonitorMessage(unsigned char Motor) {
|
||||
// dbgSerial.write('<');
|
||||
if (HBXMonitorByte(Motor))
|
||||
axis[Motor].Command = axis[Motor].HBXData;
|
||||
|
||||
switch (axis[Motor].Command) {
|
||||
|
||||
case GetStatus: // Four bytes of data
|
||||
axis[Motor].HBXCount = 4;
|
||||
if (HBXMonitorByte(Motor)) axis[Motor].HBXP1 = axis[Motor].HBXData;
|
||||
if (HBXMonitorByte(Motor)) axis[Motor].HBXP2 = axis[Motor].HBXData;
|
||||
if (HBXMonitorByte(Motor)) axis[Motor].HBXP3 = axis[Motor].HBXData;
|
||||
if (HBXMonitorBit(Motor)) axis[Motor].HBXP4 = axis[Motor].HBXData;
|
||||
break;
|
||||
|
||||
case SpeedChnge: // Three bytes of data
|
||||
case SpeedStart:
|
||||
axis[Motor].HBXCount = 3;
|
||||
if (HBXMonitorByte(Motor)) axis[Motor].HBXP1 = axis[Motor].HBXData;
|
||||
if (HBXMonitorByte(Motor)) axis[Motor].HBXP2 = axis[Motor].HBXData;
|
||||
if (HBXMonitorByte(Motor)) axis[Motor].HBXP3 = axis[Motor].HBXData;
|
||||
break;
|
||||
|
||||
case SetOffset: // Two bytes of data
|
||||
axis[Motor].HBXCount = 2;
|
||||
if (HBXMonitorByte(Motor)) axis[Motor].HBXP1 = axis[Motor].HBXData;
|
||||
if (HBXMonitorByte(Motor)) axis[Motor].HBXP2 = axis[Motor].HBXData;
|
||||
break;
|
||||
|
||||
case SetLEDI: // One byte of data
|
||||
case GetLEDI:
|
||||
case GetMotorType:
|
||||
axis[Motor].HBXCount = 1;
|
||||
if (HBXMonitorByte(Motor)) axis[Motor].HBXP1 = axis[Motor].HBXData;
|
||||
break;
|
||||
|
||||
case CalibrateLED: // No data
|
||||
case Stop:
|
||||
case SlewReverse:
|
||||
case SlewForward:
|
||||
case ResetH2X:
|
||||
axis[Motor].HBXCount = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (Motor == MotorAz) while (!digitalRead(HCL1)); // Wait for clock high
|
||||
else while (!digitalRead(HCL2));
|
||||
}
|
||||
|
||||
void HBXPrintState(unsigned char Motor) {
|
||||
if (axis[Motor].Command != GetStatus) { // Handle all other commands
|
||||
dbgSerial.print(Motor);
|
||||
dbgSerial.write(',');
|
||||
dbgSerial.print(axis[Motor].TimeDelta);
|
||||
dbgSerial.write(',');
|
||||
dbgSerial.print(axis[Motor].Command, HEX);
|
||||
if (axis[Motor].HBXCount) {
|
||||
dbgSerial.write(',');
|
||||
dbgSerial.print(axis[Motor].HBXP1);
|
||||
axis[Motor].HBXCount -= 1;
|
||||
}
|
||||
if (axis[Motor].HBXCount) {
|
||||
dbgSerial.write(',');
|
||||
dbgSerial.print(axis[Motor].HBXP2);
|
||||
axis[Motor].HBXCount -= 1;
|
||||
}
|
||||
if (axis[Motor].HBXCount) {
|
||||
dbgSerial.write(',');
|
||||
dbgSerial.print(axis[Motor].HBXP3);
|
||||
axis[Motor].HBXCount -= 1;
|
||||
}
|
||||
if (axis[Motor].HBXCount) {
|
||||
dbgSerial.write(',');
|
||||
dbgSerial.print(axis[Motor].HBXP4, HEX);
|
||||
}
|
||||
}
|
||||
|
||||
// Handle report status - exclude all 0 - ie nothing happened
|
||||
else if (axis[Motor].HBXP1 | axis[Motor].HBXP2 | axis[Motor].HBXP3 | axis[Motor].HBXP4 | axis[Motor].PrintStatus0) {
|
||||
dbgSerial.print(Motor);
|
||||
dbgSerial.write(',');
|
||||
dbgSerial.print(axis[Motor].TimeDelta);
|
||||
dbgSerial.write(',');
|
||||
dbgSerial.print(axis[Motor].Command);
|
||||
dbgSerial.write(',');
|
||||
dbgSerial.print((axis[Motor].HBXP1<<8) + axis[Motor].HBXP2);
|
||||
dbgSerial.write(',');
|
||||
dbgSerial.print(axis[Motor].HBXP3);
|
||||
dbgSerial.write(',');
|
||||
dbgSerial.print(axis[Motor].HBXP4, HEX);
|
||||
}
|
||||
dbgSerial.println("");
|
||||
}
|
|
@ -1,522 +0,0 @@
|
|||
/*
|
||||
* Copyright 2017, 2018 John Archbold
|
||||
*/
|
||||
#include <Arduino.h>
|
||||
|
||||
/********************************************************
|
||||
Utility functions to test HBX comms
|
||||
===================================
|
||||
The test is enabled by reading the state of the TESTHBX pin.
|
||||
The pin definition is set in EQG2HBX and changes depending on the interface board:
|
||||
#ifdef m2560
|
||||
#define MONITORHBX 11 // Mega2560 D3
|
||||
#define TESTHBX 9 // Mega2560 D2
|
||||
#endif
|
||||
#ifdef ESP32
|
||||
#define MONITORHBX 35
|
||||
#define TESTHBX 32
|
||||
#endif
|
||||
|
||||
This mode overrides the EQG2HBX protocol conversion.
|
||||
It uses the HBX interface to perform a series of tests.
|
||||
|
||||
ToDo:
|
||||
Change to H2XISR for interrupt driven receive
|
||||
*********************************************************/
|
||||
|
||||
/********************************************************
|
||||
Test HBX communications
|
||||
=======================
|
||||
*********************************************************/
|
||||
void HBXTestLoop(void) {
|
||||
TestCount = 0;
|
||||
while (digitalRead(TESTHBX) == 0) {
|
||||
dbgSerial.println("Test HBX commands to ETX");
|
||||
HBXTest();
|
||||
TestCount += 1;
|
||||
TestLoopTime = millis();
|
||||
// Read motor status until jumper removed
|
||||
while((millis() - TestLoopTime) < 5000) { // 5s between tests
|
||||
HBXGet2Status();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void HBXTest(void)
|
||||
{
|
||||
// Initialize HBX communications as outputs
|
||||
// It will use I2C-like communications
|
||||
dbgSerial.println("**********************************************");
|
||||
dbgSerial.print("Test Number - ");
|
||||
dbgSerial.println(TestCount);
|
||||
dbgSerial.println("**********************************************");
|
||||
|
||||
HCL1Talk(); // Set for Talking on RAClk
|
||||
HCL2Talk(); // Set for Talking on DECClk
|
||||
HDAListen();
|
||||
TimerDelaymS(STARTTIME);
|
||||
axis[AzMotor].PrintStatus0 = 1; // Enable print of status = no change
|
||||
axis[AltMotor].PrintStatus0 = 1; // Enable print of status = no change
|
||||
|
||||
//if (TestCount == 0) {
|
||||
|
||||
dbgSerial.println("Test - HBX Initialization");
|
||||
axis[AzMotor].Position = ETX_AzCENTRE;
|
||||
axis[AzMotor].Target = axis[AzMotor].Position;
|
||||
axis[AzMotor].DirnSpeed = 0x000;
|
||||
axis[AzMotor].Speed = 0x000000;
|
||||
axis[AzMotor].ETXMotorStatus = MOVESLEW;
|
||||
|
||||
axis[AltMotor].Position = ETX_AltCENTRE;
|
||||
axis[AltMotor].Target = axis[AltMotor].Position;
|
||||
axis[AltMotor].DirnSpeed = 0x000;
|
||||
axis[AltMotor].Speed = 0x000000;
|
||||
axis[AltMotor].ETXMotorStatus = MOVESLEW;
|
||||
|
||||
// Reset the motors (RA and DEC)
|
||||
dbgSerial.println("Test - Wait for motors");
|
||||
|
||||
// GetLED commands always return a vaild value - motors not online until this happens
|
||||
// Valid values are not 0 and not 0xFF for Az, Alt. (exception here is if LEDRA || LEDAlt == 0xff)
|
||||
|
||||
do {
|
||||
P1 = 0;
|
||||
if (HBXSendCommand(GetLEDI, AzMotor))
|
||||
P2 = HBXGetByte(AzMotor);
|
||||
if ((P2 != 0) && (P2 != 0xFF)) P1 += 1;
|
||||
TimerDelaymS(CMNDTIME);
|
||||
if (HBXSendCommand(GetLEDI, AltMotor))
|
||||
P2 = HBXGetByte(AltMotor);
|
||||
if ((P2 != 0) && (P2 != 0xFF)) P1 += 1;
|
||||
TimerDelaymS(CMNDTIME);
|
||||
} while (P1 < 2);
|
||||
|
||||
|
||||
// Stop the motors (Az and Alt)
|
||||
dbgSerial.println("Test - Stop motors");
|
||||
HBXStop2Motors();
|
||||
|
||||
// Read status
|
||||
dbgSerial.println("Test - Read Status");
|
||||
HBXGet2Status(); // Check and read both motor states
|
||||
|
||||
if (!check_eeprom_crc() || !EEPROM.read(EEPROMAzLEDI) || !EEPROM.read(EEPROMAltLEDI)) {
|
||||
// Calibrate Az, Alt Motor Encoder LED currents
|
||||
dbgSerial.println("Test - Calibrate RA, DEC Motor Encoder LED currents");
|
||||
if (HBXSendCommand(CalibrateLED, AzMotor)){TimerDelaymS(2500);}
|
||||
HBXPrintStatus(AzMotor);
|
||||
|
||||
if (HBXSendCommand(CalibrateLED, AltMotor)) {TimerDelaymS(2500);}
|
||||
HBXPrintStatus(AltMotor);
|
||||
|
||||
if (HBXSendCommand(GetLEDI, AzMotor)){
|
||||
axis[AzMotor].HBXLEDI = HBXGetByte(AzMotor);
|
||||
}
|
||||
EEPROM.write(EEPROMAzLEDI, axis[AzMotor].HBXLEDI);
|
||||
set_eeprom_crc();
|
||||
axis[AzMotor].HBXP1 = axis[AzMotor].HBXLEDI;
|
||||
HBXPrintStatus(AzMotor);
|
||||
if (HBXSendCommand(GetLEDI, AltMotor))
|
||||
axis[AltMotor].HBXLEDI = HBXGetByte(AltMotor);
|
||||
EEPROM.write(EEPROMAltLEDI, axis[AltMotor].HBXLEDI);
|
||||
set_eeprom_crc();
|
||||
axis[AltMotor].HBXP1 = axis[AltMotor].HBXLEDI;
|
||||
HBXPrintStatus(AltMotor);
|
||||
}
|
||||
|
||||
dbgSerial.println("Test - Get Motor Type and set ETX Encoder LED currents");
|
||||
axis[AzMotor].MotorType = 0x00;
|
||||
while (!axis[AzMotor].MotorType) {
|
||||
if (HBXSendCommand(GetMotorType, AzMotor))
|
||||
axis[AzMotor].MotorType = HBXGetByte(AzMotor);
|
||||
HBXPrintStatus(AzMotor);
|
||||
}
|
||||
|
||||
axis[AzMotor].HBXLEDI = EEPROM.read(EEPROMAzLEDI);
|
||||
axis[AltMotor].HBXLEDI = EEPROM.read(EEPROMAltLEDI);
|
||||
|
||||
if (HBXSendCommand(SetLEDI, AzMotor))
|
||||
HBXSendByte(axis[AzMotor].HBXLEDI, AzMotor);
|
||||
axis[AzMotor].HBXP1 = axis[AzMotor].HBXLEDI;
|
||||
HBXPrintStatus(AzMotor);
|
||||
|
||||
if (HBXSendCommand(SetLEDI, AltMotor))
|
||||
HBXSendByte(axis[AltMotor].HBXLEDI, AltMotor);
|
||||
axis[AltMotor].HBXP1 = axis[AltMotor].HBXLEDI;
|
||||
HBXPrintStatus(AltMotor);
|
||||
|
||||
// Set the Offset to Zero
|
||||
axis[AzMotor].HBXP1 = 0x00;
|
||||
axis[AzMotor].HBXP2 = 0x00;
|
||||
axis[AzMotor].HBXP3 = 0x00;
|
||||
axis[AltMotor].HBXP1 = 0x00;
|
||||
axis[AltMotor].HBXP2 = 0x00;
|
||||
axis[AltMotor].HBXP3 = 0x00;
|
||||
|
||||
// Set the Offset Clear Command
|
||||
dbgSerial.println("Test - Reset any ETX offset bytes");
|
||||
if (HBXSendCommand(SetOffset, AzMotor))
|
||||
HBXSend2Bytes(AzMotor);
|
||||
// HBXPrintStatus(AzMotor);
|
||||
TimerDelaymS(CMNDTIME);
|
||||
|
||||
if (HBXSendCommand(SetOffset, AltMotor))
|
||||
HBXSend2Bytes(AltMotor);
|
||||
// HBXPrintStatus(AltMotor);
|
||||
TimerDelaymS(CMNDTIME);
|
||||
|
||||
//}
|
||||
/*
|
||||
dbgSerial.println("Test - Stop motors");
|
||||
HBXStop2Motors();
|
||||
// First Read, clear counters
|
||||
dbgSerial.println("Test - Read Both Motor States");
|
||||
HBXGet2Status();
|
||||
|
||||
dbgSerial.println("Test - Begin motor move tests");
|
||||
//}
|
||||
// Test different motor speeds
|
||||
dbgSerial.println("Test - Motor Speed Tests");
|
||||
dbgSerial.println("========================");
|
||||
|
||||
dbgSerial.println("Test - SIDEREAL");
|
||||
axis[AzMotor].ETXMotorStatus |= MOVEDIRN; // Forward
|
||||
axis[AltMotor].ETXMotorStatus |= MOVEDIRN;
|
||||
axis[AzMotor].Speed = AzSIDEREALRATE; // Sidereal
|
||||
axis[AltMotor].Speed = AltSIDEREALRATE;
|
||||
HBXPrintPosn(5, 1000); // Show location each second
|
||||
dbgSerial.println("Test - SIDEREAL - Stop motors");
|
||||
HBXStop2Motors();
|
||||
|
||||
dbgSerial.println("Test - OneDegree/sec forward");
|
||||
axis[AzMotor].ETXMotorStatus |= MOVEDIRN; // Forward
|
||||
axis[AltMotor].ETXMotorStatus |= MOVEDIRN;
|
||||
axis[AzMotor].Speed = AzDEGREERATE1; // One degree/sec
|
||||
axis[AltMotor].Speed = AltDEGREERATE1; // One degree/sec
|
||||
HBXPrintPosn(5, 500); // Show location each tenth of a second
|
||||
dbgSerial.println("Test - OneDegree/sec forward - Stop motors");
|
||||
HBXStop2Motors();
|
||||
|
||||
dbgSerial.println("Test - OneDegree/sec reverse");
|
||||
axis[AzMotor].ETXMotorStatus &= ~MOVEDIRN; // Reverse
|
||||
axis[AltMotor].ETXMotorStatus &= ~MOVEDIRN;
|
||||
axis[AzMotor].Speed = AzDEGREERATE1; // One degree/sec
|
||||
axis[AltMotor].Speed = AltDEGREERATE1; // One degree/sec
|
||||
HBXPrintPosn(5, 500); // Show location each each tenth of a second
|
||||
dbgSerial.println("Test - OneDegree/sec reverse - Stop motors");
|
||||
HBXStop2Motors();
|
||||
|
||||
dbgSerial.println("Test - TwoDegrees/sec forward");
|
||||
axis[AzMotor].ETXMotorStatus |= MOVEDIRN; // Forward
|
||||
axis[AltMotor].ETXMotorStatus |= MOVEDIRN;
|
||||
axis[AzMotor].Speed = AzDEGREERATE1*2; // Two degrees/sec
|
||||
axis[AltMotor].Speed = AltDEGREERATE1*2; // Two degrees/sec
|
||||
HBXPrintPosn(5, 1000); // Show location each tenth of a second
|
||||
dbgSerial.println("Test - TwoDegrees/sec forward - Stop motors");
|
||||
HBXStop2Motors();
|
||||
|
||||
dbgSerial.println("Test - TwoDegrees/sec reverse");
|
||||
axis[AzMotor].ETXMotorStatus &= ~MOVEDIRN; // Reverse
|
||||
axis[AltMotor].ETXMotorStatus &= ~MOVEDIRN;
|
||||
axis[AzMotor].Speed = AzDEGREERATE1*2; // Two degrees/sec
|
||||
axis[AltMotor].Speed = AltDEGREERATE1*2; // Two degrees/sec
|
||||
HBXPrintPosn(5, 1000); // Show location each each tenth of a second
|
||||
dbgSerial.println("Test - TwoDegrees/sec reverse - Stop motors");
|
||||
*/
|
||||
HBXStop2Motors();
|
||||
|
||||
dbgSerial.println("Test - 0x01 Command");
|
||||
axis[AzMotor].EQGMotorStatus &= ~MOVEDECR; // Forward
|
||||
axis[AltMotor].EQGMotorStatus &= ~MOVEDECR;
|
||||
axis[AzMotor].EQGMotorStatus |= MOVEHIGH; // High speed
|
||||
axis[AltMotor].EQGMotorStatus |= MOVEHIGH;
|
||||
axis[AzMotor].Speed = axis[AzMotor].SIDEREALRATE; // Start at Sidereal
|
||||
axis[AltMotor].Speed = axis[AltMotor].SIDEREALRATE; // Start at Sidereal
|
||||
|
||||
do {
|
||||
HBXPrintSpeed(1, 10000); // Print location
|
||||
axis[AzMotor].Speed += axis[AzMotor].SIDEREALRATE;
|
||||
axis[AltMotor].Speed += axis[AltMotor].SIDEREALRATE;
|
||||
} while (axis[AzMotor].Speed < 0x600000);
|
||||
|
||||
dbgSerial.println("Test - 0x01 Command - Stop motors");
|
||||
HBXStop2Motors();
|
||||
|
||||
// Read status
|
||||
dbgSerial.println("Test - Read Status");
|
||||
HBXGet2Status();
|
||||
|
||||
// Stop the motors (Az and Alt)
|
||||
dbgSerial.println("Test - Stop motors");
|
||||
HBXStop2Motors();
|
||||
}
|
||||
|
||||
|
||||
void HBXPrintSpeed(unsigned int count, unsigned int duration) {
|
||||
unsigned int j = 0;
|
||||
|
||||
axis[AzMotor].Position = ETX_AzCENTRE; // Reset position
|
||||
axis[AltMotor].Position = ETX_AltCENTRE;
|
||||
axis[AzMotor].Increment = 0;
|
||||
axis[AltMotor].Increment = 0;
|
||||
PreviousTime = millis();
|
||||
dbgSerial.print("Az, ");
|
||||
dbgSerial.println(axis[AzMotor].Speed);
|
||||
HBXStart2Motors(); // Start the motors
|
||||
dbgSerial.print("Az, ");
|
||||
dbgSerial.println(axis[AzMotor].Speed);
|
||||
|
||||
do {
|
||||
ETXState(AzMotor); // Check the Az motor state
|
||||
ETXState(AltMotor); // Check the Alt motor state
|
||||
dbgSerial.print(millis() - PreviousTime);
|
||||
dbgSerial.print(", ");
|
||||
SendSpeed(duration); // Duration is delay between reads
|
||||
j += 1;
|
||||
while ((millis() - PreviousTime) < duration);
|
||||
PreviousTime = millis();
|
||||
} while(j < count);
|
||||
}
|
||||
|
||||
void SendSpeed(unsigned long duration) {
|
||||
|
||||
unsigned long d = duration;
|
||||
d++;
|
||||
|
||||
HBXGetStatus(AzMotor);
|
||||
axis[AzMotor].Increment = axis[AzMotor].HBXP1 * 256 + axis[AzMotor].HBXP2;
|
||||
HBXGetStatus(AltMotor);
|
||||
axis[AltMotor].Increment = axis[AltMotor].HBXP1 * 256 + axis[AltMotor].HBXP2;
|
||||
|
||||
dbgSerial.print("Az, ");
|
||||
dbgSerial.print(axis[AzMotor].Speed);
|
||||
dbgSerial.print(", ");
|
||||
dbgSerial.print(axis[AzMotor].Position);
|
||||
dbgSerial.print(", ");
|
||||
dbgSerial.print(axis[AzMotor].Increment);
|
||||
dbgSerial.print(", Alt, ");
|
||||
dbgSerial.print(axis[AltMotor].Speed);
|
||||
dbgSerial.print(", ");
|
||||
dbgSerial.print(axis[AltMotor].Position);
|
||||
dbgSerial.print(", ");
|
||||
dbgSerial.println(axis[AltMotor].Increment);
|
||||
|
||||
}
|
||||
|
||||
void HBXPrintPosn(unsigned int count, unsigned int duration) {
|
||||
unsigned int j = 0;
|
||||
|
||||
axis[AzMotor].Position = ETX_AzCENTRE; // Reset position
|
||||
axis[AltMotor].Position = ETX_AltCENTRE;
|
||||
axis[AzMotor].Increment = 0;
|
||||
axis[AltMotor].Increment = 0;
|
||||
PreviousTime = millis();
|
||||
|
||||
HBXStart2Motors(); // Start the motors
|
||||
|
||||
do {
|
||||
ETXState(AzMotor); // Check the Az motor state
|
||||
ETXState(AltMotor); // Check the Alt motor state
|
||||
SendData(duration); // Duration is delay between reads
|
||||
j += 1;
|
||||
} while(j < count);
|
||||
}
|
||||
|
||||
void SendData(unsigned int duration) {
|
||||
|
||||
// dbgSerial.println(" SendPosn");
|
||||
|
||||
while ((millis() - PreviousTime) < duration) ; // 1/10 second
|
||||
dbgSerial.print(millis() - PreviousTime);
|
||||
dbgSerial.print(" - ");
|
||||
PreviousTime = millis();
|
||||
|
||||
HBXGetStatus(AzMotor);
|
||||
axis[AzMotor].Increment = axis[AzMotor].HBXP1 * 256 + axis[AzMotor].HBXP2;
|
||||
|
||||
HBXGetStatus(AltMotor);
|
||||
axis[AltMotor].Increment = axis[AltMotor].HBXP1 * 256 + axis[AltMotor].HBXP2;
|
||||
|
||||
dbgSerial.print("Az = ");
|
||||
dbgSerial.print(axis[AzMotor].Position);
|
||||
dbgSerial.print(" : ");
|
||||
dbgSerial.print(axis[AzMotor].Increment);
|
||||
dbgSerial.print(", Alt = ");
|
||||
dbgSerial.print(axis[AltMotor].Position);
|
||||
dbgSerial.print(" : ");
|
||||
dbgSerial.println(axis[AltMotor].Increment);
|
||||
}
|
||||
|
||||
void HBXPrintStatus(unsigned char Motor) {
|
||||
axis[Motor].HBXCount = 0;
|
||||
if ((axis[Motor].Command != GetStatus) || (axis[Motor].HBXP1 | axis[Motor].HBXP2 | axis[Motor].HBXP3 | axis[Motor].HBXP4) || axis[Motor].PrintStatus0 ) {
|
||||
dbgSerial.print("Motor: ");
|
||||
dbgSerial.print(Motor);
|
||||
dbgSerial.print(", Cmnd: ");
|
||||
dbgSerial.print(axis[Motor].Command, HEX);
|
||||
dbgSerial.print(" - ");
|
||||
|
||||
switch (axis[Motor].Command) {
|
||||
case SpeedChnge:
|
||||
dbgSerial.print("SpeedChnge ");
|
||||
axis[Motor].HBXCount = 3;
|
||||
break;
|
||||
case SpeedStart:
|
||||
dbgSerial.print("SpeedStart ");
|
||||
axis[Motor].HBXCount = 3;
|
||||
break;
|
||||
case SetOffset:
|
||||
dbgSerial.print("SetOffset ");
|
||||
axis[Motor].HBXCount = 4;
|
||||
break;
|
||||
case SetLEDI:
|
||||
dbgSerial.print("SetLEDI ");
|
||||
axis[Motor].HBXCount = 1;
|
||||
break;
|
||||
case CalibrateLED:
|
||||
dbgSerial.print("CalibrateLED ");
|
||||
break;
|
||||
case Stop:
|
||||
dbgSerial.print("Stop ");
|
||||
break;
|
||||
case SlewReverse:
|
||||
dbgSerial.print("SlewReverse ");
|
||||
break;
|
||||
case SlewForward:
|
||||
dbgSerial.print("SlewForward ");
|
||||
break;
|
||||
case GetStatus:
|
||||
dbgSerial.print("GetStatus ");
|
||||
axis[Motor].HBXCount = 4;
|
||||
break;
|
||||
case GetLEDI:
|
||||
dbgSerial.print("GetLEDI ");
|
||||
axis[Motor].HBXCount = 1;
|
||||
break;
|
||||
case GetMotorType:
|
||||
dbgSerial.print("GetMotorType ");
|
||||
axis[Motor].HBXP1 = axis[Motor].MotorType;
|
||||
axis[Motor].HBXCount = 1;
|
||||
break;
|
||||
case ResetH2X:
|
||||
dbgSerial.print("ResetH2X ");
|
||||
break;
|
||||
default:
|
||||
dbgSerial.print("UNKNOWN ");
|
||||
break;
|
||||
}
|
||||
|
||||
if (axis[Motor].HBXCount) {
|
||||
dbgSerial.print(", Data: ");
|
||||
dbgSerial.print(axis[Motor].HBXP1, HEX);
|
||||
if (axis[Motor].HBXCount > 1) dbgSerial.print(", ");
|
||||
axis[Motor].HBXCount -= 1;
|
||||
}
|
||||
if (axis[Motor].HBXCount) {
|
||||
dbgSerial.print(axis[Motor].HBXP2, HEX);
|
||||
if (axis[Motor].HBXCount > 1) dbgSerial.print(", ");
|
||||
axis[Motor].HBXCount -= 1;
|
||||
}
|
||||
if (axis[Motor].HBXCount) {
|
||||
dbgSerial.print(axis[Motor].HBXP3, HEX);
|
||||
if (axis[Motor].HBXCount > 1) dbgSerial.print(", ");
|
||||
axis[Motor].HBXCount -= 1;
|
||||
}
|
||||
if (axis[Motor].HBXCount) {
|
||||
dbgSerial.print(axis[Motor].HBXP4, HEX);
|
||||
axis[Motor].HBXCount -= 1;
|
||||
}
|
||||
dbgSerial.println("");
|
||||
}
|
||||
}
|
||||
|
||||
bool HBXStop2Motors(void) {
|
||||
axis[AzMotor].ETXMotorState = ETXStopMotor;
|
||||
ETXState(AzMotor);
|
||||
axis[AltMotor].ETXMotorState = ETXStopMotor;
|
||||
ETXState(AltMotor);
|
||||
return(true);
|
||||
}
|
||||
|
||||
bool HBXStart2Motors(void) {
|
||||
axis[AzMotor].ETXMotorState = ETXCheckStartup;
|
||||
axis[AzMotor].EQGMotorStatus |= MOVEAXIS;
|
||||
dbgSerial.print("Az, ");
|
||||
dbgSerial.println(axis[AzMotor].Speed);
|
||||
ETXState(AzMotor);
|
||||
dbgSerial.print("Az, ");
|
||||
dbgSerial.println(axis[AzMotor].Speed);
|
||||
axis[AltMotor].ETXMotorState = ETXCheckStartup;
|
||||
axis[AltMotor].EQGMotorStatus |= MOVEAXIS;
|
||||
dbgSerial.print("Az, ");
|
||||
dbgSerial.println(axis[AzMotor].Speed);
|
||||
ETXState(AltMotor);
|
||||
dbgSerial.print("Az, ");
|
||||
dbgSerial.println(axis[AzMotor].Speed);
|
||||
return(true);
|
||||
}
|
||||
|
||||
void HBXPrintPosn(unsigned char Motor) {
|
||||
if (Motor == MotorAz) {
|
||||
digitalWrite(FROMHBX, HIGH); // Set Indicator LED
|
||||
dbgSerial.println("");
|
||||
dbgSerial.print("Time: ");
|
||||
dbgSerial.print(millis());
|
||||
// dbgSerial.print(StatusTimer - StatusTime);
|
||||
// StatusTime = StatusTimer;
|
||||
|
||||
|
||||
/* dbgSerial.print(" AzRaw: ");
|
||||
puthexb(axis[AzMotor].HBXP1);
|
||||
putbyte(',');
|
||||
puthexb(axis[AzMotor].HBXP2);
|
||||
putbyte(',');
|
||||
puthexb(axis[AzMotor].HBXP3);
|
||||
putbyte(',');
|
||||
puthexb(axis[AzMotor].HBXP4);
|
||||
*/
|
||||
dbgSerial.print(" AzPosn: ");
|
||||
puthexl(axis[AzMotor].Position);
|
||||
putbyte(',');
|
||||
puthexl(axis[AzMotor].Target);
|
||||
putbyte(',');
|
||||
puthexl(axis[AzMotor].SlowDown);
|
||||
dbgSerial.print(" AzSpeed: ");
|
||||
puthexl(axis[AzMotor].Speed);
|
||||
putbyte(',');
|
||||
puthexl(axis[AzMotor].TargetSpeed);
|
||||
putbyte('-');
|
||||
puthexw(axis[AzMotor].EQGMotorStatus);
|
||||
putbyte(',');
|
||||
puthexw(axis[AzMotor].MotorControl);
|
||||
|
||||
}
|
||||
else {
|
||||
/*
|
||||
* dbgSerial.print(" AltRaw: ");
|
||||
puthexb(axis[AltMotor].HBXP1);
|
||||
putbyte(',');
|
||||
puthexb(axis[AltMotor].HBXP2);
|
||||
putbyte(',');
|
||||
puthexb(axis[AltMotor].HBXP3);
|
||||
putbyte(',');
|
||||
puthexb(axis[AltMotor].HBXP4);
|
||||
*/
|
||||
dbgSerial.print(" AltPosn: ");
|
||||
puthexl(axis[AltMotor].Position);
|
||||
putbyte(',');
|
||||
puthexl(axis[AltMotor].Target);
|
||||
putbyte(',');
|
||||
puthexl(axis[AltMotor].SlowDown);
|
||||
dbgSerial.print(" AltSpeed: ");
|
||||
puthexl(axis[AltMotor].Speed);
|
||||
putbyte(',');
|
||||
puthexl(axis[AltMotor].TargetSpeed);
|
||||
putbyte('-');
|
||||
puthexw(axis[AltMotor].EQGMotorStatus);
|
||||
putbyte(',');
|
||||
puthexw(axis[AltMotor].MotorControl);
|
||||
dbgSerial.println("");
|
||||
}
|
||||
digitalWrite(FROMHBX, LOW); // Clear Indicator LED
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
/********************************************************
|
||||
Hardware Definitions
|
||||
====================
|
||||
*********************************************************/
|
||||
#pragma once
|
||||
|
||||
#define mESP32
|
||||
|
||||
// Configuration for WiFi interface
|
||||
// ================================
|
||||
|
||||
// UDP allows communications with the Skywatcher SynScan app on Laptop, Tablet or phone
|
||||
// ESPNOW is alocal area wifi net .. TODO
|
||||
// AP provides a n access point in absence of Telscope wifi network
|
||||
// STA enables use of wifi credentials to log on to Telescope wifi network
|
||||
|
||||
#define SelectUDP // Either UDP or ESPNOW
|
||||
#define SelectAP // Either AP or STA
|
||||
|
||||
// Serial port definitions for HBX interface
|
||||
// =========================================
|
||||
|
||||
#ifdef mESP32
|
||||
#define dbgSerial Serial
|
||||
#define EQGSerial Serial2
|
||||
|
||||
#ifdef BTSerial
|
||||
#define EQGBluetooth SerialBT
|
||||
#endif
|
||||
#endif
|
||||
// Pin definitions for ESP32-HBX interface
|
||||
// =======================================
|
||||
|
||||
#ifdef mESP32
|
||||
// 8Pin RJ
|
||||
// =======
|
||||
// Pin8 Gnd
|
||||
#define HDAAz 25 // Pin7 on HBX interface
|
||||
#define HCLAz 26 // Pin6 on HBX interface
|
||||
#define HDAAlt 14 // Pin5 on HBX interface
|
||||
#define HCLAlt 27 // Pin4 on HBX interface
|
||||
#define HDAAux 18 // Pin3 on HBX interface
|
||||
#define HCLAux 19 // Pin2 on HBX interface
|
||||
// Pin1 Vbat
|
||||
|
||||
// 4Pin RJ
|
||||
// =======
|
||||
// Pin1 Gnd
|
||||
#define HDAAux 18 // Pin2 on HBX interface
|
||||
#define HCLAux 19 // Pin3 on HBX interface
|
||||
// Pin4 Vbat
|
||||
|
||||
#define H2C_INPUTPU INPUT_PULLUP // Set pin data input mode
|
||||
#define H2C_INPUT INPUT // Set pin data input mode
|
||||
#define H2C_OUTPUT OUTPUT // Set pin data output
|
||||
|
||||
// Pin definitions for LED indicators
|
||||
// ==================================
|
||||
#define EQGLED 21
|
||||
#define ETXLED 22
|
||||
|
||||
#endif
|
|
@ -0,0 +1,165 @@
|
|||
C:\Users\Anne\AppData\Local\Temp\VMBuilds\EQG2HBXE32\espressif_esp32doit-devkit-v1\Release\ArduinoOTA\ArduinoOTA.cpp.o: \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\ArduinoOTA\src\ArduinoOTA.cpp \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiUdp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Arduino.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/alloca.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/inttypes.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOS.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/config/sdkconfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtensa-versions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-matmap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/tie.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_context.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/corebits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-frames.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/projdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/deprecated_definitions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portmacro.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/specreg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-core-state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_crosscore_int.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_err.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/esp_heap_caps.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/multi_heap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc_memory_layout.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_attr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portbenchmark.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/mpu_wrappers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_sleep.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_struct.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/rtc_io_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/io_mux_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_sig_map.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_pins.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr_alloc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_periph.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/touch_pad.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_api.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/touch_channel.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/limits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/list.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/semphr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/math.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log_internal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-matrix.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-uart.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-touch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-dac.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-adc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-spi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-i2c.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/event_groups.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/timers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-ledc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-rmt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-sigmadelta.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-bt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-psram.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp8266-compat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/stdlib_noniso.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/binary.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WCharacter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/pgmspace.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Client.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Server.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/HardwareSerial.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Esp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\variants\doitESP32devkitV1/pins_arduino.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/cbuf.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\ArduinoOTA\src\ArduinoOTA.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPv6Address.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiType.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiSTA.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiGeneric.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_event_loop.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_event.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_interface.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/tcpip_adapter/tcpip_adapter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/opt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwipopts.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/fcntl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_default_fcntl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/vfs/sys/ioctl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/select.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/netif/dhcp_state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/debug.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/arch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/cc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/errno.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/sys_arch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/vfs_lwip.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/def.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip4_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip6_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/def.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/dhcpserver/dhcpserver.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiAP.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiScan.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiClient.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Client.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiServer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Server.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiUdp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\Update\src/Update.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/MD5Builder.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/md5_hash.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/spi_flash/esp_partition.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/spi_flash/esp_spi_flash.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\ESPmDNS\src/ESPmDNS.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/mdns/mdns.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_event.h
|
|
@ -0,0 +1,175 @@
|
|||
C:\Users\Anne\AppData\Local\Temp\VMBuilds\EQG2HBXE32\espressif_esp32doit-devkit-v1\Release\AsyncTCP\AsyncTCP.cpp.o: \
|
||||
C:\Users\John\Documents\Arduino\libraries\AsyncTCP\src\AsyncTCP.cpp \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Arduino.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdint.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_default_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/features.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_intsup.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/newlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/ieeefp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-isa.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/cdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/reent.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/lock.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/sched.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/alloca.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/inttypes.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOS.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/config/sdkconfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtensa-versions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-matmap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/tie.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_context.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/corebits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-frames.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/projdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/deprecated_definitions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portmacro.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/specreg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-core-state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_crosscore_int.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_err.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/esp_heap_caps.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/multi_heap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc_memory_layout.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_attr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portbenchmark.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/mpu_wrappers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_sleep.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_struct.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/rtc_io_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/io_mux_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_sig_map.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_pins.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr_alloc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_periph.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/touch_pad.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_api.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/touch_channel.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/limits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/list.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/semphr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/math.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log_internal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-matrix.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-uart.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-touch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-dac.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-adc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-spi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-i2c.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/event_groups.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/timers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-ledc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-rmt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-sigmadelta.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-bt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-psram.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp8266-compat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/stdlib_noniso.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/binary.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WCharacter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/pgmspace.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Client.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Server.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/HardwareSerial.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Esp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\variants\doitESP32devkitV1/pins_arduino.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\AsyncTCP\src\AsyncTCP.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/pbuf.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/opt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwipopts.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/fcntl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_default_fcntl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/vfs/sys/ioctl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/select.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/netif/dhcp_state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/debug.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/arch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/cc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/errno.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/sys_arch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/vfs_lwip.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/err.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/tcp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/mem.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/def.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip4_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip6_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/def.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/netif.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/stats.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/memp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/priv/memp_std.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/priv/memp_priv.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip4.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/prot/ip4.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip6.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/prot/ip6.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/prot/ip.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/icmp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/prot/icmp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/icmp6.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/prot/icmp6.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/inet.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/dns.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/priv/tcpip_priv.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/tcpip.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/timeouts.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/sys.h
|
|
@ -0,0 +1,187 @@
|
|||
C:\Users\Anne\AppData\Local\Temp\VMBuilds\EQG2HBXE32\espressif_esp32doit-devkit-v1\Release\AsyncUDP\AsyncUDP.cpp.o: \
|
||||
C:\Users\John\Documents\Arduino\libraries\AsyncUDP\src\AsyncUDP.cpp \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Arduino.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdint.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_default_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/features.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_intsup.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/newlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/ieeefp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-isa.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/cdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/reent.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/lock.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/sched.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/alloca.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/inttypes.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOS.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/config/sdkconfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtensa-versions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-matmap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/tie.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_context.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/corebits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-frames.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/projdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/deprecated_definitions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portmacro.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/specreg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-core-state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_crosscore_int.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_err.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/esp_heap_caps.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/multi_heap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc_memory_layout.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_attr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portbenchmark.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/mpu_wrappers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_sleep.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_struct.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/rtc_io_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/io_mux_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_sig_map.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_pins.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr_alloc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_periph.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/touch_pad.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_api.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/touch_channel.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/limits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/list.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/semphr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/math.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log_internal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-matrix.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-uart.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-touch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-dac.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-adc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-spi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-i2c.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/event_groups.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/timers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-ledc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-rmt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-sigmadelta.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-bt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-psram.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp8266-compat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/stdlib_noniso.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/binary.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WCharacter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/pgmspace.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Client.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Server.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/HardwareSerial.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Esp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\variants\doitESP32devkitV1/pins_arduino.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\AsyncUDP\src\AsyncUDP.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPv6Address.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/opt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwipopts.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/fcntl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_default_fcntl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/vfs/sys/ioctl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/select.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/netif/dhcp_state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/debug.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/arch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/cc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/errno.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/sys_arch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/vfs_lwip.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/def.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip4_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip6_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/def.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/tcpip_adapter/tcpip_adapter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_interface.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/dhcpserver/dhcpserver.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/inet.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/pbuf.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/err.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/netif.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/stats.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/mem.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/memp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/priv/memp_std.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/priv/memp_priv.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip4.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/prot/ip4.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip6.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/prot/ip6.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/prot/ip.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/prot/udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/igmp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/mld6.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/prot/ethernet.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi_crypto_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_event.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi_os_adapter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/priv/tcpip_priv.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/tcpip.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/timeouts.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/sys.h
|
|
@ -0,0 +1,131 @@
|
|||
C:\Users\Anne\AppData\Local\Temp\VMBuilds\EQG2HBXE32\espressif_esp32doit-devkit-v1\Release\EEPROM\EEPROM.cpp.o: \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\EEPROM\EEPROM.cpp \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\EEPROM\EEPROM.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Arduino.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdint.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_default_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/features.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_intsup.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/newlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/ieeefp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-isa.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/cdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/reent.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/lock.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/sched.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/alloca.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/inttypes.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOS.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/config/sdkconfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtensa-versions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-matmap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/tie.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_context.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/corebits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-frames.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/projdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/deprecated_definitions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portmacro.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/specreg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-core-state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_crosscore_int.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_err.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/esp_heap_caps.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/multi_heap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc_memory_layout.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_attr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portbenchmark.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/mpu_wrappers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_sleep.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_struct.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/rtc_io_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/io_mux_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_sig_map.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_pins.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr_alloc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_periph.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/touch_pad.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_api.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/touch_channel.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/limits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/list.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/semphr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/math.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log_internal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-matrix.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-uart.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-touch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-dac.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-adc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-spi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-i2c.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/event_groups.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/timers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-ledc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-rmt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-sigmadelta.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-bt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-psram.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp8266-compat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/stdlib_noniso.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/binary.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WCharacter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/pgmspace.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Client.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Server.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/HardwareSerial.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Esp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\variants\doitESP32devkitV1/pins_arduino.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/spi_flash/esp_partition.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/spi_flash/esp_spi_flash.h
|
|
@ -0,0 +1,184 @@
|
|||
C:\Users\Anne\AppData\Local\Temp\VMBuilds\EQG2HBXE32\espressif_esp32doit-devkit-v1\Release\ESPAsyncWebServer-master\AsyncEventSource.cpp.o: \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src\AsyncEventSource.cpp \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Arduino.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdint.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_default_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/features.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_intsup.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/newlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/ieeefp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-isa.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/cdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/reent.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/lock.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/sched.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/alloca.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/inttypes.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOS.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/config/sdkconfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtensa-versions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-matmap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/tie.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_context.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/corebits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-frames.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/projdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/deprecated_definitions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portmacro.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/specreg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-core-state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_crosscore_int.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_err.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/esp_heap_caps.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/multi_heap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc_memory_layout.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_attr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portbenchmark.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/mpu_wrappers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_sleep.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_struct.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/rtc_io_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/io_mux_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_sig_map.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_pins.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr_alloc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_periph.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/touch_pad.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_api.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/touch_channel.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/limits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/list.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/semphr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/math.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log_internal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-matrix.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-uart.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-touch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-dac.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-adc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-spi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-i2c.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/event_groups.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/timers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-ledc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-rmt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-sigmadelta.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-bt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-psram.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp8266-compat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/stdlib_noniso.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/binary.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WCharacter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/pgmspace.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Client.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Server.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/HardwareSerial.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Esp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\variants\doitESP32devkitV1/pins_arduino.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src\AsyncEventSource.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\AsyncTCP\src/AsyncTCP.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/pbuf.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/opt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwipopts.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/fcntl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_default_fcntl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/vfs/sys/ioctl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/select.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/netif/dhcp_state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/debug.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/arch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/cc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/errno.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/sys_arch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/vfs_lwip.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/err.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/ESPAsyncWebServer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\FS\src/FS.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/StringArray.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPv6Address.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiType.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiSTA.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiGeneric.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_event_loop.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_event.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_interface.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/tcpip_adapter/tcpip_adapter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/def.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip4_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip6_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/def.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/dhcpserver/dhcpserver.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiAP.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiScan.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiClient.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Client.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiServer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Server.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiUdp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/cbuf.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/WebResponseImpl.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/WebHandlerImpl.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncWebSocket.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncEventSource.h
|
|
@ -0,0 +1,185 @@
|
|||
C:\Users\Anne\AppData\Local\Temp\VMBuilds\EQG2HBXE32\espressif_esp32doit-devkit-v1\Release\ESPAsyncWebServer-master\AsyncWebSocket.cpp.o: \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src\AsyncWebSocket.cpp \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Arduino.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdint.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_default_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/features.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_intsup.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/newlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/ieeefp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-isa.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/cdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/reent.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/lock.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/sched.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/alloca.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/inttypes.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOS.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/config/sdkconfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtensa-versions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-matmap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/tie.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_context.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/corebits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-frames.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/projdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/deprecated_definitions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portmacro.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/specreg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-core-state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_crosscore_int.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_err.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/esp_heap_caps.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/multi_heap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc_memory_layout.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_attr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portbenchmark.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/mpu_wrappers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_sleep.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_struct.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/rtc_io_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/io_mux_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_sig_map.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_pins.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr_alloc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_periph.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/touch_pad.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_api.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/touch_channel.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/limits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/list.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/semphr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/math.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log_internal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-matrix.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-uart.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-touch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-dac.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-adc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-spi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-i2c.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/event_groups.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/timers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-ledc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-rmt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-sigmadelta.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-bt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-psram.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp8266-compat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/stdlib_noniso.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/binary.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WCharacter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/pgmspace.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Client.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Server.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/HardwareSerial.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Esp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\variants\doitESP32devkitV1/pins_arduino.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src\AsyncWebSocket.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\AsyncTCP\src/AsyncTCP.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/pbuf.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/opt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwipopts.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/fcntl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_default_fcntl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/vfs/sys/ioctl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/select.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/netif/dhcp_state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/debug.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/arch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/cc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/errno.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/sys_arch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/vfs_lwip.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/err.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/ESPAsyncWebServer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\FS\src/FS.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/StringArray.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPv6Address.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiType.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiSTA.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiGeneric.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_event_loop.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_event.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_interface.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/tcpip_adapter/tcpip_adapter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/def.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip4_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip6_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/def.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/dhcpserver/dhcpserver.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiAP.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiScan.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiClient.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Client.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiServer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Server.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiUdp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/cbuf.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/WebResponseImpl.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/WebHandlerImpl.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncWebSocket.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncEventSource.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/libb64/cencode.h
|
|
@ -0,0 +1,184 @@
|
|||
C:\Users\Anne\AppData\Local\Temp\VMBuilds\EQG2HBXE32\espressif_esp32doit-devkit-v1\Release\ESPAsyncWebServer-master\SPIFFSEditor.cpp.o: \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src\SPIFFSEditor.cpp \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src\SPIFFSEditor.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/ESPAsyncWebServer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Arduino.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdint.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_default_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/features.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_intsup.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/newlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/ieeefp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-isa.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/cdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/reent.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/lock.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/sched.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/alloca.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/inttypes.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOS.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/config/sdkconfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtensa-versions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-matmap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/tie.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_context.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/corebits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-frames.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/projdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/deprecated_definitions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portmacro.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/specreg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-core-state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_crosscore_int.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_err.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/esp_heap_caps.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/multi_heap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc_memory_layout.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_attr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portbenchmark.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/mpu_wrappers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_sleep.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_struct.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/rtc_io_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/io_mux_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_sig_map.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_pins.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr_alloc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_periph.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/touch_pad.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_api.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/touch_channel.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/limits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/list.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/semphr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/math.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log_internal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-matrix.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-uart.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-touch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-dac.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-adc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-spi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-i2c.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/event_groups.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/timers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-ledc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-rmt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-sigmadelta.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-bt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-psram.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp8266-compat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/stdlib_noniso.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/binary.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WCharacter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/pgmspace.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Client.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Server.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/HardwareSerial.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Esp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\variants\doitESP32devkitV1/pins_arduino.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\FS\src/FS.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/StringArray.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPv6Address.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiType.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiSTA.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiGeneric.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_event_loop.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_event.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_interface.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/tcpip_adapter/tcpip_adapter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_wifi_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/opt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwipopts.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/fcntl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_default_fcntl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/vfs/sys/ioctl.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/select.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/netif/dhcp_state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/debug.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/arch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/cc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/errno.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/sys_arch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/arch/vfs_lwip.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/def.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip4_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/ip6_addr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/def.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/dhcpserver/dhcpserver.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiAP.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiScan.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiClient.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Client.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiServer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Server.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi\src/WiFiUdp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/cbuf.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\AsyncTCP\src/AsyncTCP.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/pbuf.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip/lwip/err.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/WebResponseImpl.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/WebHandlerImpl.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncWebSocket.h \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncEventSource.h
|
|
@ -0,0 +1,133 @@
|
|||
C:\Users\Anne\AppData\Local\Temp\VMBuilds\EQG2HBXE32\espressif_esp32doit-devkit-v1\Release\ESPAsyncWebServer-master\WebAuthentication.cpp.o: \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src\WebAuthentication.cpp \
|
||||
C:\Users\John\Documents\Arduino\libraries\ESPAsyncWebServer-master\src\WebAuthentication.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Arduino.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdint.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_default_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/features.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_intsup.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/newlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/ieeefp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-isa.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/cdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/reent.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/_ansi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/lock.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/sched.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/stdio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/machine/stdlib.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/alloca.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/sys/string.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/inttypes.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOS.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/config/sdkconfig.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtensa-versions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/core-matmap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/tie.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_context.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/corebits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-frames.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/assert.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/projdefs.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/deprecated_definitions.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portmacro.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/config/specreg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/xtensa/xtruntime-core-state.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_crosscore_int.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_err.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/esp_heap_caps.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap/multi_heap.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc_memory_layout.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_attr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/portbenchmark.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/mpu_wrappers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_system.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_sleep.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_types.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/soc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_struct.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/rtc_io_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/io_mux_reg.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_sig_map.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_pins.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr_alloc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/gpio_periph.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver/driver/touch_pad.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/esp_intr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/xtensa_api.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc/soc/touch_channel.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/limits.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/list.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/semphr.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/queue.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib/math.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log/esp_log_internal.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-matrix.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-uart.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-gpio.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-touch.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-dac.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-adc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-spi.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-i2c.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/event_groups.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/timers.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos/freertos/task.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-ledc.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-rmt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-sigmadelta.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-timer.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-bt.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-psram.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp8266-compat.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/stdlib_noniso.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/binary.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WCharacter.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/pgmspace.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Print.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/WString.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Printable.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Client.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Server.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Udp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Stream.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/IPAddress.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/HardwareSerial.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Esp.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\variants\doitESP32devkitV1/pins_arduino.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32\cores\esp32/libb64/cencode.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/mbedtls/mbedtls/md5.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/mbedtls_port/mbedtls/esp_config.h \
|
||||
C:\Users\John\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/mbedtls/mbedtls/check_config.h
|