Page 1 of 2

SSD1305 Component Macro problem?

Posted: Tue Oct 11, 2016 11:25 am
by Lagoda
Hi,

I bought a display module with SSD1305 driver.

During testing, the following problems have occurred:
- "Clear Display" Function does not work. Random pixels are lit on the display after execution.

- The display 32 row offset will appear on the screen.
The (0, 0) pixel coordinates (0; 32) at coordinates lit on the display.
The first 32 lines of the display (0;31) can not be used. Here, the pixels is always dark.

(I hope not, the display is faulty.) :shock:

Can you tell me, Which type of display did you test this macro? I tested it with a RAYSTAR REX012864B.

Best Regards,

Lagoda

Re: SSD1305 Component Macro problem?

Posted: Tue Oct 11, 2016 12:55 pm
by Benj
Hello,

Sometimes the GLCD manufacturers don't place pixel 0,0 at location 0,0 of the controller IC. There is often an offset.

Maybe we can add an offset component property to allow for this. I will investigate and see how much of a job it would be to do.

For now try increasing the dimensions of the display in the component properties and see if this allows more of the display to be cleared.

Re: SSD1305 Component Macro problem?

Posted: Wed Oct 12, 2016 9:12 am
by Lagoda
Hi Ben,

Thanks for the tip I tried but the result is not good.

Maybe it would be helpful to identify a few specific type, by which the Component Macro was tested and which probably will not be a problem for the user.
(If it is possible.)
If you had a reference assortment, to designing and to debugging will be easier for the Flowcode users.

And then what I do now?

Well, it will not be rapid prototyping. :roll:

Best Regards,

Lagoda

Re: SSD1305 Component Macro problem?

Posted: Wed Oct 12, 2016 10:24 am
by Benj
Hello Lagoda,

I have added offset properties to the component to try and help work around the problem.

I think in your case you would need to set the new Height Offset property to 32.

To add the new component to your installation simply copy the file to your "Flowcode 7/components" folder and restart Flowcode.
gLCD_SSD1305_buffered.fcpx
(7.32 KiB) Downloaded 321 times
Let me know how you get on.

Re: SSD1305 Component Macro problem?

Posted: Wed Oct 12, 2016 11:06 am
by Lagoda
Hello Ben,

Thank you very much, to deal with the issue.
Unfortunately, the situation is apparently the same as before.

Lagoda

Re: SSD1305 Component Macro problem?

Posted: Wed Oct 12, 2016 11:34 am
by Benj
Hi Lagoda,

No change at all? Can you send me your current Flowcode program and a photo of the display running the latest firmware and I will check I have done things correctly.

Also do you have a link to the specific display you purchased.

Re: SSD1305 Component Macro problem?

Posted: Wed Oct 12, 2016 12:04 pm
by Benj
Here is another attempt to solve the problem, this time rather than manipulate the pixel address I have applied the offset to the display initialisation values using command 0xD3 - Set display Offset.

Hopefully this will improve things.

Again try the value 32 for the Height Offset, if this doesn't work correctly then also try 16 and see what that gives you.
gLCD_SSD1305_buffered.fcpx
(7.45 KiB) Downloaded 325 times

Re: SSD1305 Component Macro problem?

Posted: Wed Oct 12, 2016 12:53 pm
by Benj
If you're still having problems then it might be worth talking to the supplier of the display and asking if they can provide example code. Then I can at least compare this to what we have here and hopefully spot the difference.

Unfortunately the display driver chips are usually very flexible and although most manufacturers will use the simple standard approach other may choose to do things differently.

Re: SSD1305 Component Macro problem?

Posted: Wed Oct 12, 2016 2:35 pm
by Lagoda
OHH Sorry!
The previous version, it pushed down the the display content with 32 rows.
I just pushed a reset. The "Clear Display" is not functional and could not see the change.

The second version was better.
Now writable of the top 32 row but of the lower 32 row are not.

Sorry but I have not been close to the computer for a while.
Can you help me yet?

Here I purchased the display: http://www.tme.eu/gb/katalog/#idp=1&sea ... rameters=1

Best Regards,

Lagoda

Re: SSD1305 Component Macro problem?

Posted: Wed Oct 12, 2016 3:34 pm
by Benj
Sounds like the lower 32 rows may have a different offset again!

e.g. the SSD1305 memory map for your display may look something like this.

Rows 0 - 31 = Nothing
Rows 32 - 63 = Top 32 lines
Rows 64 - 95 = Nothing
Rows 96 - 128 = Bottom 32 lines

Hmm how to deal with this in a nice way!? I'll think on it.

I can certainly fix the component for you but it doesn't solve the wider issue of making a flexible component suitable for all.

Re: SSD1305 Component Macro problem?

Posted: Wed Oct 12, 2016 6:19 pm
by Benj
I've emailed TME to see if they have any specific example code for the display.

Fingers crossed they can dig something out for us.

Otherwise your best bet may be to send us a display so we can play with it and get it working correctly.

Re: SSD1305 Component Macro problem?

Posted: Wed Oct 12, 2016 6:29 pm
by Lagoda
That would be great. :D Thank you very much. :D

I tried different offsets:
Heigh offset=0, Bottom 32 lines available
Heigh offset=32, Top 32 lines available
Heigh offset=64, Bottom 32 lines available
Heigh offset=96, Top 32 lines available

Re: SSD1305 Component Macro problem?

Posted: Wed Oct 12, 2016 9:45 pm
by Benj
Sounds like it's wrapping. Maybe the X coordinate is the key. What if you go beyond the X = 127 boundary? does that allow you to control the other half of the display?

Re: SSD1305 Component Macro problem?

Posted: Thu Oct 13, 2016 8:00 am
by Lagoda
I have not studied thoroughly the technical data of SSD1503, but I think I'll do it today. :)

Re: SSD1305 Component Macro problem?

Posted: Thu Oct 13, 2016 1:06 pm
by Benj
Good luck! Let me know if you spot anything.

Section 10.1.26 looks interesting but I can't make a whole lot of sense out of it.

Re: SSD1305 Component Macro problem?

Posted: Thu Oct 13, 2016 10:34 pm
by Lagoda
Hi Ben,

If you have time, can you check the display initialisation process?
I thought might bring us closer to the solution.
I would not say that, I understand everything.
For the time being. :)

Thanks,
Lagoda

Re: SSD1305 Component Macro problem?

Posted: Fri Oct 14, 2016 11:55 am
by Benj
Hi Lagoda,
If you have time, can you check the display initialisation process?
That's what I've been looking at. The component as is works well with some SSD1305 displays so there is something different about the display you're using.
I would not say that, I understand everything.
Neither would I :wink: the datasheet is certainly not as clear as it could be.

Did you try the X values >= 128 to see if this allows you to write to the other half of the display.

e.g. x = 128, y = 0

I've got some more example code to go through so I'll let you know if I spot anything.

Re: SSD1305 Component Macro problem?

Posted: Fri Oct 14, 2016 2:12 pm
by Benj
Right the manufacturer has been in touch with some example demo code.

I've changed the initialise routine to match up with their example.
gLCD_SSD1305_buffered.fcpx
(7.39 KiB) Downloaded 274 times
Fingers crossed.

Re: SSD1305 Component Macro problem?

Posted: Fri Oct 14, 2016 2:17 pm
by Lagoda
Hello Ben,

I tried to modify the X value.

If I want to write out the text on the display and the text extends over on the 132nd pixel column (128-132 not shown on the screen) then repeated cyclically
prints on the screen and reset, prints on the screen and reset.
If the initial position of the text X> 132 then will be scribbled in the current "PAGE" (8 pixel lines) but then there is no reset.(This has not been fully analyzed yet.)

Have a nice weekend.

Lagoda

PS.: The attached Compiler Messages are okay?

Re: SSD1305 Component Macro problem?

Posted: Fri Oct 14, 2016 2:55 pm
by Lagoda
Hi,
Quickly I tried this version.
Improved but it is still not perfect.

X = 0, Y = 0 position "Thanks for helping"
X = 0, Y = 32 position "Volume = 1000"

Re: SSD1305 Component Macro problem?

Posted: Fri Oct 14, 2016 3:54 pm
by Benj
Hello Lagoda,

Looks like we're nearly there.

This component should hopefully fix the mirrored display problem.
gLCD_SSD1305_buffered.fcpx
(7.43 KiB) Downloaded 251 times
I take it the clear function is not currently clearing everything. Are you drawing those horizontal lines?

Re: SSD1305 Component Macro problem?

Posted: Fri Oct 14, 2016 4:35 pm
by Lagoda
It's just been really bad.

The picture has been mirrored x-axis, compared to the previous state .
The picture disintegrated and always changeing the image content after the reset. (More and more unreadable.)
The "Dislay Clear" function in the Componet Macro do not working.(I did not drew. :D )

It would help if I can send a photo about the screen?

Re: SSD1305 Component Macro problem?

Posted: Fri Oct 14, 2016 5:41 pm
by Benj
Thanks for letting me know. I have been through the clear function now too so hopefully this will also work correctly.
gLCD_SSD1305_buffered.fcpx
(7.46 KiB) Downloaded 244 times

Re: SSD1305 Component Macro problem?

Posted: Fri Oct 14, 2016 6:15 pm
by Lagoda
Hi,

The "Dislay Clear" function is working now. :D
After the reset the operation is stable. :D

Re: SSD1305 Component Macro problem?

Posted: Mon Oct 17, 2016 10:03 am
by Benj
Great, Very close now. :D

Looks like there is still a bit of an X offset so the attached has a new property which should hopefully fix that.

Set the H Offset property to 4 and hopefully you should now be good to go.
gLCD_SSD1305_buffered.fcpx
(7.54 KiB) Downloaded 263 times