aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/libraries.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/source/libraries.rst')
-rw-r--r--docs/source/libraries.rst80
1 files changed, 80 insertions, 0 deletions
diff --git a/docs/source/libraries.rst b/docs/source/libraries.rst
new file mode 100644
index 0000000..1ae0e87
--- /dev/null
+++ b/docs/source/libraries.rst
@@ -0,0 +1,80 @@
+.. highlight:: c++
+.. default-domain:: cpp
+
+.. _libraries:
+
+=========================
+ Maple Library Reference
+=========================
+
+.. Note: if you port an Arduino library and document it here, be sure
+.. to update compatibility.rst to reflect that fact.
+
+This page lists the extra libraries that are part of the :ref:`Maple
+IDE <ide>` (along with the rest of :ref:`libmaple <libmaple>`). You
+can use a library from within a sketch by going to Sketch > Import
+Library... from within the IDE, then choosing the library you want.
+
+Any incompatibilities between the Maple and Arduino versions of a
+library are noted in the library's documentation.
+
+.. contents:: Contents
+ :local:
+
+.. toctree::
+ :hidden:
+
+ libs/servo.rst
+ libs/wire.rst
+
+.. admonition:: **Looking for Something Else?**
+
+ - See the :ref:`language` for information on the core functions
+ used for programming a Maple board.
+
+ - If you're looking for something from the C standard library (like
+ ``atoi()``, for instance): the :ref:`CodeSourcery GCC compiler
+ <arm-gcc>` used to compile your programs is configured to link
+ against `newlib <http://sourceware.org/newlib/>`_, and allows the
+ use of any of its header files. However, dynamic memory allocation
+ (``malloc()``, etc.) is not available.
+
+ - If you're looking for low-level hardware support libraries, see
+ the :ref:`libmaple Reference <libmaple>`.
+
+.. _libraries-servo:
+
+Servo
+-----
+
+The :ref:`Servo <libs-servo>` library is provided for convenient
+control of RC servomotors.
+
+.. _libraries-liquid-crystal:
+
+LiquidCrystal
+-------------
+
+.. TODO [0.1.0] LiquidCrystal docs under libs/liquidcrystal.rst
+
+The LiquidCrystal library allows Maple to control LCD screens. For
+more information, see the `Arduino LiquidCrystal documentation
+<http://www.arduino.cc/en/Reference/LiquidCrystal>`_.
+
+**Arduino Compatibility**
+
+At this time, no incompatibilities between the Maple and Arduino
+versions are known (although the Maple version should perform
+significantly faster). Any observed differences should be considered
+bugs, and reported on the forums.
+
+.. _libraries-wire:
+
+Wire
+----
+
+.. FIXME [0.0.13] Update with crenn's info
+
+We currently provide a soft (bit-banged) implementation of the
+:ref:`Wire <libs-wire>` I2C library. A hardware version is planned
+for Maple IDE release 0.1.0.