#
# 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:
    SX1272_SPI_IDX:
        description:
        value: -1

    SX1272_SPI_CS_PIN:
        description: 'SPI chip select pin number'
        value:  -1

    SX1272_SPI_BAUDRATE:
        description:
        value: 500

    SX1272_HAS_ANT_SW:
        description: 'Set to 1 if board has an antenna switch'
        restrictions:
            - "!SX1272_HAS_COMP_ANT_SW"
        value: 0

    SX1272_HAS_COMP_ANT_SW:
        description: 'Set to 1 if board has complementary antenna switch'
        restrictions:
            - "!SX1272_HAS_ANT_SW"
        value: 0

    SX1272_RESET_PIN:
        description: 'SX1272 reset pin number'
        value:  -1

    SX1272_DIO0_PIN:
        description: 'DIO0 gpio  pin number'
        value:  -1

    SX1272_DIO1_PIN:
        description: 'DIO1 gpio  pin number'
        value:  -1

    SX1272_DIO2_PIN:
        description: 'DIO2 gpio  pin number'
        value:  -1

    SX1272_DIO3_PIN:
        description: 'DIO3 gpio  pin number'
        value:  -1

    SX1272_DIO4_PIN:
        description: 'DIO4 gpio  pin number'
        value:  -1

    SX1272_DIO5_PIN:
        description: 'DIO5 gpio pin number'
        value:  -1

    SX1272_RXTX_PIN:
        description: 'RxTx switch control pin number'
        value:  -1

    SX1272_N_RXTX_PIN:
        description: 'Complement RxTx switch control pin number'
        value:  -1

    SX1272_USE_PA_BOOST:
        description: 'Transmit path connected to PA_BOOST or RFO (0 = RFO 1 = PABOOST)'
        value: 0

    BSP_USE_HAL_SPI:
        description: 'Use alternate spi read/write buffer routines'
        value: 0
