<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<IP xmlns="http://mcd.rou.st.com/modules.php?name=mcu"
    xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance"
    ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Modes.xsd"
    DBVersion="V4.0"
    IPType="middleware"
    IpGroup="Middleware"
    Name="LoRaWAN"
    Version="v1.2.2_Cube">
    <About>Middleware enabling LoRaWAN based on LoRa modulations.</About>

    <RefParameter Name="SUBGHZ_APPLICATION" Comment="Application" DefaultValue="LORA_USER_APPLICATION" Type="list" Group="Application selection" TabName="LoRaWAN application" Visible="false">
        <PossibleValue Value="LORA_AT_SLAVE" Comment="AT Slave sample application" Semaphore="SEM_LORA_AT_SLAVE"/>
        <PossibleValue Value="LORA_END_NODE" Comment="End Node sample application" Semaphore="SEM_LORA_END_NODE"/>
        <PossibleValue Value="LORA_USER_APPLICATION" Comment="User defined" Semaphore="SEM_LORA_USER_APPLICATION"/>
        <Description>List of available applications</Description>
    </RefParameter>

    <RefParameter Name="DISPLAY_APPLICATION" Comment="Application" DefaultValue="LORA_USER_APPLICATION" Type="list" Group="Application selection" TabName="LoRaWAN application" Visible="true">
        <PossibleValue Value="LORA_AT_SLAVE" Condition="!SEM_LORA_AT_SLAVE" Comment="AT_Slave (accessible from Examples list)"/>
        <PossibleValue Value="LORA_END_NODE" Condition="!SEM_LORA_END_NODE" Comment="End_Node (accessible from Examples list)"/>
        <PossibleValue Value="LORA_USER_APPLICATION" Condition="!SEM_LORA_USER_APPLICATION" Comment="User defined (accessible from STM32WL devices)"/>
        <Description>List of available applications</Description>
    </RefParameter>

    <!-- LoRaWAN sys_conf.h RefParameters - Begin -->
    <RefParameter Name="VERBOSE_LEVEL" Comment="Trace verbose level" DefaultValue="VLEVEL_M" Type="list" Group="sys_conf" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="!(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="VLEVEL_H" Comment="VLEVEL_H"/>
        <PossibleValue Value="VLEVEL_M" Comment="VLEVEL_M"/>
        <PossibleValue Value="VLEVEL_L" Comment="VLEVEL_L"/>
        <Description> </Description>
    </RefParameter>
    <RefParameter Name="VERBOSE_LEVEL" Comment="Trace verbose level" DefaultValue="" Type="list" Group="sys_conf" TabName="LoRaWAN application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="VERBOSE_LEVEL_CM4" Comment="Trace verbose level" DefaultValue="VLEVEL_M" Type="list" Group="sys_conf CM4" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="VLEVEL_H" Comment="VLEVEL_H"/>
        <PossibleValue Value="VLEVEL_M" Comment="VLEVEL_M"/>
        <PossibleValue Value="VLEVEL_L" Comment="VLEVEL_L"/>
        <Description> </Description>
    </RefParameter>
    <RefParameter Name="VERBOSE_LEVEL_CM4" Comment="Trace verbose level" DefaultValue="" Type="list" Group="sys_conf CM0PLUS" TabName="LoRaWAN application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="VERBOSE_LEVEL_CM0PLUS" Comment="Trace verbose level" DefaultValue="VLEVEL_M" Type="list" Group="sys_conf CM0PLUS" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SINGLE_CORE &amp; !SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="VLEVEL_H" Comment="VLEVEL_H"/>
        <PossibleValue Value="VLEVEL_M" Comment="VLEVEL_M"/>
        <PossibleValue Value="VLEVEL_L" Comment="VLEVEL_L"/>
        <Description> </Description>
    </RefParameter>
    <RefParameter Name="VERBOSE_LEVEL_CM0PLUS" Comment="Trace verbose level" DefaultValue="" Type="list" Group="sys_conf CM0PLUS" TabName="LoRaWAN application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="APP_LOG_ENABLED" Comment="Enable Application Logging" DefaultValue="true" Type="boolean" Group="sys_conf" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="!(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description> </Description>
    </RefParameter>
    <RefParameter Name="APP_LOG_ENABLED" Comment="Enable Application Logging" DefaultValue="true" Type="boolean" Group="sys_conf" TabName="LoRaWAN application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="APP_LOG_ENABLED_CM4" Comment="Enable Application Logging" DefaultValue="true" Type="boolean" Group="sys_conf CM4" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description> </Description>
    </RefParameter>
    <RefParameter Name="APP_LOG_ENABLED_CM4" Comment="Enable Application Logging" DefaultValue="true" Type="boolean" Group="sys_conf CM4" TabName="LoRaWAN application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="APP_LOG_ENABLED_CM0PLUS" Comment="Enable Application Logging" DefaultValue="true" Type="boolean" Group="sys_conf CM0PLUS" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SINGLE_CORE &amp; !SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description> </Description>
    </RefParameter>
    <RefParameter Name="APP_LOG_ENABLED_CM0PLUS" Comment="Enable Application Logging" DefaultValue="true" Type="boolean" Group="sys_conf CM0PLUS" TabName="LoRaWAN application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="DEBUGGER_ON" Comment="Activate Debugger" DefaultValue="false" Type="boolean" Group="sys_conf" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="!(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description></Description>
    </RefParameter>
    <RefParameter Name="DEBUGGER_ON" Comment="Activate Debugger" DefaultValue="false" Type="boolean" Group="sys_conf" TabName="LoRaWAN application" Visible="false">
        <Description></Description>
    </RefParameter>

    <RefParameter Name="DEBUGGER_ON_CM4" Comment="Activate Debugger" DefaultValue="false" Type="boolean" Group="sys_conf CM4" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description></Description>
    </RefParameter>
    <RefParameter Name="DEBUGGER_ON_CM4" Comment="Activate Debugger" DefaultValue="false" Type="boolean" Group="sys_conf CM4" TabName="LoRaWAN application" Visible="false">
        <Description></Description>
    </RefParameter>

    <RefParameter Name="DEBUGGER_ON_CM0PLUS" Comment="Activate Debugger" DefaultValue="false" Type="boolean" Group="sys_conf CM0PLUS" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SINGLE_CORE &amp; !SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description></Description>
    </RefParameter>
    <RefParameter Name="DEBUGGER_ON_CM0PLUS" Comment="Activate Debugger" DefaultValue="false" Type="boolean" Group="sys_conf CM0PLUS" TabName="LoRaWAN application" Visible="false">
        <Description></Description>
    </RefParameter>

    <RefParameter Name="LOW_POWER_DISABLE" Comment="Disable Low Power Mode" DefaultValue="false" Type="boolean" Group="sys_conf" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="!(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx)  &amp; !SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description>It goes only to SLEEP but not to STOP mode </Description>
    </RefParameter>
    <RefParameter Name="LOW_POWER_DISABLE" Comment="Disable Low Power Mode" DefaultValue="false" Type="boolean" Group="sys_conf" TabName="LoRaWAN application" Visible="false">
        <Description>It goes only to SLEEP but not to STOP mode </Description>
    </RefParameter>

    <RefParameter Name="LOW_POWER_DISABLE_CM4" Comment="Disable Low Power Mode CM4" DefaultValue="false" Type="boolean" Group="sys_conf CM4" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SINGLE_CORE  &amp; !SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description>It goes only to SLEEP but not to STOP mode </Description>
    </RefParameter>
    <RefParameter Name="LOW_POWER_DISABLE_CM4" Comment="Disable Low Power Mode CM4" DefaultValue="false" Type="boolean" Group="sys_conf CM4" TabName="LoRaWAN application" Visible="false">
        <Description>It goes only to SLEEP but not to STOP mode </Description>
    </RefParameter>

    <RefParameter Name="LOW_POWER_DISABLE_CM0PLUS" Comment="Disable Low Power Mode CM0PLUS" DefaultValue="false" Type="boolean" Group="sys_conf CM0PLUS" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SINGLE_CORE  &amp; !SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description>It goes only to SLEEP but not to STOP mode </Description>
    </RefParameter>
    <RefParameter Name="LOW_POWER_DISABLE_CM0PLUS" Comment="Disable Low Power Mode CM0PLUS" DefaultValue="false" Type="boolean" Group="sys_conf CM0PLUS" TabName="LoRaWAN application" Visible="false">
        <Description>It goes only to SLEEP but not to STOP mode </Description>
    </RefParameter>

    <RefParameter Name="SENSOR_ENABLED" Comment="Enable Sensor" DefaultValue="false" Type="boolean" Group="sys_conf" TabName="LoRaWAN application" Visible="true">
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description>Not available in this version </Description>
    </RefParameter>
    <!-- LoRaWAN sys_conf.h RefParameters - End -->

    <!-- LoRaWAN commissioning.h RefParameters - Begin -->

    <RefParameter Name="LORAWAN_PUBLIC_NETWORK" Comment="Public network" DefaultValue="true" Type="boolean" Group="Commissioning" TabName="LoRaWAN commissioning" Visible="true">
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description>Indicates if the end-device is to be connected to a private or public network</Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_NETWORK_ID" Comment="Current network ID" Type="Integer"  DefaultValue="0" Group="Commissioning" TabName="LoRaWAN commissioning" Visible="true">
        <Description>Current network ID</Description>
    </RefParameter>

    <RefParameter Name="KEY_LOG_ENABLED" Comment="Enable Key log" DefaultValue="true" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN commissioning" Visible="true">
        <Condition Diagnostic="" Expression="!SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="false" Comment="false"/>
        <PossibleValue Value="true" Comment="true"/>
        <Description> </Description>
    </RefParameter>

    <!-- LoRaWAN commissioning.h RefParameters - End -->

    <!-- LoRaWAN se-identity.h RefParameters - Begin -->

    <RefParameter Name="STATIC_DEVICE_EUI" Comment="Static Device EUI" DefaultValue="false" Type="boolean" Group="se-identity" TabName="LoRaWAN commissioning" Visible="true">
        <PossibleValue Value="true" Comment="LORAWAN_DEVICE_EUI" Semaphore="Semaphore_STATIC_DEVICE_EUI"/>
        <PossibleValue Value="false" Comment="SW dynamically generated based on unique board ID"/>
        <Description>When set to true DevEui is LORAWAN_DEVICE_EUI&lt;br/&gt;
        When set to false DevEui is automatically generated by calling BoardGetUniqueId function</Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_DEVICE_EUI" Comment="LoRaWAN device EUI" Type="Array" ArraySize="8" ArrayTypeElement="uint8_t;16" Separator=", " DefaultValue="00, 80, E1, 01, 01, 01, 01, 01" Group="se-identity" TabName="LoRaWAN commissioning" Visible="true">
        <Condition Diagnostic="" Expression="Semaphore_STATIC_DEVICE_EUI"/>
        <Description>Mote device IEEE EUI (big endian)</Description>
    </RefParameter>
    <RefParameter Name="LORAWAN_DEVICE_EUI" Comment="LoRaWAN device EUI" Type="Array" ArraySize="8" ArrayTypeElement="uint8_t;16" Separator=", " DefaultValue="00, 80, E1, 01, 01, 01, 01, 01" Group="se-identity" TabName="LoRaWAN commissioning" Visible="false">
        <Description>Mote device IEEE EUI (big endian)</Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_DEVICE_EUI_HEX" Comment="LoRaWAN device EUI hexa" Type="String" DefaultValue="0x00, 0x80, 0xE1, 0x01, 0x01, 0x01, 0x01, 0x01" Group="se-identity" TabName="LoRaWAN commissioning" Visible="false">
        <Condition Diagnostic="" Expression="Semaphore_STATIC_DEVICE_EUI"/>
        <Description>Mote device IEEE EUI (big endian)</Description>
        <Description> </Description>
    </RefParameter>
    <RefParameter Name="LORAWAN_DEVICE_EUI_HEX" Comment="LoRaWAN device EUI hexa" Type="String" DefaultValue="0x00, 0x80, 0xE1, 0x01, 0x01, 0x01, 0x01, 0x01" Group="se-identity" TabName="LoRaWAN commissioning" Visible="false">
        <Description>Mote device IEEE EUI (big endian)</Description>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_JOIN_EUI" Comment="App/Join EUI" Type="Array" ArraySize="8" ArrayTypeElement="uint8_t;16" Separator=", " DefaultValue="01, 01, 01, 01, 01, 01, 01, 01" Group="se-identity" TabName="LoRaWAN commissioning" Visible="true">
        <Description>App/Join IEEE EUI (big endian)</Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_JOIN_EUI_HEX" Comment="App/Join EUI hexa" Type="String" DefaultValue="0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01" Group="se-identity" TabName="LoRaWAN commissioning" Visible="false">
        <Description>App/Join IEEE EUI (big endian)</Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_NWK_KEY" Comment="Network key" Type="Array" ArraySize="16" ArrayTypeElement="uint8_t;16" Separator="," DefaultValue="2B,7E,15,16,28,AE,D2,A6,AB,F7,15,88,09,CF,4F,3C" Group="se-identity" TabName="LoRaWAN commissioning" Visible="true">
        <Description>Network root key</Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_APP_KEY" Comment="Application key" Type="Array" ArraySize="16" ArrayTypeElement="uint8_t;16" Separator="," DefaultValue="2B,7E,15,16,28,AE,D2,A6,AB,F7,15,88,09,CF,4F,3C" Group="se-identity" TabName="LoRaWAN commissioning" Visible="true">
        <Description>Application root key</Description>
    </RefParameter>

    <RefParameter Name="STATIC_DEVICE_ADDRESS" Comment="Static Device Address" Type="boolean"  DefaultValue="false" Group="se-identity" TabName="LoRaWAN commissioning" Visible="true">
        <PossibleValue Value="false" Comment="false"/>
        <PossibleValue Value="true" Comment="true" Semaphore="Semaphore_STATIC_DEVICE_ADDRESS"/>
        <Description>When set to true DevAdd is LORAWAN_DEVICE_ADDRESS&lt;br/&gt;
        When set to false DevAdd is automatically generated using a pseudo random generator seeded with a value derived from BoardUniqueId value</Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_DEVICE_ADDRESS" Comment="Device Address" Type="Array" ArraySize="1" ArrayTypeElement="uint32_t;16" Separator=" " DefaultValue="0100000A" Group="se-identity" TabName="LoRaWAN commissioning" Visible="true">
        <Condition Diagnostic="" Expression="Semaphore_STATIC_DEVICE_ADDRESS"/>
        <Description>Device address on the network (big endian)</Description>
    </RefParameter>
    <RefParameter Name="LORAWAN_DEVICE_ADDRESS" Comment="Device Address" Type="Array" ArraySize="1" ArrayTypeElement="uint32_t;16" Separator=" " DefaultValue="0100000A" Group="se-identity" TabName="LoRaWAN commissioning" Visible="false">
        <Description>Device address on the network (big endian)</Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_NWK_S_KEY" Comment="Network session key" Type="Array" ArraySize="16" ArrayTypeElement="uint8_t;16" Separator="," DefaultValue="2B,7E,15,16,28,AE,D2,A6,AB,F7,15,88,09,CF,4F,3C" Group="se-identity" TabName="LoRaWAN commissioning" Visible="true">
        <Description>WARNING: NWK_S_KEY FOR 1.0.x DEVICES</Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_APP_S_KEY" Comment="Application session key" Type="Array" ArraySize="16" ArrayTypeElement="uint8_t;16" Separator="," DefaultValue="2B,7E,15,16,28,AE,D2,A6,AB,F7,15,88,09,CF,4F,3C" Group="se-identity" TabName="LoRaWAN commissioning" Visible="true">
        <Description></Description>
    </RefParameter>

    <!-- LoRaWAN se-identity.h RefParameters - End -->

    <!-- LoRaWAN lora_app.h RefParameters - Begin -->
    <RefParameter Name="Activate_BOARD_RESOURCES" Comment="Activate Board Resources" DefaultValue="none" Type="list" Group="lora_app" TabName="LoRaWAN application" Added="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SINGLE_CORE"/>
        <PossibleValue Comment="Cortex-M0 Plus" Value="M0PLUS" Semaphore="SEM_BOARD_RESOURCES_M0PLUS_FOR_LORA"/>
        <PossibleValue Comment="Cortex-M4" Value="M4" Semaphore="SEM_BOARD_RESOURCES_M4_FOR_LORA"/>
        <PossibleValue Comment="Both" Value="both" Semaphore="SEM_BOARD_RESOURCES_BOTH_FOR_LORA"/>
        <PossibleValue Comment="None" Value="none"/>
        <Description>Enable LEDs and BUTTONs settings using GPIO under Plaform Settings panel</Description>
    </RefParameter>

    <RefParameter Name="Activate_BOARD_RESOURCES" Comment="Activate Board Resources" DefaultValue="none" Type="list" Group="lora_app" TabName="LoRaWAN application" Added="true">
        <PossibleValue Comment="Cortex-M4" Value="M4" Semaphore="SEM_BOARD_RESOURCES_M4_FOR_LORA"/>
        <PossibleValue Comment="None" Value="none"/>
        <Description>Enable LEDs and BUTTONs settings using GPIO under Plaform Settings panel</Description>
    </RefParameter>

    <RefParameter Name="ACTIVE_REGION" Comment="Active region" DefaultValue="LORAMAC_REGION_EU868" Type="list" Group="lora_app" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="!SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="LORAMAC_REGION_AS923" Condition="!Semaphore_REGION_AS923" Comment="LORAMAC_REGION_AS923"/>
        <PossibleValue Value="LORAMAC_REGION_AU915" Condition="!Semaphore_REGION_AU915" Comment="LORAMAC_REGION_AU915"/>
        <PossibleValue Value="LORAMAC_REGION_CN470" Condition="!Semaphore_REGION_CN470" Comment="LORAMAC_REGION_CN470"/>
        <PossibleValue Value="LORAMAC_REGION_CN779" Condition="!Semaphore_REGION_CN779" Comment="LORAMAC_REGION_CN779"/>
        <PossibleValue Value="LORAMAC_REGION_EU433" Condition="!Semaphore_REGION_EU433" Comment="LORAMAC_REGION_EU433"/>
        <PossibleValue Value="LORAMAC_REGION_EU868" Condition="!Semaphore_REGION_EU868" Comment="LORAMAC_REGION_EU868"/>
        <PossibleValue Value="LORAMAC_REGION_KR920" Condition="!Semaphore_REGION_KR920" Comment="LORAMAC_REGION_KR920"/>
        <PossibleValue Value="LORAMAC_REGION_IN865" Condition="!Semaphore_REGION_IN865" Comment="LORAMAC_REGION_IN865"/>
        <PossibleValue Value="LORAMAC_REGION_US915" Condition="!Semaphore_REGION_US915" Comment="LORAMAC_REGION_US915"/>
        <PossibleValue Value="LORAMAC_REGION_RU864" Condition="!Semaphore_REGION_RU864" Comment="LORAMAC_REGION_RU864"/>
        <Description>List of available regions is set in lorawan_conf.h available under LoRaWAN middleware panel</Description>
    </RefParameter>

    <RefParameter Name="APP_TX_DUTYCYCLE" Comment="Transmition duty cycle" DefaultValue="10000" Type="integer" Group="lora_app" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="SEM_LORA_END_NODE "/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="APP_TX_DUTYCYCLE" Comment="Transmition duty cycle" DefaultValue="10000" Type="integer" Group="lora_app" TabName="LoRaWAN application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_USER_APP_PORT" Comment="Application user port" DefaultValue="2" Type="integer" Min="1" Max="199"  Group="lora_app" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="SEM_LORA_END_NODE "/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_USER_APP_PORT" Comment="Application user port" DefaultValue="2" Type="integer" Min="1" Max="199" Group="lora_app" TabName="LoRaWAN application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_SWITCH_CLASS_PORT" Comment="Switch class port" DefaultValue="3" Type="integer" Min="1" Max="199"  Group="lora_app" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="SEM_LORA_END_NODE "/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_SWITCH_CLASS_PORT" Comment="Switch class port" DefaultValue="3" Type="integer" Min="1" Max="199" Group="lora_app" TabName="LoRaWAN application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_DEFAULT_CLASS" Comment="Default class" DefaultValue="CLASS_A" Type="list" Group="lora_app" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="!SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="CLASS_A" Comment="CLASS_A" Semaphore="Semaphore_LORAWAN_DEFAULT_CLASS_A"/>
        <PossibleValue Value="CLASS_B" Comment="CLASS_B" Semaphore="Semaphore_LORAWAN_DEFAULT_CLASS_B"/>
        <PossibleValue Value="CLASS_C" Comment="CLASS_C" Semaphore="Semaphore_LORAWAN_DEFAULT_CLASS_C"/>
        <Description>@note do not use 224. It is reserved for certification
        </Description>
    </RefParameter>
    <RefParameter Name="LORAWAN_DEFAULT_CLASS" Comment="Default class" DefaultValue="CLASS_A" Type="list" Group="lora_app" TabName="LoRaWAN application" Visible="false">
        <Description>@note do not use 224. It is reserved for certification
        </Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_DEFAULT_CONFIRMED_MSG_STATE" Comment="Default handler message state" DefaultValue="LORAMAC_HANDLER_UNCONFIRMED_MSG" Type="list" Group="lora_app" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="SEM_LORA_END_NODE  "/>
        <PossibleValue Value="LORAMAC_HANDLER_UNCONFIRMED_MSG" Comment="Unconfirmed message" Semaphore="Semaphore_LORAWAN_DEFAULT_CONFIRMED_MSG_STATE_UNCONFIRMED_MSG"/>
        <PossibleValue Value="LORAMAC_HANDLER_CONFIRMED_MSG" Comment="Confirmed message" Semaphore="Semaphore_LORAWAN_DEFAULT_CONFIRMED_MSG_STATE_CONFIRMED_MSG"/>
        <Description> </Description>
    </RefParameter>
    <RefParameter Name="LORAWAN_DEFAULT_CONFIRMED_MSG_STATE" Comment="Default message state" DefaultValue="LORAMAC_HANDLER_UNCONFIRMED_MSG" Type="list" Group="lora_app" TabName="LoRaWAN application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_ADR_STATE" Comment="Handler Adaptive Data Rate" DefaultValue="LORAMAC_HANDLER_ADR_ON" Type="list" Group="lora_app" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="!SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="LORAMAC_HANDLER_ADR_ON" Comment="On" Semaphore="Semaphore_LORAWAN_ADR_STATE"/>
        <PossibleValue Value="LORAMAC_HANDLER_ADR_OFF" Comment="Off"/>
        <Description>@note Please note that when ADR is enabled the end-device should be static</Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_DEFAULT_ACTIVATION_TYPE" Comment="Default activation type" DefaultValue="ACTIVATION_TYPE_OTAA" Type="list" Group="lora_app" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="SEM_LORA_END_NODE "/>
        <PossibleValue Value="ACTIVATION_TYPE_OTAA" Comment="OTAA" Semaphore="Semaphore_LORAWAN_DEFAULT_ACTIVATION_TYPE_ACTIVATION_TYPE_OTAA"/>
        <PossibleValue Value="ACTIVATION_TYPE_ABP" Comment="ABP" Semaphore="Semaphore_LORAWAN_DEFAULT_ACTIVATION_TYPE_ACTIVATION_TYPE_ABP"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_DEFAULT_ACTIVATION_TYPE" Comment="Default activation type" DefaultValue="LORAMAC_HANDLER_UNCONFIRMED_MSG" Type="list" Group="lora_app" TabName="LoRaWAN application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_DEFAULT_DATA_RATE" Comment="Default data rate" DefaultValue="DR_0" Type="list" Group="lora_app" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="!Semaphore_LORAWAN_ADR_STATE &amp; (!SEM_LORA_USER_APPLICATION)"/>
        <PossibleValue Value="DR_0" Comment="DR_0"/>
        <PossibleValue Value="DR_1" Comment="DR_1"/>
        <PossibleValue Value="DR_2" Comment="DR_2"/>
        <PossibleValue Value="DR_3" Comment="DR_3"/>
        <PossibleValue Value="DR_4" Comment="DR_4"/>
        <PossibleValue Value="DR_5" Comment="DR_5"/>
        <PossibleValue Value="DR_6" Comment="DR_6"/>
        <PossibleValue Value="DR_7" Comment="DR_7"/>
        <Description>@note Please note that LORAWAN_DEFAULT_DATA_RATE is used only when ADR is disabled
        </Description>
    </RefParameter>
    <RefParameter Name="LORAWAN_DEFAULT_DATA_RATE" Comment="Default data rate" DefaultValue="DR_0" Type="list" Group="lora_app" TabName="LoRaWAN application" Visible="false">
        <Condition Diagnostic="" Expression="!SEM_LORA_USER_APPLICATION"/>
        <PossibleValue Value="DR_0" Comment="DR_0"/>
        <Description>@note Please note that LORAWAN_DEFAULT_DATA_RATE is used only when ADR is disabled
        </Description>
    </RefParameter>

    <RefParameter Name="LORAWAN_DEFAULT_PING_SLOT_PERIODICITY" Comment="Default Unicast ping slots periodicity" DefaultValue="4" Type="integer" Min="0" Max="7"  Group="lora_app" TabName="LoRaWAN application" Visible="true">
        <Condition Diagnostic="" Expression="!SEM_LORA_USER_APPLICATION"/>
        <Description>Periodicity is equal to 2^LORAWAN_DEFAULT_PING_SLOT_PERIODICITY seconds (ex: : 2^3 = 8 seconds. The end-device will open an Rx slot every 8 seconds).</Description>
    </RefParameter>

    <!-- LoRaWAN lora_app.h RefParameters - End -->

    <!-- LoRaWAN lorawan_conf.h RefParameters - Begin -->

    <RefParameter Name="REGION" Comment="Region(s) selection" DefaultValue="please select the desired region(s) in the list below" Type="String" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="true">
        <Description> </Description>
    </RefParameter>
    <RefParameter Name="REGION_AS923" Comment="Region Asia freq: 923" DefaultValue="false" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="true">
        <PossibleValue Comment="true" Value="true" Semaphore="Semaphore_REGION_AS923"/>
        <PossibleValue Comment="false" Value="false"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="REGION_AU915" Comment="Region Australia freq: 915" DefaultValue="false" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="true">
        <PossibleValue Comment="true" Value="true" Semaphore="Semaphore_REGION_AU915"/>
        <PossibleValue Comment="false" Value="false"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="REGION_CN470" Comment="Region China freq: 470" DefaultValue="false" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="true">
        <PossibleValue Comment="true" Value="true" Semaphore="Semaphore_REGION_CN470"/>
        <PossibleValue Comment="false" Value="false"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="REGION_CN779" Comment="Region China freq: 779" DefaultValue="false" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="true">
        <PossibleValue Comment="true" Value="true" Semaphore="Semaphore_REGION_CN779"/>
        <PossibleValue Comment="false" Value="false"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="REGION_EU433" Comment="Region Europe freq: 433" DefaultValue="false" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="true">
        <PossibleValue Comment="true" Value="true" Semaphore="Semaphore_REGION_EU433"/>
        <PossibleValue Comment="false" Value="false"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="REGION_EU868" Comment="Region Europe freq: 868" DefaultValue="true" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="true">
        <PossibleValue Comment="true" Value="true" Semaphore="Semaphore_REGION_EU868"/>
        <PossibleValue Comment="false" Value="false"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="REGION_KR920" Comment="Region Korea freq: 920" DefaultValue="false" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="true">
        <PossibleValue Comment="true" Value="true" Semaphore="Semaphore_REGION_KR920"/>
        <PossibleValue Comment="false" Value="false"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="REGION_IN865" Comment="Region India freq: 865" DefaultValue="false" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="true">
        <PossibleValue Comment="true" Value="true" Semaphore="Semaphore_REGION_IN865"/>
        <PossibleValue Comment="false" Value="false"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="REGION_US915" Comment="Region USA freq: 915" DefaultValue="true" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="true">
        <PossibleValue Comment="true" Value="true" Semaphore="Semaphore_REGION_US915"/>
        <PossibleValue Comment="false" Value="false"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="REGION_RU864" Comment="Region Russia freq: 864" DefaultValue="false" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="true">
        <PossibleValue Comment="true" Value="true" Semaphore="Semaphore_REGION_RU864"/>
        <PossibleValue Comment="false" Value="false"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="HYBRID_ENABLED" Comment="Enable Hybrid mode" DefaultValue="false" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware">
        <Condition Diagnostic="" Expression="Semaphore_REGION_CN470 | Semaphore_REGION_AU915 | Semaphore_REGION_US915"/>
        <PossibleValue Comment="true" Value="true"/>
        <PossibleValue Comment="false" Value="false"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="HYBRID_ENABLED" Comment="Enable Hybrid mode" DefaultValue="false" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="false">
        <PossibleValue Comment="false" Value="false"/>
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="LORAMAC_CLASSB_ENABLED" Comment="Enable LoRaMAC ClassB" DefaultValue="false" Type="boolean" Group="lorawan_conf" TabName="LoRaWAN middleware" Visible="true">
        <PossibleValue Comment="true" Value="true" Semaphore="Semaphore_LORAMAC_CLASSB_ENABLED"/>
        <PossibleValue Comment="false" Value="false"/>
        <Description>This class is a compromise between power consumption and bidirectional communication needs</Description>
    </RefParameter>
    <!-- LoRaWAN lorawan_conf.h RefParameters - End -->

    <!-- LoRaWAN mw_log_conf.h RefParameters - Begin -->
    <RefParameter Name="MW_LOG_ENABLED" Comment="Enable Middleware log" DefaultValue="true" Type="boolean" Group="mw_log_conf" TabName="LoRaWAN middleware" Visible="true">
        <PossibleValue Value="false" Comment="false"/>
        <PossibleValue Value="true" Comment="true"/>
        <Description></Description>
    </RefParameter>
    <!-- LoRaWAN mw_log_conf.h RefParameters - End -->

    <!-- LoRaWAN radio_board_if.h RefParameters - Begin -->
    <RefParameter Name="Activate_RADIO_BOARD_INTERFACE" Comment="Activate Radio Board Interface" DefaultValue="true" Type="boolean" Group="radio_board_if" TabName="LoRaWAN middleware" Added="true" Visible="true">
        <PossibleValue Comment="false" Value="false"/>
        <PossibleValue Comment="true" Value="true" Semaphore="SEM_RADIO_BOARD_INTERFACE_FOR_LORA"/>
        <Description>Enable RADIO BOARD INTERFACE Feature using GPIO under Plaform Settings panel.&lt;br/&gt;
		De-activating this option implies the user to define these RF SW CTRL settings in a proprietary file.</Description>
    </RefParameter>

    <RefParameter Name="Activate_DEBUG_LINE" Comment="Activate Debug Line" DefaultValue="false" Type="boolean" Group="radio_board_if" TabName="LoRaWAN middleware" Added="true">
        <PossibleValue Comment="false" Value="false"/>
        <PossibleValue Comment="true" Value="true" Semaphore="SEM_DEBUG_LINE_FOR_LORA"/>
        <Description>Enable Debug Line using GPIO under Plaform Settings panel</Description>
    </RefParameter>

    <RefParameter Name="RF_WAKEUP_TIME" Comment="Radio maximum wakeup time (in ms)" DefaultValue="10" Type="integer" Group="radio_board_if" TabName="LoRaWAN middleware" Added="true">
        <Description>Radio maximum wakeup time (in ms)</Description>
    </RefParameter>

    <RefParameter Name="IS_TCXO_SUPPORTED" Comment="TCXO support" DefaultValue="true" Type="boolean" Group="radio_board_if" TabName="LoRaWAN middleware" Added="true">
        <Condition Diagnostic="" Expression="HSEByPassPwr"/>
        <Description>Indicates whether or not TCXO is supported by the board. TCXO needs to be selected in RCC panel (HSE clock)</Description>
    </RefParameter>
    <RefParameter Name="IS_TCXO_SUPPORTED" Comment="TCXO support" DefaultValue="false" Type="list" Group="radio_board_if" TabName="LoRaWAN middleware" Added="true">
        <PossibleValue Value="false" Comment="TCXO not available!"/>
        <Description>You need to activate TCXO in RCC configuration panel</Description>
    </RefParameter>

    <RefParameter Name="IS_DCDC_SUPPORTED" Comment="DCDC support" DefaultValue="true" Type="boolean" Group="radio_board_if" TabName="LoRaWAN middleware" Added="true">
        <PossibleValue Value="false" Comment="false"/>
        <PossibleValue Value="true" Comment="true"/>
        <Description>Indicates whether or not DCDC is supported by the board</Description>
    </RefParameter>
    <!-- LoRaWAN radio_board_if.h RefParameters - End -->

  <!-- RefMode for LoRaWAN -->
    <RefMode Name="LoRaWAN_Enabled">
        <ConfigForMode>LoRaWAN_Init</ConfigForMode>
        <!-- app_conf.h -->
        <Parameter Name="SUBGHZ_APPLICATION"/>
        <Parameter Name="DISPLAY_APPLICATION"/>
        <!-- app_conf.h -->

        <!-- board_resources -->
        <Parameter Name="Activate_BOARD_RESOURCES" Added="true"/>
        <!-- board_resources -->

        <!-- Comissioning.h / se-identity.h -->
        <Parameter Name="LORAWAN_PUBLIC_NETWORK"/>
        <Parameter Name="LORAWAN_NETWORK_ID"/>
        <Parameter Name="STATIC_DEVICE_EUI"/>
        <Parameter Name="LORAWAN_DEVICE_EUI"/>
        <Parameter Name="LORAWAN_DEVICE_EUI_HEX"/>
        <Parameter Name="LORAWAN_JOIN_EUI"/>
        <Parameter Name="LORAWAN_JOIN_EUI_HEX"/>
        <Parameter Name="LORAWAN_APP_KEY"/>
        <Parameter Name="LORAWAN_NWK_KEY"/>
        <Parameter Name="STATIC_DEVICE_ADDRESS"/>
        <Parameter Name="LORAWAN_DEVICE_ADDRESS"/>
        <Parameter Name="LORAWAN_NWK_S_KEY"/>
        <Parameter Name="LORAWAN_APP_S_KEY"/>
        <Parameter Name="KEY_LOG_ENABLED"/>
        <!-- Comissioning.h / se-identity.h -->

        <!-- sys_conf.h -->
        <Parameter Name="VERBOSE_LEVEL"/>
        <Parameter Name="VERBOSE_LEVEL_CM4"/>
        <Parameter Name="VERBOSE_LEVEL_CM0PLUS"/>
        <Parameter Name="APP_LOG_ENABLED"/>
        <Parameter Name="APP_LOG_ENABLED_CM4"/>
        <Parameter Name="APP_LOG_ENABLED_CM0PLUS"/>
        <Parameter Name="DEBUGGER_ON"/>
        <Parameter Name="DEBUGGER_ON_CM4"/>
        <Parameter Name="DEBUGGER_ON_CM0PLUS"/>
        <Parameter Name="LOW_POWER_DISABLE"/>
        <Parameter Name="LOW_POWER_DISABLE_CM4"/>
        <Parameter Name="LOW_POWER_DISABLE_CM0PLUS"/>
        <!--Parameter Name="SENSOR_ENABLED"/-->
        <!-- sys_conf.h -->

        <!-- lora_app.h -->
        <Parameter Name="ACTIVE_REGION"/>
        <Parameter Name="APP_TX_DUTYCYCLE"/>
        <Parameter Name="LORAWAN_USER_APP_PORT"/>
        <Parameter Name="LORAWAN_SWITCH_CLASS_PORT"/>
        <Parameter Name="LORAWAN_DEFAULT_CLASS"/>
        <Parameter Name="LORAWAN_DEFAULT_CONFIRMED_MSG_STATE"/>
        <Parameter Name="LORAWAN_ADR_STATE"/>
        <Parameter Name="LORAWAN_DEFAULT_ACTIVATION_TYPE"/>
        <Parameter Name="LORAWAN_DEFAULT_DATA_RATE"/>
        <Parameter Name="LORAWAN_DEFAULT_PING_SLOT_PERIODICITY"/>
        <!-- lora_app.h -->

        <!-- lorawan_conf.h -->
        <Parameter Name="REGION"/>
        <Parameter Name="REGION_AS923"/>
        <Parameter Name="REGION_AU915"/>
        <Parameter Name="REGION_CN470"/>
        <Parameter Name="REGION_CN779"/>
        <Parameter Name="REGION_EU433"/>
        <Parameter Name="REGION_EU868"/>
        <Parameter Name="REGION_KR920"/>
        <Parameter Name="REGION_IN865"/>
        <Parameter Name="REGION_US915"/>
        <Parameter Name="REGION_RU864"/>
        <Parameter Name="HYBRID_ENABLED"/>
        <Parameter Name="LORAMAC_CLASSB_ENABLED"/>
        <!-- lorawan_conf.h -->

        <!-- radio_board interface -->
        <Parameter Name="RF_WAKEUP_TIME" Added="true"/>
        <Parameter Name="IS_TCXO_SUPPORTED" Added="true"/>
        <Parameter Name="IS_DCDC_SUPPORTED" Added="true"/>
        <Parameter Name="Activate_RADIO_BOARD_INTERFACE" Added="true"/>
        <Parameter Name="Activate_DEBUG_LINE" Added="true"/>
        <!-- radio_board interface -->

        <!-- mw_log_conf.h -->
        <Parameter Name="MW_LOG_ENABLED"/>
        <!-- mw_log_conf.h -->

        <!-- BSP Radio Driver Begin -->
        <BspDependency Name="RF SW CTRL 1" Comment="" BspIpName="GPIO" BspModeName="Output" GroupName="Radio">
            <Condition Expression="SEM_RADIO_BOARD_INTERFACE_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="RF SW CTRL 2" Comment="" BspIpName="GPIO" BspModeName="Output" GroupName="Radio">
            <Condition Expression="SEM_RADIO_BOARD_INTERFACE_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="RF SW CTRL 3" Comment="" BspIpName="GPIO" BspModeName="Output" GroupName="Radio">
            <Condition Expression="SEM_RADIO_BOARD_INTERFACE_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <!-- Use by the RCC -->
        <!--<BspDependency Name="RF TCXO VCC" Comment="" BspIpName="GPIO" BspModeName="VDDTXCO" Api="BSP_CLASS_DRIVER" GroupName="Radio"/>-->
        <!-- BSP Radio Driver End -->

        <!-- BSP Board resources Driver Begin -->
        <BspDependency Name="LED 1" Comment="Use the User Led for this application" BspIpName="GPIO" BspModeName="Output" GroupName="Board resources">
            <Condition Expression="SEM_BOARD_RESOURCES_M0PLUS_FOR_LORA | SEM_BOARD_RESOURCES_M4_FOR_LORA | SEM_BOARD_RESOURCES_BOTH_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="LED 2" Comment="Use the User Led for this application" BspIpName="GPIO" BspModeName="Output" GroupName="Board resources">
            <Condition Expression="SEM_BOARD_RESOURCES_M0PLUS_FOR_LORA | SEM_BOARD_RESOURCES_M4_FOR_LORA | SEM_BOARD_RESOURCES_BOTH_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="LED 3" Comment="Use the User Led for this application" BspIpName="GPIO" BspModeName="Output" GroupName="Board resources">
            <Condition Expression="SEM_BOARD_RESOURCES_M0PLUS_FOR_LORA | SEM_BOARD_RESOURCES_M4_FOR_LORA | SEM_BOARD_RESOURCES_BOTH_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="BUTTON 1" Comment="Use the User Button for this application" BspIpName="GPIO" BspModeName="EXTI" GroupName="Board resources">
            <Condition Expression="SEM_BOARD_RESOURCES_M0PLUS_FOR_LORA | SEM_BOARD_RESOURCES_M4_FOR_LORA | SEM_BOARD_RESOURCES_BOTH_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="BUTTON 1" Comment="Use the User Button for this application" BspIpName="GPIO" BspModeName="Input" GroupName="Board resources">
            <Condition Expression="SEM_BOARD_RESOURCES_M0PLUS_FOR_LORA | SEM_BOARD_RESOURCES_M4_FOR_LORA | SEM_BOARD_RESOURCES_BOTH_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="BUTTON 2" Comment="Use the User Button for this application" BspIpName="GPIO" BspModeName="EXTI" GroupName="Board resources">
            <Condition Expression="SEM_BOARD_RESOURCES_M0PLUS_FOR_LORA | SEM_BOARD_RESOURCES_M4_FOR_LORA | SEM_BOARD_RESOURCES_BOTH_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="BUTTON 2" Comment="Use the User Button for this application" BspIpName="GPIO" BspModeName="Input" GroupName="Board resources">
            <Condition Expression="SEM_BOARD_RESOURCES_M0PLUS_FOR_LORA | SEM_BOARD_RESOURCES_M4_FOR_LORA | SEM_BOARD_RESOURCES_BOTH_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="BUTTON 3" Comment="Use the User Button for this application" BspIpName="GPIO" BspModeName="EXTI" GroupName="Board resources">
            <Condition Expression="SEM_BOARD_RESOURCES_M0PLUS_FOR_LORA | SEM_BOARD_RESOURCES_M4_FOR_LORA | SEM_BOARD_RESOURCES_BOTH_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="BUTTON 3" Comment="Use the User Button for this application" BspIpName="GPIO" BspModeName="Input" GroupName="Board resources">
            <Condition Expression="SEM_BOARD_RESOURCES_M0PLUS_FOR_LORA | SEM_BOARD_RESOURCES_M4_FOR_LORA | SEM_BOARD_RESOURCES_BOTH_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <!-- BSP Board resources Driver End -->

        <!-- BSP Virtual PortCom Begin -->
        <BspDependency Name="USART" Comment="Use LPUART for hyperterminal " BspIpName="LPUART" BspModeName="Asynchronous" GroupName="VCOM">
            <Condition Expression="SEM_LORA_AT_SLAVE" Diagnostic=""/>
        </BspDependency>

        <BspDependency Name="USART" Comment="Use an USART or LPUART for hyperterminal" BspIpName="(LPU|US)ART" BspModeName="Asynchronous" GroupName="VCOM">
            <Condition Expression="SEM_LORA_END_NODE" Diagnostic=""/>
        </BspDependency>
        <!-- BSP Virtual PortCom End -->

        <!-- BSP ADC Begin -->
        <BspDependency Name="ADC" Comment="Use ADC for measurment" BspIpName="ADC" BspModeName="Vrefint Channel" GroupName="Vrefint T° calibration">
            <Condition Expression="SEM_LORA_AT_SLAVE | SEM_LORA_END_NODE" Diagnostic=""/>
        </BspDependency>
        <!-- BSP ADC End -->

        <!-- BSP RTC Begin -->
        <BspDependency Name="RTC" Comment="Use RTC for timeServer" BspIpName="RTC" BspModeName="RTC Enabled" GroupName="TimeServer">
            <Condition Expression="!SEM_LORA_USER_APPLICATION" Diagnostic=""/>
        </BspDependency>
        <!-- BSP RTC End -->

        <!-- BSP Debug Begin -->
        <BspDependency Name="Debug Line 1" Comment="Debug Line 1" BspIpName="GPIO" BspModeName="Output" GroupName="Debug">
            <Condition Expression="SEM_DEBUG_LINE_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="Debug Line 2" Comment="Debug Line 2" BspIpName="GPIO" BspModeName="Output" GroupName="Debug">
            <Condition Expression="SEM_DEBUG_LINE_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="Debug Line 3" Comment="Debug Line 3" BspIpName="GPIO" BspModeName="Output" GroupName="Debug">
            <Condition Expression="SEM_DEBUG_LINE_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="Debug Line 4" Comment="Debug Line 4" BspIpName="GPIO" BspModeName="Output" GroupName="Debug">
            <Condition Expression="SEM_DEBUG_LINE_FOR_LORA"  Diagnostic=""/>
        </BspDependency>
        <!-- BSP Debug End -->
    </RefMode>

    <!-- ModeLogicOperator for LoRaWAN -->
    <ModeLogicOperator Name="OR">
        <Mode Name="Enabled">
            <ModeLogicOperator Name="XOR">
                <Mode Name="LoRaWAN_Enabled">
                    <SignalLogicalOp Name="AND">
                        <Signal IOMode="Basic" Name="VS_LoRaWAN"/>
                    </SignalLogicalOp>
                    <Semaphore>S_LoRaWAN</Semaphore>
                </Mode>
            </ModeLogicOperator>
            <Condition Expression="((STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SubGhzPhy &amp; !S_Sigfox &amp; S_SUBGHZ &amp; S_IPCC_Enabled &amp; !S_SINGLE_CORE)
									| ((STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SubGhzPhy &amp; !S_Sigfox &amp; S_SUBGHZ &amp; S_SINGLE_CORE)
									| ((!STM32WL55UCYx &amp; !STM32WL55CCUx &amp; !STM32WL55JCIx &amp; !STM32WL54CCUx &amp; !STM32WL54JCIx) &amp; !S_SubGhzPhy &amp; !S_Sigfox &amp; S_SUBGHZ)"
									Diagnostic="You can enable this middleware only if only if SubGHz IP is enabled and SubGHz_Phy and Sigfox middlewares are not enabled. For Dual Core product you need also to activate IPCC"/>
		</Mode>
    </ModeLogicOperator>

    <!-- RefSignal for LoRaWAN -->
    <RefSignal Name="VS_LoRaWAN" Virtual="true"/>
</IP>
