<root>
<device name='18F4550' product='PIC' family='18F' bits='8' >
    <clock max_speed='48000000' master_divider='4' default='19660800' />
    <memory >
        <flash bytes='32768' />
        <ram bytes='2048' />
    </memory>
    <configuration address='0x300000' mult='1' >
        <format >
            <byte value='0xFF' />
            <byte value='0xFC' />
            <byte value='0xFF' />
            <byte value='0xFE' />
            <byte value='0xFF' />
            <byte value='0xFF' />
            <byte value='0x9B' />
            <byte value='0xFF' />
            <byte value='0xFF' />
            <byte value='0xFF' />
            <byte value='0xFF' />
            <byte value='0xFF' />
            <byte value='0xFF' />
            <byte value='0xFF' />
        </format>
        <setting />
        <settings >
            <setting name='USBPLL' offset='5' mask='1' bits='1' hint='USB Clock Selection' >
                <option name='clk src from 96MHz PLL/2' value='1' />
                <option name='clk src from OSC1/OSC2' value='0' />
            </setting>
            <setting name='CPUDIV' offset='3' mask='3' bits='2' hint='CPU Sys CLK Select' >
                <option name='OSC/4 or PLL/6' value='3' />
                <option name='OSC/3 or PLL/4' value='2' />
                <option name='OSC/2 or PLL/3' value='1' />
                <option name='OSC/1 or PLL/2' value='0' />
            </setting>
            <setting name='PLLDIV' offset='0' mask='7' bits='3' hint='OSC Select' >
                <option name='div by 12 {48MHz input}' value='7' />
                <option name='div by 10 {40MHz input}' value='6' />
                <option name='div by 6 {24MHz input}' value='5' />
                <option name='div by 5 {20MHz input}' value='4' />
                <option name='div by 4 {16MHz input}' value='3' />
                <option name='div by 3 {12MHz input}' value='2' />
                <option name='div by 2 {8MHz input}' value='1' />
                <option name='no divide {4MHz input}' value='0' />
            </setting>
            <setting name='OSC' offset='8' mask='15' bits='4' hint='Oscillator' >
                <option name='HS: HS+PLL, USB-HS' value='14' />
                <option name='HS: USB-HS' value='12' />
                <option name='INTOSC: USB-HS' value='11' />
                <option name='INTOSC: USB-XT' value='10' />
                <option name='INTOSC: INTOSC+CLK0{RA6}, USB-EC' value='9' />
                <option name='INTOSC: INTOSC+RA6, USB-EC' value='8' />
                <option name='EC: EC+PLL, EC+PLL+CLKO{RA6}, USB-EC' value='7' />
                <option name='EC: EC+PLL, EC+PLL+RA6, USB-EC' value='6' />
                <option name='EC: EC+CLKO{RA6}, USB-EC' value='5' />
                <option name='EC: EC+RA6, USB-EC' value='4' />
                <option name='XT: XT+PLL, USB-XT' value='2' />
                <option name='XT: USB-XT' value='0' />
            </setting>
            <setting name='FCMEN' offset='14' mask='1' bits='1' hint='Fail-Safe Clock Monitor Enable' >
                <option name='Disabled' value='0' />
                <option name='Enabled' value='1' />
            </setting>
            <setting name='IESO' offset='15' mask='1' bits='1' hint='Internal External Switch Over Mode' >
                <option name='Disabled' value='0' />
                <option name='Enabled' value='1' />
            </setting>
            <setting name='VREGEN' offset='21' mask='1' bits='1' hint='USB Voltage Regulator' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='PUT' offset='16' mask='1' bits='1' hint='Power Up Timer' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='BODEN' offset='17' mask='3' bits='2' hint='Brown Out Detect' >
                <option name='Enabled in hardware, SBOREN disabled' value='3' />
                <option name='Enabled while active,disabled in SLEEP,SBOREN disabled' value='2' />
                <option name='Controlled with SBOREN bit' value='1' />
                <option name='Disabled in hardware, SBOREN disabled' value='0' />
            </setting>
            <setting name='BODENV' offset='19' mask='3' bits='2' hint='Brown Out Voltage' >
                <option name='2.0V' value='3' />
                <option name='2.7V' value='2' />
                <option name='4.2V' value='1' />
                <option name='4.5V' value='0' />
            </setting>
            <setting name='WDT' offset='24' mask='1' bits='1' hint='Watchdog Timer' >
                <option name='Enabled' value='1' />
                <option name='Disabled-Controlled by SWDTEN bit' value='0' />
            </setting>
            <setting name='WDTPS' offset='25' mask='15' bits='4' hint='Watchdog Postscaler' >
                <option name='1:32768' value='15' />
                <option name='1:16384' value='14' />
                <option name='1:8192' value='13' />
                <option name='1:4096' value='12' />
                <option name='1:2048' value='11' />
                <option name='1:1024' value='10' />
                <option name='1:512' value='9' />
                <option name='1:256' value='8' />
                <option name='1:128' value='7' />
                <option name='1:64' value='6' />
                <option name='1:32' value='5' />
                <option name='1:16' value='4' />
                <option name='1:8' value='3' />
                <option name='1:4' value='2' />
                <option name='1:2' value='1' />
                <option name='1:1' value='0' />
            </setting>
            <setting name='CCP2MUX' offset='40' mask='1' bits='1' hint='CCP2 Mux' >
                <option name='RC1' value='1' />
                <option name='RB3' value='0' />
            </setting>
            <setting name='PBADEN' offset='41' mask='1' bits='1' hint='PortB A/D Enable' >
                <option name='PORTB&lt;4:0&gt; configured as analog inputs on RESET' value='1' />
                <option name='PORTB&lt;4:0&gt; configured as digital I/O on RESET' value='0' />
            </setting>
            <setting name='LPT1OSC' offset='42' mask='1' bits='1' hint='Low Power Timer1 Osc enable' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='MCLRE' offset='47' mask='1' bits='1' hint='Master Clear Enable' >
                <option name='MCLR Enabled,RE3 Disabled' value='1' />
                <option name='MCLR Disabled,RE3 Enabled' value='0' />
            </setting>
            <setting name='STVR' offset='48' mask='1' bits='1' hint='Stack Overflow Reset' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='LVP' offset='50' mask='1' bits='1' hint='Low Voltage Program' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='ENICPORT' offset='53' mask='1' bits='1' hint='Dedicated In-Circuit Port {ICD/ICSP}' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='ENHCPU' offset='54' mask='1' bits='1' hint='Extended CPU Enable' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='BACKBUG' offset='55' mask='1' bits='1' hint='Background Debug' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='CP_0' offset='64' mask='1' bits='1' hint='Code Protect 00800-01FFF' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='CP_1' offset='65' mask='1' bits='1' hint='Code Protect 02000-03FFF' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='CP_2' offset='66' mask='1' bits='1' hint='Code Protect 04000-05FFF' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='CP_3' offset='67' mask='1' bits='1' hint='Code Protect 06000-07FFF' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='CPD' offset='79' mask='1' bits='1' hint='Data EE Read Protect' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='CPB' offset='78' mask='1' bits='1' hint='Code Protect Boot' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WRT_0' offset='80' mask='1' bits='1' hint='Table Write Protect 00800-01FFF' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WRT_1' offset='81' mask='1' bits='1' hint='Table Write Protect 02000-03FFF' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WRT_2' offset='82' mask='1' bits='1' hint='Table Write Protect 04000-05FFF' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WRT_3' offset='83' mask='1' bits='1' hint='Table Write Protect 06000-07FFF' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WRTD' offset='95' mask='1' bits='1' hint='Data EE Write Protect' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WRTB' offset='94' mask='1' bits='1' hint='Table Write Protect Boot' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WRTC' offset='93' mask='1' bits='1' hint='Config. Write Protect' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='EBTR_0' offset='96' mask='1' bits='1' hint='Table Read Protect 00800-01FFF' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='EBTR_1' offset='97' mask='1' bits='1' hint='Table Read Protect 02000-03FFF' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='EBTR_2' offset='98' mask='1' bits='1' hint='Table Read Protect 04000-05FFF' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='EBTR_3' offset='99' mask='1' bits='1' hint='Table Read Protect 06000-07FFF' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='EBTRB' offset='110' mask='1' bits='1' hint='Table Read Protect Boot' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
        </settings>
    </configuration>
    <pins sides='2' smd='0' >
        <pin name='MCLR/VPP/RE3' port='4' bit='3' />
        <pin name='RA0/AN0' port='0' bit='0' adc='0' />
        <pin name='RA1/AN1' port='0' bit='1' adc='1' />
        <pin name='RA2/AN2/VREF-/CVREF' port='0' bit='2' adc='2' />
        <pin name='RA3/AN3/VREF+' port='0' bit='3' adc='3' />
        <pin name='RA4/T0CKI/C1OUT/RCV' port='0' bit='4' />
        <pin name='RA5/AN4/SS/HLVDIN/C2OUT' port='0' bit='5' adc='4' />
        <pin name='RE0/AN5/CK1SPP' port='4' bit='0' adc='5' />
        <pin name='RE1/AN6/CK2SPP' port='4' bit='1' adc='6' />
        <pin name='RE2/AN7/OESPP' port='4' bit='2' adc='7' />
        <pin name='VDD' />
        <pin name='VSS' />
        <pin name='OSC1/CLKI' />
        <pin name='OSC2/CLKO/RA6' port='0' bit='6' />
        <pin name='RC0/T1OSO/T13CKI' port='2' bit='0' />
        <pin name='RC1/T1OSI/CCP2/UOE' port='2' bit='1' />
        <pin name='RC2/CCP1/P1A' port='2' bit='2' />
        <pin name='VUSB' />
        <pin name='RD0/SPP0' port='3' bit='0' />
        <pin name='RD1/SPP1' port='3' bit='1' />
        <pin name='RD2/SPP2' port='3' bit='2' />
        <pin name='RD3/SPP3' port='3' bit='3' />
        <pin name='RC4/D-/VM' port='2' bit='4' />
        <pin name='RC5/D+/VP' port='2' bit='5' />
        <pin name='RC6/TX/CK' port='2' bit='6' />
        <pin name='RC7/RX/DT/SDO' port='2' bit='7' />
        <pin name='RD4/SPP4' port='3' bit='4' />
        <pin name='RD5/SPP5/P1B' port='3' bit='5' />
        <pin name='RD6/SPP6/P1C' port='3' bit='6' />
        <pin name='RD7/SPP7/P1D' port='3' bit='7' />
        <pin name='VSS' />
        <pin name='VDD' />
        <pin name='RB0/AN12/INT0/FLT0/SDI/SDA' port='1' bit='0' adc='12' />
        <pin name='RB1/AN10/INT1/SCK/SCL' port='1' bit='1' adc='10' />
        <pin name='RB2/AN8/INT2/VMO' port='1' bit='2' adc='8' />
        <pin name='RB3/AN9/CCP2/VPO' port='1' bit='3' adc='9' />
        <pin name='RB4/AN11/KBI0/CSSPP' port='1' bit='4' adc='11' />
        <pin name='RB5/KBI1/PGM' port='1' bit='5' />
        <pin name='RB6/KBI2/PGC' port='1' bit='6' />
        <pin name='RB7/KBI3/PGD' port='1' bit='7' />
    </pins>
    <adc type='13' bits='10' >
        <speed >
            <option name='Fosc / 2' value='0' />
            <option name='Fosc / 8' value='1' />
            <option name='Fosc / 32' value='2' />
            <option name='FRC' value='3' />
            <option name='Fosc / 4' value='4' />
            <option name='Fosc / 16' value='5' />
            <option name='Fosc / 64' value='6' />
        </speed>
    </adc>
    <eeprom type='3' bytes='256' />
    <spi >
        <miso port='1' pin='0' />
        <mosi port='2' pin='7' />
        <clk port='1' pin='1' />
        <ss port='0' pin='5' />
    </spi>
    <uart >
        <tx port='2' pin='6' />
        <rx port='2' pin='7' />
    </uart>
    <i2c master='1' >
        <sda port='1' pin='0' />
        <scl port='1' pin='1' />
    </i2c>
    <pwm >
        <prescaler >
            <option name='1' value='1' />
            <option name='4' value='4' />
            <option name='16' value='16' />
        </prescaler>
        <out port='2' pin='2' />
        <out port='2' pin='1' aport='1' apin='3' />
    </pwm>
    <usb type='1' />
    <interrupts >
        <interrupt ident='TMR0' regl='tmr0' regh='' type='timer8' name='Timer 0' handler='#ifndef MX_INTHANDLER_intcon_TMR0IF\n#define MX_INTHANDLER_intcon_TMR0IF\nif (ts_bit(intcon, TMR0IF) &amp;&amp; ts_bit(intcon, TMR0IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\t\n\tFCM_%n();\n\tcr_bit(intcon, TMR0IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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='st_bit(intcon, TMR0IE);\n' disable='cr_bit(intcon, TMR0IE);\n' >
            <timer overflow='256' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Transition on T0CKI pin' clkdiv='0' value='st_bit(t0con, T0CS);\n' />
                    <entry name='Internal clock (CLKO)' clkdiv='4' value='cr_bit(t0con, T0CS);\n' />
                </option>
                <option name='Source Edge Select' >
                    <entry name='high-to-low transition on TMR0 Clock' value='st_bit(t0con, T0SE);\n' />
                    <entry name='low-to-high transition on TMR0 Clock' value='cr_bit(t0con, T0SE);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='t0con = (t0con &amp; 0xF0) | 0x08;\n' />
                    <entry name='1:2' value='t0con = (t0con &amp; 0xF0) | 0x00;\n' />
                    <entry name='1:4' value='t0con = (t0con &amp; 0xF0) | 0x01;\n' />
                    <entry name='1:8' value='t0con = (t0con &amp; 0xF0) | 0x02;\n' />
                    <entry name='1:16' value='t0con = (t0con &amp; 0xF0) | 0x03;\n' />
                    <entry name='1:32' value='t0con = (t0con &amp; 0xF0) | 0x04;\n' />
                    <entry name='1:64' value='t0con = (t0con &amp; 0xF0) | 0x05;\n' />
                    <entry name='1:128' value='t0con = (t0con &amp; 0xF0) | 0x06;\n' />
                    <entry name='1:256' value='t0con = (t0con &amp; 0xF0) | 0x07;\n' />
                </prescale>
            </options>
        </interrupt>
        <interrupt ident='INT0' type='pin' name='INT0 Pin' handler='#ifndef MX_INTHANDLER_intcon_INT0IF\n#define MX_INTHANDLER_intcon_INT0IF\nif (ts_bit(intcon, INT0IF) &amp;&amp; ts_bit(intcon, INT0IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(intcon, INT0IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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='st_bit(intcon, INT0IE);\n' disable='cr_bit(intcon, INT0IE);\n' >
            <ioc config='3' >
                <rising port='1' mask='1' />
                <falling port='1' mask='1' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='st_bit(intcon2, INTEDG0);\n' />
                    <entry name='Falling edge of INT' value='cr_bit(intcon2, INTEDG0);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='IOC0' type='multipin' name='IOC PORTB' handler='#ifndef MX_INTHANDLER_intcon_RBIF\n#define MX_INTHANDLER_intcon_RBIF\nchar mxtmp;\nif (ts_bit(intcon, RBIF) &amp;&amp; ts_bit(intcon, RBIE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tmxtmp=portb;\n\tcr_bit(intcon, RBIF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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='st_bit(intcon, RBIE);\n' disable='cr_bit(intcon, RBIE);\n' >
            <ioc config='4' >
                <rising port='1' mask='0xF0' />
                <falling port='1' mask='0xF0' />
            </ioc>
            <options >
                <option name='Interrupt Pins' >
                    <entry name='RB4 - RB7' value='' />
                </option>
            </options>
        </interrupt>
        <interrupt ident='TMR1' regl='tmr1l' regh='tmr1h' type='timer16' name='Timer 1' handler='#ifndef MX_INTHANDLER_pir1_TMR1IF\n#define MX_INTHANDLER_pir1_TMR1IF\nif (ts_bit(pir1, TMR1IF) &amp;&amp; ts_bit(pie1, TMR1IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(pir1, TMR1IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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='st_bit(intcon, PEIE);\nst_bit(pie1, TMR1IE);\n' disable='cr_bit(pie1, TMR1IE);\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Transition on T1CKI pin' clkdiv='0' value='cr_bit(t1con, T1OSCEN);\nst_bit(t1con, TMR1ON);\nst_bit(t1con, TMR1CS);\n' />
                    <entry name='Internal clock (Fosc/4)' clkdiv='4' value='cr_bit(t1con, T1OSCEN);\nst_bit(t1con, TMR1ON);\ncr_bit(t1con, TMR1CS);\n' />
                    <entry name='32.768KHz XTAL T1CKI/T1CKO' clkdiv='0' value='st_bit(t1con, T1OSCEN);\nst_bit(t1con, TMR1ON);\nst_bit(t1con, TMR1CS);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='t1con = t1con &amp; 0xCF;\n' />
                    <entry name='1:2' value='t1con = (t1con &amp; 0xCF) | 0x10;\n' />
                    <entry name='1:4' value='t1con = (t1con &amp; 0xCF) | 0x20;\n' />
                    <entry name='1:8' value='t1con = (t1con &amp; 0xCF) | 0x30;\n' />
                </prescale>
            </options>
        </interrupt>
        <interrupt ident='INT1' type='pin' name='INT1 Pin' handler='#ifndef MX_INTHANDLER_intcon3_INT1IF\n#define MX_INTHANDLER_intcon3_INT1IF\nif (ts_bit(intcon3, INT1IF) &amp;&amp; ts_bit(intcon3, INT1IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(intcon3, INT1IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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='st_bit(intcon3, INT1IE);\n' disable='cr_bit(intcon3, INT1IE);\n' >
            <ioc config='3' >
                <rising port='1' mask='2' />
                <falling port='1' mask='2' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='st_bit(intcon2, INTEDG1);\n' />
                    <entry name='Falling edge of INT' value='cr_bit(intcon2, INTEDG1);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT2' type='pin' name='INT2 Pin' handler='#ifndef MX_INTHANDLER_intcon3_INT2IF\n#define MX_INTHANDLER_intcon3_INT2IF\nif (ts_bit(intcon3, INT2IF) &amp;&amp; ts_bit(intcon3, INT2IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(intcon3, INT2IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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='st_bit(intcon3, INT2IE);\n' disable='cr_bit(intcon3, INT2IE);\n' >
            <ioc config='3' >
                <rising port='1' mask='4' />
                <falling port='1' mask='4' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='st_bit(intcon2, INTEDG2);\n' />
                    <entry name='Falling edge of INT' value='cr_bit(intcon2, INTEDG2);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='USBINT0' type='comms' name='USB INT' handler='#ifndef MX_INTHANDLER_pir2_USBIF\n#define MX_INTHANDLER_pir2_USBIF\nif (ts_bit(pir2, USBIF) &amp;&amp; ts_bit(pie2, USBIE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(pir2, USBIF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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='st_bit(intcon, PEIE);\nst_bit(pie2, USBIE);\n' disable='cr_bit(pie2, USBIE);\n' />
        <interrupt ident='RXINT0' type='comms' name='UART RXINT0' handler='#ifndef MX_INTHANDLER_pir1_RCIF\n#define MX_INTHANDLER_pir1_RCIF\nif (ts_bit(pir1, RCIF) &amp;&amp; ts_bit(pie1, RCIE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(pir1, RCIF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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' enable='st_bit(intcon, PEIE);\nst_bit(pie1, RCIE);\n' disable='cr_bit(pie1, RCIE);\n' />
        <interrupt ident='TMR2' regl='tmr2' regh='' type='timer8' name='Timer 2' handler='#ifndef MX_INTHANDLER_pir1_TMR2IF\n#define MX_INTHANDLER_pir1_TMR2IF\nif (ts_bit(pir1, TMR2IF) &amp;&amp; ts_bit(pie1, TMR2IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(pir1, TMR2IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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' enable='st_bit(intcon, PEIE);\nst_bit(pie1, TMR2IE);\n' disable='cr_bit(pie1, TMR2IE);\n' >
            <timer overflow='256' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='cr_bit(t2con, T2CKPS0);\ncr_bit(t2con, T2CKPS1);\nst_bit(t2con, TMR2ON);\n' />
                    <entry name='1:4' value='st_bit(t2con, T2CKPS0);\ncr_bit(t2con, T2CKPS1);\nst_bit(t2con, TMR2ON);\n' />
                    <entry name='1:16' value='cr_bit(t2con, T2CKPS0);\nst_bit(t2con, T2CKPS1);\nst_bit(t2con, TMR2ON);\n' />
                </prescale>
                <postscale name='Postscaler Rate' >
                    <entry name='1:1' value='t2con = t2con &amp; 0x07;\n' />
                    <entry name='1:2' value='t2con = (t2con &amp; 0x07) | 0x08;\n' />
                    <entry name='1:3' value='t2con = (t2con &amp; 0x07) | 0x10;\n' />
                    <entry name='1:4' value='t2con = (t2con &amp; 0x07) | 0x18;\n' />
                    <entry name='1:5' value='t2con = (t2con &amp; 0x07) | 0x20;\n' />
                    <entry name='1:6' value='t2con = (t2con &amp; 0x07) | 0x28;\n' />
                    <entry name='1:7' value='t2con = (t2con &amp; 0x07) | 0x30;\n' />
                    <entry name='1:8' value='t2con = (t2con &amp; 0x07) | 0x38;\n' />
                    <entry name='1:9' value='t2con = (t2con &amp; 0x07) | 0x40;\n' />
                    <entry name='1:10' value='t2con = (t2con &amp; 0x07) | 0x48;\n' />
                    <entry name='1:11' value='t2con = (t2con &amp; 0x07) | 0x50;\n' />
                    <entry name='1:12' value='t2con = (t2con &amp; 0x07) | 0x58;\n' />
                    <entry name='1:13' value='t2con = (t2con &amp; 0x07) | 0x60;\n' />
                    <entry name='1:14' value='t2con = (t2con &amp; 0x07) | 0x68;\n' />
                    <entry name='1:15' value='t2con = (t2con &amp; 0x07) | 0x70;\n' />
                    <entry name='1:16' value='t2con = (t2con &amp; 0x07) | 0x78;\n' />
                </postscale>
                <rollover name='Rollover Value' >
                    <entry name='256' min='1' max='256' value='pr2=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='TMR3' regl='tmr3l' regh='tmr3h' type='timer16' name='Timer 3' handler='#ifndef MX_INTHANDLER_pir2_TMR3IF\n#define MX_INTHANDLER_pir2_TMR3IF\nif (ts_bit(pir2, TMR3IF) &amp;&amp; ts_bit(pie2, TMR3IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(pir2, TMR3IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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='st_bit(intcon, PEIE);\nst_bit(pie2, TMR3IE);\n' disable='cr_bit(pie2, TMR3IE);\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Transition on T3CKI pin' clkdiv='0' value='st_bit(t3con, TMR3ON);\nst_bit(t3con, TMR3CS);\n' />
                    <entry name='Internal clock (Fosc/4)' clkdiv='4' value='st_bit(t3con, TMR3ON);\ncr_bit(t3con, TMR3CS);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='t3con = t3con &amp; 0xCF;\n' />
                    <entry name='1:2' value='t3con = (t3con &amp; 0xCF) | 0x10;\n' />
                    <entry name='1:4' value='t3con = (t3con &amp; 0xCF) | 0x20;\n' />
                    <entry name='1:8' value='t3con = (t3con &amp; 0xCF) | 0x30;\n' />
                </prescale>
            </options>
        </interrupt>
    </interrupts>
</device>
<inline >
    <main >
        <start code='void main()\n{\n' />
        <end code='\tmainendloop: goto mainendloop;\n}\n\n' />
        <init code='adcon0=0x3D;\nadcon1 = 0x0F;\nucfg = 0x08;\ncr_bit(pie2, USBIE);\n' />
    </main>
    <interrupt >
        <enable code='st_bit(intcon, GIE);\n' />
        <start code='void MX_INTERRUPT_MACRO(void)\n{\n' />
        <end code='}\n\n' />
        <init code='\n\n' />
    </interrupt>
    <config >
        <body code='#ifdef _BOOSTC\n#pragma DATA $(address), 0x$(value:x)\n#endif\n#ifdef HI_TECH_C\n__CONFIG(0x$(value:x));\n#endif\n' />
    </config>
</inline>
<test >
    <icd >
        <clock port='1' pin='6' />
        <data port='1' pin='7' />
    </icd>
</test>
</root>
