void TRIG_ISR() { static uint32_t last; uint32_t delta_t0_temp; trigger_t0 = TRIGGER_CR; delta_t0_temp = trigger_t0 - last; if (MSEC_OF_CPU_TICKS(delta_t0_temp) > 10) { trigger_delta_t0 = delta_t0_temp; last = trigger_t0; trigger_ext_valid = TRUE; } }
void trigger_ext_periodic( void ) { if (trig_ext_valid == TRUE) { uint8_t ac_id = 0; uint8_t turb_id = TURBINE_ID; uint32_t sync_itow, cycle_time; sync_itow = gps_tow_from_ticks(trigger_t0); cycle_time = MSEC_OF_CPU_TICKS(delta_t0); DOWNLINK_SEND_WINDTURBINE_STATUS_(DefaultChannel, DefaultDevice, &ac_id, &turb_id, &sync_itow, &cycle_time ); trig_ext_valid = FALSE; } }