Display module support #296
Replies: 4 comments 22 replies
-
Thanks for this contribution! I can merge this from the source code in your repo and will do this soon. |
Beta Was this translation helpful? Give feedback.
-
I've was having another look to see what the possibility of adding support for ssd1306 based OLED displays was too, based on the code already in MT32-Pi. It doesn't translate over in a particularly straightforward way as the handling of displays is very different in MT32-Pi compared to Circle itself.... But I have an example of the kind of thing I think could be possible here: https://github.com/diyelectromusic/circle/tree/ssd1306 Basically, I've suggested refactoring out much of the "character/terminal" handling from the hd44780 display code into its own base class, then that can be used for other "character devices" as required. The ssd1306 probably has more in common with the st7789 code if I'm honest, but I'm interested in having something that could eventually be used in MiniDexed, so what I'd actually need is closer to what is in the hd44780 code without the graphical elements, hence going this way. But my C++ is really quite rudimentary, so whilst this compiles and does seem to run on a hd44780 (GPIO), hd44780 (I2C) and ssd1306 (I2C) all sharing this same base character class, I really could do with someone who knows what they are doing taking a proper look! I've simplified the ssd1306 handling compared to the MT32-Pi code - again it works, but I really am not sure it is keeping in the spirit of the original code (I am really fumbling in the dark when it comes to Templates!). So in short, if this is of interest, do someone please take a look, but don't expect any grand things :) If any of it seems useful, again feel free to grab what works and ignore what doesn't (and if that includes it all - no worries! It is all still a useful learning exercise for me!). Thanks, |
Beta Was this translation helpful? Give feedback.
-
Great project and sorry if this isn't the best thread. |
Beta Was this translation helpful? Give feedback.
-
I'm not sure what exactly it is that you are attempting to do but HDMI output is certainly possible so why not simply convert the signal to VGA or use a Pi PICO with interrupts and PIO. There are plenty of VGA output addons for the Pico that use bitbanging for the VGA signal in many formats. |
Beta Was this translation helpful? Give feedback.
-
I believe I have updated the addon/display/hd44780display driver to allow the configuration and support of the I2C version of the HD44780 LCD module. I have some code on this branch here: https://github.com/diyelectromusic/circle/commits/hd44780i2c
My C++ and github abilities are relatively primitive still, but if this seems desirable or useful and looks ok, please let me know how best to proceed (the changes are relatively simple if it is easiest to just reimplement them yourself at some convenient point).
I have performed simple testing of both the I2C and non-I2C sample applications on a RPi 4 with a 1602 LCD but nothing more complex.
Many thanks,
Kevin
Beta Was this translation helpful? Give feedback.
All reactions