platforms/nuttx/src/px4/nxp/kinetis/hrt/hrt.c
static int
hrt_tim_isr(int irq, void *context, void *arg)
{
	/* grab the timer for latency tracking purposes */

	latency_actual = rCNT;

	/* copy interrupt status */
	uint32_t status = rSTATUS;

	/* ack the interrupts we just read */

	rSTATUS = status;

#ifdef HRT_PPM_CHANNEL

	/* was this a PPM edge? */
	if (status & (STATUS_PPM)) {
		hrt_ppm_decode(status);
	}

#endif

	/* was this a timer tick? */
	if (status & STATUS_HRT) {

		/* do latency calculations */
		hrt_latency_update();

		/* run any callouts that have met their deadline */
		hrt_call_invoke();

		/* and schedule the next interrupt */
		hrt_call_reschedule();
	}

	return OK;
}
/**
 * Handle the compare interrupt by calling the callout dispatcher
 * and then re-scheduling the next deadline.
 */
Handle the compare interrupt by calling the callout dispatcher
and then re-scheduling the next deadline.
Handle the compare interrupt by calling the callout dispatcher and then re - scheduling the next deadline .
static int
hrt_tim_isr(int irq, void *context, void *arg)
{
	latency_actual = rCNT;
	uint32_t status = rSTATUS;
	rSTATUS = status;
#ifdef HRT_PPM_CHANNEL
	if (status & (STATUS_PPM)) {
		hrt_ppm_decode(status);
	}
#endif
	if (status & STATUS_HRT) {
		hrt_latency_update();
		hrt_call_invoke();
		hrt_call_reschedule();
	}
	return OK;
}
static int hrt_tim_isr ( int irq , void * context , void * arg ) { latency_actual = rCNT ; uint32_t status = rSTATUS ; rSTATUS = status ; #ifdef HRT_PPM_CHANNEL if ( status & ( STATUS_PPM ) ) { hrt_ppm_decode ( status ) ; } #endif if ( status & STATUS_HRT ) { hrt_latency_update ( ) ; hrt_call_invoke ( ) ; hrt_call_reschedule ( ) ; } return OK ; }
Handle the compare interrupt by calling the callout dispatcher
 and then re-scheduling the next deadline.
Handle the compare interrupt by calling the callout dispatcher and then re - scheduling the next deadline .
/* grab the timer for latency tracking purposes */ /* copy interrupt status */ /* ack the interrupts we just read */ /* was this a PPM edge? */ /* was this a timer tick? */ /* do latency calculations */ /* run any callouts that have met their deadline */ /* and schedule the next interrupt */