<root>
<device name='ATMEGA128' namealt='m128' product='AVR' family='ATMEGA' bits='8' >
    <clock max_speed='16000000' master_divider='1' default='8000000' />
    <memory >
        <flash bytes='131072' />
        <ram bytes='4096' />
    </memory>
    <configuration address='0x0000' mult='1' >
        <format><byte address='Low' value='0xFF' /><byte address='High' value='0xFF' /><byte address='Extended' value='0xFF' /></format>
        <setting />
        <settings >
            <setting name='SUT_CKSEL' offset='0' mask='63' bits='6' hint='Select Clock Source' >
                <option name='Ext. Clock, Start-up time: 6 CK + 0 ms' value='0' />
                <option name='Ext. Clock, Start-up time: 6 CK + 4 ms' value='16' />
                <option name='Ext. Clock, Start-up time: 6 CK + 64 ms' value='32' />
                <option name='Int. RC Osc. 1 MHz, Start-up time: 6 CK + 0 ms' value='1' />
                <option name='Int. RC Osc. 1 MHz, Start-up time: 6 CK + 4 ms' value='17' />
                <option name='Int. RC Osc. 1 MHz, Start-up time: 6 CK + 64 ms' value='33' />
                <option name='Int. RC Osc. 2 MHz, Start-up time: 6 CK + 0 ms' value='2' />
                <option name='Int. RC Osc. 2 MHz, Start-up time: 6 CK + 4 ms' value='18' />
                <option name='Int. RC Osc. 2 MHz, Start-up time: 6 CK + 64 ms' value='34' />
                <option name='Int. RC Osc. 4 MHz, Start-up time: 6 CK + 0 ms' value='3' />
                <option name='Int. RC Osc. 4 MHz, Start-up time: 6 CK + 4 ms' value='19' />
                <option name='Int. RC Osc. 4 MHz, Start-up time: 6 CK + 64 ms' value='35' />
                <option name='Int. RC Osc. 8 MHz, Start-up time: 6 CK + 0 ms' value='4' />
                <option name='Int. RC Osc. 8 MHz, Start-up time: 6 CK + 4 ms' value='20' />
                <option name='Int. RC Osc. 8 MHz, Start-up time: 6 CK + 64 ms' value='36' />
                <option name='Ext. RC Osc.         -  0.9 MHz, Start-up time: 18 CK + 0 ms' value='5' />
                <option name='Ext. RC Osc.         -  0.9 MHz, Start-up time: 18 CK + 4 ms' value='21' />
                <option name='Ext. RC Osc.         -  0.9 MHz, Start-up time: 18 CK + 64 ms' value='37' />
                <option name='Ext. RC Osc.         -  0.9 MHz, Start-up time: 6 CK + 4 ms' value='53' />
                <option name='Ext. RC Osc. 0.9 MHz -  3.0 MHz, Start-up time: 18 CK + 0 ms' value='6' />
                <option name='Ext. RC Osc. 0.9 MHz -  3.0 MHz, Start-up time: 18 CK + 4 ms' value='22' />
                <option name='Ext. RC Osc. 0.9 MHz -  3.0 MHz, Start-up time: 18 CK + 64 ms' value='38' />
                <option name='Ext. RC Osc. 0.9 MHz -  3.0 MHz, Start-up time: 6 CK + 4 ms' value='54' />
                <option name='Ext. RC Osc. 3.0 MHz -  8.0 MHz, Start-up time: 18 CK + 0 ms' value='7' />
                <option name='Ext. RC Osc. 3.0 MHz -  8.0 MHz, Start-up time: 18 CK + 4 ms' value='23' />
                <option name='Ext. RC Osc. 3.0 MHz -  8.0 MHz, Start-up time: 18 CK + 64 ms' value='39' />
                <option name='Ext. RC Osc. 3.0 MHz -  8.0 MHz, Start-up time: 6 CK + 4 ms' value='55' />
                <option name='Ext. RC Osc. 8.0 MHz - 12.0 MHz, Start-up time: 18 CK + 0 ms' value='8' />
                <option name='Ext. RC Osc. 8.0 MHz - 12.0 MHz, Start-up time: 18 CK + 4 ms' value='24' />
                <option name='Ext. RC Osc. 8.0 MHz - 12.0 MHz, Start-up time: 18 CK + 64 ms' value='40' />
                <option name='Ext. RC Osc. 8.0 MHz - 12.0 MHz, Start-up time: 6 CK + 4 ms' value='56' />
                <option name='Ext. Low-Freq. Crystal, Start-up time: 1K CK + 4 ms' value='9' />
                <option name='Ext. Low-Freq. Crystal, Start-up time: 1K CK + 64 ms' value='25' />
                <option name='Ext. Low-Freq. Crystal, Start-up time: 32K CK + 64 ms' value='41' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 258 CK + 4 ms' value='10' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 258 CK + 64 ms' value='26' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 1K CK + 0 ms' value='42' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 1K CK + 4 ms' value='58' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 1K CK + 64 ms' value='11' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 16K CK + 0 ms' value='27' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 16K CK + 4 ms' value='43' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 16K CK + 64 ms' value='59' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 258 CK + 4 ms' value='12' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 258 CK + 64 ms' value='28' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 1K CK + 0 ms' value='44' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 1K CK + 4 ms' value='60' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 1K CK + 64 ms' value='13' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 16K CK + 0 ms' value='29' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 16K CK + 4 ms' value='45' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 16K CK + 64 ms' value='61' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 258 CK + 4 ms' value='14' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 258 CK + 64 ms' value='30' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 1K CK + 0 ms' value='46' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 1K CK + 4 ms' value='62' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 1K CK + 64 ms' value='15' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 16K CK + 0 ms' value='31' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 16K CK + 4 ms' value='47' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 16K CK + 64 ms' value='63' />
            </setting>
            <setting name='BODEN' offset='6' mask='1' bits='1' hint='Brown-out detection enabled' >
                <option name='Enabled' value='0' />
                <option name='Disabled' value='1' />
            </setting>
            <setting name='BODLEVEL' offset='7' mask='1' bits='1' hint='Brown out detector trigger level' >
                <option name='Brown-out detection level at VCC=4.0 V' value='0' />
                <option name='Brown-out detection level at VCC=2.7 V' value='1' />
            </setting>
        </settings>
    </configuration>
    <pins sides='4' smd='1' >
        <pin name='/PEN' />
        <pin name='RXD0/(PDI) PE0' port='4' bit='0' />
        <pin name='(TXD0/PDO) PE1' port='4' bit='1' />
        <pin name='(XCK0/AIN0) PE2' port='4' bit='2' />
        <pin name='(OC3A/AIN1) PE3' port='4' bit='3' />
        <pin name='(OC3B/INT4) PE4' port='4' bit='4' />
        <pin name='(OC3C/INT5) PE5' port='4' bit='5' />
        <pin name='(T3/INT6) PE6' port='4' bit='6' />
        <pin name='ICP3/INT7) PE7' port='4' bit='7' />
        <pin name='(/SS) PB0' port='1' bit='0' />
        <pin name='(SCK) PB1' port='1' bit='1' />
        <pin name='(MOSI) PB2' port='1' bit='2' />
        <pin name='(MISO) PB3' port='1' bit='3' />
        <pin name='(OC0) PB4' port='1' bit='4' />
        <pin name='(OC1A) PB5' port='1' bit='5' />
        <pin name='(OC1B) PB6' port='1' bit='6' />
        <pin name='(OC2/OC1C) PB7' port='1' bit='7' />
        <pin name='TOSC2/PG3' port='6' bit='3' />
        <pin name='TOSC1/PG4' port='6' bit='4' />
        <pin name='/RESET' />
        <pin name='VCC' />
        <pin name='GND' />
        <pin name='XTAL2' />
        <pin name='XTAL1' />
        <pin name='(SCL/INT0) PD0' port='3' bit='0' />
        <pin name='(SDA/INT1) PD1' port='3' bit='1' />
        <pin name='(RXD1/INT2) PD2' port='3' bit='2' />
        <pin name='(TXD1/INT3) PD3' port='3' bit='3' />
        <pin name='(ICP1) PD4' port='3' bit='4' />
        <pin name='(XCK1) PD5' port='3' bit='5' />
        <pin name='(T1) PD6' port='3' bit='6' />
        <pin name='(T2) PD7' port='3' bit='7' />
        <pin name='PG0 (/WR)' port='6' bit='0' />
        <pin name='PG1 (/RD)' port='6' bit='1' />
        <pin name='PC0 (A8)' port='2' bit='0' />
        <pin name='PC1 (A9)' port='2' bit='1' />
        <pin name='PC2 (A10)' port='2' bit='2' />
        <pin name='PC3 (A11)' port='2' bit='3' />
        <pin name='PC4 (A12)' port='2' bit='4' />
        <pin name='PC5 (A13)' port='2' bit='5' />
        <pin name='PC6 (A14)' port='2' bit='6' />
        <pin name='PC7 (A15)' port='2' bit='7' />
        <pin name='PG2 (ALE)' port='6' bit='2' />
        <pin name='PA7 (AD7)' port='0' bit='7' />
        <pin name='PA6 (AD6)' port='0' bit='6' />
        <pin name='PA5 (AD5)' port='0' bit='5' />
        <pin name='PA4 (AD4)' port='0' bit='4' />
        <pin name='PA3 (AD3)' port='0' bit='3' />
        <pin name='PA2 (AD2)' port='0' bit='2' />
        <pin name='PA1 (AD1)' port='0' bit='1' />
        <pin name='PA0 (AD0)' port='0' bit='0' />
        <pin name='VCC' />
        <pin name='GND' />
        <pin name='PF7 (ADC7/TDI)' port='5' bit='7' adc='7' />
        <pin name='PF6 (ADC6/TDO)' port='5' bit='6' adc='6' />
        <pin name='PF5 (ADC5/TMS)' port='5' bit='5' adc='5' />
        <pin name='PF4 (ADC4/TCK)' port='5' bit='4' adc='4' />
        <pin name='PF3 (ADC3)' port='5' bit='3' adc='3' />
        <pin name='PF2 (ADC2)' port='5' bit='2' adc='2' />
        <pin name='PF1 (ADC1)' port='5' bit='1' adc='1' />
        <pin name='PF0 (ADC0)' port='5' bit='0' adc='0' />
        <pin name='AREF' />
        <pin name='GND' />
        <pin name='AVCC' />
    </pins>
    <adc type='3' bits='10' >
        <speed >
            <option name='Fosc / 2' value='1' />
            <option name='Fosc / 4' value='2' />
            <option name='Fosc / 8' value='3' />
            <option name='Fosc / 16' value='4' />
            <option name='Fosc / 32' value='5' />
            <option name='Fosc / 64' value='6' />
            <option name='Fosc / 128' value='7' />
        </speed>
    </adc>
    <eeprom type='1' bytes='4096' />
    <spi >
        <miso port='1' pin='3' />
        <mosi port='1' pin='2' />
        <clk port='1' pin='1' />
        <ss port='1' pin='0' />
    </spi>
    <uart >
        <tx port='4' pin='1' />
        <rx port='4' pin='0' />
    </uart>
    <uart >
        <tx port='3' pin='3' />
        <rx port='3' pin='2' />
    </uart>
    <i2c master='1' >
        <sda port='3' pin='1' />
        <scl port='3' pin='0' />
    </i2c>
    <pwm type='1' >
        <timer >
            <option name='timer0' count='1' />
            <option name='timer1' count='3' />
            <option name='timer2' count='1' />
            <option name='timer3' count='3' />
            <option name='timer4' count='0' />
            <option name='timer5' count='0' />
        </timer>
        <prescaler >
            <option name='1' value='1' />
            <option name='8' value='8' />
            <option name='64' value='64' />
            <option name='256' value='256' />
            <option name='1024' value='1024' />
        </prescaler>
        <out port='1' pin='4' />
        <out port='1' pin='5' />
        <out port='1' pin='6' />
        <out port='1' pin='7' />
        <out port='1' pin='7' />
        <out port='4' pin='3' />
        <out port='4' pin='4' />
        <out port='4' pin='5' />
    </pwm>
    <interrupts >
        <interrupt ident='TMR0' type='timer8' name='Timer 0' handler='#ifndef MX_TIMER0OVF_HANDLER\n#define MX_TIMER0OVF_HANDLER\nISR(TIMER0_OVF_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;TIMER0 OVF&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='TIMSK |= (1 &lt;&lt; TOIE0);\n' disable='TIMSK &amp;= ~(1 &lt;&lt; TOIE0);\n' >
            <timer overflow='256' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='no clock' value='TCCR0 &amp;= 0xf8;\n' />
                    <entry name='1:1' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x01;\n' />
                    <entry name='1:8' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x02;\n' />
                    <entry name='1:64' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x03;\n' />
                    <entry name='1:256' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x04;\n' />
                    <entry name='1:1024' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x05;\n' />
                    <entry name='T0 pin, -ve edge' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x06;\n' />
                    <entry name='T0 pin, +ve edge' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x07;\n' />
                </prescale>
            </options>
        </interrupt>
        <interrupt ident='TMR1' type='timer16' name='Timer 1' handler='#ifndef MX_TIMER1OVF_HANDLER\n#define MX_TIMER1OVF_HANDLER\nISR(TIMER1_OVF_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;TIMER1 OVF&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='TIMSK1 |= (1 &lt;&lt; TOIE1);\n' disable='TIMSK1 &amp;= ~(1 &lt;&lt; TOIE1);\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='no clock' value='TCCR1B &amp;= 0xf8;\n' />
                    <entry name='1:1' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x01;\n' />
                    <entry name='1:8' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x02;\n' />
                    <entry name='1:64' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x03;\n' />
                    <entry name='1:256' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x04;\n' />
                    <entry name='1:1024' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x05;\n' />
                    <entry name='T0 pin, -ve edge' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x06;\n' />
                    <entry name='T0 pin, +ve edge' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x07;\n' />
                </prescale>
            </options>
        </interrupt>
        <interrupt ident='TMR2' type='timer8' name='Timer 2' handler='#ifndef MX_TIMER2OVF_HANDLER\n#define MX_TIMER2OVF_HANDLER\nISR(TIMER2_OVF_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;TIMER2 OVF&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='TIMSK2 |= (1 &lt;&lt; TOIE2);\n' disable='TIMSK2 &amp;= ~(1 &lt;&lt; TOIE2);\n' >
            <timer overflow='256' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='no clock' value='TCCR2B &amp;= 0xf8;\n' />
                    <entry name='1:1' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x01;\n' />
                    <entry name='1:8' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x02;\n' />
                    <entry name='1:64' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x03;\n' />
                    <entry name='1:256' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x04;\n' />
                    <entry name='1:1024' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x05;\n' />
                    <entry name='T0 pin, -ve edge' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x06;\n' />
                    <entry name='T0 pin, +ve edge' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x07;\n' />
                </prescale>
            </options>
        </interrupt>
        <interrupt ident='TMR3' type='timer16' name='Timer 3' handler='#ifndef MX_TIMER3OVF_HANDLER\n#define MX_TIMER3OVF_HANDLER\nISR(TIMER3_OVF_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;TIMER3 OVF&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='TIMSK3 |= (1 &lt;&lt; TOIE3);\n' disable='TIMSK3 &amp;= ~(1 &lt;&lt; TOIE3);\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='no clock' value='TCCR3B &amp;= 0xf8;\n' />
                    <entry name='1:1' value='TCCR3B &amp;= 0xf8;\nTCCR3B |= 0x01;\n' />
                    <entry name='1:8' value='TCCR3B &amp;= 0xf8;\nTCCR3B |= 0x02;\n' />
                    <entry name='1:64' value='TCCR3B &amp;= 0xf8;\nTCCR3B |= 0x03;\n' />
                    <entry name='1:256' value='TCCR3B &amp;= 0xf8;\nTCCR3B |= 0x04;\n' />
                    <entry name='1:1024' value='TCCR3B &amp;= 0xf8;\nTCCR3B |= 0x05;\n' />
                    <entry name='T0 pin, -ve edge' value='TCCR3B &amp;= 0xf8;\nTCCR3B |= 0x06;\n' />
                    <entry name='T0 pin, +ve edge' value='TCCR3B &amp;= 0xf8;\nTCCR3B |= 0x07;\n' />
                </prescale>
            </options>
        </interrupt>
        <interrupt ident='INT0' type='pin' name='INT0 Input' handler='#ifndef MX_INT0_HANDLER\n#define MX_INT0_HANDLER\nISR(INT0_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;INT0 Input&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='EIMSK |= (1 &lt;&lt; INT0);\n' disable='EIMSK &amp;= ~(1 &lt;&lt; INT0);\n' >
            <ioc config='3' >
                <rising port='3' mask='1' />
                <falling port='3' mask='1' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='EICRA |= (1 &lt;&lt; ISC01) | (1 &lt;&lt; ISC00);\n' />
                    <entry name='Falling edge of INT' value='EICRA |= (1 &lt;&lt; ISC01);\nEICRA &amp;= ~(1 &lt;&lt; ISC00);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT1' type='pin' name='INT1 Input' handler='#ifndef MX_INT1_HANDLER\n#define MX_INT1_HANDLER\nISR(INT1_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;INT1 Input&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='EIMSK |= (1 &lt;&lt; INT1);\n' disable='EIMSK &amp;= ~(1 &lt;&lt; INT1);\n' >
            <ioc config='3' >
                <rising port='3' mask='2' />
                <falling port='3' mask='2' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='EICRA |= (1 &lt;&lt; ISC11) | (1 &lt;&lt; ISC10);\n' />
                    <entry name='Falling edge of INT' value='EICRA |= (1 &lt;&lt; ISC11);\nEICRA &amp;= ~(1 &lt;&lt; ISC10);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT2' type='pin' name='INT2 Input' handler='#ifndef MX_INT2_HANDLER\n#define MX_INT2_HANDLER\nISR(INT2_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;INT2 Input&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='EIMSK |= (1 &lt;&lt; INT2);\n' disable='EIMSK &amp;= ~(1 &lt;&lt; INT2);\n' >
            <ioc config='3' >
                <rising port='3' mask='4' />
                <falling port='3' mask='4' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='EICRA |= (1 &lt;&lt; ISC21) | (1 &lt;&lt; ISC20);\n' />
                    <entry name='Falling edge of INT' value='EICRA |= (1 &lt;&lt; ISC21);\nEICRA &amp;= ~(1 &lt;&lt; ISC20);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT3' type='pin' name='INT3 Input' handler='#ifndef MX_INT3_HANDLER\n#define MX_INT3_HANDLER\nISR(INT3_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;INT3 Input&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='EIMSK |= (1 &lt;&lt; INT3);\n' disable='EIMSK &amp;= ~(1 &lt;&lt; INT3);\n' >
            <ioc config='3' >
                <rising port='3' mask='8' />
                <falling port='3' mask='8' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='EICRA |= (1 &lt;&lt; ISC31) | (1 &lt;&lt; ISC30);\n' />
                    <entry name='Falling edge of INT' value='EICRA |= (1 &lt;&lt; ISC31);\nEICRA &amp;= ~(1 &lt;&lt; ISC30);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT4' type='pin' name='INT4 Input' handler='#ifndef MX_INT4_HANDLER\n#define MX_INT4_HANDLER\nISR(INT4_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;INT4 Input&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='EIMSK |= (1 &lt;&lt; INT4);\n' disable='EIMSK &amp;= ~(1 &lt;&lt; INT4);\n' >
            <ioc config='3' >
                <rising port='4' mask='16' />
                <falling port='4' mask='16' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='EICRB |= (1 &lt;&lt; ISC41) | (1 &lt;&lt; ISC40);\n' />
                    <entry name='Falling edge of INT' value='EICRB |= (1 &lt;&lt; ISC41);\nEICRB &amp;= ~(1 &lt;&lt; ISC40);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT5' type='pin' name='INT5 Input' handler='#ifndef MX_INT5_HANDLER\n#define MX_INT5_HANDLER\nISR(INT5_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;INT5 Input&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='EIMSK |= (1 &lt;&lt; INT5);\n' disable='EIMSK &amp;= ~(1 &lt;&lt; INT5);\n' >
            <ioc config='3' >
                <rising port='4' mask='32' />
                <falling port='4' mask='32' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='EICRB |= (1 &lt;&lt; ISC51) | (1 &lt;&lt; ISC50);\n' />
                    <entry name='Falling edge of INT' value='EICRB |= (1 &lt;&lt; ISC51);\nEICRB &amp;= ~(1 &lt;&lt; ISC50);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT6' type='pin' name='INT6 Input' handler='#ifndef MX_INT6_HANDLER\n#define MX_INT6_HANDLER\nISR(INT6_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;INT6 Input&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='EIMSK |= (1 &lt;&lt; INT6);\n' disable='EIMSK &amp;= ~(1 &lt;&lt; INT6);\n' >
            <ioc config='3' >
                <rising port='4' mask='64' />
                <falling port='4' mask='64' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='EICRB |= (1 &lt;&lt; ISC61) | (1 &lt;&lt; ISC60);\n' />
                    <entry name='Falling edge of INT' value='EICRB |= (1 &lt;&lt; ISC61);\nEICRB &amp;= ~(1 &lt;&lt; ISC60);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT7' type='pin' name='INT7 Input' handler='#ifndef MX_INT7_HANDLER\n#define MX_INT7_HANDLER\nISR(INT7_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;INT7 Input&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='EIMSK |= (1 &lt;&lt; INT7);\n' disable='EIMSK &amp;= ~(1 &lt;&lt; INT7);\n' >
            <ioc config='3' >
                <rising port='4' mask='128' />
                <falling port='4' mask='128' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='EICRB |= (1 &lt;&lt; ISC71) | (1 &lt;&lt; ISC70);\n' />
                    <entry name='Falling edge of INT' value='EICRB |= (1 &lt;&lt; ISC71);\nEICRB &amp;= ~(1 &lt;&lt; ISC70);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='RXINT0' type='comms' name='UART0 RX' handler='#ifndef MX_UART0_RX_HANDLER\n#define MX_UART0_RX_HANDLER\nISR(USART0_RX_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;UART0 RX&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='UCSR0B |= (1 &lt;&lt; RXCIE0);\n' disable='UCSR0B &amp;=  ~(1 &lt;&lt; RXCIE0);\n' />
        <interrupt ident='RXINT1' type='comms' name='UART1 RX' handler='#ifndef MX_UART1_RX_HANDLER\n#define MX_UART1_RX_HANDLER\nISR(USART1_RX_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;UART1 RX&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='UCSR1B |= (1 &lt;&lt; RXCIE1);\n' disable='UCSR1B &amp;=  ~(1 &lt;&lt; RXCIE1);\n' />
    </interrupts>
</device>
<inline >
    <main >
        <start code='int main()\n{\n' />
        <end code='\tmainendloop: goto mainendloop;\n}\n\n' />
        <init code='\tMCUCR=0x00;\n\tMCUCSR=0x00;\n\twdt_disable();\n' />
    </main>
    <interrupt >
        <enable code='sei();\n' />
        <start code='' />
        <end code='' />
        <init code='\tEICRA=0x00;\nEICRB=0x00;\n\n' />
    </interrupt>
    <config >
        <start code='#define MX_UART_UCSRC\n\n//Configuration Start\n' />
        <body code='' />
        <end code='//Configuration End\n\n#include &lt;stdlib.h&gt;\n#include &lt;stdio.h&gt;\n#include &lt;math.h&gt;\n#include &lt;avr\io.h&gt;\n#include &lt;avr\interrupt.h&gt;\n#include &lt;avr\eeprom.h&gt;\n#include &lt;avr\wdt.h&gt;\n\n' />
    </config>
</inline>
<test >
    <icd >
        <clock port='1' pin='6' />
        <data port='1' pin='7' />
    </icd>
</test>
</root>
