SSD1351 not working
Moderator: Benj
-
- Flowcode v5 User
- Posts: 118
- Joined: Thu Sep 17, 2009 1:30 pm
- Has thanked: 3 times
- Been thanked: 11 times
SSD1351 not working
Hello
I have an OLED display connected to 18F46K22 (int osc 16mhz) working with FC V6.1.2.0
Connections are as follows:
1. CLK RA2
2. DATA RA1
3. REG SEL RD3
4. CS RE0
5. RESET RD2
These are all general I/O as the clk / data is bit bashed as explained before
The display also has the required 15V and logic level 2V8 connected with its associated circuitry
however, no matter what i try i cannot get an image or nothing on the screen.....just stays blank.
I have set the foreground color to black, and the background color to white in the properties in the
dashboard panel
Has this macro ever been tested with success on such a display?
Need help here as this is going into a product and well, i hit a brick wall now
Thanks
Mark
I have an OLED display connected to 18F46K22 (int osc 16mhz) working with FC V6.1.2.0
Connections are as follows:
1. CLK RA2
2. DATA RA1
3. REG SEL RD3
4. CS RE0
5. RESET RD2
These are all general I/O as the clk / data is bit bashed as explained before
The display also has the required 15V and logic level 2V8 connected with its associated circuitry
however, no matter what i try i cannot get an image or nothing on the screen.....just stays blank.
I have set the foreground color to black, and the background color to white in the properties in the
dashboard panel
Has this macro ever been tested with success on such a display?
Need help here as this is going into a product and well, i hit a brick wall now
Thanks
Mark
- LeighM
- Matrix Staff
- Posts: 2178
- Joined: Tue Jan 17, 2012 10:07 am
- Has thanked: 481 times
- Been thanked: 699 times
Re: SSD1351 not working
K22: first thing to do is ensure that, in the device config, "Extended Instruction Set" is "Disabled".
I that does not help, then please could you post your project file?
I that does not help, then please could you post your project file?
-
- Flowcode v5 User
- Posts: 118
- Joined: Thu Sep 17, 2009 1:30 pm
- Has thanked: 3 times
- Been thanked: 11 times
Re: SSD1351 not working
Hi Leigh
The extended set is disabled
The processor is running OK.....led reality test
See attached FC file.....there are 2 macros to turn OLED on/off
which is working OK
Just cant get image
The extended set is disabled
The processor is running OK.....led reality test
See attached FC file.....there are 2 macros to turn OLED on/off
which is working OK
Just cant get image
- Attachments
-
- OLED_TEST_SSD1351_FC6_46K22.fcfx
- (9.14 KiB) Downloaded 331 times
- LeighM
- Matrix Staff
- Posts: 2178
- Joined: Tue Jan 17, 2012 10:07 am
- Has thanked: 481 times
- Been thanked: 699 times
Re: SSD1351 not working
Hi,
Some of these displays can be very tricky to start up.
Particularly with regard to delays to allow voltages to stabilize before sending further commands.
There is a possibility that our initialization does not suit your display.
I have amended the component such that SendData and SendCommand are now externally available,
such that you can check the manual for your display regarding setup procedure and hopefully create your own.
Just drop the updated component into your Flowcode 6 \components directory.
Hope that helps
Leigh
Some of these displays can be very tricky to start up.
Particularly with regard to delays to allow voltages to stabilize before sending further commands.
There is a possibility that our initialization does not suit your display.
I have amended the component such that SendData and SendCommand are now externally available,
such that you can check the manual for your display regarding setup procedure and hopefully create your own.
Just drop the updated component into your Flowcode 6 \components directory.
Hope that helps
Leigh
- Attachments
-
- gLCD_SSD1351.fcpx
- (52.95 KiB) Downloaded 322 times
-
- Flowcode v5 User
- Posts: 118
- Joined: Thu Sep 17, 2009 1:30 pm
- Has thanked: 3 times
- Been thanked: 11 times
Re: SSD1351 not working
Hi Leigh
Thanks for the external commands
Before i can setup my own "initialize" macro, is it possible to
tell me or show me what is going on in the flowcode initialize
macro command?
there are quite a number of things to setup, so it will be very helpful
to see what the standard initialize is doing, otherwise i might just be
going through a whole exercise that is not needed
I will also need to see what is going on with a scope as i recall a little
while ago when i did look, the CLK is constantly running and i think
i didnt see any bit bash data coming through....was stuck high
But lets see the standard initialize code first? Or some way i can see
whats going on there
Thanks
Mark
Thanks for the external commands
Before i can setup my own "initialize" macro, is it possible to
tell me or show me what is going on in the flowcode initialize
macro command?
there are quite a number of things to setup, so it will be very helpful
to see what the standard initialize is doing, otherwise i might just be
going through a whole exercise that is not needed
I will also need to see what is going on with a scope as i recall a little
while ago when i did look, the CLK is constantly running and i think
i didnt see any bit bash data coming through....was stuck high
But lets see the standard initialize code first? Or some way i can see
whats going on there
Thanks
Mark
- LeighM
- Matrix Staff
- Posts: 2178
- Joined: Tue Jan 17, 2012 10:07 am
- Has thanked: 481 times
- Been thanked: 699 times
Re: SSD1351 not working
Hi Mark,
Attached is the initialise macro that you can import into Flowcode
Leigh
Attached is the initialise macro that you can import into Flowcode
Leigh
- Attachments
-
- Initialise_V7.fcm
- (7.88 KiB) Downloaded 362 times
-
- Initialise_V6.fcm
- (7.14 KiB) Downloaded 306 times
-
- Flowcode v5 User
- Posts: 118
- Joined: Thu Sep 17, 2009 1:30 pm
- Has thanked: 3 times
- Been thanked: 11 times
Re: SSD1351 not working
Hi Leigh
Something weird going on with this component macro
When i issue the initialize command (using data/command send or the normal one)
the clock just keeps running and the data is stuck high. Also the assigned CS is also
stuck high
I put this into a loop with 1sec delay to scope out the pins to see some burst of CLK/DATA
in 1 sec intervals....nothing doing....does as above
Surely the CLK should only happen when a transaction is done? not run all the time
i even inserted output hi/lo on my RD3 (data/command) to toggle between a command
and data type event, but something hijacks the whole thing and keeps it stuck high as well
to verify the OLED somehow i am re-doing the initialize on the hardware SPI with a small
screen fill command....to do a reality check
If that works then there is a definite problem with this component macro on the 46K22
Problem is that if it works on hardware SPI then how do i use the other functions like print text/number
etc etc that the component provides? I dont fancy rewriting all these functions as then whats the point
of having the component?
would you be able to make the component work on hardware SPI(1)?
going around in circles here
Something weird going on with this component macro
When i issue the initialize command (using data/command send or the normal one)
the clock just keeps running and the data is stuck high. Also the assigned CS is also
stuck high
I put this into a loop with 1sec delay to scope out the pins to see some burst of CLK/DATA
in 1 sec intervals....nothing doing....does as above
Surely the CLK should only happen when a transaction is done? not run all the time
i even inserted output hi/lo on my RD3 (data/command) to toggle between a command
and data type event, but something hijacks the whole thing and keeps it stuck high as well
to verify the OLED somehow i am re-doing the initialize on the hardware SPI with a small
screen fill command....to do a reality check
If that works then there is a definite problem with this component macro on the 46K22
Problem is that if it works on hardware SPI then how do i use the other functions like print text/number
etc etc that the component provides? I dont fancy rewriting all these functions as then whats the point
of having the component?
would you be able to make the component work on hardware SPI(1)?
going around in circles here

-
- Flowcode v5 User
- Posts: 118
- Joined: Thu Sep 17, 2009 1:30 pm
- Has thanked: 3 times
- Been thanked: 11 times
Re: SSD1351 not working
Hi Leigh
OK.....so hard spi is working....i can fill red/blue/green screen
where to from here?
I have some pcb's made already that were setup for the FC macro using
software bit bash and relevant control signals as posted above.
So although the hardware spi is working.... i cannot use it on the ready
made pcb....for obvious reasons....i need the ssd1351 FC macro to work
hopefully you will give me a solution
OK.....so hard spi is working....i can fill red/blue/green screen
where to from here?
I have some pcb's made already that were setup for the FC macro using
software bit bash and relevant control signals as posted above.
So although the hardware spi is working.... i cannot use it on the ready
made pcb....for obvious reasons....i need the ssd1351 FC macro to work
hopefully you will give me a solution

- LeighM
- Matrix Staff
- Posts: 2178
- Joined: Tue Jan 17, 2012 10:07 am
- Has thanked: 481 times
- Been thanked: 699 times
Re: SSD1351 not working
Please try attached updated component, to go into your Flowcode 6 \components directory
- Attachments
-
- gLCD_SSD1351.fcpx
- (52.96 KiB) Downloaded 293 times
-
- Flowcode v5 User
- Posts: 118
- Joined: Thu Sep 17, 2009 1:30 pm
- Has thanked: 3 times
- Been thanked: 11 times
Re: SSD1351 not working
Hi Leigh
OK....the component works now....but an oddity
My display is 128X96 pixels, so when the initialization is done
it only fills the background about 3/4 of the way (white) and the
remaining 1/3 still has random color pixels
If i declare the screen to be 128x128 then it fills the background
completely
Can you take a look and see if the settings are being utilized properly
in the component? ( i set these values in the dashboard panel / properties
of the display)
I dont think the 128X96 is being processed correctly
also the operations to the screen are quite slow, but i guess thats because of the
software bit bash routines?.....as opposed to the hardware spi
OK....the component works now....but an oddity
My display is 128X96 pixels, so when the initialization is done
it only fills the background about 3/4 of the way (white) and the
remaining 1/3 still has random color pixels
If i declare the screen to be 128x128 then it fills the background
completely
Can you take a look and see if the settings are being utilized properly
in the component? ( i set these values in the dashboard panel / properties
of the display)
I dont think the 128X96 is being processed correctly
also the operations to the screen are quite slow, but i guess thats because of the
software bit bash routines?.....as opposed to the hardware spi
- LeighM
- Matrix Staff
- Posts: 2178
- Joined: Tue Jan 17, 2012 10:07 am
- Has thanked: 481 times
- Been thanked: 699 times
Re: SSD1351 not working
Hi,
I have had look and don't see any issue with the screen clear functionality, as long as the display width equates to the controller pixel columns.
Have you tried swapping the height/width values i.e. 96x128
There is also the display orientation that can be changed.
The controller chip supports 128x128 so I guess the issue is down to how that is mapped to the display.
If the text orientation is currently as you want it, then I suspect we are best not changing anything if a 128x128 setting clears the display OK.
I have had look and don't see any issue with the screen clear functionality, as long as the display width equates to the controller pixel columns.
Have you tried swapping the height/width values i.e. 96x128
There is also the display orientation that can be changed.
The controller chip supports 128x128 so I guess the issue is down to how that is mapped to the display.
If the text orientation is currently as you want it, then I suspect we are best not changing anything if a 128x128 setting clears the display OK.
-
- Flowcode v5 User
- Posts: 118
- Joined: Thu Sep 17, 2009 1:30 pm
- Has thanked: 3 times
- Been thanked: 11 times
Re: SSD1351 not working
Hi Leigh
yes i did swop the settings around....it always leaves a small section
with random pixels not cleared
But as u say.....prob best to just set it to 128X128....instead of 128X96
My display is physically 128X96, and states so in the datasheet
It is rectangular in shape
Another question, the command / data send that you opened up....it
does use the I/O setting for DC as setup in the panel settings automatically?
Just asking because i toggle it as well, but would like to remove those
because if the command / send is doing it according to I/O settings then
i am just repeating not needed instructions
yes i did swop the settings around....it always leaves a small section
with random pixels not cleared
But as u say.....prob best to just set it to 128X128....instead of 128X96
My display is physically 128X96, and states so in the datasheet
It is rectangular in shape
Another question, the command / data send that you opened up....it
does use the I/O setting for DC as setup in the panel settings automatically?
Just asking because i toggle it as well, but would like to remove those
because if the command / send is doing it according to I/O settings then
i am just repeating not needed instructions
- LeighM
- Matrix Staff
- Posts: 2178
- Joined: Tue Jan 17, 2012 10:07 am
- Has thanked: 481 times
- Been thanked: 699 times
Re: SSD1351 not working
Hi,
Yes, the send command/data functions setup and use all the CS/RS/SD/SCK pins from the connections properties.
So you don’t need to set RS or CS before calling them.
Yes, the send command/data functions setup and use all the CS/RS/SD/SCK pins from the connections properties.
So you don’t need to set RS or CS before calling them.
-
- Flowcode v5 User
- Posts: 118
- Joined: Thu Sep 17, 2009 1:30 pm
- Has thanked: 3 times
- Been thanked: 11 times
Re: SSD1351 not working
thanks leigh
will see how i get on with the existing libary
i may setup a hardware driven library (spi port) and see how it goes
if it works i will post here for others to use....
will see how i get on with the existing libary
i may setup a hardware driven library (spi port) and see how it goes
if it works i will post here for others to use....
-
- Flowcode v5 User
- Posts: 118
- Joined: Thu Sep 17, 2009 1:30 pm
- Has thanked: 3 times
- Been thanked: 11 times
Re: SSD1351 not working
Hi Leigh
can you also please give me the component glcdssd1351 update/bug fix
with exposed data/command for Flowcode7?
i do work on the latest V7 as well
thanks
mark
can you also please give me the component glcdssd1351 update/bug fix
with exposed data/command for Flowcode7?
i do work on the latest V7 as well
thanks
mark
- LeighM
- Matrix Staff
- Posts: 2178
- Joined: Tue Jan 17, 2012 10:07 am
- Has thanked: 481 times
- Been thanked: 699 times
Re: SSD1351 not working
Flowcode V7 version attached ...
- Attachments
-
- gLCD_SSD1351.fcpx
- (55.26 KiB) Downloaded 318 times
-
- Flowcode v5 User
- Posts: 118
- Joined: Thu Sep 17, 2009 1:30 pm
- Has thanked: 3 times
- Been thanked: 11 times
Re: SSD1351 not working
Hi Leigh
Would it be possible for you guys to have the SSD1351 component driven
by hardware SPI ? The current bit bash method is just too slow when doing
updates on the screen.....
With the hardware spi option available i can clock the data much faster
and that would be a great feature to have
I do realize that would take a bit a modifying but it would be really useful
if it can be done
Would it be possible for you guys to have the SSD1351 component driven
by hardware SPI ? The current bit bash method is just too slow when doing
updates on the screen.....
With the hardware spi option available i can clock the data much faster
and that would be a great feature to have
I do realize that would take a bit a modifying but it would be really useful
if it can be done
