aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorbnewbold <bnewbold@robocracy.org>2014-08-27 19:02:33 -0400
committerbnewbold <bnewbold@robocracy.org>2014-08-27 19:04:16 -0400
commitd7212508f203d03b4931b94695fb10cb8a7862c2 (patch)
treec9c646ba7df11025d0527f276488b220e9e6f4f9 /docs
parent239f77ce49fb0a11c6ef2b59825c7e772ebad11e (diff)
downloadlibrambutan-d7212508f203d03b4931b94695fb10cb8a7862c2.tar.gz
librambutan-d7212508f203d03b4931b94695fb10cb8a7862c2.zip
docs: first pass removal of board-specific hardware info
Diffstat (limited to 'docs')
-rw-r--r--docs/source/_templates/indexcontent.html12
-rw-r--r--docs/source/adc.rst8
-rw-r--r--docs/source/contents.rst15
-rw-r--r--docs/source/epilog.rst4
-rw-r--r--docs/source/external-interrupts.rst8
-rw-r--r--docs/source/fsmc.rst4
-rw-r--r--docs/source/gpio.rst10
-rw-r--r--docs/source/hardware/maple-mini.rst402
-rw-r--r--docs/source/hardware/maple-native-beta.rst605
-rw-r--r--docs/source/hardware/maple-native.rst6
-rw-r--r--docs/source/hardware/maple-ret6.rst466
-rw-r--r--docs/source/hardware/maple.rst618
-rw-r--r--docs/source/lang/api/analogread.rst5
-rw-r--r--docs/source/lang/api/board-values.rst8
-rw-r--r--docs/source/lang/api/disabledebugports.rst4
-rw-r--r--docs/source/lang/api/pwmwrite.rst5
-rw-r--r--docs/source/language.rst4
-rw-r--r--docs/source/libs/servo.rst2
-rw-r--r--docs/source/timers.rst8
-rw-r--r--docs/source/troubleshooting.rst62
-rw-r--r--docs/source/usart.rst8
21 files changed, 41 insertions, 2223 deletions
diff --git a/docs/source/_templates/indexcontent.html b/docs/source/_templates/indexcontent.html
index 6724303..b4410c3 100644
--- a/docs/source/_templates/indexcontent.html
+++ b/docs/source/_templates/indexcontent.html
@@ -41,18 +41,6 @@ changes that are new in {{ release }}.</p>
Toolchain</a></li>
</ul>
</td>
- <td><p><strong>Boards</strong></p>
- <ul>
- <li><a href="{{ pathto("hardware/maple") }}">Maple</a>
- {{ content_sep }}</li>
- <li><a href="{{ pathto("hardware/maple-ret6") }}">Maple RET6&nbsp;Edition</a>
- {{ content_sep }}</li>
- <li><a href="{{ pathto("hardware/maple-mini") }}">Maple Mini</a>
- {{ content_sep }}</li>
- <li><a href="{{ pathto("hardware/maple-native-beta") }}">Maple
- Native β</a></li>
- </ul>
- </td>
</tr>
<tr>
<td><p><strong>Programming</strong></p>
diff --git a/docs/source/adc.rst b/docs/source/adc.rst
index 70417ea..c308215 100644
--- a/docs/source/adc.rst
+++ b/docs/source/adc.rst
@@ -55,10 +55,10 @@ additional functionality, cost, and package size. More information on
these isolated pins is available in each board's hardware
documentation:
-* :ref:`Maple <maple-adc-bank>`
-* :ref:`Maple RET6 Edition <maple-ret6-adc-bank>`
-* :ref:`Maple Mini <maple-mini-adc-bank>`
-* :ref:`Maple Native Beta <maple-native-b-adc-bank>`
+* `Leaflabs Maple`_
+* `Leaflabs Maple RET6`_
+* `Leaflabs Maple Mini`_
+* `Leaflabs Maple Native Beta`_
That said, there are a number of more general things you can do to try
to get good readings. If your input voltage changes relatively
diff --git a/docs/source/contents.rst b/docs/source/contents.rst
index 0738d28..ee32306 100644
--- a/docs/source/contents.rst
+++ b/docs/source/contents.rst
@@ -53,18 +53,3 @@ Contents in Full
systick
usb
usart
-
-.. _index-boards:
-
-**Boards**
-
-.. toctree::
- :maxdepth: 2
-
- hardware/maple.rst
- hardware/maple-ret6.rst
- hardware/maple-mini.rst
- hardware/maple-native-beta.rst
-
-.. TODO [Maple Native] write/include upon finished Native release
-.. hardware/maple-native.rst
diff --git a/docs/source/epilog.rst b/docs/source/epilog.rst
index b548001..0c1a091 100644
--- a/docs/source/epilog.rst
+++ b/docs/source/epilog.rst
@@ -12,3 +12,7 @@
.. _Git: http://git-scm.com/
.. _dfu-util: http://wiki.openmoko.org/wiki/Dfu-util
.. _easy_install: http://packages.python.org/distribute/easy_install.html
+.. _Leaflabs Maple: http://leaflabs.com/docs/hardware/maple-mini.html
+.. _Leaflabs Maple RET6: http://leaflabs.com/docs/hardware/maple-ret6.html
+.. _Leaflabs Maple Mini: http://leaflabs.com/docs/hardware/maple-mini.html
+.. _Leaflabs Maple Native Beta: http://leaflabs.com/docs/hardware/maple-native-beta.html
diff --git a/docs/source/external-interrupts.rst b/docs/source/external-interrupts.rst
index 209d5af..817b7a8 100644
--- a/docs/source/external-interrupts.rst
+++ b/docs/source/external-interrupts.rst
@@ -37,10 +37,10 @@ interrupts at a time [#fextisports]_.
The EXTI Line Pin Map for your board lists which pins connect to which
EXTI lines:
-* :ref:`Maple <maple-exti-map>`
-* :ref:`Maple RET6 Edition <maple-ret6-exti-map>`
-* :ref:`Maple Mini <maple-mini-exti-map>`
-* :ref:`Maple Native Beta <maple-native-b-exti-map>`
+* `Leaflabs Maple`_
+* `Leaflabs Maple RET6`_
+* `Leaflabs Maple Mini`_
+* `Leaflabs Maple Native Beta`_
Function Reference
------------------
diff --git a/docs/source/fsmc.rst b/docs/source/fsmc.rst
index c8f0125..ff352c4 100644
--- a/docs/source/fsmc.rst
+++ b/docs/source/fsmc.rst
@@ -30,4 +30,6 @@ Recommended Reading
-------------------
- Wikipedia article on `SRAM <http://en.wikipedia.org/wiki/Static_random-access_memory>`_
-- :ref:`ST RM0008 <maple-native-b-stdocs>` chapter on FSMC.
+- ST RM0008 chapter on FSMC.
+
+.. TODO direct link to ST RM0008
diff --git a/docs/source/gpio.rst b/docs/source/gpio.rst
index 929173e..c844880 100644
--- a/docs/source/gpio.rst
+++ b/docs/source/gpio.rst
@@ -69,12 +69,10 @@ GPIO port and bit for each pin number. The GPIO documentation for
your board includes its pin map, which also lists the other
peripherals by pin number:
-* :ref:`Maple <maple-gpios>`
-* :ref:`Maple RET6 Edition <maple-ret6-gpios>`
-* :ref:`Maple Mini <maple-mini-gpios>`
-* :ref:`Maple Native (Beta) <maple-native-b>`
-
-.. * :ref:`Maple Native <maple-native-gpios>`
+* `Leaflabs Maple`_
+* `Leaflabs Maple RET6`_
+* `Leaflabs Maple Mini`_
+* `Leaflabs Maple Native Beta`_
.. _gpio-5v-tolerant:
diff --git a/docs/source/hardware/maple-mini.rst b/docs/source/hardware/maple-mini.rst
deleted file mode 100644
index c28211d..0000000
--- a/docs/source/hardware/maple-mini.rst
+++ /dev/null
@@ -1,402 +0,0 @@
-.. _maple-mini:
-
-Maple Mini
-==========
-
-This page is a general resource for information specific to the Maple
-Mini. The Maple Mini is a smaller version of the Maple that fits on a
-breadboard.
-
-.. contents:: Contents
- :local:
-
-.. TODO [dma.rst] Ref to dma.rst in sequel instead of libmaple-dma
-
-Technical Specifications
-------------------------
-
-* MCU: :ref:`STM32F103CBT6 <maple-mini-stdocs>`, a 32-bit ARM Cortex
- M3 microprocessor
-* Clock Speed: **72 MHz**
-* **128 KB Flash** and **20 KB SRAM**
-* 34 :ref:`digital I/ pins (GPIOs) <gpio>`
-* 12 :ref:`PWM <pwm>` pins at 16 bit resolution
-* 9 :ref:`analog input (ADC) <adc>` pins at 12 bit resolution
-* 2 :ref:`SPI <spi>` peripherals
-* 2 :ref:`I2C <i2c>` peripherals
-* 7 Channels of Direct Memory Access (**DMA**) (:ref:`libmaple-dma`)
-* 3 :ref:`USART (serial port) <usart>` peripherals
-* 1 advanced and 3 general-purpose :ref:`timers <timers>`
-* Dedicated :ref:`USB <usb>` port for programming and communications
-* :ref:`jtag`
-* Nested Vectored Interrupt Controller (NVIC) (including
- :ref:`external interrupt <external-interrupts>` on GPIOs)
-* Supplies up to 500 mA at 3.3 V, with :ref:`separate 250 mA digital
- and analog regulators <maple-mini-adc-bank>` for low-noise analog
- performance
-* :ref:`Open source, four layer design <maple-mini-hardware>`
-* Support for low power, sleep, and standby modes (<500 μA)
-* Operating Voltage: 3.3 V
-* Input Voltage (recommended): 3 V — 12 V
-* Dimensions: 2.02″ × 0.72″
-
-.. _maple-mini-powering:
-
-Powering the Maple Mini
------------------------
-
-You can power the Maple Mini via the USB plug or by powering Vin
-directly.
-
-.. warning:: The silkscreen on the Maple Mini suggests it will accept
- an input voltage up to 16 V. We recommend applying **no greater
- than 12 V**, and potentially even lower depending upon the current
- draw requirements of the application. Please see :ref:`Power
- Regulation on the Maple Mini <maple-mini-power-regulation>` for
- more information.
-
-.. _maple-mini-power-regulation:
-
-Power Regulation on the Maple Mini
-----------------------------------
-
-Power regulation on the Maple is provided by two low dropout linear
-voltage regulators. (The part is the MCP1703 from Microchip, in the
-SOT-23A package. You can download the datasheet `here
-<http://ww1.microchip.com/downloads/en/DeviceDoc/22049a.pdf>`_ ). One
-of the regulators supplies power to the digital voltage plane; the
-other supplies power to the analog voltage plane.
-
-These voltage regulators nominally take an input of up to 16V. In
-addition, while the maximum continuous output current for the board is
-250mA, if you are powering the board off higher voltages the amount
-current it can supply goes down, due to the regulators needing to
-dissipate the extra power. So if you are powering the board off 12V,
-the max current is about 40mA at room temperature. In general (again,
-at room temperature) the max power dissipation (PD) for the chip is
-about .37W, and output current = PD/(Vin-Vout). For exact max current
-calculations, please refer to the datasheet linked above.
-
-If you are planning to draw a lot of current from the Maple board, it
-is necessary to provide input power as close to 3.3V as
-possible. Powering the microcontroller circuitry and LEDs on the board
-alone takes approximately 30mA, so if you are powering the board with
-12V that leaves only 10mA (at best) available for powering any user
-circuitry. Attempting to draw more than 10mA runs the risk of shorting
-out the power regulators and bricking your board.
-
-.. _maple-mini-gpios:
-
-GPIO Information
-----------------
-
-The Maple Mini features 34 total input/output pins, numbered ``D0``
-through ``D33``. These numbers correspond to the numeric values next
-to each header on the Maple Mini's silkscreen. However, some of them
-have special uses by default [#fusedpins]_.
-
-.. _maple-mini-usb-pins:
-
-Pin ``D23`` is the :ref:`USB <usb>` D+ line, and ``D24`` is the USB D-
-line. To use them as GPIOs, your program will need to :ref:`disable
-SerialUSB <lang-serialusb-end>` first. Be aware, however, that
-disabling SerialUSB means that the :ref:`bootloader <bootloader>`
-won't work properly, and you'll need to use
-:ref:`troubleshooting-perpetual-bootloader` to make your next upload.
-
-.. _maple-mini-but:
-
-Pin ``D32`` is the Mini's :ref:`button pin <lang-board-values-but>`.
-It is thus mainly useful as an :ref:`input <lang-pin-levels>`. The
-pin will :ref:`read <lang-digitalread>` ``HIGH`` when the :ref:`button
-is pressed <lang-isbuttonpressed>`.
-
-.. _maple-mini-led:
-
-Pin ``D33`` is the Mini's :ref:`LED pin <lang-board-values-led>`. It
-is thus mainly useful as an :ref:`output <lang-pin-levels>`. The LED
-will glow when ``HIGH`` is :ref:`written <lang-digitalwrite>` to it.
-(It also supports :ref:`pwm`, for finer-grained brightness control).
-
-.. TODO [0.1.0] silkscreen pictures which expand abbreviations
-
-.. _maple-mini-pin-map-master:
-
-Master Pin Map
-^^^^^^^^^^^^^^
-
-This table shows a summary the available functionality on every GPIO
-pin, by peripheral type. The "5 V?" column documents whether or not
-the pin is :ref:`5 volt tolerant <gpio-5v-tolerant>`.
-
-Note that this table is not exhaustive; on some pins, more peripherals
-are available than are listed here.
-
-.. csv-table::
- :header: Pin, :ref:`GPIO <gpio>`, :ref:`ADC <adc>`, :ref:`Timer <timers>`, :ref:`I2C <i2c>`, :ref:`UART <usart>`, :ref:`SPI <spi>`, 5 V?
-
- D0, PB11, -, -, 2_SDA, 3_RX, -, Yes
- D1, PB10, -, -, 2_SCL, 3_TX, -, Yes
- D2, PB2, -, -, -, -, -, Yes
- D3, PB0, CH8, 3_CH3, -, -, -, -
- D4, PA7, CH7, 3_CH2, -, -, 1_MOSI, -
- D5, PA6, CH6, 3_CH1, -, -, 1_MISO, -
- D6, PA5, CH5, -, -, -, 1_SCK, -
- D7, PA4, CH4, -, -, 2_CK, 1_NSS, -
- D8, PA3, CH3, 2_CH4, -, 2_RX, -, -
- D9, PA2, CH2, 2_CH3, -, 2_TX, -, -
- D10, PA1, CH1, 2_CH2, -, 2_RTS, -, -
- D11, PA0, CH0, 2_CH1_ETR, -, 2_CTS, -, -
- D12, PC15, -, -, -, -, -, -
- D13, PC14, -, -, -, -, -, -
- D14, PC13, -, -, -, -, -, -
- D15, PB7, -, 4_CH2, 1_SDA, -, -, Yes
- D16, PB6, -, 4_CH1, 2_SCL, -, -, Yes
- D17, PB5, -, -, 1_SMBA, -, -, -
- D18, PB4, -, -, -, -, -, Yes
- D19, PB3, -, -, -, -, -, Yes
- D20, PA15, -, -, -, -, -, Yes
- D21, PA14, -, -, -, -, -, Yes
- D22, PA13, -, -, -, -, -, Yes
- D23, PA12, -, 1_ETR, -, 1_RTS, -, Yes
- D24, PA11, -, 1_CH4, -, 1_CTS, -, Yes
- D25, PA10, -, 1_CH3, -, 1_RX, -, Yes
- D26, PA9, -, 1_CH2, -, 1_TX, -, Yes
- D27, PA8, -, 1_CH1, -, 1_CK, -, Yes
- D28, PB15, -, -, -, -, 2_MOSI, Yes
- D29, PB14, -, -, -, 3_RTS, 2_MISO, Yes
- D30, PB13, -, -, -, 3_CTS, 2_SCK, Yes
- D31, PB12, -, 1_BKIN, 2_SMBA, 3_CK, 2_NSS, Yes
- D32, PB8, -, 4_CH3, -, -, -, Yes
- D33, PB1, CH9, 3_CH4, -, -, -, -
-
-.. _maple-mini-gpio-port-map:
-
-GPIO Port Pin Map
-^^^^^^^^^^^^^^^^^
-The following table shows what pins are associated with each
-:ref:`GPIO port <gpio-ports>`.
-
-.. csv-table::
- :header: GPIOA, GPIOB, GPIOC
-
- PA0: D11, PB0: D3, PC0: -
- PA1: D10, PB1: D33, PC1: -
- PA2: D9, PB2: D2, PC2: -
- PA3: D8, PB3: D19, PC3: -
- PA4: D7, PB4: D18, PC4: -
- PA5: D6, PB5: D17, PC5: -
- PA6: D5, PB6: D16, PC6: -
- PA7: D4, PB7: D15, PC7: -
- PA8: D27, PB8: D32, PC8: -
- PA9: D26, PB9: -, PC9: -
- PA10: D25, PB10: D1, PC10: -
- PA11: D24, PB11: D0, PC11: -
- PA12: D23, PB12: D31, PC12: -
- PA13: D22, PB13: D30, PC13: D14
- PA14: D21, PB14: D29, PC14: D13
- PA15: D20, PB15: D28, PC15: D12
-
-.. _maple-mini-timer-map:
-
-Timer Pin Map
-^^^^^^^^^^^^^
-
-The following table shows what pins are associated with a particular
-timer's capture/compare channels.
-
-.. csv-table::
- :header: Timer, Ch. 1, Ch. 2, Ch. 3, Ch. 4
- :delim: |
-
- 1 | D27 | D26 | D25 | D24
- 2 | D11 | D10 | D9 | D8
- 3 | D5 | D4 | D3 | :ref:`D33 <maple-mini-led>`
- 4 | D16 | D15 | :ref:`D32 <maple-mini-but>` |
-
-.. _maple-mini-exti-map:
-
-EXTI Line Pin Map
-^^^^^^^^^^^^^^^^^
-
-The following table shows which pins connect to which :ref:`EXTI lines
-<external-interrupts-exti-line>`.
-
-.. list-table::
- :widths: 1 1
- :header-rows: 1
-
- * - EXTI Line
- - Pins
- * - EXTI0
- - D3, D11
- * - EXTI1
- - D10, D33
- * - EXTI2
- - D2, D9
- * - EXTI3
- - D8, D19
- * - EXTI4
- - D7, D18
- * - EXTI5
- - D6, D17
- * - EXTI6
- - D5, D16
- * - EXTI7
- - D4, D15
- * - EXTI8
- - D27, D32
- * - EXTI9
- - D26
- * - EXTI10
- - D1, D25
- * - EXTI11
- - D0, D24
- * - EXTI12
- - D23, D31
- * - EXTI13
- - D14, D22, D30
- * - EXTI14
- - D13, D21, D29
- * - EXTI15
- - D12, D20, D28
-
-.. _maple-mini-usart-map:
-
-USART Pin Map
-^^^^^^^^^^^^^
-
-The Maple Mini has three serial ports (also known as :ref:`USARTs
-<usart>`). They communicate using the pins given in the following
-table.
-
-.. csv-table::
- :header: Serial Port, TX, RX, CK, CTS, RTS
- :delim: |
-
- ``Serial1`` | D26 | D25 | D27 | D24 | D23
- ``Serial2`` | D9 | D8 | D7 | D11 | D10
- ``Serial3`` | D1 | D0 | D31 | D30 | D29
-
-.. _maple-mini-adc-bank:
-
-Low-Noise ADC Pins
-^^^^^^^^^^^^^^^^^^
-
-Maple Mini has an electrically isolated analog power plane with its
-own regulator, and a geometrically isolated ground plane, connected to
-the digital plane by an inductor. Its analog input pins, D3 — D11,
-are laid out to correspond with these analog planes, and our
-measurements indicate that they generally offer low noise ADC
-performance. However, analog performance may vary depending upon the
-activity of the other GPIOs. Consult the :ref:`Maple Mini hardware
-design files <maple-mini-hardware>` for more details.
-
-.. _maple-mini-board-values:
-
-Board-Specific Values
----------------------
-
-This section lists the Maple Mini's :ref:`board-specific values
-<lang-board-values>`.
-
-- ``CYCLES_PER_MICROSECOND``: 72
-- ``BOARD_BUTTON_PIN``: 32
-- ``BOARD_LED_PIN``: 33
-- ``BOARD_NR_GPIO_PINS``: 34
-- ``BOARD_NR_PWM_PINS``: 12
-- ``boardPWMPins``: 3, 4, 5, 8, 9, 10, 11, 15, 16, 25, 26, 27
-- ``BOARD_NR_ADC_PINS``: 9
-- ``boardADCPins``: 3, 4, 5, 6, 7, 8, 9, 10, 11
-- ``BOARD_NR_USED_PINS``: 4
-- ``boardUsedPins``: ``BOARD_LED_PIN``, ``BOARD_BUTTON_PIN``, 23, 24
- (23 and 24 are used by :ref:`USB <maple-mini-usb-pins>`)
-- ``BOARD_NR_USARTS``: 3
-- ``BOARD_USART1_TX_PIN``: 26
-- ``BOARD_USART1_RX_PIN``: 25
-- ``BOARD_USART2_TX_PIN``: 9
-- ``BOARD_USART2_RX_PIN``: 8
-- ``BOARD_USART3_TX_PIN``: 1
-- ``BOARD_USART3_RX_PIN``: 0
-- ``BOARD_NR_SPI``: 2
-- ``BOARD_SPI1_NSS_PIN``: 7
-- ``BOARD_SPI1_MOSI_PIN``: 4
-- ``BOARD_SPI1_MISO_PIN``: 5
-- ``BOARD_SPI1_SCK_PIN``: 6
-- ``BOARD_SPI2_NSS_PIN``: 31
-- ``BOARD_SPI2_MOSI_PIN``: 28
-- ``BOARD_SPI2_MISO_PIN``: 29
-- ``BOARD_SPI2_SCK_PIN``: 30
-- ``BOARD_JTMS_SWDIO_PIN``: 22
-- ``BOARD_JTCK_SWCLK_PIN``: 21
-- ``BOARD_JTDI_PIN``: 20
-- ``BOARD_JTDO_PIN``: 19
-- ``BOARD_NJTRST_PIN``: 18
-
-.. _maple-mini-hardware:
-
-Hardware Design Files
----------------------
-
-The hardware schematics and board layout files are available in the
-`Maple Mini GitHub repository <https://github.com/leaflabs/maplemini>`_.
-
-From the GitHub repository main page, you can download the entire
-repository by clicking the "Download" button. If you are familiar
-with `Git <http://git-scm.com/>`_, you can also clone the repository
-at the command line with ::
-
- $ git clone git://github.com/leaflabs/maplemini.git
-
-Failure Modes
--------------
-
-The following known failure modes apply to all Maple boards. The
-failure modes aren't design errors, but are easy ways to break or
-damage your board permanently.
-
-* **High voltage on non-tolerant pins**: not all header pins are 5 V
- compatible; so e.g. connecting certain serial devices in the wrong
- way could over-voltage the pins. The :ref:`pin-mapping master table
- <maple-mini-pin-map-master>` details which pins are :ref:`5
- V-tolerant <gpio-5v-tolerant>`.
-
-Errata
-------
-
-This section lists known issues and warnings for the Maple Mini Rev 2
-(the first Rev sold to the public).
-
-.. _maple-mini-vin:
-
-* **Silkscreen Vin voltage mistake**: The silkscreen on the Maple Mini
- falsely indicates that Vin may be supplied with up to 16V. We
- recommend an input voltage **no greater than 12V**, and potentially
- even lower depending upon the current draw requirements of the
- application. Please see :ref:`Power Regulation on the Maple Mini
- <maple-mini-power-regulation>` for more information.
-
-
-Recommended Reading
--------------------
-
-.. _maple-mini-stdocs:
-
-STMicro documentation for STM32F103CB microcontroller:
-
-* `Datasheet
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00161566.pdf>`_
- (PDF); covers STM32F103x8, STM32F103xB.
-* `Reference Manual RM0008
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/CD00171190.pdf>`_
- (PDF); definitive resource for peripherals on the STM32F1 line.
-* `Programming Manual PM0056
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/PROGRAMMING_MANUAL/CD00228163.pdf>`_
- (PDF); assembly language and register reference.
-* `STM32F103CB <http://www.st.com/internet/mcu/product/189782.jsp>`_
- overview page with links to further references.
-
-.. rubric:: Footnotes
-
-.. [#fusedpins] See :ref:`boardUsedPins <lang-board-values-used-pins>`
- for more information.
diff --git a/docs/source/hardware/maple-native-beta.rst b/docs/source/hardware/maple-native-beta.rst
deleted file mode 100644
index bdfd216..0000000
--- a/docs/source/hardware/maple-native-beta.rst
+++ /dev/null
@@ -1,605 +0,0 @@
-.. highlight:: sh
-
-.. _maple-native-b:
-
-Maple Native β
-==============
-
-This page is a general resource for information specific to the Maple
-Native Beta. Since this is a beta release, the information here may
-change slightly between now and the final Maple Native release.
-
-.. contents:: Contents
- :local:
-
-Technical Specifications
-------------------------
-
-* MCU: `STM32F103ZET6 <maple-native-b-stdocs>`, a 32-bit ARM Cortex M3
- microprocessor.
-* Clock Speed: **72 MHz**
-* **512 KB Flash**, **64 KB SRAM** (on-chip), **1 MB SRAM** (external)
-* 106 :ref:`digital I/O pins <gpio>`
-* 17 :ref:`PWM <pwm>` pins at 16 bit resolution
-* 21 :ref:`analog input (ADC) <adc>` pins at 12-bit resolution
-* 3 :ref:`SPI <spi>` peripherals
-* 2 :ref:`I2C <i2c>` peripherals
-* 12 Channels of Direct Memory Access (**DMA**) (:ref:`libmaple-dma`)
- with 2 DMA controllers
-* 3 :ref:`USART (serial port) <usart>` peripherals, 2 **UART** peripherals
-* 2 advanced, 4 general-purpose, and 2 basic :ref:`timers <timers>`
-* Dedicated :ref:`USB <usb>` port for programming and communications
-* :ref:`JTAG <jtag>`
-* Nested Vectored Interrupt Controller (NVIC) (including
- :ref:`external interrupt <lang-attachinterrupt>` on GPIOs)
-* Supplies up to 500 mA at 3.3 V, with :ref:`separate 250 mA digital
- and analog regulators <maple-native-b-adc-bank>` for low-noise analog
- performance
-* :ref:`Open-source, four layer design <maple-native-b-hardware>`
-* Support for low power, sleep, and standby modes (<500 μA)
-* Operating Voltage: 3.3 V
-* Input Voltage (recommended): 3 V — 12 V
-* Dimensions: 4″ × 2.1″
-
-.. _maple-native-b-powering:
-
-Powering the Maple Native
--------------------------
-
-The power source is determined by the header labeled "PWRSEL" on the
-silkscreen. The Maple Native may be powered from USB (marked "USB" on
-the PWRSEL header), a LiPo battery (marked "BAT"), or one of the two
-"Vin" pins (marked "EXT"). Boards are shipped with a jumper on the
-USB selector. In order to power it off of an alternative source,
-unplug the Maple Native, then move the jumper to the desired selector
-before reconnecting power.
-
-The "Vin" line is available on the pin labeled "Vin" on the vertical
-header to the right of the PWRSEL header, as well as on the
-unpopulated two-pin connector on the upper left corner of the
-board. On this latter connector, polarity was accidentally left
-unmarked: the leftmost, round pin should be power, while the square
-pin should be ground.
-
-When powering the Maple Native board from a battery or the Vin lines,
-care must be taken not to over-voltage the board. In general, an upper
-limit of 12V input is acceptable, but this may vary depending upon the
-current draw requirements of the application. Please see :ref:`Power
-Regulation on the Maple Native <maple-native-b-power-regulation>` for
-more information.
-
-.. _maple-native-b-power-regulation:
-
-Power Regulation on the Maple Native
-------------------------------------
-
-Power regulation on the Maple Native is provided by two low dropout
-linear voltage regulators. (The part is the MCP1703 from Microchip, in
-the SOT-23A package. You can download the datasheet `here
-<http://ww1.microchip.com/downloads/en/DeviceDoc/22049a.pdf>`_). One
-of the regulators supplies power to the digital voltage plane; the
-other supplies power to the analog voltage plane.
-
-These voltage regulators nominally take an input of up to 16V. In
-addition, while the maximum continuous output current for the board is
-250mA, if you are powering the board off higher voltages the current
-it can supply goes down, due to the regulators needing to dissipate
-the extra power. So if you are powering the board off 12V, the max
-current is about 40mA at room temperature. In general (again, at room
-temperature) the max power dissipation (PD) for the chip is about
-.37W, and output current = PD/(Vin-Vout). For exact max current
-calculations, please refer to the datasheet linked above.
-
-If you are planning to draw a lot of current from the Maple Native
-board, it is necessary to provide input power as close to 3.3V as
-possible. Powering the microcontroller circuitry and LEDs on the board
-alone takes approximately 30mA, so if you are powering the board with
-12V that leaves only 10mA (at best) available for powering any user
-circuitry. Attempting to draw more than 10mA runs the risk of shorting
-out the power regulators and bricking your board.
-
-Using the Built-in Battery Charger
-----------------------------------
-
-Maple Native includes a built-in LiPo battery charger. In order to
-use it, put a jumper across the CHRG selector on the PWRSEL header and
-across the USB, or EXT selectors, depending on whether you're charging
-the battery via USB cable or Vin, respectively. The LED labeled CHRG
-will light up while the battery is being charged. When the battery is
-finished charging, the LED labeled DONE will light up.
-
-.. _maple-native-b-gpios:
-
-GPIO Information
-----------------
-
-The Maple Native features 106 total input/output pins, numbered ``D0``
-through ``D105``. In most cases, these numbers correspond to the
-numeric values next to each header on the Maple Native's silkscreen.
-However, pins ``D101`` through ``D105`` are broken out to the
-:ref:`JTAG <jtag>` header, and are not numbered on the silkscreen. In
-addition, some other pins have other uses by default [#fusedpins]_.
-
-.. _maple-native-b-but:
-
-Pin ``D6`` is the Native's :ref:`button pin <lang-board-values-but>`.
-It is thus mainly useful as an :ref:`input <lang-pin-levels>`. The
-pin will :ref:`read <lang-digitalread>` ``HIGH`` when the :ref:`button
-is pressed <lang-isbuttonpressed>`.
-
-.. _maple-native-b-led:
-
-Pin ``D22`` is the Native's :ref:`LED pin <lang-board-values-led>`.
-It is thus mainly useful as an :ref:`output <lang-pin-levels>`. The
-LED will glow when ``HIGH`` is :ref:`written <lang-digitalwrite>` to
-it.
-
-.. _maple-native-b-fsmc:
-
-Many of the pins on the right header (pins ``D56`` through ``D100``,
-the header is labeled :ref:`"FSMC" <fsmc>` on the silkscreen) are
-connected to the SRAM chip. Using these pins as GPIOs may render the
-memory chip useless, which can cause your program to crash. For this
-reason, we don't recommend that you use these pins unless you know
-what you are doing. The following pins on the right header are not
-connected to the SRAM and may be used with impunity: ``D57``, ``D60``,
-``D63``, ``D66``, ``D69``, ``D72``, ``D75``, ``D80``, ``D83``.
-
-.. _maple-native-b-jtag:
-
-Pins ``D101`` through ``D105`` are connected to the pads on the
-:ref:`JTAG <jtag>` header. In order to use them as GPIOs, you must
-first disable the Maple Native's debug ports. You can do this by
-calling :ref:`lang-disabledebugports`. (Note that this means you
-won't be able to use JTAG or SW-Debug to debug your program).
-
-.. TODO [0.1.0] silkscreen pictures
-
-.. _maple-native-b-pin-map-master:
-
-Master Pin Map
-^^^^^^^^^^^^^^
-
-This table shows a summary the available functionality on every GPIO
-pin, by peripheral type. The "5 V?" column documents whether or not
-the pin is :ref:`5 volt tolerant <gpio-5v-tolerant>`.
-
-Note that this table is not exhaustive; on some pins, more peripherals
-are available than are listed here.
-
-**Top header:**
-
-.. csv-table::
- :header: Pin, :ref:`GPIO <gpio>`, :ref:`ADC <adc>`, :ref:`Timer <timers>`, :ref:`I2C <i2c>`, :ref:`UART <usart>`, :ref:`SPI <spi>`, 5 V?
-
- D0, PB10, -, -, 2_SCL, 3_TX, -, Yes
- D1, PB11, -, -, 2_SDA, 3_RX, -, Yes
- D2, PB12, -, 1_BKIN, 2_SMBA, 3_CK, 2_NSS, Yes
- D3, PB13, -, -, -, 3_CTS, 2_SCK, Yes
- D4, PB14, -, -, -, 3_RTS, 2_MISO, Yes
- D5, PB15, -, -, -, -, 2_MOSI, Yes
- D6, PG15, -, -, -, -, -, Yes
- D7, PC0, 1_CH10, -, -, -, -, -
- D8, PC1, 1_CH11, -, -, -, -, -
- D9, PC2, 1_CH12, -, -, -, -, -
- D10, PC3, 1_CH13, -, -, -, -, -
- D11, PC4, 1_CH14, -, -, -, -, -
- D12, PC5, 1_CH15, -, -, -, -, -
- D13, PC6, -, 8_CH1, -, -, -, Yes
- D14, PC7, -, 8_CH2, -, -, -, Yes
- D15, PC8, -, 8_CH3, -, -, -, Yes
- D16, PC9, -, 8_CH4, -, -, -, Yes
- D17, PC10, -, -, -, 4_TX, -, Yes
- D18, PC11, -, -, -, 4_RX, -, Yes
- D19, PC12, -, -, -, 5_TX, -, Yes
- D20, PC13, -, -, -, -, -, -
- D21, PC14, -, -, -, -, -, -
- D22, PC15, -, -, -, -, -, -
- D23, PA8, -, 1_CH1, -, 1_CK, -, Yes
- D24, PA9, -, 1_CH2, -, 1_TX, -, Yes
- D25, PA10, -, 1_CH3, -, 1_RX, -, Yes
- D26, PB9, -, 4_CH4, -, -, -, Yes
-
-**Bottom header:**
-
-.. note:: ``D48``, ``D49``, ``D50``, ``D51`` are also connected to
- Timer 2 channels 1, 2, 3, and 4, respectively.
-
-.. csv-table::
- :header: Pin, :ref:`GPIO <gpio>`, :ref:`ADC <adc>`, :ref:`Timer <timers>`, :ref:`I2C <i2c>`, :ref:`UART <usart>`, :ref:`SPI <spi>`, 5 V?
-
- D27, PD2, -, 3_ETR, -, 5_RX, -, Yes
- D28, PD3, -, -, -, -, -, Yes
- D29, PD6, -, -, -, -, -, Yes
- D30, PG11, -, -, -, -, -, Yes
- D31, PG12, -, -, -, -, -, Yes
- D32, PG13, -, -, -, -, -, Yes
- D33, PG14, -, -, -, -, -, Yes
- D34, PG8, -, -, -, -, -, Yes
- D35, PG7, -, -, -, -, -, Yes
- D36, PG6, -, -, -, -, -, Yes
- D37, PB5, -, -, 1_SMBA, -, 3_MOSI, -
- D38, PB6, -, 4_CH1, 1_SCL, -, -, Yes
- D39, PB7, -, 4_CH2, 1_SDA, -, -, Yes
- D40, PF11, -, -, -, -, -, Yes
- D41, PF6, 3_CH4, -, -, -, -, -
- D42, PF7, 3_CH5, -, -, -, -, -
- D43, PF8, 3_CH6, -, -, -, -, -
- D44, PF9, 3_CH7, -, -, -, -, -
- D45, PF10, 3_CH8, -, -, -, -, -
- D46, PB1, 1_CH9, 3_CH4, -, -, -, -
- D47, PB0, 1_CH8, 3_CH3, -, -, -, -
- D48, PA0, 1_CH0, 5_CH1, -, 2_CTS, -, -
- D49, PA1, 1_CH1, 5_CH2, -, 2_RTS, -, -
- D50, PA2, 1_CH2, 5_CH3, -, 2_TX, -, -
- D51, PA3, 1_CH3, 5_CH4, -, 2_RX, -, -
- D52, PA4, 1_CH4, -, -, 2_CK, 1_NSS, -
- D53, PA5, 1_CH5, -, -, -, 1_SCK, -
- D54, PA6, 1_CH6, 3_CH1, -, -, 1_MISO, -
- D55, PA7, 1_CH7, 3_CH2, -, -, 1_MOSI, -
-
-.. _maple-native-b-fsmc-map:
-
-**Right (FSMC) header**
-
-All of the following pins are 5V-tolerant. Note that in the "FSMC"
-column below, entries with a "Dn" value (D0, D1, etc.) don't refer to
-pins; they refer to FSMC data lines. See :ref:`RM0008
-<maple-native-b-stdocs>` for more information.
-
-.. warning:: Many of the pins on this header are used by the Maple
- Native's SRAM chip. Don't use them as GPIOs unless you know what
- you're doing, or your program may crash. :ref:`See above
- <maple-native-b-fsmc>` for more information.
-
-.. csv-table::
- :header: Pin, :ref:`GPIO <gpio>`, :ref:`FSMC <fsmc>`
-
- D56, PF0, A0
- D57, PD11, A16
- D58, P14, D0
- D59, PF1, A1
- D60, PD12, A17
- D61, PD15, D1
- D62, PF2, A2
- D63, PD13, A18
- D64, PD0, D2
- D65, PF3, A3
- D66, PE3, A19
- D67, PD1, D3
- D68, PF4, A4
- D69, PE4, A20
- D70, PE7, D4
- D71, PF5, A5
- D72, PE5, A21
- D73, PE8, D8
- D74, PF12, A6
- D75, PE6, A22
- D76, PE9, D6
- D77, PF13, A7
- D78, PE10, D7
- D79, PF14, A8
- D80, PG9, NE2/NCE3
- D81, PE11, D8
- D82, PF15, A9
- D83, PG10, NCE4_1/NE3/NCE4_2
- D84, PE12, D9
- D85, PG0, A10
- D86, PD5, NWE
- D87, PE13, D10
- D88, PG1, A11
- D89, PD4, NOE
- D90, PE14, D11
- D91, PG2, A12
- D92, PE1, NBL1
- D93, PE15, D12
- D94, PG3, A13
- D95, PE0, NBL0
- D96, PD8, D13
- D97, PG4, A14
- D98, PD9, D14
- D99, PG5, A15
- D100, PD10, D15
-
-**JTAG header pins**
-
-.. note:: See :ref:`above <maple-native-b-jtag>` for more information on
- these pins.
-
-.. csv-table::
- :header: Pin, :ref:`GPIO <gpio>`, :ref:`SPI <spi>`, 5 V?
-
- D101, PA13, -, Yes
- D102, PA14, -, Yes
- D103, PA15, 3_NSS, Yes
- D104, PB3, 3_SCK, Yes
- D105, PB4, 3_MISO, Yes
-
-.. _maple-native-b-gpio-port-map:
-
-GPIO Port Pin Map
-^^^^^^^^^^^^^^^^^
-
-The following tables show what pins are associated with each
-:ref:`GPIO port <gpio-ports>`.
-
-.. csv-table::
- :header: GPIOA, GPIOB, GPIOC, GPIOD
-
- PA0: D48, PB0: D47, PC0: D7, PD0: D64
- PA1: D49, PB1: D46, PC1: D8, PD1: D67
- PA2: D50, PB2: -, PC2: D9, PD2: D27
- PA3: D51, PB3: D104, PC3: D10, PD3: D28
- PA4: D52, PB4: D105, PC4: D11, PD4: D89
- PA5: D53, PB5: D37, PC5: D12, PD5: D86
- PA6: D54, PB6: D38, PC6: D13, PD6: D29
- PA7: D55, PB7: D39, PC7: D14, PD7: -
- PA8: D23, PB8: -, PC8: D15, PD8: D96
- PA9: D24, PB9: D26, PC9: D16, PD9: D98
- PA10: D25, PB10: D0, PC10: D17, PD10: D100
- PA11: -, PB11: D1, PC11: D18, PD11: D57
- PA12: -, PB12: D2, PC12: D19, PD12: D60
- PA13: D101, PB13: D3, PC13: D20, PD13: D63
- PA14: D102, PB14: D4, PC14: D21, PD14: D58
-
-.. csv-table::
- :header: GPIOE, GPIOF, GPIOG
-
- PE0: D95, PF0: D56, PG0: D85
- PE1: D92, PF1: D59, PG1: D88
- PE2: - PF2: D62, PG2: D91,
- PE3: D66, PF3: D65, PG3: D94
- PE4: D69, PF4: D68, PG4: D97
- PE5: D72, PF5: D71, PG5: D99
- PE6: D75, PF6: D41, PG6: D36
- PE7: D70, PF7: D42, PG7: D35
- PE8: D73, PF8: D43, PG8: D34
- PE9: D76, PF9: D44, PG9: D80
- PE10: D78, PF10: D45, PG10: D83
- PE11: D81, PF11: D40, PG11: D30
- PE12: D84, PF12: D74, PG12: D31
- PE13: D87, PF13: D77, PG13: D32
- PE14: D90, PF14: D79, PG14: D33
-
-.. _maple-native-b-timer-map:
-
-Timer Pin Map
-^^^^^^^^^^^^^
-
-The following table shows what pins are associated with a particular
-timer's capture/compare channels.
-
-There is no mistake between timers 2 and 5. They really do share
-those pins. If you like, you can remap some of the timer 2 channels
-to get extra PWM pins; see :ref:`afio_remap() (in gpio.h)
-<gpio-h-afio-remap>`.
-
-.. csv-table::
- :header: Timer, Ch. 1, Ch. 2, Ch. 3, Ch. 4
- :delim: |
-
- 1 | D23 | D24 | D25 |
- 2 | D48 | D49 | D50 | D51
- 3 | D54 | D55 | D47 | D46
- 4 | D38 | D39 | | D26
- 5 | D48 | D49 | D50 | D51
- 8 | D13 | D14 | D15 | D16
-
-.. _maple-native-b-exti-map:
-
-EXTI Line Pin Map
-^^^^^^^^^^^^^^^^^
-
-The following table shows which pins connect to which :ref:`EXTI lines
-<external-interrupts-exti-line>`.
-
-.. list-table::
- :widths: 1 3
- :header-rows: 1
-
- * - EXTI Line
- - Pins
- * - EXTI0
- - D7, D47, D48, D56, D64, D85, D95
- * - EXTI1
- - D8, D46, D49, D59, D67, D88, D92
- * - EXTI2
- - D9, D27, D50, D62, D91
- * - EXTI3
- - D10, D28, D51, D65, D66, D94, D104
- * - EXTI4
- - D11, D52, D68, D69, D89, D97, D105
- * - EXTI5
- - D12, D37, D53, D71, D72, D86, D99
- * - EXTI6
- - D13, D29, D36, D38, D41, D54, D75
- * - EXTI7
- - D14, D35, D39, D42, D55, D70
- * - EXTI8
- - D15, D23, D34, D43, D73, D96
- * - EXTI9
- - D16, D24, D26, D44, D76, D80, D98
- * - EXTI10
- - D0, D17, D25, D45, D78, D83, D100
- * - EXTI11
- - D1, D18, D30, D40, D57, D81
- * - EXTI12
- - D2, D19, D31, D60, D74, D84
- * - EXTI13
- - D3, D20, D32, D63, D77, D87, D101
- * - EXTI14
- - D4, D21, D33, D58, D79, D90, D102
- * - EXTI15
- - D5, D6, D22, D61, D82, D93, D103
-
-.. _maple-native-b-usart-map:
-
-USART Pin Map
-^^^^^^^^^^^^^
-
-The Maple Native has 3 :ref:`USART <usart>` serial ports. They
-communicate using the pins given in the following table.
-
-.. csv-table::
- :header: Serial port, TX, RX, CK, CTS, RTS
- :delim: |
-
- ``Serial1`` | D24 | D25 | D23 | |
- ``Serial2`` | D50 | D51 | D52 | D48 | D49
- ``Serial3`` | D0 | D1 | D2 | D3 | D4
-
-The Maple Native also has 2 UART serial ports. Unlike USARTS, these
-only communicate asynchronously, and thus only have TX and RX pins.
-These are given in the following table.
-
-.. csv-table::
- :header: Serial port, TX, RX
- :delim: |
-
- ``Serial4`` | D17 | D18
- ``Serial5`` | D19 | D27
-
-.. _maple-native-b-adc-bank:
-
-Low-Noise ADC Pins
-^^^^^^^^^^^^^^^^^^
-
-There are fifteen pins at the bottom right of the board (``D41`` —
-``D55``) that generally offer lower-noise ADC performance than other
-pins on the board. If you're concerned about getting good ADC
-readings, we recommend using one of these pins to take your
-measurements.
-
-Maple Native has an electrically isolated analog power plane with its
-own regulator, and a geometrically isolated ground plane. Analog input
-pins D41 — D55 are laid out to correspond with these analog planes,
-and our measurements indicate that they generally ofer low noise ADC
-performance. However, analog performance may vary depending upon the
-activity of other GPIOs. In particular, using PWM on any of pins
-``D46`` — ``D51``, ``D54``, and ``D55`` may cause digital noise.
-Consult the :ref:`Maple Native beta hardware design files
-<maple-native-b-hardware>` for more details.
-
-.. _maple-native-b-board-values:
-
-Board-Specific Values
----------------------
-
-This section lists the Maple Native's :ref:`board-specific values
-<lang-board-values>`.
-
-- ``CYCLES_PER_MICROSECOND``: 72
-- ``BOARD_BUTTON_PIN``: 6
-- ``BOARD_LED_PIN``: 22
-- ``BOARD_NR_GPIO_PINS``: 106
-- ``BOARD_NR_PWM_PINS``: 18
-- ``boardPWMPins``: 13, 14, 15, 16, 23, 24, 25, 26, 38, 39, 46, 47,
- 48, 49, 50, 51, 54, 55
-- ``BOARD_NR_ADC_PINS``: 21
-- ``boardADCPins``: 7, 8, 9, 10, 11, 12, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55
-- ``BOARD_NR_USED_PINS``: 43
-- ``boardUsedPins``: ``BOARD_LED_PIN``, ``BOARD_BUTTON_PIN``,
- ``BOARD_JTMS_SWDIO_PIN``, ``BOARD_JTCK_SWCLK_PIN``,
- ``BOARD_JTDI_PIN``, ``BOARD_JTDO_PIN``, ``BOARD_NJTRST_PIN``, and
- all pins on FSMC header except those mentioned :ref:`above
- <maple-native-b-fsmc>`.
-- ``BOARD_NR_USARTS``: 5
-- ``BOARD_USART1_TX_PIN``: 24
-- ``BOARD_USART1_RX_PIN``: 25
-- ``BOARD_USART2_TX_PIN``: 50
-- ``BOARD_USART2_RX_PIN``: 51
-- ``BOARD_USART3_TX_PIN``: 0
-- ``BOARD_USART3_RX_PIN``: 1
-- ``BOARD_UART4_TX_PIN``: 17
-- ``BOARD_UART4_RX_PIN``: 18
-- ``BOARD_UART5_TX_PIN``: 19
-- ``BOARD_UART5_RX_PIN``: 27
-- ``BOARD_NR_SPI``: 3
-- ``BOARD_SPI1_NSS_PIN``: 52
-- ``BOARD_SPI1_MOSI_PIN``: 55
-- ``BOARD_SPI1_MISO_PIN``: 54
-- ``BOARD_SPI1_SCK_PIN``: 53
-- ``BOARD_SPI2_NSS_PIN``: 2
-- ``BOARD_SPI2_MOSI_PIN``: 5
-- ``BOARD_SPI2_MISO_PIN``: 4
-- ``BOARD_SPI2_SCK_PIN``: 3
-- ``BOARD_SPI3_NSS_PIN``: 103 (on :ref:`JTAG header <maple-native-b-jtag>`)
-- ``BOARD_SPI3_MOSI_PIN``: 37
-- ``BOARD_SPI3_MISO_PIN``: 105 (JTAG header)
-- ``BOARD_SPI3_SCK_PIN``: 104 (JTAG header)
-- ``BOARD_JTMS_SWDIO_PIN``: :ref:`103 <maple-native-b-jtag>`
-- ``BOARD_JTCK_SWCLK_PIN``: 102
-- ``BOARD_JTDI_PIN``: 103
-- ``BOARD_JTDO_PIN``: 104
-- ``BOARD_NJTRST_PIN``: 105
-
-.. _maple-native-b-hardware:
-
-Hardware Design Files
-^^^^^^^^^^^^^^^^^^^^^
-
-The hardware schematics and board layout files are available in the
-`Maple Native GitHub repository
-<https://github.com/leaflabs/maplenative/>`_. Download the `beta
-version's hardware design files
-<https://github.com/leaflabs/maplenative/tree/beta>`_ (ZIP format).
-
-If you're familiar with Git, you can clone the entire repository and
-checkout the commit tagged "beta" using the following::
-
- $ git clone git://github.com/leaflabs/maplenative.git
- $ git checkout beta
-
-Failure Modes
--------------
-
-The following known failure modes apply to the Maple Native Beta. The
-failure modes aren't design errors, but are easy ways to break or
-damage your board permanently.
-
-* **Reversing Vin and GND**: when powering the Maple Native Beta via
- the Vin and ground (GND) pins at the top left of the board, it is
- possible to carelessly cause a short or switch the connections,
- applying the high voltage to GND and ground to Vin.
-
- If this happens, you will reverse bias the diode beneath these pins,
- most likely damaging it. This may cause excess voltage to
- subsequently be delivered to the board once the reversed pins are
- connected properly.
-
-Errata
-------
-
-This section lists known issues and warnings for the Maple Native
-Beta.
-
-* **PWM on pin 39**: PWM on pin 39 appears to be nonfunctional. We
- are looking into this issue.
-
-* **VREF is nonfunctional**: Due to a routing error, VREF is
- permanently tied to 3.3V at VAA.
-
-Recommended Reading
--------------------
-
-.. _maple-native-b-stdocs:
-
-STMicro documentation for STM32F103ZE microcontroller:
-
-* `Datasheet
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00191185.pdf>`_
- (PDF); covers STM32F103xC, STM3F103xD, STM32F103xE.
-* `Reference Manual RM0008
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/CD00171190.pdf>`_
- (PDF); definitive resource for peripherals on the STM32F1 line.
-* `Programming Manual PM0056
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/PROGRAMMING_MANUAL/CD00228163.pdf>`_
- (PDF); assembly language and register reference.
-* `STM32F103RE <http://www.st.com/internet/mcu/product/164485.jsp>`_
- overview page with links to further references.
-
-.. rubric:: Footnotes
-
-.. [#fusedpins] See :ref:`boardUsedPins <lang-board-values-used-pins>`
- for more information.
diff --git a/docs/source/hardware/maple-native.rst b/docs/source/hardware/maple-native.rst
deleted file mode 100644
index 79115fc..0000000
--- a/docs/source/hardware/maple-native.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-.. _hardware-maple-native:
-
-Maple Native
-============
-
-Stub.
diff --git a/docs/source/hardware/maple-ret6.rst b/docs/source/hardware/maple-ret6.rst
deleted file mode 100644
index 3d2d037..0000000
--- a/docs/source/hardware/maple-ret6.rst
+++ /dev/null
@@ -1,466 +0,0 @@
-.. highlight:: sh
-
-.. _maple-ret6:
-
-Maple RET6 Edition
-==================
-
-This page is a general resource for information specific to the Maple
-RET6 Edition. The Maple RET6 Edition is a "beta" board released as a
-simple way to get a more powerful chip (the STM32F103\ **RET6**, hence
-the name) than the one on the base Maple (the STM32F103\ **RBT6**) in
-the hands of Maple developers.
-
-.. contents:: Contents
- :local:
-
-.. TODO [dma.rst] Ref to source/dma.rst in sequel instead of libmaple-dma
-.. TODO [dac.rst] Ref to source/dac.rst in sequel instead of libmaple-dac
-.. TODO [nvic.rst] Ref to source/nvic.rst in sequel
-
-Technical Specifications
-------------------------
-
-* MCU: :ref:`STM32F103RET6 <maple-ret6-stdocs>`, a 32-bit ARM Cortex
- M3 microprocessor
-* Clock Speed: **72 MHz**
-* **512 KB Flash** and **64 KB SRAM**
-* 43 :ref:`digital I/O pins (GPIOs) <gpio>`
-* 18 :ref:`PWM <pwm>` pins at 16 bit resolution
-* 15 :ref:`analog input (ADC) <adc>` pins at 12 bit resolution
-* Built-in, 2 channel **DAC** at 12 bit resolution (:ref:`libmaple-dac`).
-* 2 :ref:`SPI <spi>` peripherals with **I2S** support
-* 2 :ref:`I2C <i2c>` peripherals
-* 12 Channels of Direct Memory Access (**DMA**) (:ref:`libmaple-dma`)
- with 2 DMA controllers
-* 3 :ref:`USART (serial port) <usart>` peripherals
-* 2 advanced, 4 general-purpose, and 2 basic :ref:`timers <timers>`
-* Dedicated :ref:`USB <usb>` port for programming and communications
-* :ref:`JTAG <jtag>`
-* Nested Vectored Interrupt Controller (NVIC) (including
- :ref:`external interrupt <lang-attachinterrupt>` on GPIOs)
-* Supplies up to 500 mA at 3.3 V, with :ref:`separate 250 mA digital
- and analog regulators <maple-ret6-adc-bank>` for low-noise analog
- performance
-* :ref:`Open-source, four layer design <maple-ret6-hardware>`
-* Support for low power, sleep, and standby modes (<500 μA)
-* Operating Voltage: 3.3 V
-* Input Voltage (recommended): 4 V — 12 V
-* Dimensions are 2.05″ × 2.1″
-
-.. _maple-ret6-powering:
-
-Powering the Maple RET6 Edition
--------------------------------
-
-The Maple RET6 Edition is powered in the :ref:`same way as the
-standard Maple <maple-powering>`.
-
-.. warning:: The RET6 Edition silkscreen falsely indicates that the
- barrel jack accepts up to 18 V. We recommend a barrel jack input
- voltage **no greater than 12V**, and potentially even lower
- depending upon the current draw requirements of the
- application. The same goes for powering off LiPo batteries.
-
- Please see :ref:`Power Regulation on the Maple
- <maple-power-regulation>` for more information.
-
-.. _maple-ret6power-regulation:
-
-Power Regulation on the Maple RET6
-----------------------------------
-
-Power regulation on the Maple RET6 works in the :ref:`same way as the
-standard Maple <maple-power-regulation>`.
-
-Using the Built-in Battery Charger
-----------------------------------
-
-The RET6 Edition has a built-in LiPo battery charger. In order to use
-it, put a jumper across the CHRG header on the power selection header
-and across the USB, or EXT selectors, depending on whether you're
-charging the battery via USB cable or barrel jack connector. The LED
-labeled CHRG will light up while the battery is being charged. When
-the battery is finished charging, the LED labeled DONE will light up.
-
-.. _maple-ret6-gpios:
-
-GPIO Information
-----------------
-
-The RET6 Edition features 38 ready-to-use general purpose input/output
-(see :ref:`gpio`) pins for digital input/output, numbered ``D0``
-through ``D37``. These numbers correspond to the numeric values next
-to each header on the Maple silkscreen.
-
-.. _maple-ret6-but:
-
-Pin ``D38`` is the board's :ref:`button pin <lang-board-values-but>`.
-It is thus mainly useful as an :ref:`input <lang-pin-levels>`. The
-pin will :ref:`read <lang-digitalread>` ``HIGH`` when the :ref:`button
-is pressed <lang-isbuttonpressed>`.
-
-More GPIOs (numbered ``D39``\ --``D42`` on the back of the RET6
-Edition's silkscreen) are available if you use the
-:ref:`lang-disabledebugports` function; see the :ref:`board-specific
-debug pin constants <lang-board-values-debug>` for more information.
-(See :ref:`this erratum <maple-ret6-nrst-pb4>` for information about
-the pin numbered ``43`` on the silkscreen).
-
-.. TODO [0.1.0] silkscreen pictures which expand abbreviations
-
-.. _maple-ret6-pin-map-master:
-
-Master Pin Map
-^^^^^^^^^^^^^^
-
-This table shows a summary of the available functionality on every
-GPIO pin, by peripheral type. The "5 V?" column documents whether or
-not the pin is :ref:`5 volt tolerant <gpio-5v-tolerant>`.
-
-Note that this table is not exhaustive; on some pins, more peripherals
-are available than are listed here.
-
-.. csv-table::
- :header: Pin, :ref:`GPIO <gpio>`, :ref:`ADC <adc>`, :ref:`Timer <timers>`, :ref:`I2C <i2c>`, :ref:`UART/USART <usart>`, :ref:`SPI <spi>`, 5 V?
-
- D0, PA3, CH3, 2_CH4, -, 2_RX, -, -
- D1, PA2, CH2, 2_CH3, -, 2_TX, -, -
- D2, PA0, CH0, 2_CH1_ETR, -, 2_CTS, -, -
- D3, PA1, CH1, 2_CH2, -, 2_RTS, -, -
- D4, PB5, -, -, 1_SMBA, -, 3_MOSI, -
- D5, PB6, -, 4_CH1, 1_SCL, -, -, Yes
- D6, PA8, -, 1_CH1, -, 1_CK, -, Yes
- D7, PA9, -, 1_CH2, -, 1_TX, -, Yes
- D8, PA10, -, 1_CH3, -, 1_RX, -, Yes
- D9, PB7, -, 4_CH2, 1_SDA, -, -, Yes
- D10, PA4, CH4, -, -, 2_CK, 1_NSS, -
- D11, PA7, CH7, 3_CH2, -, -, 1_MOSI, -
- D12, PA6, CH6, 3_CH1, -, -, 1_MISO, -
- D13, PA5, CH5, -, -, -, 1_SCK, -
- D14, PB8, -, 4_CH3, -, -, -, Yes
- D15, PC0, CH10, -, -, -, -, -
- D16, PC1, CH11, -, -, -, -, -
- D17, PC2, CH12, -, -, -, -, -
- D18, PC3, CH13, -, -, -, -, -
- D19, PC4, CH14, -, -, -, -, -
- D20, PC5, CH15, -, -, -, -, -
- D21, PC13, -, -, -, -, -, -
- D22, PC14, -, -, -, -, -, -
- D23, PC15, -, -, -, -, -, -
- D24, PB9, -, 4_CH4, -, -, -, Yes
- D25, PD2, -, 3_ETR, -, -, 5_RX, Yes
- D26, PC10, -, -, -, -, 4_TX, Yes
- D27, PB0, CH8, 3_CH3, -, -, -, -
- D28, PB1, CH9, 3_CH4, -, -, -, -
- D29, PB10, -, -, 2_SCL, 3_TX, -, Yes
- D30, PB11, -, -, 2_SDA, 3_RX, -, Yes
- D31, PB12, -, 1_BKIN, 2_SMBA, 3_CK, 2_NSS, Yes
- D32, PB13, -, 1_CH1N, -, 3_CTS, 2_SCK, Yes
- D33, PB14, -, 1_CH2N, -, 3_RTS, 2_MISO, Yes
- D34, PB15, -, 1_CH3N, -, -, 2_MOSI, Yes
- D35, PC6, -, 8_CH1, -, -, -, Yes
- D36, PC7, -, 8_CH2, -, -, -, Yes
- D37, PC8, -, 8_CH3, -, -, -, Yes
- D38, PC9, -, 8_CH4, -, -, -, Yes
- D39, PA13, -, -, -, -, -, Yes
- D40, PA14, -, -, -, -, -, Yes
- D41, PA15, -, -, -, -, 3_NSS, Yes
- D42, PB3, -, -, -, -, 3_SCK, Yes
-
-.. _maple-ret6-gpio-port-map:
-
-GPIO Port Pin Map
-^^^^^^^^^^^^^^^^^
-
-The following table shows what pins are associated with each
-:ref:`GPIO port <gpio-ports>`.
-
-.. csv-table::
- :header: GPIOA, GPIOB, GPIOC
-
- PA0: D2, PB0: D27, PC0: D15
- PA1: D3, PB1: D28, PC1: D16
- PA2: D1, PB2: -, PC2: D17
- PA3: D0, PB3: D42, PC3: D18
- PA4: D10, PB4: D43, PC4: D19
- PA5: D13, PB5: D4, PC5: D20
- PA6: D12, PB6: D5, PC6: D35
- PA7: D11, PB7: D9, PC7: D36
- PA8: D6, PB8: D14, PC8: D37
- PA9: D7, PB9: D24, PC9: D38
- PA10: D8, PB10: D29, PC10: D26
- PA11: -, PB11: D30, PC11: -
- PA12: -, PB12: D31, PC12: -
- PA13: D39, PB13: D32, PC13: D21
- PA14: D40, PB14: D33, PC14: D22
- PA15: D41, PB15: D34, PC15: D23
-
-.. _maple-ret6-timer-map:
-
-Timer Pin Map
-^^^^^^^^^^^^^
-
-The following table shows what pins are associated with a particular
-timer's capture/compare channels. Note that timer 5's channels share
-pins with timer 2 (e.g., timer 5 channel 1 is also available on D2,
-channel 2 on D3, etc.).
-
-.. csv-table::
- :header: Timer, Ch. 1, Ch. 2, Ch. 3, Ch. 4
- :delim: |
-
- 1 | D6 | D7 | D8 | -
- 2 | D2 | D3 | D1 | D0
- 3 | D12 | D11 | D27 | D28
- 4 | D5 | D9 | D14 | D24
- 8 | D35 | D36 | D37 | :ref:`D38 <maple-ret6-but>`
-
-.. _maple-ret6-exti-map:
-
-EXTI Line Pin Map
-^^^^^^^^^^^^^^^^^
-
-The following table shows which pins connect to which :ref:`EXTI lines
-<external-interrupts-exti-line>` on the Maple RET6 Edition.
-
-.. list-table::
- :widths: 1 1
- :header-rows: 1
-
- * - EXTI Line
- - Pins
- * - EXTI0
- - D2, D15, D27
- * - EXTI1
- - D3, D16, D28
- * - EXTI2
- - D1, D17, D25
- * - EXTI3
- - D0, D18, D42
- * - EXTI4
- - D10, D19
- * - EXTI5
- - D4, D13, D20
- * - EXTI6
- - D5, D12, D35
- * - EXTI7
- - D9, D11, D36
- * - EXTI8
- - D6, D14, D37
- * - EXTI9
- - D7, D24, D38
- * - EXTI10
- - D8, D26, D29
- * - EXTI11
- - D30
- * - EXTI12
- - D31
- * - EXTI13
- - D21, D32, D39
- * - EXTI14
- - D22, D33, D40
- * - EXTI15
- - D23, D34, D41
-
-.. _maple-ret6-usart-map:
-
-USART Pin Map
-^^^^^^^^^^^^^
-
-The Maple RET6 Edition has three serial ports whose pins are broken
-out to headers (also known as :ref:`USARTs <usart>`). They communicate
-using the pins given in the following table.
-
-.. csv-table::
- :header: Serial Port, TX, RX, CK, CTS, RTS
- :delim: |
-
- ``Serial1`` | D7 | D8 | D6 | |
- ``Serial2`` | D1 | D0 | D10 | D2 | D3
- ``Serial3`` | D29 | D30 | D31 | D32 | D33
-
-Unfortunately, :ref:`UART4 and UART5 aren't completely available
-<maple-ret6-uarts>`.
-
-.. _maple-ret6-adc-bank:
-
-Low-Noise ADC Pins
-^^^^^^^^^^^^^^^^^^
-
-The six pins at the bottom right of the board (D15—D20) generally
-offer lower-noise ADC performance than other pins on the board. If
-you’re concerned about getting good ADC readings, we recommend using
-one of these pins to take your measurements. More details in the
-:ref:`Maple hardware documentation <maple-adc-bank>`.
-
-Board-Specific Values
----------------------
-
-This section lists the Maple RET6 Edition's :ref:`board-specific
-values <lang-board-values>`.
-
-- ``CYCLES_PER_MICROSECOND``: 72
-- ``BOARD_BUTTON_PIN``: 38
-- ``BOARD_LED_PIN``: 13
-- ``BOARD_NR_GPIO_PINS``: 44 (however, :ref:`pin D43 is not usable
- <maple-nrst-pb4>`)
-- ``BOARD_NR_PWM_PINS``: 18
-- ``boardPWMPins``: 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 14, 24, 27, 28,
- 35, 36, 37
-- ``BOARD_NR_ADC_PINS``: 15
-- ``boardADCPins``: 0, 1, 2, 3, 10, 11, 12, 15, 16, 17, 18, 19, 20, 27, 28
-- ``BOARD_NR_USED_PINS``: 7
-- ``boardUsedPins``: ``BOARD_LED_PIN``, ``BOARD_BUTTON_PIN``,
- ``BOARD_JTMS_SWDIO_PIN``, ``BOARD_JTCK_SWCLK_PIN``,
- ``BOARD_JTDI_PIN``, ``BOARD_JTDO_PIN``, ``BOARD_NJTRST_PIN``
-- ``BOARD_NR_USARTS``: 3 (unfortunately, :ref:`due to the Maple Rev 5
- design <maple-ret6-uarts>`, UARTs 4 and 5 have pins which are not
- broken out).
-- ``BOARD_USART1_TX_PIN``: 7
-- ``BOARD_USART1_RX_PIN``: 8
-- ``BOARD_USART2_TX_PIN``: 1
-- ``BOARD_USART2_RX_PIN``: 0
-- ``BOARD_USART3_TX_PIN``: 29
-- ``BOARD_USART3_RX_PIN``: 30
-- ``BOARD_NR_SPI``: 2 (unfortunately, :ref:`due to the Maple Rev 5
- design <maple-ret6-nrst-pb4>`, SPI3 is unavailable).
-- ``BOARD_SPI1_NSS_PIN``: 10
-- ``BOARD_SPI1_MOSI_PIN``: 11
-- ``BOARD_SPI1_MISO_PIN``: 12
-- ``BOARD_SPI1_SCK_PIN``: 13
-- ``BOARD_SPI2_NSS_PIN``: 31
-- ``BOARD_SPI2_MOSI_PIN``: 34
-- ``BOARD_SPI2_MISO_PIN``: 33
-- ``BOARD_SPI2_SCK_PIN``: 32
-- ``BOARD_JTMS_SWDIO_PIN``: 39
-- ``BOARD_JTCK_SWCLK_PIN``: 40
-- ``BOARD_JTDI_PIN``: 41
-- ``BOARD_JTDO_PIN``: 42
-- ``BOARD_NJTRST_PIN``: :ref:`43 <maple-ret6-nrst-pb4>`
-
-.. _maple-ret6-hardware:
-
-Hardware Design Files
----------------------
-
-The hardware schematics and board layout files are available in the
-`Maple GitHub repository <https://github.com/leaflabs/maple>`_. Other
-than the processor used, the design files for the Maple RET6 edition
-are identical to the Maple Rev 5, which are in the ``maple-r5``
-subdirectory of the Maple repository. A schematic for a JTAG adapter
-suitable for use with Maple is available in the ``jtagadapter``
-directory.
-
-From the GitHub repository main page, you can download the entire
-repository by clicking the "Download" button. If you are familiar
-with `Git <http://git-scm.com/>`_, you can also clone the repository
-at the command line with ::
-
- $ git clone git://github.com/leaflabs/maple.git
-
-.. _maple-ret6-failure-modes:
-
-Failure Modes
--------------
-
-The following known failure modes apply to all Maple boards. The
-failure modes aren't design errors, but are easy ways to break or
-damage your board permanently.
-
-* **High voltage on non-tolerant pins**: not all header pins are 5V
- compatible; so e.g. connecting certain serial devices in the wrong
- way could over-voltage the pins. The :ref:`pin-mapping master table
- <maple-ret6-pin-map-master>` details which pins are
- :ref:`5V-tolerant <gpio-5v-tolerant>`.
-
-Errata
-------
-
-This section lists known issues and warnings for the Maple RET6
-Edition. Some of these are simply due to the RET6 Edition using the
-Maple's circuit board, which was not designed to accomodate extra
-features only available on the STM32F103RET6.
-
-.. _maple-ret6-barrel-jack:
-
-* **Barrel jack power supply voltage mistake**: The acceptable voltage
- range given next to the barrel jack on the Maple RET6 is
- **incorrect**. The given range is 7V — 18V. In fact, **18V is too
- high** and should not be supplied to your board. The original
- voltage regulators used on the Maple were rated up to 18V. However,
- the voltage regulators on current Maple Revs are rated up to only
- 16V, and due to the current draw requirements of the board, operate
- properly only up to 12V. The recommended maximum voltage you should
- apply is **12V**, and potentially even lower depending upon the
- current draw requirements of the application. Please see :ref:`Power
- Regulation on the Maple <maple-power-regulation>` for more
- information.
-
-* **Power supply marketing mistake**: We originally sold the Maple
- RET6 Edition advertising that it was capable of supplying up to 800
- mA; the correct value is 500 mA.
-
-.. _maple-ret6-uarts:
-
-* **UART4, UART5 GPIOs unavailable**: Pins related to UARTs 4 and 5
- are not broken out to headers (specifically, PC11/UART4_RX and
- PC12/UART5_TX). This is due to the RET6 Edition's board layout
- being that of the Maple Rev 5, which was not designed with these
- RET6-specific features in mind.
-
-.. _maple-ret6-dac-ch2:
-
-* **DAC channel 2 on BOARD_LED_PIN**: The Maple Rev 5 connects PA5 to
- the board's built-in LED; this is the same GPIO bit which is
- connected to the DAC's channel 2 output. This is also due to the
- RET6 Edition's board layout being that of the Maple Rev 5. The DAC
- output channel is still available, and (if you use the
- :ref:`standard libmaple DAC interface <libmaple-dac>`) its output is
- buffered by default, so this may not significantly interfere with
- its functionality.
-
-.. _maple-ret6-nrst-pb4:
-
-* **Reset and PB4 tied together**: The RET6 Edition's reset line is
- also connected to PB4, which is labeled on the silkscreen as pin 43.
- Thus, attempting to use pin 43 as a GPIO can reset your board. This
- has other implications. Since PB4 is also the JTAG NJTRST line,
- this prevents the :ref:`JTAG <jtag>` "reset halt" command from
- working properly. Also, since PB4 is SPI3_MISO, the SPI3 peripheral
- is not fully usable.
-
-.. _maple-ret6-sdio:
-
-* **SDIO lines not broken out**: The RET6 Edition's SDIO peripheral is
- not usable, as some of its data lines are either not broken out or
- used for other purposes. This is also due to the RET6 Edition's
- board layout being that of the Maple Rev 5.
-
-.. _maple-ret6-adc-led:
-
-* **ADC on BOARD_LED_PIN**: We originally sold the Maple RET6 Edition
- advertising 16 analog input lines. However, one of them (the one on
- pin 13) is also connected to the built-in LED. The voltage drop
- across the LED means that the analog to digital converter on that
- pin is not really useful. While it is still usable, its readings
- will be incorrect.
-
-Recommended Reading
--------------------
-
-.. _maple-ret6-stdocs:
-
-STMicro documentation for STM32F103RE microcontroller:
-
-* `Datasheet
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00191185.pdf>`_
- (PDF); covers STM32F103xC, STM32F103xD, STM32F103xE.
-* `Reference Manual RM0008
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/CD00171190.pdf>`_
- (PDF); definitive resource for peripherals on the STM32F1 line.
-* `Programming Manual PM0056
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/PROGRAMMING_MANUAL/CD00228163.pdf>`_
- (PDF); assembly language and register reference.
-* `STM32F103RE <http://www.st.com/internet/mcu/product/164485.jsp>`_
- overview page with links to further references.
diff --git a/docs/source/hardware/maple.rst b/docs/source/hardware/maple.rst
deleted file mode 100644
index b187115..0000000
--- a/docs/source/hardware/maple.rst
+++ /dev/null
@@ -1,618 +0,0 @@
-.. highlight:: sh
-
-.. _maple:
-
-Maple
-=====
-
-This page is a general resource for information specific to the Maple.
-
-.. contents:: Contents
- :local:
-
-.. TODO [dma.rst] Ref to dma.rst in sequel instead of libmaple-dma
-.. TODO [nvic.rst] Ref to nvic.rst in sequel
-
-Technical Specifications
-------------------------
-
-* MCU: :ref:`STM32F103RBT6 <maple-stdocs>`, a 32-bit ARM Cortex M3
- microprocessor
-* Clock Speed: **72 MHz**
-* **128 KB Flash** and **20 KB SRAM**
-* 43 :ref:`digital I/O pins (GPIOs) <gpio>`
-* 15 :ref:`PWM <pwm>` pins at 16 bit resolution
-* 15 :ref:`analog input (ADC) <adc>` pins at 12-bit resolution
-* 2 :ref:`SPI <spi>` peripherals
-* 2 :ref:`I2C <i2c>` peripherals
-* 7 Channels of Direct Memory Access (**DMA**) (:ref:`libmaple-dma`)
-* 3 :ref:`USART (serial port) <usart>` peripherals
-* One advanced and three general-purpose :ref:`timers <timers>`
-* Dedicated :ref:`USB <usb>` port for programming and communications
-* :ref:`JTAG <jtag>`
-* Nested Vectored Interrupt Controller (NVIC) (including
- :ref:`external interrupt <external-interrupts>` on GPIOs)
-* Supplies up to 500 mA at 3.3 V, with separate 250 mA digital and
- analog regulators for low-noise analog performance
-* :ref:`Open source, four layer design <maple-hardware>`
-* Support for low power, sleep, and standby modes (<500 μA)
-* Operating Voltage: 3.3 V
-* Input Voltage (recommended): 4 V — 12 V
-* Dimensions: 2.05″ × 2.1″
-
-.. _maple-identify-rev:
-
-Identifying your Rev
---------------------
-
-We went through three versions ("Revs") of the Maple hardware: Rev 1,
-Rev 3, and Rev 5 [#frev2_4]_; Rev 5, the final design, is currently on
-sale. The following sections will help you to help you identify your
-Rev.
-
-Rev 5
-^^^^^
-
-These boards went on sale in November 2010. They have white buttons
-and "r5" in small print near the "LeafLabs Maple" text next to the
-"infinity leaf" logo. The Maple Rev 5 repositioned the double header
-on the right hand side to better fit 0.1 inch pitch breadboard. This
-necessitated the removal of pins 21 and 22 from the double header;
-they are still available, but don't have any headers installed on
-them.
-
-.. figure:: /_static/img/maple_rev5.png
- :align: center
- :alt: Maple Rev 5
-
-Rev 3
-^^^^^
-
-This batch of boards went on sale beginning in May 2010. They have a
-darker red silkscreen and the "infinity leaf" logo. The Maple Rev 3
-was the first version which includes the built-in button, labeled BUT.
-
-.. figure:: /_static/img/maple_rev3.png
- :align: center
- :alt: Maple Rev 3
-
-Rev 1
-^^^^^
-
-A small number of Maple Rev 1 boards went on sale in late 2009. They
-have a light red silkscreen and a single pixelated leaf as a logo.
-
-.. figure:: /_static/img/maple_rev1.png
- :align: center
- :alt: Maple Rev 1
-
-.. _maple-powering:
-
-Powering the Maple
-------------------
-
-The Maple's power source is determined by the header to the left of
-the "LeafLabs" label on the silkscreen. All versions of the Maple can
-be powered from the barrel jack connector, USB, or a LiPo battery. We
-ship the Maple with a jumper on the USB selector. In order to power
-it off of an alternative source, unplug the Maple, then move the
-jumper to the desired selector before reconnecting power.
-
-You can also power the Maple via the pin labeled "Vin" on the lower
-header. This pin feeds into both the digital and analog voltage
-regulators. However, don't do this while simultaneously powering the
-board from another source, or you could damage it.
-
-When powering the board from a barrel jack, **double check the
-polarity of the barrel.** The appropriate polarity is noted on the
-silkscreen right next to the connector.
-
-.. warning:: Silkscreens on Maples up through Rev 5s manufactured in
- Spring 2011 falsely indicated that the barrel jack could be
- supplied by up to 18V. (Rev5s manufactured after Spring 2011 may
- still have this error on the silk, but it has been marked over.) We
- recommend a barrel jack input voltage **no greater than 12V**, and
- potentially even lower depending upon the current draw requirements
- of the application. The same goes for powering off LiPo batteries.
-
- Please see :ref:`Power Regulation on the Maple
- <maple-power-regulation>` for more information.
-
-.. _maple-power-regulation:
-
-Power Regulation on the Maple
------------------------------
-
-Power regulation on the Maple is provided by two low dropout linear
-voltage regulators. (The part is the MCP1703 from Microchip, in the
-SOT-23A package. You can download the datasheet `here
-<http://ww1.microchip.com/downloads/en/DeviceDoc/22049a.pdf>`_ ). One
-of the regulators supplies power to the digital voltage plane; the
-other supplies power to the analog voltage plane.
-
-These voltage regulators nominally take an input of up to 16V. In
-addition, while the maximum continuous output current for the board is
-250mA, if you are powering the board off higher voltages the current
-it can supply goes down, due to the regulators needing to dissipate
-the extra power. So if you are powering the board off 12V, the max
-current is about 40mA at room temperature. In general (again, at room
-temperature) the max power dissipation (PD) for the chip is about
-.37W, and output current = PD/(Vin-Vout). For exact max current
-calculations, please refer to the datasheet linked above.
-
-If you are planning to draw a lot of current from the Maple board, it
-is necessary to provide input power as close to 3.3V as
-possible. Powering the microcontroller circuitry and LEDs on the board
-alone takes approximately 30mA, so if you are powering the board with
-12V that leaves only 10mA (at best) available for powering any user
-circuitry. Attempting to draw more than 10mA runs the risk of shorting
-out the power regulators and bricking your board.
-
-Using the Built-in Battery Charger
-----------------------------------
-
-Maples Rev 3 and Rev 5 also have a built-in LiPo battery charger. In
-order to use it, put a jumper across the CHRG header on the power
-selection header and across the USB, or EXT selectors, depending on
-whether you're charging the battery via USB cable or barrel jack
-connector. The LED labeled CHRG will light up while the battery is
-being charged. When the battery is finished charging, the LED labeled
-DONE will light up.
-
-.. _maple-gpios:
-
-GPIO Information
-----------------
-
-The Maple features 38 ready-to-use general purpose input/output (see
-:ref:`gpio`) pins for digital input/output, numbered ``D0`` through
-``D37``. These numbers correspond to the numeric values next to each
-header on the Maple silkscreen.
-
-.. _maple-ret6-but:
-
-Pin ``D38`` is the board's :ref:`button pin <lang-board-values-but>`.
-It is thus mainly useful as an :ref:`input <lang-pin-levels>`. The
-pin will :ref:`read <lang-digitalread>` ``HIGH`` when the :ref:`button
-is pressed <lang-isbuttonpressed>`.
-
-More GPIOs (numbered ``D39``\ --``D42`` on the back of the Maple's
-silkscreen) are available if you use the :ref:`lang-disabledebugports`
-function; see the :ref:`board-specific debug pin constants
-<lang-board-values-debug>` for more information. (See :ref:`this
-erratum <maple-nrst-pb4>` for information about the pin numbered
-``43`` on the silkscreen).
-
-.. TODO [0.1.0] silkscreen pictures which expand abbreviations
-
-.. _maple-pin-map-master:
-
-Master Pin Map
-^^^^^^^^^^^^^^
-
-This table shows a summary of the available functionality on every
-GPIO pin, by peripheral type. The "5 V?" column documents whether or
-not the pin is :ref:`5 volt tolerant <gpio-5v-tolerant>`.
-
-Note that this table is not exhaustive; on some pins, more peripherals
-are available than are listed here.
-
-.. csv-table::
- :header: Pin, :ref:`GPIO <gpio>`, :ref:`ADC <adc>`, :ref:`Timer <timers>`, :ref:`I2C <i2c>`, :ref:`UART <usart>`, :ref:`SPI <spi>`, 5 V?
-
- D0, PA3, CH3, 2_CH4, -, 2_RX, -, -
- D1, PA2, CH2, 2_CH3, -, 2_TX, -, -
- D2, PA0, CH0, 2_CH1_ETR, -, 2_CTS, -, -
- D3, PA1, CH1, 2_CH2, -, 2_RTS, -, -
- D4, PB5, -, -, 1_SMBA, -, -, -
- D5, PB6, -, 4_CH1, 1_SCL, -, -, Yes
- D6, PA8, -, 1_CH1, -, 1_CK, -, Yes
- D7, PA9, -, 1_CH2, -, 1_TX, -, Yes
- D8, PA10, -, 1_CH3, -, 1_RX, -, Yes
- D9, PB7, -, 4_CH2, 1_SDA, -, -, Yes
- D10, PA4, CH4, -, -, 2_CK, 1_NSS, -
- D11, PA7, CH7, 3_CH2, -, -, 1_MOSI, -
- D12, PA6, CH6, 3_CH1, -, -, 1_MISO, -
- D13, PA5, CH5, -, -, -, 1_SCK, -
- D14, PB8, -, 4_CH3, -, -, -, Yes
- D15, PC0, CH10, -, -, -, -, -
- D16, PC1, CH11, -, -, -, -, -
- D17, PC2, CH12, -, -, -, -, -
- D18, PC3, CH13, -, -, -, -, -
- D19, PC4, CH14, -, -, -, -, -
- D20, PC5, CH15, -, -, -, -, -
- D21, PC13, -, -, -, -, -, -
- D22, PC14, -, -, -, -, -, -
- D23, PC15, -, -, -, -, -, -
- D24, PB9, -, 4_CH4, -, -, -, Yes
- D25, PD2, -, 3_ETR, -, -, -, Yes
- D26, PC10, -, -, -, -, -, Yes
- D27, PB0, CH8, 3_CH3, -, -, -, -
- D28, PB1, CH9, 3_CH4, -, -, -, -
- D29, PB10, -, -, 2_SCL, 3_TX, -, Yes
- D30, PB11, -, -, 2_SDA, 3_RX, -, Yes
- D31, PB12, -, -, 2_SMBA, 3_CK, 2_NSS, Yes
- D32, PB13, -, -, -, 3_CTS, 2_SCK, Yes
- D33, PB14, -, -, -, 3_RTS, 2_MISO, Yes
- D34, PB15, -, -, -, -, 2_MOSI, Yes
- D35, PC6, -, -, -, -, -, Yes
- D36, PC7, -, -, -, -, -, Yes
- D37, PC8, -, -, -, -, -, Yes
- D38, PC9, -, -, -, -, -, Yes
- D39, PA13, -, -, -, -, -, Yes
- D40, PA14, -, -, -, -, -, Yes
- D41, PA15, -, -, -, -, -, Yes
- D42, PB3, -, -, -, -, -, Yes
-
-.. _maple-gpio-port-map:
-
-GPIO Port Pin Map
-^^^^^^^^^^^^^^^^^
-
-The following table shows what pins are associated with each
-:ref:`GPIO port <gpio-ports>`.
-
-.. csv-table::
- :header: GPIOA, GPIOB, GPIOC
-
- PA0: D2, PB0: D27, PC0: D15
- PA1: D3, PB1: D28, PC1: D16
- PA2: D1, PB2: -, PC2: D17
- PA3: D0, PB3: D42, PC3: D18
- PA4: D10, PB4: D43, PC4: D19
- PA5: D13, PB5: D4, PC5: D20
- PA6: D12, PB6: D5, PC6: D35
- PA7: D11, PB7: D9, PC7: D36
- PA8: D6, PB8: D14, PC8: D37
- PA9: D7, PB9: D24, PC9: D38
- PA10: D8, PB10: D29, PC10: D26
- PA11: -, PB11: D30, PC11: -
- PA12: -, PB12: D31, PC12: -
- PA13: D39, PB13: D32, PC13: D21
- PA14: D40, PB14: D33, PC14: D22
- PA15: D41, PB15: D34, PC15: D23
-
-.. _maple-timer-map:
-
-Timer Pin Map
-^^^^^^^^^^^^^
-
-The following table shows what pins are associated with a particular
-timer's capture/compare channels.
-
-.. csv-table::
- :header: Timer, Ch. 1, Ch. 2, Ch. 3, Ch. 4
- :delim: |
-
- 1 | D6 | D7 | D8 | -
- 2 | D2 | D3 | D1 | D0
- 3 | D12 | D11 | D27 | D28
- 4 | D5 | D9 | D14 | D24
-
-.. _maple-exti-map:
-
-EXTI Line Pin Map
-^^^^^^^^^^^^^^^^^
-
-The following table shows which pins connect to which :ref:`EXTI lines
-<external-interrupts-exti-line>` on the Maple.
-
-.. list-table::
- :widths: 1 1
- :header-rows: 1
-
- * - EXTI Line
- - Pins
- * - EXTI0
- - D2, D15, D27
- * - EXTI1
- - D3, D16, D28
- * - EXTI2
- - D1, D17, D25
- * - EXTI3
- - D0, D18, D42
- * - EXTI4
- - D10, D19
- * - EXTI5
- - D4, D13, D20
- * - EXTI6
- - D5, D12, D35
- * - EXTI7
- - D9, D11, D36
- * - EXTI8
- - D6, D14, D37
- * - EXTI9
- - D7, D24, D38
- * - EXTI10
- - D8, D26, D29
- * - EXTI11
- - D30
- * - EXTI12
- - D31
- * - EXTI13
- - D21, D32, D39
- * - EXTI14
- - D22, D33, D40
- * - EXTI15
- - D23, D34, D41
-
-.. _maple-usart-map:
-
-USART Pin Map
-^^^^^^^^^^^^^
-
-The Maple has three serial ports (also known as :ref:`USARTs
-<usart>`): ``Serial1``, ``Serial2``, and ``Serial3``. They communicate
-using the pins given in the following table.
-
-.. csv-table::
- :header: Serial Port, TX, RX, CK, CTS, RTS
- :delim: |
-
- ``Serial1`` | D7 | D8 | D6 | |
- ``Serial2`` | D1 | D0 | D10 | D2 | D3
- ``Serial3`` | D29 | D30 | D31 | D32 | D33
-
-.. _maple-adc-bank:
-
-Low-Noise ADC Pins
-^^^^^^^^^^^^^^^^^^
-
-The six pins at the bottom right of the board (D15—D20) generally
-offer lower-noise ADC performance than other pins on the board. If
-you’re concerned about getting good ADC readings, we recommend using
-one of these pins to take your measurements.
-
-Maple has an electrically isolated analog power plane with its own
-regulator, and a geometrically isolated ground plane. Pins D15—D20 are
-laid out to correspond with these analog planes, and our measurements
-indicate that they generally have the lowest noise of all the analog
-lines. However, analog performance may vary depending upon the
-activity of the other GPIOs. Consult the :ref:`Maple hardware design
-files <maple-hardware>` for more details.
-
-Board-Specific Values
----------------------
-
-This section lists the Maple's :ref:`board-specific values
-<lang-board-values>`.
-
-- ``CYCLES_PER_MICROSECOND``: 72
-- ``BOARD_BUTTON_PIN``: 38
-- ``BOARD_LED_PIN``: 13
-- ``BOARD_NR_GPIO_PINS``: 44 (however, :ref:`pin D43 is not usable
- <maple-nrst-pb4>`)
-- ``BOARD_NR_PWM_PINS``: 15
-- ``boardPWMPins``: 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 14, 24, 27, 28
-- ``BOARD_NR_ADC_PINS``: 15
-- ``boardADCPins``: 0, 1, 2, 3, 10, 11, 12, 15, 16, 17, 18, 19, 20, 27, 28
-- ``BOARD_NR_USED_PINS``: 7
-- ``boardUsedPins``: ``BOARD_LED_PIN``, ``BOARD_BUTTON_PIN``,
- ``BOARD_JTMS_SWDIO_PIN``, ``BOARD_JTCK_SWCLK_PIN``,
- ``BOARD_JTDI_PIN``, ``BOARD_JTDO_PIN``, ``BOARD_NJTRST_PIN``
-- ``BOARD_NR_USARTS``: 3
-- ``BOARD_USART1_TX_PIN``: 7
-- ``BOARD_USART1_RX_PIN``: 8
-- ``BOARD_USART2_TX_PIN``: 1
-- ``BOARD_USART2_RX_PIN``: 0
-- ``BOARD_USART3_TX_PIN``: 29
-- ``BOARD_USART3_RX_PIN``: 30
-- ``BOARD_NR_SPI``: 2
-- ``BOARD_SPI1_NSS_PIN``: 10
-- ``BOARD_SPI1_MOSI_PIN``: 11
-- ``BOARD_SPI1_MISO_PIN``: 12
-- ``BOARD_SPI1_SCK_PIN``: 13
-- ``BOARD_SPI2_NSS_PIN``: 31
-- ``BOARD_SPI2_MOSI_PIN``: 34
-- ``BOARD_SPI2_MISO_PIN``: 33
-- ``BOARD_SPI2_SCK_PIN``: 32
-- ``BOARD_JTMS_SWDIO_PIN``: 39
-- ``BOARD_JTCK_SWCLK_PIN``: 40
-- ``BOARD_JTDI_PIN``: 41
-- ``BOARD_JTDO_PIN``: 42
-- ``BOARD_NJTRST_PIN``: :ref:`43 <maple-nrst-pb4>`
-
-.. _maple-hardware:
-
-Hardware Design Files
----------------------
-
-The hardware schematics and board layout files are available in the
-`Maple GitHub repository <https://github.com/leaflabs/maple>`_. The
-design files for Rev 1, Rev 3, and Rev 5 are respectively in the
-``maple-r1``, ``maple-r3``, and ``maple-r5`` subdirectories. A
-schematic for a JTAG adapter suitable for use with Maple is available
-in the ``jtagadapter`` directory.
-
-From the GitHub repository main page, you can download the entire
-repository by clicking the "Download" button. If you are familiar
-with `Git <http://git-scm.com/>`_, you can also clone the repository
-at the command line with ::
-
- $ git clone git://github.com/leaflabs/maple.git
-
-.. _maple-failure-modes:
-
-Failure Modes
--------------
-
-The following are known failure modes. The failure modes aren't
-design errors, but are easy ways to break or damage your board
-permanently.
-
-* **High voltage on non-tolerant pins**: not all header pins are 5V
- compatible; so e.g. connecting certain serial devices in the wrong
- way could over-voltage the pins. The :ref:`pin-mapping master table
- <maple-pin-map-master>` details which pins are :ref:`5 V tolerant
- <gpio-5v-tolerant>`.
-
-Errata
-------
-
-This section documents design flaws and other errors.
-
-General
-^^^^^^^
-
-.. _maple-barrel-jack:
-
-* **Barrel jack power supply voltage mistake**: The acceptable voltage
- range given next to the barrel jack on the Maple through Rev 5s
- manufactured in Spring 2011 is **incorrect**. The given range is 7V
- — 18V. In fact, **18V is too high** and should not be supplied to
- your board. The original voltage regulators used on the Maple were
- rated up to 18V. However, the voltage regulators on current Maple
- Revs are rated up to only 16V, and due to the current draw
- requirements of the board, operate properly only up to 12V. The
- recommended maximum voltage you should apply is **12V**, and
- potentially even lower depending upon the current draw requirements
- of the application. Please see :ref:`Power Regulation on the Maple
- <maple-power-regulation>` for more information.
-
-.. _maple-nrst-pb4:
-
-* **Reset and PB4 tied together**: The Maple's reset line is also
- connected to PB4, which is labeled on the silkscreen as pin 43.
- Thus, attempting to use pin 43 as a GPIO can reset your board. This
- has other implications. Since PB4 is also the JTAG NJTRST line,
- this prevents the :ref:`JTAG <jtag>` "reset halt" command from
- working properly.
-
-.. _maple-power-supply:
-
-* **Power supply marketing mistake**: We originally sold the Maple
- advertising that it was capable of supplying up to 800 mA; the
- correct value is 500 mA.
-
-.. _maple-pwm-marketing:
-
-* **PWM marketing mistake**: We originally advertised the Maple as
- having 22 PWM-capable pins; the correct number is 15.
-
-.. _maple-adc-marketing:
-
-* **ADC marketing mistake**: We originally advertised the Maple as
- having 16 analog input pins. Due to :ref:`the following issue
- <maple-adc-led>`, the correct number is 15.
-
-.. _maple-adc-led:
-
-* **ADC on BOARD_LED_PIN**: We originally sold the Maple RET6 Edition
- advertising 16 analog input lines. However, one of them (the one on
- pin 13) is also connected to the built-in LED. The voltage drop
- across the LED means that the analog to digital converter on that
- pin is not really useful. While it is still usable, its readings
- will be incorrect.
-
-
-By Rev
-^^^^^^
-
-The following subsections lists known issues and warnings for each
-revision of the Maple board.
-
-Rev 5
-~~~~~
-
-* **Pin 3 AIN missing**: Pin 3 is capable of analog input, but on Rev
- 5s manufactured during Fall 2010, the corresponding "AIN" is missing
- from its silkscreen. This mistake was fixed in later manufacturing
- runs.
-
-Rev 3
-~~~~~
-
-* **Pin 3 AIN missing**: Pin 3 is capable of analog input, but the
- corresponding "AIN" is missing from the Rev 3 silkscreen.
-
-.. _maple-rev3-bad-buttons:
-
-* **Bad/Sticky Buttons**: a number of Rev 3 boards sold in May-June 2010
- have questionable RESET and BUT buttons.
-
- What seems to have happened is that the flux remover we used to
- clean the boards before shipping eroded the plastic internals, which
- resulted in intermittent functionality. All buttons on all shipped
- boards did function in testing, but some may have been unreliable in
- regular use.
-
- If you have this problem, we will be happy to ship you new buttons
- if you think you can re-solder them yourself, or you can ship us
- your board and we will swap out that part.
-
- For reference, the button part number is KMR211GLFS and the flux
- remover we used is "Precision Electronics Cleaner" from RadioShack,
- which is "Safe on most plastics" and contains: dipropylene glycol
- monomethyl ether, hydrotreated heavy naphtha, dipropylene glycol
- methyl ether acetate (say that three times fast!), and carbon
- dioxide.
-
-* **Resistors on pins 0 and 1**: these header pins, which are RX/TX on
- USART2 (:ref:`Serial2 <lang-serial>`), have resistors in-line
- between the STM32 and the headers. These resistors increase the
- impedance of the lines for ADC reads and affect the open drain GPIO
- functionality of the pins.
-
- These resistors were accidentally copied over from older Arduino USB
- designs, where they appear to protect the USB-Serial converter from
- TTL voltage on the headers.
-
-* **Silkscreen Errors**: the silkscreen on the bottom indicated PWM
- functionality on pin 25 and listen the external header GND pin as
- number 38 (actually 38 is connected to the BUT button). We manually
- sharpied over both of these mistakes.
-
-Rev 1
-~~~~~
-
-* **ADC noise**: generally very high, in particular when the USB port
- is being used for communications (including keep-alive pings when
- connected to a computer).
-
- This issue was resolved in Rev 3 with a 4-layer design and a
- :ref:`geometrically isolated ADC Vref plane <maple-adc-bank>`.
-
-* **Resistors on pins 0 and 1**: these header pins, which are RX/TX on
- USART2 (:ref:`Serial2 <lang-serial>`), have resistors in-line
- between the STM32 and the headers. These resistors increase the
- impedance of the lines for ADC reads and affect the open drain GPIO
- functionality of the pins.
-
- These resistors were accidentally copied over from older Arduino USB
- designs, where they appear to protect the USB-Serial converter from
- TTL voltage on the headers.
-
-* **Silkscreen Differences**: the pin numbering scheme on Rev 1 is
- different from Rev 3, and thus Rev 3 software is difficult to use
- with Rev 1 boards. Notably, the analog input bank is labeled A0-A4
- on Rev 1 but 15-20 on Rev 3, and the extra header bank does not have
- a pinout table on the bottom.
-
-* **No BUT Button**: the BUT button, useful for serial bootloading,
- was only added in Rev 3. As a workaround, you can directly short the
- appropriate MCU pin to Vcc; see `this forum posting
- <http://forums.leaflabs.com/topic.php?id=32#post-126>`_.
-
-Recommended Reading
--------------------
-
-.. _maple-stdocs:
-
-STMicro documentation for STM32F103RB microcontroller:
-
-* `Datasheet
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00161566.pdf>`_
- (PDF); covers STM32F103x8, STM32F103xB.
-* `Reference Manual RM0008
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/CD00171190.pdf>`_
- (PDF); definitive resource for peripherals on the STM32F1 line.
-* `Programming Manual PM0056
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/PROGRAMMING_MANUAL/CD00228163.pdf>`_
- (PDF); assembly language and register reference.
-* `STM32F103RB <http://www.st.com/internet/mcu/product/164487.jsp>`_
- overview page with links to further references.
-
-.. rubric:: Footnotes
-
-.. [#frev2_4] Revs 2 and 4 were prototypes that didn't pass internal
- testing.
diff --git a/docs/source/lang/api/analogread.rst b/docs/source/lang/api/analogread.rst
index 6665a94..59eab79 100644
--- a/docs/source/lang/api/analogread.rst
+++ b/docs/source/lang/api/analogread.rst
@@ -40,9 +40,8 @@ listed underneath their number on your board's silkscreen. These pin
numbers are available to your program in the :ref:`boardADCPins
<lang-board-values-adc-pins>` board-specific array. The number of
pins which are capable of analog to digital conversion on your board
-is given by the ``BOARD_NR_ADC_PINS`` constant. These values are
-documented for each board in the :ref:`Board Hardware Documentation
-<index-boards>` pages.
+is given by the ``BOARD_NR_ADC_PINS`` constant. See your board's
+documentation for these values.
.. note:: Pin 3 is not marked ``AIN`` on the silkscreen for Maple
revisions through Rev 5; however **it does work** as an analog
diff --git a/docs/source/lang/api/board-values.rst b/docs/source/lang/api/board-values.rst
index d944c8d..70eff60 100644
--- a/docs/source/lang/api/board-values.rst
+++ b/docs/source/lang/api/board-values.rst
@@ -7,8 +7,8 @@ Board-Specific Values
There are a number of board-specific values: constants or variables
which are different depending on which LeafLabs board you have. The
-exact values for each board are given in your :ref:`board's hardware
-documentation <index-boards>`.
+exact values for each board are given in your board's hardware
+documentation.
This page lists and documents the board-specific values. You should
use these when appropriate in your own programs. This will help make
@@ -122,8 +122,8 @@ Constants
<lang-board-values-used-pins>`). However, they can be used as
ordinary GPIOs if you call the :ref:`lang-disabledebugports`
function. (Be careful with this on the Maple and Maple RET6
- Edition, as writing to ``BOARD_NJTRST_PIN`` :ref:`may cause your
- board to reset <maple-nrst-pb4>`\ !).
+ Edition, as writing to ``BOARD_NJTRST_PIN`` may cause your
+ board to reset!).
.. _lang-board-values-pwm-pins:
diff --git a/docs/source/lang/api/disabledebugports.rst b/docs/source/lang/api/disabledebugports.rst
index 283cdbf..071d4c3 100644
--- a/docs/source/lang/api/disabledebugports.rst
+++ b/docs/source/lang/api/disabledebugports.rst
@@ -30,4 +30,6 @@ See Also
--------
- :ref:`lang-enabledebugports`
-- :ref:`Important erratum on Maple pin 43 <maple-nrst-pb4>`
+- Important erratum on Maple pin 43
+
+.. TODO direct off-site link to <maple-nrst-pb4>
diff --git a/docs/source/lang/api/pwmwrite.rst b/docs/source/lang/api/pwmwrite.rst
index 5cc112e..aa39ab1 100644
--- a/docs/source/lang/api/pwmwrite.rst
+++ b/docs/source/lang/api/pwmwrite.rst
@@ -15,9 +15,8 @@ The pins which support PWM have ``PWM`` listed underneath their number
on your board's silkscreen. These pin numbers are available to your
program in the :ref:`boardPWMPins <lang-board-values-pwm-pins>`
board-specific array. The number of pins which are capable of PWM on
-your board is given by the ``BOARD_NR_PWM_PINS`` constant. These
-values are documented for each board in the :ref:`Board Hardware
-Documentation <index-boards>` pages.
+your board is given by the ``BOARD_NR_PWM_PINS`` constant. See your
+board's documentation for these values.
The Arduino function :ref:`analogWrite() <lang-analogwrite>` is an
alias for ``pwmWrite()``, but it is badly named, and its use is
diff --git a/docs/source/language.rst b/docs/source/language.rst
index a24bb5f..d145334 100644
--- a/docs/source/language.rst
+++ b/docs/source/language.rst
@@ -420,8 +420,8 @@ Which could plausibly be turned into the final source file ::
Recommended Reading
-------------------
-* :ref:`Your board's documentation <index-boards>` page, which
- includes references to the relevant ST materials (reference manual,
+* Your board's documentation, which should include
+ references to the relevant ST materials (reference manual,
datashseet, etc.) for your board.
* `ARM Cortex-M3 Technical Reference Manual, Revision r1p1 <http://infocenter.arm.com/help/topic/com.arm.doc.ddi0337e/DDI0337E_cortex_m3_r1p1_trm.pdf>`_
(PDF). This ARM manual specifies the Cortex-M3 architecture,
diff --git a/docs/source/libs/servo.rst b/docs/source/libs/servo.rst
index 549e86f..cc2dac7 100644
--- a/docs/source/libs/servo.rst
+++ b/docs/source/libs/servo.rst
@@ -53,7 +53,7 @@ to attach to pins that support PWM**.
To determine if a pin supports PWM, you can either check if "PWM"
appears next to its number on your board's silkscreen, or look for it
in the list of :ref:`boardPWMPins <lang-board-values-pwm-pins>` in
-your board's :ref:`hardware documentation <index-boards>`.
+your board's hardware documentation.
RC Servos expect a pulse approximately every 20ms. In the Maple
implementation, :ref:`periods <lang-hardwaretimer-setperiod>` are set
diff --git a/docs/source/timers.rst b/docs/source/timers.rst
index 0fa0976..a7281f2 100644
--- a/docs/source/timers.rst
+++ b/docs/source/timers.rst
@@ -82,10 +82,10 @@ you want to use both timer interrupts and PWM in the same program.
Refer to your board's timer pin map to match up timer channels and pin
numbers:
-* :ref:`Maple <maple-timer-map>`
-* :ref:`Maple RET6 Edition <maple-ret6-timer-map>`
-* :ref:`Maple Mini <maple-mini-timer-map>`
-* :ref:`Maple Native Beta <maple-native-b-timer-map>`
+* `Leaflabs Maple`_
+* `Leaflabs Maple RET6`_
+* `Leaflabs Maple Mini`_
+* `Leaflabs Maple Native Beta`_
Overhead
^^^^^^^^
diff --git a/docs/source/troubleshooting.rst b/docs/source/troubleshooting.rst
index 181c3d4..0e9e13d 100644
--- a/docs/source/troubleshooting.rst
+++ b/docs/source/troubleshooting.rst
@@ -10,68 +10,6 @@ This page documents common problems and their solutions.
.. contents:: Contents
:local:
-===================
- Hardware problems
-===================
-
-.. _troubleshooting-throb:
-
-The LED is throbbing and my program is stopped!
------------------------------------------------
-
-The LED throbs when there has been a failed software :ref:`ASSERT()
-<lang-assert>` or some other error.
-
-In the case of a failed assertion, a first debugging step you can take
-is to find out the file and line where the failed assertion took place
-(for instructions on this, see the ``ASSERT()`` documentation linked
-to above). This may give you some clue about the source of the error.
-
-:ref:`libmaple` often uses ``ASSERT()`` to halt immediately when it
-detects that something has gone wrong, so if you're not using
-assertions, then what's probably happening is that some bug is causing
-the failed ``ASSERT()`` lower down.
-
-If it's not a failed assertion, then you're likely looking at
-something like a `hard fault
-<http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337e/ch05s12s01.html>`_.
-
-There are a few issues with the bootloader which mean you might not be
-able to upload your program when this happens. You can still
-reprogram by using :ref:`perpetual bootloader mode
-<troubleshooting-perpetual-bootloader>`.
-
-My board is bricked! I can't upload via the bootloader no matter what!
-----------------------------------------------------------------------
-
-Don't panic. First, make sure that the board is plugged in correctly
-for program upload. If that doesn't work,
-try using :ref:`perpetual bootloader mode
-<troubleshooting-perpetual-bootloader>`.
-
-If that doesn't work, then you've got a problem. All is not lost,
-however! You can always try to :ref:`re-flash the bootloader
-<bootloader-reflashing>` over serial (or :ref:`JTAG <jtag>`).
-
-If your board really is bricked, and you think it's our fault,
-`contact us <http://leaflabs.com/contact>`_\ !
-
-My 5v peripheral doesn't work! (I2C, SPI, USART, etc)
------------------------------------------------------
-
-Yup, the Maple is a 3.3v board. You may need to use a level
-converter. See the :ref:`Arduino Compatibility
-<arduino-compatibility>`, :ref:`GPIO <gpio>`, or other :ref:`hardware
-specific documentation <index-hardware>` for more information.
-
-The reset and D38/serial buttons don't seem to work reliably!
--------------------------------------------------------------
-
-A few Maple Rev3 boards shipped in May-June 2010 may have had
-unreliable buttons; see the :ref:`Maple Errata
-<maple-rev3-bad-buttons>` for details. `We're happy to replace these
-for you <http://leaflabs.com/contact>`_\ !
-
.. _troubleshooting-ide-install:
=======================
diff --git a/docs/source/usart.rst b/docs/source/usart.rst
index dbbc81c..7fb8db7 100644
--- a/docs/source/usart.rst
+++ b/docs/source/usart.rst
@@ -31,10 +31,10 @@ Which pins correspond to the USART TX and RX pins are given on your
board's silkscreen, and also in the board-specific USART pin maps
available here:
-* :ref:`Maple <maple-usart-map>`
-* :ref:`Maple RET6 Edition <maple-ret6-usart-map>`
-* :ref:`Maple Mini <maple-mini-usart-map>`
-* :ref:`Maple Native Beta <maple-native-b-usart-map>`
+* `Leaflabs Maple`_
+* `Leaflabs Maple RET6`_
+* `Leaflabs Maple Mini`_
+* `Leaflabs Maple Native Beta`_
If you use a particular serial port, you cannot also use its
communication pins for other purposes at the same time.