Damien George
1842efbdd9
stm32/Makefile: Set CSUPEROPT to -Os for F0 and G0 MCUs to save space.
...
Saves 1804 bytes on NUCLEO_F091RC, and 1080 bytes on NUCLEO_G0B1RE.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-20 23:37:38 +10:00
iabdalkader
82b8a2d193
esp8266/modnetwork: Rename WLAN keyword args to ssid/security/key.
...
The WLAN.config() method now supports "ssid", "security" and "key" as
aliases to the existing "essid", "authmode" and "password", which are now
deprecated. The help text and setup helper are also updated.
Addresses issue #8083 .
2022-06-17 21:43:44 +10:00
iabdalkader
a7c7febe0b
esp32/network_wlan: Rename WLAN keyword args to ssid/security/key.
...
The WLAN.config() method now supports "ssid", "security" and "key" as
aliases to the existing "essid", "authmode" and "password", which are now
deprecated.
Addresses issue #8083 .
2022-06-17 21:43:44 +10:00
chrismas9
868f23b362
stm32/boards/NUCLEO_F091RC: Enable LFS1 filesystem.
...
And disable some less common features to make space for it.
Signed-off-by: Chris Mason <c.mason@inchipdesign.com.au>
2022-06-17 21:27:41 +10:00
chrismas9
fdbca3c143
stm32/boards/stm32f091xc.ld: Allocate space for a small filesystem.
...
Signed-off-by: Chris Mason <c.mason@inchipdesign.com.au>
2022-06-17 21:27:32 +10:00
Maureen Helm
bada8b3cad
zephyr: Upgrade to Zephyr v3.1.0.
...
Updates the Zephyr port build instructions and CI to use the latest Zephyr
release tag.
Tested on frdm_k64f.
Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-06-17 16:51:34 +10:00
Maureen Helm
4fd54a4756
zephyr: Update include paths to use the zephyr namespace.
...
Zephyr v3.1.0 moved all public headers to include/zephyr.
Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-06-17 16:44:30 +10:00
Damien George
49c23ac08f
renesas-ra/machine_i2c: Remove unnecessary start/stop dummy functions.
...
The code in extmod/machine_i2c.c will check for NULL slots and raise an
appropriate exception.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-17 14:58:42 +10:00
Damien George
d8e7ecd231
stm32/modmachine: Factor out mboot enter code to a function.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-17 13:57:47 +10:00
iabdalkader
c5d26ee5e7
renesas-ra/modmachine: Allow boards to provide custom bootloader code.
...
And expose the machine_bootloader() C function so it can be used elsewhere.
2022-06-17 13:38:55 +10:00
iabdalkader
f522aabab2
rp2/modmachine: Allow boards to provide custom bootloader code.
...
And expose the machine_bootloader() C function so it can be used elsewhere.
2022-06-17 13:38:21 +10:00
iabdalkader
d8f5669532
nrf/modmachine: Add machine.bootloader() and make it customisable.
2022-06-17 13:37:44 +10:00
iabdalkader
0adf0dd3d7
stm32/modmachine: Allow boards to provide custom bootloader code.
...
And expose the machine_bootloader() C function so it can be used elsewhere.
2022-06-17 13:36:55 +10:00
iabdalkader
921dd94676
nrf/main: Add startup and early-init board hook macros.
...
Following stm32 for naming and location of the hooks. Also allow a board
to provide custom .c files to implement code for these hooks.
2022-06-17 13:23:45 +10:00
Damien George
5233fb3a3d
extmod/machine_i2c: Only use WRITE1 option if transfer supports it.
...
When MICROPY_PY_MACHINE_I2C_TRANSFER_WRITE1 is enabled the port's hardware
I2C transfer functions should support the MP_MACHINE_I2C_FLAG_WRITE1
option, but software I2C will not. So add a flag to the I2C protocol
struct so each individual protocol can indicate whether it supports this
option or not.
Fixes issue #8765 .
Signed-off-by: Damien George <damien@micropython.org>
2022-06-17 11:57:57 +10:00
Damien George
096954337f
stm32/mboot: Only include UI code if at least one board LED is defined.
...
Otherwise the board must provide dummy definitions of MBOOT_LED1.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-16 14:31:09 +10:00
Damien George
d75892c0b0
zephyr/modusocket: Fix function object wrapper for listen method.
...
This was missed by 919f696ad254bcc39effe7ce7fddae8cf406c954
Signed-off-by: Damien George <damien@micropython.org>
2022-06-15 11:38:09 +10:00
Andrew Scheller
cedb93c179
docs: Update Raspberry Pi URLs from .org to .com.
2022-06-14 11:41:13 +10:00
iabdalkader
99d3a73d59
nrf/modules/uos/microbitfs: Fix MICROPY_MBFS build to use mp_obj_malloc.
...
Changes introduced in 0e7bfc88c6ac6b5d64240f91183a3cfe2ab67ade missed
changing this call to mp_obj_malloc.
2022-06-11 21:09:58 +10:00
Damien George
f63b4f85aa
py/parse: Work around xtensa esp-2020r3 compiler bug.
...
This commit works around a bug in xtensa-esp32-elf-gcc version esp-2020r3.
The bug is in generation of loop constructs. The below code is generated
by the xtensa-esp32 compiler. The first extract is the buggy machine code
and the second extract is the corrected machine code. The test
`basics/logic_constfolding.py` fails with the first code and succeeds with
the second.
Disassembly of section .text.push_result_rule:
00000000 <push_result_rule>:
...
d6: 209770 or a9, a7, a7
d9: 178976 loop a9, f4 <push_result_rule+0xf4>
d9: R_XTENSA_SLOT0_OP .text.push_result_rule+0xf4
dc: 030190 rsr.lend a9
df: 130090 wsr.lbeg a9
e2: a8c992 addi a9, a9, -88
e5: 06d992 addmi a9, a9, 0x600
e8: 130190 wsr.lend a9
eb: 002000 isync
ee: 030290 rsr.lcount a9
f1: 01c992 addi a9, a9, 1
f4: 1494e7 bne a4, a14, 10c <push_result_rule+0x10c>
f4: R_XTENSA_SLOT0_OP .text.push_result_rule+0x10c
Disassembly of section .text.push_result_rule:
00000000 <push_result_rule>:
...
d6: 209770 or a9, a7, a7
d9: 178976 loop a9, f4 <push_result_rule+0xf4>
d9: R_XTENSA_SLOT0_OP .text.push_result_rule+0xf4
dc: 030190 rsr.lend a9
df: 130090 wsr.lbeg a9
e2: 000091 l32r a9, fffc00e4 <push_result_rule+0xfffc00e4>
e2: R_XTENSA_SLOT0_OP .literal.push_result_rule+0x18
e5: 0020f0 nop
e8: 130190 wsr.lend a9
eb: 002000 isync
ee: 030290 rsr.lcount a9
f1: 01c992 addi a9, a9, 1
f4: 1494e7 bne a4, a14, 10c <push_result_rule+0x10c>
f4: R_XTENSA_SLOT0_OP .text.push_result_rule+0x10c
Work done in collaboration with @jimmo.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-09 13:56:30 +10:00
Damien George
3452ee58d3
stm32/boards/LEGO_HUB_NO6: Add comment to readme about powering off.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-09 13:24:08 +10:00
Damien George
45a0c6da5b
stm32/mboot: Remove MP_WEAK on led funcs and make some of them static.
...
Both led_init and led_state are configurable via MBOOT_BOARD_LED_INIT and
MBOOT_BOARD_LED_STATE respectively, so don't need to be MP_WEAK.
Furthermore, led_state and led0_state are private to ui.c so can be made
static.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-09 13:24:08 +10:00
Damien George
bd5152c928
stm32/mboot: Add board-configurable SysTick hook.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-09 13:24:08 +10:00
Damien George
85597aa68e
esp32/machine_pin: Only expose IO20 on esp32 for IDF 4.3.2 and above.
...
This IO was enabled in IDF commit 68f8b999bb69563f2f3d1d897bc073968f41f3bf,
which is available in IDF release v4.3.2 and above.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-08 18:29:01 +10:00
Damien George
bd375df02c
extmod/extmod.cmake: Require components to be explicitly enabled.
...
Otherwise include directories are added unconditionally to the build
variables if the component (submodule) is checked out. This can lead to,
eg, the esp32 build using lib/lwip header files, instead of lwip header
files from the IDF.
Fixes issue #8727 .
Signed-off-by: Damien George <damien@micropython.org>
2022-06-08 13:03:34 +10:00
Damien George
ac3fb974bc
unix/variants: Enable seeding random module on import in dev, coverage.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 23:41:49 +10:00
Damien George
d2f018bff1
unix,windows: Factor out code that generates random bytes to a new func.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 23:41:30 +10:00
stijn
5bb2a85d74
windows: Use BCryptGenRandom to implement os.urandom.
...
Fix urandom not working on windows (there's no /dev/urandom) by using
a proper cryptographic random function (same one as CPython >= 3.11).
2022-06-07 23:32:30 +10:00
robert-hh
5cc2dd4f5d
mimxrt/machine_uart: Fix an inconsistency for UART.init() arg handling.
...
With keyword arguments only or just a single non-keyword argument,
UART.init() did not perform the settings.
2022-06-07 18:21:46 +10:00
Clayton Mills
767f2ce9a7
stm32/usbd_conf: Remove disable of SYSCFG clock.
...
System config block contains hardware unrelated to USB. So calling
`__SYSCFG_CLK_DISABLE()` during `HAL_PCD_MspDeInit()` has an adverse effect
on other system functionality.
Removing call to `__SYSCFG_CLK_DISABLE()` to rectify this issue.
This call was there since the beginning of the USB CDC code, added in
b30c02afa078f7713faa14087ae28433dee49027.
2022-06-07 18:09:58 +10:00
Clayton Mills
0d8d911950
stm32/powerctrl: Disable sys tick interrupt in stop mode on some STM32s.
...
According to ST Errata ES0206 Rev 18, Section 2.2.1, on STM32F427x,
STM32F437x, STM32F429x and STM32F439x.
If the system tick interrupt is enabled during stop mode while certain
bits are set in the DBGMCU_CR, then the system will immediately wake
from stop mode.
Suggested workaround is to disable system tick timer interrupt when
entering stop mode.
According to ST Errate ES0394 Rev 11, Section 2.2.17, on STM32WB55Cx and
STM32WB35Cx.
If the system tick interrupt is enabled during stop 0, stop 1 or stop 2
while certain bits are set in DBGMCU_CR, then system will immediately
wake from stop mode but the system remains in low power state. The CPU
therefore fetches incorrect data from inactive Flash, which can cause a
hard fault.
Suggested workaround is to disable system tick timer interrupt when
entering stop mode.
2022-06-07 18:08:02 +10:00
Damien George
14105ff5b1
stm32/machine_i2c: Enable timingr constructor keyword on H7 MCUs.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 17:05:05 +10:00
Damien George
a0dae1dda2
stm32/flash: Remove FLASH_OPTR_DBANK condition in L4, H7 get_bank func.
...
This was added by mistake in 8f68e26f79ee325669fb7dc7bbd092fccd5b038f when
adding support for G4 MCUs, which does not using this get_bank() function.
FLASH_OPTR_DBANK is only defined on G4 and L4 MCUs, so on H7 this
FLASH_BANK_2 code was being wrongly excluded.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 16:55:18 +10:00
Damien George
9670a156da
all: Rename MICROPY_PY_WIZNET5K to MICROPY_PY_NETWORK_WIZNET5K.
...
To match MICROPY_PY_NETWORK_CYW43 and MICROPY_PY_NETWORK_NINAW10.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 16:55:18 +10:00
Damien George
66dfe17b18
rp2/CMakeLists: Simplify qstr sources when enabling extmod components.
...
Also remove redundant modusocket.c and modnetwork.c sources, they are
already added by extmod/extmod.cmake.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 16:55:18 +10:00
Damien George
a446a7bdef
rp2/mpnetworkport: Fix lwip alarm callback timing to use microseconds.
...
The callback passed to add_alarm_in_ms must return microseconds, even
though the initial delay is in milliseconds. Fix this use, and to avoid
further confusion use the add_alarm_in_us function instead.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 16:55:18 +10:00
Damien George
c58dc7f091
pic16bit: Use 1 byte for qstr hash len and include header to fix build.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 16:55:18 +10:00
iabdalkader
2111ca0b8f
rp2/boards/ARDUINO_NANO_RP2040_CONNECT: Update USB PID.
...
This PID is allocated for the Arduino Nano RP2040 running MicroPython.
2022-06-03 16:12:44 +10:00
Andrew Leech
ffe5f2efe2
rp2/Makefile: Build in debug mode with "make DEBUG=1".
...
Signed-off-by: Andrew Leech <andrew@alelec.net>
2022-06-03 14:34:29 +10:00
Andrew Leech
1b80aa9ce3
rp2/boards/W5100S_EVB_PICO: Add Wiznet W5100S-EVB-Pico board.
...
Signed-off-by: Andrew Leech <andrew@alelec.net>
2022-06-03 14:34:29 +10:00
Andrew Leech
bca816f5ac
rp2: Add support for using Wiznet hardware as an Ethernet NIC.
...
Uses the extmod/network_wiznet5k driver to provide network connectivity.
Signed-off-by: Andrew Leech <andrew@alelec.net>
2022-06-03 14:34:29 +10:00
Andrew Leech
15fea3a1ff
rp2: Integrate lwIP network stack.
...
Signed-off-by: Andrew Leech <andrew@alelec.net>
2022-06-03 14:34:18 +10:00
Andrew Leech
7d9cc69645
rp2/Makefile: Use cmake for "make submodules" task when needed.
...
Because the submodule list can be updated by cmake files.
Signed-off-by: Andrew Leech <andrew@alelec.net>
2022-06-03 14:29:11 +10:00
Andrew Leech
05f927b624
rp2/machine_pin: Add mp_hal_pin_interrupt C interface.
...
So C can can easily configure a pin interrupt and callback.
Signed-off-by: Andrew Leech <andrew@alelec.net>
2022-06-03 14:29:11 +10:00
Andrew Leech
9bd6169b72
rp2/mbedtls: Add support for ssl module with MICROPY_SSL_MBEDTLS.
...
Signed-off-by: Andrew Leech <andrew@alelec.net>
2022-06-03 14:29:06 +10:00
Andrew Leech
494e8ba722
nrf/mpconfigport: Fix MICROPY_VFS IO build support.
2022-06-03 12:39:43 +10:00
Andrew Leech
c5878dd1f9
nrf/mpconfigport: Enable extra features as defined by ROM levels.
...
This commit enables extra features from the ROM levels and further
simplifies mpconfigport.h. The changes are:
- NRF51822 & BLUETOOTH_SD -> MICROPY_CONFIG_ROM_LEVEL_MINIMUM
- no changes
- NRF51822 -> MICROPY_CONFIG_ROM_LEVEL_CORE_FEATURES
- MICROPY_PY_IO = 1
- NRF52832 -> MICROPY_CONFIG_ROM_LEVEL_BASIC_FEATURES
- MICROPY_PY_IO = 1
- NRF52840, NRF9160 -> MICROPY_CONFIG_ROM_LEVEL_EXTRA_FEATURES
- MICROPY_COMP_MODULE_CONST = 1
- MICROPY_COMP_TRIPLE_TUPLE_ASSIGN = 1
- MICROPY_OPT_MPZ_BITWISE = 1
- MICROPY_PY_ALL_SPECIAL_METHODS = 1
- MICROPY_PY_BUILTINS_EXECFILE = 1
- MICROPY_PY_BUILTINS_SLICE_ATTRS = 1
- MICROPY_PY_BUILTINS_STR_CENTER = 1
- MICROPY_PY_BUILTINS_STR_PARTITION = 1
- MICROPY_PY_BUILTINS_STR_SPLITLINES = 1
- MICROPY_PY_CMATH = 1
- MICROPY_PY_COLLECTIONS_ORDEREDDICT = 1
- MICROPY_PY_FRAMEBUF = 1
- MICROPY_PY_IO = 1
- MICROPY_PY_MATH_SPECIAL_FUNCTIONS = 1
- MICROPY_PY_SYS_STDIO_BUFFER = 1
- MICROPY_PY_UCTYPES = 1
- MICROPY_PY_UHEAPQ = 1
- MICROPY_PY_UJSON = 1
- MICROPY_PY_URE = 1
- MICROPY_PY_UZLIB = 1
- MICROPY_REPL_EMACS_KEYS = 1
2022-06-03 12:37:12 +10:00
Andrew Leech
13f5d38f2e
nrf/mpconfigport: Set MICROPY_CONFIG_ROM_LEVEL defines for each MCU.
...
This commit is a no-op change to simplify existing config.
2022-06-03 12:36:40 +10:00
Andrew Leech
8fb01be6cf
stm32/rfcore: Remove extra layer of buffering on BLE IPCC.
...
Whole packets are now pushed up to the higher layer of the BLE stack,
instead of buffering the packets so individual bytes can be requested.
2022-06-03 11:58:43 +10:00
Takeo Takahashi
dd83f48fb2
renesas-ra/machine_pin: Remove code for unsupported Pin features.
...
Signed-off-by: Takeo Takahashi <takeo.takahashi.xv@renesas.com>
2022-06-03 10:57:48 +10:00