circuitpython/docs/library
David (Pololu) bf3eb9dc39 rp2/machine_i2c: Add timeout parameter for machine.I2C().
This commit adds support for the `timeout` keyword argument to machine.I2C
on the rp2 port, following how it's done on other ports.

The main motivation here is avoid the interpreter crashing due to infinite
loops when SDA is stuck low, which is quite common if the board gets reset
while reading from an I2C device.

A default timeout of 50ms is chosen because it's consistent with:
- Commit a707fe50b0 which used a timeout of
  50,000us for zero-length writes on the rp2 port.
- The machine.SoftI2C class which uses 50,000us as the default timeout.
- The stm32 port's hardware I2C, which uses 50,000us for
  I2C_POLL_DEFAULT_TIMEOUT_US.

This commit also fixes the default timeout on the esp32 port to be
consistent with the above, and updates the documentation for machine.I2C to
document this keyword argument.
2023-04-21 18:03:33 +10:00
..
_thread.rst docs/_thread: Add a placeholder docs for _thread module. 2017-11-10 00:09:43 +02:00
array.rst docs/library/array: Add docs for dunder methods. 2022-11-15 18:21:58 +11:00
binascii.rst extmod/modubinascii: Add newline keyword to b2a_base64 function. 2022-01-23 10:18:01 +11:00
bluetooth.rst extmod/modbluetooth: Replace def_handle with end_handle in char IRQ. 2022-09-09 11:24:24 +10:00
btree.rst extmod/modbtree: Use buffer protocol for keys/values. 2022-06-21 00:44:49 +10:00
builtins.rst docs/library/builtins.rst: Add module title. 2021-08-17 11:26:24 +10:00
cmath.rst docs/library: Add CPython docs xref to each pertinent module. 2017-07-02 15:37:31 +03:00
collections.rst docs/library/collections.rst: Use class for deque and OrderedDict. 2022-02-09 15:00:00 +11:00
cryptolib.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
errno.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
esp32.rst esp32/modesp32: Add wake_on_ulp() so ULP can wake CPU from deepsleep. 2022-06-23 17:31:01 +10:00
esp.rst docs/library/esp.rst: Document the osdebug function. 2022-02-09 15:06:19 +11:00
framebuf.rst docs/library/framebuf: Clarify docs for blit regarding palette. 2022-11-17 23:18:22 +11:00
gc.rst docs/library: Add CPython docs xref to each pertinent module. 2017-07-02 15:37:31 +03:00
hashlib.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
heapq.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
index.rst docs/library: Fix nested rst styles not rendering. 2022-08-26 15:15:59 +10:00
io.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
json.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
lcd160cr.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
machine.ADC.rst docs/library: Specify additional ADC methods and new ADCBlock class. 2022-01-21 22:35:23 +11:00
machine.ADCBlock.rst docs/library: Specify additional ADC methods and new ADCBlock class. 2022-01-21 22:35:23 +11:00
machine.ADCWiPy.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
machine.I2C.rst rp2/machine_i2c: Add timeout parameter for machine.I2C(). 2023-04-21 18:03:33 +10:00
machine.I2S.rst drivers/codec: Add driver for the WM8960 codec. 2022-04-04 16:31:17 +10:00
machine.Pin.rst docs/library/machine.Pin: Update to use preferred DRIVE_x constants. 2022-03-07 23:47:45 +11:00
machine.PWM.rst docs: Add quickref and docs for mimxrt, including network.LAN docs. 2022-04-04 14:11:31 +10:00
machine.rst docs/library/machine: Add machine.memX to docs with brief example. 2022-11-08 23:12:34 +11:00
machine.RTC.rst docs/library/machine.RTC.rst: Document datetime method and fix ex code. 2021-06-12 22:53:49 +10:00
machine.SD.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
machine.SDCard.rst docs: Add quickref and docs for mimxrt, including network.LAN docs. 2022-04-04 14:11:31 +10:00
machine.Signal.rst docs/library/machine.Signal.rst: Correct typo: usecases to use cases. 2020-10-20 17:21:30 +11:00
machine.SPI.rst docs/library/machine.SPI.rst: Add class constant SoftSPI.MSB and .LSB. 2022-02-09 15:05:38 +11:00
machine.Timer.rst docs/library/machine.Timer: Add freq argument to machine.Timer. 2023-01-19 15:47:45 +11:00
machine.TimerWiPy.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
machine.UART.rst renesas-ra: Add the UART methods uart.txdone() and uart.flush(). 2022-12-15 12:09:34 +01:00
machine.WDT.rst rp2/machine_wdt: Check for the maximum timeout value of watchdog. 2022-08-23 16:26:29 +10:00
math.rst docs/library: Add CPython docs xref to each pertinent module. 2017-07-02 15:37:31 +03:00
micropython.rst docs/library/micropython: Fix spelling of compiler. 2022-08-26 15:15:59 +10:00
neopixel.rst docs/library/neopixel: Update GitHub URL for neopixel.py link. 2022-12-07 13:36:20 +11:00
network.LAN.rst mimxrt/network: Rename the argument clock_mode to ref_clk_mode. 2022-11-17 08:55:16 +01:00
network.rst docs/library/network: Update docs for network.country, network.hostname. 2023-03-01 01:28:02 +11:00
network.WIZNET5K.rst all: Rename MICROPY_PY_WIZNET5K to MICROPY_PY_NETWORK_WIZNET5K. 2022-06-07 16:55:18 +10:00
network.WLAN.rst docs/library/network: Update docs for network.country, network.hostname. 2023-03-01 01:28:02 +11:00
network.WLANWiPy.rst docs: Change \* to * in argument lists. 2020-08-21 12:24:13 +10:00
os.rst docs/library/os.rst: Clarify littlefs requirements for block erase. 2021-09-10 15:21:12 +10:00
pyb.Accel.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.ADC.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.CAN.rst docs/library/pyb.CAN: Update the recv example to take a 5-tuple. 2022-11-15 22:50:17 +11:00
pyb.DAC.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.ExtInt.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Flash.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.I2C.rst stm32/i2c: Fix I2C frequency calc so it doesn't exceed requested rate. 2022-11-18 14:25:19 +11:00
pyb.LCD.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.LED.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Pin.rst docs/library/pyb.Pin: Add Pin.ALT constant. 2022-07-29 12:16:32 +10:00
pyb.rst docs/library/pyb.rst: Add pyb.hid_mouse and pyb.hid_keyboard constants. 2022-02-09 15:04:57 +11:00
pyb.RTC.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Servo.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.SPI.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Switch.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Timer.rst docs/library/pyb.Timer: Document how to use BKIN pin with example. 2022-07-29 12:22:23 +10:00
pyb.UART.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.USB_HID.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.USB_VCP.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
random.rst docs/library/random.rst: Document the random module. 2021-10-13 16:56:37 +11:00
re.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
rp2.Flash.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
rp2.PIO.rst docs/library: Add initial API reference for rp2 module and its classes. 2021-05-08 18:02:04 +10:00
rp2.rst rp2/modrp2: Disable other core, shorten delay to 8us in bootsel_button. 2023-03-09 11:44:20 +11:00
rp2.StateMachine.rst docs/library/rp2.StateMachine: Expand put() documentation. 2023-01-12 17:14:04 +11:00
select.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
socket.rst docs/library/socket: Use correct sockaddr variable name. 2023-01-13 17:40:01 +11:00
ssl.rst extmod/modussl_mbedtls: Implement cert_reqs and cadata arguments. 2022-07-20 16:46:04 +10:00
stm.rst docs/library/stm.rst: Document the stm module. 2021-10-14 23:19:08 +11:00
struct.rst docs/library/struct: Embed format tables. 2022-12-06 09:32:05 +01:00
sys.rst py/modsys: Introduce sys.implementation._machine constant. 2022-04-28 17:23:03 +10:00
time.rst docs/library/time: Provide more info about which epoch is used. 2022-07-29 11:27:16 +10:00
uasyncio.rst docs/library/uasyncio: Describe restriction on ThreadSafeFlag. 2022-11-16 13:03:43 +11:00
uctypes.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
wipy.rst docs: Add usocket and ussl modules' documentation. 2015-10-21 15:30:56 +02:00
wm8960.rst drivers/codec: Add driver for the WM8960 codec. 2022-04-04 16:31:17 +10:00
zephyr.DiskAccess.rst docs/library/zephyr: Add libraries specific to the Zephyr port. 2021-08-13 20:21:14 +10:00
zephyr.FlashArea.rst docs/library/zephyr: Add libraries specific to the Zephyr port. 2021-08-13 20:21:14 +10:00
zephyr.rst docs/library/zephyr: Add libraries specific to the Zephyr port. 2021-08-13 20:21:14 +10:00
zephyr.zsensor.rst docs/library/zephyr: Add libraries specific to the Zephyr port. 2021-08-13 20:21:14 +10:00
zlib.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00