<root>
<build>
<compiler exe="$(appdir)compilers\STARM\batch\stm32comp.bat" params="&quot;$(target)&quot; &quot;$(outdir)&quot; &quot;$(chipalt)&quot; &quot;$(family)&quot; &quot;$(lscript)&quot; &quot;$(clock)&quot; &quot;$(romsize)&quot; &quot;$(ramsize)&quot;" />
<linker exe="$(appdir)tools\DoNothing\DoNothing.exe" params="" />
<programmer exe="$(appdir)compilers\STARM\batch\driveprog.bat" params="&quot;$(outdir)&quot; &quot;$(target)&quot; $(devname)" />
</build>

<device file = '32F746Nucleo144' 
		name='32F746ZG'
		namealt='32F746xx'
		product='ARM'
		family='F7'
		bits='32' >

    <parameters>
        <lscript value = 'stm32f.ld' />
        <romsize value = '1024K' />
        <ramsize value = '320K' />
		<devname value = 'NODE_F' />
    </parameters>

    <clock max_speed='26000000' master_divider='1' default='8000000' />
    
    <memory >
        <flash bytes='1048576' />
        <ram bytes='327680' />
    </memory>

    <configuration address='0' mult='1' >
        <format >
            <dword address='RCC_OSC_TYPE' value='3' />
            <dword address='RCC_PLL_SRC' value='2' />
			<dword address='RCC_PLLM' value='8' />
			<dword address='RCC_PLLN' value='400' />
			<dword address='RCC_PLLP' value='2' />
			<dword address='RCC_PLLQ' value='8' />
			<dword address='RCC_SYSCLK_SRC' value='2' />
			<dword address='RCC_AHB_PRE' value='1' />
			<dword address='RCC_APB1_PRE' value='4' />
			<dword address='RCC_APB2_PRE' value='2' />
			<dword address='FLASH_LTNC' value='5' />
        </format>
        <setting />
        <settings >
            <setting name='Osc select (HSI, HSE, EXT)' offset='0' mask='3' bits='2' hint='Osc select (HSI, HSE, EXT)' >
				<option name='HSI' value='0' />
                <option name='HSE' value='1' />
				<option name='EXT' value='3' />
            </setting>
            <setting name='PLL Source (OFF, HSI, HSE)' offset='32' mask='3' bits='2' hint='PLL Source (OFF, HSI, HSE)' >
				<option name='OFF' value='0' />
                <option name='HSI' value='1' />
				<option name='HSE/EXT' value='2' />
            </setting>

            <setting name='PLLM (PLL source divider)' offset='64' mask='0x3F' bits='6' hint='PLLM (PLL source divider)' >
				<option name='/2' value='2' />
				<option name='/3' value='3' />
				<option name='/4' value='4' />
				<option name='/5' value='5' />
				<option name='/6' value='6' />
				<option name='/7' value='7' />
				<option name='/8' value='8' />
				<option name='/9' value='9' />
				<option name='/10' value='10' />
				<option name='/11' value='11' />
				<option name='/12' value='12' />
				<option name='/13' value='13' />
				<option name='/14' value='14' />
				<option name='/15' value='15' />
				<option name='/16' value='16' />
				<option name='/17' value='17' />
				<option name='/18' value='18' />
				<option name='/19' value='19' />
				<option name='/20' value='20' />
				<option name='/21' value='21' />
				<option name='/22' value='22' />
				<option name='/23' value='23' />
				<option name='/24' value='24' />
				<option name='/25' value='25' />
				<option name='/26' value='26' />
			</setting>
            <setting name='PLLN (Main PLL multiplier)' offset='96' mask='0x01FF' bits='9' hint='PLLN (Main PLL multiplier)' >
				<option name='x100' value='100' />
				<option name='x200' value='200' />
				<option name='x300' value='300' />
				<option name='x400' value='400' />
			</setting>
            <setting name='PLLP (Main PLL divisor for main system clock)' offset='128' mask='0x0F' bits='4' hint='PLLP (Main PLL divisor for main system clock)' >
				<option name='/2' value='2' />
				<option name='/4' value='4' />
				<option name='/6' value='6' />
				<option name='/8' value='8' />
			</setting>
            <setting name='PLLQ (Main PLL divisor for USB, SDIO)' offset='160' mask='0x0F' bits='4' hint='PLLQ (Main PLL divisor for USB, SDIO)' >
				<option name='/2' value='2' />
				<option name='/3' value='3' />
				<option name='/4' value='4' />
				<option name='/5' value='5' />
				<option name='/6' value='6' />
				<option name='/7' value='7' />
				<option name='/8' value='8' />
				<option name='/9' value='9' />
				<option name='/10' value='10' />
				<option name='/11' value='11' />
				<option name='/12' value='12' />
				<option name='/13' value='13' />
				<option name='/14' value='14' />
				<option name='/15' value='15' />
			</setting>
            <setting name='System clock selector' offset='192' mask='3' bits='2' hint='System clock selector' >
				<option name='HSI internal oscillator selected as system clock' value='0' />
				<option name='HSE external oscillator selected as system clock' value='1' />
				<option name='PLL selected as system clock' value='2' />
			</setting>
			<setting name='HPRE (AHB prescaler)' offset='224' mask='0x3FF' bits='10' hint='HPRE (AHB prescaler)' >
				<option name='System clock not divided (/1)' value='1' />
				<option name='System clock divided by 2' value='2' />
				<option name='System clock divided by 4' value='4' />
				<option name='System clock divided by 8' value='8' />
				<option name='System clock divided by 16' value='16' />
				<option name='System clock divided by 64' value='64' />
				<option name='System clock divided by 128' value='128' />
				<option name='System clock divided by 256' value='256' />
				<option name='System clock divided by 512' value='512' />
			</setting>	
			<setting name='PPRE1 (APB1 Low speed prescaler)' offset='256' mask='0x1F' bits='5' hint='PPRE1 (APB1 Low speed prescaler)' >
				<option name='ABH clock not divided (/1)' value='1' />
				<option name='ABH clock divided by 2' value='2' />
				<option name='ABH clock divided by 4' value='4' />
				<option name='ABH clock divided by 8' value='8' />
				<option name='ABH clock divided by 16' value='16' />
			</setting>	
			<setting name='PPRE2 (APB2 High speed prescaler)' offset='288' mask='0x1F' bits='5' hint='PPRE2 (APB2 High speed prescaler)' >
				<option name='ABH clock not divided (/1)' value='1' />
				<option name='ABH clock divided by 2' value='2' />
				<option name='ABH clock divided by 4' value='4' />
				<option name='ABH clock divided by 8' value='8' />
				<option name='ABH clock divided by 16' value='16' />
			</setting>		
			<setting name='LATENCY (Flash Latency)' offset='320' mask='7' bits='3' hint='LATENCY (Flash Latency)' >
				<option name='Zero wait states' value='0' />
				<option name='1 wait state' value='1' />
				<option name='2 wait states' value='2' />
				<option name='3 wait states' value='3' />
				<option name='4 wait states' value='4' />
				<option name='5 wait states' value='5' />
				<option name='6 wait states' value='6' />
				<option name='7 wait states' value='7' />
			</setting>	
        </settings>
    </configuration>

    <pins sides='2' smd='0' >
    	<pin name='PB7 BLUE_LED' port='1' bit='7' />
    	<pin name='PB14 RED_LED' port='1' bit='14' />
		<pin name='NC' />
		<pin name='NC' />
    	<pin name='NC' />
		<pin name='NC' />
		<pin name='NC' />
		<pin name='NC' />
    	<pin name='NC' />
    	<pin name='PC8' port='2' bit='8' />
		<pin name='IOREF' />
    	<pin name='PC9' port='2' bit='9' />
		<pin name='NRST' />
    	<pin name='PC10' port='2' bit='10' />
		<pin name='3V3' />
    	<pin name='PC11' port='2' bit='11' />
		<pin name='5V0' />
    	<pin name='PC12' port='2' bit='12' />
		<pin name='GND' />
    	<pin name='PD2' port='3' bit='2' />
		<pin name='GND' />
    	<pin name='PG2' port='6' bit='2' />
		<pin name='VIN' />
    	<pin name='PG3' port='6' bit='3' />

    	<pin name='PA3' port='0' bit='3' adc='3' />
    	<pin name='PD7' port='3' bit='7' />
    	<pin name='PC0' port='2' bit='0' adc='10' />
    	<pin name='PD6' port='3' bit='6' />
    	<pin name='PC3' port='2' bit='3' adc='13' />
    	<pin name='PD5' port='3' bit='5' />
    	<pin name='PF3' port='5' bit='3' adc='9' />
    	<pin name='PD4' port='3' bit='4' />
    	<pin name='PF5' port='5' bit='5' adc='15' />
    	<pin name='PD3' port='3' bit='3' />
    	<pin name='PF10' port='5' bit='10' adc='8' />
		<pin name='GND' />
    	<pin name='NC' />
    	<pin name='PE2' port='4' bit='2' />
    	<pin name='NC' />
    	<pin name='PE4' port='4' bit='4' />
    	<pin name='PF2' port='5' bit='2' />
    	<pin name='PE5' port='4' bit='5' />
    	<pin name='PF1' port='5' bit='1' />
    	<pin name='PE6' port='4' bit='6' />
    	<pin name='PF0' port='5' bit='0' />
    	<pin name='PE3' port='4' bit='3' />
		<pin name='GND' />
    	<pin name='PF8' port='5' bit='8' adc='6' />
    	<pin name='PD0' port='3' bit='0' />
    	<pin name='PF7' port='5' bit='7' adc='5' />
    	<pin name='PD1' port='3' bit='1' />
    	<pin name='PF9' port='5' bit='9' adc='7' />
    	<pin name='PG0' port='6' bit='0' />
    	<pin name='PG1' port='6' bit='1' />

    	<pin name='PB11' port='1' bit='11' />
    	<pin name='PE0' port='4' bit='0' />
    	<pin name='PB10' port='1' bit='10' />
    	<pin name='PB0 GRN_LED' port='1' bit='0' />
    	<pin name='PE15' port='4' bit='15' />
    	<pin name='PA0' port='0' bit='0' adc='0' />
    	<pin name='PE14' port='4' bit='14' />
		<pin name='GND' />
    	<pin name='PE12' port='4' bit='12' />
    	<pin name='NC' />
    	<pin name='PE10' port='4' bit='10' />
    	<pin name='PD11' port='3' bit='11' />
		<pin name='GND' />
    	<pin name='PD12' port='3' bit='12' />
    	<pin name='PE7' port='4' bit='7' />
    	<pin name='PD13' port='3' bit='13' />
    	<pin name='PE8' port='4' bit='8' />
		<pin name='GND' />		
    	<pin name='PG9' port='6' bit='9' />
    	<pin name='PB2' port='1' bit='2' />
    	<pin name='PG14' port='6' bit='14' />
    	<pin name='PB6' port='1' bit='6' />
    	<pin name='PF15' port='5' bit='15' />
    	<pin name='PF4' port='5' bit='4' adc='14' />
    	<pin name='PE13' port='4' bit='13' />
    	<pin name='PC2' port='2' bit='2' adc='12' />
    	<pin name='PF14' port='5' bit='14' />
    	<pin name='PB1' port='1' bit='1' />
    	<pin name='PE11' port='4' bit='11' />
		<pin name='GND' />		
    	<pin name='PE9' port='4' bit='9' />
		<pin name='AGND' />		
    	<pin name='PF13' port='5' bit='13' />
		<pin name='AVDD' />		
    	<pin name='PF12' port='5' bit='12' />
    	<pin name='PB4' port='1' bit='4' />
    	<pin name='PD15' port='3' bit='15' />
    	<pin name='PA4' port='0' bit='4' />
    	<pin name='PD14' port='3' bit='14' />
    	<pin name='PB3' port='1' bit='3' />
    	<pin name='PA7' port='0' bit='7' />
    	<pin name='PB5' port='1' bit='5' />
    	<pin name='PA6' port='0' bit='6' />
    	<pin name='PC7' port='2' bit='7' />
    	<pin name='PA5' port='0' bit='5' />
    	<pin name='PA15' port='0' bit='15' />
		<pin name='GND' />		
    	<pin name='PB12' port='1' bit='12' />
		<pin name='AVDD' />
    	<pin name='PB13' port='1' bit='13' />		
    	<pin name='PB9' port='1' bit='9' />
    	<pin name='PB15' port='1' bit='15' />
    	<pin name='PB8' port='1' bit='8' />
    	<pin name='PC6' port='2' bit='6' />
    </pins>

    <pwm regset='1' remappable='2' >
    	<timer>
			<option name='Fixed' value='1' count='8' />
    	</timer>
        <prescaler >
			<option name="1" value="1" />
			<option name="4" value="4" />
			<option name="16" value="16" />
			<option name="64" value="64" />
			<option name="256" value="256" />
			<option name="1024" value="1024" />
        </prescaler>
        <out name='TIM1_CH1' af0='1' port0='4' pin0='9' />
        <out name='TIM1_CH2' af0='1' port0='4' pin0='11' />
        <out name='TIM1_CH3' af0='1' port0='4' pin0='13' />
        <out name='TIM1_CH4' af0='1' port0='4' pin0='14' />
		
		<out name='TIM2_CH1' af0='1' port0='0' pin0='0' af1='1' port1='0' pin1='5' af2='1' port2='0' pin2='15' />
        <out name='TIM2_CH2' af0='1' port0='1' pin0='3' />
        <out name='TIM2_CH3' af0='1' port0='1' pin0='10' />
        <out name='TIM2_CH4' af0='1' port0='0' pin0='3' af1='1' port1='1' pin1='11' />
		
		<out name='TIM3_CH1' af0='2' port0='0' pin0='6' af1='2' port1='1' pin1='4' af2='2' port2='2' pin2='6' />
        <out name='TIM3_CH2' af0='2' port0='1' pin0='5' af1='2' port1='2' pin1='7' />
        <out name='TIM3_CH3' af0='2' port0='1' pin0='0' af1='2' port1='2' pin1='8' />
        <out name='TIM3_CH4' af0='2' port0='1' pin0='1' af1='2' port1='2' pin1='9' />
		
        <out name='TIM4_CH1' af0='2' port0='1' pin0='6' af1='2' port1='3' pin1='12' />
        <out name='TIM4_CH2' af0='2' port0='1' pin0='7' af1='2' port1='3' pin1='13' />
        <out name='TIM4_CH3' af0='2' port0='1' pin0='8' af1='2' port1='3' pin1='14' />
        <out name='TIM4_CH4' af0='2' port0='1' pin0='9' af1='2' port1='3' pin1='15' />
		
        <out name='TIM5_CH1' af0='2' port0='0' pin0='0' />
        <out name='TIM5_CH4' af0='2' port0='0' pin0='3' />
		
        <out name='TIM8_CH1' af0='3' port0='2' pin0='6' />
        <out name='TIM8_CH2' af0='3' port0='2' pin0='7' />
        <out name='TIM8_CH3' af0='3' port0='2' pin0='8' />
        <out name='TIM8_CH4' af0='3' port0='2' pin0='9' />
        <out name='TIM9_CH1' af0='3' port0='4' pin0='5' />
        <out name='TIM9_CH2' af0='3' port0='0' pin0='3' af1='3' port1='4' pin1='6' />
        <out name='TIM10_CH1' af0='3' port0='1' pin0='8' />
        <out name='TIM11_CH1' af0='3' port0='1' pin0='9' af1='3' port1='5' pin1='7' />
        <out name='TIM12_CH1' af0='9' port0='1' pin0='14' />
        <out name='TIM12_CH2' af0='9' port0='1' pin0='15' />
        <out name='TIM13_CH1' af0='9' port0='5' pin0='8' />
        <out name='TIM14_CH1' af0='9' port0='0' pin0='7' af1='9' port1='5' pin1='9' />
    </pwm>

    <adc type='5' bits='12' >
        <speed >
			<option name='PCLK/2' value='2' />
            <option name='PCLK/4' value='4' />
			<option name='PCLK/6' value='6' />
            <option name='PCLK/8' value='8' />
        </speed>
    </adc>

    <dac type='1' bits='12' >
        <vref>
            <option name='VDD' value='0' />
        </vref>
        <out port='0' pin='4' />
        <out port='0' pin='5' />
    </dac>
	
    <uart remappable='2' name='USART2' >
        <tx af0='7' port0='3' pin0='5' />
        <rx af0='7' port0='0' pin0='3' af1='7' port1='3' pin1='6' />
    </uart>

    <uart remappable='2' name='USART3' >
        <tx af0='7' port0='1' pin0='10' af1='7' port1='2' pin1='10' af2='7' port2='3' pin2='8' />
        <rx af0='7' port0='1' pin0='11' af1='7' port1='2' pin1='11' af2='7' port2='3' pin2='9' />
    </uart>

    <uart remappable='2' name='USART4' >
        <tx af0='8' port0='0' pin0='0' af1='8' port1='2' pin1='10' />
        <rx af0='8' port0='2' pin0='11' />
    </uart>

    <uart remappable='2' name='USART5' >
        <tx af0='8' port0='2' pin0='12' />
        <rx af0='8' port0='3' pin0='2' />
    </uart>
    
    <uart remappable='2' name='USART6' >
        <tx af0='8' port0='2' pin0='6' af1='8' port1='6' pin1='14' />
        <rx af0='8' port0='2' pin0='7' af1='8' port1='6' pin1='9' />
    </uart>

    <uart remappable='2' name='USART7' >
        <tx af0='8' port0='4' pin0='8' af1='8' port1='5' pin1='7' />
        <rx af0='8' port0='4' pin0='7' />
    </uart>
	
    <spi remappable='3' name='SPI1' >
        <clk  af0='5' port0='0' pin0='5' af1='5' port1='1' pin1='3' />
        <miso af0='5' port0='0' pin0='6' af1='5' port1='1' pin1='4' />
        <mosi af0='5' port0='0' pin0='7' af1='5' port1='1' pin1='5' />
    </spi>

    <spi remappable='3' name='SPI2' >
        <clk  af0='5' port0='1' pin0='13' af1='5' port1='3' pin1='3' />
        <miso af0='5' port0='2' pin0='2' />
        <mosi af0='5' port0='1' pin0='15' af1='5' port1='2' pin1='3' />
    </spi>

    <spi remappable='3' name='SPI3' >
        <clk  af0='6' port0='1' pin0='3' af1='6' port1='2' pin1='10' />
        <miso af0='6' port0='1' pin0='4' af1='6' port1='2' pin1='11' />
        <mosi af0='6' port0='1' pin0='5' af1='7' port1='1' pin1='2' af2='6' port2='2' pin2='12' af3='5' port3='3' pin3='6' />
    </spi>
	
    <spi remappable='3' name='SPI4' >
        <clk  af0='5' port0='4' pin0='2' af1='5' port1='4' pin1='12' />
        <miso af0='5' port0='4' pin0='5' af1='5' port1='4' pin1='13' />
        <mosi af0='5' port0='4' pin0='6' af1='5' port1='4' pin1='14' />
    </spi>
	
    <spi remappable='3' name='SPI5' >
        <clk  af0='5' port0='5' pin0='7' />
        <miso af0='5' port0='5' pin0='8' />
        <mosi af0='5' port0='5' pin0='9' />
    </spi>
	
    <interrupts >
		<interrupt ident='TMR2' reg='TMR2' type='timer16' name='Timer 2'
			handler='#ifndef MX_ISR_T2\n#define MX_ISR_T2\nvoid TIM2_IRQHandler(void)\n{\n\tHAL_TIM_IRQHandler(&(MX_HANDLE_TIM2));\n}\n\nvoid MX_ISR_TIM2()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n'
			enable='MX_HANDLE_TIM2.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1;\nMX_HANDLE_TIM2.Init.CounterMode=TIM_COUNTERMODE_UP;\nMX_HANDLE_TIM2.Init.RepetitionCounter=0;\n__HAL_RCC_TIM2_CLK_ENABLE();\nHAL_NVIC_SetPriority(TIM2_IRQn, 3, 0);\nHAL_NVIC_EnableIRQ(TIM2_IRQn);\nHAL_TIM_Base_Init(&(MX_HANDLE_TIM2));\nHAL_TIM_Base_Start_IT(&(MX_HANDLE_TIM2));\n'
			disable='HAL_NVIC_DisableIRQ(TIM2_IRQn);\n'
			global='\nTIM_HandleTypeDef MX_HANDLE_TIM2;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='MX_HANDLE_TIM2.Init.Prescaler = 1;\n' />
                    <entry name='1:4' value='MX_HANDLE_TIM2.Init.Prescaler = 4;\n' />
					<entry name='1:16' value='MX_HANDLE_TIM2.Init.Prescaler = 16;\n' />
                    <entry name='1:64' value='MX_HANDLE_TIM2.Init.Prescaler = 64;\n' />
                    <entry name='1:256' value='MX_HANDLE_TIM2.Init.Prescaler = 256;\n' />
					<entry name='1:1024' value='MX_HANDLE_TIM2.Init.Prescaler = 1024;\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='MX_HANDLE_TIM2.Instance=TIM2;\nMX_HANDLE_TIM2.Init.Period=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>		
		<interrupt ident='TMR3' reg='TMR3' type='timer16' name='Timer 3'
			handler='#ifndef MX_ISR_T3\n#define MX_ISR_T3\nvoid TIM3_IRQHandler(void)\n{\n\tHAL_TIM_IRQHandler(&(MX_HANDLE_TIM3));\n}\n\nvoid MX_ISR_TIM3()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n'
			enable='MX_HANDLE_TIM3.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1;\nMX_HANDLE_TIM3.Init.CounterMode=TIM_COUNTERMODE_UP;\nMX_HANDLE_TIM3.Init.RepetitionCounter=0;\n__HAL_RCC_TIM3_CLK_ENABLE();\nHAL_NVIC_SetPriority(TIM3_IRQn, 3, 0);\nHAL_NVIC_EnableIRQ(TIM3_IRQn);\nHAL_TIM_Base_Init(&(MX_HANDLE_TIM3));\nHAL_TIM_Base_Start_IT(&(MX_HANDLE_TIM3));\n'
			disable='HAL_NVIC_DisableIRQ(TIM3_IRQn);\n'
			global='\nTIM_HandleTypeDef MX_HANDLE_TIM3;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='MX_HANDLE_TIM3.Init.Prescaler = 1;\n' />
                    <entry name='1:4' value='MX_HANDLE_TIM3.Init.Prescaler = 4;\n' />
					<entry name='1:16' value='MX_HANDLE_TIM3.Init.Prescaler = 16;\n' />
                    <entry name='1:64' value='MX_HANDLE_TIM3.Init.Prescaler = 64;\n' />
                    <entry name='1:256' value='MX_HANDLE_TIM3.Init.Prescaler = 256;\n' />
					<entry name='1:1024' value='MX_HANDLE_TIM3.Init.Prescaler = 1024;\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='MX_HANDLE_TIM3.Instance=TIM3;\nMX_HANDLE_TIM3.Init.Period=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>		
		<interrupt ident='TMR4' reg='TMR4' type='timer16' name='Timer 4'
			handler='#ifndef MX_ISR_T4\n#define MX_ISR_T4\nvoid TIM4_IRQHandler(void)\n{\n\tHAL_TIM_IRQHandler(&(MX_HANDLE_TIM4));\n}\n\nvoid MX_ISR_TIM4()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n'
			enable='MX_HANDLE_TIM4.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1;\nMX_HANDLE_TIM4.Init.CounterMode=TIM_COUNTERMODE_UP;\nMX_HANDLE_TIM4.Init.RepetitionCounter=0;\n__HAL_RCC_TIM4_CLK_ENABLE();\nHAL_NVIC_SetPriority(TIM4_IRQn, 3, 0);\nHAL_NVIC_EnableIRQ(TIM4_IRQn);\nHAL_TIM_Base_Init(&(MX_HANDLE_TIM4));\nHAL_TIM_Base_Start_IT(&(MX_HANDLE_TIM4));\n'
			disable='HAL_NVIC_DisableIRQ(TIM4_IRQn);\n'
			global='\nTIM_HandleTypeDef MX_HANDLE_TIM4;\n' >
			<timer overflow='65536' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='MX_HANDLE_TIM4.Init.Prescaler = 1;\n' />
                    <entry name='1:4' value='MX_HANDLE_TIM4.Init.Prescaler = 4;\n' />
					<entry name='1:16' value='MX_HANDLE_TIM4.Init.Prescaler = 16;\n' />
                    <entry name='1:64' value='MX_HANDLE_TIM4.Init.Prescaler = 64;\n' />
                    <entry name='1:256' value='MX_HANDLE_TIM4.Init.Prescaler = 256;\n' />
					<entry name='1:1024' value='MX_HANDLE_TIM4.Init.Prescaler = 1024;\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='MX_HANDLE_TIM4.Instance=TIM4;\nMX_HANDLE_TIM4.Init.Period=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>		
		<interrupt ident='TMR5' reg='TMR5' type='timer16' name='Timer 5'
			handler='#ifndef MX_ISR_T5\n#define MX_ISR_T5\nvoid TIM5_IRQHandler(void)\n{\n\tHAL_TIM_IRQHandler(&(MX_HANDLE_TIM5));\n}\n\nvoid MX_ISR_TIM5()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n'
			enable='MX_HANDLE_TIM5.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1;\nMX_HANDLE_TIM5.Init.CounterMode=TIM_COUNTERMODE_UP;\nMX_HANDLE_TIM5.Init.RepetitionCounter=0;\n__HAL_RCC_TIM5_CLK_ENABLE();\nHAL_NVIC_SetPriority(TIM5_IRQn, 3, 0);\nHAL_NVIC_EnableIRQ(TIM5_IRQn);\nHAL_TIM_Base_Init(&(MX_HANDLE_TIM5));\nHAL_TIM_Base_Start_IT(&(MX_HANDLE_TIM5));\n'
			disable='HAL_NVIC_DisableIRQ(TIM5_IRQn);\n'
			global='\nTIM_HandleTypeDef MX_HANDLE_TIM5;\n' >
			<timer overflow='65536' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='MX_HANDLE_TIM5.Init.Prescaler = 1;\n' />
                    <entry name='1:4' value='MX_HANDLE_TIM5.Init.Prescaler = 4;\n' />
					<entry name='1:16' value='MX_HANDLE_TIM5.Init.Prescaler = 16;\n' />
                    <entry name='1:64' value='MX_HANDLE_TIM5.Init.Prescaler = 64;\n' />
                    <entry name='1:256' value='MX_HANDLE_TIM5.Init.Prescaler = 256;\n' />
					<entry name='1:1024' value='MX_HANDLE_TIM5.Init.Prescaler = 1024;\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='MX_HANDLE_TIM5.Instance=TIM5;\nMX_HANDLE_TIM5.Init.Period=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
		<interrupt ident='TMR7' reg='TMR7' type='timer16' name='Timer 7'
			handler='#ifndef MX_ISR_T7\n#define MX_ISR_T7\nvoid TIM7_IRQHandler(void)\n{\n\tHAL_TIM_IRQHandler(&(MX_HANDLE_TIM7));\n}\n\nvoid MX_ISR_TIM7()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n'
			enable='MX_HANDLE_TIM7.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1;\nMX_HANDLE_TIM7.Init.CounterMode=TIM_COUNTERMODE_UP;\nMX_HANDLE_TIM7.Init.RepetitionCounter=0;\n__HAL_RCC_TIM7_CLK_ENABLE();\nHAL_NVIC_SetPriority(TIM7_IRQn, 3, 0);\nHAL_NVIC_EnableIRQ(TIM7_IRQn);\nHAL_TIM_Base_Init(&(MX_HANDLE_TIM7));\nHAL_TIM_Base_Start_IT(&(MX_HANDLE_TIM7));\n'
			disable='HAL_NVIC_DisableIRQ(TIM7_IRQn);\n'
			global='\nTIM_HandleTypeDef MX_HANDLE_TIM7;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='MX_HANDLE_TIM7.Init.Prescaler = 1;\n' />
                    <entry name='1:4' value='MX_HANDLE_TIM7.Init.Prescaler = 4;\n' />
					<entry name='1:16' value='MX_HANDLE_TIM7.Init.Prescaler = 16;\n' />
                    <entry name='1:64' value='MX_HANDLE_TIM7.Init.Prescaler = 64;\n' />
                    <entry name='1:256' value='MX_HANDLE_TIM7.Init.Prescaler = 256;\n' />
					<entry name='1:1024' value='MX_HANDLE_TIM7.Init.Prescaler = 1024;\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='MX_HANDLE_TIM7.Instance=TIM7;\nMX_HANDLE_TIM7.Init.Period=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='EXTI0' type='pin' name='EXTI0' handler='#ifndef MX_IRQ_INT0\n#define MX_IRQ_INT0\nvoid EXTI0_IRQHandler(void)\n{\n\tHAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);\n}\n#endif\n#ifndef MX_ISR_INT0\n#define MX_ISR_INT0\nvoid MX_ISR_EXTI0()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='HAL_NVIC_SetPriority(EXTI0_IRQn, 2, 0);\nHAL_NVIC_EnableIRQ(EXTI0_IRQn);' disable='HAL_NVIC_DisableIRQ(EXTI0_IRQn);' >
			<options >
				<port name='Port' >
					<entry name='GPIOA' value='MX_EXTI_PinInit(GPIOA,\n\tGPIO_PIN_0,' />
					<entry name='GPIOB' value='MX_EXTI_PinInit(GPIOB,\n\tGPIO_PIN_0,' />
					<entry name='GPIOC' value='MX_EXTI_PinInit(GPIOC,\n\tGPIO_PIN_0,' />
					<entry name='GPIOD' value='MX_EXTI_PinInit(GPIOD,\n\tGPIO_PIN_0,' />
					<entry name='GPIOE' value='MX_EXTI_PinInit(GPIOE,\n\tGPIO_PIN_0,' />
					<entry name='GPIOF' value='MX_EXTI_PinInit(GPIOF,\n\tGPIO_PIN_0,' />
					<entry name='GPIOG' value='MX_EXTI_PinInit(GPIOG,\n\tGPIO_PIN_0,' />
				</port>
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='\n\tGPIO_MODE_IT_RISING,' />
                    <entry name='Falling edge of INT' value='\n\tGPIO_MODE_IT_FALLING,' />
					<entry name='Both edges of INT' value='\n\tGPIO_MODE_IT_RISING_FALLING,' />
                </edge>
				<edge name='Input Weak Bias' >
                    <entry name='No bias' value='\n\tGPIO_NOPULL);\n' />
                    <entry name='Pull up' value='\n\tGPIO_PULLUP);\n' />
					<entry name='Pull down' value='\n\tGPIO_PULLDOWN);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='EXTI1' type='pin' name='EXTI1' handler='#ifndef MX_IRQ_INT1\n#define MX_IRQ_INT1\nvoid EXTI1_IRQHandler(void)\n{\n\tHAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1);\n}\n#endif\n#ifndef MX_ISR_INT1\n#define MX_ISR_INT1\nvoid MX_ISR_EXTI1()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='HAL_NVIC_SetPriority(EXTI1_IRQn, 2, 0);\nHAL_NVIC_EnableIRQ(EXTI1_IRQn);' disable='HAL_NVIC_DisableIRQ(EXTI1_IRQn);' >
			<options >
				<port name='Port' >
					<entry name='GPIOB' value='MX_EXTI_PinInit(GPIOB,\n\tGPIO_PIN_1,' />
					<entry name='GPIOD' value='MX_EXTI_PinInit(GPIOD,\n\tGPIO_PIN_1,' />
					<entry name='GPIOF' value='MX_EXTI_PinInit(GPIOF,\n\tGPIO_PIN_1,' />
					<entry name='GPIOG' value='MX_EXTI_PinInit(GPIOG,\n\tGPIO_PIN_1,' />

				</port>
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='\n\tGPIO_MODE_IT_RISING,' />
                    <entry name='Falling edge of INT' value='\n\tGPIO_MODE_IT_FALLING,' />
					<entry name='Both edges of INT' value='\n\tGPIO_MODE_IT_RISING_FALLING,' />
                </edge>
				<edge name='Input Weak Bias' >
                    <entry name='No bias' value='\n\tGPIO_NOPULL);\n' />
                    <entry name='Pull up' value='\n\tGPIO_PULLUP);\n' />
					<entry name='Pull down' value='\n\tGPIO_PULLDOWN);\n' />
                </edge>
            </options>
        </interrupt>
		<interrupt ident='EXTI2' type='pin' name='EXTI2' handler='#ifndef MX_IRQ_INT2\n#define MX_IRQ_INT2\nvoid EXTI2_IRQHandler(void)\n{\n\tHAL_GPIO_EXTI_IRQHandler(GPIO_PIN_2);\n}\n#endif\n#ifndef MX_ISR_INT2\n#define MX_ISR_INT2\nvoid MX_ISR_EXTI2()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='HAL_NVIC_SetPriority(EXTI2_IRQn, 2, 0);\nHAL_NVIC_EnableIRQ(EXTI2_IRQn);' disable='HAL_NVIC_DisableIRQ(EXTI2_IRQn);' >
			<options >
				<port name='Port' >
					<entry name='GPIOB' value='MX_EXTI_PinInit(GPIOB,\n\tGPIO_PIN_2,' />
					<entry name='GPIOC' value='MX_EXTI_PinInit(GPIOC,\n\tGPIO_PIN_2,' />
					<entry name='GPIOD' value='MX_EXTI_PinInit(GPIOD,\n\tGPIO_PIN_2,' />
					<entry name='GPIOE' value='MX_EXTI_PinInit(GPIOE,\n\tGPIO_PIN_2,' />
					<entry name='GPIOF' value='MX_EXTI_PinInit(GPIOF,\n\tGPIO_PIN_2,' />
					<entry name='GPIOG' value='MX_EXTI_PinInit(GPIOG,\n\tGPIO_PIN_2,' />

				</port>
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='\n\tGPIO_MODE_IT_RISING,' />
                    <entry name='Falling edge of INT' value='\n\tGPIO_MODE_IT_FALLING,' />
					<entry name='Both edges of INT' value='\n\tGPIO_MODE_IT_RISING_FALLING,' />
                </edge>
				<edge name='Input Weak Bias' >
                    <entry name='No bias' value='\n\tGPIO_NOPULL);\n' />
                    <entry name='Pull up' value='\n\tGPIO_PULLUP);\n' />
					<entry name='Pull down' value='\n\tGPIO_PULLDOWN);\n' />
                </edge>
            </options>
        </interrupt>
		<interrupt ident='EXTI3' type='pin' name='EXTI3' handler='#ifndef MX_IRQ_INT3\n#define MX_IRQ_INT3\nvoid EXTI3_IRQHandler(void)\n{\n\tHAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3);\n}\n#endif\n#ifndef MX_ISR_INT3\n#define MX_ISR_INT3\nvoid MX_ISR_EXTI3()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='HAL_NVIC_SetPriority(EXTI3_IRQn, 2, 0);\nHAL_NVIC_EnableIRQ(EXTI3_IRQn);' disable='HAL_NVIC_DisableIRQ(EXTI3_IRQn);' >
			<options >
				<port name='Port' >
					<entry name='GPIOA' value='MX_EXTI_PinInit(GPIOA,\n\tGPIO_PIN_3,' />
					<entry name='GPIOB' value='MX_EXTI_PinInit(GPIOB,\n\tGPIO_PIN_3,' />
					<entry name='GPIOC' value='MX_EXTI_PinInit(GPIOC,\n\tGPIO_PIN_3,' />
					<entry name='GPIOD' value='MX_EXTI_PinInit(GPIOD,\n\tGPIO_PIN_3,' />
					<entry name='GPIOE' value='MX_EXTI_PinInit(GPIOE,\n\tGPIO_PIN_3,' />
					<entry name='GPIOF' value='MX_EXTI_PinInit(GPIOF,\n\tGPIO_PIN_3,' />
					<entry name='GPIOG' value='MX_EXTI_PinInit(GPIOG,\n\tGPIO_PIN_3,' />
				</port>
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='\n\tGPIO_MODE_IT_RISING,' />
                    <entry name='Falling edge of INT' value='\n\tGPIO_MODE_IT_FALLING,' />
					<entry name='Both edges of INT' value='\n\tGPIO_MODE_IT_RISING_FALLING,' />
                </edge>
				<edge name='Input Weak Bias' >
                    <entry name='No bias' value='\n\tGPIO_NOPULL);\n' />
                    <entry name='Pull up' value='\n\tGPIO_PULLUP);\n' />
					<entry name='Pull down' value='\n\tGPIO_PULLDOWN);\n' />
                </edge>
            </options>
        </interrupt>
		<interrupt ident='EXTI4' type='pin' name='EXTI4' handler='#ifndef MX_IRQ_INT4\n#define MX_IRQ_INT4\nvoid EXTI4_IRQHandler(void)\n{\n\tHAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4);\n}\n#endif\n#ifndef MX_ISR_INT4\n#define MX_ISR_INT4\nvoid MX_ISR_EXTI4()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='HAL_NVIC_SetPriority(EXTI4_IRQn, 2, 0);\nHAL_NVIC_EnableIRQ(EXTI4_IRQn);' disable='HAL_NVIC_DisableIRQ(EXTI4_IRQn);' >
			<options >
				<port name='Port' >
					<entry name='GPIOA' value='MX_EXTI_PinInit(GPIOA,\n\tGPIO_PIN_4,' />
					<entry name='GPIOB' value='MX_EXTI_PinInit(GPIOB,\n\tGPIO_PIN_4,' />
					<entry name='GPIOD' value='MX_EXTI_PinInit(GPIOD,\n\tGPIO_PIN_4,' />
					<entry name='GPIOE' value='MX_EXTI_PinInit(GPIOE,\n\tGPIO_PIN_4,' />
					<entry name='GPIOF' value='MX_EXTI_PinInit(GPIOF,\n\tGPIO_PIN_4,' />
				</port>
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='\n\tGPIO_MODE_IT_RISING,' />
                    <entry name='Falling edge of INT' value='\n\tGPIO_MODE_IT_FALLING,' />
					<entry name='Both edges of INT' value='\n\tGPIO_MODE_IT_RISING_FALLING,' />
                </edge>
				<edge name='Input Weak Bias' >
                    <entry name='No bias' value='\n\tGPIO_NOPULL);\n' />
                    <entry name='Pull up' value='\n\tGPIO_PULLUP);\n' />
					<entry name='Pull down' value='\n\tGPIO_PULLDOWN);\n' />
                </edge>
            </options>
        </interrupt>
		<interrupt ident='EXTI7' type='pin' name='EXTI7' handler='#ifndef MX_IRQ_INT9_5\n#define MX_IRQ_INT9_5\nvoid EXTI7_IRQHandler(void)\n{\n\tHAL_GPIO_EXTI_IRQHandler(GPIO_PIN_7);\n}\n#endif\n#ifndef MX_ISR_INT7\n#define MX_ISR_INT7\nvoid MX_ISR_EXTI7()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='HAL_NVIC_SetPriority(EXTI9_5_IRQn, 2, 0);\nHAL_NVIC_EnableIRQ(EXTI9_5_IRQn);' disable='HAL_NVIC_DisableIRQ(EXTI9_5_IRQn);' >
			<options >
				<port name='Port' >
					<entry name='GPIOA' value='MX_EXTI_PinInit(GPIOA,\n\tGPIO_PIN_6,' />
					<entry name='GPIOC' value='MX_EXTI_PinInit(GPIOC,\n\tGPIO_PIN_6,' />
					<entry name='GPIOD' value='MX_EXTI_PinInit(GPIOD,\n\tGPIO_PIN_6,' />
					<entry name='GPIOE' value='MX_EXTI_PinInit(GPIOE,\n\tGPIO_PIN_6,' />
					<entry name='GPIOF' value='MX_EXTI_PinInit(GPIOF,\n\tGPIO_PIN_6,' />
				</port>
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='\n\tGPIO_MODE_IT_RISING,' />
                    <entry name='Falling edge of INT' value='\n\tGPIO_MODE_IT_FALLING,' />
					<entry name='Both edges of INT' value='\n\tGPIO_MODE_IT_RISING_FALLING,' />
                </edge>
				<edge name='Input Weak Bias' >
                    <entry name='No bias' value='\n\tGPIO_NOPULL);\n' />
                    <entry name='Pull up' value='\n\tGPIO_PULLUP);\n' />
					<entry name='Pull down' value='\n\tGPIO_PULLDOWN);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='EXTI13' type='pin' name='EXTI13' handler='#ifndef MX_ISR_INT15_10\n#define MX_ISR_INT15_10\nvoid EXTI15_10_IRQHandler(void)\n{\n\tHAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);\n}\n#endif\n#ifndef MX_ISR_INT13\n#define MX_ISR_INT13\nvoid MX_ISR_EXTI13()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='HAL_NVIC_SetPriority(EXTI15_10_IRQn, 2, 0);\nHAL_NVIC_EnableIRQ(EXTI15_10_IRQn);' disable='HAL_NVIC_DisableIRQ(EXTI15_10_IRQn);' >
			<options >
				<port name='Port' >
					<entry name='GPIOB' value='MX_EXTI_PinInit(GPIOB,\n\tGPIO_PIN_13,' />
					<entry name='GPIOC' value='MX_EXTI_PinInit(GPIOC,\n\tGPIO_PIN_13,' />
					<entry name='GPIOD' value='MX_EXTI_PinInit(GPIOD,\n\tGPIO_PIN_13,' />
					<entry name='GPIOE' value='MX_EXTI_PinInit(GPIOE,\n\tGPIO_PIN_13,' />
					<entry name='GPIOF' value='MX_EXTI_PinInit(GPIOF,\n\tGPIO_PIN_13,' />

				</port>
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='\n\tGPIO_MODE_IT_RISING,' />
                    <entry name='Falling edge of INT' value='\n\tGPIO_MODE_IT_FALLING,' />
					<entry name='Both edges of INT' value='\n\tGPIO_MODE_IT_RISING_FALLING,' />
                </edge>
				<edge name='Input Weak Bias' >
                    <entry name='No bias' value='\n\tGPIO_NOPULL);\n' />
                    <entry name='Pull up' value='\n\tGPIO_PULLUP);\n' />
					<entry name='Pull down' value='\n\tGPIO_PULLDOWN);\n' />
                </edge>
            </options>
        </interrupt>		
		<interrupt ident='RXINT2' type='comms' name='UART RXINT 2'
			handler='#ifndef MX_ISR_RX2\n#define MX_ISR_RX2\nvoid USART2_IRQHandler(void)\n{\n\tHAL_UART_IRQHandler(&(MX_HANDLE_UART2));\n\tHAL_UART_Receive_IT(&(MX_HANDLE_UART2), (uint8_t *)&(MX_HANDLE_UART2_RX_VAL), 1);\n}\n\nvoid MX_ISR_UART2()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n'
			enable='HAL_NVIC_SetPriority(USART2_IRQn, 0, 1);\nHAL_NVIC_EnableIRQ(USART2_IRQn);\nMX_HANDLE_UART2_IRQ_EN = 1;\nHAL_UART_Receive_IT(&(MX_HANDLE_UART2), (uint8_t *)&(MX_HANDLE_UART2_RX_VAL), 1);\n'
			disable='HAL_NVIC_DisableIRQ(USART2_IRQn);\nMX_HANDLE_UART2_IRQ_EN = 0;\n'
			global = 'UART_HandleTypeDef MX_HANDLE_UART2;\nMX_UINT16 MX_HANDLE_UART2_RX_VAL, MX_HANDLE_UART2_IRQ_EN;\n' />
		<interrupt ident='RXINT3' type='comms' name='UART RXINT 3'
			handler='#ifndef MX_ISR_RX3\n#define MX_ISR_RX3\nvoid USART3_IRQHandler(void)\n{\n\tHAL_UART_IRQHandler(&(MX_HANDLE_UART3));\n\tHAL_UART_Receive_IT(&(MX_HANDLE_UART3), (uint8_t *)&(MX_HANDLE_UART3_RX_VAL), 1);\n}\n\nvoid MX_ISR_UART3()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n'
			enable='HAL_NVIC_SetPriority(USART3_IRQn, 0, 1);\nHAL_NVIC_EnableIRQ(USART3_IRQn);\nMX_HANDLE_UART3_IRQ_EN = 1;\nHAL_UART_Receive_IT(&(MX_HANDLE_UART3), (uint8_t *)&(MX_HANDLE_UART3_RX_VAL), 1);\n'
			disable='HAL_NVIC_DisableIRQ(USART3_IRQn);\nMX_HANDLE_UART3_IRQ_EN = 0;\n'
			global = 'UART_HandleTypeDef MX_HANDLE_UART3;\nMX_UINT16 MX_HANDLE_UART3_RX_VAL, MX_HANDLE_UART3_IRQ_EN;\n' />
		<interrupt ident='RXINT4' type='comms' name='UART RXINT 4'
			handler='#ifndef MX_ISR_RX4\n#define MX_ISR_RX4\nvoid UART4_IRQHandler(void)\n{\n\tHAL_UART_IRQHandler(&(MX_HANDLE_UART4));\n\tHAL_UART_Receive_IT(&(MX_HANDLE_UART4), (uint8_t *)&(MX_HANDLE_UART4_RX_VAL), 1);\n}\n\nvoid MX_ISR_UART4()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n'
			enable='HAL_NVIC_SetPriority(UART4_IRQn, 0, 1);\nHAL_NVIC_EnableIRQ(UART4_IRQn);\nMX_HANDLE_UART4_IRQ_EN = 1;\nHAL_UART_Receive_IT(&(MX_HANDLE_UART4), (uint8_t *)&(MX_HANDLE_UART4_RX_VAL), 1);\n'
			disable='HAL_NVIC_DisableIRQ(UART4_IRQn);\nMX_HANDLE_UART4_IRQ_EN = 0;\n'
			global = 'UART_HandleTypeDef MX_HANDLE_UART4;\nMX_UINT16 MX_HANDLE_UART4_RX_VAL, MX_HANDLE_UART4_IRQ_EN;\n' />
		<interrupt ident='RXINT5' type='comms' name='UART RXINT 5'
			handler='#ifndef MX_ISR_RX5\n#define MX_ISR_RX5\nvoid UART5_IRQHandler(void)\n{\n\tHAL_UART_IRQHandler(&(MX_HANDLE_UART5));\n\tHAL_UART_Receive_IT(&(MX_HANDLE_UART5), (uint8_t *)&(MX_HANDLE_UART5_RX_VAL), 1);\n}\n\nvoid MX_ISR_UART5()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n'
			enable='HAL_NVIC_SetPriority(UART5_IRQn, 0, 1);\nHAL_NVIC_EnableIRQ(UART5_IRQn);\nMX_HANDLE_UART5_IRQ_EN = 1;\nHAL_UART_Receive_IT(&(MX_HANDLE_UART5), (uint8_t *)&(MX_HANDLE_UART5_RX_VAL), 1);\n'
			disable='HAL_NVIC_DisableIRQ(UART5_IRQn);\nMX_HANDLE_UART5_IRQ_EN = 0;\n'
			global = 'UART_HandleTypeDef MX_HANDLE_UART5;\nMX_UINT16 MX_HANDLE_UART5_RX_VAL, MX_HANDLE_UART5_IRQ_EN;\n' />
		<interrupt ident='RXINT6' type='comms' name='UART RXINT 6'
			handler='#ifndef MX_ISR_RX6\n#define MX_ISR_RX6\nvoid USART6_IRQHandler(void)\n{\n\tHAL_UART_IRQHandler(&(MX_HANDLE_UART6));\n\tHAL_UART_Receive_IT(&(MX_HANDLE_UART6), (uint8_t *)&(MX_HANDLE_UART6_RX_VAL), 1);\n}\n\nvoid MX_ISR_UART6()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n'
			enable='HAL_NVIC_SetPriority(USART6_IRQn, 0, 1);\nHAL_NVIC_EnableIRQ(USART6_IRQn);\nMX_HANDLE_UART6_IRQ_EN = 1;\nHAL_UART_Receive_IT(&(MX_HANDLE_UART6), (uint8_t *)&(MX_HANDLE_UART6_RX_VAL), 1);\n'
			disable='HAL_NVIC_DisableIRQ(USART6_IRQn);\nMX_HANDLE_UART6_IRQ_EN = 0;\n'
			global = 'UART_HandleTypeDef MX_HANDLE_UART6;\nMX_UINT16 MX_HANDLE_UART6_RX_VAL, MX_HANDLE_UART6_IRQ_EN;\n' />
		<interrupt ident='RXINT7' type='comms' name='UART RXINT 7'
			handler='#ifndef MX_ISR_RX7\n#define MX_ISR_RX7\nvoid USART7_IRQHandler(void)\n{\n\tHAL_UART_IRQHandler(&(MX_HANDLE_UART7));\n\tHAL_UART_Receive_IT(&(MX_HANDLE_UART7), (uint8_t *)&(MX_HANDLE_UART7_RX_VAL), 1);\n}\n\nvoid MX_ISR_UART7()\n{\n\tFCM_%n();\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n'
			enable='HAL_NVIC_SetPriority(UART7_IRQn, 0, 1);\nHAL_NVIC_EnableIRQ(UART7_IRQn);\nMX_HANDLE_UART7_IRQ_EN = 1;\nHAL_UART_Receive_IT(&(MX_HANDLE_UART7), (uint8_t *)&(MX_HANDLE_UART7_RX_VAL), 1);\n'
			disable='HAL_NVIC_DisableIRQ(UART7_IRQn);\nMX_HANDLE_UART7_IRQ_EN = 0;\n'
			global = 'UART_HandleTypeDef MX_HANDLE_UART7;\nMX_UINT16 MX_HANDLE_UART7_RX_VAL, MX_HANDLE_UART7_IRQ_EN;\n' />
	</interrupts>
    
</device>
<inline >
    <defines code='\n#define MX_CAL_STARM\n#define CLK_OVRDRV\n' />
    <directives code='' />
	
    <main >
        <start code='
int main()
{
	SystemClocksSetup();
	HAL_Init();

	SCB_EnableICache();
	SCB_EnableDCache();
	
	// Enable ports ABCDEFGHIJK
	__HAL_RCC_GPIOA_CLK_ENABLE();
	__HAL_RCC_GPIOB_CLK_ENABLE();
	__HAL_RCC_GPIOC_CLK_ENABLE();
	__HAL_RCC_GPIOD_CLK_ENABLE();
	__HAL_RCC_GPIOE_CLK_ENABLE();
	__HAL_RCC_GPIOH_CLK_ENABLE();
' />
        <end code='\tmainendloop: goto mainendloop;\n\treturn 0;\n}\n\n' />
        <init code='' />
    </main>
    <interrupt >
        <enable code='' />
        <start code='' />
        <end code='' />
        <init code='' />
    </interrupt>
    <config >
        <start code='//Configuration Start\n' />
        <body code='#define $(address) ($(value))\n' />
        <end code='//Configuration End\n\n' />
    </config>
</inline>
<test >
    <icd >
        <clock port0='1' pin0='1' />
        <data port0='1' pin0='0' />
    </icd>
</test>
</root>
