tty2oled Soft&Hardware Add-On (Shows Core based Pictures on a Display)
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
tty2oled Soft&Hardware Add-On (Shows Core based Pictures on a Display)
At first: Many Thx to Sorgelig and all Contributors.
I like to share my MiSTer Software & Hardware "Add-On" called tty2oled which shows Text or Pictures based on the loaded Core on a Display.
You can find the Add-On on Github.
<<Breaking NEWS>>
2021-11-26: The new tty2oled Updater supports installation & update of the tty2oled device firmware
2021-11-26: New Tool pixviewer https://venice1200.github.io/MiSTer_tty2oled_Pictures/
2021-10-15: Pictures now with 16 "Greyscale-Level" Support
At first I had the idea to add an OLED-Display showing just the MiSTer Logo.
After a bit of searching I found the possibilty to get information about the actual loaded core out of the file /tmp/CORENAME.
I tried tail -F tmp/CORENAME which results in error messages so I choose cat /tmp/CORENAME in a timed loop.
Later the timed loop was replaced by inotifywait -e modify "/tmp/CORENAME" which makes the system more reactive.
I tried an USB (-Serial) connection between an Arduino and the MiSTer (not MiSTer's User Port)
as this is an standard communication feature on Arduino's and easy to use.
And USB Ports are available for most of the MiSTer users is some way.
My ATMega with an FTDI Serial Adapter was sucessfully detected as /dev/ttyUSB0 by the MiSter.
Later I used an ESP32 with an CP Communication Chip because of storage and speed.
My Display is an SSD1322-OLED with 256x64 Pixel connected via SPI to the ESP32 MCU.
Setup:
The very easiest way to do the MiSTer setup is to use the "Updater". See next Post for direct Links.
If you have questions go first through this thread and the wiki.
Maybe the questions was already answered.
If your problem was not already discussed we need to know your used Hardware and wiring,
which Arduino Program are you using (USB/SD) and add some detailed pictures.
Please do not ask for help via PM, other Forum Users can help as well!
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.
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
tty2oled Add-On
MiSTer Setup/Installation
https://github.com/venice1200/MiSTer_tt ... stallation
Arduino Setup/Install HowTo for Windows
https://github.com/venice1200/MiSTer_tt ... Windows%29
Electrical
https://github.com/venice1200/MiSTer_tt ... Electrical
PCB's
https://github.com/venice1200/MiSTer_tt ... ki/PCB%27s
Gallery
https://github.com/venice1200/MiSTer_tt ... ki/Gallery
Testing
https://github.com/venice1200/MiSTer_tt ... ki/Testing
How does it work
https://github.com/venice1200/MiSTer_tt ... es-it-work
Project History
https://github.com/venice1200/MiSTer_tt ... ki/History
New tty2oled Command Mode
https://github.com/venice1200/MiSTer_tt ... Command_v2
The Command Mode enables tty2oled usage with any other script languages which supports the serial interface.
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Add-On (Showing Corename based Text or Pictures on a Display)
Troubleshooting
Go to:
https://github.com/venice1200/MiSTer_tt ... leshooting
Useful commands for the cli:
Code: Select all
dmesg | grep tty
lusb
If you add USB hardware to you mister it can happen that your display get another ttyUSB Port assigned.
Use the dmesg command from the troubleshooting page and start with only the tty2oled USB device connected to MiSTer.
Then reboot with the other device connected and run the dmesg command again to see the difference.
The lsusb command can help as well. Try it.
Tip
I am using my tty2oled display at the USB Port with the lowest number to be sure to get a/the low(est) ttyUSB Number assigned.
-
- Posts: 121
- Joined: Mon Nov 02, 2020 11:25 am
- Has thanked: 48 times
- Been thanked: 19 times
Re: tty2oled Add-On (Showing Corename based Text or Pictures on a Display)
-
- Posts: 121
- Joined: Mon Nov 02, 2020 11:25 am
- Has thanked: 48 times
- Been thanked: 19 times
Re: tty2oled Add-On (Showing Corename based Text or Pictures on a Display)
-
- Posts: 6
- Joined: Tue Jun 23, 2020 7:47 pm
- Been thanked: 1 time
Re: tty2oled Add-On (Showing Corename based Text or Pictures on a Display)
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Add-On (Showing Corename based Text or Pictures on a Display)
My one is an 3.12" SSD1322 Controller based 256x64 Pixel OLED with at least an SPI Interface from AliExpress.
Most of the Displays support more connection modes (SPI/Parallel) so it's possible you need to change it.
- LamerDeluxe
- Top Contributor
- Posts: 1239
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 887 times
- Been thanked: 284 times
Re: tty2oled Add-On (Show Text or Pictures based on Corename on a Display)
I love the MiSTer community, so active and always so many new creative developments.
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
tty2oled now with SD Card Support
The SD Support add "live" download of the Pictures from SD Card. No need to keep the Pictures in Code.
Go to https://github.com/venice1200/MiSTer_tty2oled for Non SD an SD Versions and some XBM Picture files.
Important:
Both Arduino Versions use updated Serial Speed of 57600 baud so you need to change/replace the MiSTer Script tty2oled as well to support this.
My Current Pictures:
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
-
- Posts: 257
- Joined: Sun May 24, 2020 9:06 pm
- Has thanked: 64 times
- Been thanked: 13 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
Looks like USB from the image above.
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
Correct, USB only.
"USB-Serial" is related to the USB-Serial Chip on the Arduino.
Post your experiences here please.
Updates:
I changed the "Particle Effect" Arduino Code a bit. Works correctly now.
Does onyone knows which font is used on the "Moon Patrol" Logo? I like to rebuild it.
-
- Posts: 121
- Joined: Mon Nov 02, 2020 11:25 am
- Has thanked: 48 times
- Been thanked: 19 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
The used library supports various display-controller and display-sizes.hiddenbyleaves wrote: ↑Thu Feb 11, 2021 10:31 am Is that the biggest oled available for something like this? I can't find a bigger one.
See https://github.com/olikraus/u8g2/wiki/u8g2setupcpp for a list.
I have found entries up to 400X240 (maybe bigger).
My actual Arduino Sketch supports (currently) only the SSD1322 with 256x64 Pixel.
-
- Posts: 210
- Joined: Thu Feb 04, 2021 11:42 pm
- Has thanked: 18 times
- Been thanked: 46 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
Does this help ?Does onyone knows which font is used on the "Moon Patrol" Logo? I like to rebuild it.
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
...and V3 (Final?).
- LamerDeluxe
- Top Contributor
- Posts: 1239
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 887 times
- Been thanked: 284 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
- Show the current track number being read from a disk drive, a tape drive counter would be cool as well
- Show the controller button assignments for the current core
- Show the source display resolution and frequency, maybe the destination as well, like the one that pops up when starting a core.
- Time, WiFi/Network status, Bluetooth Status, IP address, the stuff in the main menu.
- Audio peak/vu meters, that would probably require too much performance.
-
- Posts: 210
- Joined: Thu Feb 04, 2021 11:42 pm
- Has thanked: 18 times
- Been thanked: 46 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
Every known value can be displayed.LamerDeluxe wrote: ↑Fri Feb 12, 2021 8:04 pm I have some ideas for this display, I have no idea if they would be possible:
The Problem is how and where to get them.
And I don‘t know what happens if you send permanently data from the MiSTer to the Arduino.
Does this create Problems with other USB Devices (Joystick Lag).
Maybe @Sorgelig can give us some comments?
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
If I understand the DE10-Nano Board correctly the USB Ports are connected to the HPS Part.
- LamerDeluxe
- Top Contributor
- Posts: 1239
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 887 times
- Been thanked: 284 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
It would need support from the menu core and the individual other cores. I also wonder if it would negatively impact performance, as I read that Sorgelig wrote about performance on the ARM side being tight.
But things like a disk drive track number are exactly the type of thing I'd not want to read on my main display but on an external one. Internal temperature would be another good one to have.
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Add-On now with SD Support (Show Text or Pictures based on loaded Core on Display)
Changed the timed loop from sleep $WAITSECS to an loop with inotifywait -e modify "/tmp/CORENAME".
This makes the system more reactive as the scripts waits for an Core change instead of polling.
Got the idea from here https://misterfpga.org/viewtopic.php?p=18302#p18302
Update SD-Version
Added some more Home Menu Effects (just for fun)
- terminator2k2
- Posts: 36
- Joined: Sun May 24, 2020 6:46 pm
- Has thanked: 27 times
- Been thanked: 22 times
Re: tty2oled Software Add-On now with SD Support (Show Text/Pictures based on loaded Core on Display)
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Software Add-On now with SD Support (Show Text/Pictures based on loaded Core on Display)
You can ask the mt32 develpoper. I have no idea if it's possible.terminator2k2 wrote: ↑Wed Feb 17, 2021 1:02 pm could something like this be implemented into the mt32-pi ? so we could have 1 display that does everything? i love the idea of this
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Software Add-On now with SD Support (Show Text/Pictures based on loaded Core on Display)
-Using the Effects for all Picture/Logo Transistions (not only for the Menu)
-"MENU" Picture moved from Code to the SD, makes it easier to change (if you like)
-Modified Text Position calculation (See Arduino File for Details)
-Show a small "SD-Icon" on Startup Screen instead of the "dot" if SD Card was detected
Re: tty2oled Software Add-On now with SD Support (Show Text/Pictures based on loaded Core on Display)
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Software Add-On now with SD Support (Show Text/Pictures based on loaded Core on Display)
Not that I know.
Such a function would be nice but needs to be supported by the used cores.
- venice
- Top Contributor
- Posts: 788
- Joined: Tue Jun 16, 2020 9:29 am
- Location: Germany
- Has thanked: 278 times
- Been thanked: 278 times
Re: tty2oled Software Add-On now with SD Support (Show Text/Pictures based on loaded Core on Display)
New Logos added: I have adjusted the new uploaded XBM Filenames so they can be used with the SD Version as well.
Many Thanks
//Edit
New Pictures added by RealLarry for:
Chess, Gameboy, GBA, MegaCD, SG1000, VECTREX, VideoPac, Pooyan, SuperBreakout, Zaxxon
Many Thanks