Pages: [1]
Author Topic: R53 EMS2K Data logging  (Read 2624 times)
CookperS
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 11


« on: April 26, 2021, 07:56:26 PM »

Good Morning all,

Feels like a noob question, but feel the answer may not be noob at all  Cheesy.

So I have been tuning my R53 recently and seeing good results for part load fuelling and other bits, not touched WOT yet as running engine in, but I am looking for ways to improve logging speed.

I have seen a lot of reference on here to RAM logging whereby code in the ECU sends the values in RAM down the CAN/KLINE channels where it can be recorded...first question is is my understanding of that correct? Also seen KWP based logging which again may work, but unsure how...

So...does anyone have any experience of this with this ECU please? There is so little out there on the EMS2K it's a nightmare for someone wanting to learn...

Thanks in advance!
Logged
CookperS
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 11


« Reply #1 on: April 27, 2021, 05:21:17 AM »

To add some more info to this post, in the event someone can help, here is where I am at.

I have used Testo with the EMS2K prg and can get a 5hz log rate, however that is not fully accurate as it takes 1s to cycle through the data I am logging.

So I made a custom PRG using the jobs for Air Mass, STFT, Engine Speed & Throttle position, and get a log rate of 1 per second.

Obviously I can use this for some data at cruise and mild changes, but this is nowhere near enough for any decent data collection.

I am aware of the memory areas in RAM which contain things such as throttle position, engine speed, coolant temp etc, but using Tool32/INPA seems to be the only way to request them.

The bottleneck in testo (I guess) seems to come from the need to send data to the ECU, then receive the response, and then decipher the response using the factors etc given in the PRG file. So even when I combine them, its still a case of Send request -> receive answer -> decode answer -> send next request -> receive answer etc etc.

Is there a way to send 1 request and get all the data I need? Or is there a way to have the data output by the ECU and effectively just "sniff" for it?
Logged
gauiX4
Newbie
*

Karma: +0/-1
Offline Offline

Posts: 11


« Reply #2 on: November 13, 2022, 08:52:01 PM »

I ask myself exactly the same question !
for my part I managed to communicate only in ISO9141 and not in KPW2000
Logged
prj
Hero Member
*****

Karma: +915/-425
Offline Offline

Posts: 5833


« Reply #3 on: November 14, 2022, 01:11:11 AM »

$2C is usually wide open on BMW. Implementations do not always follow the standard and can differ from ECU to ECU.
Logged

PM's will not be answered, so don't even try.
Log your car properly.
gauiX4
Newbie
*

Karma: +0/-1
Offline Offline

Posts: 11


« Reply #4 on: November 14, 2022, 12:16:59 PM »

thank you very much for responding
« Last Edit: November 15, 2022, 03:00:47 AM by gauiX4 » Logged
gauiX4
Newbie
*

Karma: +0/-1
Offline Offline

Posts: 11


« Reply #5 on: November 14, 2022, 11:34:23 PM »

I still have to figure out how to send several requests at the same time
« Last Edit: November 15, 2022, 03:05:12 AM by gauiX4 » Logged
prj
Hero Member
*****

Karma: +915/-425
Offline Offline

Posts: 5833


« Reply #6 on: November 15, 2022, 03:30:38 AM »

Your first step is to stop using PRG files and EDIABAS and implement the whole thing using J2534 or KKL.
Logged

PM's will not be answered, so don't even try.
Log your car properly.
gauiX4
Newbie
*

Karma: +0/-1
Offline Offline

Posts: 11


« Reply #7 on: November 15, 2022, 03:48:57 AM »

Your first step is to stop using PRG files and EDIABAS and implement the whole thing using J2534 or KKL.

no actually i don't use this at all i did all the electronics myself also i am using an esp32 microcontroller to communicate with the K-line port i am coding the KWP initialization right now once initialization done my next step is to switch to fast mode
« Last Edit: November 15, 2022, 03:50:46 AM by gauiX4 » Logged
prj
Hero Member
*****

Karma: +915/-425
Offline Offline

Posts: 5833


« Reply #8 on: November 15, 2022, 12:19:55 PM »

Very good.

You need ISO 14230-3 document, it will describe how the $2C service works.
Beware! On many BMW cars they made their own implementation totally of $2C. They just used it like $22 grouping on UDS and you can't define anything.
Then you can check if there is $23, but $23 is very slow if you want to read a lot of data.

On all the UDS cars you can use $2C to read RAM, and also depending on ECU vendor on some K-Line ones too.
I think someone posted here that they got EMS2K logged using $2C because it was possible to define ram cell addresses.

Of course you will need exact A2L or reverse the binary to know what the RAM addresses are.
Logged

PM's will not be answered, so don't even try.
Log your car properly.
gauiX4
Newbie
*

Karma: +0/-1
Offline Offline

Posts: 11


« Reply #9 on: November 21, 2022, 08:09:32 AM »

I also have to mainly look at how to decode the message I receive because it is extremely long
Logged
gauiX4
Newbie
*

Karma: +0/-1
Offline Offline

Posts: 11


« Reply #10 on: November 21, 2022, 08:17:09 AM »

how to open a .PRG file?

https://github.com/gushmazuko/bmw-advanced-tools/blob/master/app/EDIABAS/ECU/EMS2K.prg
Logged
prj
Hero Member
*****

Karma: +915/-425
Offline Offline

Posts: 5833


« Reply #11 on: November 22, 2022, 03:20:10 AM »

With a special disassembler.
The PRG does not contain ram addresses.
Logged

PM's will not be answered, so don't even try.
Log your car properly.
Pages: [1]
  Print  
 
Jump to:  

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