[Device] Pins=64 Ports=7 ADCPins=16 ADCBits=12 ADCType=6 MaxClock=120000000 PrescalerBits=8 ClockDivider=4 TimerOverflow=256 ConfigAddress=0xF80000 ConfigCount=8 PWMCount=8 UARTCount=2 I2CCount=1 SPICount=2 TIMERCount=5 INTPINCount=5 EepromSize=2048 DefaultPackageType=1 FlowcodeProduct=dsPIC30 ChipName=30F6011A AltChipName=dsPIC30F6011A FlashSize=135168 RamSize=6144 Family=dsPIC30F [ICD] ClockPort=2 ClockPin=6 DataPort=2 DataPin=7 [Pins] Pin1="RG15" Pin2="RC1" Pin3="RC2" Pin4="SCK2 / RG6" Pin5="SDI2 / RG7" Pin6="SDO2 / RG8" Pin7="MCLR" Pin8="RG9" Pin9="VSS" Pin10="VDD" Pin11="AN5 / RB5" Pin12="AN4 / RB4" Pin13="AN3 / RB3" Pin14="AN2 / RB2" Pin15="AN1 / RB1" Pin16="VREF+ / AN0 / RB0" Pin17="AN6 / RB6" Pin18="AN7 / RB7" Pin19="AVDD" Pin20="AVSS" Pin21="AN8 / RB8" Pin22="AN9 / RB9" Pin23="AN10 / RB10" Pin24="AN11 / RB11" Pin25="VSS" Pin26="VDD" Pin27="AN12 / RB12" Pin28="AN13 / RB13" Pin29="AN14 / RB14" Pin30="AN15 / RB15" Pin31="RX2 / RF4" Pin32="TX2 / RF5" Pin33="TX1 / SDO1 / RF3" Pin34="RX1 / SDI1 / RF2" Pin35="SCK1 / INT0 / RF6" Pin36="SDA1 / RG3" Pin37="SCL1 / RG2" Pin38="VDD" Pin39="OSC1 / RC12" Pin40="OSC2 / RC15" Pin41="VSS" Pin42="INT1 / RD8" Pin43="INT2 / RD9" Pin44="INT3 / RD10" Pin45="INT4 / RD11" Pin46="OC1 / RD0" Pin47="RC13" Pin48="RC14" Pin49="OC2 / RD1" Pin50="OC3 / RD2" Pin51="OC4 / RD3" Pin52="OC5 / RD4" Pin53="OC6 / RD5" Pin54="OC7 / RD6" Pin55="OC8 / RD7" Pin56="VSS" Pin57="VDD" Pin58="RF0" Pin59="RF1" Pin60="RG1" Pin61="RG0" Pin62="RG14" Pin63="RG12" Pin64="RG13" [Ports] PortPin1=0x060F PortPin2=0x0201 PortPin3=0x0202 PortPin4=0x0606 PortPin5=0x0607 PortPin6=0x0608 PortPin8=0x0609 PortPin11=0x0105 PortPin12=0x0104 PortPin13=0x0103 PortPin14=0x0102 PortPin15=0x0101 PortPin16=0x0100 PortPin17=0x0106 PortPin18=0x0107 PortPin21=0x0108 PortPin22=0x0109 PortPin23=0x010A PortPin24=0x010B PortPin27=0x010C PortPin28=0x010D PortPin29=0x010E PortPin30=0x010F PortPin31=0x0504 PortPin32=0x0505 PortPin33=0x0503 PortPin34=0x0502 PortPin35=0x0506 PortPin36=0x0603 PortPin37=0x0602 PortPin39=0x020C PortPin40=0x020F PortPin42=0x0308 PortPin43=0x0309 PortPin44=0x030A PortPin45=0x030B PortPin46=0x0300 PortPin47=0x020D PortPin48=0x020E PortPin49=0x0301 PortPin50=0x0302 PortPin51=0x0303 PortPin52=0x0304 PortPin53=0x0305 PortPin54=0x0306 PortPin55=0x0307 PortPin58=0x0500 PortPin59=0x0501 PortPin60=0x0601 PortPin61=0x0600 PortPin62=0x060E PortPin63=0x060C PortPin64=0x060D [PortMasks] PortMask0=0x0000 PortMask1=0xFFFF PortMask2=0xF000 PortMask3=0x0FFF PortMask4=0x0000 PortMask5=0x007F PortMask6=0xF3CF [PortList] Port0= Port1=PORTB Port2=PORTC Port3=PORTD Port4= Port5=PORTF Port6=PORTG Port00= Port01= Port10=PORTB_L Port11=PORTB_H Port20= Port21=PORTC_H Port30=PORTD_L Port31=PORTD_H Port40= Port41= Port50=PORTF_L Port51= Port60=PORTG_L Port61=PORTG_H [ADCPins] ADC0=16 ADC1=15 ADC2=14 ADC3=13 ADC4=12 ADC5=11 ADC6=17 ADC7=18 ADC8=21 ADC9=22 ADC10=23 ADC11=24 ADC12=27 ADC13=28 ADC14=29 ADC15=30 [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_Fosc %c\n\n#include "../support/dsPIC30F/h/p30fxxxx.h"\n#include \n#include \n\n#define _RESERVED1(x) int temp1 = (x);\n#define _RESERVED2(x) int temp2 = (x);\n#define _ICD(x) _FICD(x);\n" MainStart="int main()\n{\n" MainEnd="\tmainendloop: goto mainendloop;\n\treturn 0;\n}\n\n" IntStart="" IntEnd="" Initialise="ADPCFG = 0xffff;\n" IntInit="" InputCmdFull="TRIS%p = TRIS%p | %m;\n%o = (PORT%p & %m) >> %s;\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) >> %s;\n" OutputCmdFull="TRIS%p = TRIS%p & %i;\nPORT%p = (LAT%p & %i) | %o;\n" OutputCmdOneBit="TRIS%p = TRIS%p & %i;\nif (%o)\n\tPORT%p = (LAT%p & %i) | %m;\nelse\n\tPORT%p = LAT%p & %i;\n" OutputCmdMask="TRIS%p = TRIS%p & %i;\nPORT%p = (LAT%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="_%N(%V) //addr = %a\n" IntHandler="" [Defines] Define1=#define P30F6011A Define2=#define MX_CLKS_PER_INST 4 Define3=#define MX_EE Define4=#define MX_EE_SIZE 2048 Define5=#define MX_SPI1 Define6=#define MX_SPI1_PORT_F Define7=#define MX_SPI1_SDI 2 Define8=#define MX_SPI1_SDO 3 Define9=#define MX_SPI1_SCK 6 Define10=#define MX_SPI2 Define11=#define MX_SPI2_PORT_G Define12=#define MX_SPI2_SDI 7 Define13=#define MX_SPI2_SDO 8 Define14=#define MX_SPI2_SCK 6 Define15=#define MX_UART1 Define16=#define MX_UART1_PORT_F Define17=#define MX_UART2 Define18=#define MX_UART2_PORT_F Define19=#define MX_MI2C1 Define20=#define MX_I2C1_PORT_G Define21=#define MX_I2C1_SDA 3 Define22=#define MX_I2C1_SCL 2 Define23=#define MX_PWM Define24=#define MX_PWM_PORT_D Define25=#define MX_PWM_CNT 4 Define26=#define MX_PWM_1 0 Define27=#define MX_PWM_2 1 Define28=#define MX_PWM_3 2 Define29=#define MX_PWM_4 3 Define30=#define MX_PWM_5 4 Define31=#define MX_PWM_6 5 Define32=#define MX_PWM_7 6 Define33=#define MX_PWM_8 7 Define34=#define MX_ECAN [Interrupts] GeneralInit="" Count=13 1=INT0 2=INT1 3=INT2 4=INT3 5=INT4 6=PORT 7=RXINT1 8=RXINT2 9=TMR1 10=TMR2 11=TMR3 12=TMR4 13=TMR5 [INT0] Name=INT0 FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _INT0Interrupt(void)\n{\n\tIFS0bits.INT0IF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="IEC0bits.INT0IE = 1;" DisableCode="IEC0bits.INT0IE = 0;" IntPort=5 IntPin=6 OptCnt=1 TmrOpt=0 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of INT0" Opt1_1Val="INTCON2bits.INT0EP = 0;\n" Opt1_2="falling edge of INT0" Opt1_2Val="INTCON2bits.INT0EP = 1;\n" [INT1] Name=INT1 FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _INT1Interrupt(void)\n{\n\tIFS1bits.INT1IF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="IEC1bits.INT1IE = 1;" DisableCode="IEC1bits.INT1IE = 0;" IntPort=4 IntPin=8 OptCnt=1 TmrOpt=0 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of INT1" Opt1_1Val="INTCON2bits.INT1EP = 0;\n" Opt1_2="falling edge of INT1" Opt1_2Val="INTCON2bits.INT1EP = 1;\n" [INT2] Name=INT2 FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _INT2Interrupt(void)\n{\n\tIFS1bits.INT2IF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="IEC1bits.INT2IE = 1;" DisableCode="IEC1bits.INT2IE = 0;" IntPort=4 IntPin=9 OptCnt=1 TmrOpt=0 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of INT2" Opt1_1Val="INTCON2bits.INT2EP = 0;\n" Opt1_2="falling edge of INT2" Opt1_2Val="INTCON2bits.INT2EP = 1;\n" [INT3] Name=INT3 FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _INT3Interrupt(void)\n{\n\tIFS3bits.INT3IF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="IEC3bits.INT3IE = 1;" DisableCode="IEC3bits.INT3IE = 0;" IntPort=0 IntPin=14 OptCnt=1 TmrOpt=0 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of INT3" Opt1_1Val="INTCON2bits.INT3EP = 0;\n" Opt1_2="falling edge of INT3" Opt1_2Val="INTCON2bits.INT3EP = 1;\n" [INT4] Name=INT4 FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _INT4Interrupt(void)\n{\n\tIFS3bits.INT4IF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="IEC3bits.INT4IE = 1;" DisableCode="IEC3bits.INT4IE = 0;" IntPort=0 IntPin=15 OptCnt=1 TmrOpt=0 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of INT4" Opt1_1Val="INTCON2bits.INT4EP = 0;\n" Opt1_2="falling edge of INT4" Opt1_2Val="INTCON2bits.INT4EP = 1;\n" [PORT] Name=PORT FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _CNInterrupt(void)\n{\n\tIFS1bits.CNIF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="CNEN1 = 0x003c;\nCNEN2 = 0x0000;\nIEC1bits.CNIE = 1;\n" DisableCode="IEC1bits.CNIE = 0;\n" OptCnt=0 TmrOpt=0 [RXINT1] Name=RXINT1 FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _U1RXInterrupt(void)\n{\n\tIFS0bits.U1RXIF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="IEC0bits.U1RXIE = 1;\n" DisableCode="IEC0bits.U1RXIE = 0;\n" OptCnt=0 TmrOpt=0 [RXINT2] Name=RXINT2 FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _U2RXInterrupt(void)\n{\n\tIFS1bits.U2RXIF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="IEC1bits.U2RXIE = 1;\n" DisableCode="IEC1bits.U2RXIE = 0;\n" OptCnt=0 TmrOpt=0 [TMR1] Name="TMR1" FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _T1Interrupt(void)\n{\n\tIFS0bits.T1IF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="IEC0bits.T1IE = 1;\n" DisableCode="IEC0bits.T1IE = 0;\n" OptCnt=3 TmrOpt=1 PrescaleOpt=2 RolloverOpt=3 MaxTimerOverflow=65536 Opt1="Clock Source" Opt1Cnt=2 Opt1_1="Internal (Fosc/4)" Opt1_1Val="T1CON = ((T1CON & 0xfffd) | 0x8000);\n" Opt1_2="External (T1CK)" Opt1_2Val="T1CON |= 0x8002;\n" Opt2="Prescaler Rate" Opt2Cnt=4 Opt2_1="1:1" Opt2_1Val="T1CON &= 0xff0f;\n" Opt2_2="1:8" Opt2_2Val="T1CON = ((T1CON & 0xff0f) | 0x0010);\n" Opt2_3="1:64" Opt2_3Val="T1CON = ((T1CON & 0xff0f) | 0x0020);\n" Opt2_4="1:256" Opt2_4Val="T1CON = ((T1CON & 0xff0f) | 0x0030);\n" Opt3="Rollover Value" Opt3Cnt=9 Opt3_1="256" Opt3_1Val="PR1 = %d-1;\n" Opt3_2="512" Opt3_2Val="NOTE: only Opt3_1Val is needed here" Opt3_3="1024" Opt3_3Val="NOTE: only Opt3_1Val is needed here" Opt3_4="2048" Opt3_4Val="NOTE: only Opt3_1Val is needed here" Opt3_5="4096" Opt3_5Val="NOTE: only Opt3_1Val is needed here" Opt3_6="8192" Opt3_6Val="NOTE: only Opt3_1Val is needed here" Opt3_7="16384" Opt3_7Val="NOTE: only Opt3_1Val is needed here" Opt3_8="32768" Opt3_8Val="NOTE: only Opt3_1Val is needed here" Opt3_9="65536" Opt3_9Val="NOTE: only Opt3_1Val is needed here" [TMR2] Name="TMR2" FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _T2Interrupt(void)\n{\n\tIFS0bits.T2IF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="IEC0bits.T2IE = 1;\n" DisableCode="IEC0bits.T2IE = 0;\n" OptCnt=3 TmrOpt=1 PrescaleOpt=2 RolloverOpt=3 MaxTimerOverflow=65536 Opt1="Clock Source" Opt1Cnt=2 Opt1_1="Internal (Fosc/4)" Opt1_1Val="T2CON = ((T2CON & 0xfffd) | 0x8000);\n" Opt1_2="External (T2CK)" Opt1_2Val="T2CON |= 0x8002;\n" Opt2="Prescaler Rate" Opt2Cnt=4 Opt2_1="1:1" Opt2_1Val="T2CON &= 0xff0f;\n" Opt2_2="1:8" Opt2_2Val="T2CON = ((T2CON & 0xff0f) | 0x0010);\n" Opt2_3="1:64" Opt2_3Val="T2CON = ((T2CON & 0xff0f) | 0x0020);\n" Opt2_4="1:256" Opt2_4Val="T2CON = ((T2CON & 0xff0f) | 0x0030);\n" Opt3="Rollover Value" Opt3Cnt=9 Opt3_1="256" Opt3_1Val="PR2 = %d-1;\n" Opt3_2="512" Opt3_2Val="NOTE: only Opt3_1Val is needed here" Opt3_3="1024" Opt3_3Val="NOTE: only Opt3_1Val is needed here" Opt3_4="2048" Opt3_4Val="NOTE: only Opt3_1Val is needed here" Opt3_5="4096" Opt3_5Val="NOTE: only Opt3_1Val is needed here" Opt3_6="8192" Opt3_6Val="NOTE: only Opt3_1Val is needed here" Opt3_7="16384" Opt3_7Val="NOTE: only Opt3_1Val is needed here" Opt3_8="32768" Opt3_8Val="NOTE: only Opt3_1Val is needed here" Opt3_9="65536" Opt3_9Val="NOTE: only Opt3_1Val is needed here" [TMR3] Name="TMR3" FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _T3Interrupt(void)\n{\n\tIFS0bits.T3IF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="IEC0bits.T3IE = 1;\n" DisableCode="IEC0bits.T3IE = 0;\n" OptCnt=3 TmrOpt=1 PrescaleOpt=2 RolloverOpt=3 MaxTimerOverflow=65536 Opt1="Clock Source" Opt1Cnt=2 Opt1_1="Internal (Fosc/4)" Opt1_1Val="T3CON = ((T3CON & 0xfffd) | 0x8000);\n" Opt1_2="External (T3CK)" Opt1_2Val="T3CON |= 0x8002;\n" Opt2="Prescaler Rate" Opt2Cnt=4 Opt2_1="1:1" Opt2_1Val="T3CON &= 0xff0f;\n" Opt2_2="1:8" Opt2_2Val="T3CON = ((T3CON & 0xff0f) | 0x0010);\n" Opt2_3="1:64" Opt2_3Val="T3CON = ((T3CON & 0xff0f) | 0x0020);\n" Opt2_4="1:256" Opt2_4Val="T3CON = ((T3CON & 0xff0f) | 0x0030);\n" Opt3="Rollover Value" Opt3Cnt=9 Opt3_1="256" Opt3_1Val="PR3 = %d-1;\n" Opt3_2="512" Opt3_2Val="NOTE: only Opt3_1Val is needed here" Opt3_3="1024" Opt3_3Val="NOTE: only Opt3_1Val is needed here" Opt3_4="2048" Opt3_4Val="NOTE: only Opt3_1Val is needed here" Opt3_5="4096" Opt3_5Val="NOTE: only Opt3_1Val is needed here" Opt3_6="8192" Opt3_6Val="NOTE: only Opt3_1Val is needed here" Opt3_7="16384" Opt3_7Val="NOTE: only Opt3_1Val is needed here" Opt3_8="32768" Opt3_8Val="NOTE: only Opt3_1Val is needed here" Opt3_9="65536" Opt3_9Val="NOTE: only Opt3_1Val is needed here" [TMR4] Name="TMR4" FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _T4Interrupt(void)\n{\n\tIFS1bits.T4IF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="IEC1bits.T4IE = 1;\n" DisableCode="IEC1bits.T4IE = 0;\n" OptCnt=3 TmrOpt=1 PrescaleOpt=2 RolloverOpt=3 MaxTimerOverflow=65536 Opt1="Clock Source" Opt1Cnt=2 Opt1_1="Internal (Fosc/4)" Opt1_1Val="T4CON = ((T4CON & 0xfffd) | 0x8000);\n" Opt1_2="External (T4CK)" Opt1_2Val="T4CON |= 0x8002;\n" Opt2="Prescaler Rate" Opt2Cnt=4 Opt2_1="1:1" Opt2_1Val="T4CON &= 0xff0f;\n" Opt2_2="1:8" Opt2_2Val="T4CON = ((T4CON & 0xff0f) | 0x0010);\n" Opt2_3="1:64" Opt2_3Val="T4CON = ((T4CON & 0xff0f) | 0x0020);\n" Opt2_4="1:256" Opt2_4Val="T4CON = ((T4CON & 0xff0f) | 0x0030);\n" Opt3="Rollover Value" Opt3Cnt=9 Opt3_1="256" Opt3_1Val="PR4 = %d-1;\n" Opt3_2="512" Opt3_2Val="NOTE: only Opt3_1Val is needed here" Opt3_3="1024" Opt3_3Val="NOTE: only Opt3_1Val is needed here" Opt3_4="2048" Opt3_4Val="NOTE: only Opt3_1Val is needed here" Opt3_5="4096" Opt3_5Val="NOTE: only Opt3_1Val is needed here" Opt3_6="8192" Opt3_6Val="NOTE: only Opt3_1Val is needed here" Opt3_7="16384" Opt3_7Val="NOTE: only Opt3_1Val is needed here" Opt3_8="32768" Opt3_8Val="NOTE: only Opt3_1Val is needed here" Opt3_9="65536" Opt3_9Val="NOTE: only Opt3_1Val is needed here" [TMR5] Name="TMR5" FlagReg= FlagBit= UseExplicitHandlerCode=1 HandlerCode="void _ISR _T5Interrupt(void)\n{\n\tIFS1bits.T5IF = 0;\n\tFCM_%n();\n}\n" EnReg= EnBit= UseExplicitEnableCode=1 EnableCode="IEC1bits.T5IE = 1;\n" DisableCode="IEC1bits.T5IE = 0;\n" OptCnt=3 TmrOpt=1 PrescaleOpt=2 RolloverOpt=3 MaxTimerOverflow=65536 Opt1="Clock Source" Opt1Cnt=2 Opt1_1="Internal (Fosc/4)" Opt1_1Val="T5CON = ((T5CON & 0xfffd) | 0x8000);\n" Opt1_2="External (T5CK)" Opt1_2Val="T5CON |= 0x8002;\n" Opt2="Prescaler Rate" Opt2Cnt=4 Opt2_1="1:1" Opt2_1Val="T5CON &= 0xff0f;\n" Opt2_2="1:8" Opt2_2Val="T5CON = ((T5CON & 0xff0f) | 0x0010);\n" Opt2_3="1:64" Opt2_3Val="T5CON = ((T5CON & 0xff0f) | 0x0020);\n" Opt2_4="1:256" Opt2_4Val="T5CON = ((T5CON & 0xff0f) | 0x0030);\n" Opt3="Rollover Value" Opt3Cnt=9 Opt3_1="256" Opt3_1Val="PR5 = %d-1;\n" Opt3_2="512" Opt3_2Val="NOTE: only Opt3_1Val is needed here" Opt3_3="1024" Opt3_3Val="NOTE: only Opt3_1Val is needed here" Opt3_4="2048" Opt3_4Val="NOTE: only Opt3_1Val is needed here" Opt3_5="4096" Opt3_5Val="NOTE: only Opt3_1Val is needed here" Opt3_6="8192" Opt3_6Val="NOTE: only Opt3_1Val is needed here" Opt3_7="16384" Opt3_7Val="NOTE: only Opt3_1Val is needed here" Opt3_8="32768" Opt3_8Val="NOTE: only Opt3_1Val is needed here" Opt3_9="65536" Opt3_9Val="NOTE: only Opt3_1Val is needed here"