1menu "Utilities"
2
3config RT_USING_RYM
4    bool "Enable Ymodem"
5    default n
6
7    if RT_USING_RYM
8        config YMODEM_USING_CRC_TABLE
9        bool "Enable CRC Table in Ymodem"
10        default n
11
12        config YMODEM_USING_FILE_TRANSFER
13        bool "Enable file transfer feature"
14        depends on RT_USING_DFS
15        default y
16    endif
17
18menuconfig RT_USING_ULOG
19    bool "Enable ulog"
20    default n
21
22    if RT_USING_ULOG
23        if !ULOG_USING_SYSLOG
24            choice
25                prompt "The static output log level."
26                default ULOG_OUTPUT_LVL_D
27                help
28                    When the log level is less than this option and it will stop output.
29                    These log will not compile into ROM when using LOG_X api.
30                    NOTE: It's not available on syslog mode.
31                config ULOG_OUTPUT_LVL_A
32                    bool "Assert"
33                config ULOG_OUTPUT_LVL_E
34                    bool "Error"
35                config ULOG_OUTPUT_LVL_W
36                    bool "Warning"
37                config ULOG_OUTPUT_LVL_I
38                    bool "Information"
39                config ULOG_OUTPUT_LVL_D
40                    bool "Debug"
41            endchoice
42        endif
43
44        if ULOG_USING_SYSLOG
45            choice
46                prompt "The static output log level."
47                default ULOG_OUTPUT_LVL_DEBUG
48                help
49                    When the log level is less than this option and it will stop output.
50                    These log will not compile into ROM when using LOG_X api.
51                    NOTE: It's not available on syslog mode.
52                config ULOG_OUTPUT_LVL_EMERG
53                    bool "EMERG"
54                config ULOG_OUTPUT_LVL_ALERT
55                    bool "ALERT"
56                config ULOG_OUTPUT_LVL_CRIT
57                    bool "CRIT"
58                config ULOG_OUTPUT_LVL_ERROR
59                    bool "ERR"
60                config ULOG_OUTPUT_LVL_WARNING
61                    bool "WARNING"
62                config ULOG_OUTPUT_LVL_NOTICE
63                    bool "NOTICE"
64                config ULOG_OUTPUT_LVL_INFO
65                    bool "INFO"
66                config ULOG_OUTPUT_LVL_DEBUG
67                    bool "DEBUG"
68            endchoice
69        endif
70
71        config ULOG_OUTPUT_LVL
72            int
73            default 0 if ULOG_OUTPUT_LVL_A
74            default 0 if ULOG_OUTPUT_LVL_EMERG
75            default 1 if ULOG_OUTPUT_LVL_ALERT
76            default 2 if ULOG_OUTPUT_LVL_CRIT
77            default 3 if ULOG_OUTPUT_LVL_E
78            default 3 if ULOG_OUTPUT_LVL_ERROR
79            default 4 if ULOG_OUTPUT_LVL_W
80            default 4 if ULOG_OUTPUT_LVL_WARNING
81            default 5 if ULOG_OUTPUT_LVL_NOTICE
82            default 6 if ULOG_OUTPUT_LVL_I
83            default 6 if ULOG_OUTPUT_LVL_INFO
84            default 7 if ULOG_OUTPUT_LVL_D
85            default 7 if ULOG_OUTPUT_LVL_DEBUG
86            default 7
87
88        config ULOG_USING_ISR_LOG
89            bool "Enable ISR log."
90            default n
91            help
92                The log output API can using in ISR (Interrupt Service Routines) also.
93
94        config ULOG_ASSERT_ENABLE
95            bool "Enable assert check."
96            default y
97
98        config ULOG_LINE_BUF_SIZE
99            int "The log's max width."
100            default 128
101            help
102               The buffer size for every line log.
103
104        config ULOG_USING_ASYNC_OUTPUT
105            bool "Enable async output mode."
106            default n
107            help
108                When enable asynchronous output mode. The log output is not immediately and the log will stored to buffer.
109                The another thread (Such as idle) will read the buffer and output the log. So it will using more RAM.
110
111        if ULOG_USING_ASYNC_OUTPUT
112            config ULOG_ASYNC_OUTPUT_BUF_SIZE
113                int "The async output buffer size."
114                default 2048
115
116            config ULOG_ASYNC_OUTPUT_BY_THREAD
117                bool "Enable async output by thread."
118                default y
119                help
120                    This thread will output the asynchronous logs. The logs can output by other user thread when this option is disable.
121
122                if ULOG_ASYNC_OUTPUT_BY_THREAD
123
124                    config ULOG_ASYNC_OUTPUT_THREAD_STACK
125                        int "The async output thread stack size."
126                        default 1024
127
128                    config ULOG_ASYNC_OUTPUT_THREAD_PRIORITY
129                        int "The async output thread stack priority."
130                        range 0 RT_THREAD_PRIORITY_MAX
131                        default 30
132
133                endif
134        endif
135
136        menu "log format"
137            config ULOG_OUTPUT_FLOAT
138                bool "Enable float number support. It will using more thread stack."
139                default n
140                select RT_KLIBC_USING_VSNPRINTF_STANDARD
141                help
142                    The default formater is using rt_vsnprint and it not supported float number.
143                    When enable this option then it will enable libc. The formater will change to vsnprint on libc.
144
145            if !ULOG_USING_SYSLOG
146                config ULOG_USING_COLOR
147                    bool "Enable color log."
148                    default y
149                    help
150                        The log will has different color by level.
151            endif
152
153            config ULOG_OUTPUT_TIME
154                bool "Enable time information."
155                default y
156
157            config ULOG_TIME_USING_TIMESTAMP
158                bool "Enable timestamp format for time."
159                default n
160                depends on ULOG_OUTPUT_TIME
161
162            config ULOG_OUTPUT_LEVEL
163                bool "Enable level information."
164                default y
165
166            config ULOG_OUTPUT_TAG
167                bool "Enable tag information."
168                default y
169
170            config ULOG_OUTPUT_THREAD_NAME
171                bool "Enable thread information."
172                default n
173        endmenu
174
175        config ULOG_BACKEND_USING_CONSOLE
176            bool "Enable console backend."
177            default y
178            help
179                The low level output using rt_kprintf().
180
181        config ULOG_BACKEND_USING_FILE
182            bool "Enable file backend."
183            select RT_USING_DFS
184            default n
185            help
186                The file backend of ulog.
187
188        config ULOG_USING_FILTER
189            bool "Enable runtime log filter."
190            default n
191            help
192                It will enable the log filter.
193                Such as level filter, log tag filter, log kw filter and tag's level filter.
194
195        config ULOG_USING_SYSLOG
196            bool "Enable syslog format log and API."
197            select ULOG_OUTPUT_TIME
198            select ULOG_USING_FILTER
199            default n
200    endif
201
202config RT_USING_UTEST
203    bool "Enable utest (RT-Thread test framework)"
204    default n
205
206    if RT_USING_UTEST
207        config UTEST_THR_STACK_SIZE
208            int "The utest thread stack size"
209            default 4096
210        config UTEST_THR_PRIORITY
211            int "The utest thread priority"
212            default 20
213
214        config RT_UTEST_USING_AUTO_RUN
215            bool "Enable auto run test cases"
216            default n
217            help
218                If enable this option, the test cases will be run automatically when board boot up.
219
220        config RT_UTEST_USING_ALL_CASES
221            bool "Enable all selected modules' test cases"
222            default n
223            help
224                If enable this option, all selected modules' test cases will be run.
225                Otherwise, only the test cases that are explicitly enabled will be run.
226    endif
227
228config RT_USING_VAR_EXPORT
229    bool "Enable Var Export"
230    default n
231
232config RT_USING_RESOURCE_ID
233    bool "Enable resource id"
234    default n
235
236rsource "libadt/Kconfig"
237rsource "rt-link/Kconfig"
238
239endmenu
240