
package genconfig

configuration conf {
	include embox.arch.system(core_freq=144000000)
	include embox.arch.arm.cortexm3.bundle
	include embox.arch.arm.armmlib.cpu_idle
	include embox.arch.arm.libarch
	include embox.arch.arm.vfork

	include platform.stm32.platform_init
	include platform.stm32.platform_shutdown
	include platform.stm32.f3.stm32f3_discovery.bsp

	@Runlevel(1) include embox.driver.interrupt.cortexm_nvic(irq_table_size=32)
	@Runlevel(1) include embox.driver.clock.cortexm_systick
	include embox.kernel.time.jiffies(cs_name="cortexm_systick")

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

	@Runlevel(1) include embox.driver.sensors.stm32f3discovery.gyro
	@Runlevel(1) include embox.driver.sensors.stm32f3discovery.acc

	include embox.driver.gpio.stm32cube_gpio

	include embox.kernel.stack(stack_size=4096,alignment=4)

	include embox.kernel.task.multi
	include embox.kernel.task.resource.idesc_table(idesc_table_size=6)

	include embox.kernel.thread.thread_local_none
	include embox.kernel.thread.thread_cancel_disable
	include embox.kernel.thread.signal_stub
	include embox.kernel.timer.sleep_nosched
	include embox.kernel.sched.sched
	include embox.kernel.sched.idle_light
	include embox.kernel.thread.signal_stub
	include embox.kernel.timer.sleep_nosched

	include embox.kernel.lthread.lthread
	include embox.kernel.thread.core(thread_pool_size=1, thread_stack_size=3000)

	/* tty requires */
	include embox.kernel.thread.mutex
	/*include embox.driver.tty.tty(rx_buff_sz=16, io_buff_sz=16)*/
	include embox.driver.tty.task_breaking_disable

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

	include embox.cmd.help
	include stm32f3_sensors.cmd.sensors
	include stm32f3_sensors.cmd.motor_control

	include embox.kernel.critical
	include embox.kernel.irq_static
	include embox.mem.pool_adapter

	include embox.lib.libds
	include embox.framework.mod(
		use_mod_depends=false,
		use_mod_labels=false,
		use_mod_logger=false,
		use_mod_names=false,
		use_cmd_details=false)
	include embox.compat.libc.stdio.print(support_floating=0)

	include embox.mem.heap_bm
	include embox.mem.static_heap(heap_size=0x1000)
	include embox.mem.bitmask(page_size=64)

	include embox.compat.libc.math_openlibm
	include embox.compat.posix.util.sleep
}
