1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00
Ivan Grokhotkov 01886ef12e Add 2.1.0
2016-02-27 11:31:04 +03:00

389 lines
8.8 KiB
HTML

<!DOCTYPE html>
<html lang="en-us">
<head>
<link href="http://gmpg.org/xfn/11" rel="profile">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- Enable responsiveness on mobile devices-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<title>
Debugging &middot; ESP8266 Arduino Core
</title>
<!-- CSS -->
<link rel="stylesheet" href="/Arduino/versions/2.1.0/public/css/poole.css">
<link rel="stylesheet" href="/Arduino/versions/2.1.0/public/css/syntax.css">
<link rel="stylesheet" href="/Arduino/versions/2.1.0/public/css/hyde.css">
<link rel="stylesheet" href="/Arduino/versions/2.1.0/public/css/icons.css">
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700|Abril+Fatface">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<!-- Icons -->
<link rel="shortcut icon" href="/Arduino/versions/2.1.0/public/favicon.ico">
<!-- RSS -->
<link rel="alternate" type="application/rss+xml" title="RSS" href="/atom.xml">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="/Arduino/versions/2.1.0/public/js/toc.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#toc').toc({ listType: 'ul', showSpeed: 0, title: '', headers: 'h1, h2', minimumHeaders: 2 });
});
</script>
</head>
<body>
<div class="version-bar">
This documentation is for version 2.1.0. <a href="http://esp8266.github.io/Arduino/versions">Other versions.</a>
</div>
<div class="sidebar">
<div class="container">
<div class="sidebar-about">
<h2>
<a href="http://esp8266.github.io/Arduino">
ESP8266 Arduino Core
</a>
</h2>
</div>
<nav class="sidebar-nav">
<a class="sidebar-nav-item" href="/Arduino/versions/2.1.0/doc/installing.html">Installation</a>
<a class="sidebar-nav-item" href="/Arduino/versions/2.1.0/doc/reference.html">Reference</a>
<a class="sidebar-nav-item" href="/Arduino/versions/2.1.0/doc/libraries.html">Libraries</a>
<a class="sidebar-nav-item" href="/Arduino/versions/2.1.0/doc/filesystem.html">File System</a>
<a class="sidebar-nav-item" href="/Arduino/versions/2.1.0/doc/ota_updates/ota_updates.html">OTA Update</a>
<a class="sidebar-nav-item" href="/Arduino/versions/2.1.0/doc/boards.html">Supported Hardware</a>
<a class="sidebar-nav-item" href="/Arduino/versions/2.1.0/doc/changes.html">Change Log</a>
</nav>
<p>
<a href="https://github.com/esp8266/Arduino"><div id="gh-icon"></div>esp8266/Arduino</a>
</p>
<p class="lead">Documentation for ESP8266 Arduino Core. Installation instructions, functions and classes reference.
</p>
</div>
</div>
<div class="content container">
<h2 id="table-of-contents">Table of Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a>
<ul>
<li><a href="#requirements">Requirements</a></li>
<li><a href="#Usage">Usage</a></li>
</ul></li>
<li><a href="#Informations">Informations</a>
<ul>
<li><a href="#for-developers">For Developers</a></li>
</ul></li>
</ul>
<h2 id="introduction">Introduction</h2>
<p>Since 2.1.0-rc1 the core includes a Debugging feature that is controllable over the IDE menu.</p>
<p>The new menu points manage the real-time Debug messages.</p>
<h3 id="requirements">Requirements</h3>
<p>For usage of the debugging a Serial connection is required (Serial or Serial1).</p>
<p>The Serial Interface need to be initialized in the <code>setup()</code>.</p>
<p>Set the Serial baud rate as high as possible for your Hardware setup.</p>
<p>Minimum sketch to use debugging:
```cpp
void setup() {
Serial.begin(115200);
}</p>
<p>void loop() {
}
```</p>
<h3 id="usage">Usage</h3>
<ol>
<li><p>Select the Serial interface for the Debugging messages:
<img src="debug_port.png" alt="Debug-Port"></p></li>
<li><p>Select which type / level you want debug messages for:
<img src="debug_level.png" alt="Debug-Level"></p></li>
<li><p>Check if the Serial interface is initialized in <code>setup()</code> (see <a href="#requirements">Requirements</a>)</p></li>
<li><p>Flash sketch</p></li>
<li><p>Check the Serial Output</p></li>
</ol>
<h2 id="informations">Informations</h2>
<p>It work with every sketch that enables the Serial interface that is selected as debug port.</p>
<p>The Serial interface can still be used normal in the Sketch.</p>
<p>The debug output is additional and will not disable any interface from usage in the sketch.</p>
<h3 id="for-developers">For Developers</h3>
<p>For the debug handling uses defines.</p>
<p>The defined are set by command line.</p>
<h4 id="debug-port">Debug Port</h4>
<p>The port has the define <code>DEBUG_ESP_PORT</code> possible value:
- Disabled: define not existing
- Serial: Serial
- Serial1: Serial1</p>
<h4 id="debug-level">Debug Level</h4>
<p>All defines for the different levels starts with <code>DEBUG_ESP_</code></p>
<p>a full list can be found here in the <a href="https://github.com/esp8266/Arduino/blob/master/boards.txt#L180">boards.txt</a></p>
<h4 id="example-for-own-debug-messages">Example for own debug messages</h4>
<p>The debug messages will be only shown when the Debug Port in the IDE menu is set.</p>
<div class="highlight"><pre><code class="language-cpp" data-lang="cpp"><span class="cp">#ifdef DEBUG_ESP_PORT</span>
<span class="cp">#define DEBUG_MSG(...) DEBUG_ESP_PORT.printf( __VA_ARGS__ )</span>
<span class="cp">#else</span>
<span class="cp">#define DEBUG_MSG(...) </span>
<span class="cp">#endif</span>
<span class="kt">void</span> <span class="nf">setup</span><span class="p">()</span> <span class="p">{</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">begin</span><span class="p">(</span><span class="mi">115200</span><span class="p">);</span>
<span class="n">delay</span><span class="p">(</span><span class="mi">3000</span><span class="p">);</span>
<span class="n">DEBUG_MSG</span><span class="p">(</span><span class="s">&quot;bootup...</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="p">}</span>
<span class="kt">void</span> <span class="nf">loop</span><span class="p">()</span> <span class="p">{</span>
<span class="n">DEBUG_MSG</span><span class="p">(</span><span class="s">&quot;loop %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">millis</span><span class="p">());</span>
<span class="n">delay</span><span class="p">(</span><span class="mi">1000</span><span class="p">);</span>
<span class="p">}</span>
</code></pre></div>
</div>
</body>
</html>