package genconfig

configuration conf {
	include embox.arch.system(core_freq=80000000)
	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.l4.stm32l4_discovery.bsp

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

	@Runlevel(1) include embox.driver.serial.stm_usart_l4
	@Runlevel(1) include embox.driver.serial.stm_diag(baud_rate=115200, usartx=1)
	@Runlevel(1) include embox.driver.diag(impl="embox__driver__serial__stm_diag")
	@Runlevel(1) include embox.driver.serial.stm_ttyS0(baud_rate=115200, usartx=1)
	
	include embox.driver.gpio.stm32cube_gpio

	@Runlevel(1) include embox.driver.flash.stm32l4_qspi
	@Runlevel(1) include embox.driver.flash.stm32_qspi_flash_dev

	include embox.driver.flash.flash_cache_ram
	include embox.driver.flash.stm32l4cube(flash_size=0x2000)
	include embox.driver.flash.flash_fs

	include embox.driver.i2c.stm32cube_i2c
//	include embox.driver.i2c.stm32cube_i2c1
	include embox.driver.i2c.stm32cube_i2c2

	include embox.driver.sensors.hts221_i2c(i2c_bus=2)
	include embox.driver.sensors.lps22hb_i2c(i2c_bus=2)
	include embox.driver.sensors.lis3mdl_i2c(i2c_bus=2)
	include embox.driver.sensors.lsm6dsl_i2c(i2c_bus=2)
	include embox.driver.sensors.cube_vl53l0x

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

	include embox.kernel.critical
	include embox.kernel.irq_static

	/* Some fs stuff required to block_dev_test to be compiled */
	include embox.fs.buffer_cache(bcache_size=8)
	include embox.fs.driver.initfs_dvfs(file_quantity=32)
	include embox.fs.driver.devfs_dvfs
	include embox.fs.rootfs_dvfs(fstype="initfs")
	include embox.fs.driver.dfs(minimum_file_size=0x800)
	include embox.fs.driver.fat_dvfs(log_level="LOG_ERR")
	include embox.fs.dvfs.core(inode_pool_size=8,file_pool_size=8,dentry_pool_size=8)
	include embox.compat.posix.file_system_dvfs
	include embox.fs.syslib.perm_stub

	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
	@Runlevel(1) include embox.kernel.timer.sys_timer
	include embox.kernel.sched.sched
	include embox.kernel.sched.idle_light
	include embox.kernel.thread.signal_stub

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

	/* 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

	include embox.lib.libds
	include embox.framework.LibFramework

	include embox.compat.libc.stdio.print(support_floating=0)
	include embox.compat.libc.stdio.file_pool(file_quantity=4)
	
	include embox.mem.pool_adapter
	include embox.mem.heap_bm
	include embox.mem.static_heap(heap_size=0x400)
	include embox.mem.bitmask(page_size=64)

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

	//include embox.cmd.fs.mkramdisk
	include embox.cmd.fs.dd
	include embox.cmd.fs.cat
	include embox.cmd.fs.ls
	include embox.cmd.fs.rm
//	include embox.cmd.fs.mkfs
	include embox.cmd.fs.mount
	include embox.cmd.fs.umount
	include embox.cmd.fs.stat
	include embox.cmd.fs.echo
	include embox.cmd.fs.touch
	include embox.cmd.fs.mkdir
//	include embox.cmd.fs.cp

	include embox.cmd.help
	include embox.cmd.sys.version

	include embox.cmd.testing.ticker
	
	include embox.cmd.testing.block_dev_test
	include embox.cmd.testing.l475_flash_test
	
	include embox.cmd.hardware.pin
	include embox.cmd.hw.lsblk
	include embox.cmd.hardware.spi

	include embox.cmd.i2c_tools.i2cdetect
	include embox.cmd.i2c_tools.i2cdump
	include embox.cmd.i2c_tools.i2cget
	include embox.cmd.i2c_tools.i2cset

	include embox.cmd.hardware.sensors.hts221
	include embox.cmd.hardware.sensors.lps22hb
	include embox.cmd.hardware.sensors.lis3mdl
	include embox.cmd.hardware.sensors.lsm6dsl
	include embox.cmd.hardware.sensors.vl53l0x

	include embox.cmd.fs.conf_setup
	include embox.cmd.loop_file_logger
	include embox.lib.loop_file_logger_lib(file_name="/conf/log.txt", record_size=64, record_quantity=4)

}
