Merge pull request #5 from ozarchie/UpdateHardwareMethod

Consolidate Hardware/Software definitions into hardware.h
master
ozarchie 2022-04-10 22:46:42 +10:00 zatwierdzone przez GitHub
commit 14c6607c84
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
151 zmienionych plików z 15922 dodań i 2063 usunięć

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Wyświetl plik

@ -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
&#160;<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&amp;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&amp;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>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">/**************************************************************</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * SPIFFS filesystem</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Only invoked in STA mode</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &lt;EEPROM.h&gt;</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;FS.h&gt;</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;SPIFFS.h&gt;</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;SPIFFSEditor.h&gt;</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Wyświetl plik

@ -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
&#160;<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&amp;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&amp;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;">&#160;</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;">&#160;</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;">&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 676 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 147 B

Wyświetl plik

@ -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
&#160;<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&amp;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&amp;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>&#160;|&#160;<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">&#160;&#160;a&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="structaxis__values.html">axis_values</a>&#160;&#160;&#160;</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">&#160;&#160;s&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
<tr><td valign="top"><a class="el" href="structaxis__type.html">axis_type</a>&#160;&#160;&#160;</td><td></td><td></td></tr>
<tr><td></td><td valign="top"><a class="el" href="struct_sky_watcher_features.html">SkyWatcherFeatures</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a></div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 132 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 746 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 3.7 KiB

Wyświetl plik

@ -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('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(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('&#9658;');
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('&#9660;');
// 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('&#9658;');
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 */

Wyświetl plik

@ -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
&#160;<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&amp;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&amp;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;">&#160;</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;">&#160;</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;">&#160;</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;">&#160;</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;">&#160;</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;">&#160;</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;">&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 616 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 597 B

Wyświetl plik

@ -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
&#160;<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&amp;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&amp;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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 151 KiB

File diff suppressed because one or more lines are too long

Wyświetl plik

@ -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 */

Wyświetl plik

@ -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"}]}]}

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 153 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 95 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 98 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 123 B

Wyświetl plik

@ -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&amp;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&amp;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>

Wyświetl plik

@ -0,0 +1,5 @@
var searchData=
[
['axis_5ftype',['axis_type',['../structaxis__type.html',1,'']]],
['axis_5fvalues',['axis_values',['../structaxis__values.html',1,'']]]
];

Wyświetl plik

@ -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&amp;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&amp;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>

Wyświetl plik

@ -0,0 +1,4 @@
var searchData=
[
['skywatcherfeatures',['SkyWatcherFeatures',['../struct_sky_watcher_features.html',1,'']]]
];

Wyświetl plik

@ -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&amp;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&amp;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>

Wyświetl plik

@ -0,0 +1,5 @@
var searchData=
[
['axis_5ftype',['axis_type',['../structaxis__type.html',1,'']]],
['axis_5fvalues',['axis_values',['../structaxis__values.html',1,'']]]
];

Wyświetl plik

@ -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&amp;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&amp;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>

Wyświetl plik

@ -0,0 +1,4 @@
var searchData=
[
['skywatcherfeatures',['SkyWatcherFeatures',['../struct_sky_watcher_features.html',1,'']]]
];

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 273 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 465 B

Wyświetl plik

@ -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>

Wyświetl plik

@ -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;
}

Wyświetl plik

@ -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='&#8226;';
}
else
{
node.innerHTML='&#160;';
}
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">&#160;</span>'+indexSectionLabels[key];
results.appendChild(link);
}
searchBox.OnSelectItem(0);
}
/* @license-end */

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 567 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 158 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 553 B

Wyświetl plik

@ -0,0 +1,18 @@
var indexSectionsWithContent =
{
0: "as",
1: "as"
};
var indexSectionNames =
{
0: "all",
1: "classes"
};
var indexSectionLabels =
{
0: "All",
1: "Classes"
};

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 314 B

Wyświetl plik

@ -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
&#160;<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&amp;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&amp;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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>

Wyświetl plik

@ -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
&#160;<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&amp;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&amp;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> &#124;
<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&#160;</td><td class="memItemRight" valign="bottom"><b>inPPECTraining</b> = false</td></tr>
<tr class="separator:a447371090b5e2c4346a90e654a7f6d6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a642b77877277ef442e7094ed455199e3"><td class="memItemLeft" align="right" valign="top"><a id="a642b77877277ef442e7094ed455199e3"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>inPPEC</b> = false</td></tr>
<tr class="separator:a642b77877277ef442e7094ed455199e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78751e1cb1708965989351881ce525fe"><td class="memItemLeft" align="right" valign="top"><a id="a78751e1cb1708965989351881ce525fe"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>hasEncoder</b> = false</td></tr>
<tr class="separator:a78751e1cb1708965989351881ce525fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbb84e6151a8936a3fb3a2dc0100eb1b"><td class="memItemLeft" align="right" valign="top"><a id="abbb84e6151a8936a3fb3a2dc0100eb1b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>hasPPEC</b> = false</td></tr>
<tr class="separator:abbb84e6151a8936a3fb3a2dc0100eb1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7498d63409d8ef53428e06fcd3141624"><td class="memItemLeft" align="right" valign="top"><a id="a7498d63409d8ef53428e06fcd3141624"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>hasHomeIndexer</b> = false</td></tr>
<tr class="separator:a7498d63409d8ef53428e06fcd3141624"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75e3dc036c454da6e55e7db2aaee8176"><td class="memItemLeft" align="right" valign="top"><a id="a75e3dc036c454da6e55e7db2aaee8176"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>isAZEQ</b> = false</td></tr>
<tr class="separator:a75e3dc036c454da6e55e7db2aaee8176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f02d7a4c6af0e7c43d8cad9da3a0d45"><td class="memItemLeft" align="right" valign="top"><a id="a6f02d7a4c6af0e7c43d8cad9da3a0d45"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>hasPolarLed</b> = false</td></tr>
<tr class="separator:a6f02d7a4c6af0e7c43d8cad9da3a0d45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e07eb745f039b8815c88ba81234a647"><td class="memItemLeft" align="right" valign="top"><a id="a9e07eb745f039b8815c88ba81234a647"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>hasCommonSlewStart</b> = false</td></tr>
<tr class="separator:a9e07eb745f039b8815c88ba81234a647"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65b43839a6ac29ae8cfa217879fff50e"><td class="memItemLeft" align="right" valign="top"><a id="a65b43839a6ac29ae8cfa217879fff50e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>hasHalfCurrentTracking</b> = false</td></tr>
<tr class="separator:a65b43839a6ac29ae8cfa217879fff50e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9ad6e2d283ba7a6b1137e743e99e8b5"><td class="memItemLeft" align="right" valign="top"><a id="ac9ad6e2d283ba7a6b1137e743e99e8b5"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>hasWifi</b> = false</td></tr>
<tr class="separator:ac9ad6e2d283ba7a6b1137e743e99e8b5"><td class="memSeparator" colspan="2">&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>

Wyświetl plik

@ -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
&#160;<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&amp;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&amp;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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>

Wyświetl plik

@ -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
&#160;<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&amp;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&amp;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> &#124;
<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&#160;</td><td class="memItemRight" valign="bottom"><b>MotorType</b></td></tr>
<tr class="separator:a8d6e2614b5b9ced9a557fa59a22543ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa70145fea3079f5b250d4f1586f2223c"><td class="memItemLeft" align="right" valign="top"><a id="aa70145fea3079f5b250d4f1586f2223c"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>MotorFlag</b></td></tr>
<tr class="separator:aa70145fea3079f5b250d4f1586f2223c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1192a02117a60694ac5574eda88b8ea7"><td class="memItemLeft" align="right" valign="top"><a id="a1192a02117a60694ac5574eda88b8ea7"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>ETXMotorState</b></td></tr>
<tr class="separator:a1192a02117a60694ac5574eda88b8ea7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7935fe762d46b59a84ea8f423b434782"><td class="memItemLeft" align="right" valign="top"><a id="a7935fe762d46b59a84ea8f423b434782"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>ETXMotorStatus</b></td></tr>
<tr class="separator:a7935fe762d46b59a84ea8f423b434782"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45ac919db125d0953e3adab20c1542df"><td class="memItemLeft" align="right" valign="top"><a id="a45ac919db125d0953e3adab20c1542df"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>EQGMotorStatus</b></td></tr>
<tr class="separator:a45ac919db125d0953e3adab20c1542df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa45704c8f826b1d2e73fe749005cfa2"><td class="memItemLeft" align="right" valign="top"><a id="aaa45704c8f826b1d2e73fe749005cfa2"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>MotorControl</b></td></tr>
<tr class="separator:aaa45704c8f826b1d2e73fe749005cfa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5ea840e77e4a91bae5bcacede0855b6"><td class="memItemLeft" align="right" valign="top"><a id="af5ea840e77e4a91bae5bcacede0855b6"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>HBXBitCount</b></td></tr>
<tr class="separator:af5ea840e77e4a91bae5bcacede0855b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c9b959520501d8bba6c7074f7128b17"><td class="memItemLeft" align="right" valign="top"><a id="a4c9b959520501d8bba6c7074f7128b17"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>Command</b></td></tr>
<tr class="separator:a4c9b959520501d8bba6c7074f7128b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a877b0c8c30498ce9338b82d65ca5ac79"><td class="memItemLeft" align="right" valign="top"><a id="a877b0c8c30498ce9338b82d65ca5ac79"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>HBXData</b></td></tr>
<tr class="separator:a877b0c8c30498ce9338b82d65ca5ac79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaf4a45ba2953d3f8eebf12758e715a1"><td class="memItemLeft" align="right" valign="top"><a id="acaf4a45ba2953d3f8eebf12758e715a1"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>HBXP1</b></td></tr>
<tr class="separator:acaf4a45ba2953d3f8eebf12758e715a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afad533166bfc2724c705bfa81e57ff1d"><td class="memItemLeft" align="right" valign="top"><a id="afad533166bfc2724c705bfa81e57ff1d"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>HBXP2</b></td></tr>
<tr class="separator:afad533166bfc2724c705bfa81e57ff1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab71f137ce48048aa7a0f2b8ff3f60ee1"><td class="memItemLeft" align="right" valign="top"><a id="ab71f137ce48048aa7a0f2b8ff3f60ee1"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>HBXP3</b></td></tr>
<tr class="separator:ab71f137ce48048aa7a0f2b8ff3f60ee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac63a803f4f8c8dc4b8af186609e7b41d"><td class="memItemLeft" align="right" valign="top"><a id="ac63a803f4f8c8dc4b8af186609e7b41d"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>HBXP4</b></td></tr>
<tr class="separator:ac63a803f4f8c8dc4b8af186609e7b41d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdf7866e448e964a92fe79c63ef3f755"><td class="memItemLeft" align="right" valign="top"><a id="abdf7866e448e964a92fe79c63ef3f755"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>HBXCount</b></td></tr>
<tr class="separator:abdf7866e448e964a92fe79c63ef3f755"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47af0530bdbf2fef9dbaf66da8b5ff38"><td class="memItemLeft" align="right" valign="top"><a id="a47af0530bdbf2fef9dbaf66da8b5ff38"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>HBXLEDI</b></td></tr>
<tr class="separator:a47af0530bdbf2fef9dbaf66da8b5ff38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9940377963d574b38975c49bb9753dd6"><td class="memItemLeft" align="right" valign="top"><a id="a9940377963d574b38975c49bb9753dd6"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>DirnSpeed</b></td></tr>
<tr class="separator:a9940377963d574b38975c49bb9753dd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada1ef73d76498f2942b1a4df043c9853"><td class="memItemLeft" align="right" valign="top"><a id="ada1ef73d76498f2942b1a4df043c9853"></a>
char&#160;</td><td class="memItemRight" valign="bottom"><b>HBXGuide</b></td></tr>
<tr class="separator:ada1ef73d76498f2942b1a4df043c9853"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a29c1b1900e0706a0a69952bb63b067"><td class="memItemLeft" align="right" valign="top"><a id="a5a29c1b1900e0706a0a69952bb63b067"></a>
char&#160;</td><td class="memItemRight" valign="bottom"><b>HBXSnapPort</b></td></tr>
<tr class="separator:a5a29c1b1900e0706a0a69952bb63b067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67c1719e0b3d9b1933566075671d141d"><td class="memItemLeft" align="right" valign="top"><a id="a67c1719e0b3d9b1933566075671d141d"></a>
char&#160;</td><td class="memItemRight" valign="bottom"><b>LEDValue</b></td></tr>
<tr class="separator:a67c1719e0b3d9b1933566075671d141d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a093932d4a97d2f8a08fb01f3ba6605b6"><td class="memItemLeft" align="right" valign="top"><a id="a093932d4a97d2f8a08fb01f3ba6605b6"></a>
char&#160;</td><td class="memItemRight" valign="bottom"><b>ETXSpeedCommand</b></td></tr>
<tr class="separator:a093932d4a97d2f8a08fb01f3ba6605b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96402b3f3317f107cf15b4d956a20209"><td class="memItemLeft" align="right" valign="top"><a id="a96402b3f3317f107cf15b4d956a20209"></a>
long&#160;</td><td class="memItemRight" valign="bottom"><b>Speed</b></td></tr>
<tr class="separator:a96402b3f3317f107cf15b4d956a20209"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6791f418b7170c5f97201fe4534d669f"><td class="memItemLeft" align="right" valign="top"><a id="a6791f418b7170c5f97201fe4534d669f"></a>
long&#160;</td><td class="memItemRight" valign="bottom"><b>TargetSpeed</b></td></tr>
<tr class="separator:a6791f418b7170c5f97201fe4534d669f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb8750c37a6a8df3ebe809095843d247"><td class="memItemLeft" align="right" valign="top"><a id="acb8750c37a6a8df3ebe809095843d247"></a>
char&#160;</td><td class="memItemRight" valign="bottom"><b>SpeedState</b></td></tr>
<tr class="separator:acb8750c37a6a8df3ebe809095843d247"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc562535446cdb1fe08380f155034fe4"><td class="memItemLeft" align="right" valign="top"><a id="afc562535446cdb1fe08380f155034fe4"></a>
long&#160;</td><td class="memItemRight" valign="bottom"><b>Position</b></td></tr>
<tr class="separator:afc562535446cdb1fe08380f155034fe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bb731f6188c70eec095aa1413205c58"><td class="memItemLeft" align="right" valign="top"><a id="a0bb731f6188c70eec095aa1413205c58"></a>
long&#160;</td><td class="memItemRight" valign="bottom"><b>Target</b></td></tr>
<tr class="separator:a0bb731f6188c70eec095aa1413205c58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08d1fea2e1b10e2518291544d2267563"><td class="memItemLeft" align="right" valign="top"><a id="a08d1fea2e1b10e2518291544d2267563"></a>
long&#160;</td><td class="memItemRight" valign="bottom"><b>Increment</b></td></tr>
<tr class="separator:a08d1fea2e1b10e2518291544d2267563"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a579b90ed04507ff74579008e8ecc117e"><td class="memItemLeft" align="right" valign="top"><a id="a579b90ed04507ff74579008e8ecc117e"></a>
long&#160;</td><td class="memItemRight" valign="bottom"><b>SlowDown</b></td></tr>
<tr class="separator:a579b90ed04507ff74579008e8ecc117e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12af7f2ff2f296c54d54dc4880f962eb"><td class="memItemLeft" align="right" valign="top"><a id="a12af7f2ff2f296c54d54dc4880f962eb"></a>
long&#160;</td><td class="memItemRight" valign="bottom"><b>Offset</b></td></tr>
<tr class="separator:a12af7f2ff2f296c54d54dc4880f962eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51a5c3b0ad565aafe84bbf6ed3f95d0b"><td class="memItemLeft" align="right" valign="top"><a id="a51a5c3b0ad565aafe84bbf6ed3f95d0b"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>MeadeRatio</b></td></tr>
<tr class="separator:a51a5c3b0ad565aafe84bbf6ed3f95d0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad485b2aaf212a44bcb9b8930bbba8ee1"><td class="memItemLeft" align="right" valign="top"><a id="ad485b2aaf212a44bcb9b8930bbba8ee1"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>GbxRatio</b></td></tr>
<tr class="separator:ad485b2aaf212a44bcb9b8930bbba8ee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a763647ed6954b74391e7ec668aea42"><td class="memItemLeft" align="right" valign="top"><a id="a2a763647ed6954b74391e7ec668aea42"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>Vanes</b></td></tr>
<tr class="separator:a2a763647ed6954b74391e7ec668aea42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4e02128a3716e6e50ee6cdea7e77900"><td class="memItemLeft" align="right" valign="top"><a id="ad4e02128a3716e6e50ee6cdea7e77900"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>XferRatio</b></td></tr>
<tr class="separator:ad4e02128a3716e6e50ee6cdea7e77900"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad72da5b007c935f48260620d182a4556"><td class="memItemLeft" align="right" valign="top"><a id="ad72da5b007c935f48260620d182a4556"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>WormTeeth</b></td></tr>
<tr class="separator:ad72da5b007c935f48260620d182a4556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5f8c71bd61af81017912137bcbe8dc4"><td class="memItemLeft" align="right" valign="top"><a id="ab5f8c71bd61af81017912137bcbe8dc4"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>aVALUE</b></td></tr>
<tr class="separator:ab5f8c71bd61af81017912137bcbe8dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92730f2ae10f67179c26fca7c3dbc503"><td class="memItemLeft" align="right" valign="top"><a id="a92730f2ae10f67179c26fca7c3dbc503"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>bVALUE</b></td></tr>
<tr class="separator:a92730f2ae10f67179c26fca7c3dbc503"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d408f8c18ab3a8b6fd42c45d383a537"><td class="memItemLeft" align="right" valign="top"><a id="a6d408f8c18ab3a8b6fd42c45d383a537"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>OneDegree</b></td></tr>
<tr class="separator:a6d408f8c18ab3a8b6fd42c45d383a537"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9671b2224c205a2ef87dd17b9e9379bc"><td class="memItemLeft" align="right" valign="top"><a id="a9671b2224c205a2ef87dd17b9e9379bc"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>SIDEREALRATE</b></td></tr>
<tr class="separator:a9671b2224c205a2ef87dd17b9e9379bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e077c5c6409615751a079f9e4f1b5e3"><td class="memItemLeft" align="right" valign="top"><a id="a2e077c5c6409615751a079f9e4f1b5e3"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>SOLARRATE</b></td></tr>
<tr class="separator:a2e077c5c6409615751a079f9e4f1b5e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20669e06299050ac114615b3d816455a"><td class="memItemLeft" align="right" valign="top"><a id="a20669e06299050ac114615b3d816455a"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>LUNARRATE</b></td></tr>
<tr class="separator:a20669e06299050ac114615b3d816455a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b1780f04321b5903b8f97c17b5db039"><td class="memItemLeft" align="right" valign="top"><a id="a1b1780f04321b5903b8f97c17b5db039"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>DEGREERATE1</b></td></tr>
<tr class="separator:a1b1780f04321b5903b8f97c17b5db039"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9221caecffb15e528d1d843ee1e1ccf"><td class="memItemLeft" align="right" valign="top"><a id="ab9221caecffb15e528d1d843ee1e1ccf"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>PEC</b></td></tr>
<tr class="separator:ab9221caecffb15e528d1d843ee1e1ccf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad36f04c29f39500cb5361501052a891d"><td class="memItemLeft" align="right" valign="top"><a id="ad36f04c29f39500cb5361501052a891d"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>PrintStatus0</b></td></tr>
<tr class="separator:ad36f04c29f39500cb5361501052a891d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bfeb2429981e220e649898a4edfa9a3"><td class="memItemLeft" align="right" valign="top"><a id="a2bfeb2429981e220e649898a4edfa9a3"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>TimeDelta</b></td></tr>
<tr class="separator:a2bfeb2429981e220e649898a4edfa9a3"><td class="memSeparator" colspan="2">&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>

Wyświetl plik

@ -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
&#160;<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&amp;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&amp;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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>

Wyświetl plik

@ -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
&#160;<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&amp;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&amp;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> &#124;
<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&#160;</td><td class="memItemRight" valign="bottom"><b>Vanes</b></td></tr>
<tr class="separator:a69fe070e634631a905091b64b69ed733"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fba82b610a5c029a7b492f3f84c4c4b"><td class="memItemLeft" align="right" valign="top"><a id="a8fba82b610a5c029a7b492f3f84c4c4b"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>GbxRatio</b></td></tr>
<tr class="separator:a8fba82b610a5c029a7b492f3f84c4c4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59119ea853e5881b2718e0c1d45a81a4"><td class="memItemLeft" align="right" valign="top"><a id="a59119ea853e5881b2718e0c1d45a81a4"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>XferRatio</b></td></tr>
<tr class="separator:a59119ea853e5881b2718e0c1d45a81a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a847c89951bc827b17958f586adf6c2b4"><td class="memItemLeft" align="right" valign="top"><a id="a847c89951bc827b17958f586adf6c2b4"></a>
unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>WormTeeth</b></td></tr>
<tr class="separator:a847c89951bc827b17958f586adf6c2b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b78a78c0d2ad6333b60955c57d70b75"><td class="memItemLeft" align="right" valign="top"><a id="a0b78a78c0d2ad6333b60955c57d70b75"></a>
char&#160;</td><td class="memItemRight" valign="bottom"><b>Telescope</b> [16]</td></tr>
<tr class="separator:a0b78a78c0d2ad6333b60955c57d70b75"><td class="memSeparator" colspan="2">&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 853 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 845 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 142 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 169 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 177 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 184 B

File diff suppressed because one or more lines are too long

Wyświetl plik

@ -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

Wyświetl plik

@ -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}

Wyświetl plik

@ -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

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 151 KiB

Wyświetl plik

@ -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=

Wyświetl plik

@ -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}

Wyświetl plik

@ -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}

Wyświetl plik

@ -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}

Wyświetl plik

@ -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}

Wyświetl plik

@ -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

Wyświetl plik

@ -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()

Wyświetl plik

@ -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

Wyświetl plik

@ -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
*/

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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);

Wyświetl plik

@ -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");
}
}

Wyświetl plik

@ -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);

Wyświetl plik

@ -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);
}
}
}

Wyświetl plik

@ -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("");
}

Wyświetl plik

@ -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
}

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -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

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -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

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Some files were not shown because too many files have changed in this diff Show More