aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/language.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/source/language.rst')
-rw-r--r--docs/source/language.rst86
1 files changed, 86 insertions, 0 deletions
diff --git a/docs/source/language.rst b/docs/source/language.rst
new file mode 100644
index 0000000..edc027d
--- /dev/null
+++ b/docs/source/language.rst
@@ -0,0 +1,86 @@
+.. _language:
+
+==========================
+ Maple Language Reference
+==========================
+
+The Maple can be programmed in a mostly-complete subset of the the
+`Wiring <http://www.wiring.org.co/reference/>`_ language, which is the
+same language used to program the `Arduino <http://arduino.cc/>`_
+boards. The entire language will be supported in a future release.
+Please see the extensive `language reference
+<http://arduino.cc/en/Reference/HomePage>`_ on the Arduino webpage for
+more information, or follow a direct link below.
+
+Unique Maple Additions
+----------------------
+
+``ASSERT(...)``
+ The ``ASSERT()`` function can be very useful for basic program
+ debugging. The function accepts a boolean; for example:
+
+ ``ASSERT(state == WAIT);``
+
+ zero is false and any other number is true. If the boolean is true
+ the assertion passes and the program continues as usual. If it is
+ false, the assertion fails: the program is halted, debug
+ information is printed to USART2, and the status LED begins to
+ throb in intensity (it's noticeably different from blinking). The
+ debug information is printed at 9600 baud and consists of the
+ filename and line number where the particular assertion failed.
+
+ Including assertions in a program increases the program size. When
+ using libmaple from the command line, they can be silently
+ disabled by setting the ``DEBUG_LEVEL`` variable to ``DEBUG_NONE``
+ in `libmaple.h <>`; in this case all assertions pass without any
+ lost clock cycles.
+
+Arduino Documentation Links
+---------------------------
+
+.. .. list-table:: Frozen Delights!
+.. :widths: 15 10 30
+.. :header-rows: 1
+
+.. * - Treat
+.. - Quantity
+.. - Description
+.. * - Albatross
+.. - 2.99
+.. - On a stick!
+.. * - Crunchy Frog
+.. - 1.49
+.. - If we took the bones out, it wouldn't be
+.. crunchy, now would it?
+.. * - Gannet Ripple
+.. - 1.99
+.. - On a stick!
+
+.. ===== ===== =======
+.. A B A and B
+.. ===== ===== =======
+.. False False False
+.. True False False
+.. False True False
+.. True True True
+.. ===== ===== =======
+
+.. +------------------------+------------+----------+----------+
+.. | Header row, column 1 | Header 2 | Header 3 | Header 4 |
+.. | (header rows optional) | | | |
+.. +========================+============+==========+==========+
+.. | body row 1, column 1 | column 2 | column 3 | column 4 |
+.. +------------------------+------------+----------+----------+
+.. | body row 2 | ... | ... | |
+.. +------------------------+------------+----------+----------+
+
+Recommended Reading
+-------------------
+
+* `newlib Documentation <http://sourceware.org/newlib/>`_
+* STMicro documentation for STM32F103RB microcontroller:
+
+ * `All documents <http://www.st.com/mcu/devicedocs-STM32F103RB-110.html>`_
+ * `Datasheet (pdf) <http://www.st.com/stonline/products/literature/ds/13587.pdf>`_
+ * `Reference Manual (pdf) <http://www.st.com/stonline/products/literature/rm/13902.pdf>`_
+ * `Programming Manual (pdf) <http://www.st.com/stonline/products/literature/pm/15491.pdf>`_ (assembly language and register reference)