SSD1305 Component Macro problem?

A forums to allow bugs and problems with Flowcode v7 to be reported and resolved.

Moderator: Benj

Lagoda
Posts: 152
Joined: Fri Jul 15, 2016 9:51 pm
Has thanked: 66 times
Been thanked: 60 times
Contact:

SSD1305 Component Macro problem?

Postby Lagoda » Tue Oct 11, 2016 11:25 am

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
Attachments
SSD1305test.jpg
(318.98 KiB) Downloaded 3413 times
1305display_test10.fcfx
(7.4 KiB) Downloaded 142 times

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Tue Oct 11, 2016 12:55 pm

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.
These users thanked the author Benj for the post:
Lagoda (Wed Oct 12, 2016 6:32 pm)
Rating: 5%
 

Lagoda
Posts: 152
Joined: Fri Jul 15, 2016 9:51 pm
Has thanked: 66 times
Been thanked: 60 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Lagoda » Wed Oct 12, 2016 9:12 am

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

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Wed Oct 12, 2016 10:24 am

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 162 times


Let me know how you get on.
These users thanked the author Benj for the post:
Lagoda (Wed Oct 12, 2016 6:32 pm)
Rating: 5%
 

Lagoda
Posts: 152
Joined: Fri Jul 15, 2016 9:51 pm
Has thanked: 66 times
Been thanked: 60 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Lagoda » Wed Oct 12, 2016 11:06 am

Hello Ben,

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

Lagoda

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Wed Oct 12, 2016 11:34 am

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.

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Wed Oct 12, 2016 12:04 pm

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 162 times
These users thanked the author Benj for the post:
Lagoda (Wed Oct 12, 2016 6:31 pm)
Rating: 5%
 

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Wed Oct 12, 2016 12:53 pm

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.

Lagoda
Posts: 152
Joined: Fri Jul 15, 2016 9:51 pm
Has thanked: 66 times
Been thanked: 60 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Lagoda » Wed Oct 12, 2016 2:35 pm

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
Attachments
SSD1305test1.jpg
(300.8 KiB) Downloaded 3368 times
SSD1305test1b.jpg
(291.82 KiB) Downloaded 3368 times
1305display_test010.fcfx
(7.75 KiB) Downloaded 136 times

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Wed Oct 12, 2016 3:34 pm

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.
These users thanked the author Benj for the post:
Lagoda (Wed Oct 12, 2016 6:31 pm)
Rating: 5%
 

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Wed Oct 12, 2016 6:19 pm

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.
These users thanked the author Benj for the post:
Lagoda (Wed Oct 12, 2016 6:31 pm)
Rating: 5%
 

Lagoda
Posts: 152
Joined: Fri Jul 15, 2016 9:51 pm
Has thanked: 66 times
Been thanked: 60 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Lagoda » Wed Oct 12, 2016 6:29 pm

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

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Wed Oct 12, 2016 9:45 pm

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?
These users thanked the author Benj for the post:
Lagoda (Thu Oct 13, 2016 8:01 am)
Rating: 5%
 

Lagoda
Posts: 152
Joined: Fri Jul 15, 2016 9:51 pm
Has thanked: 66 times
Been thanked: 60 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Lagoda » Thu Oct 13, 2016 8:00 am

I have not studied thoroughly the technical data of SSD1503, but I think I'll do it today. :)

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Thu Oct 13, 2016 1:06 pm

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.

Lagoda
Posts: 152
Joined: Fri Jul 15, 2016 9:51 pm
Has thanked: 66 times
Been thanked: 60 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Lagoda » Thu Oct 13, 2016 10:34 pm

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
Attachments
SSD1305_init.pdf
(34.03 KiB) Downloaded 154 times

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Fri Oct 14, 2016 11:55 am

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.

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Fri Oct 14, 2016 2:12 pm

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 170 times


Fingers crossed.
These users thanked the author Benj for the post:
Lagoda (Fri Oct 14, 2016 4:37 pm)
Rating: 5%
 

Lagoda
Posts: 152
Joined: Fri Jul 15, 2016 9:51 pm
Has thanked: 66 times
Been thanked: 60 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Lagoda » Fri Oct 14, 2016 2:17 pm

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?
Attachments
SSD1305_Comp_Mess.jpg
(182.94 KiB) Downloaded 3292 times

Lagoda
Posts: 152
Joined: Fri Jul 15, 2016 9:51 pm
Has thanked: 66 times
Been thanked: 60 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Lagoda » Fri Oct 14, 2016 2:55 pm

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"
Attachments
SSD1305test2.jpg
SSD1305test2.jpg (184.68 KiB) Viewed 10582 times
These users thanked the author Lagoda for the post:
Benj (Fri Oct 14, 2016 3:18 pm)
Rating: 5%
 

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Fri Oct 14, 2016 3:54 pm

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 146 times


I take it the clear function is not currently clearing everything. Are you drawing those horizontal lines?
These users thanked the author Benj for the post:
Lagoda (Fri Oct 14, 2016 4:37 pm)
Rating: 5%
 

Lagoda
Posts: 152
Joined: Fri Jul 15, 2016 9:51 pm
Has thanked: 66 times
Been thanked: 60 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Lagoda » Fri Oct 14, 2016 4:35 pm

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?
These users thanked the author Lagoda for the post:
Benj (Fri Oct 14, 2016 5:52 pm)
Rating: 5%
 

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Fri Oct 14, 2016 5:41 pm

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 145 times
These users thanked the author Benj for the post:
Lagoda (Fri Oct 14, 2016 6:16 pm)
Rating: 5%
 

Lagoda
Posts: 152
Joined: Fri Jul 15, 2016 9:51 pm
Has thanked: 66 times
Been thanked: 60 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Lagoda » Fri Oct 14, 2016 6:15 pm

Hi,

The "Dislay Clear" function is working now. :D
After the reset the operation is stable. :D
Attachments
SSD1305test3.jpg
SSD1305test3.jpg (148.41 KiB) Viewed 10559 times
These users thanked the author Lagoda for the post:
Benj (Mon Oct 17, 2016 9:58 am)
Rating: 5%
 

User avatar
Benj
Matrix Staff
Posts: 14660
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4651 times
Been thanked: 4269 times
Contact:

Re: SSD1305 Component Macro problem?

Postby Benj » Mon Oct 17, 2016 10:03 am

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 163 times
These users thanked the author Benj for the post:
Lagoda (Mon Oct 17, 2016 9:14 pm)
Rating: 5%