Hi,
I current work on modifying AN4908 and AN4907 Engine control functions. There is a problem that I couldnt find a solution.
Aim:
- Create just two injection sequence and update second injection's duration before 1 degree of second injection ( closest to top dead center ).
- I just create IRQ between these two injection and update one of element of second injection.
Problem:
- Injection sequence is updated successfully but injections stops one cycle periodicly for one cycle of engine." output image is attached to question"
I followed these steps:
1) I downloaded MPC5674F Engine Control Application AN4908 and AN4907.
2) In host side at "uint32_t fs_etpu_inj_config" function I closed to injection idx statement that helps me to change second injections duration.
/* Check if the injection pre is not finished yet */
// injection_idx = *((uint8_t*)cpba + FS_ETPU_INJ_OFFSET_INJECTION_COUNTER);
// if(injection_idx != 1)
// {
// /* An injection sequence is active on this injector */
// return(FS_ETPU_ERROR_TIMING);
// }
// else
// {
3) In etpu side I just closed to "INJ_ScheduleStartAngle1st" on INJ_UPDATE_HSR because this thread puts injection sequence to start up.
else if(hsr == INJ_HSR_UPDATE)
{
match_disable();
// INJ_ScheduleStartAngle1st();
}
4) In run time application, I just change one of sequence of second injection.
Why injection sequence stops for one cycle periodicly? Could you please help me to solve this?
Best regards,
Umit.