Commit Graph

307 Commits

Author SHA1 Message Date
Scott Shawcroft b59f0e17be
Fix RP2040 idle
Don't idle from main if we scheduled an interrupt for 0 ticks in
the future.

Have RP2040 detect wakes that happen between setting the timer and
the idle call.

Fixes #7361
2023-04-21 16:04:23 -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
Jeff Epler d247e5c6c9
Add the ability for a port to gc things, collect pin change objects that way 2023-03-23 09:16:00 -05:00
MicroDev 7ee3f30c17
rewrite `allocate_pystack` logic 2023-03-21 07:06:46 +05:30
Patrick Van Oosterwijck 4c9044a0bf Fix it with simulate_reset instead 2023-02-26 19:49:12 -07:00
Patrick Van Oosterwijck 5bca86b43d Fix print of "soft reboot" when the user presses ^D
The logic of the main loop was changed between version 7 and 8.
[Commit](9307b62ad5)
Something is wrong with the existing version 8 logic so the serial
write of "soft reboot" is never executed when the user does a
soft reboot.
A consequence of this is that tools like `tools/pyboard.py`, `ampy`
and `mpremote` are not able to activate the raw REPL since they
execute a soft reboot and wait for this to be printed to the console.
2023-02-26 16:00:37 -07:00
Bill Sideris b4ff08d185
Prohibit too big a size 2023-02-18 23:56:06 +02:00
Bill Sideris d7e6a78ef4
safemode prevent dynamic stack alloc 2023-02-17 17:40:55 +02:00
Bill Sideris 8abce77971
fix safemode 2023-02-17 00:52:13 +02:00
Bill Sideris 5a9264261e
Merge branch 'adafruit:main' into settings-toml-pystack 2023-02-17 00:50:27 +02:00
Bill Sideris 66215f7983
gcc is evil, I respond with fake pointer 2023-02-16 23:57:47 +02:00
Bill Sideris c003b8817a
Put on all and preinit with NULL 2023-02-16 23:40:49 +02:00
Bill Sideris 4bb0b0acdf
volatile to skip optimisation 2023-02-16 23:37:37 +02:00
Bill Sideris 54ae7ced82
Updated to requested changes 2023-02-16 23:10:11 +02:00
Dan Halbert bbadc00599
Merge pull request #7577 from dhalbert/safemode-py
Implement safemode.py
2023-02-16 14:15:20 -05:00
Bill Sideris 6dc179dc4a
Removed old supervisor stack setting code and revert some 'optimisations' 2023-02-16 13:33:37 +02:00
Bill Sideris a61a9f4bde
Size reductions (attempts, at the very least) 2023-02-16 13:12:21 +02:00
Bill Sideris f6e7edc900
Size reductions 2023-02-16 12:34:48 +02:00
Bill Sideris c920dbb81c
Skip unecessary check for space 2023-02-16 11:50:35 +02:00
Bill Sideris 8061e8e7c6
Names changed to better fit mp style 2023-02-16 11:05:29 +02:00
Bill Sideris b00a25fecc
Merge branch 'adafruit:main' into settings-toml-pystack 2023-02-16 10:44:01 +02:00
Bill Sideris 659adb7172
fix for stackless 2023-02-16 00:45:41 +02:00
Bill Sideris 8216aa4890
struct stacks 2023-02-16 00:41:49 +02:00
Bill Sideris 133045a95a
Add error message and guardrail 2023-02-15 23:15:21 +02:00
Bill Sideris 818d1d4cb1
Discard pystack_size 2023-02-15 22:43:57 +02:00
Bill Sideris c3b9567641
using vm cleanup and no globals 2023-02-15 22:27:37 +02:00
Bill Sideris cf6afe250c
re-add attribute 2023-02-15 22:00:52 +02:00
Bill Sideris fa302b2e29
Now works on reload. 2023-02-15 21:54:53 +02:00
Gregory Neverov ffbb7550b4 Move serial init to earlier in boot process 2023-02-15 11:08:09 -08:00
Bill Sideris 2077bb9da9
pystack_size as multiple of sizeof size_t, no more stackless via settings.toml 2023-02-15 17:54:52 +02:00
Bill Sideris 0d5b400b33
swap int for mp_int_t 2023-02-15 16:08:22 +02:00
Bill Sideris 9e2235d7f7
pystack works via settings.toml, stackless not working yet 2023-02-15 15:23:16 +02:00
Bill Sideris 422098e171
pystack is now a valid supervisor allocation 2023-02-15 12:30:42 +02:00
Dan Halbert 328585f160 don't enter safemode.py on USER safe mode 2023-02-14 11:20:29 -05:00
Dan Halbert d8231f1588 Implement safemode.py 2023-02-13 18:26:38 -05:00
Bill Sideris 1f1a495e26
rename _pystack -> pystack 2023-02-13 20:57:54 +02:00
Bill Sideris a460410d6a
First attempt at using alloc 2023-02-10 22:45:25 +02:00
Jeff Epler d2e2a61075
Reworking how "run list" works saves a dozen bytes 2022-11-30 14:39:54 -06:00
Dan Halbert ded134c346 store wake_alarm in a static object 2022-10-29 16:26:36 -04:00
Dan Halbert 9307b62ad5 wip 2022-10-27 22:42:04 -04:00
Dan Halbert 86a0f9a861 save about 112 bytes 2022-10-09 19:22:39 -04:00
Jeff Epler 346fff2e7c
cyw43 basic gpio support, hwaddr in boot_out 2022-09-28 10:06:33 -05:00
Dan Halbert 14adfb16dd avoid pwmout_reset() workaround by reordering in main(); remove unnecessary never-resets 2022-09-12 21:32:21 -04:00
Dan Halbert 2c42a48962 Clear stale exception in _exec_result; more status_bar fixups 2022-09-01 19:29:32 -04:00
Dan Halbert 2fa671c0f8 avoid status bar updates immediately after hard restart 2022-08-30 22:33:29 -04:00
Dan Halbert 52080e24eb status bar control 2022-08-30 15:23:44 -04:00
Scott Shawcroft 3dc0290e56
Don't reload or enter repl when autoreloading
A keypress while we waited for autoreload used to enter repl. Now
it won't.

Fixes #6480
2022-08-11 12:23:25 -07:00
Scott Shawcroft f3ca15265e
Change to line@filename 2022-08-09 10:42:20 -07:00
Scott Shawcroft 86f4014f83
Add exception filename to title bar
Add the exception filename after the line number and change the
line number so it is in that file. It used to always be code.py.

Fixes #6702
2022-08-08 13:52:05 -07:00
Scott Shawcroft 207311b02a
Merge branch 'main' into title_execution_status 2022-08-05 13:42:58 -07:00