Permalink
Browse files

Documentation.

  • Loading branch information...
eerimoq committed Dec 23, 2016
1 parent 7826f0d commit ebea0fbe0d808c2529e103348768cb70f594328b
View
@@ -33,4 +33,4 @@ See the `Pumbaa documentation`_ for detailed step-by-step instructions.
.. _codecov: https://codecov.io/gh/eerimoq/pumbaa
.. _Arduino IDE: https://www.arduino.cc/en/Main/Software
.. _Pumbaa documentation: http://pumbaa.readthedocs.io/en/latest/installation.html#arduino-arduino-ide
.. _Pumbaa documentation: http://pumbaa.readthedocs.io/en/latest/getting-started.html#arduino-arduino-ide
View
@@ -0,0 +1,114 @@
Getting started
===============
Installation
------------
There are three build systems available; `PlatformIO`, `Arduino IDE`
and `Simba build system`. The `Simba build system` has more features
than to the other two. It supports executing test suites, generating
code coverage, profiling and more. Still, if you are familiar with
`Arduino IDE` or `PlatformIO`, use that instead since it will be less
troublesome.
|platformio| PlatformIO
-----------------------
Install `Pumbaa` in `PlatformIO`_.
1. Install the `PlatformIO IDE`_.
2. Open blink example. [TODO]
3. Click on `Upload` in the top left corner.
4. The built-in LED blinks!
5. Done!
|arduino| Arduino IDE
^^^^^^^^^^^^^^^^^^^^^
Install `Pumbaa` in the `Arduino IDE 1.6.10`_ as a third party board
using the Boards Manager.
1. Open `File` -> `Preferences`.
2. Add these URL:s to `Additional Boards Manager URLs` (click on the
icon to the right of the text field) and press `OK`.
.. code-block:: text
https://raw.githubusercontent.com/eerimoq/pumbaa-releases/master/arduino/sam/package_pumbaa_sam_index.json
https://raw.githubusercontent.com/eerimoq/pumbaa-releases/master/arduino/esp32/package_pumbaa_esp32_index.json
3. Open `Tools` -> `Board: ...` -> `Boards Manager...` and type
`pumbaa` in the search box.
4. Click on `Pumbaa by Erik Moqivst version x.y.z` and click
`Install` and press `Close`.
5. Open `Tools` -> `Board: ...` -> `Boards Manager...` and
select one of the Pumbaa boards in the list.
6. Open `File` -> `Examples` -> `Pumbaa` -> `blink`.
7. Verify and upload the sketch to your device.
8. The built-in LED blinks!
9. Done!
|simba| Simba build system
^^^^^^^^^^^^^^^^^^^^^^^^^^
The `Pumbaa` development environment can be installed on `Linux
(Ubuntu 14)`_.
1. Execute the one-liner below to install `Pumbaa`.
.. code-block:: text
$ mkdir pumbaa && \
cd pumbaa && \
sudo apt install ckermit valgrind cppcheck cloc python python-pip doxygen git lcov && \
sudo apt install bossa-cli gcc-arm-none-eabi && \
sudo apt install make unrar autoconf automake libtool gcc g++ gperf \
flex bison texinfo gawk ncurses-dev libexpat-dev \
python-serial sed libtool-bin && \
sudo pip install pyserial pyelftools xpect sphinx breathe sphinx_rtd_theme && \
git clone https://github.com/eerimoq/pumbaa --recursive
2. Setup the environment.
.. code-block:: text
$ cd pumbaa
$ source setup.sh
2. Build and upload the blink example to your device.
.. code-block:: text
$ cd examples/blink
$ make -s BOARD=nano32 upload
3. The built-in LED blinks!
4. Done!
.. _PlatformIO IDE: http://platformio.org/platformio-ide
.. _Arduino IDE 1.6.10: https://www.arduino.cc/en/Main/Software
.. |arduino| image:: images/Arduino_Logo.png
:width: 40 px
.. _arduino: http://arduino.cc
.. |platformio| image:: images/platformio-logo.png
:width: 40 px
.. _platformio: http://platformio.org
.. |simba| image:: images/Simba_Logo.jpg
:width: 80 px
.. _simba: http://github.com/eerimoq/simba
Binary file not shown.
View
@@ -28,7 +28,7 @@ available on the :doc:`videos` page.
:titlesonly:
:hidden:
installation
getting-started
user-guide
developer-guide
boards
View

This file was deleted.

Oops, something went wrong.
View
@@ -5,7 +5,7 @@ This guide is intended for users of the Pumbaa Embedded Programming
Platform.
The `Pumbaa` installation guide can be found on the
:doc:`installation` page.
:doc:`getting-started` page.
Software architecture
---------------------
@@ -30,7 +30,7 @@ application is implemnted in Python.
:glob:
:maxdepth: 1
user-guide/build-system
user-guide/configuration
user-guide/environment-setup
user-guide/hello-world-application
user-guide/configuration
user-guide/build-system
@@ -1,4 +1,31 @@
Build system
============
`Pumbaa` is using the `Simba` build system.
PlatformIO
----------
All Python source files in your project's ``src/`` folder will be
uploaded to the board automatically as frozen modules.
See the `PlatformIO website`_ for more information.
Arduino IDE
-----------
The build system only allows a single Python script file, the Arduino
sketch ``.ino``.
See the `Arduino website`_ for more information.
Simba build system
------------------
The make variable ``PYSRC`` is list of all Python script files.
See the `Simba documentation`_ for more information.
.. _PlatformIO website: http://docs.platformio.org/en/latest/core.html
.. _Arduino website: https://www.arduino.cc
.. _Simba documentation: http://simba-os.readthedocs.io/en/latest/user-guide/build-system.html
@@ -5,10 +5,14 @@ Standard Library
----------------
The :doc:`../library-reference` is configured at compile time using
defines named ``CONFIG_*``. The default configuration includes most
functionality, as most application wants that. If an application has
special requirements, for example memory constraints, it has to be
configured to remove unnecessaray functionality.
defines that starts with ``CONFIG_PUMBAA_``. The default configuration
includes most functionality, as most application wants that. If an
application has special requirements, for example memory constraints,
it has to be configured to remove unnecessaray functionality.
The underlying MicroPython source code can also be configured in
compile time. Often these configuration valiables starts with
``MICROPY_``.
Simba can be configured as described in the `Simba documentation`_.
@@ -17,18 +21,39 @@ Search order
Highest priority first.
Simba build system
""""""""""""""""""
1. Command line as ``CDEFS_EXTRA="<configuration variable>=<value>"``.
2. A file named ``config.h`` in the application root folder. Always
add ``#include "simba_config.h"`` at the end of this file to
include the default Simba configuration as defined by Pumbaa.
2. A file named ``config.h`` in the application root folder.
3. The default configuration file,
:github-blob:`src/pumbaa_config_default.h`.
PlatformIO
""""""""""
1. The variable ``build_flags`` in ``platformio.ini`` as
``build_flags = -D<configuration variable>=<value>``.
2. A file named ``config.h`` in the application source folder ``src``.
3. The default configuration file,
:github-blob:`src/pumbaa_config_default.h`.
Arduino IDE
"""""""""""
1. A file (also called a `tab`) named ``config.h`` in the sketch.
3. The default configuration file, :github-blob:`src/pumbaa_config_default.h`.
2. The default configuration file,
:github-blob:`src/pumbaa_config_default.h`.
Variables
^^^^^^^^^
All configuration variables are listed below. Their default values are
defined in :github-blob:`src/pumbaa_config_default.h`.
All configuration variables are listed in
:github-blob:`src/pumbaa_config_default.h`.
.. _Simba documentation: http://simba-os.readthedocs.io/en/latest/user-guide/configuration.html
@@ -4,6 +4,9 @@ Environment setup
The first step is always to setup the `Pumbaa` environment. It's a
simple matter of sourcing a setup-script in the pumbaa root folder.
This step only applies to the `Simba build system`, and not to the
`Arduino IDE` or `PlatformIO`.
.. code-block:: text
$ source setup.sh

0 comments on commit ebea0fb

Please sign in to comment.