<?xml version="1.0" encoding="UTF-8"?>
<!--

 File Name          : TIM.xml
 Description        : Contextual documentation of the TIM
                      for all MCU series

 COPYRIGHT(c) 2016 STMicroelectronics

====================================================================
| version 0.1  |  A.Morin          | Creation                      |
====================================================================

Contextual help database for TIM peripheral, it contains:
    - peripheral generic information under <peripheral> node
    - information about peripheral mode under <mode> node
    - details about the peripheral configuration under <config> node

-->
<ctx_pinout_help xsi:noNamespaceSchemaLocation="../../../../../../../doc/V4/Development/Specifications/contextualDocumentation/pinout.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <!-- serie "ref" is the MCU series you want to document e.g. STM32F0, STM32F1... -->
    <serie ref="Default">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract>General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text>General-purpose timers are used in any application for output compare (timing and delay generation),&lt;br/&gt;
                one-pulse mode, input capture (for external signal frequency measurement), sensor interface (encoder, hall sensor).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
            <link display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32F0">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM1$">Advanced-control timer</extract>
            <extract filter="IP:TIM(6|7)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|14|15|16|17)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM1$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(6|7)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used as a generic timer for time-base generation but it is also specifically used to drive the digital-to-analog converter (DAC).
            </help_text>
            <help_text filter="IP:TIM(2|3|14)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <help_text filter="IP:TIM(15|16|17)$">The general-purpose timer consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
            <link filter="IP:TIM1$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced-control timer (TIM1)">
            </link>
            <link filter="IP:TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers">
            </link>
            <link filter="MCUIP:STM32F0.[128].*#TIM(2|3|14|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, 3, 14, 16, 17)">
            </link>
            <link filter="MCUIP:STM32F0(30.[468C]|70.[6B]).*#TIM(3|14|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM3, TIM14..17)">
            </link>
            <link filter="IP:TIM1$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1)">
            </link>
            <link filter="IP:TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timer (TIM6/TIM7)">
            </link>
            <link filter="IP:TIM(15|16|17)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM15/16/17)">
            </link>
            <link filter="MCUIP:STM32F0.[128].*#TIM[23]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2 and TIM3)">
            </link>
            <link filter="IP:TIM14$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timer (TIM14)">
            </link>
            <link filter="MCUIP:STM32F0(30.[468C]|70.[6B]).*#TIM3$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM3)">
            </link>
            <link filter="IP:TIM1$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(6|7)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|14|15|16|17)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32F1">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(1|8)$">Advanced-control timer</extract>
            <extract filter="IP:TIM(6|7)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|4|5|9|10|11|12|13|14|15|16|17)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM1$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(6|7)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used as a generic timer for time-base generation but it is also specifically used to drive the digital-to-analog converter (DAC).
            </help_text>
            <help_text filter="IP:TIM(2|3|4|5|9|10|11|12|13|14)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <help_text filter="IP:TIM(15|16|17)$">The general-purpose timer consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
            <link filter="STM32F10(1.[CDEFG]|[0357]).*" display="Datasheet" type="dynamic" reference="dataSheet" index="Timers and watchdogs">
            </link>
            <link filter="STM32F101.[468B].*" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIMx)">
            </link>
            <link filter="MCUIP:STM32F(?!100).*#TIM[18]$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1 and TIM8)">
            </link>
            <link filter="MCUIP:STM32F100.*#TIM1$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timer (TIM1)">
            </link>
            <link filter="IP:TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6 and TIM7)">
            </link>
            <link filter="MCUIP:STM32F100.*#TIM(12|13|14)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM12/13/14)">
            </link>
            <link filter="MCUIP:STM32F100.*#TIM(15|16|17)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM15/16/17)">
            </link>
            <link filter="IP:TIM[2345]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2 to TIM5)">
            </link>
            <link filter="MCUIP:STM32F(?!100).*#TIM(9|10|11|12|13|14)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM9 to TIM14)">
            </link>
            <link filter="IP:TIM(1|8)$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(6|7)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|4|5|9|10|11|12|13|14|15|16|17)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32F2">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(1|8)$">Advanced-control timer</extract>
            <extract filter="IP:TIM(6|7)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|4|5|9|10|11|12|13|14)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(1|8)$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(6|7)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used as a generic timer for time-base generation but it is also specifically used to drive the digital-to-analog converter (DAC).
            </help_text>
            <help_text filter="IP:TIM(2|3|4|5|9|10|11|12|13|14)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
        - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
        - display: string that will be displayed in front of the hyperlink
        - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
        dynamic stands for the document that have to be retrieved from the JSON database
        - reference: path to the document to be displayed (http or local path)
          If the file is dynamic, indicate the kind of file you want to display:
            * dataSheet => for datasheet document type
            * appNote => for application note document type
            * refMan => for reference manual document type
            * usrMan => for user Manual document type
            * prgMan => for Programming Manual document type
            * errSheet => for Errata Sheet document type
        - index: for pdf,html and chm type it specifies the chapter where the viewer will point
        for dynamic file it can specify a chapter except for application notes where it specifies
        the document display name (e.g. AN1015). This field may be left blank, then the full document
        is displayed -->
            <link filter="IP:TIM[18]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced-control timers (TIM1, TIM8)">
            </link>
            <link filter="IP:TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers TIM6 and TIM7">
            </link>
            <link filter="IP:TIM(?![1678]$)" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIMx)">
            </link>
            <link filter="IP:TIM[18]$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1 and TIM8)">
            </link>
            <link filter="IP:TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6&amp;TIM7)">
            </link>
            <link filter="IP:TIM[2345]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2 to TIM5)">
            </link>
            <link filter="IP:TIM(9|10|11|12|13|14)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM9 to TIM14)">
            </link>
            <link filter="IP:TIM(1|8)$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(6|7)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|4|5|9|10|11|12|13|14)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32F3">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(1|8|20)$">Advanced-control timer</extract>
            <extract filter="IP:TIM(6|7|18)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|4|5|12|13|14|15|16|17|19)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(1|8|20)$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(6|7|18)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used as a generic timer for time-base generation but it is also specifically used to drive the digital-to-analog converter (DAC).
            </help_text>
            <help_text filter="IP:TIM(2|3|4|5|12|13|14|19)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <help_text filter="IP:TIM(15|16|17)$">The general-purpose timer consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
        - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
        - display: string that will be displayed in front of the hyperlink
        - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
        dynamic stands for the document that have to be retrieved from the JSON database
        - reference: path to the document to be displayed (http or local path)
          If the file is dynamic, indicate the kind of file you want to display:
            * dataSheet => for datasheet document type
            * appNote => for application note document type
            * refMan => for reference manual document type
            * usrMan => for user Manual document type
            * prgMan => for Programming Manual document type
            * errSheet => for Errata Sheet document type
        - index: for pdf,html and chm type it specifies the chapter where the viewer will point
        for dynamic file it can specify a chapter except for application notes where it specifies
        the document display name (e.g. AN1015). This field may be left blank, then the full document
        is displayed -->
            <!--link filter="MCUIP:STM32F30[123].[68BC].*#TIM1$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced timer (TIM1)"/-->
            <link filter="MCUIP:STM32F3(0[123].[68]|02.[BC]|34.[468]|[12]8[CK]8).*#TIM1$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced timer (TIM1)">
            </link>
            <link filter="MCUIP:STM32F3(03.[BC]|58.C).*#TIM[18]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced timers (TIM1, TIM8)">
            </link>
            <link filter="MCUIP:STM32F3(03.[BC]|58.C).*#TIM(?![1678])" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced timer (TIM1)">
            </link>
            <link filter="MCUIP:STM32F3(03.[DE]|398VE).*#TIM(1|8|20)$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced timers (TIM1, TIM8, TIM20)">
            </link>
            <link filter="MCUIP:STM32F302.[DE].*#TIM1$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced timers (TIM1)">
            </link>
            <link filter="MCUIP:STM32F3(01|02.[BC]|18[KC]8).*#TIM6$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timer (TIM6)">
            </link>
            <link filter="MCUIP:STM32F373.*#TIM(6|7|18)$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers (TIM6, TIM7, TIM18)">
            </link>
            <link filter="MCUIP:STM32F3(03.[BCDE]|358.C|398VE).*#TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers (TIM6, TIM7)">
            </link>
            <link filter="MCUIP:STM32F3(03.[68]|34.[46]|28.C8).*#TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers (TIM6 and TIM7)">
            </link>
            <link filter="MCUIP:STM32F302.[DE].*#TIM6$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers (TIM6)">
            </link>
            <link filter="MCUIP:STM32F328C8.*#TIM(2|3|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM3, TIM15, TIM16, TIM17)">
            </link>
            <link filter="MCUIP:STM32F3(03.[68]|34.[468]).*#TIM(2|3|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM3, TIM15, TIM16 and TIM17)">
            </link>
            <link filter="MCUIP:STM32F37[38].*#TIM(2|3|4|5|12|13|14|15|16|17|19)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2 to TIM5, TIM12 to TIM17, TIM19)">
            </link>
            <link filter="MCUIP:STM32F3(0[12].[68]|18[CK]8).*#TIM(2|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM15, TIM16, TIM17)">
            </link>
            <link filter="MCUIP:STM32F3(0[23].[BCDE]|58.C|98VE).*#TIM(2|3|4|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM3, TIM4, TIM15, TIM16, TIM17)">
            </link>
            <link filter="MCUIP:STM32F37.*#TIM(6|7|18)$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (Basic timers (TIM6/7/18)">
            </link>
            <link filter="MCUIP:STM32F3(03|[259]8).*#TIM(1|8|20)$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1/TIM8/TIM20)">
            </link>
            <link filter="MCUIP:STM32F3(0[12]|18|34).*#TIM1$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1)">
            </link>
            <link filter="MCUIP:STM32F3(03|[259]8|34).*#TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6/TIM7)">
            </link>
            <link filter="MCUIP:STM32F3(0[12]|18).*#TIM6$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6)">
            </link>
            <link filter="MCUIP:STM32F37.*#TIM(12|13|14)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM12/13/14)">
            </link>
            <link filter="MCUIP:STM32F37.*#TIM(15|16|17)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM15/16/17)">
            </link>
            <link filter="MCUIP:STM32F3(?!7).*#TIM(15|16|17)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM15/TIM16/TIM17)">
            </link>
            <link filter="MCUIP:STM32F3(34).*#TIM[23]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2/TIM3)">
            </link>
            <link filter="MCUIP:STM32F3(0[23]|[259]8).*#TIM[234]" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2/TIM3/TIM4)">
            </link>
            <link filter="MCUIP:STM32F37.*#TIM(2|3|4|5|19)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2 to TIM5, TIM19)">
            </link>
            <link filter="MCUIP:STM32F3(01|18).*#TIM2$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timer (TIM2)">
            </link>
            <link filter="IP:TIM(1|8|20)$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(6|7|18)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|4|5|12|13|14|15|16|17|19)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32F4">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(1|8)$">Advanced-control timer</extract>
            <extract filter="IP:TIM(6|7)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|4|5|9|10|11|12|13|14)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(1|8)$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(6|7)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.
                It may be used as a generic timer for time-base generation.
            </help_text>
            <help_text filter="IP:TIM(2|3|4|5|9|10|11|12|13|14)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
        - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
        - display: string that will be displayed in front of the hyperlink
        - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
        dynamic stands for the document that have to be retrieved from the JSON database
        - reference: path to the document to be displayed (http or local path)
          If the file is dynamic, indicate the kind of file you want to display:
            * dataSheet => for datasheet document type
            * appNote => for application note document type
            * refMan => for reference manual document type
            * usrMan => for user Manual document type
            * prgMan => for Programming Manual document type
            * errSheet => for Errata Sheet document type
        - index: for pdf,html and chm type it specifies the chapter where the viewer will point
        for dynamic file it can specify a chapter except for application notes where it specifies
        the document display name (e.g. AN1015). This field may be left blank, then the full document
        is displayed -->
            <link filter="MCU:STM32F4[01][57].*" display="Datasheet" type="dynamic" reference="dataSheet" index="Timers and watchdogs">
            </link>
            <link filter="MCUIP:STM32F4(?![01][57]).*#TIM[18]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced-control timers">
            </link>
            <link filter="MCUIP:STM32F4([23][79]|[67]9|46.[CE]).*#TIM[67]$" display="Datasheet" reference="dataSheet" index="Basic timers TIM6 and TIM7">
            </link>
            <link filter="MCUIP:STM32F4(12.[EG]|[12]3.[GH]).*#TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timer (TIM6, TIM7)">
            </link>
            <link filter="MCUIP:STM32F410.[8B].*#TIM(5|9|11)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM5, TIM9 and TIM11)">
            </link>
            <link filter="MCUIP:STM32F4([23][79]|[01][12].[BCDEG]|46.[CE]|[67]9|[12]3.[GH]).*#TIM(2|3|4|5|9|10|11|12|13|14)" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIMx)">
            </link>
            <link filter="MCUIP:STM32F4([12][23]|[467][69]|[0123][579]).*#TIM[18]$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1&amp;TIM8)">
            </link>
            <link filter="MCUIP:STM32F4([01]1).*#TIM1$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timer (TIM1)">
            </link>
            <link filter="MCUIP:STM32F410.*#TIM1$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1)">
            </link>
            <link filter="MCUIP:STM32F4[12][23].*#TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6/7)">
            </link>
            <link filter="MCUIP:STM32F4[467][69].*#TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6&amp;TIM7)">
            </link>
            <link filter="MCUIP:STM32F4[0123][579].*#TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6 and TIM7)">
            </link>
            <link filter="MCUIP:STM32F410.*#TIM6$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6)">
            </link>
            <link filter="MCUIP:STM32F4(?!10).*#TIM[2345]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2 to TIM5)">
            </link>
            <link filter="MCUIP:STM32F4[01]1.*#TIM(9|10|11)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM9 to TIM11)">
            </link>
            <link filter="MCUIP:STM32F410.*#TIM(9|11)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM9 and TIM11)">
            </link>
            <link filter="MCUIP:STM32F4([12][23]|[467][69]|[0123][579]).*#TIM(9|10|11|12|13|14)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM9 to TIM14)">
            </link>
            <link filter="MCUIP:STM32F410.*#TIM5$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM5)">
            </link>
            <link filter="IP:TIM(1|8)$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(6|7)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|4|5|9|10|11|12|13|14)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32F7">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(1|8)$">Advanced-control timer</extract>
            <extract filter="IP:TIM(6|7)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|4|5|9|10|11|12|13|14)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(1|8)$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(6|7)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used as a generic timer for time-base generation but it is also specifically used to drive the digital-to-analog converter (DAC).
            </help_text>
            <help_text filter="IP:TIM(2|3|4|5|9|10|11|12|13|14)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
        - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
        - display: string that will be displayed in front of the hyperlink
        - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
        dynamic stands for the document that have to be retrieved from the JSON database
        - reference: path to the document to be displayed (http or local path)
          If the file is dynamic, indicate the kind of file you want to display:
            * dataSheet => for datasheet document type
            * appNote => for application note document type
            * refMan => for reference manual document type
            * usrMan => for user Manual document type
            * prgMan => for Programming Manual document type
            * errSheet => for Errata Sheet document type
        - index: for pdf,html and chm type it specifies the chapter where the viewer will point
        for dynamic file it can specify a chapter except for application notes where it specifies
        the document display name (e.g. AN1015). This field may be left blank, then the full document
        is displayed -->
            <link filter="IP:TIM[18]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced-control timers (TIM1, TIM8)">
            </link>
            <link filter="IP:TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers TIM6 and TIM7">
            </link>
            <link filter="IP:TIM(?![1678]$)" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIMx)">
            </link>
            <link filter="IP:TIM[18]$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1/TIM8)">
            </link>
            <link filter="IP:TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6/TIM7)">
            </link>
            <link filter="IP:TIM[2345]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2/TIM3/TIM4/TIM5)">
            </link>
            <link filter="IP:TIM(9|10|11|12|13|14)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM9/TIM10/TIM11/TIM12/TIM13/ TIM14)">
            </link>
            <link filter="IP:TIM(1|8)$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(6|7)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|4|5|9|10|11|12|13|14)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32G0">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(1|8|20)$">Advanced-control timer</extract>
            <extract filter="IP:TIM(6|7)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|4|5|14|15|16|17)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(1|8)$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(6|7)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used as a generic timer for time-base generation but it is also specifically used to drive the digital-to-analog converter (DAC).
            </help_text>
            <help_text filter="IP:TIM(2|3|4|5)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <help_text filter="IP:TIM(14|15|16|17)$">The general-purpose timer consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
<!--         "MCUIP:STM32L0[78][123].*#TIM[67]$"    -->                                               
            <link filter="IP:TIM[1]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced-control timer (TIM1)"><!-- 030 031 070 071-->
            </link>
            <link filter="IP:TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers (TIM6 and TIM7)"><!-- 070 /071-->
            </link>
            <link filter="MCUIP:STM32G0[34]0.*#TIM(3|14|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM3, 14, 16, 17)">
            </link>
            <link filter="MCUIP:STM32G0[34]1.*#TIM(2|3|14|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, 3, 14, 16, 17)">
            </link>
            <link filter="MCUIP:STM32G0[78]0.*#TIM(3|14|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM3, 14, 15, 16, 17)">
            </link>
            <link filter="MCUIP:STM32G0[78]1.*#TIM(2|3|14|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, 3, 14, 15, 16, 17)">
            </link>
            <link filter="MCUIP:STM32G0[BC]0.*#TIM(3|14|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM3, 14, 15, 16, 17)">
            </link>
            <link filter="MCUIP:STM32G0[BC]1.*#TIM(2|3|14|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, 3, 14, 15, 16, 17)">
            </link>
            <link filter="MCUIP:STM32G0[56]0.*#TIM(3|14|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM3, 14, 15, 16, 17)">
            </link>
            <link filter="MCUIP:STM32G0[56]1.*#TIM(2|3|14|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, 3, 14, 15, 16, 17)">
            </link>

            <link filter="IP:TIM(1)$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timer (TIM1)">
            </link>
            <link filter="IP:TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6/TIM7)">
            </link>
            <link filter="IP:TIM(14)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM14)">
            </link>
            <link filter="IP:TIM(15|16|17)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM15/TIM16/TIM17)">
            </link>
            <link filter="IP:TIM[234]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2/TIM3)">
            </link>
            <link filter="IP:TIM(1)$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(6|7)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|4|14|15|16|17)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32G4">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(1|8|20)$">Advanced-control timer</extract>
            <extract filter="IP:TIM(6|7)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|4|5|15|16|17)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(1|8)$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(6|7)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used as a generic timer for time-base generation but it is also specifically used to drive the digital-to-analog converter (DAC).
            </help_text>
            <help_text filter="IP:TIM(2|3|4|5)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <help_text filter="IP:TIM(15|16|17)$">The general-purpose timer consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
            <link filter="IP:TIM(1|8|20)$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced motor control timer (TIM1, TIM8, TIM20)">
            </link>
            <link filter="IP:TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers TIM6 and TIM7">
            </link>
            <link filter="IP:TIM(2|3|4|5|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM3, TIM4, TIM5, TIM15, TIM16, TIM17)">
            </link>
            <link filter="IP:TIM(1|8|20)$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1/TIM8/TIM20)">
            </link>
            <link filter="IP:TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6/TIM7)">
            </link>
            <link filter="IP:TIM(15|16|17)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM15/TIM16/TIM17)">
            </link>
            <link filter="IP:TIM[2345]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2/TIM3/TIM4/TIM5)">
            </link>
            <link filter="IP:TIM(1|8|20)$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(6|7)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|4|5|15|16|17)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32H7">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(1|8)$">Advanced-control timer</extract>
            <extract filter="IP:TIM(6|7)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|4|5|12|13|14|15|16|17)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(1|8)$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(6|7)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used as a generic timer for time-base generation but it is also specifically used to drive the digital-to-analog converter (DAC).
            </help_text>
            <help_text filter="IP:TIM(2|3|4|5|12|13|14)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <help_text filter="IP:TIM(15|16|17)$">The general-purpose timer consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
            <link filter="IP:TIM[18]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced-control timers (TIM1, TIM8)">
            </link>
            <link filter="IP:TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers TIM6 and TIM7">
            </link>
            <link filter="IP:TIM(?![1678]$)" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIMx)">
            </link>
            <link filter="IP:TIM[18]$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1/TIM8)">
            </link>
            <link filter="IP:TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6/TIM7)">
            </link>
            <link filter="IP:TIM(12|13|14)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM12/TIM13/TIM14)">
            </link>
            <link filter="IP:TIM(15|16|17)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM15/TIM16/TIM17)">
            </link>
            <link filter="IP:TIM[2345]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2/TIM3/TIM4/TIM5)">
            </link>
            <link filter="IP:TIM(1|8)$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(6|7)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|4|5|12|13|14|15|16|17)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32L0">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(6|7)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|21|22)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(6|7)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used as a generic timer for time-base generation but it is also specifically used to drive the digital-to-analog converter (DAC).
            </help_text>
            <help_text filter="IP:TIM(2|3|21|22)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
            <link filter="MCUIP:STM32L0[78][123].*#TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timer (TIM6, TIM7)">
            </link>
            <link filter="MCUIP:STM32L0[56][13].*#TIM6$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timer (TIM6)">
            </link>
            <link filter="MCUIP:STM32L0[78][123].*#TIM(2|3|21|22)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM3, TIM21 and TIM22)">
            </link>
            <link filter="MCUIP:STM32L0[3456][123].*#TIM(2|21|22)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM21 and TIM22)">
            </link>
            <link filter="MCUIP:STM32L0[12]1.[34].*#TIM(2|21)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM21)">
            </link>
            <link filter="IP:TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6/7)">
            </link>
            <link filter="IP:TIM[23]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2/TIM3)">
            </link>
            <link filter="IP:TIM(21|22)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM21/22)">
            </link>
            <link filter="IP:TIM(6|7)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|21|22)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32L1">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(6|7)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|4|5|9|10|11)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(6|7)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used as a generic timer for time-base generation but it is also specifically used to drive the digital-to-analog converter (DAC).
            </help_text>
            <help_text filter="IP:TIM(2|3|4|5|9|10|11)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
            <link filter="IP:TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers (TIM6 and TIM7)">
            </link>
            <link filter="MCUIP:STM32L1(5[12].[68B]|00.[68BC]).*#TIM(2|3|4|9|10|11)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM3, TIM4, TIM9, TIM10 and                        TIM11)">
            </link>
            <link filter="MCUIP:STM32L1(5[12](VD-X|.C-A|.[CDE])|62(.[CE]|VD|ZD|QD|RD|VC|RC)).*#TIM(2|3|4|5|9|10|11)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM3, TIM4, TIM5, TIM9, TIM10 and TIM11)">
            </link>
            <link filter="IP:TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6 and TIM7)">
            </link>
            <link filter="IP:TIM[2345]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2 to TIM5)">
            </link>
            <link filter="IP:TIM(9|10|11)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM9/10/11)">
            </link>
            <link filter="IP:TIM(6|7)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|4|5|9|10|11)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32L4">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(1|8)$">Advanced-control timer</extract>
            <extract filter="IP:TIM(6|7)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|4|5|15|16|17)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(1|8)$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(6|7)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used as a generic timer for time-base generation but it is also specifically used to drive the digital-to-analog converter (DAC).
            </help_text>
            <help_text filter="IP:TIM(2|3|4|5)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <help_text filter="IP:TIM(15|16|17)$">The general-purpose timer consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed


            ##########################################################
            ##########################################################
            WATCHOUT
            This section cover L4 and L4+ families
            to set rules, take this into accout
            ##########################################################
            ##########################################################
            -->
            <link filter="MCUIP:STM32L4(62(CE|RE|VE)|5[12]|[34][123]).*#TIM1$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced-control timer (TIM1)">
            </link>
            <link filter="MCUIP:STM32L4([A789]6|7[15]|[SR][579]).*#TIM[18]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced-control timer (TIM1, TIM8)">
            </link>
            <link filter="MCUIP:STM32L4[56].*#TIM6$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timer (TIM6)">
            </link>
            <link filter="MCUIP:STM32L4(?![56]).*#TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers (TIM6 and TIM7)">
            </link>
            <link filter="MCUIP:STM32L4[34].*#TIM(2|15|16)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM15, TIM16)">
            </link>
            <link filter="MCUIP:STM32L4[56].*#TIM(2|3|15|16)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM3, TIM15, TIM16)">
            </link>
            <link filter="MCUIP:STM32L4[78][56].*#TIM(2|3|4|5|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM3, TIM4, TIM5, TIM15, TIM16,                          TIM17)">
            </link>
            <link filter="MCUIP:STM32L471.*#TIM(2|3|4|5|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM3, TIM4, TIM5, TIM15, TIM16,                           TIM17)">
            </link>
            <link filter="MCUIP:STM32L4([A9]|[SR][579]).*#TIM(2|3|4|5|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM3, TIM4, TIM5, TIM15, TIM16,                         TIM17)">
            </link>
            <link filter="MCUIP:STM32L4[789ARS][15679].*#TIM[18]$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1/TIM8)">
            </link>
            <link filter="MCUIP:STM32L4[3456][123].*#TIM1$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1)">
            </link>
            <link filter="IP:TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6/TIM7)">
            </link>
            <link filter="MCUIP:STM32L4[3456][123].*#TIM(15|16)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM15/TIM16)">
            </link>
            <link filter="MCUIP:STM32L4[789ARS][15679].*#TIM(15|16|17)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM15/TIM16/TIM17)">
            </link>
            <link filter="MCUIP:STM32L4[3456][123].*#TIM[23]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timer (TIM2/TIM3)">
            </link>
            <link filter="MCUIP:STM32L4[789ARS][15679].*#TIM[2345]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2/TIM3/TIM4/TIM5)">
            </link>
            <link filter="IP:TIM(1|8)$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(6|7)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|4|5|15|16|17)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32MP1">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(1|8)$">Advanced-control timer</extract>
            <extract filter="IP:TIM(6|7)$">Basic timer</extract>
            <extract filter="IP:TIM(2|3|4|5|12|13|14|15|16|17)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(1|8)$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(6|7)$">The basic timer consists of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used as a generic timer for time-base generation but it is also specifically used to drive the digital-to-analog converter (DAC).
            </help_text>
            <help_text filter="IP:TIM(2|3|4|5)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <help_text filter="IP:TIM(12|13|14)$">The general-purpose timer consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM).
            </help_text>
            <help_text filter="IP:TIM(15|16|17)$">The general-purpose timer consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed


            ##########################################################
            ##########################################################
            WATCHOUT
            This section cover MP1 families
            to set rules, take this into account
            ##########################################################
            ##########################################################
            -->
            <link filter="MCUIP:STM32MP15([137]).*#TIM[18]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced-control timers (TIM1, TIM8)">
            </link>
            <link filter="MCUIP:STM32MP15([137]).*#TIM[67]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Basic timers TIM6 and TIM7">
            </link>
            <link filter="MCUIP:STM32MP15([137]).*#TIM(2|3|4|5|12|13|14|15|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM3, TIM4, TIM5, TIM12, TIM13, TIM14,
TIM15, TIM16, TIM17)">
            </link>
            <link filter="IP:TIM[18]$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1/TIM8)">
            </link>
            <link filter="IP:TIM[67]$" display="Reference manual" type="dynamic" reference="refMan" index="Basic timers (TIM6/TIM7)">
            </link>
            <link filter="IP:TIM(12|13|14)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM12/TIM13/TIM14)">
            </link>
            <link filter="IP:TIM(15|16|17)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM15/TIM16/TIM17)">
            </link>
            <link filter="IP:TIM[2345]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM2/TIM3/TIM4/TIM5)">
            </link>
            <link filter="IP:TIM(1|8)$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(6|7)$" display="Tutorial Video" type="tutorialbrowser" reference="Basic timer" index="">
            </link>
            <link filter="IP:TIM(2|3|4|5|12|13|14|15|16|17)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32WB">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(1)$">Advanced-control timer</extract>
            <extract filter="IP:TIM(2|16|17)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(1)$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(2)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <help_text filter="IP:TIM(16|17)$">The general-purpose timer consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed


            ##########################################################
            ##########################################################
            WATCHOUT
            This section cover WB families
            to set rules, take this into account
            ##########################################################
            ##########################################################
            -->
            <link filter="MCUIP:STM32WB5([5]).*#TIM[1]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced-control timer (TIM1)">
            </link>
            <link filter="MCUIP:STM32WB5([5]).*#TIM(2|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM16, TIM17)">
            </link>
            <link filter="IP:TIM[1]$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timers (TIM1)">
            </link>
            <link filter="IP:TIM[2]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timer (TIM2)">
            </link>
            <link filter="IP:TIM(16|17)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM16/TIM17)">
            </link>
            <link filter="IP:TIM(1)$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(2|16|17)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>

    <serie ref="STM32WL">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>TIM</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract filter="IP:TIM(1)$">Advanced-control timer</extract>
            <extract filter="IP:TIM(2|16|17)$">General purpose timer</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text filter="IP:TIM(1)$">The advanced-control timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <help_text filter="IP:TIM(2)$">The general-purpose timers consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare and PWM).
            </help_text>
            <help_text filter="IP:TIM(16|17)$">The general-purpose timer consist of an auto-reload counter driven by a programmable prescaler.&lt;br/&gt;
                It may be used for a variety of purposes, including measuring the pulse lengths of input signals (input capture)&lt;br/&gt;
                or generating output waveforms (output compare, PWM, complementary PWM with dead-time insertion).
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed


            ##########################################################
            ##########################################################
            WATCHOUT
            This section cover WB families
            to set rules, take this into account
            ##########################################################
            ##########################################################
            -->
            <link filter="IP:TIM[1]$" display="Datasheet" type="dynamic" reference="dataSheet" index="Advanced-control timer (TIM1)">
            </link>
            <link filter="IP:TIM(2|16|17)$" display="Datasheet" type="dynamic" reference="dataSheet" index="General-purpose timers (TIM2, TIM16, TIM17)">
            </link>
            <link filter="IP:TIM[1]$" display="Reference manual" type="dynamic" reference="refMan" index="Advanced-control timer (TIM1)">
            </link>
            <link filter="IP:TIM[2]$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timer (TIM2)">
            </link>
            <link filter="IP:TIM(16|17)$" display="Reference manual" type="dynamic" reference="refMan" index="General-purpose timers (TIM16/TIM17)">
            </link>
            <link filter="IP:TIM(1)$" display="Tutorial Video" type="tutorialbrowser" reference="Advanced-control timer" index="">
            </link>
            <link filter="IP:TIM(2|16|17)$" display="Tutorial Video" type="tutorialbrowser" reference="General purpose timer" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
</ctx_pinout_help>
