11765 Commits

Author SHA1 Message Date
Sylwester
d84c69c056 Add NeoPixel Library for Datanoise PicoADK. 2023-07-23 12:14:13 -04:00
Sylwester
a4b4f57ff1 Add Datanoise PicoADK 2023-07-23 12:07:30 -04:00
Sylwester
b87ceb26aa Add Datanoise PicoADK 2023-07-23 12:07:30 -04:00
Petr Sedlacek
df821bf22c Update 42. Keebs Frood support for Rev7 2023-07-23 11:59:49 -04:00
Leah Post
317cab87a7 Add new board: splitkb.com's Liatris 2023-07-23 11:57:44 -04:00
MicroDev
b6d4488b31 fix set hostname 2023-07-23 11:56:05 -04:00
Zelin Cai
4dc9b0dde7 Added Makerdiary nRF52840 Connect Kit.
Signed-off-by: Zelin Cai <zelin@makerdiary.com>
2023-07-23 10:52:28 -04:00
Melissa LeBlanc-Williams
97a8d71356 Swapped address pins for Rev C 2023-07-23 10:50:07 -04:00
Dan Halbert
66d0d95f23 adafruit_qtpy_esp32s3_4mbflash_2mbpsram 2023-07-23 10:47:37 -04:00
Neradoc
31aa9b2bb0 Fix PSRAM on espressif ESP32S3 box and box lite 2023-07-23 10:22:45 -04:00
Dan Halbert
311f6b0c79 add Adafruit Metro M7 1011 SD 2023-07-23 10:19:42 -04:00
Jeff Epler
9a9fe1240d update metro rp2040 to work with 16MB flash 2023-07-23 10:05:54 -04:00
Dan Halbert
391bb1c45f Add Adafruit Metro RP2040 2023-07-23 10:00:56 -04:00
Dan Halbert
688f62a927
Merge pull request #8174 from UnexpectedCircuitPython/main
Added second I2C bus and IO for UM FeatherS3
2023-07-23 00:07:42 -04:00
Unexpected Maker
4bc12d9fb0
Update pins.c
Changed naming of the second I2C board reference to match how others name things.
2023-07-23 13:39:53 +10:00
Melissa LeBlanc-Williams
e47e7bcdde Ran pre-commit 2023-07-21 14:50:24 -07:00
Melissa LeBlanc-Williams
ed2e30b4d1 Added Arduino Nano ESP32-S3 2023-07-21 13:07:05 -07:00
Tod Kurt
a5fc766b2f ESP32 synthio channels to 12 2023-07-21 10:06:17 -07:00
Scott Shawcroft
924422eff8
Merge remote-tracking branch 'adafruit/main' into three_small 2023-07-21 09:37:26 -07:00
Jim Mussared
3533924c36 extmod/moddeflate: Add deflate module providing the DeflateIO class.
This provides similar functionality to the former zlib.DecompIO and
especially CPython's gzip.GzipFile for both compression and decompression.

This class can be used directly, and also can be used from Python to
implement (via io.BytesIO) zlib.decompress and zlib.compress, as well as
gzip.GzipFile.

Enable/disable this on all ports/boards that zlib was previously configured
for.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21 19:32:40 +10:00
Jim Mussared
e6c290c3d1 lib/uzlib: Add a source_read_data var to pass to source_read_cb.
For better abstraction for users of this API.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21 19:29:34 +10:00
Jim Mussared
d75a3cd861 lib/uzlib: Combine zlib/gzip header parsing to allow auto-detect.
This supports `wbits` values between +40 to +47.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21 19:29:34 +10:00
Jim Mussared
c2b8e6e5d6 lib/uzlib: Clean up tinf -> uzlib rename.
This library used a mix of "tinf" and "uzlib" to refer to itself.  Remove
all use of "tinf" in the public API.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21 19:29:24 +10:00
Jim Mussared
198311c780 py/stream: Add mp_stream___exit___obj that calls mp_stream_close.
There are enough places that implement __exit__ by forwarding directly to
mp_stream_close that this saves code size.

For the cases where __exit__ is a no-op, additionally make their
MP_STREAM_CLOSE ioctl handled as a no-op.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21 18:49:03 +10:00
Jim Mussared
add1200343 all: Remove the zlib module.
This will be replaced with a new deflate module providing the same
functionality, with an optional frozen Python wrapper providing a
replacement zlib module.

binascii.crc32 is temporarily disabled.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21 18:48:29 +10:00
Scott Shawcroft
525dad71c3
Add RuntimeError_varg and fix imx capitalization 2023-07-20 16:00:43 -07:00
Jeff Epler
70cf0610cc
disable synthio on this board, it's very full 2023-07-20 14:18:03 -05:00
Scott Shawcroft
a56e97db1d
Align MP heap allocations to cache lines 2023-07-20 11:20:32 -07:00
Scott Shawcroft
5f082561b3
Unify some error strings 2023-07-20 11:20:32 -07:00
Mark Grosen
9fb56d1562 esp32/CMakeLists: Enable multiple extra component directories in build.
The EXTRA_COMPONENT_DIRS variable is a list so adding a directory so should
be done via append, not set.  This enables boards to use other components
in the build. See:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#optional-project-variables
2023-07-21 00:13:10 +10:00
Luca Burelli
cc9735ad6a esp32/boards/ARDUINO_NANO_ESP32: Add support for Arduino Nano ESP32.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-07-20 23:55:48 +10:00
Luca Burelli
3d98f6b80a esp32/usb: Add custom TinyUSB callback support.
Allow boards to define their own additional USB callbacks.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-07-20 23:55:35 +10:00
Luca Burelli
904ccfaf94 esp32/modmachine: Add generic machine.bootloader().
Implement a standard machine.bootloader() method for ESP32-series devices.
No default implementation, each board can enable it as required.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-07-20 23:55:21 +10:00
Luca Burelli
31ef7c186b esp32: Collect properties from IDF-managed components as well.
Some targets like the ESP32-S3 use the IDF Component Manager to provide
additional dependencies to the build.  Make sure to include these extra
components when collecting properties used by MicroPython-specific build
steps, like qstr preprocessing.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-07-20 23:54:53 +10:00
Angus Gratton
4548928449 stm32/boards/B_L072Z_LRWAN1: Lower default ROM level to "Core".
Re-enable some features required for the board to still build and the lora
driver to run.

This board only has 192KB of flash total, so default stm32 build is very
close to the limit.

Before:

LINK build-B_L072Z_LRWAN1/firmware.elf
   text    data     bss     dec     hex filename
 184352      68   14112  198532   30784 build-B_L072Z_LRWAN1/firmware.elf

(12256 bytes free)

After:

LINK build-B_L072Z_LRWAN1/firmware.elf
   text    data     bss     dec     hex filename
 155028      68   14052  169148   294bc build-B_L072Z_LRWAN1/firmware.elf

(41580 bytes free)

This work was funded through GitHub Sponsors.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2023-07-20 21:48:10 +10:00
Angus Gratton
3aabdf2f6b stm32/boards/B_L072Z_LRWAN1: Add pin definitions for internal SX1262.
Includes fixing the SCK connection pin.

This work was funded through GitHub Sponsors.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2023-07-20 21:47:55 +10:00
Damien George
cb31c0ae9c esp32: Add support for board-named pins and the Pin.board dict.
This adds named-pins support to the esp32 port, following other ports.
Since the name of esp32 CPU pins is just GPIOx, where x is an integer, the
Pin.cpu dict is not supported and CPU pins are just retrieved via their
existing integer "name" (the cost of adding Pin.cpu is about 800 bytes,
mostly due to the additional qstrs).

What this commit supports is the Pin.board dict and constructing a pin by
names given by a board.  These names are defined in a pins.csv file at the
board level.  If no such file exists then Pin.board exists but is empty.

As part of this commit, pin and pin IRQ objects are optimised to reduce
their size in flash (by removing their gpio_num_t entry).  The net change
in firmware size for this commit is about -132 bytes.

Signed-off-by: Damien George <damien@micropython.org>
2023-07-20 18:17:36 +10:00
robert-hh
51c2d26f15 renesas-ra/machine_spi: Consistently use machine_pin_find to get pin.
Sometimes mp_hal_get_pin_obj() was used.  machine_pin_find() is the
internal name, and the external interface is mp_hal_get_pin_obj().

Signed-off-by: robert-hh <robert@hammelrath.com>
2023-07-20 17:36:18 +10:00
robert-hh
9fea0e98b1 esp8266/machine_pin: Accept an integer argument to mp_obj_get_pin_obj.
Allowing the machine.pwm() and esp.apa102() module to accept Pin(x) integer
parameters.  Not so much of a gain, just consistent with other ports.

Signed-off-by: robert-hh <robert@hammelrath.com>
2023-07-20 17:33:54 +10:00
robert-hh
29e9573de7 esp32: Use always machine_pin_get_id for getting a Pin id.
This applies to all machine modules which have pins as arguments.  Since
machine_pin_get_id() calls pin_find(), these pin arguments may be at the
moment either integer objects or Pin objects.  That allows for instance to
write

    uart = UART(1, tx=Pin(4), rx=Pin(5))

instead of

    uart = UART(1, tx=4, rx=5)

which is consistent with other ports.  Since this handling is done at a
single place in the code, extending that scheme to accept strings for named
pins is easy.

Signed-off-by: robert-hh <robert@hammelrath.com>
2023-07-20 17:33:04 +10:00
robert-hh
3819ee4a6f esp32/machine_pin: Add a pin-find func and use it in machine_pin_get_id.
The new machine_pin_find() function accepts a Pin object and a integer
object as input and returns a pin object.  That can be extended later to
accept a string object, once named pins are supported.

Signed-off-by: robert-hh <robert@hammelrath.com>
2023-07-20 17:31:38 +10:00
robert-hh
c02da6d81d rp2/machine_pin: Factor out pin-find code from machine_pin_make_new.
And use it in mp_hal_get_pin_obj() and machine_pin_make_new().  That way,
mp_hal_get_pin_obj() accepts both int and str objects as argument, allowing
use of a pin specifier instead of a pin object in the constructor of
devices which need a pin as parameter.

E.g. instead of

    uart = UART(0, tx=Pin(0), rx=Pin(1))

one can write:

    uart = UART(0, tx=0, rx=1)

Signed-off-by: robert-hh <robert@hammelrath.com>
2023-07-20 17:30:17 +10:00
Scott Shawcroft
305303996d
Merge pull request #8182 from tannewt/usb_host_singleton
Make usb_host.Port a singleton
2023-07-19 15:04:19 -07:00
Scott Shawcroft
e81ed62cfd
Add missing header file 2023-07-19 11:46:04 -07:00
Scott Shawcroft
12d1181c64
Merge pull request #8183 from Qyriad/features/samx5x-external-clock
samx5x: support external clock sources
2023-07-19 09:59:27 -07:00
Qyriad
3f3ec1c835 samx5x: support external clock sources
Adds two board config define's, which can be added in a board's
mpconfigboard.h: BOARD_XOSC_FREQ_HZ, and BOARD_XOSC_IS_CRYSTAL, which
are passed to clock_init(). External clock sources are currently only
implemented for SAM_D5X_E5X series chips, so defining BOARD_XOSC_FREQ_HZ
for a SAMD21 board will emit an error.

Signed-off-by: Qyriad <qyriad@qyriad.me>
2023-07-18 17:12:58 -06:00
Scott Shawcroft
1629faf8b3
Make usb_host.Port a singleton
This allows you to initialize usb_host.Port once successfully and
then returns the same object as long as you pass the same arguments
in. It does allow you to fix incorrect pins but not switching from
one valid set to another. (It needs a reset for that.)

This also moves hcd cache operations to RAM so that they don't
access the cache when doing maintenance.
2023-07-18 10:40:54 -07:00
ladyada
dd266f2622 renamed since we are now s3 2023-07-18 01:02:38 -04:00
Jeff Epler
4f09078293
update metro rp2040 to work with 16MB flash 2023-07-17 12:56:55 -05:00
Seon Rozenblum
9642e38783 Added second I2C B\bus IO and stuff for FeatherS3 2023-07-15 08:52:57 +10:00