package genconfig

configuration conf {
    include embox.arch.system(core_freq=48000000)
    include embox.arch.arm.armmlib.locore
    include embox.arch.arm.armmlib.ipl
    include embox.arch.arm.armmlib.cpu_idle
    include embox.arch.arm.fpu.fpu_stub
    include embox.arch.arm.libarch

    include platform.stm32.f0.nucleo_f030r8.platform_init
    include platform.stm32.f0.nucleo_f030r8.platform_shutdown

    include embox.cmd.hardware.pin
    include embox.cmd.help
    include embox.cmd.sys.version

    include embox.compat.libc.stdio.print(support_floating=0)
    include embox.compat.libc.stdio.printf
    include embox.compat.libc.stdio.scanf_without_file
	include embox.compat.libc.str(strerror_short=true)
    include embox.compat.posix.util.sleep
    include embox.compat.posix.util.time

    include embox.driver.periph_memory_stub
    include embox.driver.serial.core_notty
    include embox.driver.serial.stm_usart_f0(baud_rate=115200, usartx=1, port_tx=0,port_rx=0,pin_tx=9,pin_rx=10,pin_tx_af=1,pin_rx_af=1) 
    include embox.driver.tty.task_breaking_disable

	include embox.framework.mod(
		use_mod_depends=false,
		use_mod_labels=false,
		use_mod_logger=false,
		use_mod_names=true,
		use_cmd_details=false)

    include embox.fs.driver.devfs_stub

    include embox.init.setup_tty_diag   

    include embox.kernel.irq_static
    include embox.kernel.sched.sched_ticker_stub
    include embox.kernel.sched.sched_ticker_stub
    include embox.kernel.spinlock(spin_debug=false)
    include embox.kernel.task.resource.idesc_table(idesc_table_size=3)
    include embox.kernel.task.single
    include embox.kernel.task.task_no_table
    include embox.kernel.thread.signal_stub
    include embox.kernel.thread.stack_none
    include embox.kernel.thread.thread_cancel_disable
    include embox.kernel.thread.thread_local_none
    include embox.kernel.thread.thread_none
    include embox.kernel.time.jiffies(cs_name="cortexm_systick")
    include embox.kernel.timer.sleep_nosched
    include embox.kernel.critical

    include embox.lib.Tokenizer

    include embox.lib.libds

    @Runlevel(0) include embox.driver.gpio.stm32_gpio_f0
    @Runlevel(0) include embox.kernel.stack(stack_size=2048,alignment=4)

    @Runlevel(1) include embox.driver.clock.cortexm_systick
    @Runlevel(1) include embox.driver.interrupt.cortexm_nvic

    @Runlevel(1) include embox.kernel.time.kernel_time
    @Runlevel(1) include embox.kernel.timer.itimer(itimer_quantity=0)
    @Runlevel(1) include embox.kernel.timer.strategy.head_timer
    @Runlevel(1) include embox.kernel.timer.sys_timer(timer_quantity=2)

    @Runlevel(1) include embox.kernel.sched.boot_light
    @Runlevel(1) include embox.kernel.sched.timing.none

    @Runlevel(1) include embox.driver.diag(impl="embox__driver__serial__stm_usart_f0")

    @Runlevel(2) include embox.cmd.shell
    @Runlevel(3) include embox.init.start_script(shell_name="diag_shell")
}
