Git Product home page Git Product logo

esp-epaper-display's Introduction


Logo

ESP-IDF component for Waveshare epaper displays

Report Bug · Request Feature · Send a Pull Request

ESP32 Epaper Display component

ESP-IDF Component for driving waveshare's epaper displays. This is a port of Waveshare's official code for driving epaper display.

Installation

cd <your_esp_idf_project>
mkdir components
cd components
git clone https://github.com/VedantParanjape/esp-epaper-display.git epaper

Change CMakeList.txt to add the line given below:

set(EXTRA_COMPONENT_DIRS <relative_path_to_component_folder>)

component folder must contain epaper component

Configuration

Set the pins used and appropriate display module used in menuconfig

idf.py menuconfig

Setting present at: Component config --> E-Paper display configuration

Pin setting

Path: Component config --> E-Paper display configuration

Display model setting

Path: Component config --> E-Paper display configuration --> Display Type

Example code

Example app: https://github.com/VedantParanjape/esp-component-examples/tree/master/esp-epaper-example

#include "epaper.h"
#include "esp_log.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/timer.h"

#define COLORED     0
#define UNCOLORED   1

extern "C" void app_main() 
{
  Epd epd;

  unsigned char* frame_ = (unsigned char*)malloc(epd.width * epd.height / 8);

  Paint paint_(frame_, epd.width, epd.height);
  paint_.Clear(UNCOLORED);

  ESP_LOGI("EPD", "e-Paper init and clear");
  epd.LDirInit();
  epd.Clear();

  vTaskDelay(2000);
  int d = 3;
  for (char i = '0'; i <= '9'; i++)
  {
    paint_.DrawCharAt(d, d, i, &Font20, COLORED);
    epd.DisplayPart(frame_);
    vTaskDelay(100);
    d = d + 20; 
  }
  epd.Sleep();
}

Credits

  • Thanks to ayoy, Adapted the code for other display models using this project.
  • Thanks to waveshare for sharing arduino codes for epaper displays.

esp-epaper-display's People

Contributors

kaiserdragon2 avatar vedantparanjape avatar

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.