# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#  http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#

syscfg.defs:
    CONSOLE_UART:
        description: 'Set console output to UART'
        value: 1
    CONSOLE_RTT:
        description: 'Set console output to RTT'
        value: 0
    CONSOLE_SEMIHOSTING:
        description: 'Set console output to ARM semihosting'
        value: 0
    CONSOLE_USB:
        description: 'Set console to USB'
        value: 0
    CONSOLE_TCP:
        description: 'Set console to TCP socket'
        value: 0
    CONSOLE_BLE_MONITOR:
        description: 'Set console output to BLE Monitor'
        value: 0
    CONSOLE_INPUT:
        description: 'Enable console input'
        value: 1
    CONSOLE_TICKS:
        description: 'Print OS Ticks'
        value: 1
    CONSOLE_ECHO:
        description: 'Default console echo'
        value: 1
    CONSOLE_NLIP_RESTORE_ECHO:
        description: 'Restore echo setting after NLIP commands'
        value: 0
    CONSOLE_COMPAT:
        description: 'Console backward compatibility'
        value: 1
    CONSOLE_MAX_INPUT_LEN:
        description: 'Maximum input line length'
        value: 256
    CONSOLE_HISTORY:
        description: >
            Select how console should handle command history.
        value: none
        choices:
            - none  # no history support
            - ram   # history kept in ram for current session only
            - log   # history kept in log
    CONSOLE_HISTORY_AUTO_SEARCH:
        description: >
            When set to 1 history is automatically searched for lines starting with already typed
            text.
        value: 0
    CONSOLE_PROMPT_MAX_LEN:
        description: 'Maximum number of characters for prompt'
        value: 16
    CONSOLE_PROMPT_STICKY:
        description: >
            If set to 1 prompt will be visible all the time at the
            bottom of terminal if terminal was detected.
        value: 0
    CONSOLE_PROMPT_SOFT_CURSOR:
        description: >
            Set this to 1 for VT102 like terminals in case of volume of
            log prints makes it difficult to see cursor in prompt line.
        value: 0
    CONSOLE_PROMPT_SOFT_CURSOR_ATTR:
        description: >
            Terminal escape sequence for cursor graphics mode.
            For black and white (minicom) use "7m" - inverse
            For color (putty) use "30;42m" - black/green
        value: '"7m"'
    CONSOLE_PROMPT_HIDE_CURSOR_IN_LOG_AREA:
        description: >
            Hide cursor in log area.
        value: 1

    CONSOLE_UART_BAUD:
        description: 'Console UART baud rate.'
        value: '115200'
    CONSOLE_UART_FLOW_CONTROL:
        description: 'Console UART flow control.'
        value: 'UART_FLOW_CTL_NONE'
    CONSOLE_UART_TX_BUF_SIZE:
        description: 'UART console transmit buffer size; must be power of 2.'
        value: 32
    CONSOLE_UART_RX_BUF_SIZE:
        description: >
            UART console receive buffer size; must be power of 2.
            When enabled, data are received to intermediate ringbuffer and
            processed in task context instead of interrupt. This prevents
            from possible deadlocking when trying to output large amount of
            data directly from RX handler (e.g. when echoing data back).
            Set to 0 to disable (received data are handled in interrupt context)
        value: 32

    CONSOLE_UART_DEV:
        description: 'Console UART device.'
        value: '"uart0"'

    CONSOLE_RTT_RETRY_COUNT:
        description: >
            Number of retries to write data in case buffer is full. This allows
            to wait for host to read data from buffer in case there's a lot of
            data to write which do not fit in buffer.
        value: 2
    CONSOLE_RTT_RETRY_DELAY_MS:
        description: >
            Delay (in miliseconds) between each write retry.
        value: 2
    CONSOLE_RTT_RETRY_IN_ISR:
        description: >
            Set to non-zero to enable write retries also in ISR.
        value: 0
    CONSOLE_RTT_INPUT_POLL_INTERVAL_MAX:
        description: >
            Maximum interval (milliseconds) to poll for RTT input.
            With no new data on RTT input, interval to poll for new data will
            be gradually increased up to specified value. Using high interval
            value may affect RTT console responsiveness, using small value may
            affect device performance due to more frequent polling.
        value: 250

    CONSOLE_SEMIHOSTING_TX_BUF_SIZE:
        description: 'ARM semihosting console transmit buffer size'
        value: 128

    CONSOLE_DEFAULT_LOCK_TIMEOUT:
        description: 'Default timeout (in ms) for console_lock() function used in console_write.'
        value: 1000

    CONSOLE_SYSINIT_STAGE:
        description: >
            Sysinit stage for console functionality.
        value: 20

    CONSOLE_HISTORY_SIZE:
        description: >
            This is no longer used.
            Equivalent settings:
                CONSOLE_HISTORY: ram
                CONSOLE_HISTORY_RAM_HISTORY_SIZE: <n>   <- previous value of CONSOLE_HISTORY_SIZE
        value: 0
        defunct: 1
