aboutsummaryrefslogtreecommitdiff
path: root/ioe.Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'ioe.Kconfig')
-rw-r--r--ioe.Kconfig280
1 files changed, 280 insertions, 0 deletions
diff --git a/ioe.Kconfig b/ioe.Kconfig
new file mode 100644
index 0000000..22dd75f
--- /dev/null
+++ b/ioe.Kconfig
@@ -0,0 +1,280 @@
+# 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"