ÐÏࡱá>þÿ þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿþÿÿÿþÿÿÿ þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ`lt®|È@ MAIN ÿÿÿÿÿÿÿÿÛ RSCOMPSTG1ÿÿÿÿÿÿÿÿžs†‚þ,D¨ó_ñw~§`ûq®|È`ûq®|ÈCONTENTSÿÿÿÿÿÿÿÿÿÿÿÿ0þÿÿÿ  !"#$%&'()*+,-./01234þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“²0 òWG _extentx  òWG _extentyx±·Ïport01±¤bit0 ,z¥C$adc_display,\é8knob_background_color ~i÷8knob_foreground_color¹6Úøþÿÿknobnameÿÿ RSComponentADC16f877a,0x2007,0x3f3a ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“&Îÿÿ RSFlowlineMainXXþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿKþÿÿÿ9üÿÿÿÿÿÿÿÿ þÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿ ÿÿRSStartStopCmdMainÿÿRSCalculationCmd Channel minimum duties (x6.51us)ÿÿ Calculation104 servo_min[0] €104 servo_min[1] €104 servo_min[2] €104 servo_min[3] €104 servo_min[4] €104 servo_min[5] €104 servo_min[6] €104 servo_min[7]€,Channel duty offset initialisation (x6.51us) €0 servo_pos[0] €42 servo_pos[1] €85 servo_pos[2] €127 servo_pos[3] €170 servo_pos[4] €212 servo_pos[5] €255 servo_pos[6] €0 servo_pos[7]€ Initialise servo channel counter €0servo_chÿÿ RSCCodeCmd Set servo channel period (2.5ms)ccpr1h = 0x06; ccpr1l = 0x00; ÿÿRSInterruptCmdServo channel interruptCCP1_isrTMR0CCP1 isrCCP1IEpie1CCP1IFpir10t1con = 0x31; ccp1con = 0x0b; intcon.PEIE = 1;Cif (pir1 & (1 << CCP1IF)) { FCM_%n(); clear_bit(pir1, CCP1IF); } >t1con = 0x31; ccp1con = 0x0b; intcon.PEIE = 1;pie1.CCP1IE=1;pie1.CCP1IE=0; €Servo duty interruptCCP2_isrTMR0CCP2 isrCCP2IEpie2CCP2IFpir20t1con = 0x31; ccp2con = 0x0a; intcon.PEIE = 1;Cif (pir2 & (1 << CCP2IF)) { FCM_%n(); clear_bit(pir2, CCP2IF); } @t1con = 0x31; ccp2con = 0x0a; intcon.PEIE = 1; pie2.CCP2IE=1; pie2.CCP2IE=0; ÿÿ RSLoopCmdLoop1MainXX€MainÿÿRSMacroCallCmd Sample ADC1 SampleADCADC(0)0%€ Read ADC1 ReadAsByteADC(0)adc1val€Write ADC to servo7 €adc1val servo_pos[7]€Main€Main€CCP1_isrXXþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿKOù³ÿÿÿÿÿÿÿÿ þÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿ€CCP1_isr€Select servo channel €( servo_ch + 1 ) AND 0x07servo_ch€Select servo output €( 1 << servo_ch )servo_onÿÿ RSOutputCmdSet servo channel outputservo_on€,Calculate servo channel duty values for CCP2 €)servo_pos[servo_ch] + servo_min[servo_ch] servo_val €( servo_val << 2 )servo_l €( servo_val >> 6 )servo_h€*Copy channel duty values to CCP2 registers+ccpr2h = FCV_SERVO_H; ccpr2l = FCV_SERVO_L;€CCP1_isr€CCP2_isrXXþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿKý¬Ìÿÿÿÿÿÿÿÿ þÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿ€CCP2_isr2€Clear all servo channel outputs0€CCP2_isr SERVO_MINÿÿVariable servo_min  SERVO_POS>€ servo_pos ADC1VAL>€adc1valSERVO_H>€servo_hSERVO_ON>€servo_onSERVO_L>€servo_l SERVO_VAL>€ servo_valSERVO_CH>€servo_ch