This MiSTer-Bash-Script-Add-On uses the i2c Interface on the DE10-Nano’s LTC Connector to drive a small i2c based SSD1306 OLED Display with 128x64 Pixel showing (currently only) Pictures or (new) Text based on the running core.
Antonio Villena builds IOBoards with such small builtin OLED Displays and asked for support, so here we are
Donating!
If you enjoy the project and if you like to donate to me send me a postcard with an nice picture of your City/Area/Location/Country/Continent/Planet.
Drop me an PM with the Subject "Cardware" and I will answer.
!! WARNING !!
This Add-On uses the MiSTer's i2c Bus. Wrong usage can confuse the MiSTer's i2c Bus or worse!
You need to make sure you use the right i2c Bus as the MiSTer has more than one.
There is space for a lot improvement and it's not fast as tty2oled, but is really cool to see what you can do with a bit of bash scripting, 4 wires and a small Display.
Ideas: Check for an connected i2c Display on startDone
Create an C/C++ Application for much more speed
That looks a cool little thing.
Can you animate the images ?
Was thinking something like an animated 1541 drive would be superb, or for Atari - the 1050, or even a 1010 cassette drive.
Re: i2c2oled (little brother of tty2oled)
Posted: Wed Apr 21, 2021 6:10 am
by venice
MiSTer_Kirk wrote: ↑Wed Apr 21, 2021 12:53 am
..
Can you animate the images ?
..
I don't think the Bash Script is fast enough but an (C/C++) Program should support that.
Like I wrote, there is space for improvement.
Re: i2c2oled (little brother of tty2oled)
Posted: Wed Apr 21, 2021 9:29 am
by RealLarry
MiSTer_Kirk wrote: ↑Wed Apr 21, 2021 12:53 am
That looks a cool little thing.
Can you animate the images ?
Was thinking something like an animated 1541 drive would be superb, or for Atari - the 1050, or even a 1010 cassette drive.
We, Venice and myself, are already working on the next level of core display. There, and with the actual tty2oled devices (ESP8266, ESP32), it would be possible in principle but requires more "AI logic" to display animations. And people who are willing to create these animations.
Noted as feature request
MiSTer_Kirk wrote: ↑Wed Apr 21, 2021 12:53 am
..
Can you animate the images ?
..
I don't think the Bash Script is fast enough but an (C/C++) Program should support that.
Like I wrote, there is space for improvement.
Bash's speed would be sufficient for sure. But display's speed? Dunno. The easiest way for an animation would be a small set of pictures, sent one after one. We'll see...
MiSTer_Kirk wrote: ↑Wed Apr 21, 2021 12:53 am
That looks a cool little thing.
Can you animate the images ?
Was thinking something like an animated 1541 drive would be superb, or for Atari - the 1050, or even a 1010 cassette drive.
We, Venice and myself, are already working on the next level of core display. There, and with the actual tty2oled devices (ESP8266, ESP32), it would be possible in principle but requires more "AI logic" to display animations. And people who are willing to create these animations.
Noted as feature request
Yeah, thanks for the reply. I wasn't thinking about complex animation, more a static image of a 1541, but with flashing lights for loading games.
Re: i2c2oled (little brother of tty2oled)
Posted: Wed Apr 21, 2021 11:11 am
by RascalUK
I've got a couple of screens lying around at home. Any chance of a wiring diagram when you get a min?
MiSTer_Kirk wrote: ↑Wed Apr 21, 2021 12:53 am
That looks a cool little thing.
Can you animate the images ?
Was thinking something like an animated 1541 drive would be superb, or for Atari - the 1050, or even a 1010 cassette drive.
We, Venice and myself, are already working on the next level of core display. There, and with the actual tty2oled devices (ESP8266, ESP32), it would be possible in principle but requires more "AI logic" to display animations. And people who are willing to create these animations.
Noted as feature request
Yeah, thanks for the reply. I wasn't thinking about complex animation, more a static image of a 1541, but with flashing lights for loading games.
EDITED: I know. This was only an example that animation is possible. I'm with you that a very small animation of a core's splash screen or something like this would be sufficient. But this would mean that Bash/Daemon has to permanently send data to the device. Still doable.
EDIT
Rest of my post deleted. Wrong thread. Mea culpa.
Re: i2c2oled (little brother of tty2oled)
Posted: Wed Apr 21, 2021 11:44 am
by RealLarry
RascalUK wrote: ↑Wed Apr 21, 2021 11:11 am
I've got a couple of screens lying around at home. Any chance of a wiring diagram when you get a min?
What type of screens (type of chip that the display is driven by)? We're experimenting with ILI9341 based display for now...
EDIT: Damn! We're at the i2c2oled thread here. Forget about my post.
RealLarry wrote: ↑Wed Apr 21, 2021 11:40 amEDITED: I know. This was only an example that animation is possible. I'm with you that a very small animation of a core's splash screen or something like this would be sufficient. But this would mean that Bash/Daemon has to permanently send data to the device. Still doable.
Ok, thanks for the explanation.
Re: i2c2oled (little brother of tty2oled)
Posted: Thu Apr 22, 2021 2:37 pm
by venice
If you have a two color display you can do this
SSD1306_MiSTer_small_v2.jpg
Re: i2c2oled (little brother of tty2oled)
Posted: Thu Apr 22, 2021 2:42 pm
by venice
RascalUK wrote: ↑Wed Apr 21, 2021 11:11 am
I've got a couple of screens lying around at home. Any chance of a wiring diagram when you get a min?
The i2c/SPI Header of the official RTC1.3 has no Power pin, only Data and GND if I am right.
So you have to get 3.3v power from another pin on the board.
I was sponsored by Antonio Villena with (t)his RTC which has solder Pins for i2c and 3.3v power. But without some Pin-Text on the Board
I have attached the drawing he sent to me. https://www.antoniovillena.es/store/pro ... h-battery/
The tool works well and should run wherever .NET Core Framework 3.1+ is installed. Actually only testet on Windows.
I have tested it by dropping an folder with XPM's onto the "XPMtoPIX.exe" file, Voila
From the XPMToPIX.txt: Converts all XPM images in a folder to PIX used by MiSTer i2c2oled.
Usage:
XPMToPIX [folder]
If you run XPMToPIX without the folder argument, then XPMToPIX will convert
all XPM files in the folder where XPMToPIX was run from.
set_cursor 16 2 # Set Cursor at Page (Row) 2 to the 16th Pixel (Column)
showtext "MiSTer FPGA" # Some Text for the Display
sleep 1.0 # Wait a moment
set_cursor 16 4 # Set Cursor at Page (Row) 4 to the 16th Pixel (Column)
showtext "by Sorgelig" # Some Text for the Display
...and the result.
TextFont_small.jpg
Update 2
If no PIX is available the Corename is now shown instead of the "No Picture available"-PIX.
You need to add "misterheader.pix" (see Github) to your system.
Corename_with_Header_small.jpg
Re: i2c2oled (little brother of tty2oled)
Posted: Thu Apr 29, 2021 1:55 pm
by venice
Press Play on Tape >>>
MiSTer_Kirk wrote: ↑Wed Apr 21, 2021 12:53 am
...
Was thinking something like an animated 1541 drive would be superb, or for Atari - the 1050, or even a 1010 cassette drive.
Font based Animation Demo
It's a mix of an Background PIX and two "Icons"
//Edit Update uploaded to Github.
The tiny Data(s)sette-Animation runs before an Corename-PIX is loaded.
You need the "pressplay.pix" (see Github) on your system.
Re: i2c2oled (little brother of tty2oled)
Posted: Thu Apr 29, 2021 5:18 pm
by MiSTer_Kirk
Thats ace. I need one of these now.
Re: i2c2oled (little brother of tty2oled)
Posted: Fri Apr 30, 2021 2:00 pm
by venice
Update
10-Step "Loading..." Animation added.
You need the "loading.pix" (see Github) on your system.
You need the "ncc1701.pix" (see Github) on your System.
Just a test to see if pixel scrolling is working.
//Edit
I uploaded the PIX Slideshow-Viewer "i2c2oled_slideshow.sh".
Add it to /media/fat/Scripts, make it executable and run it from CLI, SSH or from the Script Menu.
You will see if your PIX are fine or producing calculation errors because of too much/less Pixels.
Re: i2c2oled (little brother of tty2oled)
Posted: Thu May 13, 2021 7:20 pm
by lui sito
any scheme to connect in for officcial addons , (non villena´s style) ?
Re: i2c2oled (little brother of tty2oled)
Posted: Fri May 14, 2021 6:35 am
by venice
lui sito wrote: ↑Thu May 13, 2021 7:20 pm
any scheme to connect in for officcial addons , (non villena´s style) ?
Do you mean the official RTC Board?
If Yes which version?