# vim:ft=kconfig config IOEROOT string option env="IOEROOT" source "$IOEROOT/include/mcu/Kconfig" config F_CPU int "CPU frequency in kHz (F_CPU)" default 16000 ---help--- Frequency CPU is running on. This must be value in kHz. # Toolchain ##################################################################### menu "Compilation options" config CHOST string "AVR Compilation toolchain prefix (host)" default "avr-" ---help--- Prefix used for all calls to compilation toolchain when compiling for AVR. config CCFLAGS string "AVR compilation flags" default "-Os -ffunction-sections -fdata-sections -fshort-enums -Wall" ---help--- C compilation flags for AVR host. Its suggested to not remove defaults unless you know what they do. config CLDFLAGS string "AVR linking flags" default "" ---help--- C linking flags for AVR host. config CBUILD string "Building machine compilation toolchain prefix (build)" default "" ---help--- Prefix used for all calls to compilation toolchain when compiling applications used for compilation or testing. config BUILD_CFLAGS string "Bulding machine compilation flags" default "-Wall" ---help--- C compilation flags for build. config BUILD_LDFLAGS string "Building machine linking flags" default "" ---help--- C linking flags for build. endmenu # Error handling ################################################################ config CONFIG_ERRORS bool "Errors support" default y ---help--- This enables error handling. This enables some checks and allows both avr-ioe and you program to react on errors. This doesn't handless hardware errors, only software ones. if CONFIG_ERRORS menu "Errors handling" config CONFIG_EH_RESTART bool "Restart MCU on error detection" default n ---help--- CPU is restarted when error is detected. This is suggested in production. config CONFIG_EH_HANG bool "Hang execution until manual restart on error detection" default n ---help--- Program hangs execution when error is detected. This is suggested in development. config CONFIG_EH_LED bool "Signal error detection by LED" depends on CONFIG_IOPORTS default n ---help--- When error is detected, specified output is pulled up. This is handy with CONFIG_EH_HANG. If you use this with CONFIG_EH_RESTART you will probably miss led blink. config CONFIG_EH_LED_IOPIN string "Error detection led output pin" depends on CONFIG_EH_LED default "IO_B0" ---help--- Specifies IO pin which will be pulled up on error detection. This string should be valid IO port (for example "IO_B0") or pair of group mask divided by comma (for example "IO_B, _BV(0)"). endmenu config CONFIG_ERROR_MESSAGES bool "Build with error messages" default n ---help--- If errors should support messages. Compiling error messages to code can be handy to finding out errors, but also makes program unnecessary big. config CONFIG_ERROR_CALLBACK bool "User program implements callback to be used to optionally resolve error" default n ---help--- This allows user program to define error callback to be called just after error is detected. This also can suppress error, but that is dangerous and should be used only with deep understanding of what it means. config CONFIG_CHECK_ARGUMENTS bool "Check arguments for all functions in library" default n ---help--- If arguments passed to functions in library should be checked and possibly error should be risen. endif # IO Ports ###################################################################### config MCUSUPPORT_IOPORTS bool default n config CONFIG_IOPORTS bool "Input/Output ports" default y depends on MCUSUPPORT_IOPORTS config MCUSUPPORT_PCINT0 bool default n config MCUSUPPORT_PCINT1 bool default n config MCUSUPPORT_PCINT2 bool default n config CONFIG_IOPORTS_PCINT bool "Input/Output ports change interrupts" depends on CONFIG_IOPORTS depends on MCUSUPPORT_PCINT0 || MCUSUPPORT_PCINT1 || MCUSUPPORT_PCINT2 # SPI ########################################################################### config MCUSUPPORT_SPI bool default n config CONFIG_SPI bool "SPI (Serial peripheral interface)" depends on MCUSUPPORT_SPI # USART ######################################################################### config MCUSUPPORT_USART bool default n menuconfig CONFIG_USART bool "USART (Universal synchronous/asynchronous transceiver)" depends on MCUSUPPORT_USART if CONFIG_USART config CONFIG_USART_BAUD int "Baudrate" default 115200 choice USART_PARITY_C prompt "Parity" config USART_PARITY_C_NONE bool "None" config USART_PARITY_C_ODD bool "Odd" config USART_PARITY_C_EVEN bool "Even" endchoice config CONFIG_USART_PARITY string default "USART_PARITY_NONE" if USART_PARITY_C_NONE default "USART_PARITY_ODD" if USART_PARITY_C_ODD default "USART_PARITY_EVEN" if USART_PARITY_C_EVEN config CONFIG_USART_DATABITS int "Data bits" default 8 range 5 8 choice USART_STOPBIT_C prompt "Stop bit" config USART_STOPBIT_C_SINGLE bool "Single" config USART_STOPBIT_C_DOUBLE bool "Double" endchoice config CONFIG_USART_STOPBIT string default "USART_STOPBIT_SINGLE" if USART_STOPBIT_C_SINGLE default "USART_STOPBIT_DOUBLE" if USART_STOPBIT_C_DOUBLE config CONFIG_USART_OUTPUT_BUFFER bool "Use output buffer" default n config CONFIG_USART_OUTBUFFER_SIZE int "Output buffer size in bytes." if CONFIG_USART_OUTPUT_BUFFER default 0 if ! CONFIG_USART_OUTPUT_BUFFER range 1 512000 if CONFIG_USART_OUTPUT_BUFFER default 32 choice USART_OUTBUFFER_MODE_C prompt "Output buffer replacement policy" if CONFIG_USART_OUTPUT_BUFFER config USART_OUTBUFFER_MODE_C_BLOCK bool "Block" config USART_OUTBUFFER_MODE_C_OVERWRITE bool "Overwrite" config USART_OUTBUFFER_MODE_C_DROP bool "Drop" config USART_OUTBUFFER_MODE_C_ERROR depends on CONFIG_ERRORS bool "Error" endchoice config CONFIG_USART_OUTBUFFER_MODE int default 1 if USART_OUTBUFFER_MODE_C_OVERWRITE default 2 if USART_OUTBUFFER_MODE_C_DROP default 0 config CONFIG_USART_INPUT_BUFFER bool "Use input buffer" config CONFIG_USART_INBUFFER_SIZE int "Input buffer size in bytes." if CONFIG_USART_INPUT_BUFFER default 0 if ! CONFIG_USART_INPUT_BUFFER range 1 512000 if CONFIG_USART_INPUT_BUFFER default 32 choice USART_INBUFFER_MODE_C prompt "Input buffer replacement policy" if CONFIG_USART_INPUT_BUFFER config USART_INBUFFER_MODE_C_BLOCK bool "Block" config USART_INBUFFER_MODE_C_OVERWRITE bool "Overwrite" config USART_INBUFFER_MODE_C_DROP bool "Drop" config USART_INBUFFER_MODE_C_ERROR depends on CONFIG_ERRORS bool "Error" endchoice config CONFIG_USART_INBUFFER_MODE int default 1 if USART_INBUFFER_MODE_C_OVERWRITE default 2 if USART_INBUFFER_MODE_C_DROP default 0 config CONFIG_USART_OUTFILE bool "STD FILE support for output" depends on CONFIG_USART_OUTPUT_BUFFER config CONFIG_USART_INFILE bool "STD FILE support for input" depends on CONFIG_USART_INPUT_BUFFER endif # Timers ######################################################################## config CONFIG_TIMERS bool "Timers"