Comments (8)
I look at u8g2 for hints when there are problems with a display.
I looked at u8x8_d_ssd1306_72x40.c.
The one thing I noticed for the 72x40 display was a default_x_offset of 28. This is at about line 240.
This probably is not the problem since you are using zero for column offset and only have a column of bad pixels.
You could try an offset of two since SH1106 controllers often require an offset of two. There is a file u8x8_d_sh1106_72x40.c but it has an offset of 30.
May be you can see something else in these files.
Sorry I have no other ideas what is causing your problem.
from ssd1306ascii.
Update: the simulator issue was fixed!
Thanks @greiman for pointing out the SSD1306_SETSTARTLINE
command, the issue was indeed there.
from ssd1306ascii.
Thanks for checking! I'll have a go after work.
from ssd1306ascii.
@greiman hi!
Could you spare a moment to look at this sketch in the emulator?
Just press the green play button, and it fills the OLED with "123"'s.
When it gets to the bottom, is the screen behaving how you coded it? I thought it would scroll the text up a line, in which case I'll raise a bug with wokwi. If it behaves as it should, my Universal Terminal object will come into its own! =)
https://wokwi.com/projects/338268461896565332
from ssd1306ascii.
The emulator does not behave correctly. I write data in to the controller RAM as a circular buffer and map the display start line with a command.
I suspect that the emulator does not correctly implement this command:
/** Set display RAM display start line register from 0 - 63. */
#define SSD1306_SETSTARTLINE 0x40
It is used in this functions to map the RAM to the display:
void SSD1306Ascii::setStartLine(uint8_t line) {
m_startLine = line & 0X3F;
ssd1306WriteCmd(SSD1306_SETSTARTLINE | m_startLine);
}
from ssd1306ascii.
I'll let the authors know. Thank you!
from ssd1306ascii.
As it's unrelated to this library, I'm closing the issue. Thank you all.
from ssd1306ascii.
@Sarah-C thanks for reporting! I ran your code against physical hardware, and can see it indeed behaves differently:
ssd1306-issue.mp4
I opened an issue to track the bug on wokwi/wokwi-features#394
from ssd1306ascii.
Related Issues (20)
- When using a display with more than 64 pixels in the Y direction, the lcdHeight parameter is ignored. HOT 6
- Changing I2C pins HOT 1
- Arduino Pro Micro 32U4 and oled.clear(); HOT 1
- Some functions seem to need pixels as a parameter and not row/column character numbers? HOT 3
- Is there any function that returns data from the display? (to verify the display is somewhat functional in init) HOT 2
- Issues Initializing Multiple OLEDs HOT 4
- 1.3" SSH1106 Compatibility HOT 1
- How to make 3 lines of text as large as possible HOT 2
- Support for 0.42" OLED 72x40
- Limiting display decimals, float with 1 decimal, not 2, using oled.print HOT 10
- When using the ssd1306AvrI2c library, the avr hangs indefinitely HOT 4
- Ticker Text demo question / maybe issue HOT 5
- How to use u8g2_font_unifont_t_chinese Chinese character library HOT 2
- degrees celsius symbol HOT 3
- Software i2c HOT 4
- Begin() return error if OLED not connected/found. HOT 2
- Text height HOT 2
- Two oled 128x32 sharing the same address 0x3C connected to ESP32
- Compiling error with Arduino nano every (ATMega4809) HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ssd1306ascii.