You need to log in to create posts and topics.

R2162. TINY85 AND OLED SSD1306. Pending to test it in a real circuit.

PreviousPage 2 of 2

The x coordinate is actually a pixel value, but the y is a row with 8 px in height. That's due to the fact how the OLED works. Writing to the display will always set a 1 px wide and 8 px high column. Hence, you end up with 8 lines of text. If you need to write at arbitrary positions, you will need a frame buffer which takes 128x8 bytes. Which is to much for an ATtiny85.

I don't see any problem if you do "normal" things.

The differences with a real devices can come when you do some weird things, for example setting the cursor to line 4 or 6 in a display that only have 4 lines.

It also depends on which commands are used by the library, not all commands are implemented in Simulide.

In this case it is working correctly, setting cursor to line 16 is equal to setting to line 0.
Each library can do it in a different way, but in most cases the line is "capped" to the 3 lower bits:
y = 16 & 0x07 = 0;

Quote from Defran on January 16, 2024, 3:44 pm

An other example with the Y...

It is difficult to know to know what should happen if you set the line to 4 or 6 in a display with only 4 lines (128x32).
Ideally this should be tested in a real device.

I'm using this chance to implement some commands used by this library.
And also improve the quality of the image (which happens to use less cpu) .
From this:

To this:

Well, what matters is that in reality the tiny85 and SSD1306 behavior is the same as the behavior in the simulator. I'll test it in reality ASAP and tell you something.

Quote from arcachofo on January 16, 2024, 6:09 pm

I'm using this chance to implement some commands used by this library.
And also improve the quality of the image (which happens to use less cpu) .
From this:

To this:

Good for the increase in quality in the OLED image, I take this opportunity to tell you that the same thing happens with LCD.
Would it also be solvable?
 
 
PreviousPage 2 of 2