From 9439c6f1caffd938673018f3af7460b33a12528e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Sun, 20 Mar 2016 16:39:30 +0100 Subject: Another work progress --- Kconfig | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 125 insertions(+), 2 deletions(-) (limited to 'Kconfig') 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 -- cgit v1.2.3