micropython/docs/library
Damien George 8bec0e869d docs/machine.I2C: Add writevto method to write a vector of byte bufs.
This allows to efficiently send to an I2C slave data that is made up of
more than one buffer.  Instead of needing to allocate temporary memory to
combine buffers together this new method allows to pass in a tuple or list
of buffers.  The name is based on the POSIX function writev() which has
similar intentions and signature.

The reasons for taking this approach (compared to having an interface with
separate start/write/stop methods) are:
- It's a backwards compatible extension.
- It's convenient for the user.
- It's efficient because there is only one Python call, then the C code can
  do everything in one go.
- It's efficient on the I2C bus because the implementation can do
  everything in one go without pauses between blocks of bytes.
- It should be possible to implement this extension in all ports, for
  hardware and software I2C.

Further discussion is found in issue #3482, PR #4020 and PR #4763.
2019-05-20 14:51:56 +10:00
..
_thread.rst docs/_thread: Add a placeholder docs for _thread module. 2017-11-10 00:09:43 +02:00
array.rst docs: Fix some references and RST markup to eliminate Sphinx warnings. 2018-03-15 15:50:51 +11:00
btree.rst docs/library: Add xrefs to "stream" dictionary entry for many modules. 2017-12-04 18:36:20 +02:00
builtins.rst docs/library: Add CPython docs xref to each pertinent module. 2017-07-02 15:37:31 +03:00
cmath.rst docs/library: Add CPython docs xref to each pertinent module. 2017-07-02 15:37:31 +03:00
esp32.rst docs/library: Add documentation for esp32 module. 2019-01-25 12:18:34 +11:00
esp.rst docs: Add initial docs for esp32 port, including quick-ref and general. 2019-01-25 12:18:34 +11:00
framebuf.rst extmod/modframebuf: Add 8-bit greyscale format (GS8). 2017-12-14 17:36:13 +11:00
gc.rst docs/library: Add CPython docs xref to each pertinent module. 2017-07-02 15:37:31 +03:00
index.rst docs/library: Add documentation for esp32 module. 2019-01-25 12:18:34 +11:00
lcd160cr.rst docs: Fix some references and RST markup to eliminate Sphinx warnings. 2018-03-15 15:50:51 +11:00
machine.ADC.rst docs/library/machine.*: Add cross-reference label to individual classes. 2017-04-18 15:27:37 +10:00
machine.I2C.rst docs/machine.I2C: Add writevto method to write a vector of byte bufs. 2019-05-20 14:51:56 +10:00
machine.Pin.rst docs/library/machine.Pin: Add PULL_HOLD constant to possible pin pulls. 2019-03-14 07:29:04 +11:00
machine.rst docs/machine: Change sleep to lightsleep and add timeout arguments. 2019-01-27 11:12:16 +11:00
machine.RTC.rst docs/library/machine.RTC.rst: Fix typo. 2017-08-14 15:42:25 +10:00
machine.SD.rst docs/library/machine: Remove conditionals in machine class index. 2018-07-20 15:58:18 +10:00
machine.Signal.rst docs/machine.Signal: Improve style/grammar and add usage example. 2017-08-29 00:08:40 +03:00
machine.SPI.rst docs/library/machine.SPI: Add note about baudrate imprecision. 2018-09-26 15:21:10 +10:00
machine.Timer.rst docs: Move WiPy specific Timer class to separate doc file. 2018-07-31 23:40:06 +10:00
machine.TimerWiPy.rst docs: Move WiPy specific Timer class to separate doc file. 2018-07-31 23:40:06 +10:00
machine.UART.rst docs/library/machine.UART.rst: Specify optional txbuf and rxbuf args. 2018-08-14 15:21:54 +10:00
machine.WDT.rst docs/library/machine.*: Add cross-reference label to individual classes. 2017-04-18 15:27:37 +10:00
math.rst docs/library: Add CPython docs xref to each pertinent module. 2017-07-02 15:37:31 +03:00
micropython.rst lib/utils/pyexec: Forcefully unlock the heap if locked and REPL active. 2018-10-13 16:21:08 +11:00
network.CC3K.rst docs/library/network: Move specific network classes to their own file. 2018-09-27 17:23:42 +10:00
network.rst docs/library/network: Make AbstractNIC methods layout correctly. 2018-09-27 17:24:41 +10:00
network.WIZNET5K.rst docs/library/network: Move specific network classes to their own file. 2018-09-27 17:23:42 +10:00
network.WLAN.rst docs/library/network: Move specific network classes to their own file. 2018-09-27 17:23:42 +10:00
network.WLANWiPy.rst docs/library/network: Move specific network classes to their own file. 2018-09-27 17:23:42 +10:00
pyb.Accel.rst docs/library: Add missing cross-ref links for classes in pyb module. 2017-10-11 11:30:16 +11:00
pyb.ADC.rst docs/library: Remove "only" directive from all pyb module docs. 2018-07-18 15:47:44 +10:00
pyb.CAN.rst stm32/can: Add "list" param to CAN.recv() to receive data inplace. 2018-03-19 15:12:24 +11:00
pyb.DAC.rst docs/library/pyb.DAC: Fix typo in markup to balance quotes. 2018-07-18 15:52:48 +10:00
pyb.ExtInt.rst docs: Spelling mistakes 2016-08-02 11:17:46 +03:00
pyb.I2C.rst docs/library: Remove "only" directive from all pyb module docs. 2018-07-18 15:47:44 +10:00
pyb.LCD.rst docs/library: Add missing cross-ref links for classes in pyb module. 2017-10-11 11:30:16 +11:00
pyb.LED.rst docs/pyb.*: Use proper class case in method headers. 2016-06-08 16:21:28 +03:00
pyb.Pin.rst docs/pyb.Pin: Minor typo fix to specify Pin in pyb.Pin.cpu. 2018-10-19 17:31:59 +11:00
pyb.rst docs/library/pyb: Add deprecation warning for mount and old block proto. 2018-09-20 16:31:36 +10:00
pyb.RTC.rst docs/library: Remove "only" directive from all pyb module docs. 2018-07-18 15:47:44 +10:00
pyb.Servo.rst docs/pyb.*: Use proper class case in method headers. 2016-06-08 16:21:28 +03:00
pyb.SPI.rst docs/library: Remove "only" directive from all pyb module docs. 2018-07-18 15:47:44 +10:00
pyb.Switch.rst docs: Fix some references and RST markup to eliminate Sphinx warnings. 2018-03-15 15:50:51 +11:00
pyb.Timer.rst docs/library: Remove "only" directive from all pyb module docs. 2018-07-18 15:47:44 +10:00
pyb.UART.rst stm32/machine_uart: Change default UART timeout to 0, for non blocking. 2019-05-07 13:56:42 +10:00
pyb.USB_HID.rst docs/library: Add missing cross-ref links for classes in pyb module. 2017-10-11 11:30:16 +11:00
pyb.USB_VCP.rst docs/library: Add xrefs to "stream" dictionary entry for many modules. 2017-12-04 18:36:20 +02:00
sys.rst docs/library: Add xrefs to "stream" dictionary entry for many modules. 2017-12-04 18:36:20 +02:00
ubinascii.rst docs/library/ubinascii: Update base64 docs. 2017-08-17 09:25:51 +03:00
ucollections.rst docs/library: Add documentation for ucollections.deque. 2018-06-26 14:29:22 +10:00
ucryptolib.rst extmod/moducryptolib: Add AES-CTR support. 2019-05-06 18:09:48 +10:00
uctypes.rst docs/library/uctypes: Add examples and make general updates. 2018-10-23 11:42:30 +11:00
uerrno.rst docs/uerrno: Fix xref-vs-code markup. 2017-12-03 15:50:37 +02:00
uhashlib.rst docs/library: Add CPython docs xref to each pertinent module. 2017-07-02 15:37:31 +03:00
uheapq.rst docs/library: Add CPython docs xref to each pertinent module. 2017-07-02 15:37:31 +03:00
uio.rst docs/uio: Document StringIO/BytesIO(alloc_size) constructors. 2018-10-18 12:39:25 +11:00
ujson.rst docs/library/ujson: Document dump() and load() functions. 2018-02-15 11:37:48 +11:00
uos.rst docs/uos: Document extra requirements on stream objs passed to dupterm. 2019-02-26 01:12:37 +11:00
ure.rst docs/ure: Fix match.group signature to indicate index param is required. 2019-02-08 17:06:19 +11:00
uselect.rst docs/uselect: Describe more aspects of poll.register/modify behavior. 2018-10-05 16:57:58 +10:00
usocket.rst docs/usocket: Minor fixes to grammar of getaddrinfo. 2018-06-27 15:18:46 +10:00
ussl.rst docs: Fix some references and RST markup to eliminate Sphinx warnings. 2018-03-15 15:50:51 +11:00
ustruct.rst docs/library: Add CPython docs xref to each pertinent module. 2017-07-02 15:37:31 +03:00
utime.rst docs/library/utime: Fix incorrect example with ticks_diff args order. 2017-11-30 14:56:08 +11:00
uzlib.rst docs/library: Add xrefs to "stream" dictionary entry for many modules. 2017-12-04 18:36:20 +02:00
wipy.rst docs: Add usocket and ussl modules' documentation. 2015-10-21 15:30:56 +02:00