From c13b2f2d0040cdf38ea3178717480d07f02c5245 Mon Sep 17 00:00:00 2001 From: Peter Hinch 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 272d8dcb32..11e7a2a41e 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 af4dc3d779..42f491eec8 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 546e7e5787..7be39a5d8e 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 ae3ce9ac39..119bf980ec 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 eb96f48777..ca3f878cca 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.