aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Campora2015-09-15 19:54:58 +0200
committerDaniel Campora2015-09-16 10:10:40 +0200
commit861fad581975640dc943990ee889f3dc7cd8eb5d (patch)
tree0050f8ab9150b2b85b7bd6ab42f281fd275ef528
parent22b4c28f854bb2066a0d7471b50f9e00e1363239 (diff)
docs: Adapt WiPy's ADC doc and quickref to the new API.
-rw-r--r--docs/library/pyb.ADC.rst72
-rw-r--r--docs/wipy/quickref.rst30
2 files changed, 67 insertions, 35 deletions
diff --git a/docs/library/pyb.ADC.rst b/docs/library/pyb.ADC.rst
index 2e2c2070d..8623dfc43 100644
--- a/docs/library/pyb.ADC.rst
+++ b/docs/library/pyb.ADC.rst
@@ -1,12 +1,12 @@
.. _pyb.ADC:
-class ADC -- analog to digital conversion: read analog values on a pin
-======================================================================
+class ADC -- analog to digital conversion
+=========================================
.. only:: port_pyboard
Usage::
-
+
import pyb
adc = pyb.ADC(pin) # create an analog object from a pin
@@ -24,32 +24,32 @@ class ADC -- analog to digital conversion: read analog values on a pin
import pyb
- adc = pyb.ADC(pin) # create an analog object on one of the 4 ADC channels
- val = adc.read() # read an analog value
- adc.deinit() # disable the adc channel
- adc.init() # enable the adc channel
+ adc = pyb.ADC() # create an ADC object
+ apin = adc.channel(pin='GP3') # create an analog pin on GP3
+ val = apin() # read an analog value
Constructors
------------
+
.. only:: port_pyboard
.. class:: pyb.ADC(pin)
-
+
Create an ADC object associated with the given pin.
This allows you to then read analog values on that pin.
.. only:: port_wipy
- .. class:: pyb.ADC(pin)
-
+ .. class:: pyb.ADC(id=0, \*, bits=12)
+
Create an ADC object associated with the given pin.
This allows you to then read analog values on that pin.
For more info check the `pinout and alternate functions
table. <https://raw.githubusercontent.com/wipy/wipy/master/docs/PinOUT.png>`_
.. warning::
-
+
ADC pin input range is 0-1.4V (being 1.8V the absolute maximum that it
can withstand). When GP2, GP3, GP4 or GP5 are remapped to the
ADC block, 1.8 V is the maximum. If these pins are used in digital mode,
@@ -58,12 +58,12 @@ Constructors
Methods
-------
-.. method:: adc.read()
+.. only:: port_pyboard
- Read the value on the analog pin and return it. The returned value
- will be between 0 and 4095.
+ .. method:: adc.read()
-.. only:: port_pyboard
+ Read the value on the analog pin and return it. The returned value
+ will be between 0 and 4095.
.. method:: adc.read_timed(buf, timer)
@@ -97,15 +97,51 @@ Methods
# this will take 10 seconds to finish
for val in buf: # loop over all values
print(val) # print the value out
-
+
This function does not allocate any memory.
.. only:: port_wipy
+ .. method:: adc.channel(id, *, pin)
+
+ Create an analog pin. If only channel ID is given, the correct pin will be selected. Alternatively,
+ only the pin can be passed and the correct channel will be selected. Examples::
+
+ # all of these are equivalent and enable ADC channel 1 on GP3
+ apin = adc.channel(1)
+ apin = adc.channel(pin='GP3')
+ apin = adc.channel(id=1, pin='GP3')
+
.. method:: adc.init()
- Enable the ADC channel.
+ Enable the ADC block.
.. method:: adc.deinit()
- Disable the ADC channel.
+ Disable the ADC block.
+
+.. only:: port_wipy
+
+ class ADCChannel --- read analog values from internal or external sources
+ =========================================================================
+
+ .. only:: port_wipy
+
+ ADC channels can be connected to internal points of the MCU or to GPIO pins.
+ ADC channels are created using the ADC.channel method.
+
+ .. method:: adcchannel()
+
+ Fast method to read the channel value.
+
+ .. method:: adcchannel.value()
+
+ Read the channel value.
+
+ .. method:: adcchannel.init()
+
+ Re-init (and effectively enable) the ADC channel.
+
+ .. method:: adcchannel.deinit()
+
+ Disable the ADC channel.
diff --git a/docs/wipy/quickref.rst b/docs/wipy/quickref.rst
index cad6d98b0..8376e5b40 100644
--- a/docs/wipy/quickref.rst
+++ b/docs/wipy/quickref.rst
@@ -78,8 +78,9 @@ See :ref:`pyb.ADC <pyb.ADC>`. ::
from pyb import ADC
- adc = ADC(1)
- adc.read() # read value, 0-4095
+ adc = ADC()
+ apin = adc.channel(pin='GP3')
+ apin() # read value, 0-4095
UART (serial bus)
-----------------
@@ -94,21 +95,16 @@ See :ref:`pyb.Pin <pyb.Pin>` and :ref:`pyb.UART <pyb.UART>`. ::
SPI bus
-------
-See :ref:`pyb.Pin <pyb.Pin>` and :ref:`pyb.SPI <pyb.SPI>`. ::
+See :ref:`pyb.SPI <pyb.SPI>`. ::
- from pyb import Pin, SPI
-
- # first assign CLK, MISO, MOSI, CS to the correct pins
- Pin('GP14', af=7, mode=Pin.STD) # CLK
- Pin('GP15', af=7, mode=Pin.STD) # MISO
- Pin('GP16', af=7, mode=Pin.STD) # MOSI
- Pin('GP17', af=7, mode=Pin.STD) # NSS/CS
+ from pyb SPI
# configure the SPI master @ 2MHz
- spi = SPI(1, SPI.MASTER, baudrate=200000, polarity=0, phase=0)
- spi.send('hello')
- spi.recv(5) # receive 5 bytes on the bus
- spi.send_recv('hello') # send a receive 5 bytes
+ spi = SPI(0, SPI.MASTER, baudrate=200000, polarity=0, phase=0)
+ spi.write('hello')
+ spi.read(5) # receive 5 bytes on the bus
+ rbuf = bytearray(5)
+ spi.write_readinto('hello', rbuf) # send a receive 5 bytes
I2C bus
-------
@@ -132,9 +128,9 @@ See :ref:`pyb.WDT <pyb.WDT>`. ::
from pyb import WDT
# enable the WDT with a timeout of 5s (1s is the minimum)
- wdt = WDT(5000)
- wdt.kick()
-
+ wdt = WDT(timeout=5000)
+ wdt.feed()
+
Real time clock (RTC)
---------------------