Here's a Quick and Dirty that will get you to the next reason why you shouldn't use delays.
void delay_gas()
{
int d = analogRead(1);
for(int del = map(d, 0, 1023, GDEL_MIN, GDEL_MAX); del > 1; del--) //still having issue with interupt not cutting into this function
{
if ( trig_EN ) break;
delay(1);
}
}