Commit Graph

308 Commits

Author SHA1 Message Date
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
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