https://github.com/RPiks/pico-touchscr-sdk
Display & Touchscreen SDK for Raspberry Pi Pico
https://github.com/RPiks/pico-touchscr-sdk
display-driver pico raspberry-pi spi-display touchscreen-control touchscreen-display touchscreen-driver
Last synced: 10 months ago
JSON representation
Display & Touchscreen SDK for Raspberry Pi Pico
- Host: GitHub
- URL: https://github.com/RPiks/pico-touchscr-sdk
- Owner: RPiks
- License: mit
- Created: 2023-02-07T18:47:29.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-01T23:07:33.000Z (about 3 years ago)
- Last Synced: 2023-11-11T00:27:34.874Z (over 2 years ago)
- Topics: display-driver, pico, raspberry-pi, spi-display, touchscreen-control, touchscreen-display, touchscreen-driver
- Language: C
- Homepage:
- Size: 50.8 KB
- Stars: 4
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Display & Touchscreen SDK for Raspberry Pi Pico
The Display & Touchscreen SDK for Raspberry Pi Pico includes the headers and
libraries and all necessary build files to build a custom application which
uses MSP2807 display with touch screen or other one based on ILI9341 driver
IC and TSC2046 touchscreen.

# Memory Efficient Screenbuffer
Taking in account the quite scarce RAM of Pico, the SDK implements a memory
efficient screenbuffer of 10800 bytes, preserving 320x240 pixel resolution.
The screen buffer is organized in 2 planes: A) graphics 1bit-per-pixel plane
and B) color plane of reduced spatial resolution which uses boxes of 8x8
pixels holding the color attributes. Whereas screenbuffer memory consumption
is drastically reduced, most of the typical graphics which is used by embedded
systems - text information, menus, lines, widgets - looks quite the same in
comparison with full screenbuffer approach which consumes 14.2x more memory.
# Selective updating
The SDK writes the data to display in selective (adaptive) manner: only
regions which have been changed are being written. In addition, the SPI I/O
is organized using tiny chunks of data. This mitigates the negative effect
of blocking SPI bus I/O which is critical in realtime systems such as ADC
data processing.
# Touch Screen Interface
The SDK incorporates the touch screen interface which consists of the adaptive
polling procedure with anti-flicker filter as well as 2D low pass filter which
helps obtaining more accurate estimations of touch point.
In addition the SDK provides a calibration function which was adopted using
a prototype AN-1021 obtained from Analog Devices company.
The touchscreen interface is compartible with TSC2046 chip.
# Example Code
It is included (test.c).
# Quick-start
1. Install Raspberry Pi Pico SDK. Configure environment variables. Test
whether it is built successfully.
2. git clone this repository. cd pico-touchscr-sdk ; ./build.sh
Check whether output file ./build/pico-touchsrc-sdk-test.uf2 appears.
3. Assemble the test board using pin connection information provided in test.c
4. Load the .uf2 file (2) into the Pico.
5. You now have the screen with text message and the software is waiting for
stylus operation. Draw curves on your screen! Enjoy! :-)
6. Try other examples provided in test.c by uncommenting macros.
7. Use the SDK on your projects freely. Any possible contribution appreciated.