Skip to content

Commit

Permalink
Add intro and directory structure description
Browse files Browse the repository at this point in the history
  • Loading branch information
deshipu committed Jul 25, 2016
1 parent f48de80 commit 33b0246
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ __pycache__/
.Python
env/
build/
_build/
develop-eggs/
dist/
downloads/
Expand Down
61 changes: 61 additions & 0 deletions directories.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
Directory Structure
*******************

The MicroPython repository is divided into a number of directories, each with
its own function. Some of them include:


Docs, Logo and Examples
=======================

The user documentation for all ports lives in the ``docs`` directory, with some
example code in the ``examples`` directory. The ``logo`` directory contains the
MicroPython logo in various formats.


Tests
=====

All tests live in the ``tests`` directory.


Python Code
===========

The ``py`` directory contains the bulk of code for the compiler, runtime
environment and core library of MicroPython. This is where we will be looking
for API functions and macros.


Port-specific Code
==================

The directories such as ``esp8266``, ``cc3200``, ``pic16bit``, ``teensy``,
``stmhal``, ``bare-arm``, ``qemu-arm``, ``unix`` and ``windows`` contain code
and tools specific to particular ports of MicroPython. If you are working on a
feature to be added for a specific hardware, this is probably the best place to
put your files.


Minimal Port
============

The ``minimal`` directory contains the minimum of files that a new port needs.
You can use this as a template for starting new ports of MicroPython.


Common Parts
============

The ``extmod`` directory contains source of MicroPython modules that may are
not part of the core library, but are useful for multiple ports. The
``drivers`` directory has code for libraries that communicate with various
additional hardware, such as displays or sensors.


Tools and Utilities
===================

The ``tools`` directory contains various tools useful for working with
MicroPython. The ``mpy-cross`` directory has code for the MicroPython
cross-compiler, which can be used to generate frozen bytecode modules.
4 changes: 3 additions & 1 deletion index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ Welcome to MicroPython Development Documentation's documentation!
Contents:

.. toctree::
:maxdepth: 2
:maxdepth: 2

intro.rst
directories.rst


Indices and tables
Expand Down
7 changes: 7 additions & 0 deletions intro.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Introduction
************

This is an unofficial MicroPython development guide. It was written to make it
easier for new developers to start contributing code to the MicroPython
project. It's not comprehensive, and at times might even be wrong, but it is
some starting point.

0 comments on commit 33b0246

Please sign in to comment.