Any general discussion around the firmware, what is does, how it does it etc.
By ryan_pajero-io
#39065
engine can not start up there is no rpm

the problem has been solved
i replaced "decoders.ino" and "decoders.h" in firmware with version 201909. the engine started up as usual.
my engine uses a 60-2 crankshaft trigger wheel and a single tooth camshaft wheel
Attachments
(39.63 KiB) Downloaded 235 times
(53.92 KiB) Downloaded 241 times
Last edited by ryan_pajero-io on Sat Nov 16, 2019 1:04 pm, edited 1 time in total.
By ryan_pajero-io
#39069
For me personally. Low-speed throttle response The “event average” mode is better than the cycle average mode, but the instantaneous mode is best, I prefer



Interesting thing: use the same ignition table but the actual execution results are different
May need to pay attention when using the new mode ;)
_20191116205415.png
_20191116205415.png (101.5 KiB) Viewed 20291 times
By noisymime
#39078
ryan_pajero-io wrote: Sat Nov 16, 2019 2:46 am engine can not start up there is no rpm

the problem has been solved
i replaced "decoders.ino" and "decoders.h" in firmware with version 201909. the engine started up as usual.
my engine uses a 60-2 crankshaft trigger wheel and a single tooth camshaft wheel
This 201911 version fixed an issue where the missing tooth decoder + cam would sync up before the cam signal had been seen (if running sequential). If you're not getting any sync with the new version then it could be an issue with your cam signal that is getting hidden by the issue in the earlier firmware
By Ilotalo
#39094
Ilotalo wrote: Fri Nov 15, 2019 8:22 am Loaded and run.

Interested about that idle advantage. First look that delay isn't workin but need to check more about that.
I spend some time whit my JimStim and here is working code for for that Idle advantage.

corrections.ino
Code: Select all
static inline int8_t correctionIdleAdvance(int8_t advance)
{
  int8_t ignIdleValue = advance;  
  //Adjust the advance based on idle target rpm.
  if( configPage2.idleAdvEnabled  >= 1 )
  {
    if ((currentStatus.TPS < configPage2.idleAdvTPS) && (currentStatus.RPM < (unsigned int) configPage2.idleAdvRPM * 100)) // TPS based idle state          
    {
      if(millis() > advantageDelay) 
      {
        currentStatus.CLIdleTarget = (byte)table2D_getValue(&idleTargetTable, currentStatus.coolant + CALIBRATION_TEMPERATURE_OFFSET); //All temps are offset by 40 degrees
        int idleRPMdelta = (currentStatus.CLIdleTarget - currentStatus.RPM / 10) + 50;
        // Limit idle rpm delta between -500rpm - 500rpm
        if(idleRPMdelta > 100) { idleRPMdelta = 100; }
        if(idleRPMdelta < 0) { idleRPMdelta = 0; }
        int8_t advanceIdleAdjust = (int16_t)(table2D_getValue(&idleAdvanceTable, idleRPMdelta)) - 15;
        if(configPage2.idleAdvEnabled == 1) { ignIdleValue = (advance + advanceIdleAdjust); }
        else if(configPage2.idleAdvEnabled == 2) { ignIdleValue = advanceIdleAdjust; }        
      }
    }
    else{
     advantageDelay = millis() + (int)configPage2.IdleAdvDelay * 1000;
    }
  }  
  return ignIdleValue;
}
corrections.h
Code: Select all
unsigned long advantageDelay;
By iLeeeZi
#39100
Ilotalo wrote: Mon Nov 18, 2019 2:39 am
Ilotalo wrote: Fri Nov 15, 2019 8:22 am Loaded and run.

Interested about that idle advantage. First look that delay isn't workin but need to check more about that.
I spend some time whit my JimStim and here is working code for for that Idle advantage.

corrections.ino
Code: Select all
static inline int8_t correctionIdleAdvance(int8_t advance)
{
  int8_t ignIdleValue = advance;  
  //Adjust the advance based on idle target rpm.
  if( configPage2.idleAdvEnabled  >= 1 )
  {
    if ((currentStatus.TPS < configPage2.idleAdvTPS) && (currentStatus.RPM < (unsigned int) configPage2.idleAdvRPM * 100)) // TPS based idle state          
    {
      if(millis() > advantageDelay) 
      {
        currentStatus.CLIdleTarget = (byte)table2D_getValue(&idleTargetTable, currentStatus.coolant + CALIBRATION_TEMPERATURE_OFFSET); //All temps are offset by 40 degrees
        int idleRPMdelta = (currentStatus.CLIdleTarget - currentStatus.RPM / 10) + 50;
        // Limit idle rpm delta between -500rpm - 500rpm
        if(idleRPMdelta > 100) { idleRPMdelta = 100; }
        if(idleRPMdelta < 0) { idleRPMdelta = 0; }
        int8_t advanceIdleAdjust = (int16_t)(table2D_getValue(&idleAdvanceTable, idleRPMdelta)) - 15;
        if(configPage2.idleAdvEnabled == 1) { ignIdleValue = (advance + advanceIdleAdjust); }
        else if(configPage2.idleAdvEnabled == 2) { ignIdleValue = advanceIdleAdjust; }        
      }
    }
    else{
     advantageDelay = millis() + (int)configPage2.IdleAdvDelay * 1000;
    }
  }  
  return ignIdleValue;
}
corrections.h
Code: Select all
unsigned long advantageDelay;
Currently the delay is to prevent idle advance messing with engine cranking and starting and it looks to be working at least for me. Looking your code it looks like you would like the delay to happen while engine is running and when conditions are met to not immediately start the advance correction. That is not currently implemented but it wouldn't be too hard to add if it is needed.
By Ilotalo
#39105
iLeeeZi wrote: Mon Nov 18, 2019 12:36 pm Currently the delay is to prevent idle advance messing with engine cranking and starting and it looks to be working at least for me. Looking your code it looks like you would like the delay to happen while engine is running and when conditions are met to not immediately start the advance correction. That is not currently implemented but it wouldn't be too hard to add if it is needed.
Ok, That explains that code. I was thinking straight away that it should work like in that my code. Off course there can be include that after start delay.

There is one problem what i find. When you select CTPS and then turn on Closed throttle sensor. After that if you select TPS that Closed throttle sensor enable is still active. Now when i don't have that sensor processor pin is floating and i can change.
By iLeeeZi
#39108
Ilotalo wrote: Mon Nov 18, 2019 3:30 pm
iLeeeZi wrote: Mon Nov 18, 2019 12:36 pm Currently the delay is to prevent idle advance messing with engine cranking and starting and it looks to be working at least for me. Looking your code it looks like you would like the delay to happen while engine is running and when conditions are met to not immediately start the advance correction. That is not currently implemented but it wouldn't be too hard to add if it is needed.
Ok, That explains that code. I was thinking straight away that it should work like in that my code. Off course there can be include that after start delay.

There is one problem what i find. When you select CTPS and then turn on Closed throttle sensor. After that if you select TPS that Closed throttle sensor enable is still active. Now when i don't have that sensor processor pin is floating and i can change.
I added a pull request to show the ctps pin enable option all the time as it might be used for other functions in the future and it should help to not leave it accidentally on.
User avatar
By martysport
#39152
noisymime wrote: Sun Nov 17, 2019 11:37 am
ryan_pajero-io wrote: Sat Nov 16, 2019 2:46 am engine can not start up there is no rpm

the problem has been solved
i replaced "decoders.ino" and "decoders.h" in firmware with version 201909. the engine started up as usual.
my engine uses a 60-2 crankshaft trigger wheel and a single tooth camshaft wheel
This 201911 version fixed an issue where the missing tooth decoder + cam would sync up before the cam signal had been seen (if running sequential). If you're not getting any sync with the new version then it could be an issue with your cam signal that is getting hidden by the issue in the earlier firmware


I have the exact same problem, running spot on this morning I flashed the new firmware and now it won't start (no RPM issue) I'm using a 36-1 wheel and single tooth cam.

It looks like you have a fuel supply issue. readin[…]

Will this have an updated version about this featu[…]

Vr Conditioner Noise when cranking

I did the fix, but it's not work. I put my setti[…]

Perhaps some different points and pictures. Instr[…]

Still can't find what you're looking for?