void startup() { set_core_freq(STARTUP_CORE_FREQ); #ifndef NVIC_PRESENT irq_init(); #endif //NVIC_PRESENT //initialize system memory pools mem_init(); //initialize thread subsystem, create idle task thread_init(); #if (DBG_CONSOLE) dbg_console_create(); #endif #if (SW_TIMER_MODULE) sw_timer_init(); #endif //initialize RTC sys_time_init(); //initialize system timers sys_timer_init(); //user application initialize application_init(); //initialize seed srand(); }
static inline void main_init( void ) { hw_init(); sys_time_init(); main_init_adc(); bench_sensors_init(); 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 ) { hw_init(); sys_time_init(); led_init(); uart0_init_tx(); int_enable(); }
static inline void main_init( void ) { hw_init(); sys_time_init(); led_init(); usb_serial_init(); int_enable(); }
/********** INIT *************************************************************/ void init_rctx( void ) { hw_init(); sys_time_init(); #ifdef LED led_init(); #endif #ifdef USE_UART1 Uart1Init(); #endif #ifdef ADC adc_init(); adc_buf_channel(ADC_CHANNEL_VSUPPLY, &vsupply_adc_buf, DEFAULT_AV_NB_SAMPLE); #endif #ifdef RADIO_CONTROL ppm_init(); #endif int_enable(); /** - wait 0.5s (for modem init ?) */ uint8_t init_cpt = 30; while (init_cpt) { if (sys_time_periodic()) init_cpt--; } #if defined DATALINK #if DATALINK == XBEE xbee_init(); #endif #endif /* DATALINK */ }
/********** 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(); }
static inline void main_init( void ) { mcu_init(); sys_time_init(); main_init_hw(); gyro_ready_for_read = FALSE; }
static inline void main_init( void ) { mcu_init(); sys_time_init(); adc_init(); adc_buf_channel(0, &adc0_buf, 8); adc_buf_channel(1, &adc1_buf, 3); adc_buf_channel(2, &adc2_buf, 3); adc_buf_channel(3, &adc3_buf, 3); }
static inline void main_init( void ) { hw_init(); sys_time_init(); baro_init(); // DEBUG_SERVO1_INIT(); // DEBUG_SERVO2_INIT(); }
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(); }
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 ) { hw_init(); sys_time_init(); led_init(); comm_init(COMM_TELEMETRY); rc_init(); int_enable(); }
static inline void main_init( void ) { hw_init(); sys_time_init(); led_init(); comm_init(DA_COMM); comm_add_tx_callback(DA_COMM, test_message_tx); comm_add_rx_callback(DA_COMM, test_message_rx); int_enable(); }
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_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_init(); led_init(); uart0_init(); motor_power = 0; wt_servo_init(); wt_servo_set(500); spi_init(); wt_baro_init(); mcu_int_enable(); }
int main(void) { hw_init(); sys_time_init(); overo_link_init(); DEBUG_SERVO1_INIT(); while (1) { if (sys_time_periodic()) main_periodic(); main_event(); } return 0; }
static inline void main_init( void ) { hw_init(); sys_time_init(); led_init(); comm_init(COMM_TELEMETRY); /* add rx callback so we can send ALTIMETER_RESET messages */ comm_add_rx_callback(COMM_TELEMETRY, comm_autopilot_message_received); analog_init(); analog_enable_channel(ANALOG_CHANNEL_PRESSURE); altimeter_init(); 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(); }
STATIC_INLINE void main_init( void ) { #ifndef RADIO_CONTROL_SPEKTRUM_PRIMARY_PORT /* IF THIS IS NEEDED SOME PERHIPHERAL THEN PLEASE MOVE IT THERE */ for (uint32_t startup_counter=0; startup_counter<2000000; startup_counter++){ __asm("nop"); } #endif hw_init(); sys_time_init(); actuators_init(); radio_control_init(); booz2_analog_init(); baro_init(); #if defined USE_CAM || USE_DROP booz2_pwm_init_hw(); #endif battery_init(); imu_init(); // booz_fms_init(); // FIXME autopilot_init(); nav_init(); guidance_h_init(); guidance_v_init(); stabilization_init(); ahrs_aligner_init(); ahrs_init(); ins_init(); #ifdef USE_GPS booz_gps_init(); #endif modules_init(); int_enable(); }
STATIC_INLINE void main_init( void ) { #ifndef NO_FUCKING_STARTUP_DELAY #ifndef RADIO_CONTROL_SPEKTRUM_PRIMARY_PORT /* IF THIS IS NEEDED SOME PERHIPHERAL THEN PLEASE MOVE IT THERE */ for (uint32_t startup_counter=0; startup_counter<2000000; startup_counter++){ __asm("nop"); } #endif #endif mcu_init(); sys_time_init(); electrical_init(); actuators_init(); radio_control_init(); #if DATALINK == XBEE xbee_init(); #endif baro_init(); imu_init(); autopilot_init(); nav_init(); guidance_h_init(); guidance_v_init(); stabilization_init(); ahrs_aligner_init(); ahrs_init(); ins_init(); #ifdef USE_GPS gps_init(); #endif modules_init(); settings_init(); mcu_int_enable(); }
int main (int argc, char** argv) { hw_init(); sys_time_init(); led_init(); adc_init(); adc_buf_channel(ADC_0, &buf_adc[0], ADC_NB_SAMPLES); adc_buf_channel(ADC_1, &buf_adc[1], ADC_NB_SAMPLES); adc_buf_channel(ADC_2, &buf_adc[2], ADC_NB_SAMPLES); adc_buf_channel(ADC_3, &buf_adc[3], ADC_NB_SAMPLES); adc_buf_channel(ADC_4, &buf_adc[4], ADC_NB_SAMPLES); adc_buf_channel(ADC_5, &buf_adc[5], ADC_NB_SAMPLES); #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 #if NB_ADC != 8 #error "8 ADCs expected !" #endif #ifdef USE_UART0 Uart0Init(); #endif #ifdef USE_UART1 Uart1Init(); #endif int_enable(); while(1) { if (sys_time_periodic()) { LED_TOGGLE(1); uint16_t values[NB_ADC]; uint8_t i; for(i = 0; i < NB_ADC; i++) values[i] = buf_adc[i].sum / ADC_NB_SAMPLES; uint8_t id = 42; DOWNLINK_SEND_ADC(&id, NB_ADC, values); } } return 0; }
static inline void autopilot_main_init( void ) { hw_init(); sys_time_init(); led_init(); supervision_init(); actuators_init(ACTUATOR_BANK_MOTORS); #if BOMB_ENABLED bomb_init_servo(RADIO_FMS, 0, 0); #endif rc_init(); #if HARDWARE_ENABLED_GPS gps_init(); #else comm_init(COMM_0); comm_add_tx_callback(COMM_0, comm_autopilot_message_send); comm_add_rx_callback(COMM_0, comm_autopilot_message_received); #endif comm_init(COMM_TELEMETRY); comm_add_tx_callback(COMM_TELEMETRY, comm_autopilot_message_send); comm_add_rx_callback(COMM_TELEMETRY, comm_autopilot_message_received); analog_init(); analog_enable_channel(ANALOG_CHANNEL_BATTERY); analog_enable_channel(ANALOG_CHANNEL_PRESSURE); altimeter_init(); imu_init(); autopilot_init(); ahrs_init(); ins_init(); fms_init(); int_enable(); }
static void csc_main_init( void ) { mcu_init(); sys_time_init(); led_init(); Uart0Init(); Uart1Init(); ppm_init(); // Configure P0.21 as GPIO, output and then pull high as we use it to drive ppm input transistor PINSEL1 = PINSEL1 & ~(0x3 << 10); IO0DIR = IO0DIR | (0x1 << 21); IO0PIN = IO0DIR | (0x1 << 21); mcu_int_enable(); }
/********** INIT *************************************************************/ void init_fbw( void ) { hw_init(); sys_time_init(); #ifdef LED led_init(); #endif #ifdef USE_UART0 uart0_init_tx(); #endif #ifdef USE_UART1 uart1_init_tx(); #endif #ifdef ADC adc_init(); adc_buf_channel(ADC_CHANNEL_VSUPPLY, &vsupply_adc_buf, DEFAULT_AV_NB_SAMPLE); #endif #ifdef ACTUATORS actuators_init(); /* Load the failsafe defaults */ SetCommands(commands_failsafe); #endif #ifdef RADIO_CONTROL ppm_init(); #endif #ifdef INTER_MCU inter_mcu_init(); #endif #ifdef MCU_SPI_LINK spi_init(); link_mcu_restart(); #endif #ifdef LINK_IMU spi_init(); link_imu_init(); #endif #ifdef CTL_GRZ ctl_grz_init(); #endif #ifndef SINGLE_MCU int_enable(); #endif }
static inline void main_init( void ) { uint8_t i,j, num_servos, seperation; hw_init(); sys_time_init(); led_init(); actuators_init(ACTUATOR_BANK_SERVOS); int_enable(); /* Initialise all servos to values which are evenly spaced through the full range */ num_servos = actuators_get_num(ACTUATOR_BANK_SERVOS); seperation = 0xFF / num_servos; for (i = 0, j = 0; i < num_servos; i++, j += seperation) { servos[i].val = j; /* starting moving in the forward direction */ servos[i].dval = 1; } }
/** * @ingroup hal * */ void hardware_init(void) { #if defined ( RPI2 ) || defined ( RPI3 ) #ifndef ARM_ALLOW_MULTI_CORE // put all secondary cores to sleep uint8_t core_number = 1; for (core_number = 1 ; core_number < 4; core_number ++) { *(uint32_t *) (SMP_CORE_BASE + (core_number * 0x10)) = (uint32_t) _init_core; } #endif #endif (void) console_init(); hardware_init_startup_micros = bcm2835_st_read(); sys_time_init(); bcm2835_rng_init(); (void) bcm2835_vc_set_power_state(BCM2835_VC_POWER_ID_SDCARD, BCM2835_VC_SET_POWER_STATE_ON_WAIT); #if (_FFCONF == 82786) /* R0.09b */ (void) f_mount((BYTE) 0, &fat_fs); #elif (_FFCONF == 32020)/* R0.11 */ (void) f_mount(&fat_fs, (const TCHAR *) "", (BYTE) 1); #else #error Not a recognized/tested FatFs version #endif const uint32_t board_revision = bcm2835_vc_get_get_board_revision(); if ((board_revision == 0xa02082) || (board_revision == 0xa22082)) { _hardware_led_f.init = bcm2837_gpio_virt_init; _hardware_led_f.set = bcm2837_gpio_virt_led_set; } else if (board_revision > 0x00000f) { _hardware_led_f.init = led_rpiplus_init; _hardware_led_f.set = led_rpiplus_set; } hardware_led_init(); hardware_led_set(1); }
static inline void main_init( void ) { hw_init(); sys_time_init(); led_init(); #if USE_DA_UART0 /* Uart 0 (aka gps) */ comm_init(COMM_0); #endif #if USE_DA_UART1 /* Uart 1 (aka telemetry) */ comm_init(COMM_1); #endif #if USE_DA_USB /* USB */ comm_init(COMM_USB); #endif int_enable(); }