! ifi_library.o/ 1128981956l36622l` 4JC^D! @.E"H%m 0%X^ RRjnnRRRnnnnnnnnnnnnnnnnnnn/nnnjjhnnhjjjjjjjjjRooj\ Pj%nQ"n*kookkkkkn2nnnnRRnnRRRR oooooyoooo+#PnQ#+#+#Q o2nnjRRR2&"P RR&"RRw+RkPn nPjPn nPjPn nPjPn nPjR&"j&"j&"n"P P &"n &"n%%&"n&"P&"n&"e&"n&"J&"n&"/P&"n&"\&"n&"P&"n&"P&"n&"&" n&"G&" n&"&" n&"m&" n&"R&" n&"7>&"n&"&"n&"R    1 ; "$&(*.2 6 8:< > @ F J L N P R T V X Z \ ^ ` b d f h j l p t x  z | ~        ! ! "" "     # " !!! !   $$$ ! !!!% & ' ( !" $!& (^* , . 0 2!4 6!8 :^< > @ B D F H)JN*P+R,T-XZ^ `b d  hj.l n.p tv/x z/| ~      0 0 1 1 2  # 2 2   #  #2  !!    & ' ( 2   3 $3&(*, . 02 4 68 :)<@BDFH J  P3RV3X\ ` b# j3lp3rtv x |3~3  #33     !!  )  44    5 6 47    5 6 48    5 6 4"9$ ( , . 25 66 :4>:@ B)DHJLNR3TX3Z^ b d#h3jn3pt x z#|; ;33  #   33  #  <33  # = 33  # 33   =#> 3"&3(, 0 4# 83:>3@D H J>L#P V3X\3^b f j# n3pt3vz ~ ?# 33  # 33  #@ 33  # 33  @# 33  # 33 " $&#* 032638< @ D# H3JN3PT X Z\#` f3hl3nr v z# ~33  #A 33  # 33  A# 33  # 33  #  33  $# (3*.304 8 :<#@- F3HL3NR V Z# ^3`d3fj n pr#vB |3~3  # 33  #  33  # 33   #C 33  # 3 3    # )]]]]]] ] ]]__accekk k"k$k&k(k*k,~.~0~2~4~6~8~:~<~>~@BD F H J L N P R T V X Z \ ^ ` b d f h j l n p r t v x z | ~                                  "$&(*,.02468:<>@BDFHJLN'P'R'T'V' X1!Z1!\1!^1#`1&b1&d1&f1'h1'j1'l1'n1'p1(r1)t1)v1)x1)z1)|1+~1+1,1/1/10101010101112121212121414151515151515151515171C;D;D;E;E;E;E;G;G;G;G;G;G;G;G;G;H;H;H;H;H;H;H;H;I;I;J;K;K;M;M;M;N;N;O;R;R;S;S;X;Y;];^ ;_ ;pOpOpOpOrOrOsOOO O"O$O&O(O*O,O.O0O2O4O6O8O:O<O>O@^B^D^F^H^J^L^N^P^R^T^V^X^Z^\^^^`^b^d^f^h^j^l^n^p^r^t^v^x^z^|^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^lllllzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z zzzzzzzzzz z"z$z&z(z*z,z.z0z2z4z6z8z:z<z>z@zBzDzFzHJLNPRTVXZ\^`bdfhjlnprtvxz|~                   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~   """"""""""""############%%%''''''''''''((((((((((((55557777777777 7 7888888888 8"8$8&;(;*;,=.=0=2=4=6=8=:=<=>=@=B=D>F>H>J>L>N>P>R>T>V>X>Z>\G^G`GbIdIfIhIjIlInIpIrItIvIxIzJ|J~JJJJJJJJJJMMMMMOOOOOOOOOOOOPPPPPPPPPPPPRRRRTTTTTTTTTTTTUUUUUUUUUUUUWWW W YYYYYYYYYY Y"Y$Z&Z(Z*Z,Z.Z0Z2Z4Z6Z8Z:Z<\>\@\B^D^F^H^J^L^N^P^R^T^V^X^Z_\_^_`_b_d_f_h_j_l_n_p_ratavaxczc|c~cccccccccddddddddddddfffffhhhhhhhhhhhhiiiiiiiiiiiikkkmmmmmmmmmmmmnnnnn n nnnnnnqqqq KK M .filegY.eofk.fileg|    rdptrlength wrptr    rdptrlength wrptr.eofk.fileg *bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 .eosf 1 data .eosf* 8$ data .eosf1. ?allbits 8 .eosf8B Fallbits L .eosf?V  p` *j 1t 8 ?                 # - 6 C N Y d o z  control .eosfF ptrF  |    .eosfp allbits  mode p.eosf| allbits  .eosf allbits  .eosf allbits  .eosf allbits ! .eosf+  5 @ |M Y e q }               % 1 = J reserve<.eosf ptr Ybkt.eofk.fileg}config1 config2  channel .eofk.fileg ptrptrptrF I count temp rxPtr txPtr !X^.bfeH.bbdI.ebdM.ef eM !H%;1.bfe].bbd^.bbd`.ebdb.bbdd.ebdf.ebdk.ef,ek.!&.bf.eu.bbdv.ebd.efBe/D!h'.bfDe.bbd.ebd.efeD!(+^ .bfe).bbd$I .bbd".ebd.ebd.efLeWN!/.bfNe3.bbd..ebd.efVejX!0.bfXe=.bbd8.ebd7.efe7!2.bfeAR.bbdBJ.bbdFH.bbdLF.ebd[.ebd\.ebd_.ef e_ptr Getdata!5.bfepbptr .bbdqY.ebd.ef>eptrF Putdata@!H7.bf@enptrF .bbdi.ebd.efe!;.bfe|.bbds.ebd.efe!h;.bfe.bbd.ebd.efFeptrF H!?.bfHeptrF .bbd.bbd.ebd.bbd.ebd .bbd .ebd.bbd.ebd.bbd.ebd.bbd.ebd.bbd!.ebd$.bbd&.ebd).bbd6.ebd9.bbd<.ebd?.bbdH.ebdK.bbdN.ebdQ.bbdS.ebdV.bbdX.ebd[.bbd].ebd`.bbdb.ebde.bbdg.ebdj.bbdl.ebdo.ebdq.ef eq.eofk.fileg.eofk.fileg(.eofk.fileg>.eofka t!}!!FSR2L PREINC1 FSR1L FSR0L     CMCON PORTJ PORTH PORTG PORTF PORTE PORTD PORTC PORTB PORTA LATJ LATH LATG LATF LATE LATD LATC LATB LATA TRISA TRISB TRISC TRISD TRISE TRISF TRISG TRISJ TRISH ADCON1  IPR2 IPR1 PIE2 PIE1 PIE3 IPR3    INTCON3  INTCON2 txdataINDF2 INDF0 rxdataT0CON TMR0H TMR0L INDF1 $ . 8BL<V<`<j<SSPBUF PLUSW2 t   CCP2CON CCP3CON CCP4CON CCP5CON SSPCON1 SSPCON2 RCON MEMCON INTCON .udata_ifi_library.o.idata_ifi_library.o.romdata_ifi_library.o.code_ifi_library.oC:\FrcCode_2006_8722\ifi_library.cC:\mcc18\h\spi.hsync_modebus_modesmp_phasedata_outsync_modebus_modesmp_phasedata_outC:\FrcCode_2006_8722\ifi_default.h__tag_229__tag_236bitselect__tag_237bitselect__tag_238bitselect__tag_239bitselect__tag_240LED_byte1LED_byte2user_byte1user_byte2rc_pwm01rc_pwm02rc_pwm03rc_pwm04rc_pwm05rc_pwm06rc_pwm07rc_pwm08rc_pwm09rc_pwm10rc_pwm11rc_pwm12rc_pwm13rc_pwm14rc_pwm15rc_pwm16user_cmdcmd_byte1pwm_maskwarning_codeuser_byte3user_byte4user_byte5user_byte6error_codepacketnumcurrent_mode__tag_228__member_0user_displayautonomousdisabled__tag_230bitselect__tag_231bitselect__tag_232bitselect__tag_233bitselect__tag_234bitselect__tag_235packet_numrc_mode_byteoi_swA_byteoi_swB_byterc_swA_byterc_swB_byteoi_analog01oi_analog02oi_analog03oi_analog04oi_analog05oi_analog06oi_analog07oi_analog08oi_analog09oi_analog10oi_analog11oi_analog12oi_analog13oi_analog14oi_analog15oi_analog16rc_main_battrc_backup_battpwmSpec1pwmSpec2pwmSpec3pwmSpec4C:\mcc18\h\adc.hportconfigC:\FrcCode_2006_8722\ifi_library.cpwm_maskxferbufrtxferbufrrxferbufrInterruptVectorHighInterruptVectorHighInterruptHandlerHighSetup_Spi_SlaveInitialize_RegistersIFI_InitializationUser_Proc_Is_ReadyPrep_SPI_4_First_ByteHandle_Spi_IntClear_SPIdata_flagpwmSpec1pwmSpec2pwmSpec3pwmSpec4Setup_PWM_Output_TypepwmSpec1pwmSpec2pwmSpec3pwmSpec4Check_4_ViolationsC:\mcc18\h\p18cxxx.hC:\mcc18\h\p18f8722.hC:\FrcCode_2006_8722\ifi_aliases.h___return_lbl00000OpenSPI1GetDataFromMasterSendDataToMasterPOSTINC1INTCONbitsPIR1bitsPOSTDEC1INTCON2bitsPSPCONbitsMEMCONbitsIPR1bitsRCONbitsPIE1bitsINTCON3bitsstatusflagT0CONbitsPORTCbitsPORTAbitsTRISCbitsTRISAbitsgRX_BUFF1gRX_BUFF0gTX_BUFF0gTX_BUFF1PWMdisableMaskPOSTINC0POSTDEC0SSPCON1bitsLATHbitsTRISBbitsTRISFbitsutil_lib.o/ 1128981956l13778l` 4JC-NxV!uSPI_VAR~2 nn*\ؤj>8 ز*nP ز*n P ش****jjjj........>n.n.n.2 2112 2( * * 8 : < < J L TXf fh6lptx|     7     " &*.26:>BFJNRVZ^bfjlpv v| 9      : $(,048 < @ D H LPTX\`dhlptx|- -!"#$! !- -" "- -# #- -$ $- -% %& &' '( (FF! !>>- -" "??- -# #@@- -$ $A A - -% %BB) )& &C C") ")&' &'(D*D,) ,)0( 0(2E4E6) 6)8K:K<* <*>=@=F* F*PIRIT* T*VGXG\* \*fIhIj* j*lHnHvJxJ+ ++ +LL  "$&(*,.02468:<>@BDFHJLN&P*R*T+V+X,Z-\-^.`/b/d1f2h3j3l4n4p5r5t6v6x7z7|8~899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSVVWWXXYYZZ[[\\]] ^ ^__``aabbc c"d$d&e(e*f,f.g0g2h4h6i8i:j<j>k@kBlDlFmHmJnLnNoPoRpTpVqXqZr\r^s`sbtdtfuhujxlxnypyrzt~vxz|~   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~         !66899:;=>>?@BCCDEGHII J KNOPPQSTUU V"X$Y&Z(Z*[,].^0_2_4`6c8c:d<e>e@fBjDkFlHmJnLoNpPpRqTrVrXsZt\u^v`wbxdyfyhzj{l{n|p}rtvxz|~.fileg.fileg& .listl.nolistl.filegA#.listl.nolist l.listyl.eofk.eofk]j~mSPI_VARmgSPICNTtmp     " -8CNYCntCnt1dom$PRlv(5CLP4V`jt~$.8DDL1HDL2^ts_delayzAdjust4Adj_lp4.eofkC:\FrcCode_2006_8722\Util_lib.asmC:\mcc18\mpasm\p18cxxx.incC:\mcc18\mpasm\P18F8722.INCWait4TXEmptystatusflagCOPY_VARCOPY_VARgTX_BUFF0gTX_BUFF1gRX_BUFF0gRX_BUFF1gTX_PTRHgTX_PTRLgRX_PTRHgRX_PTRLFSRH_tempFSRL_tempgSPI_RCV_PTRgSPI_XMT_PTRgPWM_DATA1gPWM_DATA2gPWM_DATA3gPWM_DATA4gPWM_DATA5gPWM_DATA6gPWM_DATA7gPWM_DATA8PORT_TRASHtxPWM_MASKPWMdisableMaskUTIL_LIBUTIL_LIBClear_MemoryClear_LoopClear_BankHex_outputUpdateLocalPWMDirectionSendDataToMasterMoveData4Buff0TerminateSendGetDataFromMasterMoveDataFromBuff1TerminateGetGenerate_PwmsGenerate_Pwms_ContLP4_Cont1LP4_Cont2LP4_Cont3LP4_Cont4LP4_Cont5LP4_Cont6LP4_Cont7LP4_Cont8Dead_Space_LoopPwm_Delayifi_utilities.o/ 1128981956l22693l` 4JC!!X@2KbR1 eR nRPo oj%nQ"PnRPnR nRjnnn^PnnRR5QPUPokkkQ5Q]QY%n!nPn+#Rk]**PnR+ nRooQokQQRR n+#5QUkkn<nRR2nRR& nR PnjPnR~  tt  "$ &(,.0246 : > @ DF H J L N P RtTtV XZ\^` b dtfth l np rtxz|~bbbbbb  vv     uu                         "$( .02 68< > @ BtDtF HJ P RT VX\^` bd fh jl np r v x |~ tt tt         xx   ww    } } ||{{z z"y$y& (b *b,b.b0 2b4b 6b 8b:b<b>@bBDFbHJbLbNPbRVXZ \^//1/4A A AACCCCCCDD E"F$F&F(F*S,S.S0S2U4U6U8U:U<U>U@VBVDVFVHVJVLVNVPVRVTVVWXWZW\W^W`WbWdWfWhXjXlYnZpZrZtZvgxgzg|g~kkkkkkkkkkkkkkkkkkkkkkkllllllllllllmmmmmmmmmmmoooooooooooooqqqqqqqqroo o ootttt     " $ & ( * , . 0 2 4 6 8 : < > @ B D F H J L N P R T V X Z \^`bdfhjlnprtvxz|~88888888888888EEEEEEEEEEEQQQQQQQQ Q QQQQQQQQQQ Q"Q$Q&Q(Q*Q,Q.Q0Q2Q4Q6Q8Q:Q<Q>Q@QBQDQFQHQJQLQNQPQRQTQVQXQZQ\Q^Q`Q.filega.eofk.filegconfig spbrgdatabufferlen datadata config spbrgdatabufferlen datadata .eofk.file'g    rdptrlength wrptr    rdptrlength wrptr.eofk.file.g config1 config2  channel .eofk.file6g(config config config config config .eofk.file@g=config timer0config timer1config config timer3.eofk.filegQs1s2n s1s2n s1s2s1s2n s1s2s1s2n s1s2n s1s2s1s2n sc n sc s1s2s1s2sc s1s2s1s2s1s2sc n ssss1s2n s1s2n s1s2n s1s2n s1s2n s1s2n s1s2s1s2s1s2s1s2n s1s2n s1s2n s1s2s1s2s1s2s1s2n s1s2n s1s2n s1s2n s1s2n s1s2n s1s2s1s2s1s2s1s2n s1s2n s1s2n sc n sc s1s2s1s2s1s2s1s2s1s2s1s2s1s2s1s2s1s2s1s2s1s2s1s2s1s2s1s2s1s2sc n sss.eofk.filegeperiodv  period  period  periodperiod.eofk.fileg  , : .eofk.filegHk bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 .eosfu  data .eosf ! data .eosf (allbits  .eosf! /allbits  .eosf(  Y   ! (      & / 8 A J S \ e n w             control .eosf/ ptr/  e   " - .eosfY6 nallbits @ mode Y.eosfeJ uallbits T .eosfn^ |allbits h .eosfur allbits | .eosf| allbits  .eosf    e n u |      ( 4 @ L X d p |      reserve<.eosf ptr .eofk.filegtemp pwm_13 pwm_14 pwm_15 pwm_16 odata odatabufrbufr channel .eofk.fileeg$IYj2PPptrPyR S !.bfe,.bbd-.bbd0.ebd2.ebd4.efe4odata  !6t.bf eAodata .bbdB.ebdF.ef*eFodata,!Ft.bf,eSodata.bbdT.ebdZ.efveZbufrx!uv.bfxegbufr.bbdhlenTIV.bbdp.ebds.ebdt.efetbufr!t.bfe bufr.bbd.bbd.ebd.ebd.efZe\!t.bf\e<.bbd5.bbd/.bbd).ebd.bbd-.ebd.ebd.bbd3.ebd.ebd.efe!&wx.bfeG.bbdA.ebd.efe  !.bfeX) .bbdM.ebd.efe< H.yz{|}.bfeY .bbd_result.ebd.ef`e__tmp_02.eofk.filehgn.eofk.filekg.eofk.fileng.eofk.fileqg.eofk.fileg.eofk!strlen-b!!%!ReadADC$BusyADC".!9!E FSR2L N FSR1L PLUSW2 W TXREG1 INDF1 FSR0L INDF0 TABLAT PRODL WREG rxdata`ADRESH ADRESL k t }.udata_ifi_utilities.o.idata_ifi_utilities.o.romdata_ifi_utilities.o.code_ifi_utilities.oC:\FrcCode_2006_8722\ifi_utilities.cC:\mcc18\h\usart.hbaudconfigbaudconfigC:\mcc18\h\spi.hsync_modebus_modesmp_phasedata_outsync_modebus_modesmp_phasedata_outC:\mcc18\h\adc.hportconfigC:\mcc18\h\capture.hC:\mcc18\h\timers.hC:\mcc18\h\string.hC:\mcc18\h\pwm.hduty_cycleoutput_configpwm_modeduty_cycleoutput_configpwm_modeduty_cycleoutput_configpwm_modeduty_cycleduty_cycleC:\FrcCode_2006_8722\delays.h__parameter_1__parameter_1__parameter_1__parameter_1C:\FrcCode_2006_8722\ifi_default.h__tag_232__tag_239bitselect__tag_240bitselect__tag_241bitselect__tag_242bitselect__tag_243LED_byte1LED_byte2user_byte1user_byte2rc_pwm01rc_pwm02rc_pwm03rc_pwm04rc_pwm05rc_pwm06rc_pwm07rc_pwm08rc_pwm09rc_pwm10rc_pwm11rc_pwm12rc_pwm13rc_pwm14rc_pwm15rc_pwm16user_cmdcmd_byte1pwm_maskwarning_codeuser_byte3user_byte4user_byte5user_byte6error_codepacketnumcurrent_mode__tag_231__member_0user_displayautonomousdisabled__tag_233bitselect__tag_234bitselect__tag_235bitselect__tag_236bitselect__tag_237bitselect__tag_238packet_numrc_mode_byteoi_swA_byteoi_swB_byterc_swA_byterc_swB_byteoi_analog01oi_analog02oi_analog03oi_analog04oi_analog05oi_analog06oi_analog07oi_analog08oi_analog09oi_analog10oi_analog11oi_analog12oi_analog13oi_analog14oi_analog15oi_analog16rc_main_battrc_backup_battpwmSpec1pwmSpec2pwmSpec3pwmSpec4C:\FrcCode_2006_8722\ifi_utilities.hnumber_of_channelsC:\FrcCode_2006_8722\ifi_utilities.cifi_packet_num1ifi_last_packet1ifi_printfBufrifi_countifi_analog_channelsWait4TXEmptyPrintBytePrintWordPrintStringDisplayBufrPacketNum_CheckInitialize_Serial_Commsnumber_of_channelsSet_Number_of_Analog_Channelsnumber_of_channelsADC_channelGet_Analog_ValueADC_channel.tmpdataC:\mcc18\h\stddef.hC:\FrcCode_2006_8722\ifi_aliases.hC:\mcc18\h\p18cxxx.hC:\mcc18\h\p18f8722.hC:\FrcCode_2006_8722\user_routines.hHex_outputstrcpypgm2ramDelay1KTCYxOpen1USARTCloseADCConvertADCDelay10TCYxPIR1bitsPOSTINC1POSTDEC1statusflagPOSTINC2POSTDEC2