Example #1
0
void boardsupport_init(void) 
{
	central_data_t *central_data;
	irq_initialize_vectors();
	cpu_irq_enable();
	Disable_global_interrupt();
		
	sysclk_init();

	//delay_init(sysclk_get_cpu_hz());
		
	INTC_init_interrupts();

	central_data=central_data_get_pointer_to_struct();
	
	#ifdef TELEMETRY_USE_UART
		uart_int_set_usart_conf(TELEMETRY_UART_INDEX, asv_debug_uart_conf());
		//uart configuration
		uart_int_init(TELEMETRY_UART_INDEX);
		uart_int_register_write_stream(uart_int_get_uart_handle(TELEMETRY_UART_INDEX), &(central_data->wired_out_stream));
		// Registering streams
		buffer_make_buffered_stream_lossy(&(wired_in_buffer), &(central_data->wired_in_stream));
		uart_int_register_read_stream(uart_int_get_uart_handle(TELEMETRY_UART_INDEX), &(central_data->wired_in_stream));
		central_data->debug_in_stream=&central_data->wired_in_stream;
		central_data->debug_out_stream=&central_data->wired_out_stream;

	#endif
		
	central_data_init();

	Enable_global_interrupt();

}
Example #2
0
void acoustic_init(audio_t*                     audio_data,
                   int32_t                      UID,
                   ahrs_t*                      ahrs,
                   Position_estimation*         position_estimation,
                   remote_t*                    remote,
                   navigation_t*                navigation,
                   stabilisation_copter_t*      stabilisation_copter,
                   control_command_t*           controls_nav,
                   Mavlink_waypoint_handler*    waypoint_handler,
                   byte_stream_t*               telemetry_down_stream)
{
    //init dependencies
    audio_data->ahrs                    =   ahrs;
    audio_data->position_estimation     =   position_estimation;
    audio_data->remote                  =   remote;
    audio_data->navigation              =   navigation;
    audio_data->stabilisation_copter    =   stabilisation_copter;
    audio_data->controls_nav            =   controls_nav;
    audio_data->waypoint_handler        =   waypoint_handler;
    audio_data->telemetry_down_stream   =   telemetry_down_stream;

    // uart setting
    usart_config_t usart_conf_audio             = {};
    usart_conf_audio.mode                       = UART_IN;
    usart_conf_audio.uart_device.uart           = (avr32_usart_t*)&AVR32_USART2;
    usart_conf_audio.uart_device.IRQ            = AVR32_USART2_IRQ;
    usart_conf_audio.uart_device.receive_stream = NULL;
    usart_conf_audio.options                    = {};
    usart_conf_audio.options.baudrate           = 57600;
    usart_conf_audio.options.charlength         = 8;
    usart_conf_audio.options.paritytype         = USART_NO_PARITY;
    usart_conf_audio.options.stopbits           = USART_1_STOPBIT;
    usart_conf_audio.options.channelmode        = USART_NORMAL_CHMODE;
    usart_conf_audio.rx_pin_map                 = {AVR32_USART2_RXD_0_1_PIN, AVR32_USART2_RXD_0_1_FUNCTION};
    usart_conf_audio.tx_pin_map                 = {AVR32_USART2_TXD_0_1_PIN, AVR32_USART2_TXD_0_1_FUNCTION};

    uart_int_set_usart_conf(UID, &usart_conf_audio);

    //uart configuration
    uart_int_init(UID);
    //uart_int_register_write_stream(uart_int_get_uart_handle(UID), &(centralData->audio_stream_out));
    // Registering streams
    buffer_make_buffered_stream_lossy(&(audio_data->audio_buffer), &(audio_data->audio_stream_in));
    uart_int_register_read_stream(uart_int_get_uart_handle(UID), &(audio_data->audio_stream_in));
}