11815 Commits

Author SHA1 Message Date
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
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
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
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
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
Blake Ramsdell
432f928286 Add RUNMODE_UF2 handling for SAMD 2023-08-06 13:46:34 +00: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
Melissa LeBlanc-Williams
1d3b2b019a Update settings to match micropython 2023-08-04 08:54:22 -07:00
Melissa LeBlanc-Williams
3158315ac3 Merge branch 'main' of https://github.com/adafruit/circuitpython into arduino-nano-esp32s3 2023-08-04 08:48:37 -07:00
Jeff Epler
84d8224a54
set reserved psram for pycamera 2023-08-04 08:38:07 -05:00
Dan Halbert
465d1c673e wip 2023-08-03 23:29:00 -04:00
Jeff Epler
d57f3c888d
Merge pull request #8242 from tannewt/check_host_init
Two small changes
2023-08-03 14:38:44 -05:00
Jeff Epler
67c5563eec
Apply -Wno-undef to just the needed file & remove incorrect -I arg 2023-08-03 10:20:25 -05:00
elpekenin
40e833c746 [Fix] Wrong fix of cache use for STM32 2023-08-02 20:13:52 +02:00
Scott Shawcroft
9cc4b4cd37
Merge pull request #8245 from jepler/esp32-camera-backlight-solarize
pycamera: backlight, solarize
2023-08-02 10:00:21 -07:00
Jeremy Littler
f7cc20e936
Update pins.c 2023-08-02 11:01:44 -04:00
Jeremy Littler
f9b98ce54d
Update pins.c 2023-08-02 10:57:46 -04:00
Jeremy Littler
b88e359b00
Update pins.c 2023-08-02 10:41:46 -04:00
Jeremy Littler
37dbe3e24a
Update pins.c 2023-08-02 10:32:40 -04:00
Jeremy Littler
94ed725fd3
Update mpconfigboard.h 2023-08-02 10:24:58 -04:00
Jeff Epler
4e01e6bbe5
adafruit-esp32s3-camera: set up backlight at boot & add solarize
the backlight situation will be revisited with the next board prototype,
but it's good to prove this can be done.

Depends on https://github.com/adafruit/esp32-camera/pull/6 which should
be merged before this.
2023-08-02 08:09:13 -05:00
Jeff Epler
2b0f1cd087
espressif: fix dependencies in esp-idf modules
while developing esp-camera I had the problem that firmware.elf was
not regenerated if the only file I edited was in the esp32-camera
submodule.

By telling make that $(IDF_CMAKE_TARGETS), the list of .a fliles
produced by ninja-building esp-idf, depend on esp-idf-stamp and that
firmware.elf in turn depends on these files, the ninja build is re-run
on each make, which is reasonably quick if nothing needs to be rebuilt.
2023-08-02 07:52:45 -05:00
Scott Shawcroft
8baff0bf88
Merge pull request #8133 from dronecz/main
Add ES3ink board definition
2023-08-01 13:31:46 -07:00
Scott Shawcroft
0bf50d2d6e
Merge pull request #8215 from makermelissa/adafruit-metro-esp32s3
Added initial Adafruit Metro ESP32-S3
2023-08-01 13:30:06 -07:00
Scott Shawcroft
539f34f7fd
Three small changes
1. Raise an exception when creating a USB device when host isn't
  initialized.
2. Mark RP2040 dtcm_bss as NOLOAD since it doesn't need to be
  loaded (just zeroed.)
3. Fix submodule location for ulab to Jeff's copy.
2023-08-01 13:16:38 -07:00
Dan Halbert
0d4bc8c163 initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
Scott Shawcroft
cfbfd53b00
Merge pull request #8235 from elpekenin/fix/stm32-cache-skip
Redo of #8228
2023-08-01 10:16:24 -07:00
Scott Shawcroft
aecaab779b
Merge pull request #8241 from MakerClassCZ/picopad-rgb-fix
Fix RGB/BGR color order for Picopad
2023-08-01 09:55:36 -07:00
Jeff Epler
272a2dcdb0
Merge pull request #8218 from jepler/esp32-camera
Update the camera board to use ESP32-S3 microcontroller
2023-07-31 14:48:50 -05:00
Vladimír Smitka
a9c828011a
Fix RGB/BGR color order 2023-07-31 12:22:27 +02:00
KB Sriram
d5daa7ad27 boards/beetle-esp32-c3: fix sdkconfig minor typo.
Fixes https://github.com/adafruit/circuitpython/issues/8239
2023-07-30 22:13:10 -07:00
elpekenin
1ece85ee1e Fix logic (i think) 2023-07-28 23:49:45 +02:00
Melissa LeBlanc-Williams
e931a526f1 Merge branch 'main' of https://github.com/adafruit/circuitpython into arduino-nano-esp32s3 2023-07-27 19:27:16 -07:00
Melissa LeBlanc-Williams
45b1c42be5 Add D0 and D1 2023-07-27 19:26:37 -07:00
Jeff Epler
6083de017a
fix method name in docstr 2023-07-27 20:09:13 -05:00
Dan Halbert
f466a4373e
Merge pull request #8222 from tannewt/fat_window_align
Align fatfs window buffer for tinyusb
2023-07-27 20:35:23 -04:00
Melissa LeBlanc-Williams
ffb1cf116d Add D pins 2023-07-27 16:46:15 -07:00
Melissa LeBlanc-Williams
3d210bfa45 Merge branch 'main' of https://github.com/adafruit/circuitpython into adafruit-metro-esp32s3 2023-07-27 16:33:19 -07:00
Jeff Epler
92e2134009
rp2: StateMachine: Allow loading programs at fixed offsets 2023-07-27 15:47:04 -05:00
Jeff Epler
5780d9a3d2
rp2: Add StateMachine.may_exec
and also sanity-check the init instructions, thanks to the newly
factored-out checker.

Closes: #8221
2023-07-27 15:47:01 -05:00
Scott Shawcroft
e45a61f57e
Align fatfs window buffer for tinyusb
Also, update tinyusb.
2023-07-27 09:15:58 -07:00