Register
Results 1 to 3 of 3
  1. #1
    Newbie

    Join Date
    May 2022
    Posts
    17
    Thanks Thanks Given 
    3
    Thanks Thanks Received 
    26
    Thanked in
    10 Posts

    Default EGR Off on PSA EDC16C34

    Hello,

    I just tested successfully a technique to make an EGR OFF on a PSA edc16c34. It does not use standard technique of hysteresis but rather patches the AirCtl_nMin_C to 6000 (0x1770) rpm.

    The code bellow finds successfully the address in a map dump of the AirCtl_nMin_C variable on my whole dump collection.

    private void findEGRLimit() {

    // Try to find address of AirCtl_nMin_C (Engine speed threshold for EGR shut-off, in rpm)
    // Search for address of AirCtl_nMaxHi_C/AirCtl_nMaxLo_C (We assume that the difference
    // between this 2 values is 200RPM or 250RPM)
    // Immediately follow AirCtl_nMin_C
    // Standard values for AirCtl_nMin_C are 650 or 700 RPM

    boolean eos = false;
    int start = 2600;
    int diff = 200;
    while(!eos) {

    int hMaxHi = (start+diff) >> 8;
    int lMaxHi = (start+diff) & 0xFF;
    int hMaxLo = start >> 8;
    int lMaxLo = start & 0xFF;

    egrLimitAdd = search(0x1C0000,toByte(new int[]{hMaxHi,lMaxHi,hMaxLo,lMaxLo}));

    if(egrLimitAdd!=-1) {

    egrLimitAdd += 4;
    egrLimit = ((((int) memory[egrLimitAdd]) & 0xff) << 8) + (((int) memory[egrLimitAdd + 1]) & 0xff);
    eos = egrLimit == 700 || egrLimit == 650;

    if( !eos ) {
    // Try a second match
    egrLimitAdd = search(egrLimitAdd,toByte(new int[]{hMaxHi,lMaxHi,hMaxLo,lMaxLo}));

    if(egrLimitAdd!=-1) {
    egrLimitAdd += 4;
    egrLimit = ((((int) memory[egrLimitAdd]) & 0xff) << 8) + (((int) memory[egrLimitAdd + 1]) & 0xff);
    eos = egrLimit == 700 || egrLimit == 650;
    }
    }

    }

    if(!eos) {
    start += 50;
    if(start>=3600) {
    diff += 50;
    if(diff>250) {
    // Fail !
    eos = true;
    } else {
    start = 3000;
    }
    }
    }

    }

    }



    }
    Last edited by JeanLuc38; 23rd May, 2022 at 10:28 AM.

  2. #2
    DK Veteran
    nbtechnic's Avatar
    Join Date
    Jan 2016
    Posts
    322
    Thanks Thanks Given 
    118
    Thanks Thanks Received 
    49
    Thanked in
    29 Posts

    Default

    hello, what computer language do you use to create these lines of code please?
    because your method is not accessible to everyone I think, but it's very interesting!

  3. #3
    Newbie

    Join Date
    May 2022
    Posts
    17
    Thanks Thanks Given 
    3
    Thanks Thanks Received 
    26
    Thanked in
    10 Posts

    Default

    it is a java code.
    You can find the dump reading code and more in my OpenSource DTC controller project.
    https://github.com/JeanLucPons/DTCController

  4. The Following User Says Thank You to JeanLuc38 For This Useful Post:

    nbtechnic (29th May, 2022)

 

 

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.