Commit Graph

125 Commits

Author SHA1 Message Date
Scott Shawcroft
8137e2d6d2
Switch all ports to auto-growing split heap
This simplifies allocating outside of the VM because the VM doesn't
take up all remaining memory by default.

On ESP we delegate to the IDF for allocations. For all other ports,
we use TLSF to manage an outer "port" heap. The IDF uses TLSF
internally and we use their fork for the other ports.

This also removes the dynamic C stack sizing. It wasn't often used
and is not possible with a fixed outer heap.

Fixes #8512. Fixes #7334.
2023-11-01 15:24:16 -07:00
Jeff Epler
774f6ac6ab
Switch to using MP_ERROR_TEXT instead of translate, globally 2023-10-30 09:49:06 +01:00
Scott Shawcroft
53bc6d4bd1
Fix docs build by splitting out support matrix 2023-10-24 16:20:51 -07:00
Scott Shawcroft
e62db5adcd
Fix native property setting from subclass 2023-10-24 16:20:51 -07:00
Scott Shawcroft
e1df598199
Split displayio hardware support from core
These are moved:
* Display -> busdisplay.BusDisplay
* FourWire -> fourwire.FourWire
* EPaperDisplay -> epaperdisplay.EPaperDisplay
* I2CDisplay -> i2cdisplaybus.I2CDisplayBus

`paralleldisplay` is now `paralleldisplaybus` (and registered as
`paralleldisplay` too).

Bus related helpers are split out of display_core into bus_core.
It is in still displayio since it is a dependency of both
busdisplay and epaperdisplay.

Fixes #7667
2023-10-24 15:43:34 -07:00
Scott Shawcroft
48f4b0f7cb
Switch to gcc 12.3 for arm32
Fixes #7432
2023-10-17 11:43:38 -07:00
Scott Shawcroft
9633c4e78f
Merge remote-tracking branch 'adafruit/main' into v1.20-merge 2023-10-11 11:21:57 -07:00
Scott Shawcroft
18c03a74dd
Fix a few tests
* Re-enable a couple FATFS configurations we added.
* Remove MICROPY_PY_IO_FILEIO.
* Remove uasyncio from standard unix build.
* Re-add our unicode printing improvements.
2023-10-05 10:59:08 -07:00
Dan Halbert
68a2927385 MP_REGISTER_ROOT_POINTER for port-specific root pointers 2023-09-29 15:46:42 -04:00
Dan Halbert
1c388ab315 finish converting to MP_REGISTER_ROOT_POINTER() 2023-09-29 10:49:34 -04:00
Dan Halbert
4d175ab41a convert to MP_DEFINED_CONST_OBJ_TYPE() 2023-09-19 21:09:29 -04:00
Dan Halbert
2c0fa0f7dc initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
Scott Shawcroft
2eb62f8238
Merge pull request #8305 from cleverca22/move-stack
raise kernel load addr and slip stack under kernel on both 32bit and 64bit
2023-08-28 12:52:38 -07:00
Michael Bishop
8d25faf30a raise kernel load addr and slip stack under kernel on both 32bit and 64bit 2023-08-25 15:56:40 -03:00
Dan Halbert
d582407b06 pre-commit fixes 2023-08-14 00:59:22 -04:00
Dan Halbert
2171e67c1b merge latest adafruit/main 2023-08-13 19:43:54 -04:00
Dan Halbert
27c7807693 silabs build needs work; other builds are working 2023-08-13 19:05:16 -04: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
Dan Halbert
0d2c3c3f08 wip: continuing compilation fixes; mp_obj_alloc everywhere 2023-08-07 20:45:57 -04:00
Scott Shawcroft
5f082561b3
Unify some error strings 2023-07-20 11:20:32 -07:00
Dan Halbert
38f6fa27e3 fetch-port-submodules; fetch-all-submodules 2023-06-05 17:23:34 -04:00
Scott Shawcroft
051540f8da
Fix broadcom NAN 2023-05-01 11:38:13 -07:00
Scott Shawcroft
8104b824e0
Standardize CPU temp and voltage. Add autogen warning 2023-04-28 16:19:43 -07:00
Scott Shawcroft
d5b747b305
Fix board inits 2023-04-21 13:23:01 -07:00
Scott Shawcroft
66edcf5d03
Add PicoDVI support
PicoDVI in CP support 640x480 and 800x480 on Feather DVI, Pico and
Pico W. 1 and 2 bit grayscale are full resolution. 8 and 16 bit
color are half resolution.

Memory layout is modified to give the top most 4k of ram to the
second core. Its MPU is used to prevent flash access after startup.

The port saved word is moved to a watchdog scratch register so that
it doesn't get overwritten by other things in RAM.

Right align status bar and scroll area. This normally gives a few
pixels of padding on the left hand side and improves the odds it is
readable in a case. Fixes #7562

Fixes c stack checking. The length was correct but the top was being
set to the current stack pointer instead of the correct top.
Fixes #7643

This makes Bitmap subscr raise IndexError instead of ValueError
when the index arguments are wrong.
2023-04-19 15:14:02 -07:00
Scott Shawcroft
097af804cd
Fix ticks
In #7497 port_background_task was renamed to port_background_tick
but the actual call site wasn't changed. This meant that it was
no longer called!

Rename more functions from task to tick to make it clearer which is
which.
2023-04-07 09:49:51 -07:00
Scott Shawcroft
f832386cda
Merge remote-tracking branch 'adafruit/main' into banglejs2 2023-02-23 14:43:38 -08:00
RetiredWizard
ea8dd95931 Update common-hal routines with new params 2023-02-22 23:04:41 -05:00
RetiredWizard
08ac95a2eb Added updated submodule back 2023-02-22 23:03:53 -05:00
RetiredWizard
7cfc689f72 Removed peripherals submodule 2023-02-22 22:59:55 -05:00
RetiredWizard
c8dd0369a4 Added broadcom-peripherals back in 2023-02-22 20:12:39 -05:00
RetiredWizard
9cc27be0bf Removed broadcom-peripherals 2023-02-22 20:00:53 -05:00
RetiredWizard
c73f008688 Make vcmailbox call change for AUX SPI instances 2023-02-22 11:58:13 -05:00
RetiredWizard
7c717a54f3 Switch to "unmeasured" core clock speed check 2023-02-21 22:10:36 -05:00
Scott Shawcroft
de5f58a61d
Merge branch 'main' into banglejs2 2023-02-21 12:04:28 -08:00
Dan Halbert
bbadc00599
Merge pull request #7577 from dhalbert/safemode-py
Implement safemode.py
2023-02-16 14:15:20 -05:00
Scott Shawcroft
931c7c1c51
Add Bangle.js 2, JDI memory displays and ACeP epd
This 2-in-1 PR started with the goal of support the Bangle.js 2
smartwatch with *no USB*.
* Adds "secure" DFU build support with a committed private key.
* Adds 3-bit color support with one dummy bit for the JDI memory display
* Allows nrf boards to have a board_background_task() run in RUN_BACKGROUND_TASK.
  This is needed because the Bangle.js 2 uses the watchdog to reset.
* Renamed port_background_task() to port_background_tick() to indicate it
  runs on tick, not RUN_BACKGROUND_TASK.
* Marks serial connected when the display terminal is inited. This means
  that safe mode messages show up on the display.

ACep, 7-color epaper displays also pack 3 bits in 4. So, I added that
support as well.
* Adds 3-bit ACeP color support for 7-color e-paper displays. (Not
  watch related but similar due to color depth.)
* Allows a refresh sequence instead of a single int command. The 7" ACeP
  display requires a data byte for refresh.
* Adds optional delay after resetting the display. The ACeP displays
  need this. (Probably to load LUTs from flash.)
* Adds a cleaning phase for ACeP displays before the real refresh.

For both:
* Add dither support to Palette.
* Palette no longer converts colors when set. Instead, it caches
  converted colors at each index.
* ColorConverter now caches the last converted color. It should make
  conversions faster for repeated colors (not dithering.)
2023-02-15 15:03:40 -08:00
RetiredWizard
6ebb911a4d pre-commit formatting fix 2023-02-13 21:06:47 -05:00
RetiredWizard
09ccf2988d Replace bitwise or with boolean or 2023-02-13 21:04:11 -05:00
RetiredWizard
39d3d97ea4 Remove unnecessary memory barriers 2023-02-13 19:46:35 -05:00
Dan Halbert
d8231f1588 Implement safemode.py 2023-02-13 18:26:38 -05:00
RetiredWizard
dcb6955fa5 use boolean and symbols 2023-02-13 14:58:37 -05:00
RetiredWizard
791aefd388
Update ports/broadcom/common-hal/neopixel_write/__init__.c
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-02-13 14:44:54 -05:00
RetiredWizard
575f177dd0
Update ports/broadcom/common-hal/neopixel_write/__init__.c
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-02-13 14:44:46 -05:00
RetiredWizard
1679790481 Tweaked to run without delays on zero w 2023-02-11 20:21:25 -05:00
RetiredWizard
359a27e166 Pre-commit is stubborn 2023-02-11 12:19:21 -05:00
RetiredWizard
2104708c58 missed a trailing space 2023-02-11 12:17:55 -05:00
RetiredWizard
f29cd4a836 Pre-commit fix trim trailing whitespace 2023-02-11 12:13:34 -05:00
RetiredWizard
a462a316bd Fix pre-commit formatting 2023-02-11 12:10:03 -05:00
RetiredWizard
a2bbca1428 Broadcom Raspberry Pi Zero2W neopixel timing fix
These changes result in working neopixel functionality. I've tested on
both the zero2w and the pi4b (The 4b didn't exhibit the original issue)
and the boards now behave properly with 1 to 30 pixels and the board hanging
no longer occurs.

Remove mod that didn't help during testing
Restoring back to original structure
Replace 2 microsecond delay w/deterministic loop
Remove unneded check for empty queue

Put transmit delay outside loop so Queue is used

Make sure last transmission is complete
2023-02-11 11:38:11 -05:00