
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

	/* Enable FPU */
	include embox.arch.arm.fpu.cortex_m4_fp
	@Runlevel(0) include embox.arch.arm.fpu.fpv5(log_level="LOG_INFO")

	include platform.stm32.platform_init
	include platform.stm32.platform_shutdown
	include platform.stm32.f4.stm32f4_discovery.bsp
	include platform.stm32.f4.stm32f4_discovery.stm32f4_discovery_bsp_audio
	include third_party.bsp.stmf4cube.cube(eth_rx_packet_count=0, eth_tx_packet_count=0)

	@Runlevel(1) include embox.driver.interrupt.cortexm_nvic(irq_table_size=128)
	@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_f4
	@Runlevel(1) include embox.driver.serial.stm_diag(baud_rate=115200, usartx=6)
	@Runlevel(1) include embox.driver.diag(impl="embox__driver__serial__stm_diag")

	include embox.driver.serial.core_notty
	include embox.fs.driver.devfs_stub

//	@Runlevel(2) include embox.driver.net.stm32f4cube_eth

	@Runlevel(2) include embox.driver.audio.stm32f4_discovery

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

	include embox.kernel.task.single
	include embox.kernel.task.resource.idesc_table(idesc_table_size=8)
	include embox.kernel.task.resource.sig_table(sig_table_size=0)

	include embox.net.util.protoent(max_aliases_num=0)
	include embox.net.util.servent(max_aliases_num=0)
	include embox.net.util.hostent(max_aliases_num=0,max_addrs_num=0)

	include embox.compat.posix.proc.exec_stub
	include embox.kernel.thread.thread_local_heap
	include embox.kernel.thread.thread_cancel_disable
	include embox.kernel.timer.sys_timer(timer_quantity=2)
	include embox.kernel.sched.sched
	include embox.kernel.sched.idle_light

	include embox.net.skbuff(amount_skb=3)
	include embox.net.skbuff_data(amount_skb_data=3,data_size=900)
	include embox.net.sock_noxattr
	include embox.net.af_inet(amount_inet_sock=5)
	include embox.compat.posix.net.getaddrinfo(addrinfo_pool_size=1)
	@Runlevel(2) include embox.net.core(amount_interface=1)
	@Runlevel(2) include embox.net.socket
	@Runlevel(2) include embox.net.dev(netdev_quantity=1)
	@Runlevel(2) include embox.net.arp
	@Runlevel(2) include embox.net.ipv4(max_uncomplete_cnt=0)
	@Runlevel(2) include embox.net.udp
	@Runlevel(2) include embox.net.udp_sock
	@Runlevel(2) include embox.net.raw_sock
	@Runlevel(2) include embox.net.neighbour(neighbour_amount=1)
	@Runlevel(2) include embox.net.netfilter(amount_rules=0)

	include embox.kernel.lthread.lthread
	include embox.kernel.thread.core(thread_pool_size=2,thread_stack_size=3600)
	include embox.kernel.thread.signal_stub

	/* tty requires */
	include embox.kernel.thread.mutex
	include embox.driver.tty.task_breaking_disable

	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.dvfs.super_block(super_block_pool_size=2)
	include embox.fs.dvfs.core(inode_pool_size=4, dentry_pool_size=4, file_pool_size=4)
	include embox.compat.posix.file_system_dvfs
	include embox.fs.syslib.perm_stub

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

	include embox.cmd.net.ifconfig
	include embox.cmd.net.route
	include embox.cmd.net.arp
	include embox.cmd.play(use_local_buffer=false, frames_per_buffer=960)
	include embox.cmd.record(local_buffer_size=16000)

	include embox.util.log
	include embox.kernel.critical

	include embox.kernel.irq_static
	include embox.kernel.irq_stack_protection
	include embox.mem.pool_adapter

	include embox.framework.embuild

	include embox.compat.libc.stdio.print(support_floating=1)
	include embox.compat.libc.math_openlibm
	include embox.compat.libc.stdio.file_pool(file_quantity=0)
	include embox.compat.posix.util.sleep

	include embox.mem.heap_bm
	include embox.mem.static_heap(heap_size=0x8000,section="")
	include embox.mem.static_heap2(heap_size=57800)
	include embox.mem.bitmask(page_size=256)
	include embox.mem.mspace_malloc(task_is_greed=true)

	/*include third_party.pjproject.streamutil*/
	/*include third_party.pjproject.pjsua*/
	//include third_party.pjproject.simpleua
	//include project.pjsip.cmd.simple_pjsua_imported

	include embox.compat.posix.proc.vfork_stub
	include embox.compat.posix.proc.exec_stub

	include embox.driver.audio.portaudio_lib(log_level="LOG_ERR")

}
