Virtual Dash Solutions?

Free Open Source Software project discussion forum. Post your Free Open Source software projects here!
Post Reply
superlen
DIP8 - Involved
Posts: 25
Joined: Tue Aug 20, 2013 9:52 pm

Virtual Dash Solutions?

Post by superlen »

Hi,

I was wondering if anyone knew of some virtual dash applications that accept their input via an ethernet socket.

I have a gui front end to communicate with my ecu & I implemented a down and dirty virtual dash just for testing. Currently I just read the ECU and control my widgets directly on the screen via the same application/thread, but it occurred to me that I if I set up the architecture for the virtual dash component to receive it's data over a socket (usually just localhost if you're tuning on the laptop) the "dash" could be anywhere such as your laptop....or a professional tuner/mechanic miles away, or both simultaneously, ect.

Then it occurred to me that someone else has probably has already done this. :)

I also have plans to just tunnel the serial port commands to/from the ecu to/from a socket via the host PC so the tuning application could actually be remote as well. Once this is done, I wouldn't really need the Virtual Dash to have sockets, but I would still like to integrate a nicely written virtual dash with skins if possible into my application. Any thoughts/ideas?

Lenny

Note: I realize there are applications that mimic entire screens/computer control. This is not what I'm looking for.
malcom2073
LQFP112 - Up with the play
Posts: 211
Joined: Tue May 01, 2012 4:17 pm
Location: Shrewsbury PA
Contact:

Re: Virtual Dash Solutions?

Post by malcom2073 »

I was looking into doing TCP communications with EMStudio a while back, but it never really went anywhere. It would be easy enough to tunnel the serial stream over TCP, both directions even.

What software are you currently using for your dash and UI frontend?
superlen
DIP8 - Involved
Posts: 25
Joined: Tue Aug 20, 2013 9:52 pm

Re: Virtual Dash Solutions?

Post by superlen »

I'm using Borland C++ Builder. I went ahead last night and coded up some gauges & the structures needed to give me some basic skin functionality. I didn't add in the socket connection, but that's pretty easy for me. I've done some socket server/clients with Borland and have other projects I can rip my code out of and port over. For now, I just needed some "pretty" on the screen as I was tired of looking at my crappy guages I've been using while testing the firmware.

Here's some pics/details of the quick gauges I came up with last night.

A Grey/Silver one
Image

A Gold Skin
Image

A Tan one
Image

I did a red and a blue as well. The red looked quite evil (which was the point) but I didn't have tick mark color changeable at that time so they were a bit hard to read. I want to do a nice vintage 1900's looking one as well.

I first used photoshop to create the image of the dial that I can play with face gradients & bezels. Then I save out the skin (just the dial face with NO number/tickmarks, nothing other than the blank face & bezel) as a .bmp. HellTune then uses the single skin.bmp for all the gauges drawn. Big, small, medium, all the gauges sizes use the same base bitmap, and then I draw whichever sensor ID I want on the face using a gauge definition. The definition defines the number of ticks, min,max, needle color, highlight colors, ect.

This widget needs more attention & I have to add more gauge definitions but it works well now and is fun to see work on the bench with the HellFire ECU sending me live data.

Note: By exposing the definition in the form of a simple text file which the user can select, the virtual dash does in fact become somewhat skinnable, although it might be a bit cumbersome & not "WYSIWYG". They can of course select different background .bmps as well as well as a frameless form bitmap. What I really want it to code up a nice object styled editor where the user can click on a gunge, set the parameters on the fly, drag it around the screen, ect. It's not that hard, but I have other portions of the code that I need to finish up as well as firmware before my product release, so the full skinner will have to wait.

Len
Post Reply