Pages: [1] 2 3
Author Topic: R32Logger for ST10 ECUs is here!  (Read 30843 times)
R32Dude
Full Member
***

Karma: +45/-10
Offline Offline

Posts: 248



« on: July 09, 2021, 05:00:15 AM »

Windows based logger, similar to ME7Logger, which won't work with ST10 ecus, and is easier to use.
Features include pausing logs with space bar, automatic increment of last filename on start and robust connection.

Developed for the VR6 R32 golf MK5 / audi A3 3.2 with the ME7.1.1/ST10 processor but might work with other ST10 ECUs.

You will need RAM locations for your ECU. These are found in A2L files. Or the hard way using IDA. I included the ones for the 022906032CE in the package. Version 1.2 has a RAM dump , useful for getting some codes from the EEPROM mirror and anything else hiding in the RAM.

If the logger crashes the ecu immediately, you just need to manually find another RAM scan range as described below. I only had a 022906032CE and 022906032KG to test and the default memory area works with those. Some audi A3s and probably R32s,  just need a different RAM scan area and will work very well.

Uses K-Line dumb cable.


Written in VB6, tested on XP through to Win10 32&64

What to do if it crashes on first log:
For some ECU versions, logger will connect just fine, but crashes the ecu when it tries setting up for the log.
This occurs because each version of the ecu is different and the logger used an area of ram which was not free, although it looked like may have been.
What you need to do is to do a ram dump of the whole ram area, 380000 to 38fe00. This takes a few minutes if you clicked on the fast timing parameters first. Use the developer section of the logger in the settings menu for the ram dump feature.
Then you look in the dump file for ram areas that look empty (all zeros in a row) and write down a few addresses to try.
Then, delete the cfg file created by the logger file so that the logger will need to search ram areas again. In the advanced menu, change the 383400 for the ram search to what you believe is a good area, and try logging.
If still no good, repeat the process with another ram area. Be sure to power down the ecu for 2 minutes each time to clear RAM, or the pointer will not be found.I can't remember if just the ignition off is enough, but if the logger no longer finds the pointer it was still getting some standby power.
Eventually the logger will be happy and the new settings saved for the future.

Edit :27 Aug 2021
-----------------
Latest version 1.2+ (source code available) and 'developer' functions, including RAM dump, which allows you to view and save memory locations of the ST10 (Similar to VAG Commander, which doesn't work on ST10). Also works in countries where decimal places use "'," instead of ".".
 

Download  and install the 1.0 version first! 1.2 is just the updated exe file. No need to download the source code if you just want to log.

Source Code
--------------------
If you have VB6 you can edit the code and add your own functions change mine etc etc.
Source code has not been beautified. It is exactly as it developed as I experimented with the ECU.
It might be useful for someone who wants to write a specific logger in  for other KLine ME7s that have a KWP2000 protocol with a slight twist.  For example, only 'slow init 'is executed to connect to the ecu, but you could add 'fast init'  code if you needed it.





« Last Edit: January 31, 2023, 05:35:54 PM by R32Dude » Logged
_nameless
Hero Member
*****

Karma: +342/-466
Offline Offline

Posts: 2802



« Reply #1 on: July 09, 2021, 07:22:32 AM »

Hi guys, here is the logger I mentioned in the KWP-2000 thread.

Developed for the R32 golf MK5  with the ME7.1.1 and ST10 processor, but hopefully works on many more.


Very nice job, and going the extra mile too with a good frontend +1
Logged

Giving your mom a tuneup
Blazius
Hero Member
*****

Karma: +89/-40
Offline Offline

Posts: 1282



« Reply #2 on: July 09, 2021, 12:58:51 PM »

Good job! Quick test shows it starting up after dll register (must be running CMD as admin,very important).
Logged
RBPE
Sr. Member
****

Karma: +40/-5
Offline Offline

Posts: 395



« Reply #3 on: July 10, 2021, 03:38:10 AM »

Look forward to testing this! +1
Logged
terok
Full Member
***

Karma: +8/-3
Offline Offline

Posts: 134


« Reply #4 on: July 21, 2021, 01:00:37 PM »

I tested this quickly on a R32 022906032CE ecu (same as op), my sw version is 6733.
No error messages on startup or anything, connects fine and starts logging, but logged values in file are all zeroes (engine running).

Created VIN.cfg file, contains [PointerAddress] 0F11CA and [VariablesNewMapAddress] 383400.
Logged
R32Dude
Full Member
***

Karma: +45/-10
Offline Offline

Posts: 248



« Reply #5 on: July 22, 2021, 01:04:45 AM »

Same SW as mine.
Addresses are spot on and connection is stable.


« Last Edit: July 22, 2021, 05:06:45 AM by R32Dude » Logged
terok
Full Member
***

Karma: +8/-3
Offline Offline

Posts: 134


« Reply #6 on: July 22, 2021, 04:10:58 AM »

I will test compatibility mode.
My Windows is 10 Pro 21H1 build 19043.1110
Logged
R32Dude
Full Member
***

Karma: +45/-10
Offline Offline

Posts: 248



« Reply #7 on: July 22, 2021, 05:05:15 AM »

 I just  tried it out with my win7 64 bit tonight to see if I could replicate the problem, as I normally use W7 32 bit, but the only problem was when I ran it in the program files folder without running it as admin (although my account had admin privileges). It looked like it was logging but the log file did'nt save.
On the desktop it worked fine.

Try setting compatibility as XP SP2 , run as admin and see what happens.
Attached in post above are the test.ecu and log I just got with those settings. Try that and see what happens.
if no  good still, please attach the log file.



Now very important, don't delete the cfg file, because the ecu never clears the 38XXXX area (unless battery is disconnected physically for 3 minutes) and if the cfg file is missing the logger will look in areas that will stall the motor only when logging begins. 383400 is what it should find in all R32 mk5s.
 If you do delete it accidentally simply turn off ignition for  2 minutes. This clears the memory area where the pointer is.  Restart logger and it will find pointer and table, but the free memory will be now above 383400. Quit , go into the settings folder and manually change the cfg setting to 383400. restart logger and test at home while idling.

I've been using it for about 3 weeks and its always worked 100%, but I'm waiting for problems such as yours to come up before I release the source code.
If it still records zeroes, I will make a modified program to see what raw data its getting off the ecu for you to try out.
« Last Edit: July 22, 2021, 05:11:20 AM by R32Dude » Logged
terok
Full Member
***

Karma: +8/-3
Offline Offline

Posts: 134


« Reply #8 on: July 22, 2021, 05:24:32 AM »

Btw i have 64bit Win10.
I tested XP SP2 and SP3, still all zeroes. Tried running as admin, with and without compatibility mode, same result.
Tried connecting only ignition on and also engine running, same result.

I haven't touched the cfg file since it was first generated, ecu file is the one supplied with sw.

Edit: I tested file in your rar, same result. Tried also Win7 mode.
« Last Edit: July 22, 2021, 05:35:17 AM by terok » Logged
terok
Full Member
***

Karma: +8/-3
Offline Offline

Posts: 134


« Reply #9 on: July 22, 2021, 05:39:05 AM »

Looking at your log, could this be a locale thing. Your timestamp uses . and mine ,
Logged
R32Dude
Full Member
***

Karma: +45/-10
Offline Offline

Posts: 248



« Reply #10 on: July 22, 2021, 06:44:48 AM »

Very strange. The timestamp part has nothing to do with the ecu and is just a simple command:
Print #1, Format$(TimerEx - Start, "0.00")
TimerX and Start are just  real numbers. Regardless of the result, it should always have  2 decimal places when printed, yet on your computer is printed rounded up with no decimals!

Looks like all the printing of numbers isn't working, or the mathematical operations are integers instead of real numbers or both!

I will try out an up to date win 10 64 bit tomorrow on a bench ecu tomorrow and let you know.
Logged
prj
Hero Member
*****

Karma: +1072/-481
Offline Offline

Posts: 6035


« Reply #11 on: July 22, 2021, 10:13:29 AM »

Where's the source code?

Although I am not sure if anyone wants to look at VB anyway... but would not hurt to publish.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
terok
Full Member
***

Karma: +8/-3
Offline Offline

Posts: 134


« Reply #12 on: July 22, 2021, 11:48:11 AM »

It is indeed locale handling problem in software.
I changed system decimal separator from "," to "." and now values display normally in log file.
This still happens A LOT with US made software when used elsewhere in the world, propably vice versa also.
« Last Edit: July 22, 2021, 11:50:47 AM by terok » Logged
prj
Hero Member
*****

Karma: +1072/-481
Offline Offline

Posts: 6035


« Reply #13 on: July 22, 2021, 12:54:36 PM »

When doing any kind of logging software like that you always need to force the system locale of the application to something, so that the behavior is uniform.
Otherwise logs written by someone in one country will be unreadable by someone in another, because the formats will be different.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
R32Dude
Full Member
***

Karma: +45/-10
Offline Offline

Posts: 248



« Reply #14 on: July 23, 2021, 01:16:45 AM »

Edit: Latest version now works.
« Last Edit: August 12, 2021, 05:24:35 PM by R32Dude » Logged
Pages: [1] 2 3
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.026 seconds with 16 queries. (Pretty URLs adds 0s, 0q)