Pages: 1 [2]
Author Topic: Me7.1 Rolling antilag  (Read 11565 times)
Speedy_Acc
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 11


« Reply #15 on: May 09, 2020, 12:53:16 PM »

Here is the current bin I'm using, its an mbox file with the nef nls/lc code implemented. I'll add the stock bin file as well if someone wants to develop a whole new program as well as the xdf file used to tune the mbox.
« Last Edit: May 09, 2020, 02:02:50 PM by Speedy_Acc » Logged
Speedy_Acc
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 11


« Reply #16 on: May 09, 2020, 12:56:42 PM »

I looked some more into the code, and it wont work as previously mentioned. There is no "reset" of the ignition cut after the cruise control is flicked on and wped > AccPedalThreshold. Could anyone chime in with a reset function for the following code as well as some more insight on the behavior of the car when "vziel_w = vfil_w" (cruise speed = vehicle speed) ? :

// Rolling Antilag
  {
    if (S_fgrat = 0 && S_fgrwb = 1 && wped > AccPedalThreshold)
    {
      // NoLiftShift is active
      if (counter_NoLiftShift < IgnitionCutDuration)
      {
      vziel_w = vfil_w            // Hold speed
        tsrldyn = 0;            // Interrupt ignition
        counter_NoLiftShift++;
      }
   }
    else
    {
      // Other conditions not true, don't allow ignition interruption
      // until cruise is released and pressed again
      counter_NoLiftShift = 0xFFFF;
« Last Edit: May 09, 2020, 01:03:40 PM by Speedy_Acc » Logged
bamofo
Sr. Member
****

Karma: +34/-3
Offline Offline

Posts: 420


« Reply #17 on: August 07, 2020, 07:58:55 AM »

I looked some more into the code, and it wont work as previously mentioned. There is no "reset" of the ignition cut after the cruise control is flicked on and wped > AccPedalThreshold. Could anyone chime in with a reset function for the following code as well as some more insight on the behavior of the car when "vziel_w = vfil_w" (cruise speed = vehicle speed) ? :

// Rolling Antilag
  {
    if (S_fgrat = 0 && S_fgrwb = 1 && wped > AccPedalThreshold)
    {
      // NoLiftShift is active
      if (counter_NoLiftShift < IgnitionCutDuration)
      {
      vziel_w = vfil_w            // Hold speed
        tsrldyn = 0;            // Interrupt ignition
        counter_NoLiftShift++;
      }
   }
    else
    {
      // Other conditions not true, don't allow ignition interruption
      // until cruise is released and pressed again
      counter_NoLiftShift = 0xFFFF;

To do rolling antilag i took some ideas from different LC/NLS projects and then wrote some of the logic myself

Couple key things to note before the code.

1) ASM logic should be thought of backwards. Write these statements so that you have excluded all cases of why wouldn’t want it to run. That was my first mistake when i started dabbling.
2) Make sure whatever ram locations your using you understand what the multiplier is... Word/byte sometimes have different multiplier (me7info.exe) is your friend.
3) Use Flags - You will see people sharing other peoples work and you don’t understand why no-one will help... it is because that’s not the standard script that they originally grabbed from whoever it was... but flags allow you to log real quick with me7logger and figure out why something isn’t working.
4) The key i have found to implement a well working LC that doesn’t break things, control boost, and gurgle without messing with 15 other tables is the right hooks... Everyone hooks the UB for battery voltage because that routine is run all the time. Find ZWOUT as well and you can then command your timing during any of these events.
5) you don’t need NLS logic at all its a waste of time in this if you just write the initial run conditions right


Code logic for what your asking
- Reset flags or 0 them out
- if cruise is off Exit routine
- set a flag for tracking
-compare vfil to see if your going slow  Jump over next bullet if you are going slow (cause i want to run LC regardless set at 1km/h)
-if clutch isnt pressed exit to gurgle logic checks
-set flag b
-otherwise we have met the conditions to do LC / NLS with one pass.

Why? Because if im going super slow or stopped with the cruise lever on I want this to run. If im going over that speed and i push the clutch in i want it to go from my current RPM Limit 7500, to my new target (configurable)... which acts as two things... Great NLS because you are shutting off the coil packs... and if your on the highway you can clutch in and do it.


Key to this is ZWOUT - So when you get in a condition you have met at want to run this LC you need to set a flag that you can reference. In which case the ZWOUT hook will point to a small subroutine below all this... saying exit if this flag isnt set. done... in mine i have -24 degrees timing set for LC and Gurgle seems to like -14...

If you still cant get the logic to work... then im not sure how else to help here.
Logged
Speedy_Acc
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 11


« Reply #18 on: August 07, 2020, 08:02:50 AM »

Thanks a lot for the answer, but to be honnest, I gave up on the idea and I just bought a standalone
Logged
bamofo
Sr. Member
****

Karma: +34/-3
Offline Offline

Posts: 420


« Reply #19 on: August 07, 2020, 08:14:33 AM »

Thanks a lot for the answer, but to be honnest, I gave up on the idea and I just bought a standalone

im sure 10 more people will ask this month so at least they will have an answer.
Logged
nyet
Administrator
Hero Member
*****

Karma: +604/-167
Online Online

Posts: 12235


WWW
« Reply #20 on: August 07, 2020, 11:03:47 AM »

im sure 10 more people will ask this month so at least they will have an answer.

I appreciate you putting in the effort.
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
Khendal
Full Member
***

Karma: +9/-8
Offline Offline

Posts: 226


« Reply #21 on: August 11, 2020, 11:37:56 AM »

Is there a way to have a unique tutorial on the way to disassembly correctly this ME7.1 bin from the start of IDA to the end ?
I read a lot of topics but there isn't a standard procedure to load a dissassembled ecu that works everytime, with every ida versions etc... 

*i'm not asking code to implement... i will looking for it...but at least know that i'm using a correct dissassembled ecu*

This post...is for also other ecu... me7.5, me7.1.1 med9.1 ....and so on... it would be interesting to have in this board
Logged
bamofo
Sr. Member
****

Karma: +34/-3
Offline Offline

Posts: 420


« Reply #22 on: August 12, 2020, 10:17:36 AM »

Is there a way to have a unique tutorial on the way to disassembly correctly this ME7.1 bin from the start of IDA to the end ?
I read a lot of topics but there isn't a standard procedure to load a dissassembled ecu that works everytime, with every ida versions etc... 

*i'm not asking code to implement... i will looking for it...but at least know that i'm using a correct dissassembled ecu*

This post...is for also other ecu... me7.5, me7.1.1 med9.1 ....and so on... it would be interesting to have in this board

I only dissasemble the NLS/LC/Gurgle Code. The hooks are pretty easy to find and the ECU files are generated by either a ols project you already have or me7info.exe
Logged
Pages: 1 [2]
  Print  
 
Jump to:  

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