Commit Graph

1040 Commits

Author SHA1 Message Date
Scott Shawcroft
b71f394127
Merge pull request #8071 from tannewt/cpx_stack_size
Slim down stack frames
2023-06-07 09:25:28 -07:00
Dan Halbert
561caae35c fix fetch-submodules.sh for older git 2023-06-06 22:16:06 -04:00
Scott Shawcroft
dd71ae10b9
Slim down stack frames
This reduces the stack frame size of mp_builtin___import__ by
limiting the support path length of files from 256 to 96. This
function can be called recursively for nested imports so it adds up.

Also reduce mp_execute_bytecode (vm.c) from 206 a bc call to 124.
This too is recursive and adds up. It is reduced by preventing
some inlining. It may decrease performance slightly when importing
and unpacking.

Adds two new scripts for debugging. One is used from gdb to print
frame sizes in a backtrace. The other prints what pcs use a
particular stack offset. This helps find infrequently used stack
space.

Fixes #8053.
2023-06-06 16:20:47 -07:00
Dan Halbert
38f6fa27e3 fetch-port-submodules; fetch-all-submodules 2023-06-05 17:23:34 -04:00
Dan Halbert
827eaeb1f9
Merge pull request #7962 from tannewt/inky_frame_5_7
Add Pimoroni Inky Frame 5.7
2023-05-12 18:22:42 -04:00
Scott Shawcroft
cbfb2d0f55
Add Pimoroni Inky Frame 5.7
Tweak DTCM and ITCM loading and prevent epd refresh while waiting
for autoreload.
2023-05-11 12:12:34 -07:00
Tekktrik
57cd451245 Add build to pio install command 2023-05-09 22:31:24 -04:00
Alec Delaney
298bd16529
Fix creating virtual environment for stub creation 2023-05-04 15:55:33 -04:00
Scott Shawcroft
a9dc31a881
Add additional iMX RT support
This adds a script to generate the peripherals files (except clock).

It adds support for the 1015, 1020, 1040, and 1050 EVKs.

Some work was started on 1176 but it isn't working. So, the board
def is in a separate branch.

Fixes #3521. Fixes #2477.
2023-04-28 11:01:13 -07:00
Scott Shawcroft
f38d59be2c
Fix windows CI 2023-04-19 16:02:01 -07:00
Scott Shawcroft
13bb801211
Fix docs and windows 2023-04-19 15:42:02 -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
silabs-BelaV
4e25a4f6b3
Silabs' new Pull Request for submoduling the ports/silabs/tools/slc_cli_linux/ (#7874)
Doing a squash merge to avoid having the `slc_cli_linux` .zip files in the history. They were added in one commit and removed and replaced with a submodule in another.

* Initial commit for xg24

* Fix SLC issue

* Fix SLC extract fail

* Change board's name

* Correct spelling of code

Build immediately after slc generate

* Remove VID and PID

* Change creator and creation id

* Apply new creator_id and creation_id

* Update makefile, error message, mcu_processor function

* Update mpconfigboard.mk

* Update Board extensions, PORT_DEPS

* Update makefile

* Add exclude_patterns

* Show java, jinja2 version

* Show path for debugging CI

* Add requirements-dev for slc

* Add PATH slc_cli

* Update background function

* Add jinja2 PATH

* Show PATH

* Update jinja2 path

* Update jinja2 path

* Update jinja2 path

* Update jinja2 path

* Change slc folder

* Change markupsafe folder

* Add symbolic link for slc

* Update makefile

* Update makefile

* Update MX25R3235F.toml from submodule nvm.toml

* alphabetize the list

* Remove slc_cli_linux folder

* Update slc_cli submodule

---------

Co-authored-by: Chat Nguyen <cvnguyen@silabs.com>
Co-authored-by: silabs-ChatNguyen <chat.nguyen@silabs.com>
Co-authored-by: silabs-ChatNguyen <126220343+silabs-ChatNguyen@users.noreply.github.com>
2023-04-18 12:42:16 -04:00
Bill Sideris
20f84767dd
Merge branch 'adafruit:main' into YD_ESP32_S3 2023-04-09 01:32:21 +03:00
Bill Sideris
42ab93fa4c
YD_ESP32_S3 2023-04-07 18:34:10 +03:00
Jeff Epler
96b2604083
sort new boards & new languages lists in circuitpython.org update PR 2023-03-30 15:39:25 -05:00
Dan Halbert
b947605ab7
Touch up 2023-03-23 09:24:11 -04:00
hathach
8c1095b268
Merge branch 'main' into add-codespell 2023-03-23 14:09:57 +07:00
Dan Halbert
cc3a626e12
Merge pull request #7765 from microdev1/ci
CI: Change condition to run all jobs
2023-03-21 23:37:17 -04:00
MicroDev
461d833c1c
Merge pull request #7763 from dhalbert/update-tinyusb-remove-usb_descriptor
submodules: update tinyusb; remove usb_descriptor; use partial clone for submodules
2023-03-22 00:11:02 +05:30
MicroDev
4a6965ee76
change condition to run all jobs 2023-03-21 22:33:13 +05:30
Scott Shawcroft
67e0a49a1f
Merge pull request #7724 from tannewt/get_perfbench_running
Improve iMX RT performance
2023-03-21 09:00:48 -07:00
Dan Halbert
c0384b57f1 remove unused submodule tools/usb_descriptor 2023-03-21 11:01:40 -04:00
MicroDev
395bc0aac7
don't run all jobs if changed files is empty 2023-03-21 16:11:57 +05:30
Scott Shawcroft
bdf592089a
Fix .bin, .hex and .uf2 with new linker sections
Also, format perfbench output in table with reference timing from
the host.
2023-03-20 14:02:57 -07:00
hathach
fecc1bdedb
fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
Dan Halbert
069a058a83 update build_board_info.py per Neradoc 2023-03-14 22:37:56 -04:00
Scott Shawcroft
5bb8a7a7c6
Improve iMX RT performance
* Enable dcache for OCRAM where the VM heap lives.
* Add CIRCUITPY_SWO_TRACE for pushing program counters out over the
  SWO pin via the ITM module in the CPU. Exempt some functions from
  instrumentation to reduce traffic and allow inlining.
* Place more functions in ITCM to handle errors using code in RAM-only
  and speed up CP.
* Use SET and CLEAR registers for digitalio. The SDK does read, mask
  and write.
* Switch to 2MiB reserved for CircuitPython code. Up from 1MiB.
* Run USB interrupts during flash erase and write.
* Allow storage writes from CP if the USB drive is disabled.
* Get perf bench tests running on CircuitPython and increase timeouts
  so it works when instrumentation is active.
2023-03-14 12:30:58 -07:00
MicroDev
3a4bffdd65
use correct commits for diff 2023-03-12 09:44:13 +05:30
MicroDev
ec74be7cb4
use set for changed_files and minor updates 2023-03-11 14:28:29 +05:30
MicroDev
29cee603d3
update .readthedocs.yml and add it to docs pattern 2023-03-11 11:56:04 +05:30
MicroDev
a6400fb08a
use intersection of changes per commit and merge ref 2023-03-11 00:26:34 +05:30
MicroDev
91d4fed01d
explicitly check for failure of certain jobs 2023-03-10 16:41:13 +05:30
MicroDev
03bb7ff652
refactor boards / build to ports / board 2023-03-07 03:22:31 +05:30
MicroDev
b17364a447
conditionally build all languages 2023-03-04 15:08:54 +05:30
MicroDev
055c9bfb40
split boards dynamically 2023-03-04 12:10:36 +05:30
Dan Halbert
8c714ec864
Merge pull request #7497 from tannewt/banglejs2
Add Bangle.js 2, JDI memory displays and ACeP epd
2023-02-24 18:20:06 -05:00
MicroDev
0e17deff05
ci fix scheduler 2023-02-24 11:41:41 +05:30
Scott Shawcroft
f832386cda
Merge remote-tracking branch 'adafruit/main' into banglejs2 2023-02-23 14:43:38 -08:00
MicroDev
60a9c7e5b2
move windows workflow to build ci and more 2023-02-23 14:39:37 +05:30
MicroDev
592fea6822
split atmel-samd instead of raspberrypi 2023-02-22 20:08:13 +05:30
MicroDev
dc80133d7e
re-enable changes per commit 2023-02-18 16:29:59 +05:30
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
MicroDev
50c52fca88
split raspberrypi and refactor espressif 2023-02-14 20:38:14 +05:30
MicroDev
65e9d937ac
use python based msgfmt 2023-02-13 11:22:35 +05:30
MicroDev
17e03c4768
ci max parallelism 2023-02-10 21:32:23 +05:30
MicroDev
baaa2362c2
use already built mpy-cross 2023-02-10 16:38:25 +05:30
Neradoc
17751ad283 Update build_board_info.py to sh module 2.0.0 2023-02-10 05:23:29 +01:00
MicroDev
d9d94eacca
run updated pre-commit 2023-02-01 13:38:41 +05:30
MicroDev
a6861adb1f
Merge branch 'main' of origin into ESP32-S3-DevKitC-1-N32R8 2023-01-26 11:21:43 +05:30