.. _language: ========================== Maple Language Reference ========================== The Maple can be programmed in a mostly-complete subset of the the `Wiring `_ language, which is the same language used to program the `Arduino `_ boards. The entire language will be supported in a future release. Please see the extensive `language reference `_ 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 `_ * STMicro documentation for STM32F103RB microcontroller: * `All documents `_ * `Datasheet (pdf) `_ * `Reference Manual (pdf) `_ * `Programming Manual (pdf) `_ (assembly language and register reference)