Esempio n. 1
0
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;
  }
}
Esempio n. 2
0
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;
  }
}