Example #1
0
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();
}
Example #2
0
static inline void main_init( void ) {
  hw_init();
  sys_time_init();
  main_init_adc();
  bench_sensors_init();
  int_enable();
}
Example #3
0
static inline void main_init( void ) {
  mcu_init();
  sys_time_init();
  led_init();
  gps_init();
  mcu_int_enable();
}
Example #4
0
static inline void main_init( void ) {
  hw_init();
  sys_time_init();
  led_init();
  uart0_init_tx();
  int_enable();
}
Example #5
0
static inline void main_init( void ) {
  hw_init();
  sys_time_init();
  led_init();
  usb_serial_init();
  int_enable();
}
Example #6
0
/********** 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 */
}
Example #7
0
/********** 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
}
Example #8
0
static inline void main_init( void ) {
  mcu_init();
  sys_time_init();
  led_init();
  uart1_init_tx();
  mcu_int_enable();
}
Example #9
0
static inline void main_init( void ) {
  mcu_init();
  sys_time_init();
  main_init_hw();

  gyro_ready_for_read = FALSE;

}
Example #10
0
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);
}
Example #11
0
static inline void main_init( void ) {
  hw_init();
  sys_time_init();
  baro_init();

  //  DEBUG_SERVO1_INIT();
  //  DEBUG_SERVO2_INIT();


}
Example #12
0
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();
}
Example #13
0
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;
}
Example #14
0
static inline void main_init( void ) {
    hw_init();
    sys_time_init();
    led_init();

    comm_init(COMM_TELEMETRY);

    rc_init();

    int_enable();
}
Example #15
0
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();
}
Example #16
0
static inline void main_init( void ) {

  mcu_init();
  sys_time_init();
  imu_init();

  //  DEBUG_SERVO1_INIT();
  //  DEBUG_SERVO2_INIT();


  mcu_int_enable();
}
Example #17
0
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();

}
Example #18
0
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;
}
Example #20
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();
}
Example #21
0
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();
}
Example #22
0
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();

}
Example #23
0
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();

}
Example #24
0
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;
}
Example #25
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();
}
Example #26
0
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
}
Example #28
0
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;
    }
        

}
Example #29
0
/**
 * @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);
}
Example #30
0
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();
}