Commit a58713a8 authored by Damien George's avatar Damien George
Browse files

docs: Cleanup and update some docs.

parent c7da7838
:mod:`cmath` --- mathematical functions for complex numbers :mod:`cmath` -- mathematical functions for complex numbers
=========================================================== ==========================================================
.. module:: cmath .. module:: cmath
:synopsis: mathematical functions for complex numbers :synopsis: mathematical functions for complex numbers
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
The ``cmath`` module provides some basic mathematical funtions for The ``cmath`` module provides some basic mathematical funtions for
working with complex numbers. working with complex numbers.
Functions Functions
--------- ---------
...@@ -47,7 +46,6 @@ Functions ...@@ -47,7 +46,6 @@ Functions
Return the square-root of ``z``. Return the square-root of ``z``.
Constants Constants
--------- ---------
......
:mod:`gc` --- control the garbage collector :mod:`gc` -- control the garbage collector
=========================================== ==========================================
.. module:: gc .. module:: gc
:synopsis: control the garbage collector :synopsis: control the garbage collector
......
:mod:`math` --- mathematical functions :mod:`math` -- mathematical functions
====================================== =====================================
.. module:: math .. module:: math
:synopsis: mathematical functions :synopsis: mathematical functions
...@@ -7,45 +7,58 @@ ...@@ -7,45 +7,58 @@
The ``math`` module provides some basic mathematical funtions for The ``math`` module provides some basic mathematical funtions for
working with floating-point numbers. working with floating-point numbers.
*Note:* On the pyboard, floating-point numbers have 32-bit precision.
Functions Functions
--------- ---------
.. function:: acos(x) .. function:: acos(x)
Return the inverse cosine of ``x``.
.. function:: acosh(x) .. function:: acosh(x)
Return the inverse hyperbolic cosine of ``x``.
.. function:: asin(x) .. function:: asin(x)
Return the inverse sine of ``x``.
.. function:: asinh(x) .. function:: asinh(x)
Return the inverse hyperbolic sine of ``x``.
.. function:: atan(x) .. function:: atan(x)
Return the inverse tangent of ``x``.
.. function:: atan2(y, x) .. function:: atan2(y, x)
Return the principal value of the inverse tangent of ``y/x``.
.. function:: atanh(x) .. function:: atanh(x)
Return the inverse hyperbolic tangent of ``x``.
.. function:: ceil(x) .. function:: ceil(x)
Return an integer, being ``x`` rounded towards positive infinity.
.. function:: copysign(x, y) .. function:: copysign(x, y)
Return ``x`` with the sign of ``y``.
.. function:: cos(x) .. function:: cos(x)
Return the cosine of ``x``.
.. function:: cosh(x) .. function:: cosh(x)
Return the hyperbolic cosine of ``x``.
.. function:: degrees(x) .. function:: degrees(x)
Return radians ``x`` converted to degrees.
.. function:: erf(x) .. function:: erf(x)
...@@ -57,18 +70,23 @@ Functions ...@@ -57,18 +70,23 @@ Functions
.. function:: exp(x) .. function:: exp(x)
Return the exponential of ``x``.
.. function:: expm1(x) .. function:: expm1(x)
Return ``exp(x) - 1``.
.. function:: fabs(x) .. function:: fabs(x)
Return the absolute value of ``x``.
.. function:: floor(x) .. function:: floor(x)
Return an integer, being ``x`` rounded towards negative infinity.
.. function:: fmod(x, y) .. function:: fmod(x, y)
Return the remainder of ``x/y``.
.. function:: frexp(x) .. function:: frexp(x)
...@@ -80,31 +98,40 @@ Functions ...@@ -80,31 +98,40 @@ Functions
.. function:: isfinite(x) .. function:: isfinite(x)
Return ``True`` if ``x`` is finite.
.. function:: isinf(x) .. function:: isinf(x)
Return ``True`` if ``x`` is infinite.
.. function:: isnan(x) .. function:: isnan(x)
Return ``True`` if ``x`` is not-a-number
.. function:: ldexp(x, exp) .. function:: ldexp(x, exp)
Return ``x * (2**exp)``.
.. function:: lgamma(x) .. function:: lgamma(x)
return the natural logarithm of the gamma function of ``x``. Return the natural logarithm of the gamma function of ``x``.
.. function:: log(x) .. function:: log(x)
Return the natural logarithm of ``x``.
.. function:: log10(x) .. function:: log10(x)
Return the base-10 logarithm of ``x``.
.. function:: log2(x) .. function:: log2(x)
Return the base-2 logarithm of ``x``.
.. function:: modf(x) .. function:: modf(x)
Return a tuple of two floats, being the fractional and integral parts of
``x``. Both return values have the same sign as ``x``.
.. function:: pow(x, y) .. function:: pow(x, y)
...@@ -112,26 +139,31 @@ Functions ...@@ -112,26 +139,31 @@ Functions
.. function:: radians(x) .. function:: radians(x)
Return degrees ``x`` converted to radians.
.. function:: sin(x) .. function:: sin(x)
Return the sine of ``x``.
.. function:: sinh(x) .. function:: sinh(x)
Return the hyperbolic sine of ``x``.
.. function:: sqrt(x) .. function:: sqrt(x)
Returns the square root of ``x``. Return the square root of ``x``.
.. function:: tan(x) .. function:: tan(x)
Return the tangent of ``x``.
.. function:: tanh(x) .. function:: tanh(x)
Return the hyperbolic tangent of ``x``.
.. function:: trunc(x) .. function:: trunc(x)
Return an integer, being ``x`` rounded towards 0.
Constants Constants
--------- ---------
......
:mod:`os` --- basic "operating system" services :mod:`os` -- basic "operating system" services
=============================================== ==============================================
.. module:: os .. module:: os
:synopsis: basic "operating system" services :synopsis: basic "operating system" services
The ``os`` module contains functions for filesystem access and ``urandom``. The ``os`` module contains functions for filesystem access and ``urandom``.
The filesystem has ``/`` as the root directory, and the available physical Pyboard specifics
drives are accessible from here. They are currently: -----------------
/flash -- the internal flash filesystem The filesystem on the pyboard has ``/`` as the root directory and the
/sd -- the SD card (if it exists) available physical drives are accessible from here. They are currently:
``/flash`` -- the internal flash filesystem
``/sd`` -- the SD card (if it exists)
On boot up, the current directory is ``/flash`` if no SD card is inserted, On boot up, the current directory is ``/flash`` if no SD card is inserted,
otherwise it is ``/sd``. otherwise it is ``/sd``.
Functions Functions
--------- ---------
...@@ -56,7 +59,6 @@ Functions ...@@ -56,7 +59,6 @@ Functions
Return a bytes object with n random bytes, generated by the hardware Return a bytes object with n random bytes, generated by the hardware
random number generator. random number generator.
Constants Constants
--------- ---------
......
class ADC =-- analog to digital conversion: read analog values on a pin class ADC -- analog to digital conversion: read analog values on a pin
======================================================================= ======================================================================
Usage:: Usage::
......
class Accel --- accelerometer control class Accel -- accelerometer control
===================================== ====================================
Accel is an object that controls the accelerometer. Example usage:: Accel is an object that controls the accelerometer. Example usage::
......
class CAN --- controller area network communication bus class CAN -- controller area network communication bus
======================================================= ======================================================
CAN implements the standard CAN communications protocol. At CAN implements the standard CAN communications protocol. At
the physical level it consists of 2 lines: RX and TX. Note that the physical level it consists of 2 lines: RX and TX. Note that
......
class DAC --- digital to analog conversion class DAC -- digital to analog conversion
========================================== =========================================
The DAC is used to output analog values (a specific voltage) on pin X5 or pin X6. The DAC is used to output analog values (a specific voltage) on pin X5 or pin X6.
The voltage will be between 0 and 3.3V. The voltage will be between 0 and 3.3V.
......
class ExtInt --- configure I/O pins to interrupt on external events class ExtInt -- configure I/O pins to interrupt on external events
=================================================================== ==================================================================
There are a total of 22 interrupt lines. 16 of these can come from GPIO pins There are a total of 22 interrupt lines. 16 of these can come from GPIO pins
and the remaining 6 are from internal sources. and the remaining 6 are from internal sources.
......
class I2C --- a two-wire serial protocol class I2C -- a two-wire serial protocol
======================================== =======================================
I2C is a two-wire protocol for communicating between devices. At the physical I2C is a two-wire protocol for communicating between devices. At the physical
level it consists of 2 wires: SCL and SDA, the clock and data lines respectively. level it consists of 2 wires: SCL and SDA, the clock and data lines respectively.
......
class LCD --- LCD control for the LCD touch-sensor pyskin class LCD -- LCD control for the LCD touch-sensor pyskin
========================================================= ========================================================
The LCD class is used to control the LCD on the LCD touch-sensor pyskin, The LCD class is used to control the LCD on the LCD touch-sensor pyskin,
LCD32MKv1.0. The LCD is a 128x32 pixel monochrome screen, part NHD-C12832A1Z. LCD32MKv1.0. The LCD is a 128x32 pixel monochrome screen, part NHD-C12832A1Z.
......
class LED --- LED object class LED -- LED object
======================== =======================
The LED object controls an individual LED (Light Emitting Diode). The LED object controls an individual LED (Light Emitting Diode).
......
class Pin --- control I/O pins class Pin -- control I/O pins
============================== =============================
A pin is the basic object to control I/O pins. It has methods to set A pin is the basic object to control I/O pins. It has methods to set
the mode of the pin (input, output, etc) and methods to get and set the the mode of the pin (input, output, etc) and methods to get and set the
...@@ -206,3 +206,56 @@ Constants ...@@ -206,3 +206,56 @@ Constants
.. data:: Pin.PULL_UP .. data:: Pin.PULL_UP
enable the pull-up resistor on the pin enable the pull-up resistor on the pin
class PinAF -- Pin Alternate Functions
======================================
A Pin represents a physical pin on the microcprocessor. Each pin
can have a variety of functions (GPIO, I2C SDA, etc). Each PinAF
object represents a particular function for a pin.
Usage Model::
x3 = pyb.Pin.board.X3
x3_af = x3.af_list()
x3_af will now contain an array of PinAF objects which are availble on
pin X3.
For the pyboard, x3_af would contain:
[Pin.AF1_TIM2, Pin.AF2_TIM5, Pin.AF3_TIM9, Pin.AF7_USART2]
Normally, each peripheral would configure the af automatically, but sometimes
the same function is available on multiple pins, and having more control
is desired.
To configure X3 to expose TIM2_CH3, you could use::
pin = pyb.Pin(pyb.Pin.board.X3, mode=pyb.Pin.AF_PP, af=pyb.Pin.AF1_TIM2)
or::
pin = pyb.Pin(pyb.Pin.board.X3, mode=pyb.Pin.AF_PP, af=1)
Methods
-------
.. method:: pinaf.__str__()
Return a string describing the alternate function.
.. method:: pinaf.index()
Return the alternate function index.
.. method:: pinaf.name()
Return the name of the alternate function.
.. method:: pinaf.reg()
Return the base register associated with the peripheral assigned to this
alternate function. For example, if the alternate function were TIM2_CH3
this would return stm.TIM2
class PinAF --- Pin Alternate Functions
=======================================
A Pin represents a physical pin on the microcprocessor. Each pin
can have a variety of functions (GPIO, I2C SDA, etc). Each PinAF
object represents a particular function for a pin.
Usage Model::
x3 = pyb.Pin.board.X3
x3_af = x3.af_list()
x3_af will now contain an array of PinAF objects which are availble on
pin X3.
For the pyboard, x3_af would contain:
[Pin.AF1_TIM2, Pin.AF2_TIM5, Pin.AF3_TIM9, Pin.AF7_USART2]
Normally, each peripheral would configure the af automatically, but sometimes
the same function is available on multiple pins, and having more control
is desired.
To configure X3 to expose TIM2_CH3, you could use::
pin = pyb.Pin(pyb.Pin.board.X3, mode=pyb.Pin.AF_PP, af=pyb.Pin.AF1_TIM2)
or::
pin = pyb.Pin(pyb.Pin.board.X3, mode=pyb.Pin.AF_PP, af=1)
Methods
-------
.. method:: pinaf.__str__()
Return a string describing the alternate function.
.. method:: pinaf.index()
Return the alternate function index.
.. method:: pinaf.name()
Return the name of the alternate function.
.. method:: pinaf.reg()
Return the base register associated with the peripheral assigned to this
alternate function. For example, if the alternate function were TIM2_CH3
this would return stm.TIM2
class RTC --- real time clock class RTC -- real time clock
============================= ============================
The RTC is and independent clock that keeps track of the date The RTC is and independent clock that keeps track of the date
and time. and time.
......
class SPI --- a master-driven serial protocol class SPI -- a master-driven serial protocol
============================================= ============================================
SPI is a serial protocol that is driven by a master. At the physical level SPI is a serial protocol that is driven by a master. At the physical level
there are 3 lines: SCK, MOSI, MISO. there are 3 lines: SCK, MOSI, MISO.
......
class Servo --- 3-wire hobby servo driver class Servo -- 3-wire hobby servo driver
========================================= ========================================
Servo controls standard hobby servos with 3-wires (ground, power, signal). Servo controls standard hobby servos with 3-wires (ground, power, signal).
......
class Switch --- switch object class Switch -- switch object
============================== =============================
A Switch object is used to control a push-button switch. A Switch object is used to control a push-button switch.
......
class Timer --- control internal timers class Timer -- control internal timers
======================================= ======================================
Timers can be used for a great variety of tasks. At the moment, only Timers can be used for a great variety of tasks. At the moment, only
the simplest case is implemented: that of calling a function periodically. the simplest case is implemented: that of calling a function periodically.
......
class UART --- duplex serial communication bus class UART -- duplex serial communication bus
============================================== =============================================
UART implements the standard UART/USART duplex serial communications protocol. At UART implements the standard UART/USART duplex serial communications protocol. At
the physical level it consists of 2 lines: RX and TX. The unit of communication the physical level it consists of 2 lines: RX and TX. The unit of communication
...@@ -36,6 +36,8 @@ To check if there is anything to be read, use:: ...@@ -36,6 +36,8 @@ To check if there is anything to be read, use::
uart.any() # returns True if any characters waiting uart.any() # returns True if any characters waiting
*Note:* The stream functions ``read``, ``write`` etc Are new in Micro Python since v1.3.4.
Earlier versions use ``uart.send`` and ``uart.recv``.
Constructors Constructors
------------ ------------
...@@ -56,7 +58,6 @@ Constructors ...@@ -56,7 +58,6 @@ Constructors
- ``UART(3)`` is on ``YB``: ``(TX, RX) = (Y9, Y10) = (PB10, PB11)`` - ``UART(3)`` is on ``YB``: ``(TX, RX) = (Y9, Y10) = (PB10, PB11)``
- ``UART(2)`` is on: ``(TX, RX) = (X3, X4) = (PA2, PA3)`` - ``UART(2)`` is on: ``(TX, RX) = (X3, X4) = (PA2, PA3)``
Methods Methods
------- -------