Commit Graph

101 Commits

Author SHA1 Message Date
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
RetiredWizard
ecde85734c Remove a couple unneeded includes. 2023-01-23 15:17:24 -05:00
RetiredWizard
fb4def2824 remove CIRCUITPY_RTC = 1 from mpconfigport.mk
Full build includes the RTC bits so don't need to enable it
in ports/broadcom/mpconfigport.mk
2023-01-23 14:52:20 -05:00
RetiredWizard
43b1d2618e
Remove erroneous left over comment 2023-01-23 14:19:27 -05:00
RetiredWizard
4f830f1bbb Fix parameter name and remove unnecessary function 2023-01-21 22:57:52 -05:00
RetiredWizard
3361ec390d Broadcom port: Add 'fake' RTC support
The Broadcom chips apparently don't have an RTC, so this PR uses the
timer to add dummy RTC responses and allow resonable results
from time.localtime() as well as setting the time and date while
the board is powered.
2023-01-21 22:19:10 -05:00
Scott Shawcroft
ad2d190507
Merge pull request #7247 from tannewt/picow_web_workflow
Enable* web workflow for Pico W
2022-11-28 14:19:42 -08:00
Scott Shawcroft
c3a96a63c0
Enable* web workflow for Pico W
* Except for circuitpython.local which depends on MDNS and will be
done in a follow up PR.

Progress on #7214
2022-11-21 16:24:05 -08:00
MicroDev
c3c1717813
refactor common port specific Makefile code 2022-11-18 23:00:28 +05:30
MicroDev
e2a3597263
add awesome new make error message
Copied from initial implementation on atmel-samd

Co-authored-by: Rose Hooper <rhooper@toybox.ca>
Co-authored-by: Jeff Epler <jepler@gmail.com>
2022-11-18 11:27:23 +05:30
Jeff Epler
907c5d387f
Tweak black_bindings
Originally, black_bindings found each contiguous "//|" block and sent
it to black independently. This was slower than it needed to be.

Instead, swap the comment prefix: when running black, take off
"//|" prefixes and put "##|" prefixes on all un-prefixed lines.
Then, after black is run, do the opposite operation

This more than doubles the overall speed of "pre-commit run --all",
from 3m20s to 55s CPU time on my local machine (32.5s to under 10s
"elapsed" time)

It also causes a small amount of churn in the bindings, because
black now sees enough context to know whether one 'def' follows another
or ends the 'def's in a 'class'. In the latter case, it adds an extra
newline, which becomes a "//|" line.

I'm less sure why a trailing comma was omitted before down in
rp2pio/StateMachine.c but let's roll with it.
2022-09-30 11:18:13 -05:00
Dan Halbert
db065a299f
Merge pull request #6933 from jepler/🥧🐮
Implement a useful subset of `wifi` and `socketpool` modules on 🥧🐮
2022-09-28 18:09:24 -04:00
Jeff Epler
346fff2e7c
cyw43 basic gpio support, hwaddr in boot_out 2022-09-28 10:06:33 -05:00
Jeff Epler
b2cc8d2aad
run black_bindings across all bindings 2022-09-27 15:21:42 -05:00
Dan Halbert
e25c195b78 fix broadcom UART ringbuf init 2022-09-25 09:12:23 -04:00
Dan Halbert
ea15a9118a ringbuf cleanup 2022-09-21 10:03:05 -04:00
RetiredWizard
14b604f48c
Add LED pin definition to Zero 2W board 2022-09-10 23:18:25 -04:00
RetiredWizard
28756936d5
Add HW_LED_STATUS pin to Zero 2W board 2022-09-10 23:17:02 -04:00
RetiredWizard
38a0ca324e
Uses different pins for RX/TX 2022-09-10 21:48:10 -04:00
RetiredWizard
f4eb618598
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:42:41 -04:00
RetiredWizard
1bdf9fca40
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:40:31 -04:00
RetiredWizard
1d03d73c13
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:39:51 -04:00
RetiredWizard
29e0aba72f
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:39:03 -04:00
RetiredWizard
fb4062d23f
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:38:16 -04:00
RetiredWizard
72c479efe6
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:37:31 -04:00