Skip to content
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

Merge micropython v1.19.1 #8281

Merged
merged 682 commits into from
Aug 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
682 commits
Select commit Hold shift + click to select a range
acfc3bb
tests/multi_net: Skip SSL test if relevant modules aren't available.
dpgeorge May 15, 2022
f8d3956
tools/ci.sh: Run full test suite on stackless and settrace builds.
dpgeorge May 15, 2022
8725a32
tools/ci.sh: For esp8266 CI install esptool 3.3.1.
dpgeorge May 17, 2022
1fb01bd
py/emitnative: Put a pointer to the native prelude in child_table array.
dpgeorge May 10, 2022
90682f4
py/compile: Allow new qstrs to be allocated at all compiler passes.
dpgeorge May 6, 2022
b3d0f5f
tests/micropython: Fully unlink nested list in extreme exc test.
dpgeorge May 17, 2022
8588525
py/compile: De-duplicate constant objects in module's constant table.
dpgeorge May 7, 2022
8093883
tests/extmod: Use bytearray instead of bytes for uctypes test.
dpgeorge May 17, 2022
761d2f6
tests/micropython: Add more test cases for native generators.
dpgeorge May 18, 2022
079f3e5
py/parse: Allow all constant objects to be used in "X = const(o)".
dpgeorge Apr 14, 2022
bc42db4
github/ISSUE_TEMPLATE: Add GitHub issue templates and external links.
jimmo Jan 6, 2021
4694501
py/makemoduledefs.py: Allow multiple ways to register a module.
jimmo Apr 20, 2022
4eab44a
extmod: Make extmod modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
d8d3e6a
py: Make builtin modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
bb794f0
extmod: Make port-included extmod modules use MP_REGISTER_MODULES.
jimmo Apr 20, 2022
0a92469
stm32: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
24127a4
esp32: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
4274b34
esp8266: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
7d79fd7
mimxrt: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
f67ac90
nrf: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
60c5968
pic16bit: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
62f00a4
rp2: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
c3f7424
samd: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
d0307e7
teensy: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
63431a5
unix: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
ec2fe5d
zephyr: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
9e4da23
javascript: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
1d33ceb
cc3200: Make port-specific modules use MP_REGISTER_MODULE.
jimmo Apr 20, 2022
c2d889f
renesas-ra: Make port-specific modules use MP_REGISTER_MODULE.
jimmo May 13, 2022
8b201dc
py: Remove support for MICROPY_PORT_BUILTIN_MODULES.
jimmo Apr 20, 2022
ea1c055
esp8266/machine_wdt: Remove deinit method for watchdog.
czietz May 4, 2022
e92c22a
esp8266/etshal.h: Remove unneeded function declaration.
czietz May 4, 2022
a1abf51
esp32/boards/UM_FEATHERS3: Use correct sdkconfig.board.
prplz Apr 28, 2022
5dac142
esp32/boards/LILYGO_TTGO_LORA32: Remove ID from TTGO Lora32 board json.
APIUM May 11, 2022
ef16796
esp32/machine_pin: Fix ESP32C3 IDFv4.4.1 build.
DvdGiessen Apr 28, 2022
1786dac
tests/run-tests.py: Allow running tests via mpy-cross on remote targets.
dpgeorge May 19, 2022
54ab9d2
tests/run-perfbench.py: Allow running tests via mpy and native emitter.
dpgeorge May 19, 2022
c70f96f
esp32: Track allocated iRAM and free it on soft reset.
dpgeorge May 19, 2022
56f2d3c
py/asmthumb: Fix PC relative load by sign extending the constant.
dpgeorge May 19, 2022
b608964
py/emitnative: Simplify generation of code that loads prelude pointer.
dpgeorge May 19, 2022
7883ae4
py/emitnative: Provide dedicated local for exception unwind handler ptr.
dpgeorge May 19, 2022
689138d
py/asmthumb: Fix offset variable name in ldr, ldrh and strh functions.
dpgeorge May 23, 2022
94ae023
py/asmthumb: Add asm_thumb_ldrh_reg_reg_i12_optimised() helper func.
dpgeorge May 20, 2022
8af5e25
py/asmarm: Add asm_arm_ldrh_reg_reg_offset() helper func.
dpgeorge May 20, 2022
94955e8
py/asm: Add ASM_LOAD16_REG_REG_OFFSET macro for load-u16 with offset.
dpgeorge May 20, 2022
d4d53e9
py/emitnative: Access qstr values using indirection table qstr_table.
dpgeorge May 20, 2022
a849225
tests/basics: Unlock heap if skipping nanbox small-int test.
dpgeorge May 23, 2022
7d32047
tests/run-tests.py: Handle case where mpy-cross fails to compile script.
dpgeorge May 23, 2022
a5324a1
py/asmthumb: Make ARMv7-M instruction use dynamically selectable.
dpgeorge May 23, 2022
17ac687
py/persistentcode: Select ARMV6M as maximum when __thumb2__ not defined.
dpgeorge May 23, 2022
0e28a1f
mpy-cross: Add armv6m architecture option.
dpgeorge May 23, 2022
c1b9d22
py/dynruntime.mk: Add basic support for armv6m architecture.
dpgeorge May 23, 2022
75efb32
extmod: Revert accidental usocket->socket rename.
jimmo May 20, 2022
be5657b
ports: Rename thread_t to mp_thread_t.
dlech May 4, 2022
c012318
unix: Implement `-X realtime` command-line option on macOS.
dlech May 4, 2022
d42d35f
tests/run-tests.py: Enable `-X realtime` option for macOS tests.
dlech May 21, 2022
115a23d
lib/littlefs: Update littlefs2 to v2.5.0.
dpgeorge May 17, 2022
3a544b8
lib/littlefs: Guard lfs2_file_rawopen with LFS2_NO_MALLOC.
dpgeorge May 17, 2022
9269835
lib/littlefs: Remove assignment of variables to themselves.
dpgeorge May 23, 2022
5fa8ea1
tests/extmod: Change expected errno code from 36 to 30 in VfsLfs2 test.
dpgeorge May 23, 2022
6b6ceaf
extmod/webrepl: Fix setting password in foreground mode and factor code.
iabdalkader May 14, 2022
beeb250
tests/multi_net: Fix TCP accept test when using system error numbers.
iabdalkader May 17, 2022
dd35f76
tests/run-multitests.py: Use LAN for IP address if WLAN doesn't exist.
robert-hh May 19, 2022
aa53d2f
py/asmthumb: Provide implementations of clz/ctz for msvc.
dpgeorge May 24, 2022
79f3b87
renesas-ra/modmachine: Add missing MP_REGISTER_MODULE for umachine.
TakeoTakahashi2020 May 24, 2022
7b4147d
extmod/modusocket: Fix polling of a new socket.
iabdalkader May 12, 2022
6136c76
extmod/modusocket: Bind unconnected socket to default NIC in setsockopt.
iabdalkader May 12, 2022
eb957b0
extmod/modusocket: Fix errcode returned from socket read/write.
iabdalkader May 11, 2022
fc1f876
extmod/modusocket: Add socket type print function.
iabdalkader May 13, 2022
3438e80
extmod/modusocket: Add support for socket events callback.
iabdalkader May 14, 2022
6841fec
extmod/modusocket: Fix socket_make_new argument parsing.
iabdalkader May 16, 2022
b9d2f1e
extmod/modusocket: Add timeout and callback to socket object.
iabdalkader May 19, 2022
edf41d2
extmod/modusocket: Add sendall function.
iabdalkader May 16, 2022
26b1d31
Revert "stm32/rfcore: Intercept addr-resolution HCI cmd to work arou..."
dpgeorge May 25, 2022
5956466
py/builtin: Clean up and simplify import_stat and builtin_open config.
dpgeorge May 25, 2022
6e71cde
ports: Use default VFS config for import_stat and builtin_open.
dpgeorge May 25, 2022
d037e75
rp2/mpconfigport.h: Enable static scheduler nodes.
iabdalkader May 25, 2022
4bcffbd
rp2/mpconfigport.h: Allow boards to override internal errno config.
iabdalkader May 17, 2022
a22d0bd
rp2/boards/ARDUINO_NANO_RP2040_CONNECT: Disable internal errno.
iabdalkader May 17, 2022
875caca
rp2/boards/ARDUINO_NANO_RP2040_CONNECT: Enable webrepl.
iabdalkader May 14, 2022
be83bdf
drivers/ninaw10: Update driver to support firmware 1.5.0.
iabdalkader Apr 26, 2022
0bdfcea
extmod/network_ninaw10: Add support for socket events callback.
iabdalkader May 14, 2022
4946dc5
teensy/mpconfigport.h: Remove obsolete macros.
iabdalkader May 25, 2022
1d04761
tools/mpy-tool.py: Remove obsolete unicode flag in .mpy header.
dpgeorge May 26, 2022
cca0892
py/emitinlinethumb: Make ARMv7-M instruction use dynamically selectable.
dpgeorge May 26, 2022
4290d51
py/emitinlinethumb: Make float instruction use dynamically selectable.
dpgeorge May 26, 2022
3180113
tests/micropython: Make import_mpy_native_gc run on ARMv6-M and above.
dpgeorge May 26, 2022
80a86c4
tests/micropython: Make import_mpy_native test run on all architectures.
dpgeorge May 26, 2022
20d9f34
tests/run-tests.py: Add rp2 test target.
dpgeorge May 26, 2022
065df55
tests: Move native while test from pybnative to micropython.
dpgeorge May 26, 2022
eda52e4
docs/mimxrt: Add i.MX RT1015 to general.rst, and a few clarifications.
robert-hh Apr 8, 2022
f795d5b
docs/mimxrt: Move the pinout tables to a separate document.
robert-hh Apr 8, 2022
c7accf7
mimxrt/boards/OLIMEX_RT1010: Document the initial deploy procedure.
robert-hh Apr 15, 2022
1df7678
mimxrt/boards: Extend the deploy_teensy.md instructions.
robert-hh Apr 24, 2022
ea9a904
docs/reference/manifest: Add link to details about opt-level for freeze.
andrewleech Apr 1, 2022
4a1ae99
extmod/machine_i2c: Add optional support for write-then-read transfers.
dpgeorge Jun 1, 2022
6bda80d
esp32/machine_i2c: Implement write-then-read I2C transfers.
dpgeorge Jun 1, 2022
2f4aca0
mimxrt/mphalport: Fix strict aliasing error with unique id.
greezybacon May 30, 2022
54f1694
drivers/bus: Rename MP_SPI_ADDR_IS_32B to MICROPY_HW_SPI_ADDR_IS_32BIT.
dpgeorge Jun 1, 2022
1296a01
stm32/mboot: Move remaining led_state_all call into mboot_state_change.
dpgeorge Jun 1, 2022
9246099
stm32/mboot: Add update_app_elements to return mboot fsload elements.
dpgeorge Jun 1, 2022
e64947d
stm32/mboot: Make 0x70ad0000 values named constants with macros.
dpgeorge Jun 1, 2022
87fbcee
stm32/mboot: Pass initial_r0 to early-init and get-reset-mode funcs.
dpgeorge Jun 1, 2022
36211ba
stm32/boards/LEGO_HUB_NO6: Make all SPI flash transfers use 32-bit addr.
dpgeorge Jun 2, 2022
fae9205
stm32/boards/LEGO_HUB_NO6: Add support for mboot to access SPI flash.
dpgeorge Jun 2, 2022
d84ebc3
stm32/boards/LEGO_HUB_NO6: Use multi-colour LED for mboot status.
dpgeorge Jun 2, 2022
87ca431
stm32/boards/LEGO_HUB_NO6: Implement robust filesystem-load updates.
dpgeorge Jun 2, 2022
340872c
stm32/boards/LEGO_HUB_NO6: Add helper scripts to update app firmware.
dpgeorge Jun 2, 2022
47f6343
py: Change makemoduledefs process so it uses output of qstr extraction.
dpgeorge May 31, 2022
efe23ac
all: Remove third argument to MP_REGISTER_MODULE.
dpgeorge May 31, 2022
a1afb33
extmod/uasyncio: Fix edge case for cancellation of wait_for.
dpgeorge Jun 1, 2022
364569d
drivers/lsm6dsox: Add support for SPI mode.
iabdalkader May 26, 2022
dbe8b0c
lib/nxp_driver: Update nxp_driver to v2.10.
robert-hh Jan 1, 2022
a0432ed
mimxrt: Update port to work with new nxp_driver v2.10.
robert-hh Jan 1, 2022
dd83f48
renesas-ra/machine_pin: Remove code for unsupported Pin features.
TakeoTakahashi2020 May 30, 2022
19c680f
test/renesas-ra: Remove unsupported feature test of Pin.
TakeoTakahashi2020 May 30, 2022
91fb9e7
extmod/nimble: Add support for reading whole HCI UART packets.
pi-anl May 25, 2022
8fb01be
stm32/rfcore: Remove extra layer of buffering on BLE IPCC.
pi-anl May 25, 2022
13f5d38
nrf/mpconfigport: Set MICROPY_CONFIG_ROM_LEVEL defines for each MCU.
pi-anl Apr 2, 2022
c5878dd
nrf/mpconfigport: Enable extra features as defined by ROM levels.
pi-anl Apr 2, 2022
494e8ba
nrf/mpconfigport: Fix MICROPY_VFS IO build support.
pi-anl Mar 1, 2022
9bd6169
rp2/mbedtls: Add support for ssl module with MICROPY_SSL_MBEDTLS.
andrewleech May 5, 2022
05f927b
rp2/machine_pin: Add mp_hal_pin_interrupt C interface.
andrewleech Apr 30, 2022
cb436e3
lib/wiznet5k: Add submodule for Wiznet Ethernet drivers.
andrewleech Apr 25, 2022
21b3a39
extmod/network_wiznet5k: Add Wiznet Ethernet network interface.
andrewleech May 5, 2022
7d9cc69
rp2/Makefile: Use cmake for "make submodules" task when needed.
andrewleech Apr 28, 2022
15fea3a
rp2: Integrate lwIP network stack.
andrewleech May 5, 2022
bca816f
rp2: Add support for using Wiznet hardware as an Ethernet NIC.
andrewleech May 5, 2022
1b80aa9
rp2/boards/W5100S_EVB_PICO: Add Wiznet W5100S-EVB-Pico board.
andrewleech Apr 29, 2022
ffe5f2e
rp2/Makefile: Build in debug mode with "make DEBUG=1".
andrewleech Apr 27, 2022
4188bbd
extmod/modussl_mbedtls: Poll EVENT_POLL_HOOK in ssl handshake loop.
andrewleech Apr 29, 2022
73a1ea8
tests/net_inet: Remove broken api.telegram.org from tests.
andrewleech Apr 29, 2022
b7a39ad
tests/run-multitests.py: Read IP address from boot nic if available.
andrewleech Apr 29, 2022
b92e51e
tools/ci.sh: Add build of W5100S_EVB_PICO board to rp2 CI.
andrewleech May 26, 2022
2111ca0
rp2/boards/ARDUINO_NANO_RP2040_CONNECT: Update USB PID.
iabdalkader Apr 22, 2022
b37b578
py/persistentcode: Remove remaining native qstr linking support.
dpgeorge May 26, 2022
f506bf3
py/bc: Remove unused mp_opcode_format function.
dpgeorge May 30, 2022
599a22e
tools/mpy-tool.py: Rework .mpy merging feature.
dpgeorge May 30, 2022
bf92b0c
tools/ci.sh: Add test for mpy-tool's merging feature.
dpgeorge Jun 2, 2022
c58dc7f
pic16bit: Use 1 byte for qstr hash len and include header to fix build.
dpgeorge Jun 7, 2022
a446a7b
rp2/mpnetworkport: Fix lwip alarm callback timing to use microseconds.
dpgeorge Jun 7, 2022
66dfe17
rp2/CMakeLists: Simplify qstr sources when enabling extmod components.
dpgeorge Jun 7, 2022
9670a15
all: Rename MICROPY_PY_WIZNET5K to MICROPY_PY_NETWORK_WIZNET5K.
dpgeorge Jun 7, 2022
1d143ce
tests/basics: Add .exp file for sys.tracebacklimit test.
dpgeorge Jun 7, 2022
2fb413b
tools/mpy-tool.py: Improve generated frozen identifiers.
dpgeorge Jun 7, 2022
a0dae1d
stm32/flash: Remove FLASH_OPTR_DBANK condition in L4, H7 get_bank func.
dpgeorge Jun 7, 2022
14105ff
stm32/machine_i2c: Enable timingr constructor keyword on H7 MCUs.
dpgeorge Jun 7, 2022
0d8d911
stm32/powerctrl: Disable sys tick interrupt in stop mode on some STM32s.
pi-chm May 26, 2022
767f2ce
stm32/usbd_conf: Remove disable of SYSCFG clock.
pi-chm Jun 7, 2022
5cc2dd4
mimxrt/machine_uart: Fix an inconsistency for UART.init() arg handling.
robert-hh May 8, 2022
646fcda
tools/mpremote: Add command to print the version.
dpgeorge Jun 7, 2022
5290bfa
tools/mpremote: Bump version to 0.3.0.
dpgeorge Jun 7, 2022
5bb2a85
windows: Use BCryptGenRandom to implement os.urandom.
stinos Jun 7, 2022
d2f018b
unix,windows: Factor out code that generates random bytes to a new func.
dpgeorge Jun 2, 2022
ac3fb97
unix/variants: Enable seeding random module on import in dev, coverage.
dpgeorge Jun 2, 2022
e8e8c7c
extmod/modurandom: Fix missing void in empty argument list.
dpgeorge Jun 2, 2022
bd375df
extmod/extmod.cmake: Require components to be explicitly enabled.
dpgeorge Jun 8, 2022
70bf6ab
extmod/modusocket: Add socket state to track new/listening/conn/closed.
iabdalkader Jun 7, 2022
a4eef90
extmod/modusocket: Fix polling of closed sockets.
iabdalkader Jun 7, 2022
cbad559
py/compile: Give the compiler a hint about num nodes being non-zero.
dpgeorge Jun 8, 2022
c7271a8
py/makemoduledefs.py: Remove shebang line and adjust style of comment.
dpgeorge Jun 8, 2022
182256d
tests/stress: Adjust bytecode_limit test so it can SKIP if no memory.
dpgeorge Jun 8, 2022
6a1dbaa
tools/ci.sh: Build NUCLEO_H743ZI with -O2 optimisation level.
dpgeorge Jun 8, 2022
85597aa
esp32/machine_pin: Only expose IO20 on esp32 for IDF 4.3.2 and above.
dpgeorge Jun 8, 2022
abb3850
tools/mpy_ld.py: Support R_XTENSA_PDIFF32 relocation.
dpgeorge Jun 9, 2022
313f082
tools/ci.sh: Build native .mpy examples for armv7emsp, xtensawin in CI.
dpgeorge Jun 9, 2022
bd5152c
stm32/mboot: Add board-configurable SysTick hook.
dpgeorge Jun 9, 2022
45a0c6d
stm32/mboot: Remove MP_WEAK on led funcs and make some of them static.
dpgeorge Jun 9, 2022
3452ee5
stm32/boards/LEGO_HUB_NO6: Add comment to readme about powering off.
dpgeorge Jun 9, 2022
f63b4f8
py/parse: Work around xtensa esp-2020r3 compiler bug.
dpgeorge Jun 9, 2022
ab6ad86
drivers/sdcard: Fix CSD version 1.0 device size calculation.
GMMan Apr 13, 2022
203b98c
drivers/sdcard: Make ioctl(4), ioctl(5) return num blocks, block size.
dpgeorge Jun 10, 2022
ee9feac
drivers/sdcard: Fix address calculation on v2 SDSC cards.
dpgeorge Jun 10, 2022
17a0d65
tools/mpy_ld.py: Support GOT entries that reference inside mp_fun_table.
dpgeorge Jun 10, 2022
148d122
py/dynruntime: Add macros to create a new dict and store to dicts.
jeremyherbert Feb 14, 2020
0e556f2
py/dynruntime: Add macros to access more types and mp_const_empty_bytes.
dpgeorge Jun 10, 2022
1f1afae
examples/natmod/features3: Add example to test more natmod features.
dpgeorge Jun 10, 2022
cf7d962
docs/reference/mpyfiles: Update .mpy description to match latest format.
dpgeorge Jun 10, 2022
58b35c9
extmod/extmod.cmake: Fix hard-coded mbedtls config file path.
iabdalkader Jun 8, 2022
99d3a73
nrf/modules/uos/microbitfs: Fix MICROPY_MBFS build to use mp_obj_malloc.
iabdalkader Jun 9, 2022
cedb93c
docs: Update Raspberry Pi URLs from .org to .com.
lurch Jun 12, 2022
37d5114
py/makemoduledefs.py: Emit useful error for legacy MP_REGISTER_MODULE.
Gadgetoid Jun 14, 2022
d75892c
zephyr/modusocket: Fix function object wrapper for listen method.
dpgeorge Jun 15, 2022
0969543
stm32/mboot: Only include UI code if at least one board LED is defined.
dpgeorge Jun 16, 2022
d7919ea
all: Bump version to 1.19.
dpgeorge Jun 16, 2022
5233fb3
extmod/machine_i2c: Only use WRITE1 option if transfer supports it.
dpgeorge Jun 17, 2022
9b48634
all: Bump version to 1.19.1.
dpgeorge Jun 17, 2022
0d4bc8c
initial v1.19.1 merge; not compiled yet
dhalbert Aug 1, 2023
465d1c6
wip
dhalbert Aug 4, 2023
0d2c3c3
wip: continuing compilation fixes; mp_obj_alloc everywhere
dhalbert Aug 8, 2023
2ff8667
wip; remove long-lived functionality; remove PR#2614
dhalbert Aug 9, 2023
0dca530
wip; Trinket M0 compiles
dhalbert Aug 9, 2023
fe0e2f1
wip; fix qstr processing
dhalbert Aug 11, 2023
10b9479
wip; fix more m_malloc and gc_alloc
dhalbert Aug 11, 2023
8a89a3d
sort TRANSLATION()'s
dhalbert Aug 11, 2023
1b19ed4
change compilation verbosity options; fix mpy-cross
dhalbert Aug 12, 2023
48e404a
wip; fix frozen; still need to fix -j1 for frozen
dhalbert Aug 12, 2023
4330590
fix -j1 builds, particularly CPX
dhalbert Aug 12, 2023
850877a
wip; fix generators; typos
dhalbert Aug 12, 2023
27c7807
silabs build needs work; other builds are working
dhalbert Aug 13, 2023
2171e67
merge latest adafruit/main
dhalbert Aug 13, 2023
d582407
pre-commit fixes
dhalbert Aug 14, 2023
8cf5b6e
fixes to unix port support; thanks @jepler
dhalbert Aug 14, 2023
c823b9b
force mpversion.h build early in silabs
dhalbert Aug 14, 2023
2f81f36
fix windows mpy-cross builds; tnx @jepler
dhalbert Aug 14, 2023
4a579f7
fix doc build; reorganize placement of library docs
dhalbert Aug 14, 2023
b73f05f
turn off viper tests; thanks jepler
dhalbert Aug 14, 2023
5ad3500
jepler: fix 18 tests
dhalbert Aug 14, 2023
545d434
Revert "jepler: fix 18 tests"
dhalbert Aug 14, 2023
3d48e87
jepler: fix 18 tests (redo commit to be correct)
dhalbert Aug 14, 2023
f0a8d44
fix vfs_fat_case
jepler Aug 15, 2023
df1dd6a
make 'import uerrno' work again in unix port
jepler Aug 15, 2023
94b89b7
enable exception chaining so we can run the test
jepler Aug 15, 2023
d766795
endorse new test output
jepler Aug 15, 2023
8d5e844
Implement traceback length limit
jepler Aug 15, 2023
8fd2d82
fix ubinascii test
jepler Aug 15, 2023
843fdbb
Add a missing MP_PROTO_IMPLEMENT
jepler Aug 15, 2023
bfccb77
asyncio test fixes and asyncio library updates
dhalbert Aug 18, 2023
6851faa
Merge remote-tracking branch 'adafruit/main' into merge-micropython-v…
dhalbert Aug 18, 2023
d9ed21e
pre-commit
dhalbert Aug 18, 2023
9c91448
Re-add usercmodule sources & endorse new extra_coverage output
jepler Aug 16, 2023
73d231c
update invalid-mpy test and result
jepler Aug 16, 2023
4a9632d
update test result
jepler Aug 16, 2023
49159ef
Allow natmods to build again (they don't work, however)
jepler Aug 16, 2023
ca05761
Skip the import_mpy_native_gc test, it is known to be broken
jepler Aug 16, 2023
100de9e
add a script to make it easy to endorse test output
jepler Aug 18, 2023
a42e03c
fetch additional submodules during testing
jepler Aug 18, 2023
e43c2fb
pre-commit uncrustify
dhalbert Aug 19, 2023
d35e4ff
Merge branch 'merge-micropython-v1.19.1' of https://github.com/dhalbe…
dhalbert Aug 19, 2023
412e242
Fix `mpy-cross -X native`
jepler Aug 19, 2023
6598fc0
pre-commit modifies these additional files on my system (WHY?)
jepler Aug 19, 2023
a943011
Make natmods work again.
jepler Aug 19, 2023
5606d49
skip async_basic with native emitter, it doesn't work
jepler Aug 19, 2023
b0bf36e
Fix building with !MICROPY_PY_ASYNC_AWAIT
jepler Aug 19, 2023
562520e
Skip these tests when using --emit native
jepler Aug 20, 2023
7e38b79
Add mp_type_native_coro_wrap
jepler Aug 20, 2023
d8484df
basic async_with test passes under native code
jepler Aug 20, 2023
d277294
Alias m_new_ll to m_new
jepler Aug 20, 2023
d902234
Allow freezing 31-bit ints
jepler Aug 20, 2023
a3a9c7a
fix typo
jepler Aug 20, 2023
e74ef8b
ringbuf_alloc no longer has a long-lived argument
jepler Aug 20, 2023
d5d566d
Don't assume __ICACHE_PRESENT is defined
jepler Aug 20, 2023
44c26d9
Ensure sdkconfig.h is built early, by making Makefile depend on it
jepler Aug 20, 2023
d94ff9d
turn off audiopwmio to save flash space
jepler Aug 20, 2023
bb8e0ae
turn off some modules to save flash space
jepler Aug 20, 2023
c122ca1
restore missing board.c file
jepler Aug 20, 2023
f9e99bd
Fix picow build
jepler Aug 20, 2023
1399d0f
guard mp_type_native_gen_wrap declaration with MICROPY_EMIT_NATIVE
jepler Aug 20, 2023
0cab335
ignore some cast-align diagnostics
jepler Aug 20, 2023
cb4d782
support old names for push/pop methods in TaskQueue
jepler Aug 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .codespell/ignore-words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@ deques
extint
shs
pass-thru
numer
arithmetics
ftbfs
straightaway
12 changes: 12 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
#all: Reformat remaining C code that doesn't have a space after a comma.
5b700b0af90591d6b1a2c087bb8de6b7f1bfdd2d

# ports: Reformat more C and Python source code.
5c32111fa0e31e451b0f1666bdf926be2fdfd82c

# all: Update Python formatting to latest Black version 22.1.0.
ab2923dfa1174dc177f0a90cb00a7e4ff87958d2

# all: Update Python formatting to latest Black version 21.12b0.
3770fab33449a5dadf8eb06edfae0767e75320a6

# tools/gen-cpydiff.py: Fix formatting of doc strings for new Black.
0f78c36c5aa458a954eed39a46942209107a553e

Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,6 @@ jobs:
run: |
make -C examples/natmod/features1
make -C examples/natmod/features2
make -C examples/natmod/btree
make -C examples/natmod/framebuf
make -C examples/natmod/uheapq
make -C examples/natmod/urandom
make -C examples/natmod/ure
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ litex alpha
mimxrt10xx alpha
nrf stable
raspberrypi stable
efr32 alpha
silabs (efr32) alpha
stm ``F4`` stable | ``others`` beta
unix alpha
================ ============================================================
Expand Down
2 changes: 1 addition & 1 deletion conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ def autoapi_prepare_jinja_env(jinja_env):


# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {"cpython": ('https://docs.python.org/3/', None),
intersphinx_mapping = {"python": ('https://docs.python.org/3/', None),
"register": ('https://circuitpython.readthedocs.io/projects/register/en/latest/', None),
"typing": ('https://circuitpython.readthedocs.io/projects/adafruit-circuitpython-typing/en/latest/', None)}

Expand Down
35 changes: 12 additions & 23 deletions devices/ble_hci/common-hal/_bleio/Adapter.c
Original file line number Diff line number Diff line change
Expand Up @@ -82,28 +82,23 @@ STATIC void add_generic_services(bleio_adapter_obj_t *adapter) {

// Generic Access Service setup.

bleio_uuid_obj_t *generic_access_service_uuid = m_new_obj(bleio_uuid_obj_t);
generic_access_service_uuid->base.type = &bleio_uuid_type;
bleio_uuid_obj_t *generic_access_service_uuid = mp_obj_malloc(bleio_uuid_obj_t, &bleio_uuid_type);
common_hal_bleio_uuid_construct(generic_access_service_uuid, 0x1800, NULL);

bleio_uuid_obj_t *device_name_characteristic_uuid = m_new_obj(bleio_uuid_obj_t);
device_name_characteristic_uuid->base.type = &bleio_uuid_type;
bleio_uuid_obj_t *device_name_characteristic_uuid = mp_obj_malloc(bleio_uuid_obj_t, &bleio_uuid_type);
common_hal_bleio_uuid_construct(device_name_characteristic_uuid, 0x2A00, NULL);

bleio_uuid_obj_t *appearance_characteristic_uuid = m_new_obj(bleio_uuid_obj_t);
appearance_characteristic_uuid->base.type = &bleio_uuid_type;
bleio_uuid_obj_t *appearance_characteristic_uuid = mp_obj_malloc(bleio_uuid_obj_t, &bleio_uuid_type);
common_hal_bleio_uuid_construct(appearance_characteristic_uuid, 0x2A01, NULL);

// Not implemented:
// Peripheral Preferred Connection Parameters
// Central Address Resolution

bleio_service_obj_t *generic_access_service = m_new_obj(bleio_service_obj_t);
generic_access_service->base.type = &bleio_service_type;
bleio_service_obj_t *generic_access_service = mp_obj_malloc(bleio_service_obj_t, &bleio_service_type);
common_hal_bleio_service_construct(generic_access_service, generic_access_service_uuid, false);

adapter->device_name_characteristic = m_new_obj(bleio_characteristic_obj_t);
adapter->device_name_characteristic->base.type = &bleio_characteristic_type;
adapter->device_name_characteristic = mp_obj_malloc(bleio_characteristic_obj_t, &bleio_characteristic_type);

char generic_name[] = { 'C', 'I', 'R', 'C', 'U', 'I', 'T', 'P', 'Y', 'n', 'n', 'n', 'n' };
mp_buffer_info_t generic_name_bufinfo = {
Expand Down Expand Up @@ -132,8 +127,7 @@ STATIC void add_generic_services(bleio_adapter_obj_t *adapter) {
.len = sizeof(zero_16),
};

adapter->appearance_characteristic = m_new_obj(bleio_characteristic_obj_t);
adapter->appearance_characteristic->base.type = &bleio_characteristic_type;
adapter->appearance_characteristic = mp_obj_malloc(bleio_characteristic_obj_t, &bleio_characteristic_type);

common_hal_bleio_characteristic_construct(
adapter->appearance_characteristic,
Expand All @@ -151,20 +145,16 @@ STATIC void add_generic_services(bleio_adapter_obj_t *adapter) {

// Generic Attribute Service setup.

bleio_uuid_obj_t *generic_attribute_service_uuid = m_new_obj(bleio_uuid_obj_t);
generic_attribute_service_uuid->base.type = &bleio_uuid_type;
bleio_uuid_obj_t *generic_attribute_service_uuid = mp_obj_malloc(bleio_uuid_obj_t, &bleio_uuid_type);
common_hal_bleio_uuid_construct(generic_attribute_service_uuid, 0x1801, NULL);

bleio_uuid_obj_t *service_changed_characteristic_uuid = m_new_obj(bleio_uuid_obj_t);
service_changed_characteristic_uuid->base.type = &bleio_uuid_type;
bleio_uuid_obj_t *service_changed_characteristic_uuid = mp_obj_malloc(bleio_uuid_obj_t, &bleio_uuid_type);
common_hal_bleio_uuid_construct(service_changed_characteristic_uuid, 0x2A05, NULL);

bleio_service_obj_t *generic_attribute_service = m_new_obj(bleio_service_obj_t);
generic_attribute_service->base.type = &bleio_service_type;
bleio_service_obj_t *generic_attribute_service = mp_obj_malloc(bleio_service_obj_t, &bleio_service_type);
common_hal_bleio_service_construct(generic_attribute_service, generic_attribute_service_uuid, false);

adapter->service_changed_characteristic = m_new_obj(bleio_characteristic_obj_t);
adapter->service_changed_characteristic->base.type = &bleio_characteristic_type;
adapter->service_changed_characteristic = mp_obj_malloc(bleio_characteristic_obj_t, &bleio_characteristic_type);

uint32_t zero_32 = 0;
mp_buffer_info_t zero_32_value = {
Expand Down Expand Up @@ -416,8 +406,7 @@ bleio_address_obj_t *common_hal_bleio_adapter_get_address(bleio_adapter_obj_t *s
bt_addr_t addr;
hci_check_error(hci_read_bd_addr(&addr));

bleio_address_obj_t *address = m_new_obj(bleio_address_obj_t);
address->base.type = &bleio_address_type;
bleio_address_obj_t *address = mp_obj_malloc(bleio_address_obj_t, &bleio_address_type);

common_hal_bleio_address_construct(address, addr.val, BT_ADDR_LE_PUBLIC);
return address;
Expand Down Expand Up @@ -490,7 +479,7 @@ mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t
self->scan_results = shared_module_bleio_new_scanresults(buffer_size, prefixes, prefix_length, minimum_rssi);

// size_t max_packet_size = extended ? BLE_GAP_SCAN_BUFFER_EXTENDED_MAX_SUPPORTED : BLE_GAP_SCAN_BUFFER_MAX;
// uint8_t *raw_data = m_malloc(sizeof(ble_data_t) + max_packet_size, false);
// uint8_t *raw_data = m_malloc(sizeof(ble_data_t) + max_packet_size);
// ble_data_t * sd_data = (ble_data_t *) raw_data;
// self->scan_results->common_hal_data = sd_data;
// sd_data->len = max_packet_size;
Expand Down
3 changes: 1 addition & 2 deletions devices/ble_hci/common-hal/_bleio/CharacteristicBuffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,7 @@ void common_hal_bleio_characteristic_buffer_construct(bleio_characteristic_buffe
self->characteristic = characteristic;
self->timeout_ms = timeout * 1000;
// This is a macro.
// true means long-lived, so it won't be moved.
ringbuf_alloc(&self->ringbuf, buffer_size, true);
ringbuf_alloc(&self->ringbuf, buffer_size);

bleio_characteristic_set_observer(characteristic, self);
}
Expand Down
22 changes: 8 additions & 14 deletions devices/ble_hci/common-hal/_bleio/Connection.c
Original file line number Diff line number Diff line change
Expand Up @@ -453,8 +453,7 @@ void common_hal_bleio_connection_set_connection_interval(bleio_connection_intern
// for (size_t i = 0; i < response->count; ++i) {
// ble_gattc_service_t *gattc_service = &response->services[i];

// bleio_service_obj_t *service = m_new_obj(bleio_service_obj_t);
// service->base.type = &bleio_service_type;
// bleio_service_obj_t *service = mp_obj_malloc(bleio_service_obj_t, &bleio_service_type);

// // Initialize several fields at once.
// bleio_service_from_connection(service, bleio_connection_new_from_internal(connection));
Expand All @@ -466,8 +465,7 @@ void common_hal_bleio_connection_set_connection_interval(bleio_connection_intern

// if (gattc_service->uuid.type != BLE_UUID_TYPE_UNKNOWN) {
// // Known service UUID.
// bleio_uuid_obj_t *uuid = m_new_obj(bleio_uuid_obj_t);
// uuid->base.type = &bleio_uuid_type;
// bleio_uuid_obj_t *uuid = mp_obj_malloc(bleio_uuid_obj_t, &bleio_uuid_type);
// bleio_uuid_construct_from_nrf_ble_uuid(uuid, &gattc_service->uuid);
// service->uuid = uuid;
// } else {
Expand All @@ -491,15 +489,14 @@ void common_hal_bleio_connection_set_connection_interval(bleio_connection_intern
// for (size_t i = 0; i < response->count; ++i) {
// ble_gattc_char_t *gattc_char = &response->chars[i];

// bleio_characteristic_obj_t *characteristic = m_new_obj(bleio_characteristic_obj_t);
// characteristic->base.type = &bleio_characteristic_type;
// bleio_characteristic_obj_t *characteristic =
// mp_obj_malloc(bleio_characteristic_obj_t, &bleio_characteristic_type);

// bleio_uuid_obj_t *uuid = NULL;

// if (gattc_char->uuid.type != BLE_UUID_TYPE_UNKNOWN) {
// // Known characteristic UUID.
// uuid = m_new_obj(bleio_uuid_obj_t);
// uuid->base.type = &bleio_uuid_type;
// uuid = mp_obj_malloc(bleio_uuid_obj_t, &bleio_uuid_type);
// bleio_uuid_construct_from_nrf_ble_uuid(uuid, &gattc_char->uuid);
// } else {
// // The discovery response contained a 128-bit UUID that has not yet been registered with the
Expand Down Expand Up @@ -557,15 +554,13 @@ void common_hal_bleio_connection_set_connection_interval(bleio_connection_intern
// break;
// }

// bleio_descriptor_obj_t *descriptor = m_new_obj(bleio_descriptor_obj_t);
// descriptor->base.type = &bleio_descriptor_type;
// bleio_descriptor_obj_t *descriptor = mp_obj_malloc(bleio_descriptor_obj_t, &bleio_descriptor_type);

// bleio_uuid_obj_t *uuid = NULL;

// if (gattc_desc->uuid.type != BLE_UUID_TYPE_UNKNOWN) {
// // Known descriptor UUID.
// uuid = m_new_obj(bleio_uuid_obj_t);
// uuid->base.type = &bleio_uuid_type;
// uuid = mp_obj_malloc(bleio_uuid_obj_t, &bleio_uuid_type);
// bleio_uuid_construct_from_nrf_ble_uuid(uuid, &gattc_desc->uuid);
// } else {
// // The discovery response contained a 128-bit UUID that has not yet been registered with the
Expand Down Expand Up @@ -750,8 +745,7 @@ mp_obj_t bleio_connection_new_from_internal(bleio_connection_internal_t *interna
if (internal->connection_obj != mp_const_none) {
return internal->connection_obj;
}
bleio_connection_obj_t *connection = m_new_obj(bleio_connection_obj_t);
connection->base.type = &bleio_connection_type;
bleio_connection_obj_t *connection = mp_obj_malloc(bleio_connection_obj_t, &bleio_connection_type);
connection->connection = internal;
internal->connection_obj = connection;

Expand Down
6 changes: 3 additions & 3 deletions devices/ble_hci/common-hal/_bleio/PacketBuffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ void common_hal_bleio_packet_buffer_construct(
}

if (incoming) {
if (!ringbuf_alloc(&self->ringbuf, buffer_size * (sizeof(uint16_t) + max_packet_size), false)) {
if (!ringbuf_alloc(&self->ringbuf, buffer_size * (sizeof(uint16_t) + max_packet_size))) {
mp_raise_ValueError(translate("Buffer too large and unable to allocate"));
}
}
Expand All @@ -110,8 +110,8 @@ void common_hal_bleio_packet_buffer_construct(
self->packet_queued = false;
self->pending_index = 0;
self->pending_size = 0;
self->outgoing[0] = m_malloc(max_packet_size, false);
self->outgoing[1] = m_malloc(max_packet_size, false);
self->outgoing[0] = m_malloc(max_packet_size);
self->outgoing[1] = m_malloc(max_packet_size);
} else {
self->outgoing[0] = NULL;
self->outgoing[1] = NULL;
Expand Down
3 changes: 1 addition & 2 deletions devices/ble_hci/common-hal/_bleio/Service.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,7 @@ void common_hal_bleio_service_add_characteristic(bleio_service_obj_t *self,

if (characteristic->props & (CHAR_PROP_NOTIFY | CHAR_PROP_INDICATE)) {
// We need a CCCD if this characteristic is doing notify or indicate.
bleio_descriptor_obj_t *cccd = m_new_obj(bleio_descriptor_obj_t);
cccd->base.type = &bleio_descriptor_type;
bleio_descriptor_obj_t *cccd = mp_obj_malloc(bleio_descriptor_obj_t, &bleio_descriptor_type);

uint16_t zero = 0;
mp_buffer_info_t zero_cccd_value = {
Expand Down
8 changes: 4 additions & 4 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Full Table of Contents
:caption: API and Usage

../shared-bindings/index.rst
library/index.rst
supported_ports.rst
troubleshooting.rst
libraries.rst
Expand All @@ -32,13 +33,12 @@ Full Table of Contents
design_guide
porting
common_hal
reference/mpyfiles.rst
reference/glossary.rst

.. toctree::
:maxdepth: 2
:caption: MicroPython specific

library/index.rst
reference/glossary.rst
:caption: Python stand

.. toctree::
:maxdepth: 1
Expand Down
4 changes: 2 additions & 2 deletions docs/library/array.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
:mod:`array` -- arrays of numeric data
=======================================
======================================

.. module:: array
:synopsis: efficient arrays of numeric data

|see_cpython_module| :mod:`cpython:array`.
|see_cpython_module| :mod:`python:array`.

Supported format codes: ``b``, ``B``, ``h``, ``H``, ``i``, ``I``, ``l``,
``L``, ``q``, ``Q``, ``f``, ``d`` (the latter 2 depending on the
Expand Down
8 changes: 4 additions & 4 deletions docs/library/binascii.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
:mod:`binascii` -- binary/ASCII conversions
============================================
===========================================

.. module:: binascii
:synopsis: binary/ASCII conversions

|see_cpython_module| :mod:`cpython:binascii`.
|see_cpython_module| :mod:`python:binascii`.

This module implements conversions between binary data and various
encodings of it in ASCII form (in both directions).
Expand All @@ -31,11 +31,11 @@ Functions
Conforms to `RFC 2045 s.6.8 <https://tools.ietf.org/html/rfc2045#section-6.8>`_.
Returns a bytes object.

.. function:: b2a_base64(data)
.. function:: b2a_base64(data, *, newline=True)

Encode binary data in base64 format, as in `RFC 3548
<https://tools.ietf.org/html/rfc3548.html>`_. Returns the encoded data
followed by a newline character, as a bytes object.
followed by a newline character if ``newline`` is true, as a bytes object.

.. function:: crc32(data, value=0, /)

Expand Down
Loading