Hi Guys,
I'm trying to load my Flowcode project to actual hardware board which is LoRa mote demo board with PIC18LFK50 and ERC12832 LCD. I added the PICkit3 connector so I can connect the programmer to the board. I did very simple project with on board LEDs, buttons and LCD to prove that I have hardware ‘connected’ correctly in my project (so i can do somithing with actual LoRa later). The system is working with 48 MHz clock at it has USB interface.
Buttons, LEDs, backlight and LCD power control all work correctly, when I program it directly from Flowcode7, but I can get nothing showing on hardware LCD. When I reload original board software hex (done by Microchip) the LCD works, I had a look in to the source, and I noticed that the LCD has controls which the Flow code is not providing (like the contrast setting). I also tried different PIC clock settings (I slowed it down in case that comm with LCD is to fast) but no luck, there is absolutely nothing showing on hardware LCD (the Flowcode 7 simulator LCD on the panel is working as expected).
I have more questions than answers here as everything what I tried is not working:
Is the flow code 7 for gLCD ST756 parallel library component actually working on real hardware, did anyone had any luck with it to report?
Which version of parallel communication is component designed for: 8080 or 6800? Is there a switch in the flow code to change the protocol?
I tried changing the LCD hardware pin, but no luck (default on board setting is for 8080).
How the Flowcode component can be controlled to set communication speed, if the native processor clock is to fast?
I would appreciate if anyone can offer any advice. I’m stuck with this at the moment.
Thanks!
LCD with ST7565R1 paralel cintrooler (ERC12832-1)
Moderator: Benj
-
- Posts: 78
- Joined: Mon Jul 31, 2017 11:14 am
- Has thanked: 7 times
- Been thanked: 13 times
- Contact:
- Benj
- Matrix Staff
- Posts: 15312
- Joined: Mon Oct 16, 2006 10:48 am
- Location: Matrix TS Ltd
- Has thanked: 4803 times
- Been thanked: 4314 times
- Contact:
Re: LCD with ST7565R1 paralel cintrooler (ERC12832-1)
Hello,
I found this on doing some digging.
GLCD (ST7565R) Parrallel - Uses 6800 Mode
What pins do you have available on your display module. Do you have a link for a product page and or datasheet specific to the display.
I found this on doing some digging.
GLCD (ST7565R) SPI - Uses SPIin general the "6800" mode should involve a CS line, a R/W line, and a Clock/Strobe line; the "8080" mode should, OTOH, have a CS line, a WR line, and RD line.
GLCD (ST7565R) Parrallel - Uses 6800 Mode
What pins do you have available on your display module. Do you have a link for a product page and or datasheet specific to the display.
Regards Ben Rowland - MatrixTSL
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
-
- Posts: 78
- Joined: Mon Jul 31, 2017 11:14 am
- Has thanked: 7 times
- Been thanked: 13 times
- Contact:
Re: LCD with ST7565R1 paralel cintrooler (ERC12832-1)
Hello,
This is a module on the Microchip board (http://ww1.microchip.com/downloads/en/D ... 0Guide.pdf) you can see in the the schematic (LCD version) a pin connection. They have a jumper (0 Ohm resistor) where i can configure mode 8080 or 6800 of the display. As i explained none of this works. The physical connection is the same for both modes. I created the flow-code project components following a hardware connection on the mote schematic.
One thing which i noticed is that actual physical display (ERC12832) looks more like 128 x 32 dots then 128 x 64 which is a component in Flowcode! Here is the display data http://www.buydisplay.com/download/manu ... asheet.pdf
You can see they claim that the controller is ST7565 and this is very confusing. Do you have any idea? The Microchip "driver" in the source code calling the LCD component as SSD1306oLED, so perhaps this would be correct controller. However i can not see the 1306 parallel LCD component in the flow code. Looking in to the controller data both are addressing 128 x 64 dots matrix but physical LCD is 128 x 32.
Since i have a source code for the display driver which is working (downloadable from microchip web page) is there any way that i can create my own LCD component in the Flowcode 7 or perhaps open existing and modify it and save as a new one?
I'm not relay skilled c programmer and a main reason way i like flowcode.
Thanks for help
This is a module on the Microchip board (http://ww1.microchip.com/downloads/en/D ... 0Guide.pdf) you can see in the the schematic (LCD version) a pin connection. They have a jumper (0 Ohm resistor) where i can configure mode 8080 or 6800 of the display. As i explained none of this works. The physical connection is the same for both modes. I created the flow-code project components following a hardware connection on the mote schematic.
One thing which i noticed is that actual physical display (ERC12832) looks more like 128 x 32 dots then 128 x 64 which is a component in Flowcode! Here is the display data http://www.buydisplay.com/download/manu ... asheet.pdf
You can see they claim that the controller is ST7565 and this is very confusing. Do you have any idea? The Microchip "driver" in the source code calling the LCD component as SSD1306oLED, so perhaps this would be correct controller. However i can not see the 1306 parallel LCD component in the flow code. Looking in to the controller data both are addressing 128 x 64 dots matrix but physical LCD is 128 x 32.
Since i have a source code for the display driver which is working (downloadable from microchip web page) is there any way that i can create my own LCD component in the Flowcode 7 or perhaps open existing and modify it and save as a new one?
I'm not relay skilled c programmer and a main reason way i like flowcode.
Thanks for help
- Benj
- Matrix Staff
- Posts: 15312
- Joined: Mon Oct 16, 2006 10:48 am
- Location: Matrix TS Ltd
- Has thanked: 4803 times
- Been thanked: 4314 times
- Contact:
Re: LCD with ST7565R1 paralel cintrooler (ERC12832-1)
Hello,
Please can you try the SSD1306 component (SPI mode) with the following pin connections. Fingers crossed this will work for you.
CS - B4
R/W - C1
RS - C0
SD - D1
SCK - D0
RST - B2
Do you have a link to the microchip code, or could you attach it here on the forums for us to check against the GLCD component code. Rolling out a new gLCD component is fairly easy as long as we have working example code to work from.
Please can you try the SSD1306 component (SPI mode) with the following pin connections. Fingers crossed this will work for you.
CS - B4
R/W - C1
RS - C0
SD - D1
SCK - D0
RST - B2
Do you have a link to the microchip code, or could you attach it here on the forums for us to check against the GLCD component code. Rolling out a new gLCD component is fairly easy as long as we have working example code to work from.
Regards Ben Rowland - MatrixTSL
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
-
- Posts: 78
- Joined: Mon Jul 31, 2017 11:14 am
- Has thanked: 7 times
- Been thanked: 13 times
- Contact:
Re: LCD with ST7565R1 paralel cintrooler (ERC12832-1)
Unfortunately the LCD is parallel mode only so i can not drive it with serial interface .
The source code for the board with the LCD is available from the microchip web page:
http://ww1.microchip.com/downloads/en/D ... rmware.zip
The schematic is here: http://ww1.microchip.com/downloads/en/D ... 0Guide.pdf (have a look in the LCD version, not oLED).
It looks that the same controller is used in various version and formats of LCD resolution. Perhaps you should create a display component where we can define the size of the LCD for the ST7565 controller. What is also important is to be able to configure the contrast for the LCD display (current Flowcode display component ST7565 parallel has no such configuration). Also for ST7565 there should be 8080/8600 switch as well.
It looks to me that ST7565 and SSD1306 are the same instructions, but different communications first is parallel and second is serial (SPI, I2C).
I hope you will be able to make this going.
I will check with oscilloscope to see if there anything coming out on the display data and on control pins. I have also suspicion that the hardware configuration for PIC 18LF45K50 is incorrect in Flowcode 7.
Thanks!
The source code for the board with the LCD is available from the microchip web page:
http://ww1.microchip.com/downloads/en/D ... rmware.zip
The schematic is here: http://ww1.microchip.com/downloads/en/D ... 0Guide.pdf (have a look in the LCD version, not oLED).
It looks that the same controller is used in various version and formats of LCD resolution. Perhaps you should create a display component where we can define the size of the LCD for the ST7565 controller. What is also important is to be able to configure the contrast for the LCD display (current Flowcode display component ST7565 parallel has no such configuration). Also for ST7565 there should be 8080/8600 switch as well.
It looks to me that ST7565 and SSD1306 are the same instructions, but different communications first is parallel and second is serial (SPI, I2C).
I hope you will be able to make this going.
I will check with oscilloscope to see if there anything coming out on the display data and on control pins. I have also suspicion that the hardware configuration for PIC 18LF45K50 is incorrect in Flowcode 7.
Thanks!
-
- Posts: 18
- Joined: Sat May 20, 2017 7:39 pm
- Has thanked: 5 times
- Been thanked: 8 times
- Contact:
Re: LCD with ST7565R1 paralel cintrooler (ERC12832-1)
Hi
Sorry I know this is an old post but there doesn't seem to be a solution posted here for this and I am having the same problems.
Details of the issue I have were posted here viewtopic.php?f=69&t=18907#p84251 but I didn't get a reply so I thought I'd try asking here too as there may already be a fix/solution for this.
Many thanks for any help you can give.
Sorry I know this is an old post but there doesn't seem to be a solution posted here for this and I am having the same problems.
Details of the issue I have were posted here viewtopic.php?f=69&t=18907#p84251 but I didn't get a reply so I thought I'd try asking here too as there may already be a fix/solution for this.
Many thanks for any help you can give.