From c13b2f2d0040cdf38ea3178717480d07f02c5245 Mon Sep 17 00:00:00 2001
From: Peter Hinch <peter@hinch.me.uk>
Date: Mon, 11 Jan 2016 06:48:35 +0000
Subject: [PATCH] docs: Several minor changes: network, pyb, ADCAll and inline
 asm.

---
 docs/library/network.rst                 |  3 ++-
 docs/library/pyb.ADC.rst                 |  6 ++++++
 docs/library/pyb.rst                     |  8 ++++++++
 docs/reference/asm_thumb2_hints_tips.rst | 10 +++++-----
 docs/reference/asm_thumb2_misc.rst       |  3 +++
 5 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/docs/library/network.rst b/docs/library/network.rst
index 272d8dcb3..11e7a2a41 100644
--- a/docs/library/network.rst
+++ b/docs/library/network.rst
@@ -8,7 +8,8 @@
 This module provides network drivers and routing configuration.  Network
 drivers for specific hardware are available within this module and are
 used to configure a hardware network interface.  Configured interfaces
-are then available for use via the :mod:`socket` module.
+are then available for use via the :mod:`socket` module. To use this module
+the network build of firmware must be installed.
 
 For example::
 
diff --git a/docs/library/pyb.ADC.rst b/docs/library/pyb.ADC.rst
index af4dc3d77..42f491eec 100644
--- a/docs/library/pyb.ADC.rst
+++ b/docs/library/pyb.ADC.rst
@@ -74,3 +74,9 @@ Methods
 
        This function does not allocate any memory.
 
+The ADCAll Object
+-----------------
+
+Instantiating this changes all ADC pins to analog inputs. It is possible to read the
+MCU temperature, VREF and VBAT without using ADCAll. The raw data can be accessed on
+ADC channels 16, 17 and 18 respectively. However appropriate scaling will need to be applied.
diff --git a/docs/library/pyb.rst b/docs/library/pyb.rst
index 546e7e578..7be39a5d8 100644
--- a/docs/library/pyb.rst
+++ b/docs/library/pyb.rst
@@ -25,6 +25,10 @@ Time related functions
    after 2^30 milliseconds (about 12.4 days) this will start to return
    negative numbers.
 
+   Note that if :meth:`pyb.stop()` is issued the hardware counter supporting this
+   function will pause for the duration of the "sleeping" state. This
+   will affect the outcome of :meth:`pyb.elapsed_millis()`.
+
 .. function:: micros()
 
    Returns the number of microseconds since the board was last reset.
@@ -33,6 +37,10 @@ Time related functions
    after 2^30 microseconds (about 17.8 minutes) this will start to return
    negative numbers.
 
+   Note that if :meth:`pyb.stop()` is issued the hardware counter supporting this
+   function will pause for the duration of the "sleeping" state. This
+   will affect the outcome of :meth:`pyb.elapsed_micros()`.
+
 .. function:: elapsed_millis(start)
 
    Returns the number of milliseconds which have elapsed since ``start``.
diff --git a/docs/reference/asm_thumb2_hints_tips.rst b/docs/reference/asm_thumb2_hints_tips.rst
index ae3ce9ac3..119bf980e 100644
--- a/docs/reference/asm_thumb2_hints_tips.rst
+++ b/docs/reference/asm_thumb2_hints_tips.rst
@@ -78,11 +78,11 @@ three arguments, which must (if used) be named ``r0``, ``r1`` and ``r2``. When
 the code executes the registers will be initialised to those values.
 
 The data types which can be passed in this way are integers and memory
-addresses. Further, integers are restricted in that the top two bits
-must be identical, limiting the range to -2**30 to 2**30 -1. Return
-values are similarly limited. These limitations can be overcome by means
-of the ``array`` module to allow any number of values of any type to
-be accessed.
+addresses. With current firmware all possible 32 bit values may be passed.
+Returned integers are restricted in that the top two bits must be identical,
+limiting the range to -2**30 to 2**30 -1. The limitations on number of arguments
+and return values can be overcome by means of the ``array`` module which enables
+any number of values of any type to be accessed.
 
 Multiple arguments
 ~~~~~~~~~~~~~~~~~~
diff --git a/docs/reference/asm_thumb2_misc.rst b/docs/reference/asm_thumb2_misc.rst
index eb96f4877..ca3f878cc 100644
--- a/docs/reference/asm_thumb2_misc.rst
+++ b/docs/reference/asm_thumb2_misc.rst
@@ -5,6 +5,9 @@ Miscellaneous instructions
 * wfi() Suspend execution in a low power state until an interrupt occurs.
 * cpsid(flags) set the Priority Mask Register - disable interrupts.
 * cpsie(flags) clear the Priority Mask Register - enable interrupts.
+* mrs(Rd, special_reg) ``Rd = special_reg`` copy a special register to a general register. The special register
+  may be IPSR (Interrupt Status Register) or BASEPRI (Base Priority Register). The IPSR provides a means of determining
+  the exception number of an interrupt being processed. It contains zero if no interrupt is being processed.
 
 Currently the ``cpsie()`` and ``cpsid()`` functions are partially implemented.
 They require but ignore the flags argument and serve as a means of enabling and disabling interrupts.
-- 
GitLab