summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2022-02-09docs/library/collections.rst: Use class for deque and OrderedDict.Jos Verlinde
2022-02-04docs/reference/isr_rules.rst: Describe uasyncio-IRQ interface.Peter Hinch
2022-02-04docs/esp32/quickref: Update ADC documentation.Jonathan Hogg
Update ADC documentation now that the new API is described in the main docs.
2022-02-04docs/reference/isr_rules.rst: Fix inconsistent variable name in example.Luiz Brandao
Fixed to be conistent with the code example above it.
2022-02-04docs/develop/porting.rst: Fix build and import problems in the example.Cem Eliguzel
2022-02-02docs: Remove reference to obsolete neopixel_write function.Damien George
It has been replaced by machine.bitstream. Signed-off-by: Damien George <damien@micropython.org>
2022-01-27stm32/pin: Change remaining uses of "af" to "alt".Damien George
The keyword "af" has been deprecated for some time and "alt" should be used instead (but "af" still works). Signed-off-by: Damien George <damien@micropython.org>
2022-01-23docs/differences: Update python_36 now that b2a_base64 accepts newline.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2022-01-23extmod/modubinascii: Add newline keyword to b2a_base64 function.Christian Decker
This allows encoding things (eg a Basic-Auth header for a request) without slicing the \n from the string, which allocates additional memory. Co-authored-by: David Lechner <david@lechnology.com>
2022-01-23docs/differences: Update differences now that math.tau/inf/nan exist.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2022-01-21docs/esp32: Document expanded ADC API in quickref.Jonathan Hogg
Document read_u16(), read_uv() and ADCBlock(). Mark old read(), atten() and width() methods as legacy.
2022-01-21docs/library: Specify additional ADC methods and new ADCBlock class.Damien George
The new ADC methods are: init(), read_uv() and block(). The new ADCBlock class has methods: init() and connect(). See related discussions in #3943, #4213. Signed-off-by: Damien George <damien@micropython.org>
2022-01-21extmod/machine_i2c: Increase default SoftI2C timeout to 50ms.Damien George
Some devices, eg BNO055, can stretch SCL for a long time, so make the default large to accommodate them. 50ms matches the current default for stm32 hardware I2C . Signed-off-by: Damien George <damien@micropython.org>
2022-01-17all: Bump version to 1.18.v1.18Damien George
Signed-off-by: Damien George <damien@micropython.org>
2022-01-14esp32/machine_bitstream: Reinstate bitstream bit-bang implementation.Damien George
The bit-bang implementation was replaced with the RMT implementation in 599b61c08687ca077e3b0e115d5b76affcc673ca. This commit brings back that bit-bang code, and allows it to be selected via the new static method: esp32.RMT.bitstream_channel(None) The bit-bang implementation may be useful if the RMT needs to be used for something else, or if bit-banging is more stable in certain applications. Signed-off-by: Damien George <damien@micropython.org>
2022-01-13docs/esp32: Update RMT quickref example to match latest code.Damien George
The start keyword was removed in 18e48a71ee69557a5340c8652f2e73e586063be3 Signed-off-by: Damien George <damien@micropython.org>
2022-01-06LICENSE,docs: Update copyright year range to include 2022.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2022-01-06zephyr: Upgrade to Zephyr v2.7.0.Maureen Helm
Updates the Zephyr port build instructions and CI to use the latest Zephyr release tag. Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-01-05docs/differences: Document details of new PEPs/features in Python 3.5+.NitiKaur
And how they relate to MicroPython. As these features are implemented (or the decision is made to not implement them) the tables can be updated to document the differences between MicroPython and standard Python.
2021-12-22esp32/machine_pwm: Keep duty constant when changing frequency.IhorNehrutsa
Save and restore the same duty cycle when the frequency (or frequency resolution) is changed. This allows a smooth frequency change. Also update the esp32 PWM quickref to be clearer.
2021-12-18py/runtime: Allow initialising sys.path/argv with defaults.Damien George
If MICROPY_PY_SYS_PATH_ARGV_DEFAULTS is enabled (which it is by default) then sys.path and sys.argv will be initialised and populated with default values. This keeps all bare-metal ports aligned. Signed-off-by: Damien George <damien@micropython.org>
2021-12-18docs/library/sys.rst: Add note about '.frozen' as an entry in sys.path.Jim Mussared
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-12-15docs: Remove trailing spaces and convert tabs to spaces.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-12-03esp32/machine_pwm: Implement duty_u16() and duty_ns() PWM methods.IhorNehrutsa
The methods duty_u16() and duty_ns() are implemented to match the existing docs. The duty will remain the same when the frequency is changed. Standard ESP32 as well as S2, S3 and C3 are supported. Thanks to @kdschlosser for the fix for rounding in resolution calculation. Documentation is updated and examples expanded for esp32, including the quickref and tutorial. Additional notes are added to the machine.PWM docs regarding limitations of hardware PWM.
2021-12-01extmod/modbluetooth: Support gap_connect(None) to cancel a connection.Jonathan Hogg
Allow cancellation of in-progress peripheral connections.
2021-11-30docs/library/machine.Pin.rst: Add Pin.ANALOG mode constant.Scott Armitage
2021-11-30docs/library/machine.Timer.rst: Document `period` and `callback` args.Michael Buesch
Signed-off-by: Michael Buesch <m@bues.ch>
2021-11-30docs/library/machine.SPI.rst: Add example SPI usage.Michael Buesch
Signed-off-by: Michael Buesch <m@bues.ch>
2021-11-30docs/library/machine.Timer.rst: Document 'id' as positional-only arg.Michael Buesch
Signed-off-by: Michael Buesch <m@bues.ch>
2021-11-30docs/library/uasyncio.rst: Detail exception behaviour in cancel/timeout.Peter Hinch
2021-11-25docs/esp8266/tutorial: Fix comments of FrameBuffer examples.gibbonsc
The third and fourth parameters in display.rect() and display.fill_rect() are not x,y coordinates, but are instead width,height values. Update the comment after the example to show the correct x,y coordinates of the bottom right corner of each rectangle, respectively.
2021-11-19docs/library/sys.rst: Add docs for sys.settrace.NitiKaur
2021-11-19docs/rp2/quickref.rst: Add section on PIO.NitiKaur
2021-11-19docs/reference/filesystem.rst: Add detail on how to use littlefs fuse.Damien George
Without the --block_count option the fuse will fail. Signed-off-by: Damien George <damien@micropython.org>
2021-11-19docs/library/rp2.rst: Update function asm_pio_encode to add sideset_opt.oli
2021-11-17docs/library/framebuf.rst: Adjust dimensions in example.Sebastian Wicki
This commit swaps the dimensions of the `framebuffer.FrameBuffer` in the docs example from 10x100 to 100x10 pixels to avoid clipping. This is done to better fit the subsequent example code, which writes text of size 96x8 followed by a 96x1 horizontal line. The y coordinate of the horizontal line is also adjusted such that it is drawn inside of the new canvas bounds.
2021-11-13rp2/machine_i2s: Add I2S protocol support.Mike Teachman
This commit adds I2S protocol support for the rp2 port: - I2S API is consistent with STM32 and ESP32 ports - I2S configurations supported: - master transmit and master receive - 16-bit and 32-bit sample sizes - mono and stereo formats - sampling frequency - 3 modes of operation: - blocking - non-blocking with callback - uasyncio - internal ring buffer size can be tuned - DMA IRQs are managed on an I2S object basis, allowing other RP2 entities to use DMA IRQs when I2S is not being used - MicroPython documentation - tested on Raspberry Pi Pico development board - build metric changes for this commit: text(+4552), data(0), bss(+8) Signed-off-by: Mike Teachman <mike.teachman@gmail.com>
2021-11-01docs/rp2/general.rst: Fix typo with missing spaces.Andrew Scheller
2021-10-26extmod/modbluetooth: Add connection interval to gap_connect.Jim Mussared
This forwards through directly to the NimBLE and BTStack connect functions. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-10-14docs/esp32/tutorial: Add an example of peripheral control via regs.NitiKaur
2021-10-14docs/library/stm.rst: Document the stm module.NitiKaur
2021-10-14docs/reference/manifest.rst: Add docs for manifest.py files.NitiKaur
2021-10-14docs/reference/mpremote.rst: Add docs for mpremote.NitiKaur
2021-10-13docs/library/random.rst: Document the random module.NitiKaur
2021-10-13docs/rp2: Add reference for PIO assembly instructions, and PIO tutorial.NitiKaur
2021-09-21docs/esp32: Explain ESP32 PWM modes, timers, and channels.IhorNehrutsa
2021-09-16all: Remove MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE.Jim Mussared
This commit removes all parts of code associated with the existing MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE optimisation option, including the -mcache-lookup-bc option to mpy-cross. This feature originally provided a significant performance boost for Unix, but wasn't able to be enabled for MCU targets (due to frozen bytecode), and added significant extra complexity to generating and distributing .mpy files. The equivalent performance gain is now provided by the combination of MICROPY_OPT_LOAD_ATTR_FAST_PATH and MICROPY_OPT_MAP_LOOKUP_CACHE (which has been enabled on the unix port in the previous commit). It's hard to provide precise performance numbers, but tests have been run on a wide variety of architectures (x86-64, ARM Cortex, Aarch64, RISC-V, xtensa) and they all generally agree on the qualitative improvements seen by the combination of MICROPY_OPT_LOAD_ATTR_FAST_PATH and MICROPY_OPT_MAP_LOOKUP_CACHE. For example, on a "quiet" Linux x64 environment (i3-5010U @ 2.10GHz) the change from CACHE_MAP_LOOKUP_IN_BYTECODE, to LOAD_ATTR_FAST_PATH combined with MAP_LOOKUP_CACHE is: diff of scores (higher is better) N=2000 M=2000 bccache -> attrmapcache diff diff% (error%) bm_chaos.py 13742.56 -> 13905.67 : +163.11 = +1.187% (+/-3.75%) bm_fannkuch.py 60.13 -> 61.34 : +1.21 = +2.012% (+/-2.11%) bm_fft.py 113083.20 -> 114793.68 : +1710.48 = +1.513% (+/-1.57%) bm_float.py 256552.80 -> 243908.29 : -12644.51 = -4.929% (+/-1.90%) bm_hexiom.py 521.93 -> 625.41 : +103.48 = +19.826% (+/-0.40%) bm_nqueens.py 197544.25 -> 217713.12 : +20168.87 = +10.210% (+/-3.01%) bm_pidigits.py 8072.98 -> 8198.75 : +125.77 = +1.558% (+/-3.22%) misc_aes.py 17283.45 -> 16480.52 : -802.93 = -4.646% (+/-0.82%) misc_mandel.py 99083.99 -> 128939.84 : +29855.85 = +30.132% (+/-5.88%) misc_pystone.py 83860.10 -> 82592.56 : -1267.54 = -1.511% (+/-2.27%) misc_raytrace.py 21490.40 -> 22227.23 : +736.83 = +3.429% (+/-1.88%) This shows that the new optimisations are at least as good as the existing inline-bytecode-caching, and are sometimes much better (because the new ones apply caching to a wider variety of map lookups). The new optimisations can also benefit code generated by the native emitter, because they apply to the runtime rather than the generated code. The improvement for the native emitter when LOAD_ATTR_FAST_PATH and MAP_LOOKUP_CACHE are enabled is (same Linux environment as above): diff of scores (higher is better) N=2000 M=2000 native -> nat-attrmapcache diff diff% (error%) bm_chaos.py 14130.62 -> 15464.68 : +1334.06 = +9.441% (+/-7.11%) bm_fannkuch.py 74.96 -> 76.16 : +1.20 = +1.601% (+/-1.80%) bm_fft.py 166682.99 -> 168221.86 : +1538.87 = +0.923% (+/-4.20%) bm_float.py 233415.23 -> 265524.90 : +32109.67 = +13.756% (+/-2.57%) bm_hexiom.py 628.59 -> 734.17 : +105.58 = +16.796% (+/-1.39%) bm_nqueens.py 225418.44 -> 232926.45 : +7508.01 = +3.331% (+/-3.10%) bm_pidigits.py 6322.00 -> 6379.52 : +57.52 = +0.910% (+/-5.62%) misc_aes.py 20670.10 -> 27223.18 : +6553.08 = +31.703% (+/-1.56%) misc_mandel.py 138221.11 -> 152014.01 : +13792.90 = +9.979% (+/-2.46%) misc_pystone.py 85032.14 -> 105681.44 : +20649.30 = +24.284% (+/-2.25%) misc_raytrace.py 19800.01 -> 23350.73 : +3550.72 = +17.933% (+/-2.79%) In summary, compared to MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE, the new MICROPY_OPT_LOAD_ATTR_FAST_PATH and MICROPY_OPT_MAP_LOOKUP_CACHE options: - are simpler; - take less code size; - are faster (generally); - work with code generated by the native emitter; - can be used on embedded targets with a small and constant RAM overhead; - allow the same .mpy bytecode to run on all targets. See #7680 for further discussion. And see also #7653 for a discussion about simplifying mpy-cross options. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-09-16stm32: Suggest putting code in main.py not boot.py.Jim Mussared
Don't want users to accidentally use boot.py (because recovering requires knowing how to activate safe mode). Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-09-13docs/library/machine.I2S.rst: Specify that I2S.shift args are kw-only.Peter Hinch
2021-09-13docs/make.bat: Change Windows output dir from '_build' to 'build'.Ihor Nehrutsa
To match the output file used by Makefile.