Early Glimpse at Logger Project

Very early stage, got some important parts working. Screenshot taken on Linux as usual:

Already implemented:

  • Zoomable data view (Ctrl+Scroll, Ctrl-Plus/Minus, Ctrl-0).
  • Nested categories similar to files & subfolders.
  • SSM2 via CAN or serial connection. CAN is just great – can log 100 items and still get a decent sample rate…
  • Fast formula engine (compiles formulas at runtime, supports complicated expressions like if-then-else e.g. for gear calc)

To do or to consider:

  • Log into (zipped) CSV file.
  • Add diagnostic and maintenance procedures, especially for diesels.
  • ROM-specific database system to include RAM variables.
  • Graphs/dashboard views.
  • Items can have tags – in case categories, IDs, description and search capability is not enough.
  • Include more control units and protocols (VDC, BIU, TCU, OBD-II, CAN, …)
  • Save binary data and replay in offline mode.
  • Priority groups (especially useful for slow serial protocol).
  • Include GPS data stream.
  • Plugin system

Note: Even with just basic features, it may take months till first public release, all depends on contribution we get vs. resources.


4 responses to “Early Glimpse at Logger Project

  1. Hi:
    Have you considered the function at 0x6C174 in JZ2F401A which reads and converts the same RAM values as the individual SSM routines do, but stores the results in contiguous RAM starting at 0xFFFF9D70 (EngineSpeed2B). There are 35 2-byte values followed by 37 1-byte values. These 107 bytes could be read faster with the SSM A0 BlockRead command than selecting a number of individual parameters and using the A8 AddressRead command. The logger then just needs to map this contiguous result set to the various parameters for conversion and logging.


    • Hi, interesting point.
      I’ve just started to look into this function. Tons of getters called at the beginning, often requesting failsafe values.

      Stores (reduced) data, addresses specific to JZ2F401A, some examples:

      EngineSpeed,word,FFFF9D70,x/(5.12) [1/min] (!)
      VehicleSpeed_Failsafe,byte,FFFF9DB6,x [km/h]
      CoolantTemp_Failsafe,byte,FFFF9DB7,x-50 [°C] (!)
      ManifoldAirTemp_FailSafe,byte,FFFF9DB8,x-50 [°C] (!)
      CommonRailPressure,byte,FFFF9DCE, x [MPa]

      Notice some have different formulas – unlike SSM2 or OBDII sampling.
      Most target addresses have unused getter functions it seems.

      Don’t know much about the main function’s purpose yet. Preparing freeze frame data maybe? Can’t xref to any OBD function though.
      OBDII mode 1 = sampling, uses different conversions, often like SSM2.
      OBDII mode 2 = freeze frame – don’t have specs for this but I suspect dealer app uses this method.

      My guess is the data is not meant for sampling as it uses many failsafe values instead of latest sensed values.
      But you’re right, RAM dump shows data is correct, dumped using A0-block-read requests. Dumping this memory area via SSM2-serial is allowed on stock ROMs.
      All addresses are ROM-specific (predecessor ROM JZ2F302A: EngineSpeed word at FFFF9D2C).
      Theoretically, one could write special code + definitions in order to sample those data. People with CAN capable interfaces probably won’t care, for serial-only it might be worth the effort. Now, if we had spare developers…

      What about gasoline ROMs? Do similar functions exist there, too?
      Has any (let’s say CAN area) gasoline ROM been analyzed almost completely yet by the community or just functions+data that matter for tuning?


      • Update: Conversions x-50 for temperatures and x/5.12 for RPMs are strange. Not used by either OBDII or SSM2. But some AT ROMs and older/special ECUs/PCUs did/do use these exact conversions.


      • “What about gasoline ROMs?”
        Yes they include a similar function but many reference the same RAM as the SSM call, others do not so maybe they are failsafe or duplicate locations of the same parameter.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.