Updatespeed I2C SSD1309 real slow #1976
-
Hi there. I have a display with SSD1309 controller on a I2C bus, running on ESP32. I do know, that its not the fastest setup, but I think that its estraordinary slow. When I measure with a scope on the I2C bus, I can see the block of data, and its around 45mS. That should give me a max refreshtime of around 20 times a second, and that is more than enough for my purpose. But that is not, what I get. If I log the millis just before and right after the SendBuffer() I get a reading for more than 900mS. That is almost a second. Enough to hang my main loop enough to interfear with other processes. I only write text, with a selected font, thats it. No graphics. Anyway, I dont even think, that its matters, since the SendBuffer() sends the same size package to the display, no matter what I just wrote to the memory. My setup string it this: U8G2(U8G2_SSD1309_128X64_NONAME2_1_HW_I2C(U8G2_R0) Any ideas? Hope for some input. Br. Frank. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Hi there. I found the reason, and its not this library. Think I will share this experience. I am using 3 pcs. XRA1201 IO expanders to add I/O ports, and they seem to occupy the I2C bus in some way. Not sure how, cause on my scope the I2C line seems to be idle. But its a fact, when I mask out communication with the XRA1201 library, the updatetime for the display drops to 40mS, like it should be. br. Frank. |
Beta Was this translation helpful? Give feedback.
Hi there. I found the reason, and its not this library. Think I will share this experience. I am using 3 pcs. XRA1201 IO expanders to add I/O ports, and they seem to occupy the I2C bus in some way. Not sure how, cause on my scope the I2C line seems to be idle. But its a fact, when I mask out communication with the XRA1201 library, the updatetime for the display drops to 40mS, like it should be.
br. Frank.