try this:
Code:
// at beginning of Default_Routine)
static unsigned char p1_sw_trig_old = 0;
...
// later in your Default_Routine)
if( p1_sw_trig && !p1_sw_trig_old )
{
// Call function(s) to start tracking
}
else if( !p1_sw_trig && p1_sw_trig_old )
{
// Call function(s) to stop tracking
}
p1_sw_trig_old = p1_sw_trig;