<?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="Sigfox"
    Version="v0.1.0_Cube">
    <About>Middleware enabling Sigfox based on BPSK/FSK modulations.</About>

    <RefParameter Name="SUBGHZ_APPLICATION" Comment="Application" DefaultValue="SIGFOX_USER_APPLICATION" Type="list" Group="Application selection" TabName="Sigfox application" Visible="false">
        <PossibleValue Value="SIGFOX_AT_SLAVE" Comment="AT Slave application" Semaphore="SEM_SGX_AT_SLAVE"/>
        <PossibleValue Value="SIGFOX_PUSHBUTTON" Comment="PushButton application" Semaphore="SEM_SGX_PUSHBUTTON"/>
        <PossibleValue Value="SIGFOX_USER_APPLICATION" Comment="User defined" Semaphore="SEM_SIGFOX_USER_APPLICATION"/>
        <Description>List of available applications</Description>
    </RefParameter>

    <RefParameter Name="DISPLAY_APPLICATION" Comment="Application" DefaultValue="SIGFOX_USER_APPLICATION" Type="list" Group="Application selection" TabName="Sigfox application" Visible="true">
        <PossibleValue Value="SIGFOX_AT_SLAVE" Condition="!SEM_SGX_AT_SLAVE" Comment="AT_Slave (accessible from EXAMPLE selector)"/>
        <PossibleValue Value="SIGFOX_PUSHBUTTON" Condition="!SEM_SGX_PUSHBUTTON" Comment="PushButton (accessible from EXAMPLE selector)"/>
        <PossibleValue Value="SIGFOX_USER_APPLICATION" Condition="!SEM_SIGFOX_USER_APPLICATION" Comment="User defined (accessible from WL MCU selector)"/>
        <Description>List of available applications, some available starting the new project from EXAMPLE SELECTOR other from MCU or BOARD SELECTOR</Description>
    </RefParameter>

    <!-- Sigfox sys_conf.h RefParameters - Begin -->
    <RefParameter Name="VERBOSE_LEVEL" Comment="Trace verbose level" DefaultValue="VLEVEL_M" Type="list" Group="sys_conf" TabName="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="!(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !SEM_SIGFOX_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="Sigfox 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="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !SEM_SIGFOX_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="Sigfox 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="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SINGLE_CORE  &amp; !SEM_SIGFOX_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="Sigfox application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="APP_LOG_ENABLED" Comment="Enable Application Logging" DefaultValue="true" Type="boolean" Group="sys_conf" TabName="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="!(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx)  &amp; !SEM_SIGFOX_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="Sigfox 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="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx)  &amp; !SEM_SIGFOX_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="Sigfox 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="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SINGLE_CORE  &amp; !SEM_SIGFOX_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="Sigfox application" Visible="false">
        <Description> </Description>
    </RefParameter>

    <RefParameter Name="DEBUGGER_ON" Comment="Activate Debugger" DefaultValue="false" Type="boolean" Group="sys_conf" TabName="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="!(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx)  &amp; !SEM_SIGFOX_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="Sigfox application" Visible="false">
        <Description></Description>
    </RefParameter>

    <RefParameter Name="DEBUGGER_ON_CM4" Comment="Activate Debugger" DefaultValue="false" Type="boolean" Group="sys_conf CM4" TabName="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !SEM_SIGFOX_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="Sigfox application" Visible="false">
        <Description></Description>
    </RefParameter>

    <RefParameter Name="DEBUGGER_ON_CM0PLUS" Comment="Activate Debugger" DefaultValue="false" Type="boolean" Group="sys_conf CM0PLUS" TabName="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SINGLE_CORE &amp; !SEM_SIGFOX_USER_APPLICATION"/>
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description>Debugguer activation </Description>
    </RefParameter>
    <RefParameter Name="DEBUGGER_ON_CM0PLUS" Comment="Activate Debugger" DefaultValue="false" Type="boolean" Group="sys_conf CM0PLUS" TabName="Sigfox application" Visible="false">
        <Description>Debugguer activation </Description>
    </RefParameter>

    <RefParameter Name="LOW_POWER_DISABLE" Comment="Disable Low Power Mode" DefaultValue="false" Type="boolean" Group="sys_conf" TabName="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="!(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !SEM_SIGFOX_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="Sigfox 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="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SINGLE_CORE &amp; !SEM_SIGFOX_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="Sigfox 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="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="(STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_SINGLE_CORE &amp; !SEM_SIGFOX_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="Sigfox 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="Sigfox application" Visible="true">
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description>Not available in this version </Description>
    </RefParameter>
    <!-- Sigfox sys_conf.h RefParameters - End -->

    <!-- Sigfox sigfox_app.h RefParameters - Begin -->
    <RefParameter Name="DEFAULT_RC" Comment="Default RC" DefaultValue="SFX_RC1" Type="list" Group="sigfox_app" TabName="Sigfox application" Visible="true">
        <Condition Diagnostic="" Expression="SEM_SGX_PUSHBUTTON"/>
        <PossibleValue Value="SFX_RC1" Comment="SFX_RC1"/>
        <PossibleValue Value="SFX_RC2" Comment="SFX_RC2"/>
        <PossibleValue Value="SFX_RC3A" Comment="SFX_RC3A"/>
        <PossibleValue Value="SFX_RC3A" Comment="SFX_RC3C"/>
        <PossibleValue Value="SFX_RC3A" Comment="SFX_RC4"/>
        <PossibleValue Value="SFX_RC3A" Comment="SFX_RC5"/>
        <PossibleValue Value="SFX_RC3A" Comment="SFX_RC6"/>
        <PossibleValue Value="SFX_RC3A" Comment="SFX_RC7"/>
        <PossibleValue Value="SFX_RC3A" Comment="SFX_RC101"/>
        <Description> </Description>
    </RefParameter>
    <RefParameter Name="DEFAULT_RC" Comment="Default RC" DefaultValue="SFX_RC1" Type="list" Group="sigfox_app" TabName="Sigfox application" Visible="false">
        <PossibleValue Value="SFX_RC1" Comment="SFX_RC1"/>
        <Description> </Description>
    </RefParameter>
    <!-- Sigfox sigfox_app.h RefParameters - End -->

    <!-- Sigfox mw_log_conf.h RefParameters - Begin -->
    <RefParameter Name="MW_LOG_ENABLED" Comment="Enable Middleware log" DefaultValue="true" Type="boolean" Group="mw_log_conf" TabName="Sigfox middleware" Visible="true">
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
        <Description> </Description>
    </RefParameter>
    <!-- Sigfox mw_log_conf.h RefParameters - End -->

    <!-- Sigfox 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="Sigfox middleware" Added="true">
        <PossibleValue Comment="false" Value="false"/>
        <PossibleValue Comment="true" Value="true" Semaphore="SEM_RADIO_BOARD_INTERFACE_FOR_SIGFOX"/>
        <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_BOARD_RESOURCES" Comment="Activate Board Resources" DefaultValue="none" Type="list" Group="board_resources" TabName="Sigfox 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_SIGFOX"/>
        <PossibleValue Comment="Cortex-M4" Value="M4" Semaphore="SEM_BOARD_RESOURCES_M4_FOR_SIGFOX"/>
        <PossibleValue Comment="Both" Value="both" Semaphore="SEM_BOARD_RESOURCES_BOTH_FOR_SIGFOX"/>
        <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="board_resources" TabName="Sigfox application" Added="true">
        <PossibleValue Comment="Cortex-M4" Value="M4" Semaphore="SEM_BOARD_RESOURCES_M4_FOR_SIGFOX"/>
        <PossibleValue Comment="None" Value="none"/>
        <Description>Enable LEDs and BUTTONs settings using GPIO under Plaform Settings panel</Description>
    </RefParameter>

    <RefParameter Name="Activate_DEBUG_LINE" Comment="Activate Debug Line" DefaultValue="false" Type="boolean" Group="radio_board_if" TabName="Sigfox middleware" Added="true">
        <PossibleValue Comment="false" Value="false"/>
        <PossibleValue Comment="true" Value="true" Semaphore="SEM_DEBUG_LINE_FOR_SIGFOX"/>
        <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="150" Type="integer" Group="radio_board_if" TabName="Sigfox 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="Sigfox 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="Sigfox 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="Sigfox 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>
    <!-- Sigfox radio_board_if.h RefParameters - End -->

    <!-- RefMode for sigfox -->
    <RefMode Name="Sigfox_Enabled">
        <ConfigForMode>Sigfox_Init</ConfigForMode>
        <!-- app_conf.h -->
        <Parameter Name="SUBGHZ_APPLICATION"/>
        <Parameter Name="DISPLAY_APPLICATION"/>
        <!-- board_resources -->
        <Parameter Name="Activate_BOARD_RESOURCES" Added="true"/>

        <!-- 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 -->

        <!-- sgfx_app.h -->
        <Parameter Name="DEFAULT_RC"/>
        <!-- sgfx_app.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_SIGFOX"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="RF SW CTRL 2" Comment="" BspIpName="GPIO" BspModeName="Output" GroupName="Radio">
            <Condition Expression="SEM_RADIO_BOARD_INTERFACE_FOR_SIGFOX"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="RF SW CTRL 3" Comment="" BspIpName="GPIO" BspModeName="Output" GroupName="Radio">
            <Condition Expression="SEM_RADIO_BOARD_INTERFACE_FOR_SIGFOX"  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_SIGFOX | SEM_BOARD_RESOURCES_M4_FOR_SIGFOX | SEM_BOARD_RESOURCES_BOTH_FOR_SIGFOX"  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_SIGFOX | SEM_BOARD_RESOURCES_M4_FOR_SIGFOX | SEM_BOARD_RESOURCES_BOTH_FOR_SIGFOX"  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_SIGFOX | SEM_BOARD_RESOURCES_M4_FOR_SIGFOX | SEM_BOARD_RESOURCES_BOTH_FOR_SIGFOX"  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_SIGFOX | SEM_BOARD_RESOURCES_M4_FOR_SIGFOX | SEM_BOARD_RESOURCES_BOTH_FOR_SIGFOX"  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_SIGFOX | SEM_BOARD_RESOURCES_M4_FOR_SIGFOX | SEM_BOARD_RESOURCES_BOTH_FOR_SIGFOX"  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_SIGFOX | SEM_BOARD_RESOURCES_M4_FOR_SIGFOX | SEM_BOARD_RESOURCES_BOTH_FOR_SIGFOX"  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_SIGFOX | SEM_BOARD_RESOURCES_M4_FOR_SIGFOX | SEM_BOARD_RESOURCES_BOTH_FOR_SIGFOX"  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_SIGFOX | SEM_BOARD_RESOURCES_M4_FOR_SIGFOX | SEM_BOARD_RESOURCES_BOTH_FOR_SIGFOX"  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_SIGFOX | SEM_BOARD_RESOURCES_M4_FOR_SIGFOX | SEM_BOARD_RESOURCES_BOTH_FOR_SIGFOX"  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_SGX_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_SGX_PUSHBUTTON" 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_SGX_AT_SLAVE | SEM_SGX_PUSHBUTTON" 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_SIGFOX_USER_APPLICATION" Diagnostic=""/>
        </BspDependency>
        <!-- BSP RTC End -->

        <!-- BSP LPTIM Begin -->
        <BspDependency Name="TIM" Comment="Use LPTIM for Monarch" BspIpName="LPTIM" BspModeName="Counts internal clock events" GroupName="Monarch">
            <Condition Expression="SEM_SGX_AT_SLAVE | SEM_SGX_PUSHBUTTON" Diagnostic=""/>
        </BspDependency>
        <!-- BSP LPTIM 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_SIGFOX"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="Debug Line 2" Comment="Debug Line 2" BspIpName="GPIO" BspModeName="Output" GroupName="Debug">
            <Condition Expression="SEM_DEBUG_LINE_FOR_SIGFOX"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="Debug Line 3" Comment="Debug Line 3" BspIpName="GPIO" BspModeName="Output" GroupName="Debug">
            <Condition Expression="SEM_DEBUG_LINE_FOR_SIGFOX"  Diagnostic=""/>
        </BspDependency>
        <BspDependency Name="Debug Line 4" Comment="Debug Line 4" BspIpName="GPIO" BspModeName="Output" GroupName="Debug">
            <Condition Expression="SEM_DEBUG_LINE_FOR_SIGFOX"  Diagnostic=""/>
        </BspDependency>
        <!-- BSP Debug End -->
    </RefMode>

    <!-- ModeLogicOperator for sigfox -->
    <ModeLogicOperator Name="OR">
        <Mode Name="Enabled">
            <ModeLogicOperator Name="XOR">
                <Mode Name="Sigfox_Enabled">
                    <SignalLogicalOp Name="AND">
                        <Signal IOMode="Basic" Name="VS_Sigfox"/>
                    </SignalLogicalOp>
                    <Semaphore>S_Sigfox</Semaphore>
                </Mode>
            </ModeLogicOperator>
            <Condition Expression="!S_LoRaWAN &amp; !S_SubGhzPhy &amp; S_SUBGHZ" Diagnostic="You can enable this middleware only if only if SubGHz IP is enabled and SubGHz_Phy and LoRaWAN middlewares are not enabled"/>
            <Condition Expression="((STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_LoRaWAN &amp; !S_SubGhzPhy &amp; S_SUBGHZ &amp; S_IPCC_Enabled &amp; !S_SINGLE_CORE)
									| ((STM32WL55UCYx | STM32WL55CCUx | STM32WL55JCIx | STM32WL54CCUx | STM32WL54JCIx) &amp; !S_LoRaWAN &amp; !S_LoRaWAN &amp; !S_SubGhzPhy &amp; S_SINGLE_CORE)
									| ((!STM32WL55UCYx &amp; !STM32WL55CCUx &amp; !STM32WL55JCIx &amp; !STM32WL54CCUx &amp; !STM32WL54JCIx) &amp; !S_LoRaWAN &amp; !S_SubGhzPhy &amp; S_SUBGHZ)"
									Diagnostic="You can enable this middleware only if only if SubGHz IP is enabled and LoRaWAN and SubGHz_Phy middlewares are not enabled. For Dual Core product you need also to activate IPCC"/>
        </Mode>
    </ModeLogicOperator>

    <!-- RefSignal for sigfox -->
    <RefSignal Name="VS_Sigfox" Virtual="true"/>
</IP>
