Can you explain to me why you have the difference in the rpm mapping in this section of your code when charge pulses are active?
if (chargePulse)
{
RPM = map(potValue, 0, 1023, 615, 10000); //this section needs 2 pots added to set pickup and pulseWidth **************************
pickup = 74; //map(pickupValue, 0, 1023, 0, 65); so advance will read based on delay,52 for yamaha 350 2 pu, 74 for 1 pu, 72 for tw200, 25 for 5013
pulseWidth = (60000000/RPM)/360; //time for 1° in uS
barWidth = 60; //barWidth = pulseWidth + 1000; //10 for yamaha 350 2 pu, 60 for 1 pu, 60 for tw200
//RPM = 615; //for my serial test purposes 615-3800
}
else
{
RPM = map(potValue, 0, 1023, 500, 3800);
pickup = 25; //map(pickupValue, 0, 1023, 0, 50); //to set position of pickup so advance will read
pulseWidth = map(potWidth, 0, 1023, 271, 44); //add Width to non charging case
// RPM = 500;//for my serial test purposes 500-3800
}