RomRaider Logo

RomRaider

Open Source ECU Tools
 FAQ •  Register •  Login 

RomRaider

Documentation

Community

Developers

It is currently Sat Feb 21, 2026 10:42 pm

All times are UTC





Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: Logger Interface Spec
PostPosted: Thu Sep 14, 2006 3:37 pm 
Offline
RomRaider Developer

Joined: Wed Jul 12, 2006 1:25 am
Posts: 1025
This is especially for kaskade and qoncept, but others might find this interesting or worth their time to add their 2c.

kascade: I love what you've done, no complaints, what I'm bringing up in this thread is to help future proof your efforts. Awesome stuff man!

I've gotten a few random PM's asking about future logging support for things like LM1's and TXS Tuner Pros etc. There is more than likely the chance that we might decide to support other devices in the future. Basically anything that provides useful information relevant to driving a subaru, might be something we want to log.

I'm proposing we define an interface for such devices for other devs to code against. A published interface that a dev can provide an implementing JAR for a piece of hardware is the way to go.

What I'd like to see is (yes, I like ordered flow, Im anal)

1) User wants a new device of whatever functionality supported.
2) Dev has hardware at hand.
3) Dev codes a JAR against published spec.
4) We dump said JAR into a folder of JARS that all implement said interface providing support for misc harware.
5) Upon RomRaider startup the logger scans the logger dir for any such jars, pulls needed information from jars and provides their functionality to the end users.

Here is a proposed set of interfaces

Each logger would have a jar that implements this interface:
Code:
public interface LoggerInterface {
   //A place to register to listen for new logger information
   public void addLoggerListener(LoggerListener loggerListener, String loggerName);
   
   //Names of available loggers (AFR, KNOCK, Accel, etc), same name as used in above method.
   public String[] getNames();
   
   //Axes name values
   public String getXName(); //Left - right
   public String getYName(); //Up - down
   public String getZName(); //Into monitor
   
   //Logger dimension information
   public double getMaxXValue();
   public double getMaxYValue();
   public double getMaxZValue();
   
   //Logger state commands
   public void initLogger();
   public void stopLogger();
   public void startLogger();
   public void pauseLogger();
   public void resetLogger();
}


The RomRaider logger would register with the above interface by implementing the below:
Code:
public interface LoggerListener {
   public void newLoggerValue(LoggerData data);
}


A specialized class for passing data between listeners is often helpful, we can add and remove with ease:
Code:
public class LoggerData {
   private double value; //Value of new data
   private String loggerName; //need to know what type of data this is
   //etc....
   
   
   public LoggerData(double value, String loggerName){
      this.value = value;
      this.loggerName = loggerName;
   }

   //Getters
   public double getValue() {
      return value;
   }
   public String getLoggerName() {
      return loggerName;
   }
}


If something like the above was in place, I could more easily get off my butt and add TXS Tuner pro support. ;)

This is just a quick hack, we'd probably need something diff, but you get the idea.

-Eric-


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 14, 2006 9:21 pm 
Offline
RomRaider Developer
User avatar

Joined: Sun Jul 16, 2006 4:09 am
Posts: 644
Location: Brisbane, Australia
I agree we need a common interface for the support of external sensors, I'm just not sure exactly what form it will take yet. I think you're on the right track though. Once the new wideband sensor arrives here down under and I can play with it I think we'll have a clearer idea of how to set it up. Pluggable sensors like you're suggesting would be cool.

_________________
Paul.
------------------------------------
MY04 Forester XT (Aus. spec)


Top
 Profile  
 
 Post subject:
PostPosted: Sun Sep 17, 2006 3:53 pm 
Offline
Administrator
User avatar

Joined: Fri Jan 13, 2006 4:33 pm
Posts: 2079
Location: Palo, IA
I don't know how many times I planned on replying to this but forgot... But yeah, this would be a great idea.

I've also been thinking about a similar interface for realtime tuning. While we're writing memory to the ECU's RAM, the Honda guys use the ostrich/romulator which will use completely different interfaces.

_________________
- Jared


Top
 Profile  
 
 Post subject:
PostPosted: Sun Sep 17, 2006 4:46 pm 
Offline
RomRaider Developer

Joined: Wed Jul 12, 2006 1:25 am
Posts: 1025
qoncept wrote:
I don't know how many times I planned on replying to this but forgot... But yeah, this would be a great idea.

I've also been thinking about a similar interface for realtime tuning. While we're writing memory to the ECU's RAM, the Honda guys use the ostrich/romulator which will use completely different interfaces.


Thats also a good place to us an abstract interface. I bet we could think of a number of areas to provide easer tie ins to RomRaider.

As far as the logger goes, once the LM support is in place, kascade will have a good idea of a general set of interfaces that might work across many logging peripherals.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 20 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Style based on FI Subsilver by phpBBservice.nl