<root>

  <build>
    <compiler exe="$(appdir)compilers\avr\batchfiles\avra.bat" params="$(chip:l) &quot;$(outdir)$(target).elf&quot; &quot;$(outdir)$(target).c&quot; &quot;$(outdir)$(target).lst&quot;" />		
    <linker exe="$(appdir)compilers\avr\batchfiles\avrb.bat" params="&quot;$(outdir)$(target).elf&quot; &quot;$(outdir)$(target).hex&quot; &quot;$(outdir)$(target).cof&quot;" />
    <programmer exe="$(appdir)compilers\avr\batchfiles\avrc_usbtiny.bat" params="AVRDUDE $(chipalt) attiny85 &quot;$(outdir)$(target).hex&quot; &quot;$(target).hex&quot; 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)" />
  </build>

<device file='Arduino Trinket' name='ATTINY85' namealt='t85' product='AVR' family='ATTINY' bits='8' >

    <clock max_speed="20000000"
           master_divider="1"
           fixed="8000000" />

    <memory >
        <flash bytes='8192' />
        <ram bytes='512' />
    </memory>
    <configuration address='0x0000' mult='1' >
        <format><byte value='0xFF' /></format>
        <settings >
            <setting name='SUT_CKSEL' offset='0' mask='63' bits='6' hint='Select Clock source' >
                <option name='Ext. Clock, Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms' value='0' />
                <option name='Ext. Clock, Start-up time PWRDWN/RESET: 6 CK/14 CK + 4.1 ms' value='16' />
                <option name='Ext. Clock, Start-up time PWRDWN/RESET: 6 CK/14 CK + 65 ms' value='32' />
                <option name='PLL Clock, Start-up time PWRDWN/RESET: 1K CK/14 CK + 4 ms' value='1' />
                <option name='PLL Clock, Start-up time PWRDWN/RESET: 16K CK/14 CK + 4 ms' value='17' />
                <option name='PLL Clock, Start-up time PWRDWN/RESET: 1K CK/14 CK + 64 ms' value='33' />
                <option name='PLL Clock, Start-up time PWRDWN/RESET: 16K CK/14 CK + 64 ms' value='49' />
                <option name='Int. RC Osc. 8 MHz, Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms' value='2' />
                <option name='Int. RC Osc. 8 MHz, Start-up time PWRDWN/RESET: 6 CK/14 CK + 4 ms' value='18' />
                <option name='Int. RC Osc. 8 MHz, Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms' value='34' />
                <option name='ATTINY15 Comp: Int. RC Osc. 6.4 MHz, Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms' value='3' />
                <option name='ATTINY15 Comp: Int. RC Osc. 6.4 MHz, Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms' value='19' />
                <option name='ATTINY15 Comp: Int. RC Osc. 6.4 MHz, Start-up time PWRDWN/RESET: 6 CK/14 CK + 4 ms' value='35' />
                <option name='ATTINY15 Comp: Int. RC Osc. 6.4 MHz, Start-up time PWRDWN/RESET: 1 CK/14 CK + 0 ms' value='51' />
                <option name='WD. Osc. 128 kHz, Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms' value='4' />
                <option name='WD. Osc. 128 kHz, Start-up time PWRDWN/RESET: 6 CK/14 CK + 4 ms' value='20' />
                <option name='WD. Osc. 128 kHz, Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms' value='36' />
                <option name='Ext. Low-Freq. Crystal, Start-up time PWRDWN/RESET: 1K CK/14 CK + 0 ms' value='6' />
                <option name='Ext. Low-Freq. Crystal, Start-up time PWRDWN/RESET: 1K CK/14 CK + 4 ms' value='22' />
                <option name='Ext. Low-Freq. Crystal, Start-up time PWRDWN/RESET: 32K CK/14 CK + 64 ms' value='38' />
                <option name='Ext. Crystal Osc. 0.4-0.9 MHz, Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms' value='8' />
                <option name='Ext. Crystal Osc. 0.4-0.9 MHz, Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms' value='24' />
                <option name='Ext. Crystal Osc. 0.4-0.9 MHz, Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms' value='40' />
                <option name='Ext. Crystal Osc. 0.4-0.9 MHz, Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms' value='56' />
                <option name='Ext. Crystal Osc. 0.4-0.9 MHz, Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms' value='9' />
                <option name='Ext. Crystal Osc. 0.4-0.9 MHz, Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms' value='25' />
                <option name='Ext. Crystal Osc. 0.4-0.9 MHz, Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms' value='41' />
                <option name='Ext. Crystal Osc. 0.4-0.9 MHz, Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms' value='57' />
                <option name='Ext. Crystal Osc. 0.9-3.0 MHz, Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms' value='10' />
                <option name='Ext. Crystal Osc. 0.9-3.0 MHz, Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms' value='26' />
                <option name='Ext. Crystal Osc. 0.9-3.0 MHz, Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms' value='42' />
                <option name='Ext. Crystal Osc. 0.9-3.0 MHz, Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms' value='58' />
                <option name='Ext. Crystal Osc. 0.9-3.0 MHz, Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms' value='11' />
                <option name='Ext. Crystal Osc. 0.9-3.0 MHz, Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms' value='27' />
                <option name='Ext. Crystal Osc. 0.9-3.0 MHz, Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms' value='43' />
                <option name='Ext. Crystal Osc. 0.9-3.0 MHz, Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms' value='59' />
                <option name='Ext. Crystal Osc. 3.0-8.0 MHz, Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms' value='12' />
                <option name='Ext. Crystal Osc. 3.0-8.0 MHz, Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms' value='28' />
                <option name='Ext. Crystal Osc. 3.0-8.0 MHz, Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms' value='44' />
                <option name='Ext. Crystal Osc. 3.0-8.0 MHz, Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms' value='60' />
                <option name='Ext. Crystal Osc. 3.0-8.0 MHz, Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms' value='13' />
                <option name='Ext. Crystal Osc. 3.0-8.0 MHz, Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms' value='29' />
                <option name='Ext. Crystal Osc. 3.0-8.0 MHz, Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms' value='45' />
                <option name='Ext. Crystal Osc. 3.0-8.0 MHz, Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms' value='61' />
                <option name='Ext. Crystal Osc. 8.0-    MHz, Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms' value='14' />
                <option name='Ext. Crystal Osc. 8.0-    MHz, Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms' value='30' />
                <option name='Ext. Crystal Osc. 8.0-    MHz, Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms' value='46' />
                <option name='Ext. Crystal Osc. 8.0-    MHz, Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms' value='62' />
                <option name='Ext. Crystal Osc. 8.0-    MHz, Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms' value='15' />
                <option name='Ext. Crystal Osc. 8.0-    MHz, Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms' value='31' />
                <option name='Ext. Crystal Osc. 8.0-    MHz, Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms' value='47' />
                <option name='Ext. Crystal Osc. 8.0-    MHz, Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms' value='63' />
            </setting>
            <setting name='CKOUT' offset='6' mask='1' bits='1' hint='Clock output on PORTB4' >
                <option name='Enabled' value='0' />
                <option name='Disabled' value='1' />
            </setting>
            <setting name='CKDIV8' offset='7' mask='1' bits='1' hint='Divide clock by 8 internally' >
                <option name='Enabled' value='0' />
                <option name='Disabled' value='1' />
            </setting>
        </settings>
    </configuration>
    <pins sides='2' smd='0' >
        <pin name='(PCINT5/RESET/ADC0) PB5' port='1' bit='5' />
        <pin name='(PCINT3/XTAL1/CLKI/NOC1B/ADC3) PB3' port='1' bit='3' adc='3' />
        <pin name='(PCINT4/XTAL2/CLKO/OC1B/ADC2) PB4' port='1' bit='4' adc='2' />
        <pin name='GND' />
        <pin name='PB0 (MOSI/DI/SDA/AIN0/OC0A/NOC1A/AREF/PCINT0)' port='1' bit='0' adc='0' />
        <pin name='PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1)' port='1' bit='1' />
        <pin name='PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2)' port='1' bit='2' adc='1' />
        <pin name='VCC' />
    </pins>
    <adc type='5' 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='512' />
    <spi >
        <miso port='1' pin='1' />
        <mosi port='1' pin='0' />
        <clk port='1' pin='2' />
        <ss port='1' pin='5' />
    </spi>
    <i2c master='1' >
        <sda port='1' pin='0' />
        <scl port='1' pin='2' />
    </i2c>
    <pwm type='2' >
        <timer >
            <option name='timer0' count='2' />
            <option name='timer1' count='2' />
            <option name='timer2' count='0' />
            <option name='timer3' count='0' />
            <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='0' />
        <out port='1' pin='1' />
        <out port='1' pin='1' />
        <out port='1' pin='4' />
    </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='TCCR0B &amp;= 0xf8;\n' />
                    <entry name='1:1' value='TCCR0B &amp;= 0xf8;\nTCCR0B |= 0x01;\n' />
                    <entry name='1:8' value='TCCR0B &amp;= 0xf8;\nTCCR0B |= 0x02;\n' />
                    <entry name='1:64' value='TCCR0B &amp;= 0xf8;\nTCCR0B |= 0x03;\n' />
                    <entry name='1:256' value='TCCR0B &amp;= 0xf8;\nTCCR0B |= 0x04;\n' />
                    <entry name='1:1024' value='TCCR0B &amp;= 0xf8;\nTCCR0B |= 0x05;\n' />
                    <entry name='T0 pin, -ve edge' value='TCCR0B &amp;= 0xf8;\nTCCR0B |= 0x06;\n' />
                    <entry name='T0 pin, +ve edge' value='TCCR0B &amp;= 0xf8;\nTCCR0B |= 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='IOCB0' type='multipin' name='IOC PORT B' handler='#ifndef MX_PCINT0_HANDLER\n#define MX_PCINT0_HANDLER\nISR(PCINT0_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;PORTB Change&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='PCMSK = %pB*v;\nGIMSK |= (1 &lt;&lt; PCIE);\n' disable='GIMSK &amp;= ~(1 &lt;&lt; PCIE);\n' >
            <ioc config='0x0C' >
                <rising port='1' mask='0xFF' />
                <falling port='1' mask='0xFF' />
            </ioc>
        </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='GIMSK |= (1 &lt;&lt; INT0);\n' disable='GIMSK &amp;= ~(1 &lt;&lt; INT0);\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='MCUCR |= (1 &lt;&lt; ISC01) | (1 &lt;&lt; ISC00);\n' />
                    <entry name='Falling edge of INT' value='MCUCR |= (1 &lt;&lt; ISC01);\nMCUCR &amp;= ~(1 &lt;&lt; ISC00);\n' />
                </edge>
            </options>
        </interrupt>
    </interrupts>
</device>
<inline >
    <defines code="#define MX_USI\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" />
    <directives code="" />
    <main >
        <start code='int main()\n{\n' />
        <end code='\tmainendloop: goto mainendloop;\n}\n\n' />
        <init code='\tMCUSR=0x00;\n\twdt_disable();\n' />
    </main>
    <interrupt >
        <enable code='sei();\n' />
        <start code='' />
        <end code='' />
        <init code='\t' />
    </interrupt>
    <config >
        <start code='//Configuration Start\n' />
        <body code='' />
        <end code='//Configuration End\n\n' />
    </config>
</inline>
<test >
    <icd >
        <clock port='1' pin='6' />
        <data port='1' pin='7' />
    </icd>
</test>
</root>
