34799 Commits

Author SHA1 Message Date
Scott Shawcroft
472e6bca4d
Merge pull request #8223 from jepler/sm-mayeexec
rp2: Add StateMachine(may_exec=, offset=)
2023-08-09 10:44:02 -07:00
Melissa LeBlanc-Williams
db23a9c9fe Disable floppyio for feather m4 express + update docstring 2023-08-09 09:15:17 -07:00
Melissa LeBlanc-Williams
7a4edfaa9f Override D13 pin 2023-08-09 08:19:34 -07:00
Melissa LeBlanc-Williams
ab638d4bf2 Merge branch 'main' of https://github.com/adafruit/circuitpython into arduino-nano-esp32s3 2023-08-09 08:08:03 -07:00
Dan Halbert
7432bbce65
Merge pull request #8271 from FrameworkComputer/rp2040-no-audio
raspberrypi: Allow build without audio
2023-08-09 08:53:35 -04:00
Daniel Schaefer
3c66a55341 raspberrypi: Allow build without audio
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-08-09 17:28:41 +08:00
Angus Gratton
597fcb4751 tools/mpy-tool.py: Use isinstance() for type checking.
Ruff version 283 expanded E721 to fail when making direct comparison
against a built-in type.  Change the code to use isinstance() as
suggested, these usages appear to have equivalent functionality.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2023-08-09 17:41:54 +10:00
Damien George
d529c20674 extmod/modssl_mbedtls: Fix ioctl of a socket in closed/error state.
Signed-off-by: Damien George <damien@micropython.org>
2023-08-09 13:22:57 +10:00
Damien George
20d3a6b196 extmod/modssl_mbedtls: Reject ioctls that are not supported.
An SSL stream can only handle CLOSE and POLL ioctls.  Other ones do not
make sense, or at least it doesn't make sense to pass the ioctl request
directly down to the underlying stream.

In particular MP_STREAM_GET_FILENO should not be passed to the underlying
stream because the SSL stream is not directly related to a file descriptor,
and the SSL stream must handle the polling itself.

Signed-off-by: Damien George <damien@micropython.org>
2023-08-09 13:22:32 +10:00
Melissa LeBlanc-Williams
78d1ebb529 Fix calculations 2023-08-08 18:33:09 -07:00
Dan Halbert
2ff8667e75 wip; remove long-lived functionality; remove PR#2614
Trinket M0 compile has no compilation errors, but has link errors to fix.
2023-08-08 20:41:17 -04:00
Melissa LeBlanc-Williams
ea39d7089f Updated docstring stuff 2023-08-08 14:21:55 -07:00
Melissa LeBlanc-Williams
5393bc4ed0 More formatting 2023-08-08 13:07:50 -07:00
Melissa LeBlanc-Williams
c9c7f02ba4 Fix formatting 2023-08-08 13:03:09 -07:00
Melissa LeBlanc-Williams
b25d3131a3 Update doc string 2023-08-08 12:54:14 -07:00
Melissa LeBlanc-Williams
549bbdc31c Alphablend changes 2023-08-08 12:42:48 -07:00
Jeff Epler
10330b273c
Divide 'introspect_t' into inputs & outputs
leave as a single structure because it's more efficient to call
functions with 4 or fewer arguments, and having two struct pointers
would make `consider_instruction` have 5 arguments instead.
2023-08-08 10:44:12 -05:00
Dan Halbert
0d2c3c3f08 wip: continuing compilation fixes; mp_obj_alloc everywhere 2023-08-07 20:45:57 -04:00
Jeff Epler
e06f836e95
add may_exec to parameter list 2023-08-07 16:28:35 -05:00
Jeff Epler
755fdfab7a
rename variable based on review 2023-08-07 16:26:57 -05:00
Jeff Epler
2077ac150b
Apply suggestions from code review
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-08-07 11:51:52 -05:00
Scott Shawcroft
fb57c08013
Merge pull request #8265 from weblate/weblate-circuitpython-main
Translations update from Hosted Weblate
2023-08-07 09:24:54 -07:00
Hosted Weblate
03335daf29
Merge remote-tracking branch 'origin/main' 2023-08-07 16:52:23 +02:00
hexthat
1f010f9541
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (998 of 998 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2023-08-07 16:52:23 +02:00
Jeff Epler
f3320e4c3f
Merge pull request #8264 from bcr/bcr-runmode-uf2
Add RUNMODE_UF2 handling for SAMD
2023-08-07 09:52:15 -05:00
Damien George
218242d1de tests/extmod: Skip select/socket tests if they can't create UDP socket.
Some targets (eg PYBV10) have the socket module but are unable to create
UDP sockets without a registered NIC.  So skip UDP tests on these targets.

Signed-off-by: Damien George <damien@micropython.org>
2023-08-07 12:39:29 +10:00
Damien George
6b78a1bf00 tests/extmod: Add coverage tests for select module.
Signed-off-by: Damien George <damien@micropython.org>
2023-08-07 12:37:48 +10:00
Damien George
3f417e8943 extmod/modselect: Remove undocumented support for flags arg to poll.
The signature of this method was poller.poll(timeout=-1, flags=0, /) but
the flags argument was not documented and is not CPython compatible.  So
it's removed in this commit.

(The optional flags remains for the ipoll() method, which is documented.)

Signed-off-by: Damien George <damien@micropython.org>
2023-08-07 12:37:47 +10:00
Damien George
ef71028f77 extmod/modselect: Add optimisation to use system poll when possible.
A previous commit removed the unix-specific select module implementation
and made unix use the common one.

This commit adds an optimisation so that the system poll function is used
when polling objects that have a file descriptor.  With this optimisation
enabled, if code registers both file-descriptor-based objects, and non-
file-descriptor-based objects with select.poll() then the following occurs:

- the system poll is called for all file-descriptor-based objects with a
  timeout of 1ms

- then the bare-metal polling implementation is used for remaining objects,
  which calls into their ioctl method (which can be in C or Python)

In the case where all objects have file descriptors, the system poll is
called with the full timeout requested by the caller.  That makes it as
efficient as possible in the case everything has a file descriptor.

Benefits of this approach:

- all ports use the same select module implementation

- the unix port now supports polling of all objects and matches bare metal
  implementations

- it's still efficient for existing cases where only files and sockets are
  polled (on unix)

- the bare metal implementation does not change

- polling of SSL objects will now work on unix by calling in to the ioctl
  method on SSL objects (this is required for asyncio ssl support)

Note that extmod/vfs_posix_file.c has poll disable when the optimisation is
enabled, because the code is not reachable when the optimisation is used.

Signed-off-by: Damien George <damien@micropython.org>
2023-08-07 12:11:40 +10:00
Damien George
ebc6556346 extmod/modselect: Factor low-level polling code into common function.
Signed-off-by: Damien George <damien@micropython.org>
2023-08-07 12:11:40 +10:00
Damien George
7f2efb4144 extmod/modselect: Abstract out a poll_set_t struct and functions.
To make it easier to extend and modify this polling implementation.

Signed-off-by: Damien George <damien@micropython.org>
2023-08-07 12:11:40 +10:00
Damien George
df08c38c28 unix/modselect: Remove unix-specific implementation of select module.
The unix port has a custom select module which only works with objects that
have a file descriptor, eg files and sockets.  On the other hand, bare
metal ports use the common extmod/modselect.c implementation of the select
module that supports polling of arbitrary objects, as long as those objects
provide a MP_STREAM_POLL in their ioctl implementation (which can be done
in C or Python).

This commit removes the unix-specific code and makes unix use the common
one provided by extmod/modselect.c instead.  All objects with file
descriptors implement MP_STREAM_POLL so they continue to work.

Signed-off-by: Damien George <damien@micropython.org>
2023-08-07 12:09:38 +10:00
Andi Chandler
8ba261d51c
Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (998 of 998 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/en_GB/
2023-08-06 19:45:42 +02:00
Wellington Terumi Uemura
9a9106f107
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (998 of 998 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2023-08-06 19:45:41 +02:00
Pablo Martinez Bernal
bcef82758e
Translated using Weblate (Spanish)
Currently translated at 100.0% (998 of 998 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2023-08-06 19:45:41 +02:00
Blake Ramsdell
432f928286 Add RUNMODE_UF2 handling for SAMD 2023-08-06 13:46:34 +00:00
Damien George
22106bf2fa extmod/vfs_posix_file: Add poll support for missing ERR,HUP,NVAL values.
Signed-off-by: Damien George <damien@micropython.org>
2023-08-06 11:54:06 +10:00
Damien George
6a179019e8 unix/modsocket: Add poll support for missing ERR,HUP,NVAL poll values.
Signed-off-by: Damien George <damien@micropython.org>
2023-08-06 11:54:06 +10:00
Jeff Epler
c918d8048d
correct more error detection 2023-08-05 14:46:50 -05:00
Jeff Epler
9a354a4eb8
fix checking for in-pin 2023-08-05 14:24:11 -05:00
Jeff Epler
a6e8619940
fix 'uses extra pin' message 2023-08-05 14:24:03 -05:00
Jeff Epler
8c45abbd89
pass correct may_exec buffer length 2023-08-05 14:23:26 -05:00
Elecia White
b714f41812 docs/develop/gettingstarted: Update ARM package list.
Signed-off-by: Elecia White <elecia@logicalelegance.com>
2023-08-05 20:05:50 +10:00
Jeff Epler
a34d9b70e2
update protomatter to 1.5.10 2023-08-04 20:54:11 -05:00
Dan Halbert
6b36bf59e3
Merge pull request #8260 from jepler/fix-synthio-docs
the note is in its attack phase
2023-08-04 20:09:15 -04:00
Jeff Epler
ddeb27d335
the note is in its attack phase 2023-08-04 18:40:30 -05:00
Dan Halbert
a969f6efd8
Merge pull request #8257 from weblate/weblate-circuitpython-main
Translations update from Hosted Weblate
2023-08-04 12:59:16 -04:00
Hosted Weblate
2be79d992c
Merge remote-tracking branch 'origin/main' 2023-08-04 18:42:28 +02:00
Jonny Bergdahl
b9a9ae595c
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/
2023-08-04 18:42:28 +02:00
Scott Shawcroft
6e440abd76
Merge pull request #8259 from jepler/pycam-auto-reserve-memory
set reserved psram for pycamera
2023-08-04 09:41:59 -07:00