Coder Social home page Coder Social logo

Comments (9)

rob040 avatar rob040 commented on June 2, 2024

You did not mention which display type and interface you use...

But such things may happen when the I2C signals are corrupted occasionally.

  • check your pull-up resistors, and wiring,
  • check power supply to display
  • reduce I2C clock frequency. By default is 700kHz used, which is beyond I2C specification. Try a value lower than 400kHz, e.g. 100kHz.

from esp8266-oled-ssd1306.

dobraMorda avatar dobraMorda commented on June 2, 2024

I got the same problem. After couple time, content of the screen is shifted. I tested screen on lower speed, checked hardware and everything is okay. I think the problem is in buffer, because when the content is shifted I can change screens (with anime transistion), and content of screen changes properly but it has shifting similar like on pictures at @Elmi77.

from esp8266-oled-ssd1306.

Tbscml avatar Tbscml commented on June 2, 2024

I am witnessing exactly the same issue. Using a different microcontroller and SPI at 8mhz.
The content shift is persistent for a few iterations. After ~2 consecutive shifts the content shifts back to the "normal state".

from esp8266-oled-ssd1306.

marcelstoer avatar marcelstoer commented on June 2, 2024

@Elmi77 @dobraMorda @Tbscml I wonder how this could be a software issue with this library. Can I ask you to try other 4.x versions (4.0, 4.1, etc. see https://github.com/ThingPulse/esp8266-oled-ssd1306/releases) to understand if the behavior changes?

from esp8266-oled-ssd1306.

Tbscml avatar Tbscml commented on June 2, 2024

@marcelstoer I'm not able to test different release version right now, but i found very similar issues using other libraries:
adafruit/Adafruit_SSD1306#139
MarlinFirmware/Marlin#14431

I'd suppose that the problem is not within the library, as data corruption would be cleared by the next frame.

from esp8266-oled-ssd1306.

Elmi77 avatar Elmi77 commented on June 2, 2024

I already have checked hardware and wiring and limited I2C clock to 100 kHz, it does not change anything.

As the shifted layout is NOT corrected after some refreshes here, my original question again: how can I do/force a complete reinitialisation of the display in order to let it "start from scratch"?

from esp8266-oled-ssd1306.

dobraMorda avatar dobraMorda commented on June 2, 2024

@marcelstoer I found bug in my own code - sometimes I2C crashes because two threads used the same I2C bus, and it was without control - and now my display works well. So sorry for my first thinking about bug in library. @Tbscml @Elmi77 I think you should check your code where u using the same I2C to read multiple sensors and how it works.

from esp8266-oled-ssd1306.

marcelstoer avatar marcelstoer commented on June 2, 2024

Thanks @dobraMorda, kind of confirms my suspicion.

from esp8266-oled-ssd1306.

helzayat avatar helzayat commented on June 2, 2024

I had the same problem with the Adafruit library and switched to this library hoping to fix it. However the problem continued. So it seems it's not related to the library. I am using an ESP-01 and assigning GPIOs 0 and 3 (RX) to I2C, only the SSD1306 is connected to I2C. Maybe this hardware is unable to maintain I2C timing correctly?
My solution has been to re-init the display every couple of minutes - so far this is working.

from esp8266-oled-ssd1306.

Related Issues (20)

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.