Giter VIP home page Giter VIP logo

epd-library-arduino's People

Contributors

badrihippo avatar per1234 avatar soonuse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

epd-library-arduino's Issues

Bug in epdif.cpp

In epd-library-arduino/2.9inch_e-paper/arduino/libraries/epdif.cpp, the following 2 lines must be swapped:
60 SPI.beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE0));
61 SPI.begin();
otherwise the SPI bus won't work [as I found out when trying to get the 2.9" display to work].
So the correct sequence is:
60 SPI.begin();
61 SPI.beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE0));

Regards,
Paul

Request: framebuffer support for arduino compatible controllers with more RAM

I noticed the comment in the 2.9b sketch
/**
* Due to RAM not enough in Arduino UNO, a frame buffer is not allowed.
* In this case, a smaller image buffer is allocated and you have to
* update a partial display several times.
* 1 byte = 8 pixels, therefore you have to set 8*N pixels at a time.
*/

Can a frame buffer be used for AVR chips with more RAM such as ATxmega series or Arduino-compatible boards such as the ESP8266/ESP32 which have plenty of RAM compared to an UNO?

Does the code take advantage of microcontrollers with additional RAM, and if not, could it be modified to do so?

Libraries not found

Hello i always get this error
epd2in13b-demo:28:23: error: epd2in13b.h: No such file or directory

If i do like the readme:
1.Copy the libraries (e-paper/arduino/libraries) of Arduino demo code to the libraries directory of Arduino IDE. (C:\users\username\documents\arduino\libraries by default. You can also specify the location on Arduino IDE --> File --> Preferences --> Sketchbook location).

2.Open the project (arduino/epd-demo/epd-demo.ino)
Compile and upload the program.

So i copied all files from libraries folder to the arduino/libraries

Please tell me the correct folder path beginning from arduino IDE folder to epd2in13b.h file

2.13inch D support

I have the flexible 2.13 eink display from waveshare which you marked at 2.13" D display. I was able together display from waveshare to work with your code but not the 2.13"D. Could you tell me how to get this working?

Add newer displays

By now Waveshare has many more displays available. And their wiki provides more information and resources.

I personally would like the 5.65in to be added.

Any chance more recent display are added?

Outdated library names; do not work with new versions of Arduino

I ran into "library not found" errors while trying to run this code on my Arduino, both desktop IDE 1.8.9 and the new Arduino Web Editor. It happened with the epd4in2 driver, but will probably apply to other drivers as well.

The broken lines were as follows:

  • include <arduino.h> in epdif.h: it should now be include <Arduino.h>
  • include <spi.h> in epdif.cpp: it should now be include <SPI.h>

After these changes, the code ran properly. I'm guessing it's because inbuilt library names have been changed to uppercase in the new versions of Arduino.

4.2" display, cannot create a partial window that starts after x =255

It took me awhile to figure out what was happening. But I figured it out (I think)

line 115 of the epd4in2.cpp reads :
SendData(((x & 0xf8) + w - 1) >> 8);

It should be:
SendData(((x) + w - 1) >> 8);

the (& 0xf8) will set the first 8 bits of any 16 bit number to 0. it works fine below 256 because they are zero anyway, but above 255 and a bit is lost.

2,7" display is not working in combination with the standard Arduino SD.h libary

I used the epd2in7 libary and it works great!

But in combination with the standart SD.h libary from Arduino the libray has some weird malfunction.
Despite using diffrent Chip-select-pins for the SD and the display, it seems that the SPI communication of the SD card interferes the communication of the display.

What I have observed:

  1. When #include <SD.h> is inserted in the epd2in7-demo the display shows random noise! But Updating and Clearing still works.
  2. When the SD.begin(cs); is inserted in void Setup() the display does not react to anything. But the serial Monitor prints e-Paper busy and e-Paper busy release.

This showes that the libary is still working corecctly but void SendCommand(unsigned char command); and void SendData(unsigned char data); aren´t.

After studying both libaries intensly, I did not found any problems that could result in this odd behaviour.
Has anybody suggestions why this is happening or how to prevent it??

Sleep NOT work

When using epd.Sleep (); on displays 1.54 consumption in sleep mode 800microamper!!!

library.properties file missing

Starting version 1.5.x, Arduino requires a new library.properties file which is used by the Library Manager to import those libraries. Details can be found at this wiki page.

The various e-Paper libraries in this project are missing libraries.properties; it would help to have them in order to easily upload and manage them with Arduino's new tools. Details can be found on the aforementioned page, but here is a sample file we could use:

name=epd4in2
version=1.0
author=Yehui from WaveShare
maintainer=Yehui from WaveShare
sentence=Arduino driver for the WaveShare 4.2inch e-paper display
paragraph=You can find more information on this and other displays at https://www.waveshare.com/wiki/Main_Page#OLEDs_.2F_LCDs
category=Display
url=https://github.com/soonuse/epd-library-arduino

If you give me a final sample file you want to use, I can generate libraries.properties for all the libraries and submit them in a pull-request. (Unfortunately, you will have to change the version every time you make an update, which means updating all those various files once again).

Arduino Mega Support

Hello,

I've been trying to get my Waveshare epaper 1.54" screen working on an Arduino Mega. I've been successful but I had to make a modification to the library.

https://github.com/soonuse/epd-library-arduino/blob/master/1.54inch_e-paper/arduino/libraries/epdif.h#L36

In the above file, Line 36 needs to be changed from 10 to 53 because the screen communicates via SPI, and the SS pin for SPI communications on the Mega is on pin 53 whereas it is pin 10 on the Uno. That's it for the code changes.

Additionally, I needed to change the wiring:

  • SCK (uno pin 13) to mega pin 52
  • MOSI (uno pin 11) to mega pin 51
  • SS (uno pin 10) to mega pin 53

After doing the above, the screen worked flawlessly in my Mega. It would be helpful if the library files could detect whether they're being compiled for the uno or mega and update the pin definitions in epdif.h accordingly. Also helpful would be documentation updates to include how to wire the screen up for the mega.

Thank you!

Arduino Nano / Nano33 support

Hello! Thank-you for providing these great libraries :)

I am trying to use a 2.9inch(b) screen with my new Arduino Nano... unfortunately the example code does not work and nothing appears to happen on the screen.

I have found that it hangs in Epd::Init() where WaitUntilIdle(); is called.
Presumably this is because DigitalRead(busy_pin) never stops being busy (0)?

I am not sure if this is a wiring problem, a compatibility issue, or a bug, but I would be happy to help if you have any ideas!

I would love to make these libraries work with the new Nano33 IOT :)

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.