

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    

    
    <title>Mynewt Newt Tool Documentation &mdash; Apache Mynewt latest documentation</title>
    

    
    
      <link rel="shortcut icon" href="../_static/mynewt-logo-only-newt32x32.png"/>
    

    

    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />

    
      <link rel="stylesheet" href="../_static/css/sphinx_theme.css" type="text/css" />
    
      <link rel="stylesheet" href="../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
    
      <link rel="stylesheet" href="../_static/css/v2.css" type="text/css" />
    
      <link rel="stylesheet" href="../_static/css/custom.css" type="text/css" />
    
      <link rel="stylesheet" href="../_static/css/restructuredtext.css" type="text/css" />
    

    

    <link rel="stylesheet" href="../_static/css/overrides.css" type="text/css" />
          <link rel="index" title="Index"
                href="../genindex.html"/>
          <link rel="search" title="Search" href="../search.html"/>
      <link rel="top" title="Apache Mynewt latest documentation" href="../index.html"/> 

    
    <script src="../_static/js/modernizr.min.js"></script>

    
    <script>
    (function(i, s, o, g, r, a, m) {
	i["GoogleAnalyticsObject"] = r;
	(i[r] =
		i[r] ||
		function() {
			(i[r].q = i[r].q || []).push(arguments);
		}),
		(i[r].l = 1 * new Date());
	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
	a.async = 1;
	a.src = g;
	m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");

ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
    

  </head>

  <body class="not-front page-documentation" role="document" >
    <div id="wrapper">
      <div class="container">
    <div id="banner" class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="../_static/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.5.0 </a> released (Nov 5, 2018)
            </div>
        </div>
    </div>
</div>
      
<header>
    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
        <div class="container">
            <!-- Collapsed navigation -->
            <div class="navbar-header">
                <!-- Expander button -->
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>

            </div>

            <!-- Expanded navigation -->
            <div class="navbar-collapse collapse">
                <!-- Main navigation -->
                <ul class="nav navbar-nav navbar-right">
                    <li>
                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                    </li>
                    <li class="important">
                        <a href="/quick-start/">Quick Start</a>
                    </li>
                    <li>
                        <a href="/about/">About</a>
                    </li>
                    <li>
                        <a href="/talks/">Talks</a>
                    </li>
                    <li class="active">
                        <a href="/documentation/">Documentation</a>
                    </li>
                    <li>
                        <a href="/download/">Download</a>
                    </li>
                    <li>
                        <a href="/community/">Community</a>
                    </li>
                    <li>
                        <a href="/events/">Events</a>
                    </li>
                </ul>

                <!-- Search, Navigation and Repo links -->
                <ul class="nav navbar-nav navbar-right">
                    
                </ul>
            </div>
        </div>
    </nav>
</header>
      <!-- STARTS MAIN CONTENT -->
      <div id="main-content">
        





<div id="breadcrumb">
  <div class="container">
    <a href="/documentation/">Docs</a> /
    
    Mynewt Newt Tool Documentation
    
  <div class="sourcelink">
    <a href="https://github.com/apache/mynewt-newt/edit/master/docs/README.rst" class="icon icon-github"
           rel="nofollow"> Edit on GitHub</a>
</div>
  </div>
</div>
        <!-- STARTS CONTAINER -->
        <div class="container">
          <!-- STARTS .content -->
          <div id="content" class="row">
            
            <!-- STARTS .container-sidebar -->
<div class="container-sidebar col-xs-12 col-sm-3">
  <div id="docSidebar" class="sticky-container">
    <div role="search" class="sphinx-search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
    <!-- Note: only works when deployed -->
<select class="form-control" onchange="if (this.value) window.location.href=this.value">
  <option value="/latest" selected>
    Version: latest
  </option>
  <option value="/v1_4_0">
    Version: 1.4.0
  </option>
  <option value="/v1_3_0/os/introduction">
    Version: 1.3.0
  </option>
  <option value="/v1_2_0/os/introduction">
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction">
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction">
    Version: 1.0.0
  </option>
  <option value="/v0_9_0/os/introduction">
    Version: 0_9_0
  </option>
</select>
    <div class="region region-sidebar">
      <div class="docs-menu">
      
        
        
            <ul>
<li class="toctree-l1"><a class="reference internal" href="../index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../get_started/index.html">Setup &amp; Get Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/tutorials.html">Tutorials</a></li>
<li class="toctree-l1"><a class="reference internal" href="../os/os_user_guide.html">OS User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../network/docs/index.html">BLE User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="index.html">Newt Tool Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../newtmgr/index.html">Newt Manager Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mynewt_faq/index.html">Mynewt FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../misc/index.html">Appendix</a></li>
</ul>

        
      
      </div>
    </div>
  </div>
  <!-- ENDS STICKY CONTAINER -->
</div>
<!-- ENDS .container-sidebar -->

            <div class="col-xs-12 col-sm-9">
              
              <div class="">
                <div class="rst-content">
                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
                   <div itemprop="articleBody">
                    
  <div class="section" id="mynewt-newt-tool-documentation">
<h1><a class="toc-backref" href="#id1">Mynewt Newt Tool Documentation</a><a class="headerlink" href="#mynewt-newt-tool-documentation" title="Permalink to this headline">¶</a></h1>
<p>This folder holds the documentation for the newt tool for the
<a class="reference external" href="https://mynewt.apache.org/">Apache Mynewt</a> project. It is  built using <a class="reference external" href="http://www.sphinx-doc.org/">Sphinx</a>.</p>
<p>The complete project documentation can be found at <a class="reference external" href="https://github.com/apache/mynewt-documentation">mynewt documentation</a></p>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
<ul class="simple">
<li><a class="reference internal" href="#mynewt-newt-tool-documentation" id="id1">Mynewt Newt Tool Documentation</a><ul>
<li><a class="reference internal" href="#writing-documentation" id="id2">Writing Documentation</a></li>
<li><a class="reference internal" href="#previewing-changes" id="id3">Previewing Changes</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="writing-documentation">
<h2><a class="toc-backref" href="#id2">Writing Documentation</a><a class="headerlink" href="#writing-documentation" title="Permalink to this headline">¶</a></h2>
<p>See: <a class="reference external" href="https://github.com/apache/mynewt-documentation#writing-documentation">https://github.com/apache/mynewt-documentation#writing-documentation</a></p>
</div>
<div class="section" id="previewing-changes">
<h2><a class="toc-backref" href="#id3">Previewing Changes</a><a class="headerlink" href="#previewing-changes" title="Permalink to this headline">¶</a></h2>
<p>In order to preview any changes you make you must first install a Sphinx toolchain as
described at <a class="reference external" href="https://github.com/apache/mynewt-documentation#id3">https://github.com/apache/mynewt-documentation#id3</a>. Then:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ <span class="nb">cd</span> docs
$ make clean <span class="o">&amp;&amp;</span> make preview <span class="o">&amp;&amp;</span> <span class="o">(</span><span class="nb">cd</span> _build/html <span class="o">&amp;&amp;</span> python -m SimpleHTTPServer <span class="m">8080</span><span class="o">)</span>
</pre></div>
</div>
</div>
</div>


                   </div>
                  </div>
                  
                </div>
              </div>
            </div>
            <!-- ENDS CONTENT SECTION -->
          </div>
          <!-- ENDS .content -->
        </div>
      </div>
      <footer>
  <div class="container">
    <div class="row">
      <div class="col-xs-12">
          
              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
          
      </div>
      <div class="col-xs-12">
          <div class="logos">
              <img src="../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
              <small class="footnote">
                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
              </small>
              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
                <img src="../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
              </a>
          </div>
      </div>
    </div>
  </div>
</footer>
    </div>
    <!-- ENDS #wrapper -->

  

    <script type="text/javascript">
        var DOCUMENTATION_OPTIONS = {
            URL_ROOT:'../',
            VERSION:'latest',
            COLLAPSE_INDEX:false,
            FILE_SUFFIX:'.html',
            HAS_SOURCE:  true,
            SOURCELINK_SUFFIX: '.txt'
        };
    </script>
      <script type="text/javascript" src="../_static/jquery.js"></script>
      <script type="text/javascript" src="../_static/underscore.js"></script>
      <script type="text/javascript" src="../_static/doctools.js"></script>
      <script type="text/javascript" src="../_static/js/bootstrap-3.0.3.min.js"></script>
      <script type="text/javascript" src="../_static/js/affix.js"></script>
      <script type="text/javascript" src="../_static/js/main.js"></script>

   

  </body>
</html>