/********** INIT *************************************************************/ void init_fbw( void ) { mcu_init(); sys_time_init(); electrical_init(); #ifdef ACTUATORS actuators_init(); /* Load the failsafe defaults */ SetCommands(commands_failsafe); fbw_new_actuators = 1; #endif #ifdef RADIO_CONTROL radio_control_init(); #endif #ifdef INTER_MCU inter_mcu_init(); #endif #ifdef MCU_SPI_LINK link_mcu_restart(); #endif fbw_mode = FBW_MODE_FAILSAFE; #ifndef SINGLE_MCU mcu_int_enable(); #endif }
static inline void main_init( void ) { mcu_init(); sys_time_init(); led_init(); uart1_init_tx(); mcu_int_enable(); }
// FIXME: race condition ?? void sys_time_update_timer(tid_t id, float duration) { mcu_int_disable(); sys_time.timer[id].end_time -= (sys_time.timer[id].duration - sys_time_ticks_of_sec(duration)); sys_time.timer[id].duration = sys_time_ticks_of_sec(duration); mcu_int_enable(); }
/********** INIT *************************************************************/ void init_fbw( void ) { mcu_init(); electrical_init(); #ifdef ACTUATORS actuators_init(); /* Load the failsafe defaults */ SetCommands(commands_failsafe); fbw_new_actuators = 1; #endif #ifdef RADIO_CONTROL radio_control_init(); #endif #ifdef INTER_MCU inter_mcu_init(); #endif #ifdef MCU_SPI_LINK link_mcu_restart(); #endif fbw_mode = FBW_MODE_FAILSAFE; /**** start timers for periodic functions *****/ fbw_periodic_tid = sys_time_register_timer((1./60.), NULL); electrical_tid = sys_time_register_timer(0.1, NULL); #ifndef SINGLE_MCU mcu_int_enable(); #endif }
static inline void main_init(void) { mcu_init(); sys_time_register_timer((1. / PERIODIC_FREQUENCY), NULL); uart0_init_tx(); mcu_int_enable(); }
static inline void main_init(void) { mcu_init(); sys_time_register_timer((1. / PERIODIC_FREQUENCY), NULL); stateInit(); actuators_init(); imu_init(); #if USE_AHRS_ALIGNER ahrs_aligner_init(); #endif ahrs_init(); settings_init(); mcu_int_enable(); downlink_init(); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_AUTOPILOT_VERSION, send_autopilot_version); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_ALIVE, send_alive); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_COMMANDS, send_commands); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_ACTUATORS, send_actuators); // send body_to_imu from here for now AbiSendMsgBODY_TO_IMU_QUAT(1, orientationGetQuat_f(&imu.body_to_imu)); }
static inline void main_init( void ) { mcu_init(); sys_time_init(); led_init(); usb_serial_init(); mcu_int_enable(); }
STATIC_INLINE void main_init(void) { // fbw_init fbw_mode = FBW_MODE_FAILSAFE; mcu_init(); actuators_init(); electrical_init(); #if USE_MOTOR_MIXING motor_mixing_init(); #endif radio_control_init(); modules_init(); mcu_int_enable(); intermcu_init(); // register the timers for the periodic functions main_periodic_tid = sys_time_register_timer((1. / PERIODIC_FREQUENCY), NULL); modules_tid = sys_time_register_timer(1. / MODULES_FREQUENCY, NULL); radio_control_tid = sys_time_register_timer((1. / 60.), NULL); electrical_tid = sys_time_register_timer(0.1, NULL); telemetry_tid = sys_time_register_timer((1. / 20.), NULL); }
static inline void main_init(void) { mcu_init(); sys_time_register_timer((1. / 100), NULL); downlink_init(); adc_init(); #ifdef ADC_0 adc_buf_channel(ADC_0, &buf_adc[0], ADC_NB_SAMPLES); #endif #ifdef ADC_1 adc_buf_channel(ADC_1, &buf_adc[1], ADC_NB_SAMPLES); #endif #ifdef ADC_2 adc_buf_channel(ADC_2, &buf_adc[2], ADC_NB_SAMPLES); #endif #ifdef ADC_3 adc_buf_channel(ADC_3, &buf_adc[3], ADC_NB_SAMPLES); #endif #ifdef ADC_4 adc_buf_channel(ADC_4, &buf_adc[4], ADC_NB_SAMPLES); #endif #ifdef ADC_5 adc_buf_channel(ADC_5, &buf_adc[5], ADC_NB_SAMPLES); #endif #ifdef ADC_6 adc_buf_channel(ADC_6, &buf_adc[6], ADC_NB_SAMPLES); #endif #ifdef ADC_7 adc_buf_channel(ADC_7, &buf_adc[7], ADC_NB_SAMPLES); #endif mcu_int_enable(); }
static inline void main_init( void ) { mcu_init(); sys_time_init(); led_init(); gps_init(); mcu_int_enable(); }
STATIC_INLINE void main_init( void ) { mcu_init(); electrical_init(); stateInit(); actuators_init(); #if USE_MOTOR_MIXING motor_mixing_init(); #endif radio_control_init(); air_data_init(); #if USE_BARO_BOARD baro_init(); #endif imu_init(); #if USE_IMU_FLOAT imu_float_init(); #endif ahrs_aligner_init(); ahrs_init(); ins_init(); #if USE_GPS gps_init(); #endif autopilot_init(); modules_init(); settings_init(); mcu_int_enable(); #if DATALINK == XBEE xbee_init(); #endif #if DATALINK == UDP udp_init(); #endif // register the timers for the periodic functions main_periodic_tid = sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL); modules_tid = sys_time_register_timer(1./MODULES_FREQUENCY, NULL); radio_control_tid = sys_time_register_timer((1./60.), NULL); failsafe_tid = sys_time_register_timer(0.05, NULL); electrical_tid = sys_time_register_timer(0.1, NULL); telemetry_tid = sys_time_register_timer((1./TELEMETRY_FREQUENCY), NULL); #if USE_BARO_BOARD baro_tid = sys_time_register_timer(1./BARO_PERIODIC_FREQUENCY, NULL); #endif }
static inline void main_init(void) { mcu_init(); mcu_int_enable(); sys_time_register_timer((1. / 50), NULL); downlink_init(); lis302dl_spi_init(&lis302, &(LIS302DL_SPI_DEV), LIS302DL_SPI_SLAVE_IDX); }
STATIC_INLINE void main_init( void ) { mcu_init(); electrical_init(); stateInit(); actuators_init(); #if USE_MOTOR_MIXING // motor_mixing_init(); // servo_mixing_init(); set_servo_init(); #endif radio_control_init(); baro_init(); imu_init(); autopilot_init(); nav_init(); guidance_h_init(); guidance_v_init(); stabilization_init(); ahrs_aligner_init(); ahrs_init(); ins_init(); #if USE_GPS gps_init(); #endif modules_init(); settings_init(); mcu_int_enable(); #if DATALINK == XBEE xbee_init(); #endif #if DATALINK == UDP udp_init(); #endif // register the timers for the periodic functions main_periodic_tid = sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL); modules_tid = sys_time_register_timer(1./MODULES_FREQUENCY, NULL); radio_control_tid = sys_time_register_timer((1./60.), NULL); failsafe_tid = sys_time_register_timer(0.05, NULL); electrical_tid = sys_time_register_timer(0.1, NULL); baro_tid = sys_time_register_timer(1./BARO_PERIODIC_FREQUENCY, NULL); telemetry_tid = sys_time_register_timer((1./TELEMETRY_FREQUENCY), NULL); }
/********** INIT *************************************************************/ void init_fbw(void) { mcu_init(); #if !(DISABLE_ELECTRICAL) electrical_init(); #endif #ifdef ACTUATORS actuators_init(); /* Load the failsafe defaults */ SetCommands(commands_failsafe); fbw_new_actuators = 1; #endif /* ACTUATORS */ #ifdef RADIO_CONTROL radio_control_init(); #endif /* RADIO_CONTROL */ #ifdef INTER_MCU inter_mcu_init(); #endif /* INTER_MCU */ #if defined MCU_SPI_LINK || defined MCU_CAN_LINK link_mcu_init(); #endif /* MCU_SPI_LINK || MCU_CAN_LINK */ #ifdef MCU_SPI_LINK link_mcu_restart(); #endif /* MCU_SPI_LINK */ fbw_mode = FBW_MODE_FAILSAFE; /**** start timers for periodic functions *****/ fbw_periodic_tid = sys_time_register_timer((1. / 60.), NULL); electrical_tid = sys_time_register_timer(0.1, NULL); #ifndef SINGLE_MCU mcu_int_enable(); #endif #if PERIODIC_TELEMETRY register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_FBW_STATUS, send_fbw_status); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_COMMANDS, send_commands); #ifdef ACTUATORS register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_ACTUATORS, send_actuators); #endif /* ACTUATORS */ #ifdef RADIO_CONTROL register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_RC, send_rc); #endif /* RADIO_CONTROL */ #endif /* PERIODIC_TELEMETRY */ }
uint32_t mb_tacho_get_duration( void ) { int_disable(); uint32_t my_duration = 0; if (got_one_pulse) { my_duration = mb_tacho_duration; } got_one_pulse = FALSE; mcu_int_enable(); return my_duration; }
static inline void main_init( void ) { mcu_init(); sys_time_init(); led_init(); uart0_init(); vor_int_demod_init(); VorDacInit(); vor_adc_init(); mcu_int_enable(); }
static inline void main_init(void) { mcu_init(); sys_time_register_timer((1. / PERIODIC_FREQUENCY), NULL); LED_ON(4); ami601_init(); downlink_init(); mcu_int_enable(); }
int main( void ) { unsigned char inc; unsigned int rx_time=0, tx_time=0; mcu_init(); sys_time_init(); led_init(); VCOM_allow_linecoding(1); #ifdef USE_USB_SERIAL VCOM_init(); #endif mcu_int_enable(); LED_ON(3); #ifdef USE_UART0 while(1) { if (T0TC > (rx_time+((PCLK / T0_PCLK_DIV) / BLINK_MIN))) LED_OFF(1); if (T0TC > (tx_time+((PCLK / T0_PCLK_DIV) / BLINK_MIN))) LED_OFF(2); if (uart_char_available(&uart0) && VCOM_check_free_space(1)) { LED_ON(1); rx_time = T0TC; inc = uart_getch(&uart0); VCOM_putchar(inc); } if (VCOM_check_available() && uart_check_free_space(&uart0, 1)) { LED_ON(2); tx_time = T0TC; inc = VCOM_getchar(); uart_transmit(&uart0, inc); } } #else while(1) { if (T0TC > (rx_time+((PCLK / T0_PCLK_DIV) / BLINK_MIN))) LED_OFF(1); if (T0TC > (tx_time+((PCLK / T0_PCLK_DIV) / BLINK_MIN))) LED_OFF(2); if (uart_char_available(&uart1) && VCOM_check_free_space(1)) { LED_ON(1); rx_time = T0TC; inc = uart_getch(&uart1); VCOM_putchar(inc); } if (VCOM_check_available() && uart_check_free_space(&uart1, 1)) { LED_ON(2); tx_time = T0TC; inc = VCOM_getchar(); uart_transmit(&uart1, inc); } } #endif return 0; }
static inline void main_init(void) { mcu_init(); sys_time_register_timer((1. / PERIODIC_FREQUENCY), NULL); settings_init(); mcu_int_enable(); #if DOWNLINK downlink_init(); #endif }
static inline void main_init( void ) { mcu_init(); sys_time_init(); imu_init(); // DEBUG_SERVO1_INIT(); // DEBUG_SERVO2_INIT(); mcu_int_enable(); }
static inline void main_init(void) { mcu_init(); sys_time_register_timer((1. / PERIODIC_FREQUENCY), NULL); imu_init(); #if USE_AHRS_ALIGNER ahrs_aligner_init(); #endif ahrs_init(); downlink_init(); mcu_int_enable(); }
static inline void main_init( void ) { mcu_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL); imu_init(); ahrs_aligner_init(); ahrs_init(); DEBUG_SERVO1_INIT(); // DEBUG_SERVO2_INIT(); mcu_int_enable(); }
static inline void main_init( void ) { mcu_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL); settings_init(); // DEBUG_SERVO2_INIT(); // LED_ON(1); // LED_ON(2); // DEBUG_S4_ON(); // DEBUG_S5_ON(); // DEBUG_S6_ON(); mcu_int_enable(); }
static inline void main_init( void ) { mcu_init(); sys_time_init(); settings_init(); // DEBUG_SERVO2_INIT(); // LED_ON(1); // LED_ON(2); // DEBUG_S4_ON(); // DEBUG_S5_ON(); // DEBUG_S6_ON(); mcu_int_enable(); }
static inline void main_init( void ) { mcu_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL); led_init(); uart0_init(); motor_power = 0; wt_servo_init(); wt_servo_set(500); spi_init(); wt_baro_init(); mcu_int_enable(); }
static inline void main_init( void ) { mcu_init(); sys_time_init(); led_init(); uart0_init(); motor_power = 0; wt_servo_init(); wt_servo_set(500); spi_init(); wt_baro_init(); mcu_int_enable(); }
static inline void main_init(void) { mcu_init(); sys_time_register_timer((1. / PERIODIC_FREQUENCY), NULL); led_init(); uart0_init(); i2c_init(); mb_twi_controller_init(); mb_tacho_init(); //motor_power = 0; mcu_int_enable(); }
static inline void main_init( void ) { mcu_init(); sys_time_init(); led_init(); /* LED_ON(4); */ /* LED_ON(5); */ /* LED_ON(6); */ /* LED_ON(7); */ uart0_init(); imu_impl_init(); imu_init(); mcu_int_enable(); }
void init_fbw( void ) { mcu_init(); actuators_init(); uint8_t i; for(i = 0; i < SERVOS_NB; i++) { SetServo(i, 1500); } // SetServo(SERVO_GAZ, SERVO_GAZ_MIN); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL); mcu_int_enable(); }
/********** INIT *************************************************************/ void init_fbw( void ) { mcu_init(); #if !(DISABLE_ELECTRICAL) electrical_init(); #endif #ifdef ACTUATORS actuators_init(); /* Load the failsafe defaults */ SetCommands(commands_failsafe); fbw_new_actuators = 1; #endif #ifdef RADIO_CONTROL radio_control_init(); #endif #ifdef INTER_MCU inter_mcu_init(); #endif #ifdef MCU_SPI_LINK link_mcu_init(); link_mcu_restart(); #endif fbw_mode = FBW_MODE_FAILSAFE; /**** start timers for periodic functions *****/ fbw_periodic_tid = sys_time_register_timer((1./60.), NULL); electrical_tid = sys_time_register_timer(0.1, NULL); #ifndef SINGLE_MCU mcu_int_enable(); #endif #if DOWNLINK register_periodic_telemetry(&telemetry_Fbw, "FBW_STATUS", send_fbw_status); register_periodic_telemetry(&telemetry_Fbw, "COMMANDS", send_commands); #ifdef ACTUATORS register_periodic_telemetry(&telemetry_Fbw, "ACTUATORS", send_actuators); #endif #ifdef RADIO_CONTROL register_periodic_telemetry(&telemetry_Fbw, "RC", send_rc); #endif #endif }