JopenECU v0.01 Alpha release

User topics relating to software that logs data from ECUs

Moderator: Freon

JopenECU v0.01 Alpha release

Postby ll » Sun Jun 05, 2005 9:30 pm

Download

Scroll to the bottom. Attachments there ( you must be logged in)


Installation

1. Java JDK 1.5: http://java.sun.com/j2se/1.5.0/download.jsp I'll assume you know how to set that up.
2. The RXTX release for your system http://users.frii.com/jarvi/rxtx/download.html Make sure to get the one "For use without Sun's CommAPI" Second one down.
JAVA_HOME = The directory where the Java 1.5 JDK is installed.

cp rxtx-bins.1/1.4/i386-pc-linux/libParallel.so JAVA_HOME/jre/lib/i386/
cp rxtx-bins.1/1.4/i386-pc-linux/libSerial.so JAVA_HOME/jre/lib/i386/

If you are installing on an architecture other than an x86, you'll need to adjust both the /i386-pc-linux/ and the /i386/ accordingly.

Next, you'll need to install the jcl.jar file:

cp rxtx-bins.1/1.4/jcl.jar JAVA_HOME/jre/lib/ext/

That's IT!

3. Apache's ANT: http://apache.intissite.com/ant/binaries/apache-ant-1.6.5-bin.zip


JopenECU Usage & Client Configuration

Configuration for this tool is defined in three places:
    1. the openECU.sh wrapper script. Here you select the Port and Monitor (The Monitor is responsible for communication with the ECU). You should not have to change the monitor, ever, except for development and testing. The default port is "/dev/ttyS0" windows ports would be "COM1", "COM2" ect. These are as defined by the RXTX api. google for "java RXTX" for more information.
    2. conf/ecuparam.xml. Defines ECUParameters for this vehicle (the provided file defines parameters for an '03 WRX) and meta-parameters, more on this later.
    3. arguments passed at run-time

Usage (At least one renderer and one parameter MUST be specified. -file is required when csvfile is specified as a renderer):
Code: Select all
sh openECU.sh -render console csvfile -param RATE TIME EGTF RPM MPH Boost -file /tmp/run2.csv



HowTo edit ecuparam.xml & Understanding parameter types

1. Globals. These are always available and do not appear in the config. Currently the only two globals are RATE and TIME. Rate is the number of updates received from the ECU per second, TIME is the elapsed time since logging began.

2. configured parameters. These appear in the config and represent the natively supported ECU parameters. Using these parameters you can configure this tool to work with *any* SSM aware ECU. Here is an example EGT in celsius :
Code: Select all
<parameter>EGTC
        <address>
            <byte>0x00</byte>
            <byte>0x01</byte>
            <byte>0x06</byte>
        </address>
        <handler>org.openecu.param.conversion.ssp.EGTC</handler>
</parameter>


There are three components:
    A. a Name (EGTC), it can be anything you want but no spaces or special characters. It will be referenced by this name on the command line and in the log.
    B. 3-byte address from most to least significant
    C. a handler to convert from the ECU's returned value to something more useful (These are optional).


3. Meta parameters. These represent values derived from one or more ecu parameters or other values. Their syntax looks like this (This is the complementary Fahrenheit conversion for our Celsius EGT):
Code: Select all
<meta-parameter>EGTF
        <handler>org.openecu.param.meta.EGTFParam</handler>
        <args>
            <arg name="EGTC" value="EGTC"/>
        </args>
</meta-parameter>


They have three components:
    A. A name, has the same meaning as regular parameters.
    B. One or more arguments. These are explicitly defined and understood by the handler.
    C. The handler for this conversion. It is not optional.



Development

Creating your own (normal) parameter and Handler:
    1. Declare a new handler in src/org/openecu/param/conversion/ssp. (It is easiest to simply copy an existing one and make your changes to the intResult method).
    2. Declare a new parameter in the config.
    3. Execute ant clean; and then ant package;

Ant Targets (ant <target> from the openECU directory):
    1. clean: remove all generated files (delete the openECU/build directory)
    2. compile: compile all *.java files in src/ to build/classes
    3. package: create openECU.jar archive in build/ (this will be expanded to create an entire "deployment" later)



Notes

the "Q" character will stop a running logger nicely ("shift-q ENTER" while the logging window has focus). ctrl-c works as well but it does not shut down the port properly or flush the log buffer (if you're using the csvfile renderer). An InterruptedException is normal when using "Q" to stop the logger (for now, anyway).

Due to some serious time constraints (getting married in a week) I wasn't able to compile a complete set of parameters for my '03 WRX.

The SSM Monitor is pretty aware and will automatically restart logging if the connection to the ECU is lost or a bad message is received. (You can pull the ODB-II plug out, and back in and the logger will resume automatically).

The default behavior of the csvfile renderer is to delete an old log if it already exists. Remember to change the name of the log or move it!

This is ALPHA software! It might crash or otherwise behave oddly. If you think you've found a bug please send me a PM.

I have *not* tested this software on Windows at all. It should work but I can make no assurances.

If you want to contribute to this code please send me a PM. Eventually I would like this tool to have a similar functionality to Delta Dash. I'm making this early release to (hopefully) keep interest in openecu.org and possibly get someone else to put together the configs. for all the other model years =].

Boost = Manifold Relative Pressure. Seemed to be incorrect for that designation. I only hit 12psig @ WOT, 3rd gear pull. I expected to see 14.7



Enjoy!

-LL
Attachments
run.txt
Sample log
a csv file, but that extension is not allowed.
(29.1 KiB) Downloaded 1017 times
JopenECU.zip
Alpha release V0.01
(403.86 KiB) Downloaded 567 times
Last edited by ll on Tue Jun 07, 2005 6:21 am, edited 4 times in total.
ll
 
Posts: 6
Joined: Wed Jun 01, 2005 12:43 pm

Postby cboles » Mon Jun 06, 2005 6:56 am

FYI, you can post downloads on this forum. Feel free to do so if you are having problems hosting them at home.
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Postby ahains » Tue Oct 25, 2005 7:34 am

Any idea if this would work with J2ME on a Palm Pilot?
Thanks!
Adrian
ahains
 
Posts: 83
Joined: Mon Jun 06, 2005 12:59 pm
Location: Renton, WA

Postby NoCtrl » Fri Mar 10, 2006 12:39 pm

Is this project still alive?
NoCtrl
 
Posts: 55
Joined: Sun Nov 13, 2005 10:37 am
Location: Norway


Return to Data Logging Software

Who is online

Users browsing this forum: No registered users and 7 guests