Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Merge 1.18 #6038

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 355 commits into from
Feb 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
355 commits
Select commit Hold shift + click to select a range
4f89c38
mimxrt: Optimize the runtime speed.
robert-hh Sep 17, 2021
9f6604e
mimxrt: Enable the platform module.
robert-hh Sep 19, 2021
64e4bae
tools/ci.sh: Use a specific ESP IDF v4.4 commit.
dpgeorge Oct 25, 2021
43467b9
extmod/modbluetooth: Add connection interval to gap_connect.
jimmo Sep 27, 2021
1244d7f
lib/mynewt-nimble: Switch to the MicroPython fork of NimBLE.
jimmo Oct 26, 2021
948e328
extmod/nimble: Update to NimBLE v1.4.
jimmo Jul 7, 2021
9519484
extmod/nimble: Remove workaround for OS_ENOMEM.
jimmo Sep 21, 2021
e359b07
ports: Add board.json for all boards.
jimmo Sep 1, 2021
ab754d5
tools/autobuild: Add script to generate website board metadata.
jimmo Oct 19, 2021
910e9f9
esp32: Add specific deploy_s2.md instructions for esp32-s2.
jimmo Oct 27, 2021
5bb14c4
esp32/boards/LOLIN_S2_MINI: Add image to board.json.
mcauser Oct 27, 2021
590ec2c
stm32/boards: Add images to board.json for Adafruit and VCC_GND boards.
mcauser Oct 27, 2021
5b9c9cd
esp32/boards: Update board and deploy metadata for UM_xxx boards.
UnexpectedMaker Oct 27, 2021
1e48495
esp32/usb: Further improve speed of USB CDC output.
dpgeorge Oct 27, 2021
3ace779
esp32/boards/LOLIN_S2_PICO: Add LOLIN_S2_PICO board definition files.
mcauser Oct 27, 2021
07ea1af
esp32/boards/ESP32_S2_WROVER: Link to specific deploy_s2 instructions.
mcauser Oct 28, 2021
83827e8
stm32/uart: Fix race conditions and clearing status in IRQ handler.
dpgeorge Oct 28, 2021
7f14344
ports: Add images, features and urls to board.json.
mcauser Oct 28, 2021
3b011d5
github/workflows: Add new workflow to build ports download metadata.
dpgeorge Oct 28, 2021
b4de39c
bare-arm/mpconfigport.h: Use MICROPY_CONFIG_ROM_LEVEL_MINIMUM.
dpgeorge Nov 1, 2021
ad17d9f
bare-arm/mpconfigport.h: Disable remaining optional features.
dpgeorge Nov 1, 2021
0e236ee
py/mpconfig.h: Define the "extra" feature level.
jimmo Sep 15, 2021
3041881
stm32/mpconfigport.h: Use the "extra" feature level.
jimmo Sep 15, 2021
b1a0ce4
rp2/mpconfigport.h: Use the "extra" feature level.
jimmo Sep 15, 2021
c62351f
py/mpconfig.h: Revert MICROPY_REPL_INFO to disabled at all levels.
dpgeorge Nov 1, 2021
693b927
rp2: Enable optimisations (comp goto, map cache, fast attr).
jimmo Sep 20, 2021
fe12048
py/gc: Add hook to run code during time consuming GC operations.
laurensvalk Oct 26, 2021
0adea40
docs/rp2/general.rst: Fix typo with missing spaces.
lurch Sep 23, 2021
cb99ca9
tools/dfu.py: Make tool work with python3 when parsing DFU files.
dhylands Oct 25, 2021
c9c5503
minimal/Makefile: Don't force a 32-bit build.
jimmo Nov 4, 2021
fa873ce
minimal/mpconfigport.h: Disable features that are not needed.
dpgeorge Nov 5, 2021
1bd47db
tools/autobuild: Automatically build all mimxrt, rp2 and samd boards.
dpgeorge Nov 5, 2021
ff4f1f3
esp8266/boards/GENERIC: Enable f-strings.
dpgeorge Nov 1, 2021
6d9da27
esp32: Support building with latest IDF v5.
brutusmcforce Nov 4, 2021
0be3b91
stm32,esp32: In machine_i2s, send null samples in underflow situations.
miketeachman Sep 25, 2021
6d5296e
stm32,esp32: In machine_i2s, make object reference arrays root pointers.
miketeachman Nov 10, 2021
b6dbbbe
rp2/machine_i2s: Add I2S protocol support.
miketeachman Sep 4, 2021
43079aa
drivers/ninaw10: Add ublox Nina-W10 WiFi/BT module driver.
iabdalkader Aug 15, 2021
3745c39
rp2: Add support for Nina-W10 WiFi/BT module.
iabdalkader Sep 14, 2021
f082793
drivers/lsm6dsox: Add LSM6DSOX driver and examples.
iabdalkader Nov 15, 2021
c3dceb1
rp2/boards: Add support for Arduino Nano RP2040.
iabdalkader Aug 15, 2021
d72d699
mimxrt/boards: Add the Seeed ARCH MIX board.
robert-hh Oct 6, 2021
7cc9b25
mimxrt/boards: Update the board.json files and add deploy_xx.md files.
robert-hh Nov 5, 2021
7d7d29d
mimxrt: Fix mp_hal_quiet_timing_enter()/exit() so timer still runs.
robert-hh Nov 10, 2021
b73d8b0
rp2/machine_bitstream: Implement the machine.bitstream driver.
robert-hh Sep 15, 2021
5ed7a74
rp2/boards: Add neopixel.py to manifest.py.
robert-hh Sep 17, 2021
d11ff04
unix/modos: Add support for uos.urandom(n).
hvegh Aug 7, 2018
5cf71b5
shared/libc/string0: Don't include string.h, and provide __memcpy_chk.
alexxy May 15, 2020
43d0868
extmod/uasyncio: Fix gather returning exceptions from a cancelled task.
dpgeorge Nov 17, 2021
19f0941
tests/micropython/const.py: Add comment about required config for test.
jeongchanKim Jul 13, 2020
95ccd9a
nrf/Makefile: Improve Black Magic Probe commands.
pvonmoradi Dec 4, 2020
8f35107
docs/library/framebuf.rst: Adjust dimensions in example.
gandro Nov 14, 2020
a4c0f52
stm32/led: Support an extra 2 LEDs in board configuration.
mvdw73 Jul 2, 2020
e5f9e2f
windows/mpconfigport.h: Enable help and help("modules").
retsyo Feb 19, 2021
1e58755
extmod/uplatform: Remove unused definitions.
stinos Sep 27, 2021
5900257
extmod/uplatform: Use generic custom platform string.
stinos Sep 27, 2021
f27be2d
lib/asf4: Point submodule to latest commit on circuitpython branch.
dpgeorge Nov 18, 2021
cd2223b
samd: Integrate latest asf4, add help, more time funcs and uPy features.
vdbpeter May 20, 2021
4c13261
samd/samd_soc: Allow a board to configure the low-level MCU config.
vdbpeter May 21, 2021
2121353
samd: Add internal flash block device, filesystem and uos support.
vdbpeter May 20, 2021
2f65ded
samd: Add Pin and LED classes, and machine.unique_id.
vdbpeter May 20, 2021
72cb4ff
samd/boards/ADAFRUIT_FEATHER_M0_EXPRESS: Update for flash and pins.
vdbpeter May 22, 2021
199b6a8
samd/boards/ADAFRUIT_ITSYBITSY_M4_EXPRESS: Update for flash and pins.
vdbpeter May 22, 2021
3d33dbe
samd/boards/MINISAM_M4: Update for flash and pins.
vdbpeter May 22, 2021
fb79e58
samd/boards/ADAFRUIT_TRINKET_M0: Update for flash and pins.
vdbpeter May 22, 2021
771d673
samd/boards/SAMD21_XPLAINED_PRO: Update for flash and pins.
vdbpeter May 22, 2021
ef4e63a
samd/boards/SEEED_WIO_TERMINAL: Add new board definition.
vdbpeter May 20, 2021
b991902
samd/boards/SEEED_XIAO: Add new board definition.
vdbpeter May 20, 2021
3dc9a42
samd/README.md: Update README to reflect new features and boards.
vdbpeter May 24, 2021
0a9335e
rp2/rp2_pio: Support exec with sideset.
Oct 9, 2021
f72b497
docs/library/rp2.rst: Update function asm_pio_encode to add sideset_opt.
Oct 9, 2021
1904833
esp32: Add SDCard support for S3, and a GENERIC_S3_SPIRAM board.
UnexpectedMaker Nov 12, 2021
01f1c3a
docs/reference/filesystem.rst: Add detail on how to use littlefs fuse.
dpgeorge Nov 8, 2021
e538d8a
docs/rp2/quickref.rst: Add section on PIO.
NitiKaur Nov 5, 2021
b851950
docs/library/sys.rst: Add docs for sys.settrace.
NitiKaur Nov 12, 2021
172a031
rp2/boards/PIMORONI_PICOLIPO_16MB: Fix 16MB flash size.
mcauser Nov 17, 2021
841eeb1
drivers/neopixel: Avoid heap alloc in fill().
jimmo Nov 17, 2021
b65d17f
drivers/ninaw10: Fix BSSID byte order, and add null byte to ESSID.
iabdalkader Nov 17, 2021
f7a0c98
extmod/network_ninaw10: Fix scan list order to match other NICs.
iabdalkader Nov 17, 2021
7842520
nrf/main: Use VFS helper function to mount fs and chdir.
iabdalkader Nov 18, 2021
16c7a80
stm32/boards/MIKROE_CLICKER2_STM32: Add more detail to board.json.
lorcap Oct 27, 2021
8f0e304
stm32/boards: Add new board MikroElektronika Quail, and F427 support.
lorcap Oct 11, 2021
78ab2ee
py/showbc: Print unary-op string when dumping bytecode.
dpgeorge Nov 19, 2021
123dcdb
py/modsys: Replace non-ASCII quote char with ASCII char.
dpgeorge Nov 19, 2021
e83aa25
stm32/main: Run optional frozen module at boot.
fragmuffin Sep 8, 2021
dfa75f3
stm32/sdio: Don't explicitly disable DMA2 on deinit of SDIO.
dpgeorge Nov 15, 2021
01ceb9a
stm32/dma: Make DMA2_Stream3 exclusive to SDIO when CYW43 enabled.
dpgeorge Nov 15, 2021
e2ca8ab
py/runtime: Allow types to use both .attr and .locals_dict.
laurensvalk Jul 17, 2020
90554d0
stm32/boards: Build NUCLEO_WB55 and STM32F769DISC without mboot enabled.
dpgeorge Nov 21, 2021
bb7aae5
tools/autobuild: Automatically build all stm32 boards.
dpgeorge Nov 21, 2021
81f706a
mimxrt: Support PWM using the FLEXPWM and QTMR modules.
robert-hh Jul 26, 2021
c422ca3
rp2/boards: Add PYBSTICK26 RP2040 board definition.
garatronic Oct 27, 2021
fdb925c
stm32/boards: Add PYBSTICK26 F411 board definition.
garatronic Oct 28, 2021
d49df42
stm32/boards/NADHAT_PYBF405: Rename board to GARATRONIC_NADHAT_F405.
garatronic Nov 20, 2021
196d268
stm32/usb: Use a table of allowed values to simplify usb_mode get/set.
dpgeorge Nov 24, 2021
11ed947
py/lexer: Support nested [] and {} characters within f-string params.
dpgeorge Nov 18, 2021
e99f7b6
tests/cpydiff: Clarify f-string diffs regarding concatenation.
jimmo Nov 18, 2021
a089098
py/objfun.h: Remove obsolete comments about entries in extra_args.
dpgeorge Nov 25, 2021
6259aa5
stm32/boards/NUCLEO_WB55: Update rfcore_firmwre for new WS.
Oct 12, 2021
de8dc4b
docs/esp8266/tutorial: Fix comments of FrameBuffer examples.
gibbonsc Oct 5, 2021
678f4b9
esp32/boards/GENERIC_S3: Enable BLE on ESP32 S3.
jimmo Nov 16, 2021
97a7cc2
lib: Update pico-sdk to 1.3.0 and tinyusb to 0.12.0.
iabdalkader Nov 25, 2021
8496919
stm32/flashbdev: Support generic flash storage config via link symbols.
dpgeorge Nov 29, 2021
35e70c1
stm32/boards: Convert F413,F439,H743,L4xx,WB55 to new flash FS config.
dpgeorge Nov 29, 2021
7e61a12
stm32: Add support for F479 MCUs.
dpgeorge Nov 29, 2021
0c9f5b3
stm32: Include HAL MMC code in F4 builds.
dpgeorge Nov 29, 2021
23a1507
stm32/boards/make-pins.py: Use cpu pins to define static alt-fun macros.
dpgeorge Nov 29, 2021
d94ac43
docs/library/uasyncio.rst: Detail exception behaviour in cancel/timeout.
peterhinch Apr 11, 2020
e790035
docs/library/machine.Timer.rst: Document 'id' as positional-only arg.
mbuesch Aug 31, 2020
1e7c8f2
docs/library/machine.SPI.rst: Add example SPI usage.
mbuesch Aug 31, 2020
68d1245
docs/library/machine.Timer.rst: Document `period` and `callback` args.
mbuesch Aug 31, 2020
de7e3cd
docs/library/machine.Pin.rst: Add Pin.ANALOG mode constant.
sTywin Sep 3, 2020
851ecb2
extmod/modbluetooth: Support gap_connect(None) to cancel a connection.
jonathanhogg Jul 12, 2021
a7fa18c
py/builtinimport: Refactor module importing.
jimmo Feb 26, 2020
b491967
esp32/machine_pwm: Implement duty_u16() and duty_ns() PWM methods.
IhorNehrutsa Oct 15, 2021
3770fab
all: Update Python formatting to latest Black version 21.12b0.
jimmo Dec 8, 2021
71168ec
unix/coverage: Change remaining printf to mp_printf.
dpgeorge Dec 9, 2021
efde4b2
extmod/modure: Redirect regex debug printing to mp_printf.
dpgeorge Dec 9, 2021
9ffb1ad
unix/Makefile: Use -Og instead of -O0 for debug builds.
dpgeorge Dec 9, 2021
67f6679
tools/mpremote: Implement seek and flush in ioctl method.
dpgeorge Dec 4, 2021
92f54fe
stm32/boards/NUCLEO_WB55: Fix LED ordering.
jimmo Dec 1, 2021
c613f5b
stm32/boards/LEGO_HUB_NO6: Set filesystem label as HUB_NO6.
dpgeorge Dec 9, 2021
3f589e2
tools/autobuild: Automatically build all esp32 boards.
dpgeorge Dec 10, 2021
10c6f03
stm32/boards: Remove stray '+' characters at start of lines in ld files.
dpgeorge Dec 10, 2021
5fc5599
stm32/boards: Remove unused MICROPY_HW_ENABLE_TIMER config.
dpgeorge Dec 10, 2021
0892ebe
stm32/boards: Enable MICROPY_HW_ENABLE_SERVO on various boards.
dpgeorge Dec 10, 2021
a0f5b31
lib/stm32lib: Update library for L4 v1.17.0, new G4, WL, and MMC fixes.
dpgeorge Dec 13, 2021
88ac5a3
stm32: Update L4 code to build with latest stm32lib and L4 HAL 1.17.0.
dpgeorge Dec 13, 2021
9a1ab22
stm32/main: Call sdcard_init when only MICROPY_HW_ENABLE_MMCARD enabled.
dpgeorge Dec 13, 2021
b26704a
stm32/sdcard: Support 8-bit wide SDIO bus.
dpgeorge Dec 13, 2021
6995cf0
stm32/sdcard: Add config option to force MM card capacity.
dpgeorge Dec 13, 2021
5adb1fa
esp32,esp8266: Extract qstr from object when comparing keys in config().
dpgeorge Dec 10, 2021
f21c565
rp2/machine_uart: Handle and clear UART RX timeout IRQ.
iabdalkader Dec 9, 2021
1b7eee2
extmod/network_ninaw10: Fix config of AP mode.
iabdalkader Nov 22, 2021
bc1b0fd
mimxrt: Define UART 0 on MIMXRT boards.
robert-hh Nov 3, 2021
bbe25f4
mimxrt: Support selection of PHY type and address.
robert-hh Nov 4, 2021
ea09dcc
mimxrt: Re-Enable eth checksum creation by HW.
robert-hh Nov 9, 2021
5d8941e
mimxrt: Fix a tiny unnoticed bug in sdcard.c.
robert-hh Nov 25, 2021
1e9eaa7
mimxrt: Add a driver for the DP83848 PHY device.
robert-hh Nov 30, 2021
74e8db0
mimxrt: Refactor the reading of the machine id.
robert-hh Nov 30, 2021
64aa0bc
mimxrt: Enable ticks_cpu at boot time for NDEBUG builds only.
robert-hh Dec 7, 2021
c5dbbf7
mimxrt: Use -Og instead of -O0 for DEBUG builds.
robert-hh Dec 9, 2021
5ca56aa
mimxrt: Tidy up the board flash related files.
robert-hh Oct 5, 2021
d9d67ad
docs: Remove trailing spaces and convert tabs to spaces.
dpgeorge Dec 15, 2021
e9f8804
tools/upip.py: Support == to specify exact package version.
chrisdecker1201 Nov 26, 2021
f973370
esp32/machine_pin: Make GPIO 26 usable for S2,S3 if SPIRAM not config'd.
tom-van May 20, 2021
3305ec4
esp32/machine_hw_spi: Fix SPI default pins reordering on ESP32-S2/S3.
tom-van Dec 1, 2021
d088865
esp32/machine_hw_spi: Set proper default SPI(id=1) pins on S2,S3 and C3.
tom-van Nov 29, 2021
e761152
esp32/machine_hw_spi: Set proper default SPI(id=2) pins on S2 and S3.
tom-van Nov 29, 2021
9aa151e
esp32/boards: Remove SPI pin defaults from GENERIC S2/S3 boards.
tom-van Dec 1, 2021
598618e
tools/makemanifest.py: Make str conversion compatible with Python 2.
dpgeorge Dec 15, 2021
d6dc4cb
py/showbc: Fix printing of raw bytecode header on nanbox builds.
dpgeorge Dec 15, 2021
cc23e99
py/modio: Remove io.resource_stream function.
jimmo Dec 8, 2021
f241db7
teensy: Switch to use manifest.py instead of FROZEN_DIR.
jimmo Dec 8, 2021
92353c2
all: Remove support for FROZEN_DIR and FROZEN_MPY_DIR.
jimmo Dec 8, 2021
f853e3e
tools/makemanifest.py: Merge make-frozen.py.
jimmo Dec 8, 2021
e0bf461
py: Only search frozen modules when '.frozen' is found in sys.path.
jimmo Dec 11, 2021
d6d4a58
py/mkrules.cmake: Set frozen preprocessor defs early.
jimmo Dec 11, 2021
86ce442
ports: Add '.frozen' as the first entry in sys.path.
jimmo Dec 11, 2021
86394f7
docs/library/sys.rst: Add note about '.frozen' as an entry in sys.path.
jimmo Dec 11, 2021
de43b50
py/runtime: Allow initialising sys.path/argv with defaults.
dpgeorge Dec 17, 2021
fe9ffff
py/mpstate.h: Only include sys.path/argv objects in state when enabled.
dpgeorge Dec 18, 2021
f9e5b0d
stm32/factoryreset: Init vfs flags before calling pyb_flash_init_vfs.
iabdalkader Dec 18, 2021
1dc5320
stm32/qspi: Fix typo in address comment.
iabdalkader Dec 18, 2021
bedd9c5
stm32/boards/make-pins.py: Generate empty ADC table if needed.
iabdalkader Dec 18, 2021
f2b5c99
stm32/boards/OLIMEX_H407: Fix typo in OLIMEX H407 board.json.
mattytrentini Dec 16, 2021
05bea70
esp8266/etshal.h: Remove unneeded function declarations.
dpgeorge Dec 20, 2021
2c139bb
py/mpz: Fix bugs with bitwise of -0 by ensuring all 0's are positive.
dpgeorge Nov 29, 2021
c768704
tests/basics/int_big_cmp.py: Add more tests for big-int comparison.
dpgeorge Dec 21, 2021
4189c64
esp32/modnetwork: Synchronize WiFi AUTH_xxx constants with IDF values.
IhorNehrutsa Dec 5, 2021
09fe80d
esp32/machine_pwm: Keep duty constant when changing frequency.
IhorNehrutsa Dec 12, 2021
599b61c
esp32/machine_bitstream: Replace bit-bang code with RMT-based driver.
jimmo Nov 11, 2021
7566d10
tools/mpremote: Add mkdir and rmdir to RemoteFS.
mikebentley15 Oct 3, 2021
74e995d
tools/mpremote: Add help command.
kumekay Sep 5, 2021
028776d
tools/mpremote: Add link to mpremote docs URL in help message.
dpgeorge Dec 29, 2021
aac5a97
ports: Move '.frozen' to second entry in sys.path.
dpgeorge Dec 21, 2021
959e6f7
tools/upip.py: Skip '.frozen' entry in sys.path for install path.
dpgeorge Dec 21, 2021
8af9dbb
stm32/network_wiznet5k: Fix build error with wiznet5k and lwip enabled.
iabdalkader Dec 29, 2021
a29c70c
esp8266: Allow building a board to any dest directory.
dpgeorge Dec 23, 2021
bfe9eba
tools/autobuild: Build esp8266 OTA image with GENERIC_1M board.
dpgeorge Dec 23, 2021
05ed19e
windows: Add support for build variants to windows port.
pi-anl Nov 25, 2021
7955734
windows: Run tests via Makefile.
stinos Nov 25, 2021
19d949a
tests/extmod: Skip uselect_poll_udp when poll() is not available.
stinos Nov 25, 2021
3f16719
windows/appveyor: Build both standard and dev variants.
stinos Nov 25, 2021
802ef27
mimxrt/hal: Allow readSampleClkSrc to be configured by a board.
d3v1c3nv11 Dec 16, 2021
01953f2
docs/differences: Document details of new PEPs/features in Python 3.5+.
NitiKaur Oct 13, 2021
58b56b9
py/qstr: Reset mpstate.qstr_last_chunk before raising an error.
EmilieNumworks Dec 27, 2021
644f4dc
shared/runtime/pyexec: Cleanup EXEC_FLAG flag constants.
iabdalkader Dec 31, 2021
49d8ae3
esp32/machine_i2s: Add support for ESP-IDF 4.4.
miketeachman Dec 23, 2021
79ae709
esp32/machine_bitstream: Fix signal duplication on output pins.
gmbnomis Jan 1, 2022
f4487a0
rp2/boards/ARDUINO_NANO_RP2040_CONNECT: Set default I2C pins.
iabdalkader Dec 29, 2021
9e56e63
rp2/machine_pwm: Fix PWM frequency setting.
robert-hh Dec 30, 2021
01d9b7a
rp2/machine_pwm: Keep duty value when changing the frequency.
robert-hh Dec 30, 2021
908e4cf
rp2: Add support for DHT11 and DHT22 sensors.
iabdalkader Jan 2, 2022
1469e29
tools/ci.sh: Upgrade Zephyr docker image to v0.21.0.
MaureenHelm Jan 3, 2022
ddbbfbe
zephyr: Increase minimum CMake version to 3.20.0.
MaureenHelm Jan 3, 2022
080a9e9
zephyr: Update include path to reboot.h.
MaureenHelm Jan 3, 2022
1e5df09
zephyr: Get UART console device from devicetree instead of Kconfig.
MaureenHelm Jan 3, 2022
0cf03bd
zephyr: Use CONFIG_USB_DEVICE_STACK for conditional USB device support.
MaureenHelm Jan 4, 2022
c6d26bc
zephyr: Upgrade to Zephyr v2.7.0.
MaureenHelm Jan 3, 2022
0f25e03
extmod/network_ninaw10: Disable active connections before connecting.
iabdalkader Jan 4, 2022
544c232
extmod/network_ninaw10: Make NIC state persistent.
iabdalkader Jan 4, 2022
73a6b53
extmod/network_ninaw10: Return -1 on timeout from recv/send.
iabdalkader Jan 4, 2022
5a86031
extmod/network_ninaw10: Make recv/recvfrom interchangeable.
iabdalkader Jan 4, 2022
12f9f93
drivers/ninaw10/nina_wifi_drv: Fix DNS resolution.
iabdalkader Jan 5, 2022
8ac5613
LICENSE,docs: Update copyright year range to include 2022.
dpgeorge Jan 6, 2022
d4997c7
lib/stm32lib: Update library for fix to F7 USB HS.
dpgeorge Jan 6, 2022
4693cf9
rp2/CMakeLists.txt: Allow a board to override PICO_BOARD.
dpgeorge Jan 6, 2022
000b001
rp2/boards/GARATRONIC_PYBSTICK26_RP2040: Use correct pico-sdk board cfg.
dpgeorge Jan 6, 2022
3243abf
extmod/moduplatform: Detect xtensa arch.
dpgeorge Jan 6, 2022
b96318a
esp32: Enable platform module with IDF version.
dpgeorge Jan 6, 2022
df3f59c
ports: Update board.json files to link to new board images.
dpgeorge Jan 7, 2022
22cf094
py/modbuiltins: Add additional macro for extending builtins.
stinos Jan 5, 2022
772058a
py/mpconfig.h: Define MICROPY_PY_USSL_FINALISER only if not defined.
dpgeorge Jan 7, 2022
1892d03
mimxrt,stm32: Enable MICROPY_PY_USSL_FINALISER.
dpgeorge Jan 7, 2022
ff0227f
esp32/boards/GENERIC_D2WD: Build with -Os optimisation.
dpgeorge Jan 9, 2022
b47b245
windows/appveyor: Build mpy-cross only once for mingw-w64.
stinos Jan 10, 2022
67420de
extmod/modusocket: Allow setting timeout on unbound sockets.
iabdalkader Jan 7, 2022
842da93
extmod/modusocket: Initialise accepted socket state.
iabdalkader Jan 9, 2022
f2ccf87
extmod/network_ninaw10: Use socket timeout preset in modusocket.
iabdalkader Jan 7, 2022
889dee8
extmod/modbluetooth: Fix conditional compilation of ringbuf_put_uuid.
dpgeorge Jan 12, 2022
e7fff73
extmod/modbluetooth: Put declaration of connect_cancel in correct place.
dpgeorge Jan 12, 2022
a49b51b
zephyr/modbluetooth_zephyr: Provide dummy connect_cancel function.
dpgeorge Jan 12, 2022
49325de
tools/ci.sh: Build zephyr nucleo_wb55rg to test zephyr bluetooth build.
dpgeorge Jan 12, 2022
8957386
docs/esp32: Update RMT quickref example to match latest code.
dpgeorge Jan 13, 2022
e754c2e
esp32/esp32_rmt: Install RMT driver on core 1.
dpgeorge Jan 13, 2022
a3bbd53
esp32/machine_bitstream: Reinstate bitstream bit-bang implementation.
dpgeorge Jan 11, 2022
cf258c8
windows/msvc: Run qstr preprocessing phase in parallel.
stinos Jan 12, 2022
38054a5
tools/mpremote: Bump version to 0.1.0.
dpgeorge Jan 16, 2022
da4b38e
all: Bump version to 1.18.
dpgeorge Jan 16, 2022
89cd18b
Merge pull request #6035 from FoamyGuy/bitmap_blit_type_error
dhalbert Feb 15, 2022
ddfcfca
Don't remove all micropython examples, we want natmod and usercmodule
jepler Feb 15, 2022
01cabb0
Merge tag 'v1.18'
jepler Feb 15, 2022
dd7b48f
blacken
jepler Feb 16, 2022
d8569cc
build out some additional submodules for testing
jepler Feb 16, 2022
3e338c4
remove pico-sdk submodule, should not have been added
jepler Feb 16, 2022
4c9d14b
Merge remote-tracking branch 'origin/main' into merge-1.18
jepler Feb 16, 2022
4e2ab71
Avoid missing-prototypes errors in this file
jepler Feb 16, 2022
ede085f
Avoid a message about undefined compress_max_length_bits
jepler Feb 16, 2022
71ea9c5
another submodule that should not have been added
jepler Feb 16, 2022
dcd9abb
and restore a submodule that should have remained
jepler Feb 16, 2022
57f46a1
remove debug print
jepler Feb 16, 2022
0326e00
Fix running tests
jepler Feb 16, 2022
4f47a5e
Adapt from our FROZEN_MPY_DIRS to manifests, incuding preprocessing
jepler Feb 16, 2022
29e59eb
Restore accidentally deleted 'glossary'
jepler Feb 16, 2022
8f59364
remove accidentally added docs
jepler Feb 16, 2022
a0fa536
Put .frozen back in sys.path, if frozen modules exist
jepler Feb 17, 2022
f45a6d7
Merge remote-tracking branch 'origin/main' into merge-1.18
jepler Feb 18, 2022
684faab
Enable the "lookup cache" for FULL_BUILDs
jepler Feb 18, 2022
090b153
Fix build of dynmod with armv7m (lacks floating point)
jepler Feb 18, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ jobs:
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --emit native
working-directory: tests
- name: mpy Tests
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --mpy-cross-flags='-mcache-lookup-bc' --via-mpy -d basics float micropython
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --via-mpy -d basics float micropython
working-directory: tests
- name: Native mpy Tests
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --mpy-cross-flags='-mcache-lookup-bc' --via-mpy --emit native -d basics float micropython
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --via-mpy --emit native -d basics float micropython
working-directory: tests
- name: Build native modules
run: |
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2013-2021 Damien P. George
Copyright (c) 2013-2022 Damien P. George

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
4 changes: 2 additions & 2 deletions docs/library/framebuf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ For example::
import framebuf

# FrameBuffer needs 2 bytes for every RGB565 pixel
fbuf = framebuf.FrameBuffer(bytearray(10 * 100 * 2), 10, 100, framebuf.RGB565)
fbuf = framebuf.FrameBuffer(bytearray(100 * 10 * 2), 100, 10, framebuf.RGB565)

fbuf.fill(0)
fbuf.text('MicroPython!', 0, 0, 0xffff)
fbuf.hline(0, 10, 96, 0xffff)
fbuf.hline(0, 9, 96, 0xffff)

Constructors
------------
Expand Down
8 changes: 8 additions & 0 deletions docs/library/sys.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,14 @@ Constants

A mutable list of directories to search for imported modules.

.. admonition:: Difference to CPython
:class: attention

On MicroPython, an entry with the value ``".frozen"`` will indicate that import
should search :term:`frozen modules <frozen module>` at that point in the search.
If no frozen module is found then search will *not* look for a directory called
``.frozen``, instead it will continue with the next entry in ``sys.path``.

.. data:: platform

The platform that CircuitPython is running on. For OS/RTOS ports, this is
Expand Down
4 changes: 4 additions & 0 deletions extmod/extmod.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@ set(MICROPY_SOURCE_EXTMOD
${MICROPY_EXTMOD_DIR}/machine_i2c.c
${MICROPY_EXTMOD_DIR}/machine_mem.c
${MICROPY_EXTMOD_DIR}/machine_pulse.c
${MICROPY_EXTMOD_DIR}/machine_pwm.c
${MICROPY_EXTMOD_DIR}/machine_signal.c
${MICROPY_EXTMOD_DIR}/machine_spi.c
${MICROPY_EXTMOD_DIR}/modbluetooth.c
${MICROPY_EXTMOD_DIR}/modbtree.c
${MICROPY_EXTMOD_DIR}/modframebuf.c
${MICROPY_EXTMOD_DIR}/modnetwork.c
${MICROPY_EXTMOD_DIR}/modonewire.c
${MICROPY_EXTMOD_DIR}/moduasyncio.c
${MICROPY_EXTMOD_DIR}/modubinascii.c
Expand All @@ -23,9 +25,11 @@ set(MICROPY_SOURCE_EXTMOD
${MICROPY_EXTMOD_DIR}/moduhashlib.c
${MICROPY_EXTMOD_DIR}/moduheapq.c
${MICROPY_EXTMOD_DIR}/modujson.c
${MICROPY_EXTMOD_DIR}/moduplatform.c
${MICROPY_EXTMOD_DIR}/modurandom.c
${MICROPY_EXTMOD_DIR}/modure.c
${MICROPY_EXTMOD_DIR}/moduselect.c
${MICROPY_EXTMOD_DIR}/modusocket.c
${MICROPY_EXTMOD_DIR}/modussl_axtls.c
${MICROPY_EXTMOD_DIR}/modussl_mbedtls.c
${MICROPY_EXTMOD_DIR}/modutimeq.c
Expand Down
4 changes: 4 additions & 0 deletions extmod/modonewire.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
#include "py/obj.h"
#include "py/mphal.h"

#if MICROPY_PY_ONEWIRE

/******************************************************************************/
// Low-level 1-Wire routines

Expand Down Expand Up @@ -139,3 +141,5 @@ const mp_obj_module_t mp_module_onewire = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t *)&onewire_module_globals,
};

#endif // MICROPY_PY_ONEWIRE
146 changes: 146 additions & 0 deletions extmod/moduplatform.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2013-2021 Ibrahim Abdelkader <[email protected]>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
*/

#include "py/runtime.h"
#include "py/objtuple.h"
#include "py/objstr.h"
#include "py/mphal.h"
#include "genhdr/mpversion.h"

#if MICROPY_PY_UPLATFORM

// platform - Access to underlying platform's identifying data

// TODO: Add more architectures, compilers and libraries.
// See: https://sourceforge.net/p/predef/wiki/Home/

#if defined(__ARM_ARCH)
#define PLATFORM_ARCH "arm"
#elif defined(__x86_64__) || defined(_WIN64)
#define PLATFORM_ARCH "x86_64"
#elif defined(__i386__) || defined(_M_IX86)
#define PLATFORM_ARCH "x86"
#elif defined(__xtensa__) || defined(_M_IX86)
#define PLATFORM_ARCH "xtensa"
#else
#define PLATFORM_ARCH ""
#endif

#if defined(__GNUC__)
#define PLATFORM_COMPILER \
"GCC " \
MP_STRINGIFY(__GNUC__) "." \
MP_STRINGIFY(__GNUC_MINOR__) "." \
MP_STRINGIFY(__GNUC_PATCHLEVEL__)
#elif defined(__ARMCC_VERSION)
#define PLATFORM_COMPILER \
"ARMCC " \
MP_STRINGIFY((__ARMCC_VERSION / 1000000)) "." \
MP_STRINGIFY((__ARMCC_VERSION / 10000 % 100)) "." \
MP_STRINGIFY((__ARMCC_VERSION % 10000))
#elif defined(_MSC_VER)
#if defined(_WIN64)
#define COMPILER_BITS "64 bit"
#elif defined(_M_IX86)
#define COMPILER_BITS "32 bit"
#else
#define COMPILER_BITS ""
#endif
#define PLATFORM_COMPILER \
"MSC v." MP_STRINGIFY(_MSC_VER) " " COMPILER_BITS
#else
#define PLATFORM_COMPILER ""
#endif

#if defined(__GLIBC__)
#define PLATFORM_LIBC_LIB "glibc"
#define PLATFORM_LIBC_VER \
MP_STRINGIFY(__GLIBC__) "." \
MP_STRINGIFY(__GLIBC_MINOR__)
#elif defined(__NEWLIB__)
#define PLATFORM_LIBC_LIB "newlib"
#define PLATFORM_LIBC_VER _NEWLIB_VERSION
#else
#define PLATFORM_LIBC_LIB ""
#define PLATFORM_LIBC_VER ""
#endif

#if defined(__linux)
#define PLATFORM_SYSTEM "Linux"
#elif defined(__unix__)
#define PLATFORM_SYSTEM "Unix"
#elif defined(__CYGWIN__)
#define PLATFORM_SYSTEM "Cygwin"
#elif defined(_WIN32)
#define PLATFORM_SYSTEM "Windows"
#else
#define PLATFORM_SYSTEM "MicroPython"
#endif

#ifndef MICROPY_PLATFORM_VERSION
#define MICROPY_PLATFORM_VERSION ""
#endif

STATIC const MP_DEFINE_STR_OBJ(info_platform_obj, PLATFORM_SYSTEM "-" MICROPY_VERSION_STRING "-" \
PLATFORM_ARCH "-" MICROPY_PLATFORM_VERSION "-with-" PLATFORM_LIBC_LIB "" PLATFORM_LIBC_VER);
STATIC const MP_DEFINE_STR_OBJ(info_python_compiler_obj, PLATFORM_COMPILER);
STATIC const MP_DEFINE_STR_OBJ(info_libc_lib_obj, PLATFORM_LIBC_LIB);
STATIC const MP_DEFINE_STR_OBJ(info_libc_ver_obj, PLATFORM_LIBC_VER);
STATIC const mp_rom_obj_tuple_t info_libc_tuple_obj = {
{&mp_type_tuple}, 2, {MP_ROM_PTR(&info_libc_lib_obj), MP_ROM_PTR(&info_libc_ver_obj)}
};

STATIC mp_obj_t platform_platform(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
return MP_OBJ_FROM_PTR(&info_platform_obj);
}
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(platform_platform_obj, 0, platform_platform);

STATIC mp_obj_t platform_python_compiler(void) {
return MP_OBJ_FROM_PTR(&info_python_compiler_obj);
}
STATIC MP_DEFINE_CONST_FUN_OBJ_0(platform_python_compiler_obj, platform_python_compiler);

STATIC mp_obj_t platform_libc_ver(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
return MP_OBJ_FROM_PTR(&info_libc_tuple_obj);
}
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(platform_libc_ver_obj, 0, platform_libc_ver);

STATIC const mp_rom_map_elem_t modplatform_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_uplatform) },
{ MP_ROM_QSTR(MP_QSTR_platform), MP_ROM_PTR(&platform_platform_obj) },
{ MP_ROM_QSTR(MP_QSTR_python_compiler), MP_ROM_PTR(&platform_python_compiler_obj) },
{ MP_ROM_QSTR(MP_QSTR_libc_ver), MP_ROM_PTR(&platform_libc_ver_obj) },
};

STATIC MP_DEFINE_CONST_DICT(modplatform_globals, modplatform_globals_table);

const mp_obj_module_t mp_module_uplatform = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t *)&modplatform_globals,
};

#endif // MICROPY_PY_UPLATFORM
9 changes: 7 additions & 2 deletions extmod/modure.c
Original file line number Diff line number Diff line change
Expand Up @@ -477,11 +477,16 @@ MP_REGISTER_MODULE(MP_QSTR_re, mp_module_ure, MICROPY_PY_URE);
// only if module is enabled by config setting.

#define re1_5_fatal(x) assert(!x)

#include "lib/re1.5/compilecode.c"
#include "lib/re1.5/recursiveloop.c"
#include "lib/re1.5/charclass.c"

#if MICROPY_PY_URE_DEBUG
// Make sure the output print statements go to the same output as other Python output.
#define printf(...) mp_printf(&mp_plat_print, __VA_ARGS__)
#include "lib/re1.5/dumpcode.c"
#undef printf
#endif
#include "lib/re1.5/recursiveloop.c"
#include "lib/re1.5/charclass.c"

#endif // MICROPY_PY_URE
2 changes: 1 addition & 1 deletion extmod/uasyncio/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def __init__(self):
self.state = None
self.exc = StopIteration()

def __iter__(self):
def __await__(self):
return self

def __next__(self):
Expand Down
2 changes: 1 addition & 1 deletion extmod/uasyncio/funcs.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ async def gather(*aws, return_exceptions=False):
# # cancel all waiting tasks
# raise er
ts[i] = await ts[i]
except Exception as er:
except (core.CancelledError, Exception) as er:
if return_exceptions:
ts[i] = er
else:
Expand Down
2 changes: 1 addition & 1 deletion extmod/uasyncio/task.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ def __init__(self, coro, globals=None):
self.ph_next = None # Paring heap
self.ph_rightmost_parent = None # Paring heap

def __iter__(self):
def __await__(self):
if not self.state:
# Task finished, signal that is has been await'ed on.
self.state = False
Expand Down
28 changes: 28 additions & 0 deletions extmod/vfs_posix_file.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

#ifdef _WIN32
#define fsync _commit
#else
#include <poll.h>
#endif

typedef struct _mp_obj_vfs_posix_file_t {
Expand Down Expand Up @@ -180,6 +182,32 @@ STATIC mp_uint_t vfs_posix_file_ioctl(mp_obj_t o_in, mp_uint_t request, uintptr_
return 0;
case MP_STREAM_GET_FILENO:
return o->fd;
#if MICROPY_PY_USELECT
case MP_STREAM_POLL: {
#ifdef _WIN32
mp_raise_NotImplementedError(MP_ERROR_TEXT("poll on file not available on win32"));
#else
mp_uint_t ret = 0;
uint8_t pollevents = 0;
if (arg & MP_STREAM_POLL_RD) {
pollevents |= POLLIN;
}
if (arg & MP_STREAM_POLL_WR) {
pollevents |= POLLOUT;
}
struct pollfd pfd = { .fd = o->fd, .events = pollevents };
if (poll(&pfd, 1, 0) > 0) {
if (pfd.revents & POLLIN) {
ret |= MP_STREAM_POLL_RD;
}
if (pfd.revents & POLLOUT) {
ret |= MP_STREAM_POLL_WR;
}
}
return ret;
#endif
}
#endif
default:
*errcode = EINVAL;
return MP_STREAM_ERROR;
Expand Down
15 changes: 10 additions & 5 deletions locale/circuitpython.pot
Original file line number Diff line number Diff line change
Expand Up @@ -2886,6 +2886,10 @@ msgstr ""
msgid "can't load with '%q' index"
msgstr ""

#: py/builtinimport.c
msgid "can't perform relative import"
msgstr ""

#: py/objgenerator.c
msgid "can't send non-None value to a just-started generator"
msgstr ""
Expand Down Expand Up @@ -2948,10 +2952,6 @@ msgstr ""
msgid "cannot import name %q"
msgstr ""

#: py/builtinimport.c
msgid "cannot perform relative import"
msgstr ""

#: extmod/moductypes.c
msgid "cannot unambiguously get sizeof scalar"
msgstr ""
Expand Down Expand Up @@ -3642,7 +3642,7 @@ msgstr ""
msgid "matrix is not positive definite"
msgstr ""

#: shared-bindings/wifi/Radio.c
#: ports/espressif/common-hal/wifi/Radio.c
msgid "max_connections must be between 0 and 10"
msgstr ""

Expand Down Expand Up @@ -4023,6 +4023,10 @@ msgstr ""
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
msgstr ""

#: extmod/vfs_posix_file.c
msgid "poll on file not available on win32"
msgstr ""

#: shared-module/vectorio/Polygon.c
msgid "polygon can only be registered in one parent"
msgstr ""
Expand Down Expand Up @@ -4068,6 +4072,7 @@ msgstr ""
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
Expand Down
6 changes: 3 additions & 3 deletions main.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,9 @@ STATIC void start_mp(supervisor_allocation *heap, bool first_run) {
mp_obj_list_init((mp_obj_list_t *)mp_sys_path, 0);
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR_)); // current dir (or base dir of the script)
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_));
// Frozen modules are in their own pseudo-dir, e.g., ".frozen".
// Prioritize .frozen over /lib.
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_FROZEN_FAKE_DIR_QSTR));
#if MICROPY_MODULE_FROZEN
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__dot_frozen));
#endif
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_lib));

mp_obj_list_init((mp_obj_list_t *)mp_sys_argv, 0);
Expand Down
Loading