Beispiel #1
0
void __attribute__((__interrupt__,__no_auto_psv__)) _T3Interrupt(void) 
#endif
//  process TRIGGER interrupt
{
	// interrupt_save_extended_state ;
	
	indicate_loading_inter ;
	
	_TTRIGGERIF = 0 ;			// clear the interrupt
	
	iDCMframe++; // , gps_timeout++;

	if ( iDCMframe >= FRAME_ROLL )
		iDCMframe = 0;
	else ;

	if ( gps_timeout == 10000 )
			udb_background_callback_triggered(), gps_timeout = 0;
	else ;

	//	Executes whatever needs to be done every 25 milliseconds, using the PWM clock.
	//	This is a good place to run the A/D digital filters and compute pulse widths for servos.
	//	Also, this is used to wait a few pulses before recording input DC offsets.

	if ( !(iDCMframe % FRAME_40HZ_CNT) )	// has to == 0
	{
#if ( NORADIO == 0 )
#if (BOARD_TYPE == ASPG_BOARD)
// changed to run on T4 lower priority
		udb_servo_callback_prepare_outputs() ;
#endif
#endif
	}
	
	// interrupt_restore_extended_state ;
	return ;
}
Beispiel #2
0
void udb_background_trigger(void)
{
	udb_background_callback_triggered();
}