Digital dash I started working on

User topics relating to software that logs data from ECUs

Moderator: Freon

Digital dash I started working on

Postby neutronium » Sun Oct 23, 2005 9:45 pm

Well, since no one else had released a live dash display I finally stopped being lazy and have started writing my own.


It's written in java so it should work on any platform with a working JRE. You will need java 1.5 so make sure you have that installed.

Be sure to check page 4 of this thread for info on the latest release

Another update 11/12/05
Here we go again. No one's probably even had a chance to use the latest version and already I've updated it. I had a fair amount of time to work on it today and I've updated a few nice things.

The background image now resizes after you resize the window so no need to restart the program.

I've also replaced the menu bar with a button menu that should be much more touchscreen-friendly. To get to the menu click on the scooby view icon in the bottom left corner. It still only has the exit and add commands at this point but the add command does include all of the current displays.

I've also updated the archive structure and java arguments so that the needed RXTX files are now in the lib directory and java is pointed to them so you can extract the scooby view folder anywhere and should be able to run it without worrying about the RXTX files.
Note: this may not be working properly at the moment. It's still probably a good idea to install RXTX manually as described below.

Pretty much everything I've implemented so far is working as I intended so this will be the 0.01 release.

Hope you like it.
Quick update 11/12/05
I spent a little time with my limited artistic skills to create a new background. I think it looks pretty good but let me know what you think. Ive updated the screenshot and rar to include this new background.

As you'll see, I've also named the program ScoobyView, do you guys like that name? Got a better suggestion?

Also of note that I forgot to mention yesterday is the displays added since the last release are not on the add menu. So, if you remove them you won't be able to add them again without manually editing the gauge.dat file. This is because I plan to replace the menu bar with a button menu so I didn't bother updating it. The .exe launcher is not in this release either as it was not updated and no one really seemed to be using it. I plan to add a nice installer and launcher at some point but it's low priority right now.

UPDATE 11/11/05
Well, after a whole lot of trial and error, I think I've finally found a nice way to get transparency working well in Java. So, I'd figure I'd give what I've got to you guys for some testing. I've uploaded a new rar with the transparency effect that you can see in the screenshot at the bottom. I'll leave the old rar up too in case you don't like the new effect or have some other problem; since, at this point, you can't turn it off.

The background image was quickly whipped up in GIMP for demonstration purposes. You should be able to replace the bg2.jpg image with any jpg or png of your own and it should work. Also, if you have an image that you think would make a neat background go ahead and post it and I'll include it as the default.

A note: The background image is scaled to fit the window but only when the program starts, so if you resize the window, you should restart the program.

Also new in this release is the ability to hide the window border. Simply click anywhere on the frame except for a display and the border should hide. Click again and it will come back. Do this on a maximized window for a nice fullscreen effect.

Clicking the X in this release will save your layout changes so no need to use the file>exit all the time anymore.

The transparency does add a fair amount of cpu load but hopefully it's still acceptable. I will, of course, add the option to turn off transparency so if it is too demanding on your system you will eventually be able to turn it off.

Let me know how it works.

END OF UPDATE


UPDATE 11/2/05
I havn't had as much time as I would have liked to work on this but I've uploaded a version with what I have so far.

What's different:

IAM is now displayed as well but will only work initially for USDM 05 WRXs I believe. If you know the IAM address for your car however, you can edit the ecuparam.xml file in the /conf directory.

The boost gauge is larger as well as much better looking. The needle is thicker as well. This will cause a slightly higher CPU load but it should still be acceptable.

The window can be resized and the displays moved and hiden. To move a display simply drag it to a new location. You'll notice the max, min and info labels don't move along with the display but they will move to the display's new location when the program is restarted. To hide a display simply click on it and select remove. To see the display again select file>add and then the display. At this point however, only the displays you see when you first start the program are supported, trying to add other displays will do nothing.

NOTE: You MUST close the program by selecting file>exit otherwise any layout changes will not be saved. This will be fixed soon.

I have also updated the picture at the bottom of the post. You can ignore the values displayed as they are just random test values.

The next things I plan to add are the ability to set text size and color and to support a lot more parameters.

Let me know what you think.
END OF UPDATE



UPDATE

I have changed the rar archive to include the needed rxtx packages and will install them to their default locations if you extract to your C:\ drive. If you did not use the default path for java or do not have jre1.5.0_05 you will still have to copy the rxtxcomm.jar file manually as described below.

I have also added a small launcher application written in VB to make starting the program easier. Instead of editing the .cmd file simply run the openECUgui.exe program, browse for your java.exe if it is not in the default location, select your com port and click launch. If this does not work for some reason you can still use the .cmd file as described below.

The dash also now displays peak values for the 3 fields and has a menu bar. Although, all the menu bar does at the moment is quit the program.

END OF UPDATE


You will also need the RXTX package for your OS. go to http://users.frii.com/jarvi/rxtx/download.html and download the package for your OS under the "For use without Sun's CommAPI (namespace gnu.io)".

For windows unzip the rxtx-2.1-7pre17 file and copy the dll's to your WINDOWS/system32 directory and put the jar file in /jre/lib/ext/ inside your java directory (probably "c:\program files\java\jre1.5.0_05\jre\lib\ext).

Now extract the attached rar file at the bottom of this post.

Now you must edit the openECU.cmd file in notepad or some other text editor. Change "COM3" to whatever com port your ecu is connected to.Try running the cmd file, if your get an error about the java variable you'll have to change java to the absolute path of your java.exe (most likely "c:\program files\java\jre1.5.0_05\bin\java.exe").

Now double click the cmd file and the display should start. Your car may have to be connected and running before you start i'm not sure.

I know it's a little complicated to get started but I haven't had time yet to add a nice interface and wanted to let you guys see what I have so far.

Now if you got it running, hopefully it's working pretty well. I know it's not very pretty right now (I whipped up the gauge picture in MS paint in about 3 minutes) but you can see what I'm working toward. I want to get everything working before I worry about it being pretty.

As you can hopefully sees it displays boost, knock correction, and egt pretty well but right now that's all it does. It can't be resized and doesn't have any controls but these things won't be hard to add.

What I'm looking for in feedback is basically how the dash should look. I just put 3 values in 3 different kinds of displays for testing but what else should it display? What values in what kind of gauge? I'd like some suggestions.

Also, I'm a programmer, not an artist so if someone wants to create a prettier gauge picture that'd be great too.

Well, let me know what you think. I plan to add controls to allow the user to move and configure the gauges among other things so hopefully I'll have a much nicer version out very soon.

Image
Attachments
ScoobyView0.03ish.rar
(3.05 MiB) Downloaded 728 times
ScoobyView0.02.rar
(1.36 MiB) Downloaded 738 times
Last edited by neutronium on Mon Oct 02, 2006 12:20 am, edited 20 times in total.
neutronium
 
Posts: 45
Joined: Wed Jun 22, 2005 4:06 pm

Postby qoncept » Mon Oct 24, 2005 7:31 am

Awesome! I'd like to make a gauge face for it, but I'm afraid I'm a bit too busy at the moment. Maybe in the next few days.. FWIW, I think it'd be good to make the display as customizable as possible. IE, choose the size and number of gauges, skins, scaling the values on the gauges and such. Hopefully my cable will get here in the next couple days and I can help you test it. Do you plan on releasing the source?
qoncept
 
Posts: 249
Joined: Tue Oct 04, 2005 6:43 pm
Location: Montgomery, AL

Postby neutronium » Mon Oct 24, 2005 7:37 am

Yeah, I plan to make it fully customizable before it's finished, it's just that will probably be one of the last things I add. I plan to post the source once it's more complete but it'd just be pointless at this super-early stage.
neutronium
 
Posts: 45
Joined: Wed Jun 22, 2005 4:06 pm

Postby cdvma » Mon Oct 24, 2005 10:13 am

Looks good. Just a heads up - I spent a LOT of time programing some advanced stuff in Java and it ended up being way too slow for real-time processing with a decent refresh rate. If you know any other languages I'd shoot for those platforms.
cdvma
 
Posts: 86
Joined: Tue Jan 04, 2005 9:18 pm
Location: Roch. Inst. of Tech.

Postby neutronium » Mon Oct 24, 2005 10:34 am

Yes, I did hit some speed problems initially and I almost abandoned using java but I discovered the performance hit was due to my gauges being too large. Java has a hard time processing large images but if I keep the gauges this size I can display two dial gauges and several other text and bar gauges with only 10-20% cpu usage on my 1.4ghz laptop and an update rate of about 10 times per seconds. Which for what I intend this program to do, display 4 or 5 important values on a relatively small screen like an in-dash lcd, that speed is sufficient.
neutronium
 
Posts: 45
Joined: Wed Jun 22, 2005 4:06 pm

Postby neutronium » Mon Oct 24, 2005 12:27 pm

Check original post for an update.
neutronium
 
Posts: 45
Joined: Wed Jun 22, 2005 4:06 pm

Postby cboles » Mon Oct 24, 2005 1:04 pm

I'm starting to write some OpenECU apps in C++ using Qt for platform independent GUIs, I/O, and threading. It looks pretty clean, fast, and useable. If you are looking for another platform, check this out.

Colby
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Postby neutronium » Wed Oct 26, 2005 5:34 pm

A little progress update. I've added the ability to move and remove existing displays and I'm in the process of adding the ability to add new displays. After that I'll add the ability to edit size and color and such and then the display will be almost completely customizable.
neutronium
 
Posts: 45
Joined: Wed Jun 22, 2005 4:06 pm

How to fix this error

Postby megafrenzy » Sun Oct 30, 2005 10:15 pm

C:\Program Files\openECUgui>set MONITOR="org.openecu.comm.SSPMonitor"

C:\Program Files\openECUgui>set PORT="COM4"

C:\Program Files\openECUgui>set JAVA_OPTS="-Dconf.dir=.\conf -Dparameter.file=ec
uparam.xml -Dmonitor="org.openecu.comm.SSPMonitor" -Dmonitor.port="COM4""

C:\Program Files\openECUgui>set MYCLASSPATH=".\build\openECU.jar;.\lib\jdom.jar;
.\lib\junit.jar"

C:\Program Files\openECUgui>java -Dconf.dir=.\conf -Dparameter.file=ecuparam.xml
-Dmonitor="org.openecu.comm.SSPMonitor" -Dmonitor.port= -classpath ".\build\ope
nECU.jar;.\lib\jdom.jar;.\lib\junit.jar" org.openecu.boot.Bootstrap -render dash
board -param EGTF Boost KNK
Error 0x3 at /home/bob/rxtx-2.1-CVS-20050120/build/../src/termios.c(866): The sy
stem cannot find the path specified.

gnu.io.PortInUseException: No error in open
at gnu.io.RXTXPort.open(Native Method)
at gnu.io.RXTXPort.<init>(RXTXPort.java:84)
at org.openecu.comm.SSPMonitor.getPort(SSPMonitor.java:141)
at org.openecu.comm.SSPMonitor.run(SSPMonitor.java:33)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at org.openecu.comm.SSPMonitor.run(SSPMonitor.java:34)
at java.lang.Thread.run(Unknown Source)
megafrenzy
 
Posts: 17
Joined: Tue Sep 13, 2005 9:48 pm

Postby neutronium » Mon Oct 31, 2005 7:50 am

Edit: I looked at the cmd script included in the rar I posted and the problem is actually due to an error, not the reason I explained below. If you look at the command script, you'll notice the port variable is set but never used. To fix this edit the last command:

java -Dconf.dir=.\conf -Dparameter.file=ecuparam.xml -Dmonitor=%MONITOR% -Dmonitor.port= -classpath %MYCLASSPATH%
org.openecu.boot.Bootstrap -render dashboard -param EGTF Boost KNK



You can see in '-Dmonitor.port=' that the port is not used. Change that part to:

-Dmonitor.port=%PORT%

and the program should work. You can also probably see that the JAVA_OPTS variable is no longer used. You can delete that line if you want, it really shouldn't matter either way.

Thanks for the catch.

/edit


This is the error you will get if the program cannot connect to the specified com port.

Edit: instructions removed because this wasn't actually the problem. See above.

You could also use the openECUgui.exe launcher but I realize this can be a hassle if your java is not installed to C:\program files\java\jre1.5.0_05 as it will default to that location on each run. This will however be fixed in the next release.
Last edited by neutronium on Mon Oct 31, 2005 8:17 am, edited 1 time in total.
neutronium
 
Posts: 45
Joined: Wed Jun 22, 2005 4:06 pm

Postby neutronium » Mon Oct 31, 2005 8:14 am

I have updated the .cmd script in the rar to fix the above error. This was the only change to the archive so you do not need to download it if you edited the file manually as described in my last post or if you are using the .exe launcher.
neutronium
 
Posts: 45
Joined: Wed Jun 22, 2005 4:06 pm

More Problems

Postby megafrenzy » Mon Oct 31, 2005 10:44 pm

C:\Program Files\openECUgui>openecu.cmd

C:\Program Files\openECUgui>set MONITOR="org.openecu.comm.SSPMonitor"

C:\Program Files\openECUgui>set PORT="COM4"

C:\Program Files\openECUgui>set MYCLASSPATH=".\build\openECU.jar;.\lib\jdom.jar;
.\lib\junit.jar"

C:\Program Files\openECUgui>java -Dconf.dir=.\conf -Dparameter.file=ecuparam.xml
-Dmonitor="org.openecu.comm.SSPMonitor" -Dmonitor.port="COM4" -classpath ".\bui
ld\openECU.jar;.\lib\jdom.jar;.\lib\junit.jar" org.openecu.boot.Bootstrap -rende
r dashboard -param EGTF Boost KNK IAM
org.openecu.param.ParameterException: Invalid parameter specified: IAM
at org.openecu.param.ParameterRegistry.getParamForName(ParameterRegistry
.java:20)
at org.openecu.boot.Strapper.parseArgs(Strapper.java:84)
at org.openecu.boot.Strapper.start(Strapper.java:34)
at org.openecu.boot.Bootstrap.main(Bootstrap.java:14)

C:\Program Files\openECUgui>
megafrenzy
 
Posts: 17
Joined: Tue Sep 13, 2005 9:48 pm

Postby megafrenzy » Mon Oct 31, 2005 10:48 pm

Also, when I try to execute openECUgui.exe I get:

Applicaton error
The application failed to initialize properly (0xC000135) Click OK to terminate the application
megafrenzy
 
Posts: 17
Joined: Tue Sep 13, 2005 9:48 pm

Postby neutronium » Mon Oct 31, 2005 10:49 pm

LOL, wow another stupid error. I added a version of the cmd script that uses IAM when IAM isn't supported in the program version in the rar. Remove IAM from the last command and it should fix that. I'll again update the rar.
neutronium
 
Posts: 45
Joined: Wed Jun 22, 2005 4:06 pm

Postby megafrenzy » Tue Nov 01, 2005 7:02 pm

Nice, that seemed to do the trick. Still cannot get the exe to work, but the script works nicely.

I was watching my EGT and knock correction all the way to work today.

I know you're not quite there yet, but I'll toss it in for now but for my 7" LCD, everything needs to be bigger, I cannot really see the needle at all. The number is readable and the bar graph is good. Updates on my 1GHz Epia VIA is not bad at all.

I'm looking forward to seeing more.
megafrenzy
 
Posts: 17
Joined: Tue Sep 13, 2005 9:48 pm

Next

Return to Data Logging Software

Who is online

Users browsing this forum: No registered users and 7 guests