25640 Commits

Author SHA1 Message Date
Amir Gonnen
cb332ddae8 unix/modffi: Add option to lock GC in callback, and cfun access.
Add an optional 'lock' kwarg to callback that locks GC and scheduler.  This
allows the callback to be invoked asynchronously in 'interrupt context',
for example as a signal handler.

Also add the 'cfun' member function to callback, that allows retrieving the
C callback function address.  This is needed when the callback should be
set to a struct field.

See related #7373.

Signed-off-by: Amir Gonnen <amirgonnen@gmail.com>
2021-06-24 23:12:26 +10:00
Jeff Epler
413f34cd8f all: Fix signed shifts and NULL access errors from -fsanitize=undefined.
Fixes the following (the line numbers match commit 0e87459e2bfd07):

../../extmod/crypto-algorithms/sha256.c:49:19: runtime error: left shif...
../../extmod/moduasyncio.c:106:35: runtime error: member access within ...
../../py/binary.c:210:13: runtime error: left shift of negative value -...
../../py/mpz.c:744:16: runtime error: negation of -9223372036854775808 ...
../../py/objint.c:109:22: runtime error: left shift of 1 by 31 places c...
../../py/objint_mpz.c:374:9: runtime error: left shift of 4611686018427...
../../py/objint_mpz.c:374:9: runtime error: left shift of negative valu...
../../py/parsenum.c:106:14: runtime error: left shift of 46116860184273...
../../py/runtime.c:395:33: runtime error: left shift of negative value ...
../../py/showbc.c:177:28: runtime error: left shift of negative value -...
../../py/vm.c:321:36: runtime error: left shift of negative value -1```

Testing was done on an amd64 Debian Buster system using gcc-8.3 and these
settings:

    CFLAGS += -g3 -Og -fsanitize=undefined
    LDFLAGS += -fsanitize=undefined

The introduced TASK_PAIRHEAP macro's conditional (x ? &x->i : NULL)
assembles (under amd64 gcc 8.3 -Os) to the same as &x->i, since i is the
initial field of the struct.  However, for the purposes of undefined
behavior analysis the conditional is needed.

Signed-off-by: Jeff Epler <jepler@gmail.com>
2021-06-24 23:01:04 +10:00
Tsutomu IKEGAMI
15fc4c21b6 Fix typo in pin names I2S_SDIN/SDOUT of Wio Terminal 2021-06-24 21:24:23 +09:00
Hosted Weblate
95922211ca
Merge remote-tracking branch 'origin/main' into main 2021-06-24 14:17:05 +02:00
Dan Halbert
8fd02ffcc1
Merge pull request #4904 from hierophect/alarmtests
Add manual tests for Alarm module
2021-06-24 08:17:01 -04:00
Hosted Weblate
fae68f0ae3
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-06-24 14:16:06 +02:00
Hosted Weblate
d90d39bda3
Merge remote-tracking branch 'origin/main' into main 2021-06-24 14:16:03 +02:00
Jonny Bergdahl
cfe73f14fb
Translated using Weblate (Swedish)
Currently translated at 100.0% (998 of 998 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-06-24 14:16:03 +02:00
Dan Halbert
836db4e4a1
Merge pull request #4816 from hierophect/rp2040-alarms
RP2040: add Alarm module
2021-06-24 08:15:57 -04:00
Damien George
0009a7dc30 esp32/main: Allow MICROPY_DIR to be overridden.
This is necessary when building a custom out-of-tree board.

Signed-off-by: Damien George <damien@micropython.org>
2021-06-24 16:03:25 +10:00
root
ab1d7429f1 Fix for issue #4908 - pulseout leaving line high 2021-06-23 21:09:27 -05:00
Dan Halbert
36472a0a8b
Correct doc in EventQueue.c
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-06-23 19:23:56 -04:00
Scott Shawcroft
0438d7fad1
Merge pull request #4910 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-06-23 14:02:03 -07:00
Dan Halbert
2e67d6708d check_for_deinit() more places in scanners 2021-06-23 15:42:31 -04:00
Dan Halbert
4f538b6c09 remove pressed() and get_states_into() 2021-06-23 15:10:38 -04:00
Dan Halbert
7774b18895 Add reset() to scanners. Clear .overflow on EventQueue.clear(). 2021-06-23 15:04:09 -04:00
Hosted Weblate
b9b8757ca2
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-06-23 19:15:29 +02:00
Hosted Weblate
c0b28c4510
Merge remote-tracking branch 'origin/main' into main 2021-06-23 19:15:26 +02:00
hexthat
9f65ccc61f
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (996 of 996 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-06-23 19:15:26 +02:00
Scott Shawcroft
a7e353b80e
Merge pull request #4897 from jepler/merge-1.16
Merge 1.16
2021-06-23 10:15:10 -07:00
Dan Halbert
acf90fbb43 many renamings; add overflowed flag to EventQuque 2021-06-23 09:57:15 -04:00
Damien George
c99e4995fd tools: Remove obsolete build-stm-latest.sh script.
The tools/autobuild/ scripts replace this.

Signed-off-by: Damien George <damien@micropython.org>
2021-06-23 16:59:20 +10:00
Damien George
3588d14ae6 tools/autobuild: Add scripts to build release firmware.
Signed-off-by: Damien George <damien@micropython.org>
2021-06-23 16:59:20 +10:00
Damien George
63b8b79610 stm32/usb: Make irq's default trigger enable all events.
Following how other .irq() methods work on other objects.

Signed-off-by: Damien George <damien@micropython.org>
2021-06-23 16:11:37 +10:00
Damien George
6ed5b843cf extmod/btstack: Check that BLE is active before performing operations.
Otherwise it can easily lead to a hard crash.

Signed-off-by: Damien George <damien@micropython.org>
2021-06-23 14:58:39 +10:00
Damien George
0fc0f7536b extmod/btstack: Add missing call to mp_bluetooth_hci_uart_deinit.
Signed-off-by: Damien George <damien@micropython.org>
2021-06-23 13:14:26 +10:00
Damien George
38bc5a9f67 stm32: Provide a custom BTstack runloop that integrates with soft timer.
It reschedules the BT HCI poll soft timer so that it is called exactly when
the next timer expires.

Signed-off-by: Damien George <damien@micropython.org>
2021-06-23 13:14:26 +10:00
Damien George
74c2c31811 stm32/mpbthciport: Change from systick to soft-timer for BT scheduling.
Instead of using systick the BT subsystem is now scheduled using a soft
timer.  This means it is scheduled only when it is enabled.

Signed-off-by: Damien George <damien@micropython.org>
2021-06-23 13:14:26 +10:00
Damien George
60f1f76984 stm32/softtimer: Add soft_timer_reinsert() helper function.
And call mp_pairheap_init_node() in soft_timer_static_init() so that
reinsert can be called after static_init.

Signed-off-by: Damien George <damien@micropython.org>
2021-06-23 13:14:26 +10:00
Jeff Epler
a8e599a3de upload the 'sdist' file as an artifact / to s3, not the whole circuitpython-stubs folder 2021-06-22 15:01:19 -05:00
Jeff Epler
4fd946682d another file to remove 2021-06-22 14:00:58 -05:00
Jeff Epler
95535a238e fix doc building more 2021-06-22 10:49:55 -05:00
Jeff Epler
acc6bec9da exclude test-stubs files from docs 2021-06-22 09:15:30 -05:00
Jeff Epler
f51ca53553 refine stubs-building procedure
* so that excess files are not included in sdist, perform build down
   in circuitpython-stubs
 * This means we need to
   * Remove the need-pypi check
   * Copy a setup.py, README, and MANIFEST.in into the stubs build location
   * Revamp how the overall `mypy --strict` check lists its inputs
 * Add a new test that actually installing the stubs lets us do type
   checking (tools/test-stubs.sh)
 * Add a missing return type to a __init__ function (why was this not
   an error under `mypy --strict`, I wonder)
2021-06-22 08:59:05 -05:00
Jeff Epler
47a6b13d63
Merge pull request #4906 from FoamyGuy/remove_duplicate_line
remove duplicate line in setup py
2021-06-22 07:41:25 -05:00
Michael Weiss
b3a34dde36 esp32,esp8266: Add __len__ to NeoPixel driver to support iterating.
Signed-off-by: mishafarms <github@mishafarms.us>
2021-06-22 16:33:55 +10:00
Jim Mussared
2fa975c264 LICENSE: Reference third-party licenses.
This is to provide a summary of the licenses used by MicroPython.

- Add SPDX identifier for every directory that includes
  non-MIT-licensed content.
- Add brief summary.
- Update docs license to be more explicit.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-06-22 15:50:47 +10:00
foamyguy
17cef0019a remove duplicate line in setup py 2021-06-21 20:14:50 -05:00
Scott Shawcroft
2548f865fe
Merge pull request #4902 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-06-21 17:57:37 -07:00
Jeff Epler
b1785eb3f1 finish copyright-notice suggestion 2021-06-21 19:52:08 -05:00
Jeff Epler
680ac9388f review suggestion: remove files 2021-06-21 19:51:03 -05:00
Jeff Epler
4401d73efd
Update tools/pyboard.py
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-06-21 19:49:56 -05:00
Dan Halbert
f052dc4d8b ShiftRegisterKeys: allow specifying sense of latch 2021-06-21 19:50:05 -04:00
Hosted Weblate
f9524469b3
Merge remote-tracking branch 'origin/main' into main 2021-06-22 00:28:37 +02:00
Scott Shawcroft
0f54124e08
Merge pull request #4876 from t-ikegami/fix_TileGrid_refresh_areas
Fix partial refresh of displayio.TileGrid
2021-06-21 15:28:34 -07:00
Hosted Weblate
c282e69486
Merge remote-tracking branch 'origin/main' into main 2021-06-22 00:27:16 +02:00
Wellington Terumi Uemura
d372e9561c
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (996 of 996 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-06-22 00:27:16 +02:00
Scott Shawcroft
44d471a5ab
Merge pull request #4861 from FoamyGuy/upload_stubs_action
Stubs upload actions
2021-06-21 15:27:07 -07:00
Dan Halbert
8c74b4a5f2 fix some typos 2021-06-21 17:47:12 -04:00
Dan Halbert
51c547a5b9 add generic arg validation routines; add interval args to keypad 2021-06-21 12:13:39 -04:00