/************* PERIODIC ******************************************************/ void periodic_task_fbw( void ) { #ifdef RADIO_CONTROL radio_control_periodic_task(); if (fbw_mode == FBW_MODE_MANUAL && radio_control.status == RC_REALLY_LOST) { #ifdef OUTBACK_CHALLENGE_DANGEROUS_RULE_RC_LOST_NO_AP #warning WARNING DANGER: OUTBACK_CHALLENGE RULE RC_LOST_NO_AP defined. If you loose RC you will NOT go to automatically go to AUTO2 Anymore!! set_failsafe_mode(); #else fbw_mode = FBW_MODE_AUTO; #endif } #endif #ifdef INTER_MCU inter_mcu_periodic_task(); if (fbw_mode == FBW_MODE_AUTO && !ap_ok) { set_failsafe_mode(); } #endif #ifdef MCU_UART_LINK inter_mcu_fill_fbw_state(); link_mcu_periodic_task(); #endif #ifdef DOWNLINK fbw_downlink_periodic_task(); #endif }
/************* PERIODIC ******************************************************/ void periodic_task_fbw(void) { #ifdef FBW_DATALINK fbw_datalink_periodic(); #endif #ifdef RADIO_CONTROL radio_control_periodic_task(); if (fbw_mode == FBW_MODE_MANUAL && radio_control.status == RC_REALLY_LOST) { #if OUTBACK_CHALLENGE_DANGEROUS_RULE_RC_LOST_NO_AP #warning WARNING DANGER: OUTBACK_CHALLENGE RULE RC_LOST_NO_AP defined. If you loose RC you will NOT go to automatically go to AUTO2 Anymore!! set_failsafe_mode(); #if OUTBACK_CHALLENGE_DANGEROUS_RULE_RC_LOST_NO_AP_IRREVERSIBLE #warning WARNING DANGER: OUTBACK_CHALLENGE_DANGEROUS_RULE_RC_LOST_NO_AP_IRREVERSIBLE defined. If you ever temporarly lost RC while in manual, you will failsafe forever even if RC is restored commands[COMMAND_FORCECRASH] = 9600; #endif #else fbw_mode = FBW_MODE_AUTO; #endif } #endif #ifdef INTER_MCU inter_mcu_periodic_task(); if (fbw_mode == FBW_MODE_AUTO && !ap_ok) { set_failsafe_mode(); } #endif #ifdef MCU_UART_LINK inter_mcu_fill_fbw_state(); link_mcu_periodic_task(); #endif #ifdef MCU_CAN_LINK inter_mcu_fill_fbw_state(); link_mcu_periodic_task(); #endif #if PERIODIC_TELEMETRY periodic_telemetry_send_Fbw(&(DefaultChannel).trans_tx, &(DefaultDevice).device); #endif }
/** * Handles inter_mcu periodic checks */ void inter_mcu_periodic_handle(void) { inter_mcu_periodic_task(); if (fbw_mode == FBW_MODE_AUTO && !ap_ok) { set_failsafe_mode(); } #if defined MCU_UART_LINK || defined MCU_CAN_LINK inter_mcu_fill_fbw_state(); link_mcu_periodic_task(); #endif /* defined MCU_UART_LINK || defined MCU_CAN_LINK */ }