# 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.
#

# Package: sys/sysview/vendor

syscfg.defs:
    SYSVIEW_BUFFER_SIZE:
        description: Size of the RTT buffer that sysview uses
        value: 1024
    SYSVIEW_TIMESTAMP_USE_TIMER:
        description: >
            Use hal_timer for timestamp.
            It is recommended to leave this disabled unless using MCU without
            built-in cycle counter (e.g. Cortex-M0).
        value: 0
    SYSVIEW_TIMESTAMP_TIMER_NUM:
        description: >
            Timestamp timer number.
        value: 0
    SYSVIEW_TIMESTAMP_TIMER_FREQ:
        description: >
            Timestamp timer frequency.
        value: 1000000
    SYSVIEW_POST_MORTEM:
        description: >
            Enable post-mortem mode.
            Traces are continuously stored in cyclic buffer which can be read
            from the target e.g. after unattended system crashed unexpectedly.
            It is recommended to use large SysView buffer to get as much data
            for analysis as possible.
        value: 0
