Commit Graph

27351 Commits

Author SHA1 Message Date
Jeff Epler
694af3dd23 main: redesign boot_out.txt writing
New design:
 * capture output to a vstr
 * compare the complete vstr to boot_out.txt
 * rewrite if not a complete match

This is resilient against future changes to the automatic
text written to boot_out.txt.

This also fixes rewriting boot_out.txt in the case where
boot.py prints something.

Perhaps it also saves a bit of code space. Some tricks:
 * no need to close a file in read mode
 * no need to switch on/off USB write access, going down to the
   oofatfs layer doesn't check it anyway
2021-11-01 23:05:34 -05:00
Jeff Epler
18eaee9beb reenable RAINBOWIO on these boards 2021-11-01 12:52:13 -05:00
microDev
0f9448d1a4
Merge pull request #5533 from CytronTechnologies/reverse-pr-4981
Reversal of PR #4981
2021-11-01 18:24:16 +05:30
Kong Wai Weng
36459c8a5a Fixed whitespace issues. 2021-11-01 16:50:46 +08:00
Kong Wai Weng
e0332c1e49 Using 4x spaces instead of a tab. 2021-11-01 16:47:02 +08:00
Kong Wai Weng
b64ec36418 Using GP0 as default LED pin. 2021-11-01 16:43:13 +08:00
Kong Wai Weng
0034472778 Reversal of PR #4981. GPIO25 on Maker Pi RP2040 is not connected to anything. 2021-11-01 16:26:40 +08:00
Dave Hylands
cb99ca9862 tools/dfu.py: Make tool work with python3 when parsing DFU files. 2021-11-01 15:46:59 +11:00
Andrew Scheller
0adea40716 docs/rp2/general.rst: Fix typo with missing spaces. 2021-11-01 15:41:50 +11:00
Laurens Valk
fe120484b6 py/gc: Add hook to run code during time consuming GC operations.
This makes it possible for cooperative multitasking systems to keep running
event loops during garbage collector operations.

For example, this can be used to ensure that a motor control loop runs
approximately each 5 ms.  Without this hook, the loop time can jump to
about 15 ms.

Addresses #3475.

Signed-off-by: Laurens Valk <laurens@pybricks.com>
2021-11-01 15:39:37 +11:00
Jim Mussared
693b927687 rp2: Enable optimisations (comp goto, map cache, fast attr).
Computed goto costs 1800 bytes for 5-10% performance.

Map caching and attr fast path costs 130 bytes for up to 30%.

Net effect of those three optimisations:
bm_chaos.py         +16.059% (+/-0.09%)
bm_fannkuch.py      +11.145% (+/-0.01%)
bm_fft.py           +14.604% (+/-0.01%)
bm_float.py         +26.849% (+/-0.08%)
bm_hexiom.py        +34.039% (+/-0.03%)
bm_nqueens.py       +18.333% (+/-0.06%)
bm_pidigits.py       +4.472% (+/-0.03%)
misc_aes.py         +28.765% (+/-0.09%)
misc_mandel.py      +27.116% (+/-0.05%)
misc_pystone.py     +40.299% (+/-0.20%)
misc_raytrace.py    +22.812% (+/-0.07%)

Also enable other EXTRA-level optimisations (module const, return_if_expr,
triple_tuple_assign, factorial, mpz bitwise).

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-11-01 15:25:45 +11:00
Damien George
c62351fbd6 py/mpconfig.h: Revert MICROPY_REPL_INFO to disabled at all levels.
This is an stm32-specific feature that's accessed via the pyb module, so
not something that will be widely enabled.

Signed-off-by: Damien George <damien@micropython.org>
2021-11-01 15:18:22 +11:00
Jim Mussared
b1a0ce46d1 rp2/mpconfigport.h: Use the "extra" feature level.
This commit is a no-op change to simplify existing config.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-11-01 15:02:58 +11:00
Jim Mussared
3041881353 stm32/mpconfigport.h: Use the "extra" feature level.
This commit is a no-op change.  Future improvements can come from making
individual boards use CORE or BASIC.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-11-01 15:02:22 +11:00
Jim Mussared
0e236eef08 py/mpconfig.h: Define the "extra" feature level.
Some of these will later be moved to CORE or BASIC, but EXTRA is a good
starting point based on what stm32 uses.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-11-01 14:57:28 +11:00
Damien George
ad17d9f001 bare-arm/mpconfigport.h: Disable remaining optional features.
Signed-off-by: Damien George <damien@micropython.org>
2021-11-01 14:23:06 +11:00
Damien George
b4de39c43c bare-arm/mpconfigport.h: Use MICROPY_CONFIG_ROM_LEVEL_MINIMUM.
To simplify the config.  This commit does not change the build.

Signed-off-by: Damien George <damien@micropython.org>
2021-11-01 14:17:22 +11:00
Jeff Epler
df3f54f24a
Merge pull request #5532 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-10-31 16:36:03 -05:00
Hosted Weblate
b26e6a04c5
Merge remote-tracking branch 'origin/main' 2021-10-31 12:37:11 +01:00
hexthat
ef95ff3fa5
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (1007 of 1007 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-10-31 12:37:11 +01:00
microDev
0a02974505
Merge pull request #5531 from Senuros/main
Several more german translations added
2021-10-31 17:07:04 +05:30
Senuros
409092b180 several more german translations added 2021-10-31 06:17:31 +01:00
Dan Halbert
8657c6a2f5
Merge pull request #5528 from kattni/update-troubleshooting
Update Troubleshooting.
2021-10-29 23:45:52 -04:00
Kattni Rembor
f5ac0ac3e1 Update to point to guide. 2021-10-29 18:15:48 -04:00
Kattni Rembor
7b0660ff92 Update Troubleshooting. 2021-10-29 16:40:51 -04:00
Scott Shawcroft
575843a761
Merge pull request #5527 from Senuros/main
Added some german translations
2021-10-29 10:09:05 -07:00
Senuros
7734e85eeb Added some german translations 2021-10-29 17:55:23 +02:00
Dan Halbert
9e96a3cedc
Merge pull request #5524 from tannewt/fix_nrf_ble_crash
Split listdir entries across two packets
2021-10-28 22:08:35 -04:00
Dan Halbert
fd85ebf88a
Merge pull request #5523 from kattni/led-docs-update
Update D13 to LED, add PWM example.
2021-10-28 15:11:28 -04:00
Scott Shawcroft
bf0bef9684
Split listdir entries across two packets
when the MTU of the BLE connection is smaller than the 28 bytes of
the header. (The smallest possible MTU is 20.)

Fixes #5511
2021-10-28 10:57:16 -07:00
Kattni Rembor
a63af1d04a Update D13 to LED, add PWM example. 2021-10-28 13:30:51 -04:00
Damien George
3b011d5ef9 github/workflows: Add new workflow to build ports download metadata.
Signed-off-by: Damien George <damien@micropython.org>
2021-10-28 16:45:15 +11:00
Mike Causer
7f14344428 ports: Add images, features and urls to board.json. 2021-10-28 15:25:38 +11:00
Damien George
83827e8e63 stm32/uart: Fix race conditions and clearing status in IRQ handler.
Prior to this commit IRQs on STM32F4 could be lost because SR is cleared by
reading SR then reading DR.  For example, if both RXNE and IDLE IRQs were
active upon entry to the IRQ handler, then IDLE is lost because the code
that handles RXNE comes first and accidentally clears SR (by reading SR
then DR to get the incoming character).

This commit fixes this problem by making the IRQ handler more atomic in the
following operations:
- get current IRQ status flags
- deal with RX character
- clear remaining status flags
- call user handler

On the STM32F4 it's very hard to get this right because the only way to
clear IRQ status flags is to read SR then DR, but the read of DR may read
some data which should remain in the register until the user wants to read
it.  And it won't work to cache the read because RTS/CTS flow control will
then not work.  So instead the new code disables interrupts if the DR is
full and waits for the user to read it before reenabling the interrupts.

Fixes issue mentioned in #4599 and #6082.

Signed-off-by: Damien George <damien@micropython.org>
2021-10-28 13:14:21 +11:00
Mike Causer
07ea1afe74 esp32/boards/ESP32_S2_WROVER: Link to specific deploy_s2 instructions. 2021-10-28 12:58:58 +11:00
Mike Causer
3ace779e8e esp32/boards/LOLIN_S2_PICO: Add LOLIN_S2_PICO board definition files. 2021-10-28 12:58:50 +11:00
Damien George
1e4849557d esp32/usb: Further improve speed of USB CDC output.
Following on from ba940250a5, the change here
makes output about 15 times faster (now up to about 550 kbytes/sec).

tinyusb_cdcacm_write_queue will return the number of bytes written, so
there's no need to use tud_cdc_n_write_available.

Signed-off-by: Damien George <damien@micropython.org>
2021-10-28 11:37:35 +11:00
Seon Rozenblum
5b9c9cd097 esp32/boards: Update board and deploy metadata for UM_xxx boards. 2021-10-28 11:32:13 +11:00
Mike Causer
590ec2ca6e stm32/boards: Add images to board.json for Adafruit and VCC_GND boards. 2021-10-28 09:52:59 +11:00
Mike Causer
5bb14c4e46 esp32/boards/LOLIN_S2_MINI: Add image to board.json. 2021-10-28 09:51:04 +11:00
Jim Mussared
910e9f9111 esp32: Add specific deploy_s2.md instructions for esp32-s2.
In particular the UM S2 boards (and update the features list).

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-10-28 09:47:47 +11:00
Jeff Epler
e733876574 dither in x/y, not i/j
The easiest thing to implement was to use the i/j numbers, but they were not
directly related to image x/y coordinates.  This may slow things down a tiny
little bit, but it looks much better.
2021-10-27 16:52:56 -05:00
Jeff Epler
ef4623dfae gifio: Add dithered output
It's not a great dither, but we're low on CPU time sooo
2021-10-27 10:54:31 -05:00
Jeff Epler
dc00226143 gifio: write block data directly into output buffer 2021-10-27 09:38:07 -05:00
Pierre Constantineau
ceeec6f1a0 updated USB PID to match one received from MengDu from Seeed 2021-10-27 08:10:47 -06:00
Pierre Constantineau
c9f834f3a1 added LEDs 2021-10-26 21:55:38 -06:00
Pierre Constantineau
0f9e3eed01 initial commit for Seeed Review 2021-10-26 21:48:11 -06:00
Jim Mussared
ab754d5924 tools/autobuild: Add script to generate website board metadata.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-10-27 14:04:53 +11:00
Jim Mussared
e359b077dd ports: Add board.json for all boards.
This will be used by https://micropython.org/download/ to generate the
full listing of boards and firmware files.

Optionally supports a board.md for additional customisation of the
download page, as well as deploy.md for flashing instructions.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-10-27 14:04:53 +11:00
Dan Halbert
a8b69f2852
Merge pull request #5518 from jepler/deleted-board-ci
account for deleted boards
2021-10-26 17:49:13 -04:00