Damien George
a5221c47eb
docs/library/utime.rst: Clarify behaviour and precision of sleep ms/us.
...
This description is based on the existing bare-metal ports implementations.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-22 00:07:37 +10:00
Josh Lloyd
db6d60b079
extmod/utime: Always invoke mp_hal_delay_ms when >= to 0ms.
...
This makes sleep_ms(0) useful as a "yield" so event processing and thread
switching can take place.
Fixes issue #5345 .
2021-07-22 00:05:17 +10:00
NitiKaur
6a9133a8b5
docs/rp2: Update general section to give a brief technical overview.
2021-07-20 00:26:37 +10:00
NitiKaur
da74ef6615
docs/rp2: Enhance quickref and change image to Pico pinout.
2021-07-20 00:21:06 +10:00
Jim Mussared
0e3752e82a
py/emitnative: Ensure stack settling is safe mid-branch.
...
And add a test for the case where REG_RET could be in use.
Fixes #7523 .
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-07-19 23:18:59 +10:00
Damien George
d0227d5862
py/emitnative: Reuse need_reg_all func in need_stack_settled.
...
To reduce code size and code duplication.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-19 23:18:13 +10:00
Mike Causer
cc77b30639
rp2/machine_spi: Allow boards to configure SPI pins using new macros.
2021-07-19 23:16:11 +10:00
Mike Causer
79da7757cc
rp2/machine_i2c: Allow boards to configure I2C pins using new macros.
2021-07-19 23:16:11 +10:00
iabdalkader
4f2a10bfc9
rp2/machine_uart: Allow overriding default machine UART pins.
2021-07-19 23:14:02 +10:00
iabdalkader
8599f7a68d
rp2/machine_uart: Add hardware flow control support.
2021-07-19 23:13:57 +10:00
Damien George
9f71a11d3f
tools/ci.sh: Build GENERIC_C3 board as part of esp32 CI.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-18 23:58:24 +10:00
Damien George
c77225ae5b
esp32/boards/GENERIC_C3: Add generic C3-based board.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-18 23:58:24 +10:00
Damien George
6823514845
esp32: Add initial support for ESP32C3 SoCs.
...
Supported features for this SoC are:
- UART REPL, filesystem
- Pin, ADC, PWM, SoftI2C, SoftSPI, Timer, RTC
- OneWire, DHT, NeoPixel
- RMT
- WiFi, Bluetooth
Signed-off-by: Damien George <damien@micropython.org>
2021-07-18 23:58:24 +10:00
Damien George
59dbbe9be7
esp32: Fix use of mp_int_t, size_t and uintptr_t.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-18 23:58:16 +10:00
Damien George
0fc0ccabec
esp32/machine_i2s: Add MICROPY_PY_MACHINE_I2S option, enable by default.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-18 12:31:13 +10:00
Damien George
1f9243f8d4
esp32/machine_dac: Add MICROPY_PY_MACHINE_DAC option, enable by default.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-18 12:11:10 +10:00
David P
d3f6ce7dc3
nrf/modules: Replace master/slave with controller/peripheral in SPI.
...
Also remove mistaken usage of MASTER/SLAVE constants in comments.
2021-07-18 11:23:41 +10:00
David P
f365025c9c
stm32: Replace master/slave with controller/peripheral in I2C and SPI.
...
Replace "master" with "controller" and "slave" with "peripheral" in
comments, errors, and debug messages.
Add CONTROLLER and PERIPHERAL constants to pyb.SPI and pyb.I2C classes;
retain MASTER and SLAVE constants for backward compatiblity.
2021-07-18 11:23:41 +10:00
David P
fdd5b18133
docs: Replace master/slave with controller/peripheral in I2C and SPI.
...
See https://www.oshwa.org/a-resolution-to-redefine-spi-signal-names
2021-07-18 11:19:44 +10:00
Damien George
cbc8d5b61f
tools/ci.sh: Build unix dev variant as part of macOS CI.
...
To test BTstack build on macOS.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-17 23:55:25 +10:00
Damien George
74db526cf0
extmod/btstack/btstack.mk: Use -Wno-implicit-fallthrough, not =0.
...
In 2ae3c890bd
, -Wimplicit-fallthrough=0 was
added to get the build to pass. This option is equivalent to
-Wno-implicit-fallthrough, and the latter is compatible with clang (while
the former is not).
Fixes issue #7546 .
Signed-off-by: Damien George <damien@micropython.org>
2021-07-17 23:55:25 +10:00
Jim Mussared
12e3fcc785
extmod/nimble: Fix leak in l2cap_send if send-while-stalled.
...
A correctly-behaved application shouldn't do this, but in the
case where the channel is stalled, there's still enough room
in the mbuf pool, then we'll fail the send (BLE_HS_EBUSY) so
the mbuf needs to be freed.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-07-17 23:38:39 +10:00
David Lechner
8758504f0f
extmod/moduselect: Conditionally compile select().
...
This adds #if MICROPY_PY_USELECT_SELECT around the uselect.select()
function. According to the docs, this function is only for CPython
compatibility and should not normally be used. So we can disable it
and save a few bytes of flash space where possible.
Signed-off-by: David Lechner <david@pybricks.com>
2021-07-17 23:32:39 +10:00
Jonathan Hogg
8be29b9b1b
esp32/machine_hw_spi: Use a 2 item SPI queue for long transfers.
...
Using a 2-item transaction queue instead of 1 allows long transfers to
be executed with the minimum inter-transaction delay. Limit maximum
transaction length to ensure an integer multiple of the SPI `bits`
setting are transferred. Fixes #7511 .
2021-07-16 16:12:45 +01:00
Jonathan Hogg
eb3029c669
esp32/machine_spi: Calculate actual attained baudrate.
...
Calculate the actual baudrate that the hardware is capable of achieving
and remember it so that printing the SPI object will show this. Fixes
#7530 .
2021-07-16 23:05:30 +10:00
robert-hh
98c5703027
mimxrt/machine_i2c: Add hardware-based machine.I2C to machine module.
...
It uses non-blocking transfer of data. Advantage over SoftI2C:
- Higher data rate up to ~3 MHZ.
- Full protocol support.
2021-07-15 00:36:31 +10:00
Damien George
06277a9169
mimxrt/machine_led: Use mp_raise_msg_varg helper.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-15 00:12:41 +10:00
Damien George
70b8e1d1f5
py/obj: Fix formatting of comment for mp_obj_is_integer.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-15 00:12:41 +10:00
Damien George
022b8a7fea
py/objexcept: Make mp_obj_new_exception_arg1 inline.
...
This function is rarely used so making it inline reduces code size.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-15 00:12:41 +10:00
Damien George
74085f167e
py/modsys: Optimise sys.exit for code size by using exception helpers.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-15 00:12:41 +10:00
Damien George
38a204ed96
py: Introduce and use mp_raise_type_arg helper.
...
To reduce code size.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-15 00:12:41 +10:00
Damien George
bb00125aaa
py: Support single argument to optimised MP_OBJ_STOP_ITERATION.
...
The MP_OBJ_STOP_ITERATION optimisation is a shortcut for creating a
StopIteration() exception object, and means that heap memory does not need
to be allocated for the exception (in cases where it can be used). This
commit allows this optimised object to take an optional argument (before,
it could only have no argument).
The commit also adds some new tests to cover corner cases with
StopIteration and generators that previously did not work.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-15 00:12:41 +10:00
Damien George
e3825e28e6
py/objexcept: Make mp_obj_exception_get_value support subclassed excs.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-15 00:12:41 +10:00
Damien George
b8255dd2e0
py/vm: Simplify handling of MP_OBJ_STOP_ITERATION in yield-from opcode.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-15 00:12:41 +10:00
Jim Mussared
22fdb21302
windows/appveyor: Update to VS 2017 and use Python 3.8 for build/test.
...
MicroPython implements some 3.5+ features, and this change helps to reduce
the need for some .exp files in the test suite.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-07-15 00:10:52 +10:00
Damien George
6430cd3e02
unix/variants: Enable help and help("modules") on standard and dev.
...
See related #1354 , #2906 , #3436 .
Signed-off-by: Damien George <damien@micropython.org>
2021-07-13 16:18:15 +10:00
Damien George
0ee256b8b1
github/workflows: Add workflow to build and test unix dev variant.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-13 15:58:39 +10:00
Damien George
240888a0d2
unix/Makefile: Add back LIB_SRC_C to list of object files.
...
This fixes the dev build (it needs LIB_SRC_C for Bluetooth) which was
broken by 136369d72f
.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-13 15:58:39 +10:00
Damien George
831cc4a61d
stm32/boards/NUCLEO_F446RE: Fix I2C1 pin assignment to match datasheet.
...
Thanks to @aureliano2nd.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-13 15:25:27 +10:00
Damien George
e3291e1801
lib,shared: Update README's based on contents of these dirs.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-13 00:17:02 +10:00
Damien George
136369d72f
all: Update to point to files in new shared/ directory.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-12 17:08:10 +10:00
Damien George
4d546713ec
shared: Introduce new top-level dir and move 1st party lib code there.
...
This commit moves all first-party code developed for this project from lib/
to shared/, so that lib/ now only contains third-party code.
The following directories are moved as-is from lib to shared:
lib/libc -> shared/libc
lib/memzip -> shared/memzip
lib/netutils -> shared/netutils
lib/timeutils -> shared/timeutils
lib/upytesthelper -> shared/upytesthelper
All files in lib/embed/ have been moved to shared/libc/.
lib/mp-readline has been moved to shared/readline.
lib/utils has been moved to shared/runtime, with the exception of
lib/utils/printf.c which has been moved to shared/libc/printf.c.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-12 17:07:36 +10:00
Damien George
925878b2f8
ports: Update for move of crypto-algorithms, uzlib to lib.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-12 16:37:20 +10:00
Damien George
94dfaff18b
extmod: Update for move of crypto-algorithms, re1.5, uzlib to lib.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-12 16:37:07 +10:00
Damien George
966e8bf934
LICENSE: Update for move of crypto-algorithms, re1.5, uzlib to lib.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-12 16:36:40 +10:00
Damien George
6dd92d7742
lib/crypto-algorithms: Move crypto-algorithms code from extmod to lib.
...
It's third-party code, and not necessarily tied to extmod.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-12 16:36:37 +10:00
Damien George
d1bfb271d7
lib/uzlib: Move uzlib code from extmod to lib.
...
It's third-party code, and not necessarily tied to extmod.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-12 16:36:34 +10:00
Damien George
d1d172f536
lib/re1.5: Move re1.5 code from extmod to lib.
...
It's third-party code, and not necessarily tied to extmod.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-12 16:36:26 +10:00
Damien George
e2f0b181f9
extmod/axtls-include: Add axtls_os_port.h to customise axTLS.
...
Signed-off-by: Damien George <damien@micropython.org>
2021-07-08 23:51:49 +10:00
Damien George
75c1609c3a
lib/axtls: Update to latest axtls 2.1.5 wih additional commits.
...
Changes are:
- update axTLS from 2.1.3 to 2.1.5
- os_port.h is now provided by the user of the library
- PLATFORM_RNG_U8 can be defined for get_random
- fix -fsanitize=undefined diagnostics
Signed-off-by: Damien George <damien@micropython.org>
2021-07-08 23:51:39 +10:00