[Device] Pins=44 Ports=5 ADCPins=13 ADCBits=12 MaxClock=48000000 PrescalerBits=3 ClockDivider=4 TimerOverflow=256 ConfigAddress=0x300000 ConfigCount=8 PortBits=8 PWMCount=10 UARTCount=2 SPICount=2 I2CCount=2 CANCount=0 ComparatorCount=3 TimerCount8=4 TimerCount16=4 EepromSize=0 HasAltPWM=0 FlowcodeProduct=PIC DefaultPackageType=1 FlashSize=131072 RamSize=3892 [ICD] ClockPort=1 ClockPin=6 DataPort=1 DataPin=7 [Pins] Pin1 = "RC7/RX1/DT1/SDO" Pin2 = "RD4" Pin3 = "RD5" Pin4 = "RD6" Pin5 = "RD7" Pin6 = "VSS" Pin7 = "AVDD" Pin8 = "VDD" Pin9 = "RB0/AN12/INT0" Pin10 = "RB1/AN10" Pin11 = "RB2/AN8" Pin12 = "RB3/AN9" Pin13 = "NC" Pin14 = "RB4" Pin15 = "RB5" Pin16 = "RB6/PGC" Pin17 = "RB7/PGD" Pin18 = "MCLR" Pin19 = "RA0/AN0" Pin20 = "RA1/AN1" Pin21 = "RA2/AN2/VREF-" Pin22 = "RA3/AN3/VREF+" Pin23 = "VDDCORE/VCAP" Pin24 = "RA5/AN4" Pin25 = "RE0/AN5" Pin26 = "RE1/AN6" Pin27 = "RE2/AN7" Pin28 = "VDD" Pin29 = "VSS" Pin30 = "OSC1/CLKI/RA7" Pin31 = "OSC2/CLKO/RA6" Pin32 = "RC0/T1OSO/T1CKI" Pin33 = "NC" Pin34 = "NC" Pin35 = "RC1/T1OSI" Pin36 = "RC2/AN11" Pin37 = "VUSB" Pin38 = "RD0/SCL2" Pin39 = "RD1/SDA2" Pin40 = "RD2" Pin41 = "RD3" Pin42 = "RC4/D-" Pin43 = "RC5/D+" Pin44 = "RC6/TX1/CK1" [Ports] PortPin1=0x0207 PortPin2=0x0304 PortPin3=0x0305 PortPin4=0x0306 PortPin5=0x0307 PortPin8=0x0100 PortPin9=0x0101 PortPin10=0x0102 PortPin11=0x0103 PortPin14=0x0104 PortPin15=0x0105 PortPin16=0x0106 PortPin17=0x0107 PortPin19=0x0000 PortPin20=0x0001 PortPin21=0x0002 PortPin22=0x0003 PortPin24=0x0005 PortPin25=0x0400 PortPin26=0x0401 PortPin27=0x0402 PortPin30=0x0007 PortPin31=0x0006 PortPin32=0x0200 PortPin35=0x0201 PortPin36=0x0202 PortPin37=0x0203 PortPin38=0x0300 PortPin39=0x0301 PortPin40=0x0302 PortPin41=0x0303 PortPin42=0x0204 PortPin43=0x0205 PortPin44=0x0206 [PortMasks] PortMask0=0xEF PortMask1=0xFF PortMask2=0xFF PortMask3=0xFF PortMask4=0x07 [ADCPins] ADC0=19 ADC1=20 ADC2=21 ADC3=22 ADC4=24 ADC5=25 ADC6=26 ADC7=27 ADC8=10 ADC9=11 ADC10=9 ADC11=36 ADC12=8 [ADC_ConvSpeed] Count=7 Opt1=Fosc / 2 Opt1_Val=0 Opt2=Fosc / 8 Opt2_Val=1 Opt3=Fosc / 32 Opt3_Val=2 Opt4=FRC Opt4_Val=3 Opt5=Fosc / 4 Opt5_Val=4 Opt6=Fosc / 16 Opt6_Val=5 Opt7=Fosc / 64 Opt7_Val=6 [Code] ;Substitute macros ;%c Clock Speed ;%o Operand ;%s Prescaler ;%p PortID ;%m MaskBits ;%i Inverse Mask ;%a ADC channel ;%a Config Address ;%v Config Value ;%r Interrupt Flag Register ;%b Interrupt Flag Bit ;%n Interrupt Macro Name Directives="#define MX_CLK_SPEED %c\n#ifdef _BOOSTC\n#include \n#endif\n#ifdef HI_TECH_C\n#include \n#endif\n" MainStart="void main()\n{\n" MainEnd="\tmainendloop: goto mainendloop;\n}\n\n" IntStart="void MX_INTERRUPT_MACRO(void)\n{\n" IntEnd="}\n\n" Initialise="ancon0 = 0xFF;\nancon1 = 0x1F;\n" IntInit="\n\n" InputCmdFull="tris%p = tris%p | %m;\n%o = port%p;\n" InputCmdOneBit="tris%p = tris%p | %m;\n%o = ((port%p & %m) == %m);\n" InputCmdMask="tris%p = tris%p | %m;\n%o = port%p & %m;\n" OutputCmdFull="tris%p = 0x00;\nport%p = %o;\n" OutputCmdOneBit="tris%p = tris%p & %i;\nif (%o)\n\tport%p = (port%p & %i) | %m;\nelse\n\tport%p = port%p & %i;\n" OutputCmdMask="tris%p = tris%p & %i;\nport%p = (port%p & %i) | (%o & %m);\n" DelayCmdS="delay_s(%o);\n" DelayCmdMs="delay_ms(%o);\n" DelayCmdUs="delay_us(%o);\n" WdtDelayCmdS="Wdt_Delay_S(%o);\n" WdtDelayCmdMs="Wdt_Delay_Ms(%o);\n" InitialPortLetter="a" ConfigData="#ifdef _BOOSTC\n#pragma DATA %a, %v\n#endif\n#ifdef _HI_TECH_C\n%C__CONFIG(%A, %V);\n#endif\n" IntHandler="#ifndef MX_INTHANDLER_%r_%b\n#define MX_INTHANDLER_%r_%b\nif (%r & (1 << %b))\n{\n\tFCM_%n();\n\tclear_bit(%r, %b);\n}\n\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" [Defines] Define1=#define P18F47J53 Define2=#define FC_CAL_PIC Define3=#define MX_ADC Define4=#define MX_ADC_TYPE_21 Define5=#define MX_ADC_BITS_12 Define6=#define MX_SPI_1 Define7=#define MX_SPI_1_MISO_PORT portc Define8=#define MX_SPI_1_MISO_TRIS trisc Define9=#define MX_SPI_1_MISO_PIN 4 Define10=#define MX_SPI_1_MOSI_PORT portc Define11=#define MX_SPI_1_MOSI_TRIS trisc Define12=#define MX_SPI_1_MOSI_PIN 5 Define13=#define MX_SPI_1_CLK_PORT portc Define14=#define MX_SPI_1_CLK_TRIS trisc Define15=#define MX_SPI_1_CLK_PIN 3 Define16=#define MX_SPI_1_SS_PORT porta Define17=#define MX_SPI_1_SS_TRIS trisa Define18=#define MX_SPI_1_SS_PIN 5 Define19=#define MX_SPI_2 Define20=#define MX_SPI_2_REMAPPABLE Define21=#define MX_SPI_2_MISO_PORT portb Define22=#define MX_SPI_2_MISO_TRIS trisb Define23=#define MX_SPI_2_MISO_PIN 0 Define24=#define MX_SPI_2_MOSI_PORT portb Define25=#define MX_SPI_2_MOSI_TRIS trisb Define26=#define MX_SPI_2_MOSI_PIN 1 Define27=#define MX_SPI_2_CLK_PORT portb Define28=#define MX_SPI_2_CLK_TRIS trisb Define29=#define MX_SPI_2_CLK_PIN 2 Define30=#define MX_SPI_2_SS_PORT portb Define31=#define MX_SPI_2_SS_TRIS trisb Define32=#define MX_SPI_2_SS_PIN 3 Define33=#define MX_UART_1 Define34=#define MX_UART_1_TX_PORT portc Define35=#define MX_UART_1_TX_TRIS trisc Define36=#define MX_UART_1_TX_PIN 6 Define37=#define MX_UART_1_RX_PORT portc Define38=#define MX_UART_1_RX_TRIS trisc Define39=#define MX_UART_1_RX_PIN 7 Define40=#define MX_UART_2 Define41=#define MX_UART_2_REMAPPABLE Define42=#define MX_UART_2_TX_PORT portb Define43=#define MX_UART_2_TX_TRIS trisb Define44=#define MX_UART_2_TX_PIN 6 Define45=#define MX_UART_2_RX_PORT portb Define46=#define MX_UART_2_RX_TRIS trisb Define47=#define MX_UART_2_RX_PIN 7 Define48=#define MX_I2C Define49=#define MX_MI2C Define50=#define MX_I2C_1 Define51=#define MX_I2C_1_SDA_PORT portc Define52=#define MX_I2C_1_SDA_TRIS trisc Define53=#define MX_I2C_1_SDA_PIN 4 Define54=#define MX_I2C_1_SCL_PORT portc Define55=#define MX_I2C_1_SCL_TRIS trisc Define56=#define MX_I2C_1_SCL_PIN 3 Define57=#define MX_I2C_2 Define58=#define MX_I2C_2_SDA_PORT portd Define59=#define MX_I2C_2_SDA_TRIS trisd Define60=#define MX_I2C_2_SDA_PIN 1 Define61=#define MX_I2C_2_SCL_PORT portd Define62=#define MX_I2C_2_SCL_TRIS trisd Define63=#define MX_I2C_2_SCL_PIN 0 Define64=#define MX_PWM Define65=#define MX_PWM_REMAPPABLE Define66=#define MX_PWM_CNT 10 Define67=#define MX_PWM_PSCA1 Define68=#define MX_PWM_PSCA4 Define69=#define MX_PWM_PSCA16 Define70=#define MX_PWM_1_PORT portb Define71=#define MX_PWM_1_TRIS trisb Define72=#define MX_PWM_1_PIN 0 Define73=#define MX_PWM_2_PORT portb Define74=#define MX_PWM_2_TRIS trisb Define75=#define MX_PWM_2_PIN 1 Define76=#define MX_PWM_3_PORT portb Define77=#define MX_PWM_3_TRIS trisb Define78=#define MX_PWM_3_PIN 2 Define79=#define MX_PWM_4_PORT portb Define80=#define MX_PWM_4_TRIS trisb Define81=#define MX_PWM_4_PIN 4 Define82=#define MX_PWM_5_PORT portb Define83=#define MX_PWM_5_TRIS trisb Define84=#define MX_PWM_5_PIN 5 Define85=#define MX_PWM_6_PORT portb Define86=#define MX_PWM_6_TRIS trisb Define87=#define MX_PWM_6_PIN 6 Define88=#define MX_PWM_7_PORT portb Define89=#define MX_PWM_7_TRIS trisb Define90=#define MX_PWM_7_PIN 7 Define91=#define MX_PWM_8_PORT portc Define92=#define MX_PWM_8_TRIS trisc Define93=#define MX_PWM_8_PIN 1 Define94=#define MX_PWM_9_PORT portc Define95=#define MX_PWM_9_TRIS trisc Define96=#define MX_PWM_9_PIN 6 Define97=#define MX_PWM_10_PORT portc Define98=#define MX_PWM_10_TRIS trisc Define99=#define MX_PWM_10_PIN 7 Define100=#define MX_USB_TYPE4 [Interrupts] 13 ;first 3 should always be 1=TMR0, 2=RB0INT, 3=PORTB ;any other interrupts need to also have this set: "st_bit(intcon, PEIE);\n" GeneralInit="st_bit(intcon, GIE);\n" Count=15 1=TMR0 2=RB0INT 3=PORTB 5=RB1INT 6=RB2INT 7=RB3INT 8=TMR2 9=RXINT 10=RXINT2 12=TMR4 14=TMR6 15=TMR8 4=TMR1 11=TMR3 13=TMR5 [TMR0] Name="TMR0" HandlerCode="#ifndef MX_INTHANDLER_intcon_TMR0IF\n#define MX_INTHANDLER_intcon_TMR0IF\nif (ts_bit(intcon, TMR0IF) && 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 "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(intcon, TMR0IE);\n" DisableCode="cr_bit(intcon, TMR0IE);\n" OptCnt=3 PrescaleOpt=3 MaxTimerOverflow=256 Opt1="Clock Source Select" Opt1Cnt=2 Opt1_1="Transition on T0CKI pin" Opt1_1Val="st_bit(t0con, T0CS);\n" Opt1_2="Internal clock (CLKO)" Opt1_2Val="cr_bit(t0con, T0CS);\n" Opt2="Source Edge Select" Opt2Cnt=2 Opt2_1="high-to-low transition on TMR0 Clock" Opt2_1Val="st_bit(t0con, T0SE);\n" Opt2_2="low-to-high transition on TMR0 Clock" Opt2_2Val="cr_bit(t0con, T0SE);\n" Opt3="Prescaler Rate" Opt3Cnt=9 Opt3_1="1:1" Opt3_1Val="t0con = (t0con & 0xF0) | 0x08;\n" Opt3_2="1:2" Opt3_2Val="t0con = (t0con & 0xF0) | 0x00;\n" Opt3_3="1:4" Opt3_3Val="t0con = (t0con & 0xF0) | 0x01;\n" Opt3_4="1:8" Opt3_4Val="t0con = (t0con & 0xF0) | 0x02;\n" Opt3_5="1:16" Opt3_5Val="t0con = (t0con & 0xF0) | 0x03;\n" Opt3_6="1:32" Opt3_6Val="t0con = (t0con & 0xF0) | 0x04;\n" Opt3_7="1:64" Opt3_7Val="t0con = (t0con & 0xF0) | 0x05;\n" Opt3_8="1:128" Opt3_8Val="t0con = (t0con & 0xF0) | 0x06;\n" Opt3_9="1:256" Opt3_9Val="t0con = (t0con & 0xF0) | 0x07;\n" [RB0INT] Name="RB0/INT0" REMask=0x00,0x01 FEMask=0x00,0x01 ConfOpt=0x03 EdgeOpt=0x01 HandlerCode="#ifndef MX_INTHANDLER_intcon_INT0IF\n#define MX_INTHANDLER_intcon_INT0IF\nif (ts_bit(intcon, INT0IF) && 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 "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(intcon, INT0IE);\n" DisableCode="cr_bit(intcon, INT0IE);\n" OptCnt=1 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of RB0/INT0" Opt1_1Val="st_bit(intcon2, INTEDG0);\n" Opt1_2="falling edge of RB0/INT0" Opt1_2Val="cr_bit(intcon2, INTEDG0);\n" [PORTB] Name="PORT" REMask=0x00,0xF0 FEMask=0x00,0xF0 ConfOpt=0x04 HandlerCode="#ifndef MX_INTHANDLER_intcon_RBIF\n#define MX_INTHANDLER_intcon_RBIF\nchar mxtmp;\nif (ts_bit(intcon, RBIF) && 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 "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(intcon, RBIE);\n" DisableCode="cr_bit(intcon, RBIE);\n" OptCnt=0 [RB1INT] Name="RB1/INT1" REMask=0x00,0x02 FEMask=0x00,0x02 ConfOpt=0x03 EdgeOpt=0x01 HandlerCode="#ifndef MX_INTHANDLER_intcon3_INT1IF\n#define MX_INTHANDLER_intcon3_INT1IF\nif (ts_bit(intcon3, INT1IF) && 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 "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(intcon3, INT1IE);\n" DisableCode="cr_bit(intcon3, INT1IE);\n" OptCnt=1 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of RB1/INT1" Opt1_1Val="st_bit(intcon2, INTEDG1);\n" Opt1_2="falling edge of RB1/INT1" Opt1_2Val="cr_bit(intcon2, INTEDG1);\n" [RB2INT] Name="RB2/INT2" REMask=0x00,0x04 FEMask=0x00,0x04 ConfOpt=0x03 EdgeOpt=0x01 HandlerCode="#ifndef MX_INTHANDLER_intcon3_INT2IF\n#define MX_INTHANDLER_intcon3_INT2IF\nif (ts_bit(intcon3, INT2IF) && 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 "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(intcon3, INT2IE);\n" DisableCode="cr_bit(intcon3, INT2IE);\n" OptCnt=1 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of RB2/INT2" Opt1_1Val="st_bit(intcon2, INTEDG2);\n" Opt1_2="falling edge of RB2/INT2" Opt1_2Val="cr_bit(intcon2, INTEDG2);\n" [RB3INT] Name="RB3/INT3" REMask=0x00,0x08 FEMask=0x00,0x08 ConfOpt=0x03 EdgeOpt=0x01 HandlerCode="#ifndef MX_INTHANDLER_intcon3_INT3IF\n#define MX_INTHANDLER_intcon3_INT3IF\nif (ts_bit(intcon3, INT3IF) && ts_bit(intcon3, INT3IE))\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, INT3IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(intcon3, INT3IE);\n" DisableCode="cr_bit(intcon3, INT3IE);\n" OptCnt=1 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of RB3/INT3" Opt1_1Val="st_bit(intcon2, INTEDG3);\n" Opt1_2="falling edge of RB3/INT3" Opt1_2Val="cr_bit(intcon2, INTEDG3);\n" [TMR2] Name="TMR2" HandlerCode="#ifndef MX_INTHANDLER_pir1_TMR2IF\n#define MX_INTHANDLER_pir1_TMR2IF\nif (ts_bit(pir1, TMR2IF) && 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 "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif" EnableCode="st_bit(intcon, PEIE);\nst_bit(pie1, TMR2IE);\n" DisableCode="cr_bit(pie1, TMR2IE);\n" OptCnt=3 PrescaleOpt=1 PostScaleOpt=2 RolloverOpt=3 MaxTimerOverflow=256 Opt1="Prescaler Rate" Opt1Cnt=3 Opt1_1="1:1" Opt1_1Val="cr_bit(t2con, T2CKPS0);\ncr_bit(t2con, T2CKPS1);\nst_bit(t2con, TMR2ON);\n" Opt1_2="1:4" Opt1_2Val="st_bit(t2con, T2CKPS0);\ncr_bit(t2con, T2CKPS1);\nst_bit(t2con, TMR2ON);\n" Opt1_3="1:16" Opt1_3Val="cr_bit(t2con, T2CKPS0);\nst_bit(t2con, T2CKPS1);\nst_bit(t2con, TMR2ON);\n" Opt2="Postscaler Rate" Opt2Cnt=16 Opt2_1="1:1" Opt2_1Val="t2con = t2con & 0x07;\n" Opt2_2="1:2" Opt2_2Val="t2con = (t2con & 0x07) | 0x08;\n" Opt2_3="1:3" Opt2_3Val="t2con = (t2con & 0x07) | 0x10;\n" Opt2_4="1:4" Opt2_4Val="t2con = (t2con & 0x07) | 0x18;\n" Opt2_5="1:5" Opt2_5Val="t2con = (t2con & 0x07) | 0x20;\n" Opt2_6="1:6" Opt2_6Val="t2con = (t2con & 0x07) | 0x28;\n" Opt2_7="1:7" Opt2_7Val="t2con = (t2con & 0x07) | 0x30;\n" Opt2_8="1:8" Opt2_8Val="t2con = (t2con & 0x07) | 0x38;\n" Opt2_9="1:9" Opt2_9Val="t2con = (t2con & 0x07) | 0x40;\n" Opt2_10="1:10" Opt2_10Val="t2con = (t2con & 0x07) | 0x48;\n" Opt2_11="1:11" Opt2_11Val="t2con = (t2con & 0x07) | 0x50;\n" Opt2_12="1:12" Opt2_12Val="t2con = (t2con & 0x07) | 0x58;\n" Opt2_13="1:13" Opt2_13Val="t2con = (t2con & 0x07) | 0x60;\n" Opt2_14="1:14" Opt2_14Val="t2con = (t2con & 0x07) | 0x68;\n" Opt2_15="1:15" Opt2_15Val="t2con = (t2con & 0x07) | 0x70;\n" Opt2_16="1:16" Opt2_16Val="t2con = (t2con & 0x07) | 0x78;\n" Opt3="Rollover Value" Opt3Cnt=5 Opt3_1="256" Opt3_1Val="pr2=%d-1;\n" Opt3_2="128" Opt3_2Val="NOTE: only Opt3_1Val is needed here" Opt3_3="64" Opt3_3Val="NOTE: only Opt3_1Val is needed here" Opt3_4="32" Opt3_4Val="NOTE: only Opt3_1Val is needed here" Opt3_5="16" Opt3_5Val="NOTE: only Opt3_1Val is needed here" [RXINT] Name="RXINT" HandlerCode="#ifndef MX_INTHANDLER_pir1_RC1IF\n#define MX_INTHANDLER_pir1_RC1IF\nif (ts_bit(pir1, RC1IF) && ts_bit(pie1, RC1IE))\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, RC1IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif" EnableCode="st_bit(intcon, PEIE);\nst_bit(pie1, RC1IE);\n" DisableCode="cr_bit(pie1, RC1IE);\n" OptCnt=0 [RXINT2] Name="RXINT2" HandlerCode="#ifndef MX_INTHANDLER_pir3_RC2IF\n#define MX_INTHANDLER_pir3_RC2IF\nif (ts_bit(pir3, RC2IF) && ts_bit(pie3, RC2IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(pir3, RC2IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif" EnableCode="st_bit(intcon, PEIE);\nst_bit(pie3, RC2IE);\n" DisableCode="cr_bit(pie3, RC2IE);\n" OptCnt=0 [TMR4] Name="TMR4" HandlerCode="#ifndef MX_INTHANDLER_pir3_TMR4IF\n#define MX_INTHANDLER_pir3_TMR4IF\nif (ts_bit(pir3, TMR4IF) && ts_bit(pie3, TMR4IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(pir3, TMR4IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif" EnableCode="st_bit(intcon, PEIE);\nst_bit(pie3, TMR4IE);\n" DisableCode="cr_bit(pie3, TMR4IE);\n" OptCnt=3 PrescaleOpt=1 PostScaleOpt=2 RolloverOpt=3 MaxTimerOverflow=256 Opt1="Prescaler Rate" Opt1Cnt=3 Opt1_1="1:1" Opt1_1Val="cr_bit(t4con, T4CKPS0);\ncr_bit(t4con, T4CKPS1);\nst_bit(t4con, TMR4ON);\n" Opt1_2="1:4" Opt1_2Val="st_bit(t4con, T4CKPS0);\ncr_bit(t4con, T4CKPS1);\nst_bit(t4con, TMR4ON);\n" Opt1_3="1:16" Opt1_3Val="cr_bit(t4con, T4CKPS0);\nst_bit(t4con, T4CKPS1);\nst_bit(t4con, TMR4ON);\n" Opt2="Postscaler Rate" Opt2Cnt=16 Opt2_1="1:1" Opt2_1Val="t4con = t4con & 0x07;\n" Opt2_2="1:2" Opt2_2Val="t4con = (t4con & 0x07) | 0x08;\n" Opt2_3="1:3" Opt2_3Val="t4con = (t4con & 0x07) | 0x10;\n" Opt2_4="1:4" Opt2_4Val="t4con = (t4con & 0x07) | 0x18;\n" Opt2_5="1:5" Opt2_5Val="t4con = (t4con & 0x07) | 0x20;\n" Opt2_6="1:6" Opt2_6Val="t4con = (t4con & 0x07) | 0x28;\n" Opt2_7="1:7" Opt2_7Val="t4con = (t4con & 0x07) | 0x30;\n" Opt2_8="1:8" Opt2_8Val="t4con = (t4con & 0x07) | 0x38;\n" Opt2_9="1:9" Opt2_9Val="t4con = (t4con & 0x07) | 0x40;\n" Opt2_10="1:10" Opt2_10Val="t4con = (t4con & 0x07) | 0x48;\n" Opt2_11="1:11" Opt2_11Val="t4con = (t4con & 0x07) | 0x50;\n" Opt2_12="1:12" Opt2_12Val="t4con = (t4con & 0x07) | 0x58;\n" Opt2_13="1:13" Opt2_13Val="t4con = (t4con & 0x07) | 0x60;\n" Opt2_14="1:14" Opt2_14Val="t4con = (t4con & 0x07) | 0x68;\n" Opt2_15="1:15" Opt2_15Val="t4con = (t4con & 0x07) | 0x70;\n" Opt2_16="1:16" Opt2_16Val="t4con = (t4con & 0x07) | 0x78;\n" Opt3="Rollover Value" Opt3Cnt=5 Opt3_1="256" Opt3_1Val="pr4=%d-1;\n" Opt3_2="128" Opt3_2Val="NOTE: only Opt3_1Val is needed here" Opt3_3="64" Opt3_3Val="NOTE: only Opt3_1Val is needed here" Opt3_4="32" Opt3_4Val="NOTE: only Opt3_1Val is needed here" Opt3_5="16" Opt3_5Val="NOTE: only Opt3_1Val is needed here" [TMR6] Name="TMR6" HandlerCode="#ifndef MX_INTHANDLER_pir5_TMR6IF\n#define MX_INTHANDLER_pir5_TMR6IF\nif (ts_bit(pir5, TMR6IF) && ts_bit(pie5, TMR6IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(pir5, TMR6IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif" EnableCode="st_bit(intcon, PEIE);\nst_bit(pie5, TMR6IE);\n" DisableCode="cr_bit(pie5, TMR6IE);\n" OptCnt=3 PrescaleOpt=1 PostScaleOpt=2 RolloverOpt=3 MaxTimerOverflow=256 Opt1="Prescaler Rate" Opt1Cnt=3 Opt1_1="1:1" Opt1_1Val="cr_bit(t6con, T6CKPS0);\ncr_bit(t6con, T6CKPS1);\nst_bit(t6con, TMR6ON);\n" Opt1_2="1:4" Opt1_2Val="st_bit(t6con, T6CKPS0);\ncr_bit(t6con, T6CKPS1);\nst_bit(t6con, TMR6ON);\n" Opt1_3="1:16" Opt1_3Val="cr_bit(t6con, T6CKPS0);\nst_bit(t6con, T6CKPS1);\nst_bit(t6con, TMR6ON);\n" Opt2="Postscaler Rate" Opt2Cnt=16 Opt2_1="1:1" Opt2_1Val="t6con = t6con & 0x07;\n" Opt2_2="1:2" Opt2_2Val="t6con = (t6con & 0x07) | 0x08;\n" Opt2_3="1:3" Opt2_3Val="t6con = (t6con & 0x07) | 0x10;\n" Opt2_4="1:4" Opt2_4Val="t6con = (t6con & 0x07) | 0x18;\n" Opt2_5="1:5" Opt2_5Val="t6con = (t6con & 0x07) | 0x20;\n" Opt2_6="1:6" Opt2_6Val="t6con = (t6con & 0x07) | 0x28;\n" Opt2_7="1:7" Opt2_7Val="t6con = (t6con & 0x07) | 0x30;\n" Opt2_8="1:8" Opt2_8Val="t6con = (t6con & 0x07) | 0x38;\n" Opt2_9="1:9" Opt2_9Val="t6con = (t6con & 0x07) | 0x40;\n" Opt2_10="1:10" Opt2_10Val="t6con = (t6con & 0x07) | 0x48;\n" Opt2_11="1:11" Opt2_11Val="t6con = (t6con & 0x07) | 0x50;\n" Opt2_12="1:12" Opt2_12Val="t6con = (t6con & 0x07) | 0x58;\n" Opt2_13="1:13" Opt2_13Val="t6con = (t6con & 0x07) | 0x60;\n" Opt2_14="1:14" Opt2_14Val="t6con = (t6con & 0x07) | 0x68;\n" Opt2_15="1:15" Opt2_15Val="t6con = (t6con & 0x07) | 0x70;\n" Opt2_16="1:16" Opt2_16Val="t6con = (t6con & 0x07) | 0x78;\n" Opt3="Rollover Value" Opt3Cnt=5 Opt3_1="256" Opt3_1Val="pr6=%d-1;\n" Opt3_2="128" Opt3_2Val="NOTE: only Opt3_1Val is needed here" Opt3_3="64" Opt3_3Val="NOTE: only Opt3_1Val is needed here" Opt3_4="32" Opt3_4Val="NOTE: only Opt3_1Val is needed here" Opt3_5="16" Opt3_5Val="NOTE: only Opt3_1Val is needed here" [TMR8] Name="TMR8" HandlerCode="#ifndef MX_INTHANDLER_pir5_TMR8IF\n#define MX_INTHANDLER_pir5_TMR8IF\nif (ts_bit(pir5, TMR8IF) && ts_bit(pie5, TMR8IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(pir5, TMR8IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif" EnableCode="st_bit(intcon, PEIE);\nst_bit(pie5, TMR8IE);\n" DisableCode="cr_bit(pie5, TMR8IE);\n" OptCnt=3 PrescaleOpt=1 PostScaleOpt=2 RolloverOpt=3 MaxTimerOverflow=256 Opt1="Prescaler Rate" Opt1Cnt=3 Opt1_1="1:1" Opt1_1Val="cr_bit(t8con, T8CKPS0);\ncr_bit(t8con, T8CKPS1);\nst_bit(t8con, TMR8ON);\n" Opt1_2="1:4" Opt1_2Val="st_bit(t8con, T8CKPS0);\ncr_bit(t8con, T8CKPS1);\nst_bit(t8con, TMR8ON);\n" Opt1_3="1:16" Opt1_3Val="cr_bit(t8con, T8CKPS0);\nst_bit(t8con, T8CKPS1);\nst_bit(t8con, TMR8ON);\n" Opt2="Postscaler Rate" Opt2Cnt=16 Opt2_1="1:1" Opt2_1Val="t8con = t8con & 0x07;\n" Opt2_2="1:2" Opt2_2Val="t8con = (t8con & 0x07) | 0x08;\n" Opt2_3="1:3" Opt2_3Val="t8con = (t8con & 0x07) | 0x10;\n" Opt2_4="1:4" Opt2_4Val="t8con = (t8con & 0x07) | 0x18;\n" Opt2_5="1:5" Opt2_5Val="t8con = (t8con & 0x07) | 0x20;\n" Opt2_6="1:6" Opt2_6Val="t8con = (t8con & 0x07) | 0x28;\n" Opt2_7="1:7" Opt2_7Val="t8con = (t8con & 0x07) | 0x30;\n" Opt2_8="1:8" Opt2_8Val="t8con = (t8con & 0x07) | 0x38;\n" Opt2_9="1:9" Opt2_9Val="t8con = (t8con & 0x07) | 0x40;\n" Opt2_10="1:10" Opt2_10Val="t8con = (t8con & 0x07) | 0x48;\n" Opt2_11="1:11" Opt2_11Val="t8con = (t8con & 0x07) | 0x50;\n" Opt2_12="1:12" Opt2_12Val="t8con = (t8con & 0x07) | 0x58;\n" Opt2_13="1:13" Opt2_13Val="t8con = (t8con & 0x07) | 0x60;\n" Opt2_14="1:14" Opt2_14Val="t8con = (t8con & 0x07) | 0x68;\n" Opt2_15="1:15" Opt2_15Val="t8con = (t8con & 0x07) | 0x70;\n" Opt2_16="1:16" Opt2_16Val="t8con = (t8con & 0x07) | 0x78;\n" Opt3="Rollover Value" Opt3Cnt=5 Opt3_1="256" Opt3_1Val="pr8=%d-1;\n" Opt3_2="128" Opt3_2Val="NOTE: only Opt3_1Val is needed here" Opt3_3="64" Opt3_3Val="NOTE: only Opt3_1Val is needed here" Opt3_4="32" Opt3_4Val="NOTE: only Opt3_1Val is needed here" Opt3_5="16" Opt3_5Val="NOTE: only Opt3_1Val is needed here" [TMR1] Name="TMR1" HandlerCode="#ifndef MX_INTHANDLER_pir1_TMR1IF\n#define MX_INTHANDLER_pir1_TMR1IF\nif (ts_bit(pir1, TMR1IF) && 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 "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(intcon, PEIE);\nst_bit(pie1, TMR1IE);\n" DisableCode="cr_bit(pie1, TMR1IE);\n" OptCnt=3 PrescaleOpt=2 MaxTimerOverflow=65536 Opt1="Clock Source Select" Opt1Cnt=3 Opt1_1="Internal clock (Fosc)" Opt1_1Val="st_bit(t1con, TMR1ON);\nst_bit(t1con, TMR1CS0);\ncr_bit(t1con, TMR1CS1);\n" Opt1_2="Internal clock (Fosc/4)" Opt1_2Val="st_bit(t1con, TMR1ON);\ncr_bit(t1con, TMR1CS0);\ncr_bit(t1con, TMR1CS1);\n" Opt1_3="T1CKI Pin" Opt1_3Val="st_bit(t1con, TMR1ON);\ncr_bit(t1con, TMR1CS0);\nst_bit(t1con, TMR1CS1);\ncr_bit(t1con, T1SOSCEN);\n" Opt2="Prescaler Rate" Opt2Cnt=4 Opt2_1="1:1" Opt2_1Val="t1con = t1con & 0x0F;\n" Opt2_2="1:2" Opt2_2Val="t1con = (t1con & 0x0F) | 0x10;\n" Opt2_3="1:4" Opt2_3Val="t1con = (t1con & 0x0F) | 0x20;\n" Opt2_4="1:8" Opt2_4Val="t1con = (t1con & 0x0F) | 0x30;\n" Opt3="16-Bit Read/Write Mode" Opt3Cnt=2 Opt3_1="Timer1 register read/write in one 16-bit operation" Opt3_1Val="st_bit(t1con, RD16);\n" Opt3_2="Timer1 register read/write in two 8-bit operations" Opt3_2Val="cr_bit(t1con, RD16);\n" [TMR3] Name="TMR3" HandlerCode="#ifndef MX_INTHANDLER_pir2_TMR3IF\n#define MX_INTHANDLER_pir2_TMR3IF\nif (ts_bit(pir2, TMR3IF) && 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 "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(intcon, PEIE);\nst_bit(pie2, TMR3IE);\n" DisableCode="cr_bit(pie2, TMR3IE);\n" OptCnt=3 PrescaleOpt=2 MaxTimerOverflow=65536 Opt1="Clock Source Select" Opt1Cnt=3 Opt1_1="Internal clock (Fosc)" Opt1_1Val="st_bit(t3con, TMR3ON);\nst_bit(t3con, TMR3CS0);\ncr_bit(t3con, TMR3CS1);\n" Opt1_2="Internal clock (Fosc/4)" Opt1_2Val="st_bit(t3con, TMR3ON);\ncr_bit(t3con, TMR3CS0);\ncr_bit(t3con, TMR3CS1);\n" Opt1_3="T3CKI Pin" Opt1_3Val="st_bit(t3con, TMR3ON);\ncr_bit(t3con, TMR3CS0);\nst_bit(t3con, TMR3CS1);\ncr_bit(t3con, T3SOSCEN);\n" Opt2="Prescaler Rate" Opt2Cnt=4 Opt2_1="1:1" Opt2_1Val="t3con = t3con & 0x0F;\n" Opt2_2="1:2" Opt2_2Val="t3con = (t3con & 0x0F) | 0x10;\n" Opt2_3="1:4" Opt2_3Val="t3con = (t3con & 0x0F) | 0x20;\n" Opt2_4="1:8" Opt2_4Val="t3con = (t3con & 0x0F) | 0x30;\n" Opt3="16-Bit Read/Write Mode" Opt3Cnt=2 Opt3_1="Timer3 register read/write in one 16-bit operation" Opt3_1Val="st_bit(t3con, RD16);\n" Opt3_2="Timer3 register read/write in two 8-bit operations" Opt3_2Val="cr_bit(t3con, RD16);\n" [TMR5] Name="TMR5" HandlerCode="#ifndef MX_INTHANDLER_pir5_TMR5IF\n#define MX_INTHANDLER_pir5_TMR5IF\nif (ts_bit(pir5, TMR5IF) && ts_bit(pie5, TMR5IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\n\tFCM_%n();\n\tcr_bit(pir5, TMR5IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(intcon, PEIE);\nst_bit(pie5, TMR5IE);\n" DisableCode="cr_bit(pie5, TMR5IE);\n" OptCnt=3 PrescaleOpt=2 MaxTimerOverflow=65536 Opt1="Clock Source Select" Opt1Cnt=3 Opt1_1="Internal clock (Fosc)" Opt1_1Val="st_bit(t5con, TMR5ON);\nst_bit(t5con, TMR5CS0);\ncr_bit(t5con, TMR5CS1);\n" Opt1_2="Internal clock (Fosc/4)" Opt1_2Val="st_bit(t5con, TMR5ON);\ncr_bit(t5con, TMR5CS0);\ncr_bit(t5con, TMR5CS1);\n" Opt1_3="T5CKI Pin" Opt1_3Val="st_bit(t5con, TMR5ON);\ncr_bit(t5con, TMR5CS0);\nst_bit(t5con, TMR5CS1);\ncr_bit(t5con, T5SOSCEN);\n" Opt2="Prescaler Rate" Opt2Cnt=4 Opt2_1="1:1" Opt2_1Val="t5con = t5con & 0x0F;\n" Opt2_2="1:2" Opt2_2Val="t5con = (t5con & 0x0F) | 0x10;\n" Opt2_3="1:4" Opt2_3Val="t5con = (t5con & 0x0F) | 0x20;\n" Opt2_4="1:8" Opt2_4Val="t5con = (t5con & 0x0F) | 0x30;\n" Opt3="16-Bit Read/Write Mode" Opt3Cnt=2 Opt3_1="Timer5 register read/write in one 16-bit operation" Opt3_1Val="st_bit(t5con, RD16);\n" Opt3_2="Timer5 register read/write in two 8-bit operations" Opt3_2Val="cr_bit(t5con, RD16);\n"