circuitpython/docs/library
Angus Gratton 81daba31c5 docs: Specify that machine.idle() returns at least every 1ms.
A lot of existing code (i.e. micropython-lib lps22h, lcd160cr sensor
drivers, lora sync_modem driver, usb-device-hid) calls machine.idle()
inside a tight loop that is polling some condition. This reduces the power
usage compared to constantly looping, but can be faster than calling a
sleep function. However on a tickless port there's not always an interrupt
before the condition they are polling for, so it's difficult to restructure
this code if machine.idle() doesn't have any upper limit on execution time.

This commit specifies an upper limit of 1ms before machine.idle() resumes
execution. This is already the case for all ports except rp2.

This work was funded through GitHub Sponsors.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2024-07-23 16:42:42 +10:00
..
_thread.rst docs/_thread: Add a placeholder docs for _thread module. 2017-11-10 00:09:43 +02:00
array.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
asyncio.rst docs/library/asyncio: Document that ThreadSafeFlag now works on unix. 2024-05-15 14:13:30 +10:00
binascii.rst extmod/modubinascii: Add newline keyword to b2a_base64 function. 2022-01-23 10:18:01 +11:00
bluetooth.rst docs/library/bluetooth: Add note that ESP32 supports pairing/bonding. 2024-02-29 14:33:22 +11:00
btree.rst extmod/modbtree: Use buffer protocol for keys/values. 2022-06-21 00:44:49 +10:00
builtins.rst py/objint: Fix int.to_bytes() buffer size checks. 2024-06-24 14:07:00 +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: Update deque docs to describe new features. 2024-03-19 10:09:11 +11:00
cryptolib.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
deflate.rst extmod/moddeflate: Change default window size. 2023-09-01 12:23:37 +10:00
errno.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
esp.rst docs/library/esp: Correct the description of esp.osdebug(). 2023-11-22 16:48:35 +11:00
esp32.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
espnow.rst all: Fix various spelling mistakes found by codespell 2.2.6. 2023-10-03 11:24:50 +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/gc: Clarify mem_alloc and mem_free only for Python heap. 2023-09-15 12:19:13 +10:00
gzip.rst docs/library/deflate: Add docs for deflate.DeflateIO. 2023-07-21 19:32:42 +10: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/openamp: Document the new openamp module. 2024-03-15 18:11:28 +11:00
io.rst docs/library/io: Remove io.FileIO and io.TextIOWrapper. 2023-10-16 23:07:13 +11: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 all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
machine.ADCBlock.rst all: Prune trailing whitespace. 2024-03-07 16:25:17 +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 all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
machine.I2S.rst docs: Rename uasyncio to asyncio. 2023-06-19 18:36:54 +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 all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
machine.rst docs: Specify that machine.idle() returns at least every 1ms. 2024-07-23 16:42:42 +10:00
machine.RTC.rst docs/library/machine.RTC: Add docs for RTC.memory() method. 2024-03-26 17:59:06 +11:00
machine.SD.rst docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
machine.SDCard.rst docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11: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 all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
machine.Timer.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10: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.USBDevice.rst extmod/machine_usb_device: Add USBDevice.remote_wakeup method. 2024-07-02 10:23:26 +10:00
machine.WDT.rst docs/esp32: Update esp32 docs based on IDF v5 changes. 2023-06-23 15:34:49 +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: Change link to a micropython-lib reference. 2023-09-01 13:56:34 +10:00
network.LAN.rst docs: Update docs to replace ifconfig with ipconfig. 2024-07-05 16:06:04 +10:00
network.rst docs: Update docs to replace ifconfig with ipconfig. 2024-07-05 16:06:04 +10:00
network.WIZNET5K.rst docs: Update docs to replace ifconfig with ipconfig. 2024-07-05 16:06:04 +10:00
network.WLAN.rst docs: Update docs to replace ifconfig with ipconfig. 2024-07-05 16:06:04 +10:00
network.WLANWiPy.rst docs: Update docs to replace ifconfig with ipconfig. 2024-07-05 16:06:04 +10:00
openamp.rst docs/library/openamp: Document the new openamp module. 2024-03-15 18:11:28 +11:00
os.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
platform.rst docs/library/platform: Add docs for the platform library. 2023-09-04 22:40:56 +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 all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10: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: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
pyb.I2C.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10: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: Use vfs module instead of os. 2024-02-07 13:25:10 +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 all: Rename UMODULE to MODULE in preprocessor/Makefile vars. 2023-06-08 17:54:11 +10:00
re.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
rp2.DMA.rst docs/library/rp2.DMA: Add documentation for rp2 DMA support. 2024-03-19 17:10:54 +11:00
rp2.Flash.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11: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 docs/library/rp2.DMA: Add documentation for rp2 DMA support. 2024-03-19 17:10:54 +11:00
rp2.StateMachine.rst docs/library/rp2.DMA: Add documentation for rp2 DMA support. 2024-03-19 17:10:54 +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 docs/library/ssl: Change wrap_socket args keyfile/certfile to key/cert. 2024-02-05 13:05:29 +11:00
stm.rst stm32/subghz: Add STM32WL55 subghz radio interface to stm module. 2023-08-23 11:58:11 +10:00
struct.rst py/binary: Support half-float 'e' format in struct pack/unpack. 2024-03-20 14:13:49 +11:00
sys.rst docs/library/sys.rst: Document implementation.version.releaselevel. 2024-02-07 15:51:25 +11:00
time.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
uctypes.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
vfs.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
wipy.rst docs: Add usocket and ussl modules' documentation. 2015-10-21 15:30:56 +02:00
wm8960.rst all: Fix various spelling mistakes found by codespell 2.2.6. 2023-10-03 11:24:50 +11:00
zephyr.DiskAccess.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
zephyr.FlashArea.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
zephyr.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +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/library/deflate: Add docs for deflate.DeflateIO. 2023-07-21 19:32:42 +10:00