10 Years Behind The Times (RE: VGA)
JonnyMac
Posts: 9,104
in Propeller 1
I'm a bit of a JonnyMac-come-lately when it comes to VGA output from the Propeller. Until last weekend, I never cared. Then a customer said he wanted a simple scoring system for his laser-tag game, and he didn't want to have to use a computer to run it. As a programming exercise I knocked up a little demo using a Propeller BOE. The taggers use XBee to send a system message description who just "eliminated" them. This message is used by the taggers to keep track of team scores, and the scoring system to keep track of team and individual statistics. In the end, the team with the most victories wins. If two or more teams are tied, the number of losses is used to determine the winner. The final display also ranks individual taggers by performance (again, if tied for wins, tie-break is via losses).
I spent about four hours coding and the client is thrilled. Now he wants to make it a product which means a board layout and enclosure. For those who have created PCBs with VGA output, I'm looking for connector suggestions.
The VGA driver started with Chip's vga_text object, then I put my spin (pun intended) on it. Comments and suggestions are always welcomed. Essentially, I'm treating the VGA display like a giant LCD with colors.
I know... it's dirt simple. Sometimes simple makes customers very happy.
I spent about four hours coding and the client is thrilled. Now he wants to make it a product which means a board layout and enclosure. For those who have created PCBs with VGA output, I'm looking for connector suggestions.
The VGA driver started with Chip's vga_text object, then I put my spin (pun intended) on it. Comments and suggestions are always welcomed. Essentially, I'm treating the VGA display like a giant LCD with colors.
I know... it's dirt simple. Sometimes simple makes customers very happy.
Comments
Depends if you want cheap or compact
The common compact one used, I think is this
https://www.digikey.co.nz/product-detail/en/edac-inc/634-015-274-992/151-1125-ND
good stocks at Digikey
Cheapest are geneic/standard ones like
https://www.digikey.co.nz/product-detail/en/amphenol-fci/ICD15S13E4GX00LF/609-5181-ND
-Phil
That is something that has needed updated for awhile. We have mini-HDMI with high definition video and audio.
I have a Propeller proto board I installed a VGA connector on for a project, after deciding against the project. I had multiple times I could have used that board, but nothing in VGA.
-Phil
There really is no reason you can't use the connector of your choice is there?
-Phil
Specialize.
This is a shot of one with my USB serial module plugged in for tests. Field units would have SMPS and possibly XBEE added. The 12V TV monitors are great as I steal power from that connection too.
-Phil
edit: I've also considered using 10-way IDC with one row all grounded.
[See my update/mistake below for the following] Hmm, Jon, if cutting into your header, what you might do is partly or fully eliminate the horizontal line under "Congratulations" (at least on the left side) as well as the "Congratulations" text line itself to accommodate a 12-player listing. Then, just use a single line of inverse video (such as black or blue text on a white background) across most (or all of the) top. While the Propeller font box lines you use look nice, they *perhaps* don't stand out at the top in the header area as much as a single line of inverse video text would. At least that's what my eye tells me after having had a lot of experience designing various displays and making needed compromises to work with various fixed-position tile map displays. I'd also like to suggest something for the "WIN" and "LOS" headers, but I can't think of what it would be (though perhaps using a two-letter abbreviation would be sufficient if the totals will hit double figures at most).
Update: Doing what I suggested for the inverse video header at the top would, I think, require redefining at least one or two of characters in the font to get flush sides on the left and right, which would require driver modifications. So maybe that's not feasible. I think it would look good if possible, though. Maybe you don't need things perfectly flush, not sure, need to re-think it. Of course, your header line at the top could go all the way across, edge-to-edge, but that might look a little funny (not match up with your box lines). Yeah, I forgot that I was using a driver that allowed some of the font characters to be remapped and user-defined. Sorry about that. But I still like the idea of a reverse-video top header. So, you might consider dropping the box lines on the left and right sides, which could be considered superfluous, anyway, or maybe make the screen too busy as they are close to the bezel edges anyway (though, overall, I like them) As mentioned, there are almost always compromises to make with these tile-map screens, but with some fiddling (like by using user-defined characters) and thinking about abbreviations and centering and so on, one can usually come up with something that looks stylish enough, if not beautiful, which you've already done. So, as with my other comment, likely ignore it if you are using a scrolling player list. But if there are a maximum of 4 teams and each team has a maximum of 3 players, then I'd consider listing/displaying all 12 of them on the screen at the same time with no need of scrolling, as one usually wants to look at a scoreboard at a glance without the need for scrolling. That might be a lucky coincidence, though. But as you suggested, simple is good.
My request for suggestions was on the VGA object and connectors, but thanks for the thoughts. This is going to be for a low-cost product. Next we'll work on an RPi version with a fancier output.
Another VGA object that pretty nice is Kye's VGA64_TMPEngine. I believe it's the one that can mix boxes with text (though I may be thinking of one of his other drivers (which might not be in the Obex)), kind of a enhanced tile map driver, though it takes more buffer memory for such functionality (which is why I haven't used it recently 'cause I'm typically memory constrained). If I recall correctly, you can display text down half a row, which sometimes helps with vertical centering. Anyway, it's a 40-column driver, which would mean that characters would be somewhat narrower than what you have with Chip's driver. And since you're doing a scoreboard (that might not be read up close), then having wider characters (like you already have) is probably better (unless you need more columns for names, etc.). Still, I thought I'd mention Kye's driver for future reference, as the boxes it allows to mix in with text could come in handy at some point. Or perhaps a driver like that could give you "fancier output" without moving to RPi, though there might be other reasons for moving. Gotta love the reliability and simplicity of a Propeller-based solution, though, whether as a prototype or in production.
We have other reasons for moving to the RPi (or laptop) for the fancier output. There has to be a very clear distinction between the low-cost product, and what's offered above it.