Giter Site home page Giter Site logo

epd_poc_ugui's Introduction

STM32 GUI PoC for Pervasive Displays EPDs

STM32 CubeHAL proof of concept for this driver used to control small-sized EPDs from Pervasive Displays Inc ( 1.54", 2.06", 2.13", 2.66", 2.71", 2.87", 2.90", 3.70", 4.17", 4.37") with internal driving (iTC). This project also uses the µGUI library to create a minimalist graphical interface on the ePaper screen.

This project is based on a NUCLEO-F103RB, but can be adapted to any STM32 with at least one SPI peripheral and 4 GPIOs. The GUI related files are the main.c and ugui_sim.c files in the Drivers > UGUI directory.

For more information on controlling the ePaper screen with STM32, see :

Related projects and documentation

  • PDI Wiki
  • EPD_Driver_GF_small : Officiel driver from PDI using the Arduino framework for PS/KS-type small-sized 1.54", 2.13", 2.66", 2.71", 2.87", 2.92", 3.70", 4.17" and 4.37" screens
  • µGUI fork from 0x3333 : a free and open source graphic library for embedded systems

Disclaimer

This project is in no way affiliated with Pervasive Displays Inc.

epd_poc_ugui's People

Contributors

estylos avatar

Stargazers

DimasTRI95 avatar Muhammad Refa Utama Putra avatar

Watchers

 avatar

epd_poc_ugui's Issues

Display problem in 2.9 inch

hello, I tried this program and I tried changing it to 2.9 inch with the format as below:
// RetargetInit(&huart1); // printf
epd.spi = &hspi1;

// CubeMX pin and port constants
epd.panelBusy.pin = EPD_BUSY_Pin;
epd.panelBusy.port = EPD_BUSY_GPIO_Port;

epd.panelCS.pin = EPD_CS_Pin;
epd.panelCS.port = EPD_CS_GPIO_Port;

epd.panelDC.pin = EPD_DC_Pin;
epd.panelDC.port = EPD_DC_GPIO_Port;

epd.panelReset.pin = EPD_RST_Pin;
epd.panelReset.port = EPD_RST_GPIO_Port;

// Select the constants for your EPD (from epd_screens.h)
epd.epdType = EPD_DISPLAY_290;
epd.displaySizeH = EPD_DISPLAY_290_SIZE_H;
epd.displaySizeV = EPD_DISPLAY_290_SIZE_V;

epd.epdPSR[0] = EPD_DISPLAY_290_PSR0;
epd.epdPSR[1] = EPD_DISPLAY_290_PSR1;

// Config UGUI device
epdDev.x_dim = epd.displaySizeV;
epdDev.y_dim = epd.displaySizeH;
epdDev.pset = &epd_pset;
epdDev.flush = &epd_flush;

but why doesn't the window adjust to the screen?
WhatsApp Image 2024-05-27 at 11 41 10_d6a8e49f

I tried checking in UG_WindowCreate I tried changing changing wnd->xs = 0; becomes wnd->xs = -90;
WhatsApp Image 2024-05-27 at 11 40 19_f54deb6b

but the window still doesn't fit the screen. Are there any variables that need to be improved?
Thank You

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.