Phil Howard
5510c82564
PicoDisplay: Fix rotation offset for #562 .
...
Pico Display would have a pixel offset at 90 and 180 degree rotations.
Add a special case offset tweak for these, and demystify the rotate_180 variable.
2024-04-17 12:44:40 +01:00
Phil Howard
8cf276b992
inky73: Add busy wait timeout.
...
Add a timeout to fix Inky 7.3" hanging on batteries.
Basically assumes the update has finished if it takes > 45s, and allows a subsequent attempt
rather than hanging indefinitely.
Raised, texted and fixed by w3stbam: https://github.com/pimoroni/pimoroni-pico/pull/900
Rewritten as mentioned in the PR.
2024-04-17 12:33:24 +01:00
Phil Howard
b0d53dadb3
Hub75: avoid clobbering shared IRQ handlers.
...
MicroPython's DMA class uses shared IRQ handlers, which would be
clobbered by Hub75's use of an exclusive handler.
Additionally clean up some dead code (DMA_IRQ_1??), more epxlicitly
clean up the claimed PIOs and programs, and do not use a fixed
DMA channel. This seems to have fixed a bug whereupon Hub75 would
hardlock on the 5th soft reset.
2024-03-05 10:30:48 +00:00
Phil Howard
c19b2276f1
st7789: Remove mystery meat command implicated by #567 .
...
This should, in theory, fix the weird display corruption bug affecting Tufty 2040.
2024-01-23 13:14:12 +00:00
Mike Bell
34b8ac9f0c
Wrap pio.h includes in NO_QSTR so a fresh Micropython build doesn't fall over.
2023-09-08 18:59:25 +01:00
Pete Favelle
8a9ef39158
Added includes to allow for libraries to be linked to out-of-tree
2023-08-31 10:05:08 +01:00
Phil Howard
1157e605a1
Picovision: Remove DV stick drivers to PV repo.
2023-08-21 14:04:49 +01:00
Mike Bell
211e0aa618
DV Display: Fix unaligned read across page boundary
2023-08-14 12:40:15 +01:00
Mike Bell
b8116fc371
DV Display: Ability to load sprites in native format
2023-08-14 12:40:15 +01:00
Mike Bell
3cdfe558e8
DV Display: Ability to specify sprite blend mode
2023-08-14 12:40:15 +01:00
Mike Bell
103228a88d
DV Display: Sprites in palette mode
2023-08-14 12:40:15 +01:00
Mike Bell
3a5f069ec1
DV Display: Fix clear sprite, fix tearing
2023-08-14 12:40:15 +01:00
Mike Bell
765b8a6226
DV Display: Begin exposing sprites
2023-08-14 12:40:15 +01:00
Mike Bell
3c2c7ccc94
DV Display: Support multiple scroll offsets
2023-08-14 12:40:15 +01:00
Mike Bell
b9cd998709
DV Display: Allow scrolling by single pixel in x coordinate
2023-08-14 12:40:15 +01:00
Mike Bell
1a54f7b77d
DV Display: Ability to specify a larger frame than the display, and scroll it
2023-08-14 12:40:15 +01:00
Mike Bell
8f78e3d6bc
DV Display: Switch SWD loader back to pio0 to avoid conflict with wifi
2023-08-14 12:40:15 +01:00
Mike Bell
a396512e7f
DV Display: Expose reset functionality
2023-08-14 12:40:15 +01:00
Mike Bell
9a0b21d417
DV Display: Fix palette error
2023-08-14 12:40:15 +01:00
Mike Bell
e9779fc0e7
DV Display: Probable fix for frame corruption
2023-08-14 12:40:15 +01:00
Phil Howard
cbc05863c0
DV Display: Claim unused channels and SMs.
2023-08-14 12:40:15 +01:00
Phil Howard
7d8bbf5c08
DV Display: Claim DMA channels and cleanup unused pio_prog.
...
TODO: Use claim_unused_channel in a way that survives MicroPython soft reset.
2023-08-14 12:40:15 +01:00
Mike Bell
7e9f16d80c
DV Display: Pixel doubled palette mode
2023-08-14 12:40:15 +01:00
Mike Bell
4b57162c06
DV Display: External I2C interface option
2023-08-14 12:40:15 +01:00
Phil Howard
de4aaa80b6
DV Display: Refactor pio usage with mutex program loader.
2023-08-14 12:40:15 +01:00
Phil Howard
4afe062d19
MicroPython: Make DV display us fixed pio/dma.
2023-08-14 12:40:15 +01:00
Mike Bell
3bc215074c
Make it possible to derive from DVDisplay if you want to do fancy things with the frame header
2023-08-14 12:40:15 +01:00
Mike Bell
daf7232024
Limited support for palette and RGB888 modes
2023-08-14 12:40:15 +01:00
Mike Bell
a7435c6a5e
GPIO High and palette mode support
2023-08-14 12:40:15 +01:00
Mike Bell
360588ff67
LED control
2023-08-14 12:40:15 +01:00
Mike Bell
4ed1d61336
Ability to read EDID
2023-08-14 12:40:15 +01:00
Mike Bell
31b480d138
Support for half resolutions (pixel/line doubling in the driver)
2023-08-14 12:40:15 +01:00
Mike Bell
c7049f4ff1
Ability to choose the resolution for the display
2023-08-14 12:40:15 +01:00
Mike Bell
1d8c836635
Read button state from display driver
2023-08-14 12:40:15 +01:00
Mike Bell
5971bc9ad8
Streamline RAM writes
2023-08-14 12:40:15 +01:00
Mike Bell
a1caa9495c
Buffer sequential writes
2023-08-14 12:40:15 +01:00
Mike Bell
2e8632f2b6
Use rescue DP to always get driver into a known state before load, boot via watchdog, better logging from driver.
2023-08-14 12:40:15 +01:00
Mike Bell
da36b0ad32
Load DV Stick Driver over SWD. Currently unreliable.
2023-08-14 12:40:15 +01:00
Mike Bell
9acc270418
Growing circles - runs at 30FPS
2023-08-14 12:40:15 +01:00
Mike Bell
5f8e7556f0
Begin DV Stick display driver
2023-08-14 12:40:15 +01:00
Phil Howard
70a1b26041
ADC: Avoid re-initialising ADC.
...
Only init the ADC if it's not already running.
In MicroPython this could trounce an already initialised and configured ADC,
and would disable the temperature sensor if it had been enabled by a user
before initialising any of the affected libraries.
2023-06-04 21:46:23 +01:00
Phil Howard
bff6bd023e
Unicorn: Move gamma LUTs to pimoroni_common.
2023-06-04 21:46:12 +01:00
Phil Howard
652de85f4d
Tufty 2040: RGB565 DMA display update.
...
Use DMA to transfer a native RGB565 display buffer to PIO rather than pushing into the TX FIFO in a loop.
Co-authored by @zx64 - https://github.com/pimoroni/pimoroni-pico/issues/776
2023-05-12 13:38:19 +01:00
Philip Howard
8648196cc2
Merge pull request #774 from pimoroni/breakout_encoder_wheel
...
Support for RGB Encoder Wheel Breakout
2023-05-12 11:58:15 +01:00
ZodiusInfuser
12e38c1157
Implemented GPIO MP support for Encoder wheel
2023-05-10 14:54:32 +01:00
ZodiusInfuser
653090c89e
Exposed support for GPIO pins on encoder wheel
2023-05-10 12:46:00 +01:00
Ray Bellis
bfb6490ec8
fix dangling pointer error
2023-05-08 13:19:47 +01:00
Ray Bellis
32dfdc6a20
use __builtin_bswap32
2023-05-08 13:17:51 +01:00
Niko Kotilainen
1dcad21ed2
Pico Display Pack: Display init fixes.
2023-05-04 15:07:27 +01:00
ZodiusInfuser
e3f9f14dcf
Fix ioe reset timing out too early, and encoder reversed
2023-05-03 12:34:59 +01:00