well Im back after some years! (Very excited regarding the amazing state of mbhp development, congratulations!)
I have my core32’s pcb,parts,JTAGtiny on order and have installed and tested the build tools.
I’m interested in developing a driver for a ST7565P based graphic LCD display. First of all is there an equivalent driver already?
I want a starting exercise (on mios32) with a clear goal, and I have access to many of these displays.
It would seem that following the pattern of the existing drivers is a fairly straight forward process for writing support for a new one. I guess the only thing that complicates it slightly is that the
variant display device I have (CV9007, based on ST7565) has SPI interface only (2 wire plus 3 control lines).
Is it possible to easily support connection to any of the available SPI ports (of the 3 available)?
Ive been pouring over the docs and getting familiar, I guess I’m fishing for any advice you guys may have for me at this point.
Please note that the connections to the backlight are backwards… B+ should go to A1,2,3 and B- to C1,2,3. (I never got round to fixing the diagram!)
Also for the CORE32, the 220ohm resistors on the inputs aren’t required (as the CORE32 operates at 3.3v). The voltage divider circuit is there to provide 3.3v to the display from Vd (which is 5v on both CORE8 and CORE32) so if your display can take a 5v supply this may not be required either.
Please note that the connections to the backlight are backwards… B+ should go to A1,2,3 and B- to C1,2,3. (I never got round to fixing the diagram!)
Also for the CORE32, the 220ohm resistors on the inputs aren’t required (as the CORE32 operates at 3.3v). The voltage divider circuit is there to provide 3.3v to the display from Vd (which is 5v on both CORE8 and CORE32) so if your display can take a 5v supply this may not be required either.
Could anybody let me know if the ST7565 display is working with mios32?
I have made a PCB with the toner transfer method using the schematic of PhileTaylor…but I got nothing on my screen.
After looking through the wiki and the forum, I then put a new bootloader on my LPC17 board and changed the lcd_type to GLCD_DOG, with 128, Height 64, num_x 1, num_y 1. put SeqV4 back on the LPC17, but…nothing on the screen.
I even compiled the tutorial 021_GLCD to test my display: nothing on the screen
I don’t know what I can do to make the ea dogm to work, it might be the display itself that is broken as there is a few diagonal lines of dark pixels on the screen?!
I checked the DOGM128 driver on the LPC17 based core, and it works (basically) - there was a bug which caused that only the left half of the display was written, but the initialization was already working correctly.
Well, you are hitting the RAM limitations again - the MBSEQV4 firmware allocates almost the complete 64k range, if you want to stay compatible with future extensions, you have to search for other ways.
I should also prewarn you that changing such a global setting would result into a lot of adaption work in all the seq_ui_*.c files!
In general you’ve two possibilities:
branch the user interface like I did in midibox_seq_v4_lite - this allows you to create a dedicated UI from scratch. This will probably the most simple solution as everything is under your control.
When you look into midibox_seq_v4_lite/core, you will notice that the number of files is very reduced in this variant -> better oversight.
alternatively, re-use the existing UI and just change the display position of the second LCD device in seq_lcd.c, SEQ_LCD_Update() function
You would also have to find a way to adapt SEQ_LCD_InitSpecialChars() for graphical LCDs - I don’t have an automated solution for this yet… it’s something what you would have to develop by yourself.
This approach is pragmatic, but the display output will look ugly in comparison to a fully customized adaption.
If you are asking me: creating a new UI from scratch (solution 1) is the best way to utilize this GLCD, because the original user interface hasn’t been created for this.
Since you are using different buttons/encoders as well, sooner or later you would have to do a lot of changes in different files anyhow, with the disadvantage that you won’t get the changes that I’m doing in future.