Hi Mike,

Thanks for all testing.

So for know the library is OK and no changes are needed, right?

Kind regards,

Rob

________________________________
Van: 'Mike' via jallib <[email protected]>
Verzonden: woensdag 23 september 2020 15:45
Aan: jallib <[email protected]>
Onderwerp: [jallib] Re: JAL Library for SSD1306 graphic display module.

I found my "bug".  I'm not sure if anyone will encounter this, since the 
library doesn't switch addressing modes.  But I'll put it here for future 
reference.

I'm using vertical addressing mode to place a large (2-line) digit on the 
display, and then switch back to page mode for the other text.  It was causing 
strange overwrites.  Oddly, the problem does not happen on a 128x64 display.

There are commands for using vertical/horizontal mode to set the bounds (which 
line to which other line, and which column to which other column) of what 
you're writing.  These commands are noted in the datasheet as "for 
horizontal/vertical modes only".  But if you don't reset the values back, then 
writing in page mode gets messed up.  So, if you're using horizontal or 
vertical mode and you change the column start/end (command 0x21) then you need 
to set them back to the full screen values of (start 0, end 127).  Perhaps this 
also applies to page start/end, but my testing doesn't show this.

Regards,
Mike


On Wednesday, September 23, 2020 at 9:10:23 AM UTC-4, Mike wrote:
A little testing done.  I forgot to include this change:

The SetMultiplexRatio value will have to change in the init() procedure.  So...

For 128x64:
_ssd1306_write_byte(_SSD1306_SET_MULTIPLEX)
_ssd1306_write_byte(0x3F)

For 128x32:
_ssd1306_write_byte(_SSD1306_SET_MULTIPLEX)
_ssd1306_write_byte(0x1F)

EDIT: After looking in the library Rob has beat me to it. :)  It's programmed 
as WIDTH-1.  Great!

Still need more testing, as I'm finding a strange bug when using vertical and 
page mode together.  This isn't part of the library, but I think it has exposed 
another difference between 128x64 and 128x32 displays.

Regards,
Mike


On Monday, August 31, 2020 at 4:39:46 PM UTC-4, Mike wrote:
I have not used this library, since I wrote my own a while ago.  But just a 
note if you decide to support the smaller 128x32 display...

The SetComPins value will have to change in the init() procedure.  So...

For 128x64:
_ssd1306_write_byte(_SSD1306_SET_COMPINS)
_ssd1306_write_byte(0x12)

For 128x32:
_ssd1306_write_byte(_SSD1306_SET_COMPINS)
_ssd1306_write_byte(0x02)


-Mike


On Saturday, July 18, 2020 at 10:43:30 AM UTC-4, RobJ wrote:
Hi all,

I created a library for the graphic display module using the SSD1306 display 
controller.

For more info (with video) see: http://justanotherlanguage.org/node/321

The library will be available in the next bee package.

Kind regards,

Rob

--
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jallib/bf5c679f-cd2b-4120-9b41-a8b9232af237o%40googlegroups.com<https://groups.google.com/d/msgid/jallib/bf5c679f-cd2b-4120-9b41-a8b9232af237o%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jallib/AM0PR07MB6241CBBF374C5B1136C3B5FDE6380%40AM0PR07MB6241.eurprd07.prod.outlook.com.

Reply via email to