aboutsummaryrefslogtreecommitdiff
path: root/Kconfig
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2016-03-20 16:39:30 +0100
committerKarel Kočí <cynerd@email.cz>2016-03-20 16:39:30 +0100
commit9439c6f1caffd938673018f3af7460b33a12528e (patch)
tree55eb32bfb1f90a489982853f698619a2083a4285 /Kconfig
parent1ac3026c039cb15dd8c110c84215096854c3c804 (diff)
downloadavr-ioe-9439c6f1caffd938673018f3af7460b33a12528e.tar.gz
avr-ioe-9439c6f1caffd938673018f3af7460b33a12528e.tar.bz2
avr-ioe-9439c6f1caffd938673018f3af7460b33a12528e.zip
Another work progress
Diffstat (limited to 'Kconfig')
-rw-r--r--Kconfig127
1 files changed, 125 insertions, 2 deletions
diff --git a/Kconfig b/Kconfig
index b748514..ebafb5b 100644
--- a/Kconfig
+++ b/Kconfig
@@ -23,6 +23,59 @@ config CONFCFLAGS
endmenu
+# Tracing and error handling ####################################################
+
+menu "Tracing and error handling"
+
+config CONFIG_ERRORS
+ bool "Errors support"
+
+if CONFIG_ERRORS
+
+menu "Errors handling"
+
+config CONFIG_EH_RESTART
+ bool "Restart MCU on error detection"
+
+config CONFIG_EH_MEMORY
+ bool "TODO: Write error code and possible stack trase to EEPROM"
+
+config CONFIG_EH_LED
+ bool "Signal error detection by LED"
+ depends on CONFIG_IOPORTS
+
+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)").
+
+config CONFIG_EH_USART
+ bool "Send error informations by UART"
+ depends on CONFIG_USART && CONFIG_USART_OUTPUT_BUFFER
+
+endmenu
+
+config CONFIG_CHECK_ARGUMENTS
+ bool "Check arguments for all functions in library"
+
+endif
+
+config CONFIG_TRACING
+ bool "TODO: Tracing support"
+
+if CONFIG_TRACING
+
+config CONFIG_TRACE_FUNCTIONCALL
+ bool "TODO: Trace all function calls in library"
+
+endif
+
+endmenu
+
# IO Ports ######################################################################
config MCUSUPPORT_IOPORTS
@@ -92,6 +145,7 @@ config CONFIG_USART_PARITY
config CONFIG_USART_DATABITS
int "Data bits"
default 8
+ range 5 8
choice USART_STOPBIT_C
prompt "Stop bit"
@@ -111,7 +165,8 @@ config CONFIG_USART_OUTPUT_BUFFER
config CONFIG_USART_OUTBUFFER_SIZE
int "Output buffer size in bytes." if CONFIG_USART_OUTPUT_BUFFER
- default 0 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
@@ -134,7 +189,8 @@ config CONFIG_USART_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
+ default 0 if ! CONFIG_USART_INPUT_BUFFER
+ range 1 512000 if CONFIG_USART_INPUT_BUFFER
default 32
choice USART_INBUFFER_MODE_C
@@ -152,4 +208,71 @@ config CONFIG_USART_INBUFFER_MODE
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"
+
+# Tasks #########################################################################
+
+menuconfig CONFIG_TASKS
+ bool "Taks support"
+ depends on CONFIG_TIMERS
+
+if CONFIG_TASKS
+
+config CONFIG_TASKS_TIME
+ bool "Measure approximate real time"
+
+choice TASKS_TIMER
+ prompt "Timer used for tasks planning and interrupts"
+ default TASKS_TIMER_2
+
+config TASKS_TIMER_0
+ bool "Timer0 (8-bit)"
+
+config TASKS_TIMER_1
+ bool "Timer1 (16-bit)"
+
+config TASKS_TIMER_2
+ bool "Timer2 (8-bit asynchronous)"
+
+endchoice
+
+endif
+
+# Jobs ##########################################################################
+
+menuconfig CONFIG_JOBS
+ bool "Jobs support"
+ ---help---
+ Job support allows you to plan and execute functions periodically. This is
+ designed for realtime control.
+
+if CONFIG_JOBS
+
+choice JOBS_DURATION
+ prompt "Jobs duration source"
+
+config JOBS_DURATION_CONSTANT
+ bool "Predefined constants"
+
+config JOBS_DURATION_PREV
+ bool "Previous execution time"
+
+config JOBS_DURATION_MAX
+ bool "Maximum previous time"
+
+endchoice
+
+endif