diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/2520.cfgsch b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/2520.cfgsch new file mode 100644 index 0000000..2f42b33 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/2520.cfgsch @@ -0,0 +1,146 @@ + + + + P18F2520 + 16 + + 34 + + Oscillator Selection + Internal oscillator block, port function on RA6 and RA7 + + + Fail-Safe Clock Monitor + Disabled + + + Internal/External Oscillator Switchover + Disabled + + + Power-up Timer + Enabled + + + Brown-out Reset + Enabled + + + Brown Out Reset Voltage + Minimum setting + + + Watchdog Timer + Enabled + + + Watchdog Timer Postscale + 1:256 + + + CCP2 MUX bit + CCP2 input/output is multiplexed with RC1 + + + PORTB A/D + Disabled + + + Low-Power Timer1 Oscillator + Disabled + + + MCLR Pin + Enabled + + + Stack Full/Underflow Reset + Enabled + + + Low Voltage Program + Disabled + + + Extended Instruction Set + Disabled + + + Background Debug + Disabled + + + Code Protection (Block 0) + Block 0 (000800-001FFFh) is not code-protected + + + Code Protection (Block 1) + Block 1 (002000-003FFFh) is not code-protected + + + Code Protection (Block 2) + Block 2 (004000-005FFFh) is not code-protected + + + Code Protection (Block 3) + Block 3 (006000-007FFFh) is not code-protected + + + Boot Block Code Protection + Disabled + + + Data EEPROM Code Protection + Disabled + + + Write Protection (Block 0) + Block 0 (000800-001FFFh) or (001000-001FFFh) is not write-protected + + + Write Protection (Block 1) + Block 1 (002000-003FFFh) is not write-protected + + + Write Protection (Block 2) + Block 2 (004000-005FFFh) is not write-protected + + + Write Protection (Block 3) + Block 3 (006000-007FFFh) is not write-protected + + + Configuration Register Write Protection + Disabled + + + Boot Block Write Protection + Disabled + + + Data EEPROM Write Protection + Disabled + + + Table Read Protection (Block 0) + Block 0 (000800-001FFFh) is not protected from table reads executed in other blocks + + + Table Read Protection (Block 1) + Block 1 (002000-003FFFh) is not protected from table reads executed in other blocks + + + Table Read Protection (Block 2) + Block 2 (004000-005FFFh) not protected from table reads executed in other blocks + + + Table Read Protection bi (Block 3) + Block 3 (006000-007FFFh) not protected from table reads executed in other blocks + + + Boot Block Table Read Protection + Disabled + + + + diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.cfg b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.cfg new file mode 100644 index 0000000..1401434 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.cfg @@ -0,0 +1,42 @@ + + + + P18F2520 + + 11 + + $300001:$0008 + + + $300002:$001A + + + $300003:$0011 + + + $300005:$0081 + + + $300006:$0081 + + + $300008:$000F + + + $300009:$00C0 + + + $30000A:$000F + + + $30000B:$00E0 + + + $30000C:$000F + + + $30000D:$0040 + + + + diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.dbg b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.dbg new file mode 100644 index 0000000..aa23081 Binary files /dev/null and b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.dbg differ diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.dct b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.dct new file mode 100644 index 0000000..19bc56e --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.dct @@ -0,0 +1,1287 @@ +____doifc +___boot_delay128k +___boot_delay12k +___boot_delay16k +___boot_delay24k +___boot_delay32k +___boot_delay48k +___boot_delay4k +___boot_delay64k +___boot_delay8k +__ca2aw +__cc2d +__cc2dw +__cca2aw +__ccs2s +__cs2s +__flash_size +__fzins +__low_savebsr +__low_savestatus +__low_savewreg +_adc_external_ref +_adc_external_vrefh +_adc_external_vrefl +_adc_internal_ref +a +abden +abden_bit +abdovf +abdovf_bit +access +ackdt +ackdt_bit +acken +acken_bit +ackstat +ackstat_bit +acqt0 +acqt0_bit +acqt1 +acqt1_bit +acqt2 +acqt2_bit +acss +acss_bit +adc_get_sample +adc_get_sample_ptr +adc_init +adc_init_advanced +adc_read +adcon0 +adcon1 +adcon2 +adcs0 +adcs0_bit +adcs1 +adcs1_bit +adcs2 +adcs2_bit +add_32x32_fp +adden +adden_bit +aden +aden_bit +adfm +adfm_bit +adie +adie_bit +adif +adif_bit +adip +adip_bit +admsk1 +admsk1_bit +admsk2 +admsk2_bit +admsk3 +admsk3_bit +admsk4 +admsk4_bit +admsk5 +admsk5_bit +adon +adon_bit +adres +adresh +adresl +an0 +an0_bit +an1 +an1_bit +an10 +an10_bit +an11 +an11_bit +an12 +an12_bit +an2 +an2_bit +an3 +an3_bit +an4 +an4_bit +an8 +an8_bit +an9 +an9_bit +atu_reset +auto +auto_delta +auto_mem +b0 +b1 +b2 +b3 +b4 +b5 +b6 +b7 +banked +baudcon +baudctl +bcd2dec +bcd2dec16 +bclie +bclie_bit +bclif +bclif_bit +bclip +bclip_bit +bf +bf_bit +bgst +bgst_bit +bor +bor_bit +brg16 +brg16_bit +brgh +brgh_bit +bsr +btn_push +but +button +button_delay +button_proc +button_proc_test +bypas +byte2double +bytetohex +bytetostr +bytetostrwithzeros +c +c_bit +c1inv +c1inv_bit +c1out_cmcon +c1out_cmcon_bit +c1out_porta +c1out_porta_bit +c2inv +c2inv_bit +c2out_cmcon +c2out_cmcon_bit +c2out_porta +c2out_porta_bit +cap_10 +cap_100 +cap_22 +cap_220 +cap_47 +cap_mem +cap_sw +cap1 +cap2 +cap3 +cap4 +cap5 +ccp1 +ccp1_bit +ccp1con +ccp1ie +ccp1ie_bit +ccp1if +ccp1if_bit +ccp1ip +ccp1ip_bit +ccp1m0 +ccp1m0_bit +ccp1m1 +ccp1m1_bit +ccp1m2 +ccp1m2_bit +ccp1m3 +ccp1m3_bit +ccp1x +ccp1x_bit +ccp1y +ccp1y_bit +ccp2_portb +ccp2_portb_bit +ccp2_portc +ccp2_portc_bit +ccp2con +ccp2ie +ccp2ie_bit +ccp2if +ccp2if_bit +ccp2ip +ccp2ip_bit +ccp2m0 +ccp2m0_bit +ccp2m1 +ccp2m1_bit +ccp2m2 +ccp2m2_bit +ccp2m3 +ccp2m3_bit +ccp2x +ccp2x_bit +ccp2y +ccp2y_bit +ccpr1 +ccpr1h +ccpr1l +ccpr2 +ccpr2h +ccpr2l +cells_init +cfgs +cfgs_bit +chs0 +chs0_bit +chs1 +chs1_bit +chs2 +chs2_bit +chs3 +chs3_bit +cis +cis_bit +ck +ck_bit +cke +cke_bit +ckp +ckp_bit +clki +clki_bit +clko +clko_bit +cm0 +cm0_bit +cm1 +cm1_bit +cm2 +cm2_bit +cmcon +cmie +cmie_bit +cmif +cmif_bit +cmip +cmip_bit +coarse_cap +coarse_tune +comfrem +compare_double +correction +cren +cren_bit +csrc +csrc_bit +cvr0 +cvr0_bit +cvr1 +cvr1_bit +cvr2 +cvr2_bit +cvr3 +cvr3_bit +cvrcon +cvref +cvref_bit +cvren +cvren_bit +cvroe +cvroe_bit +cvrr +cvrr_bit +cvrss +cvrss_bit +d +d_a +d_a_bit +d_bit +d_not_a +d_not_a_bit +dc +dc_bit +dc1b0 +dc1b0_bit +dc1b1 +dc1b1_bit +dc2b0 +dc2b0_bit +dc2b1 +dc2b1_bit +dec2bcd +dec2bcd16 +delay_100ms +delay_10ms +delay_10us +delay_1ms +delay_1sec +delay_1us +delay_22us +delay_500us +delay_50us +delay_5500us +delay_5ms +delay_80us +delay_8ms +delay_cyc +div_16x16_s +div_16x16_s_l +div_16x16_u +div_32x32_fp +div_32x32_s +div_32x32_u +div_8x8_s +div_8x8_u +done +done_bit +double2byte +double2int +double2longint +double2longword +double2word +dysp_cnt +dysp_cnt_mult +dysp_delay +dysp_off +dysp_on +eccp1as +eccp1del +eccpas +eccpas0 +eccpas0_bit +eccpas1 +eccpas1_bit +eccpas2 +eccpas2_bit +eccpase +eccpase_bit +eeadr +eecon1 +eecon2 +eedata +eeie +eeie_bit +eeif +eeif_bit +eeip +eeip_bit +eepgd +eepgd_bit +eeprom_read +eeprom_write +equals_double +f +fast +ferr +ferr_bit +fid_loss +fixsign32 +floattostr +floattostr_fixlen +flt0 +flt0_bit +flts +flts_bit +forward +free +free_bit +fsr0 +fsr0h +fsr0l +fsr0ptr +fsr1 +fsr1h +fsr1l +fsr1ptr +fsr2 +fsr2h +fsr2l +fsr2ptr +gcen +gcen_bit +get_forward +get_fosc_khz +get_pwr +get_reverse +get_swr +gie +gie_bit +gie_gieh +gie_gieh_bit +gieh +gieh_bit +giel +giel_bit +go +go_bit +go_done +go_done_bit +go_not_done +go_not_done_bit +high +hlvdcon +hlvden +hlvden_bit +hlvdie +hlvdie_bit +hlvdif +hlvdif_bit +hlvdin +hlvdin_bit +hlvdip +hlvdip_bit +hlvdl0 +hlvdl0_bit +hlvdl1 +hlvdl1_bit +hlvdl2 +hlvdl2_bit +hlvdl3 +hlvdl3_bit +ics_auto +ics_off +idlen +idlen_bit +ind_011 +ind_022 +ind_045 +ind_1 +ind_22 +ind_mem +ind1 +ind2 +ind3 +ind4 +ind5 +indf0 +indf1 +indf2 +int0 +int0_bit +int0e +int0e_bit +int0f +int0f_bit +int0ie +int0ie_bit +int0if +int0if_bit +int1 +int1_bit +int1e +int1e_bit +int1f +int1f_bit +int1ie +int1ie_bit +int1if +int1if_bit +int1ip +int1ip_bit +int1p +int1p_bit +int2 +int2_bit +int2double +int2e +int2e_bit +int2f +int2f_bit +int2ie +int2ie_bit +int2if +int2if_bit +int2ip +int2ip_bit +int2p +int2p_bit +intcon +intcon2 +intcon3 +intedg0 +intedg0_bit +intedg1 +intedg1_bit +intedg2 +intedg2_bit +intsrc +intsrc_bit +inttohex +inttostr +inttostrwithzeros +iofs +iofs_bit +ipen +ipen_bit +ipr1 +ipr2 +ircf0 +ircf0_bit +ircf1 +ircf1_bit +ircf2 +ircf2_bit +irvst +irvst_bit +ivrst +ivrst_bit +kbi0 +kbi0_bit +kbi1 +kbi1_bit +kbi2 +kbi2_bit +kbi3 +kbi3_bit +l +l_nibble +lata +lata0 +lata0_bit +lata1 +lata1_bit +lata2 +lata2_bit +lata3 +lata3_bit +lata4 +lata4_bit +lata5 +lata5_bit +lata6 +lata6_bit +lata7 +lata7_bit +latb +latb0 +latb0_bit +latb1 +latb1_bit +latb2 +latb2_bit +latb3 +latb3_bit +latb4 +latb4_bit +latb5 +latb5_bit +latb6 +latb6_bit +latb7 +latb7_bit +latc +latc0 +latc0_bit +latc1 +latc1_bit +latc2 +latc2_bit +latc3 +latc3_bit +latc4 +latc4_bit +latc5 +latc5_bit +latc6 +latc6_bit +latc7 +latc7_bit +lcd_ind +lcd_prep +lcd_prep_short +lcd_pwr +lcd_swr +led_init +led_send +led_wr_str +longint2double +longinttohex +longinttostrwithzeros +longjmp +longtostr +longword2double +longwordtohex +longwordtostr +longwordtostrwithzeros +loss_mode +low +ltrim +lvdcon +lvden +lvden_bit +lvdie +lvdie_bit +lvdif +lvdif_bit +lvdin +lvdin_bit +lvdip +lvdip_bit +lvdl0 +lvdl0_bit +lvdl1 +lvdl1_bit +lvdl2 +lvdl2_bit +lvdl3 +lvdl3_bit +lvv0 +lvv0_bit +lvv1 +lvv1_bit +lvv2 +lvv2_bit +lvv3 +lvv3_bit +m_nibble +main +mclr +mclr_bit +mid +mul_16x16_s +mul_16x16_u +mul_32x32_fp +mul_32x32_s +mul_32x32_u +mul_8x8_s +n +n_bit +n_tx +not_a +not_a_bit +not_address +not_address_bit +not_bor +not_bor_bit +not_done +not_done_bit +not_mclr +not_mclr_bit +not_pd +not_pd_bit +not_por +not_por_bit +not_rbpu +not_rbpu_bit +not_ri +not_ri_bit +not_ss +not_ss_bit +not_t1sync +not_t1sync_bit +not_t3sync +not_t3sync_bit +not_to +not_to_bit +not_w +not_w_bit +not_write +not_write_bit +nrm3232 +nrm4032 +oerr +oerr_bit +oled_init +oled_wr_str +osc1 +osc1_bit +osc2 +osc2_bit +osccon +oscfie +oscfie_bit +oscfif +oscfif_bit +oscfip +oscfip_bit +osctune +osts +osts_bit +ov +ov_bit +p +p_bit +p_cnt +p_max +p_tx +pc +pcfg0 +pcfg0_bit +pcfg1 +pcfg1_bit +pcfg2 +pcfg2_bit +pcfg3 +pcfg3_bit +pcl +pclath +pclatu +pcu0 +pcu0_bit +pcu1 +pcu1_bit +pcu2 +pcu2_bit +pcu3 +pcu3_bit +pcu4 +pcu4_bit +pd +pd_bit +peie +peie_bit +peie_giel +peie_giel_bit +pen +pen_bit +pgc +pgc_bit +pgd +pgd_bit +pgm +pgm_bit +pic_init +pie1 +pie2 +pir1 +pir2 +pllen +pllen_bit +plusw0 +plusw1 +plusw2 +por +por_bit +port_to_tris_offset +porta +portb +portc +porte +postdec0 +postdec1 +postdec2 +postinc0 +postinc1 +postinc2 +power +power_old +pr2 +preinc0 +preinc1 +preinc2 +prod +prodh +prodl +prsen +prsen_bit +psa +psa_bit +pssac0 +pssac0_bit +pssac1 +pssac1_bit +pwm1con +pwr +r +r_bit +r_not_w +r_not_w_bit +r_w +r_w_bit +r0 +r1 +r10 +r11 +r12 +r13 +r14 +r15 +r16 +r17 +r18 +r19 +r2 +r20 +r3 +r4 +r5 +r6 +r7 +r8 +r9 +ra0 +ra0_bit +ra1 +ra1_bit +ra2 +ra2_bit +ra3 +ra3_bit +ra4 +ra4_bit +ra5 +ra5_bit +ra6 +ra6_bit +ra7 +ra7_bit +rb0 +rb0_bit +rb1 +rb1_bit +rb2 +rb2_bit +rb3 +rb3_bit +rb4 +rb4_bit +rb5 +rb5_bit +rb6 +rb6_bit +rb7 +rb7_bit +rbie +rbie_bit +rbif +rbif_bit +rbip +rbip_bit +rbpu +rbpu_bit +rc0 +rc0_bit +rc1 +rc1_bit +rc2 +rc2_bit +rc3 +rc3_bit +rc4 +rc4_bit +rc5 +rc5_bit +rc6 +rc6_bit +rc7 +rc7_bit +rcen +rcen_bit +rcidl +rcidl_bit +rcie +rcie_bit +rcif +rcif_bit +rcip +rcip_bit +rcmt +rcmt_bit +rcon +rcreg +rcsta +rd +rd_bit +rd16 +rd16_bit +rd16_t1con_bit +re3 +re3_bit +res032 +restart +ri +ri_bit +rready +rsen +rsen_bit +rtrim +rx_ +rx__bit +rx9 +rx9_bit +rx9d +rx9d_bit +rxdtp +rxdtp_bit +s +s_bit +sboren +sboren_bit +sck +sck_bit +sckp +sckp_bit +scl +scl_bit +scs0 +scs0_bit +scs1 +scs1_bit +sda +sda_bit +sdi +sdi_bit +sdiv3232l +sdo +sdo_bit +sen +sen_bit +send_command +sendb +sendb_bit +set_addressing +set_cap +set_ind +set_sw +setfdz32 +setfov32 +setfun32 +setiov3224 +setjmp +sharp_cap +sharp_ind +shorttohex +shorttostr +shorttostrwithzeros +show_loss +show_pwr +show_reset +smp +smp_bit +soft_i2c_init +soft_i2c_scl +soft_i2c_scl +soft_i2c_scl_direction +soft_i2c_scl_direction +soft_i2c_sda +soft_i2c_sda +soft_i2c_sda_direction +soft_i2c_sda_direction +soft_i2c_start +soft_i2c_stop +soft_i2c_write +soft_tune +sp0 +sp0_bit +sp1 +sp1_bit +sp2 +sp2_bit +sp3 +sp3_bit +sp4 +sp4_bit +spbrg +spbrgh +spen +spen_bit +sren +sren_bit +ss +ss_bit +sspadd +sspbuf +sspcon1 +sspcon2 +sspen +sspen_bit +sspie +sspie_bit +sspif +sspif_bit +sspip +sspip_bit +sspm0 +sspm0_bit +sspm1 +sspm1_bit +sspm2 +sspm2_bit +sspm3 +sspm3_bit +sspov +sspov_bit +sspstat +status +stkful +stkful_bit +stkovf +stkovf_bit +stkptr +stkunf +stkunf_bit +sub_32x32_fp +sw_mem +swap +swdte +swdte_bit +swdten +swdten_bit +swr +swr_a +swr_fixed +swr_fixed_old +swr_old +sync +sync_bit +t016bit +t016bit_bit +t08bit +t08bit_bit +t0cki +t0cki_bit +t0con +t0cs +t0cs_bit +t0ie +t0ie_bit +t0if +t0if_bit +t0ps0 +t0ps0_bit +t0ps1 +t0ps1_bit +t0ps2 +t0ps2_bit +t0ps3 +t0ps3_bit +t0se +t0se_bit +t13cki +t13cki_bit +t1cki +t1cki_bit +t1ckps0 +t1ckps0_bit +t1ckps1 +t1ckps1_bit +t1con +t1oscen +t1oscen_bit +t1osi +t1osi_bit +t1oso +t1oso_bit +t1run +t1run_bit +t1sync +t1sync_bit +t2ckps0 +t2ckps0_bit +t2ckps1 +t2ckps1_bit +t2con +t2outps0 +t2outps0_bit +t2outps1 +t2outps1_bit +t2outps2 +t2outps2_bit +t2outps3 +t2outps3_bit +t3ccp1 +t3ccp1_bit +t3ccp2 +t3ccp2_bit +t3ckps0 +t3ckps0_bit +t3ckps1 +t3ckps1_bit +t3con +t3sync +t3sync_bit +tablat +tblptr +tblptrh +tblptrl +tblptru +tblptru0 +tblptru0_bit +tblptru1 +tblptru1_bit +tblptru2 +tblptru2_bit +tblptru3 +tblptru3_bit +tblptru4 +tblptru4_bit +test +test_init +tmr0h +tmr0ie +tmr0ie_bit +tmr0if +tmr0if_bit +tmr0ip +tmr0ip_bit +tmr0l +tmr0on +tmr0on_bit +tmr1cs +tmr1cs_bit +tmr1h +tmr1ie +tmr1ie_bit +tmr1if +tmr1if_bit +tmr1ip +tmr1ip_bit +tmr1l +tmr1on +tmr1on_bit +tmr2 +tmr2ie +tmr2ie_bit +tmr2if +tmr2if_bit +tmr2ip +tmr2ip_bit +tmr2on +tmr2on_bit +tmr3cs +tmr3cs_bit +tmr3h +tmr3ie +tmr3ie_bit +tmr3if +tmr3if_bit +tmr3ip +tmr3ip_bit +tmr3l +tmr3on +tmr3on_bit +to_ +to__bit +tosh +tosl +tosu +toutps0 +toutps0_bit +toutps1 +toutps1_bit +toutps2 +toutps2_bit +toutps3 +toutps3_bit +track +trisa +trisa0 +trisa0_bit +trisa1 +trisa1_bit +trisa2 +trisa2_bit +trisa3 +trisa3_bit +trisa4 +trisa4_bit +trisa5 +trisa5_bit +trisa6 +trisa6_bit +trisa7 +trisa7_bit +trisb +trisb0 +trisb0_bit +trisb1 +trisb1_bit +trisb2 +trisb2_bit +trisb3 +trisb3_bit +trisb4 +trisb4_bit +trisb5 +trisb5_bit +trisb6 +trisb6_bit +trisb7 +trisb7_bit +trisc +trisc0 +trisc0_bit +trisc1 +trisc1_bit +trisc2 +trisc2_bit +trisc3 +trisc3_bit +trisc4 +trisc4_bit +trisc5 +trisc5_bit +trisc6 +trisc6_bit +trisc7 +trisc7_bit +trmt +trmt_bit +tun0 +tun0_bit +tun1 +tun1_bit +tun2 +tun2_bit +tun3 +tun3_bit +tun4 +tun4_bit +tune +tx +tx_bit +tx9 +tx9_bit +tx9d +tx9d_bit +txckp +txckp_bit +txen +txen_bit +txie +txie_bit +txif +txif_bit +txip +txip_bit +txreg +txsta +type +ua +ua_bit +vcfg0 +vcfg0_bit +vcfg1 +vcfg1_bit +vdelay_advanced_ms +vdelay_ms +vdirmag +vdirmag_bit +vpp +vpp_bit +vref_mask +vrefn +vrefn_bit +vrefp +vrefp_bit +w +wcol +wcol_bit +wdtcon +word2double +wordtohex +wordtostr +wordtostrwithzeros +work_char +work_int +work_str +work_str_2 +wr +wr_bit +wreg +wren +wren_bit +wrerr +wrerr_bit +wue +wue_bit +z +z_bit diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.dlt b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.dlt new file mode 100644 index 0000000..b7c8703 Binary files /dev/null and b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.dlt differ diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.ihex b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.ihex new file mode 100644 index 0000000..9d3a6c3 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.ihex @@ -0,0 +1,18 @@ +:0200000400F00A +:100000004E01001513050001020010FFFFFFFFFF66 +:1000100001100220045010002200FFFFFFFFFFFF2D +:1000200000100022004701000220FFFFFFFFFFFF3A +:10003000000100FFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:1000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:1000F000FFFFFFFFFFFFFFFFFFFFFFFFFF0100000C +:00000001FF diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.log b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.log new file mode 100644 index 0000000..d31f50e --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.log @@ -0,0 +1,15 @@ +0 1 mikroCPIC1618.exe -MSF -DBG -pP18F2520 -DL -O11111114 -fo16 -EH"E:\ATU-100\fw_mini\2550_mini_board_sources_V_3.1\atu_100_fw_00.ihex" -N"E:\ATU-100\fw_mini\2550_mini_board_sources_V_3.1\atu_100_fw_00.mcppi" -SP"D:\UserData\z00453wn\Documents\Mikroelektronika\mikroC PRO for PIC\Defs\" -SP"D:\UserData\z00453wn\Documents\Mikroelektronika\mikroC PRO for PIC\uses\P18\" -SP"E:\ATU-100\fw_mini\2550_mini_board_sources_V_3.1\" -IP"D:\UserData\z00453wn\Documents\Mikroelektronika\mikroC PRO for PIC\uses\P18\" "pic_init.c" "oled_control.c" "main.c" "__Lib_Math.mcl" "__Lib_MathDouble.mcl" "__Lib_System.mcl" "__Lib_Delays.mcl" "__Lib_Conversions.mcl" "__Lib_Button.mcl" "__Lib_ADC_A_D.mcl" "__Lib_EEPROM_256.mcl" +hint: 0 1139 Available RAM: 1515 [bytes], Available ROM: 32768 [bytes] +diagnostics: 0 122 Compilation Started pic_init.c +diagnostics: 31 123 Compiled Successfully pic_init.c +diagnostics: 0 122 Compilation Started oled_control.h +diagnostics: 406 123 Compiled Successfully oled_control.c +diagnostics: 0 122 Compilation Started oled_control.h +diagnostics: 859 123 Compiled Successfully main.c +diagnostics: 0 127 All files Compiled in 859 ms +hint: 0 1144 Used RAM (bytes): 796 (53%) Free RAM (bytes): 719 (47%) Used RAM (bytes): 796 (53%) Free RAM (bytes): 719 (47%) +hint: 0 1144 Used ROM (bytes): 24391 (74%) Free ROM (bytes): 8377 (26%) Used ROM (bytes): 24391 (74%) Free ROM (bytes): 8377 (26%) +diagnostics: 0 125 Project Linked Successfully atu_100_fw_00.mcppi +diagnostics: 0 128 Linked in 219 ms +diagnostics: 0 129 Project 'atu_100_fw_00.mcppi' completed: 1125 ms +diagnostics: 0 103 Finished successfully: 04 Nov 2020, 15:45:32 atu_100_fw_00.mcppi diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.lst b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.lst new file mode 100644 index 0000000..0d05c6b --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.lst @@ -0,0 +1,16499 @@ +; LST file generated by mikroListExporter - v.2.0 +; Date/Time: 11/4/2020 3:45:32 PM +;---------------------------------------------- + +;Address Opcode ASM +0x0000 0xF02BEF4A GOTO 22164 +0x0004 0x0000 NOP +0x0006 0x0000 NOP +0x0008 0xF000EF00 GOTO 0 +0x000C 0x0000 NOP +0x000E 0x0000 NOP +0x0010 0x0000 NOP +0x0012 0x0000 NOP +0x0014 0x0000 NOP +0x0016 0x0000 NOP +0x0018 0xD7F3 BRA 0 +_Soft_I2C_Start: +;oled_control.c,362 :: void Soft_I2C_Start () { +;oled_control.c,363 :: if(led_type!=0) { +0x001C 0x0102 MOVLB 2 +0x001E 0x51AB MOVF oled_control_led_type, 0, 1 +0x0020 0x0A00 XORLW 0 +0x0022 0xE018 BZ L_Soft_I2C_Start73 +;oled_control.c,364 :: Soft_I2C_Scl_Direction = 1; +0x0024 0x8C93 BSF TRISB6_bit, BitPos(TRISB6_bit+0) +;oled_control.c,365 :: Delay_us(5); +0x0026 0x0E06 MOVLW 6 +0x0028 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Start74: +0x002A 0x2E0D DECFSZ R13, 1, 0 +0x002C 0xD7FE BRA L_Soft_I2C_Start74 +0x002E 0x0000 NOP +;oled_control.c,366 :: Soft_I2C_Sda_Direction = 1; +0x0030 0x8E93 BSF TRISB7_bit, BitPos(TRISB7_bit+0) +;oled_control.c,367 :: Delay_us(5); +0x0032 0x0E06 MOVLW 6 +0x0034 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Start75: +0x0036 0x2E0D DECFSZ R13, 1, 0 +0x0038 0xD7FE BRA L_Soft_I2C_Start75 +0x003A 0x0000 NOP +;oled_control.c,368 :: Soft_I2C_Sda_Direction = 0; +0x003C 0x9E93 BCF TRISB7_bit, BitPos(TRISB7_bit+0) +;oled_control.c,369 :: Delay_us(5); +0x003E 0x0E06 MOVLW 6 +0x0040 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Start76: +0x0042 0x2E0D DECFSZ R13, 1, 0 +0x0044 0xD7FE BRA L_Soft_I2C_Start76 +0x0046 0x0000 NOP +;oled_control.c,370 :: Soft_I2C_Scl_Direction = 0; +0x0048 0x9C93 BCF TRISB6_bit, BitPos(TRISB6_bit+0) +;oled_control.c,371 :: Delay_us(5); +0x004A 0x0E06 MOVLW 6 +0x004C 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Start77: +0x004E 0x2E0D DECFSZ R13, 1, 0 +0x0050 0xD7FE BRA L_Soft_I2C_Start77 +0x0052 0x0000 NOP +;oled_control.c,372 :: } +L_Soft_I2C_Start73: +;oled_control.c,373 :: } +L_end_Soft_I2C_Start: +0x0054 0x0012 RETURN 0 +; end of _Soft_I2C_Start +_Soft_I2C_Write: +;oled_control.c,375 :: void Soft_I2C_Write (char d) { +;oled_control.c,377 :: if(led_type!=0) { +0x0056 0x0102 MOVLB 2 +0x0058 0x51AB MOVF oled_control_led_type, 0, 1 +0x005A 0x0A00 XORLW 0 +0x005C 0xE032 BZ L_Soft_I2C_Write78 +;oled_control.c,378 :: for(i=0; i<=7; i++) { +0x005E 0x6A01 CLRF R1 +L_Soft_I2C_Write79: +0x0060 0x5001 MOVF R1, 0 +0x0062 0x0807 SUBLW 7 +0x0064 0xE31C BNC L_Soft_I2C_Write80 +;oled_control.c,379 :: if(d.B7==0) Soft_I2C_Sda_Direction = 0; else Soft_I2C_Sda_Direction = 1; +0x0066 0x0103 MOVLB 3 +0x0068 0xBF30 BTFSC FARG_Soft_I2C_Write_d, 7, 1 +0x006A 0xD002 BRA L_Soft_I2C_Write82 +0x006C 0x9E93 BCF TRISB7_bit, BitPos(TRISB7_bit+0) +0x006E 0xD001 BRA L_Soft_I2C_Write83 +L_Soft_I2C_Write82: +0x0070 0x8E93 BSF TRISB7_bit, BitPos(TRISB7_bit+0) +L_Soft_I2C_Write83: +;oled_control.c,380 :: Delay_us(5); +0x0072 0x0E06 MOVLW 6 +0x0074 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Write84: +0x0076 0x2E0D DECFSZ R13, 1, 0 +0x0078 0xD7FE BRA L_Soft_I2C_Write84 +0x007A 0x0000 NOP +;oled_control.c,381 :: Soft_I2C_Scl_Direction = 1; +0x007C 0x8C93 BSF TRISB6_bit, BitPos(TRISB6_bit+0) +;oled_control.c,382 :: Delay_us(5); +0x007E 0x0E06 MOVLW 6 +0x0080 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Write85: +0x0082 0x2E0D DECFSZ R13, 1, 0 +0x0084 0xD7FE BRA L_Soft_I2C_Write85 +0x0086 0x0000 NOP +;oled_control.c,383 :: Soft_I2C_Scl_Direction = 0; +0x0088 0x9C93 BCF TRISB6_bit, BitPos(TRISB6_bit+0) +;oled_control.c,384 :: Delay_us(5); +0x008A 0x0E06 MOVLW 6 +0x008C 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Write86: +0x008E 0x0103 MOVLB 3 +0x0090 0x2E0D DECFSZ R13, 1, 0 +0x0092 0xD7FD BRA L_Soft_I2C_Write86 +0x0094 0x0000 NOP +;oled_control.c,385 :: d = d << 1; +0x0096 0x3730 RLCF FARG_Soft_I2C_Write_d, 1, 1 +0x0098 0x9130 BCF FARG_Soft_I2C_Write_d, 0, 1 +;oled_control.c,378 :: for(i=0; i<=7; i++) { +0x009A 0x2A01 INCF R1, 1 +;oled_control.c,386 :: } +0x009C 0xD7E1 BRA L_Soft_I2C_Write79 +L_Soft_I2C_Write80: +;oled_control.c,388 :: Soft_I2C_Sda_Direction = 1; //ACK +0x009E 0x8E93 BSF TRISB7_bit, BitPos(TRISB7_bit+0) +;oled_control.c,389 :: Delay_us(5); +0x00A0 0x0E06 MOVLW 6 +0x00A2 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Write87: +0x00A4 0x2E0D DECFSZ R13, 1, 0 +0x00A6 0xD7FE BRA L_Soft_I2C_Write87 +0x00A8 0x0000 NOP +;oled_control.c,390 :: Soft_I2C_Scl_Direction = 1; +0x00AA 0x8C93 BSF TRISB6_bit, BitPos(TRISB6_bit+0) +;oled_control.c,391 :: Delay_us(5); +0x00AC 0x0E06 MOVLW 6 +0x00AE 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Write88: +0x00B0 0x2E0D DECFSZ R13, 1, 0 +0x00B2 0xD7FE BRA L_Soft_I2C_Write88 +0x00B4 0x0000 NOP +;oled_control.c,392 :: Soft_I2C_Scl_Direction = 0; +0x00B6 0x9C93 BCF TRISB6_bit, BitPos(TRISB6_bit+0) +;oled_control.c,393 :: Delay_us(5); +0x00B8 0x0E06 MOVLW 6 +0x00BA 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Write89: +0x00BC 0x2E0D DECFSZ R13, 1, 0 +0x00BE 0xD7FE BRA L_Soft_I2C_Write89 +0x00C0 0x0000 NOP +;oled_control.c,394 :: } +L_Soft_I2C_Write78: +;oled_control.c,395 :: } +L_end_Soft_I2C_Write: +0x00C2 0x0012 RETURN 0 +; end of _Soft_I2C_Write +_set_addressing: +;oled_control.c,229 :: void set_addressing (char pagenum, char c_start) { +;oled_control.c,231 :: c = c_start + oled_shift; +0x00C4 0x0102 MOVLB 2 +0x00C6 0x51B1 MOVF oled_control_oled_shift, 0, 1 +0x00C8 0x0103 MOVLB 3 +0x00CA 0x252C ADDWF FARG_set_addressing_c_start, 0, 1 +0x00CC 0x6F2F MOVWF set_addressing_c_L0, 1 +;oled_control.c,232 :: Soft_I2C_Start(); +0x00CE 0xDFA6 RCALL _Soft_I2C_Start +;oled_control.c,233 :: Soft_I2C_Write(led_addr); // device addres +0x00D0 0xF330C2B2 MOVFF oled_control_led_addr, FARG_Soft_I2C_Write_d +0x00D4 0xDFC0 RCALL _Soft_I2C_Write +;oled_control.c,234 :: Soft_I2C_Write(0); // 0 - continious mode, command; 64 - Co, data +0x00D6 0x0103 MOVLB 3 +0x00D8 0x6B30 CLRF FARG_Soft_I2C_Write_d, 1 +0x00DA 0xDFBD RCALL _Soft_I2C_Write +;oled_control.c,235 :: Soft_I2C_Write(0xB0 + pagenum); // set page number +0x00DC 0x0103 MOVLB 3 +0x00DE 0x512B MOVF FARG_set_addressing_pagenum, 0, 1 +0x00E0 0x0FB0 ADDLW 176 +0x00E2 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x00E4 0xDFB8 RCALL _Soft_I2C_Write +;oled_control.c,237 :: if (c <= 15) { a = c; b = 0; } +0x00E6 0x0103 MOVLB 3 +0x00E8 0x512F MOVF set_addressing_c_L0, 0, 1 +0x00EA 0x080F SUBLW 15 +0x00EC 0xE304 BNC L_set_addressing40 +0x00EE 0xF32DC32F MOVFF set_addressing_c_L0, set_addressing_a_L0 +0x00F2 0x6B2E CLRF set_addressing_b_L0, 1 +0x00F4 0xD019 BRA L_set_addressing41 +L_set_addressing40: +;oled_control.c,238 :: else { b = c / 16; a = c - b * 16; } +0x00F6 0xF002C32F MOVFF set_addressing_c_L0, R2 +0x00FA 0x3202 RRCF R2, 1 +0x00FC 0x9E02 BCF R2, 7 +0x00FE 0x3202 RRCF R2, 1 +0x0100 0x9E02 BCF R2, 7 +0x0102 0x3202 RRCF R2, 1 +0x0104 0x9E02 BCF R2, 7 +0x0106 0x3202 RRCF R2, 1 +0x0108 0x9E02 BCF R2, 7 +0x010A 0xF32EC002 MOVFF R2, set_addressing_b_L0 +0x010E 0xF000C002 MOVFF R2, R0 +0x0112 0x3600 RLCF R0, 1 +0x0114 0x9000 BCF R0, 0 +0x0116 0x3600 RLCF R0, 1 +0x0118 0x9000 BCF R0, 0 +0x011A 0x3600 RLCF R0, 1 +0x011C 0x9000 BCF R0, 0 +0x011E 0x3600 RLCF R0, 1 +0x0120 0x9000 BCF R0, 0 +0x0122 0x5000 MOVF R0, 0 +0x0124 0x5D2F SUBWF set_addressing_c_L0, 0, 1 +0x0126 0x6F2D MOVWF set_addressing_a_L0, 1 +L_set_addressing41: +;oled_control.c,239 :: Soft_I2C_Write (a); // set lower nibble of start address +0x0128 0xF330C32D MOVFF set_addressing_a_L0, FARG_Soft_I2C_Write_d +0x012C 0xDF94 RCALL _Soft_I2C_Write +;oled_control.c,240 :: Soft_I2C_Write (0x10 + b); // set higher nibble of start address +0x012E 0x0103 MOVLB 3 +0x0130 0x512E MOVF set_addressing_b_L0, 0, 1 +0x0132 0x0F10 ADDLW 16 +0x0134 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x0136 0xDF8F RCALL _Soft_I2C_Write +;oled_control.c,242 :: Soft_I2C_Start(); +0x0138 0xDF71 RCALL _Soft_I2C_Start +;oled_control.c,243 :: Soft_I2C_Write(led_addr); // device addres +0x013A 0xF330C2B2 MOVFF oled_control_led_addr, FARG_Soft_I2C_Write_d +0x013E 0xDF8B RCALL _Soft_I2C_Write +;oled_control.c,244 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data +0x0140 0x0E40 MOVLW 64 +0x0142 0x0103 MOVLB 3 +0x0144 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x0146 0xDF87 RCALL _Soft_I2C_Write +;oled_control.c,245 :: } +L_end_set_addressing: +0x0148 0x0012 RETURN 0 +; end of _set_addressing +_Soft_I2C_Stop: +;oled_control.c,397 :: void Soft_I2C_Stop () { +;oled_control.c,398 :: if(led_type!=0) { +0x014A 0x0102 MOVLB 2 +0x014C 0x51AB MOVF oled_control_led_type, 0, 1 +0x014E 0x0A00 XORLW 0 +0x0150 0xE012 BZ L_Soft_I2C_Stop90 +;oled_control.c,399 :: Soft_I2C_Sda_Direction = 0; +0x0152 0x9E93 BCF TRISB7_bit, BitPos(TRISB7_bit+0) +;oled_control.c,400 :: Delay_us(5); +0x0154 0x0E06 MOVLW 6 +0x0156 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Stop91: +0x0158 0x2E0D DECFSZ R13, 1, 0 +0x015A 0xD7FE BRA L_Soft_I2C_Stop91 +0x015C 0x0000 NOP +;oled_control.c,401 :: Soft_I2C_Scl_Direction = 1; +0x015E 0x8C93 BSF TRISB6_bit, BitPos(TRISB6_bit+0) +;oled_control.c,402 :: Delay_us(5); +0x0160 0x0E06 MOVLW 6 +0x0162 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Stop92: +0x0164 0x2E0D DECFSZ R13, 1, 0 +0x0166 0xD7FE BRA L_Soft_I2C_Stop92 +0x0168 0x0000 NOP +;oled_control.c,403 :: Soft_I2C_Sda_Direction = 1; +0x016A 0x8E93 BSF TRISB7_bit, BitPos(TRISB7_bit+0) +;oled_control.c,404 :: Delay_us(5); +0x016C 0x0E06 MOVLW 6 +0x016E 0x6E0D MOVWF R13, 0 +L_Soft_I2C_Stop93: +0x0170 0x2E0D DECFSZ R13, 1, 0 +0x0172 0xD7FE BRA L_Soft_I2C_Stop93 +0x0174 0x0000 NOP +;oled_control.c,405 :: } +L_Soft_I2C_Stop90: +;oled_control.c,406 :: } +L_end_Soft_I2C_Stop: +0x0176 0x0012 RETURN 0 +; end of _Soft_I2C_Stop +_SETFUN32: +;__Lib_MathDouble.c,144 :: +;__Lib_MathDouble.c,152 :: +0x0178 0x840B BSF R11, 2, 0 +;__Lib_MathDouble.c,153 :: +0x017A 0xAE0B BTFSS R11, 7, 0 +;__Lib_MathDouble.c,154 :: +0x017C 0xF000EFC7 GOTO SETFUN32EEE +;__Lib_MathDouble.c,156 :: +0x0180 0x0E01 MOVLW 1 +;__Lib_MathDouble.c,157 :: +0x0182 0x6E03 MOVWF R3, 0 +;__Lib_MathDouble.c,158 :: +0x0184 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,159 :: +0x0186 0x6A01 CLRF R1, 0 +;__Lib_MathDouble.c,160 :: +0x0188 0x6A00 CLRF R0, 0 +;__Lib_MathDouble.c,161 :: +0x018A 0x360A RLCF R10, 1, 0 +;__Lib_MathDouble.c,162 :: +0x018C 0x3202 RRCF R2, 1, 0 +;__Lib_MathDouble.c,163 :: +SETFUN32EEE: +;__Lib_MathDouble.c,164 :: +0x018E 0x0EFF MOVLW 255 +;__Lib_MathDouble.c,166 :: +L_end_SETFUN32: +0x0190 0x0012 RETURN 0 +; end of _SETFUN32 +_RES032: +;__Lib_MathDouble.c,128 :: +;__Lib_MathDouble.c,134 :: +0x0192 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,135 :: +0x0194 0x6A01 CLRF R1, 0 +;__Lib_MathDouble.c,136 :: +0x0196 0x6A00 CLRF R0, 0 +;__Lib_MathDouble.c,137 :: +0x0198 0x6A08 CLRF R8, 0 +;__Lib_MathDouble.c,138 :: +0x019A 0x6A03 CLRF R3, 0 +;__Lib_MathDouble.c,139 :: +0x019C 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,141 :: +L_end_RES032: +0x019E 0x0012 RETURN 0 +; end of _RES032 +_Div_16X16_U: +;__Lib_Math.c,102 :: +;__Lib_Math.c,109 :: +0x01A0 0x6A08 CLRF R8, 0 +;__Lib_Math.c,110 :: +0x01A2 0x6A09 CLRF R9, 0 +;__Lib_Math.c,111 :: +0x01A4 0x0E10 MOVLW 16 +;__Lib_Math.c,112 :: +0x01A6 0x6E0C MOVWF R12, 0 +;__Lib_Math.c,113 :: +0x01A8 0x3401 RLCF R1, 0, 0 +;__Lib_Math.c,114 :: +0x01AA 0x3608 RLCF R8, 1, 0 +;__Lib_Math.c,115 :: +0x01AC 0x3609 RLCF R9, 1, 0 +;__Lib_Math.c,116 :: +0x01AE 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,117 :: +0x01B0 0x5E08 SUBWF R8, 1, 0 +;__Lib_Math.c,118 :: +0x01B2 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,119 :: +0x01B4 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,120 :: +0x01B6 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,121 :: +0x01B8 0x5E09 SUBWF R9, 1, 0 +;__Lib_Math.c,122 :: +0x01BA 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,123 :: +0x01BC 0xD007 BRA $+16 +;__Lib_Math.c,124 :: +0x01BE 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,125 :: +0x01C0 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,126 :: +0x01C2 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,127 :: +0x01C4 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,128 :: +0x01C6 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,129 :: +0x01C8 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,130 :: +0x01CA 0x90D8 BCF STATUS, 0, 0 +;__Lib_Math.c,131 :: +0x01CC 0x3600 RLCF R0, 1, 0 +;__Lib_Math.c,132 :: +0x01CE 0x3601 RLCF R1, 1, 0 +;__Lib_Math.c,133 :: +0x01D0 0x2E0C DECFSZ R12, 1, 0 +;__Lib_Math.c,134 :: +0x01D2 0xD7EA BRA $-42 +;__Lib_Math.c,136 :: +L_end_Div_16X16_U: +0x01D4 0x0012 RETURN 0 +; end of _Div_16X16_U +_FIXSIGN32: +;__Lib_MathDouble.c,117 :: +;__Lib_MathDouble.c,121 :: +0x01D6 0xAE0A BTFSS R10, 7, 0 +;__Lib_MathDouble.c,122 :: +0x01D8 0x9E02 BCF R2, 7, 0 +;__Lib_MathDouble.c,123 :: +0x01DA 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,125 :: +L_end_FIXSIGN32: +0x01DC 0x0012 RETURN 0 +; end of _FIXSIGN32 +_WordToStr: +;__Lib_Conversions.c,98 :: +;__Lib_Conversions.c,103 :: +0x01DE 0x0103 MOVLB 3 +0x01E0 0x6B25 CLRF WordToStr_len_L0, 1 +L_WordToStr11: +0x01E2 0x0E05 MOVLW 5 +0x01E4 0x5D25 SUBWF WordToStr_len_L0, 0, 1 +0x01E6 0xE20A BC L_WordToStr12 +;__Lib_Conversions.c,104 :: +0x01E8 0x5125 MOVF WordToStr_len_L0, 0, 1 +0x01EA 0x2523 ADDWF FARG_WordToStr_output, 0, 1 +0x01EC 0x6EE1 MOVWF FSR1L +0x01EE 0x0E00 MOVLW 0 +0x01F0 0x2124 ADDWFC FARG_WordToStr_output+1, 0, 1 +0x01F2 0x6EE2 MOVWF FSR1L+1 +0x01F4 0x0E20 MOVLW 32 +0x01F6 0x6EE6 MOVWF POSTINC1 +;__Lib_Conversions.c,103 :: +0x01F8 0x2B25 INCF WordToStr_len_L0, 1, 1 +;__Lib_Conversions.c,104 :: +0x01FA 0xD7F3 BRA L_WordToStr11 +L_WordToStr12: +;__Lib_Conversions.c,105 :: +0x01FC 0x5125 MOVF WordToStr_len_L0, 0, 1 +0x01FE 0x2523 ADDWF FARG_WordToStr_output, 0, 1 +0x0200 0x6EE1 MOVWF FSR1L +0x0202 0x0E00 MOVLW 0 +0x0204 0x2124 ADDWFC FARG_WordToStr_output+1, 0, 1 +0x0206 0x6EE2 MOVWF FSR1L+1 +0x0208 0x6AE6 CLRF POSTINC1 +0x020A 0x0725 DECF WordToStr_len_L0, 1, 1 +;__Lib_Conversions.c,107 :: +L_WordToStr14: +;__Lib_Conversions.c,108 :: +0x020C 0x5125 MOVF WordToStr_len_L0, 0, 1 +0x020E 0x2523 ADDWF FARG_WordToStr_output, 0, 1 +0x0210 0x6F26 MOVWF FLOC__WordToStr, 1 +0x0212 0x0E00 MOVLW 0 +0x0214 0x2124 ADDWFC FARG_WordToStr_output+1, 0, 1 +0x0216 0x6F27 MOVWF FLOC__WordToStr+1, 1 +0x0218 0x0E0A MOVLW 10 +0x021A 0x6E04 MOVWF R4 +0x021C 0x0E00 MOVLW 0 +0x021E 0x6E05 MOVWF R5 +0x0220 0xF000C321 MOVFF FARG_WordToStr_input, R0 +0x0224 0xF001C322 MOVFF FARG_WordToStr_input+1, R1 +0x0228 0xDFBB RCALL _Div_16X16_U +0x022A 0xF000C008 MOVFF R8, R0 +0x022E 0xF001C009 MOVFF R9, R1 +0x0232 0x0E30 MOVLW 48 +0x0234 0x2600 ADDWF R0, 1 +0x0236 0xFFE1C326 MOVFF FLOC__WordToStr, FSR1L +0x023A 0xFFE2C327 MOVFF FLOC__WordToStr+1, FSR1H +0x023E 0xFFE6C000 MOVFF R0, POSTINC1 +;__Lib_Conversions.c,109 :: +0x0242 0x0E0A MOVLW 10 +0x0244 0x6E04 MOVWF R4 +0x0246 0x0E00 MOVLW 0 +0x0248 0x6E05 MOVWF R5 +0x024A 0xF000C321 MOVFF FARG_WordToStr_input, R0 +0x024E 0xF001C322 MOVFF FARG_WordToStr_input+1, R1 +0x0252 0xDFA6 RCALL _Div_16X16_U +0x0254 0xF321C000 MOVFF R0, FARG_WordToStr_input +0x0258 0xF322C001 MOVFF R1, FARG_WordToStr_input+1 +;__Lib_Conversions.c,110 :: +0x025C 0x0E00 MOVLW 0 +0x025E 0x1801 XORWF R1, 0 +0x0260 0xE102 BNZ L__WordToStr159 +0x0262 0x0E00 MOVLW 0 +0x0264 0x1800 XORWF R0, 0 +L__WordToStr159: +0x0266 0xE101 BNZ L_WordToStr16 +;__Lib_Conversions.c,111 :: +0x0268 0xD002 BRA L_WordToStr15 +L_WordToStr16: +;__Lib_Conversions.c,112 :: +0x026A 0x0725 DECF WordToStr_len_L0, 1, 1 +;__Lib_Conversions.c,113 :: +0x026C 0xD7CF BRA L_WordToStr14 +L_WordToStr15: +;__Lib_Conversions.c,114 :: +L_end_WordToStr: +0x026E 0x0012 RETURN 0 +; end of _WordToStr +_Delay_22us: +;__Lib_Delays.c,15 :: void Delay_22us() { +;__Lib_Delays.c,16 :: Delay_us(22); +0x0270 0x0E1D MOVLW 29 +0x0272 0x6E0D MOVWF R13, 0 +L_Delay_22us1: +0x0274 0x2E0D DECFSZ R13, 1, 0 +0x0276 0xD7FE BRA L_Delay_22us1 +;__Lib_Delays.c,17 :: } +L_end_Delay_22us: +0x0278 0x0012 RETURN 0 +; end of _Delay_22us +_NRM3232: +;__Lib_MathDouble.c,455 :: +;__Lib_MathDouble.c,463 :: +0x027A 0x6A0C CLRF R12, 0 +;__Lib_MathDouble.c,464 :: +0x027C 0x6A0E CLRF R14, 0 +;__Lib_MathDouble.c,465 :: +0x027E 0x5002 MOVF R2, 0, 0 +;__Lib_MathDouble.c,466 :: +0x0280 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_MathDouble.c,467 :: +0x0282 0xF001EF56 GOTO NORM3232 +;__Lib_MathDouble.c,468 :: +0x0286 0xF002C001 MOVFF R1, R2 +;__Lib_MathDouble.c,469 :: +0x028A 0xF001C000 MOVFF R0, R1 +;__Lib_MathDouble.c,470 :: +0x028E 0x6A00 CLRF R0, 0 +;__Lib_MathDouble.c,471 :: +0x0290 0x860E BSF R14, 3, 0 +;__Lib_MathDouble.c,473 :: +0x0292 0x5002 MOVF R2, 0, 0 +;__Lib_MathDouble.c,474 :: +0x0294 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_MathDouble.c,475 :: +0x0296 0xF001EF56 GOTO NORM3232 +;__Lib_MathDouble.c,476 :: +0x029A 0xF002C001 MOVFF R1, R2 +;__Lib_MathDouble.c,477 :: +0x029E 0x6A01 CLRF R1, 0 +;__Lib_MathDouble.c,478 :: +0x02A0 0x960E BCF R14, 3, 0 +;__Lib_MathDouble.c,479 :: +0x02A2 0x880E BSF R14, 4, 0 +;__Lib_MathDouble.c,481 :: +0x02A4 0x5002 MOVF R2, 0, 0 +;__Lib_MathDouble.c,482 :: +0x02A6 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,483 :: +0x02A8 0xF001EF68 GOTO JPNRES032 +;__Lib_MathDouble.c,484 :: +NORM3232: +;__Lib_MathDouble.c,485 :: +0x02AC 0x500E MOVF R14, 0, 0 +;__Lib_MathDouble.c,486 :: +0x02AE 0x5E03 SUBWF R3, 1, 0 +;__Lib_MathDouble.c,487 :: +0x02B0 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_MathDouble.c,488 :: +0x02B2 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,489 :: +0x02B4 0xF001EF6D GOTO JPNSETFUN32 +;__Lib_MathDouble.c,490 :: +0x02B8 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,491 :: +NORM3232A: +;__Lib_MathDouble.c,492 :: +0x02BA 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,493 :: +0x02BC 0xF001EF72 GOTO JMPNFIXSIGN32 +;__Lib_MathDouble.c,494 :: +0x02C0 0x3600 RLCF R0, 1, 0 +;__Lib_MathDouble.c,495 :: +0x02C2 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,496 :: +0x02C4 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,497 :: +0x02C6 0x2E03 DECFSZ R3, 1, 0 +;__Lib_MathDouble.c,498 :: +0x02C8 0xF001EF5D GOTO NORM3232A +;__Lib_MathDouble.c,499 :: +0x02CC 0xF001EF6D GOTO JPNSETFUN32 +;__Lib_MathDouble.c,500 :: +JPNRES032: +;__Lib_MathDouble.c,501 :: +0x02D0 0x0E01 MOVLW 1 +;__Lib_MathDouble.c,502 :: +0x02D2 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,504 :: +0x02D4 0xDF5E RCALL _RES032 +;__Lib_MathDouble.c,506 :: +0x02D6 0xF001EF75 GOTO NORM32EEE +;__Lib_MathDouble.c,507 :: +JPNSETFUN32: +;__Lib_MathDouble.c,508 :: +0x02DA 0x0E02 MOVLW 2 +;__Lib_MathDouble.c,509 :: +0x02DC 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,511 :: +0x02DE 0xDF4C RCALL _SETFUN32 +;__Lib_MathDouble.c,513 :: +0x02E0 0xF001EF75 GOTO NORM32EEE +;__Lib_MathDouble.c,514 :: +JMPNFIXSIGN32: +;__Lib_MathDouble.c,515 :: +0x02E4 0x0E04 MOVLW 4 +;__Lib_MathDouble.c,516 :: +0x02E6 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,518 :: +0x02E8 0xDF76 RCALL _FIXSIGN32 +;__Lib_MathDouble.c,520 :: +NORM32EEE: +;__Lib_MathDouble.c,527 :: +L_end_NRM3232: +0x02EA 0x0012 RETURN 0 +; end of _NRM3232 +_SETIOV3224: +;__Lib_MathDouble.c,530 :: +;__Lib_MathDouble.c,537 :: +0x02EC 0x800B BSF R11, 0, 0 +;__Lib_MathDouble.c,538 :: +0x02EE 0xAE0B BTFSS R11, 7, 0 +;__Lib_MathDouble.c,539 :: +0x02F0 0xF001EF82 GOTO SETIOV3224EEE +;__Lib_MathDouble.c,541 :: +0x02F4 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,542 :: +0x02F6 0xAE0A BTFSS R10, 7, 0 +;__Lib_MathDouble.c,543 :: +0x02F8 0x0EFF MOVLW 255 +;__Lib_MathDouble.c,544 :: +0x02FA 0x6E02 MOVWF R2, 0 +;__Lib_MathDouble.c,545 :: +0x02FC 0x6E01 MOVWF R1, 0 +;__Lib_MathDouble.c,546 :: +0x02FE 0x6E00 MOVWF R0, 0 +;__Lib_MathDouble.c,547 :: +0x0300 0x360A RLCF R10, 1, 0 +;__Lib_MathDouble.c,548 :: +0x0302 0x3202 RRCF R2, 1, 0 +;__Lib_MathDouble.c,549 :: +SETIOV3224EEE: +;__Lib_MathDouble.c,550 :: +0x0304 0x0EFF MOVLW 255 +;__Lib_MathDouble.c,552 :: +L_end_SETIOV3224: +0x0306 0x0012 RETURN 0 +; end of _SETIOV3224 +_SETFOV32: +;__Lib_MathDouble.c,82 :: +;__Lib_MathDouble.c,90 :: +0x0308 0x820B BSF R11, 1, 0 +;__Lib_MathDouble.c,91 :: +0x030A 0xAE0B BTFSS R11, 7, 0 +;__Lib_MathDouble.c,92 :: +0x030C 0xF001EF8E GOTO SETFOV32EEE +;__Lib_MathDouble.c,94 :: +0x0310 0x6803 SETF R3, 0 +;__Lib_MathDouble.c,95 :: +0x0312 0x6802 SETF R2, 0 +;__Lib_MathDouble.c,96 :: +0x0314 0x6801 SETF R1, 0 +;__Lib_MathDouble.c,97 :: +0x0316 0x6800 SETF R0, 0 +;__Lib_MathDouble.c,98 :: +0x0318 0x360A RLCF R10, 1, 0 +;__Lib_MathDouble.c,99 :: +0x031A 0x3202 RRCF R2, 1, 0 +;__Lib_MathDouble.c,100 :: +SETFOV32EEE: +;__Lib_MathDouble.c,101 :: +0x031C 0x0EFF MOVLW 255 +;__Lib_MathDouble.c,103 :: +L_end_SETFOV32: +0x031E 0x0012 RETURN 0 +; end of _SETFOV32 +_led_send: +;oled_control.c,6 :: void led_send (char nible) { +;oled_control.c,8 :: sdata = 0; +0x0320 0x0103 MOVLB 3 +0x0322 0x6B22 CLRF led_send_sdata_L0, 1 +;oled_control.c,9 :: RW = 0; E = 1; +0x0324 0x0102 MOVLB 2 +0x0326 0x6BB3 CLRF oled_control_RW, 1 +0x0328 0x0E01 MOVLW 1 +0x032A 0x6FB6 MOVWF oled_control_E, 1 +;oled_control.c,10 :: sdata = sdata + nible; +0x032C 0xF322C321 MOVFF FARG_led_send_nible, led_send_sdata_L0 +;oled_control.c,11 :: sdata = sdata << 4; +0x0330 0x0103 MOVLB 3 +0x0332 0x3722 RLCF led_send_sdata_L0, 1, 1 +0x0334 0x9122 BCF led_send_sdata_L0, 0, 1 +0x0336 0x3722 RLCF led_send_sdata_L0, 1, 1 +0x0338 0x9122 BCF led_send_sdata_L0, 0, 1 +0x033A 0x3722 RLCF led_send_sdata_L0, 1, 1 +0x033C 0x9122 BCF led_send_sdata_L0, 0, 1 +0x033E 0x3722 RLCF led_send_sdata_L0, 1, 1 +0x0340 0x9122 BCF led_send_sdata_L0, 0, 1 +;oled_control.c,12 :: if(LED) sdata = sdata + 8; +0x0342 0x0102 MOVLB 2 +0x0344 0x53B5 MOVF oled_control_LED, 1, 1 +0x0346 0xE003 BZ L_led_send0 +0x0348 0x0E08 MOVLW 8 +0x034A 0x0103 MOVLB 3 +0x034C 0x2722 ADDWF led_send_sdata_L0, 1, 1 +L_led_send0: +;oled_control.c,13 :: if(E) sdata = sdata + 4; +0x034E 0x0102 MOVLB 2 +0x0350 0x53B6 MOVF oled_control_E, 1, 1 +0x0352 0xE003 BZ L_led_send1 +0x0354 0x0E04 MOVLW 4 +0x0356 0x0103 MOVLB 3 +0x0358 0x2722 ADDWF led_send_sdata_L0, 1, 1 +L_led_send1: +;oled_control.c,14 :: if(RW) sdata = sdata + 2; +0x035A 0x0102 MOVLB 2 +0x035C 0x53B3 MOVF oled_control_RW, 1, 1 +0x035E 0xE003 BZ L_led_send2 +0x0360 0x0E02 MOVLW 2 +0x0362 0x0103 MOVLB 3 +0x0364 0x2722 ADDWF led_send_sdata_L0, 1, 1 +L_led_send2: +;oled_control.c,15 :: if(RS) sdata = sdata + 1; +0x0366 0x0102 MOVLB 2 +0x0368 0x53B4 MOVF oled_control_RS, 1, 1 +0x036A 0xE002 BZ L_led_send3 +0x036C 0x0103 MOVLB 3 +0x036E 0x2B22 INCF led_send_sdata_L0, 1, 1 +L_led_send3: +;oled_control.c,17 :: Soft_I2C_Start(); +0x0370 0xDE55 RCALL _Soft_I2C_Start +;oled_control.c,18 :: Soft_I2C_Write(led_addr); // device addres +0x0372 0xF330C2B2 MOVFF oled_control_led_addr, FARG_Soft_I2C_Write_d +0x0376 0xDE6F RCALL _Soft_I2C_Write +;oled_control.c,19 :: Soft_I2C_Write(sdata); // +0x0378 0xF330C322 MOVFF led_send_sdata_L0, FARG_Soft_I2C_Write_d +0x037C 0xDE6C RCALL _Soft_I2C_Write +;oled_control.c,20 :: Soft_I2C_Stop(); +0x037E 0xDEE5 RCALL _Soft_I2C_Stop +;oled_control.c,21 :: delay_ms(1); +0x0380 0x0E06 MOVLW 6 +0x0382 0x6E0C MOVWF R12, 0 +0x0384 0x0E30 MOVLW 48 +0x0386 0x6E0D MOVWF R13, 0 +L_led_send4: +0x0388 0x2E0D DECFSZ R13, 1, 0 +0x038A 0xD7FE BRA L_led_send4 +0x038C 0x2E0C DECFSZ R12, 1, 0 +0x038E 0xD7FC BRA L_led_send4 +0x0390 0x0000 NOP +;oled_control.c,22 :: sdata = sdata - 4; // E = 0 +0x0392 0x0E04 MOVLW 4 +0x0394 0x0103 MOVLB 3 +0x0396 0x5F22 SUBWF led_send_sdata_L0, 1, 1 +;oled_control.c,23 :: Soft_I2C_Start(); +0x0398 0xDE41 RCALL _Soft_I2C_Start +;oled_control.c,24 :: Soft_I2C_Write(led_addr); // device addres +0x039A 0xF330C2B2 MOVFF oled_control_led_addr, FARG_Soft_I2C_Write_d +0x039E 0xDE5B RCALL _Soft_I2C_Write +;oled_control.c,25 :: Soft_I2C_Write(sdata); // +0x03A0 0xF330C322 MOVFF led_send_sdata_L0, FARG_Soft_I2C_Write_d +0x03A4 0xDE58 RCALL _Soft_I2C_Write +;oled_control.c,26 :: Soft_I2C_Stop(); +0x03A6 0xDED1 RCALL _Soft_I2C_Stop +;oled_control.c,27 :: delay_ms(1); +0x03A8 0x0E06 MOVLW 6 +0x03AA 0x6E0C MOVWF R12, 0 +0x03AC 0x0E30 MOVLW 48 +0x03AE 0x6E0D MOVWF R13, 0 +L_led_send5: +0x03B0 0x2E0D DECFSZ R13, 1, 0 +0x03B2 0xD7FE BRA L_led_send5 +0x03B4 0x2E0C DECFSZ R12, 1, 0 +0x03B6 0xD7FC BRA L_led_send5 +0x03B8 0x0000 NOP +;oled_control.c,28 :: } +L_end_led_send: +0x03BA 0x0012 RETURN 0 +; end of _led_send +_oled_wr_str: +;oled_control.c,270 :: void oled_wr_str (char col, char page, char str[], char leng ) { // 128*32 or 128*64 OLED +;oled_control.c,272 :: Soft_I2C_Start(); +0x03BC 0xDE2F RCALL _Soft_I2C_Start +;oled_control.c,273 :: Soft_I2C_Write(led_addr); // device addres +0x03BE 0xF330C2B2 MOVFF oled_control_led_addr, FARG_Soft_I2C_Write_d +0x03C2 0xDE49 RCALL _Soft_I2C_Write +;oled_control.c,274 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data +0x03C4 0x0E40 MOVLW 64 +0x03C6 0x0103 MOVLB 3 +0x03C8 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x03CA 0xDE45 RCALL _Soft_I2C_Write +;oled_control.c,276 :: set_addressing (page, col); +0x03CC 0xF32BC322 MOVFF FARG_oled_wr_str_page, FARG_set_addressing_pagenum +0x03D0 0xF32CC321 MOVFF FARG_oled_wr_str_col, FARG_set_addressing_c_start +0x03D4 0xDE77 RCALL _set_addressing +;oled_control.c,278 :: for (i = 0; i < leng; i++) { // write string +0x03D6 0x0103 MOVLB 3 +0x03D8 0x6B26 CLRF oled_wr_str_i_L0, 1 +L_oled_wr_str49: +0x03DA 0x5125 MOVF FARG_oled_wr_str_leng, 0, 1 +0x03DC 0x5D26 SUBWF oled_wr_str_i_L0, 0, 1 +0x03DE 0xB0D8 BTFSC STATUS, 0 +0x03E0 0xD0B3 BRA L_oled_wr_str50 +;oled_control.c,279 :: if (str[i] == 0) g = 0; else g = str[i] - 32; // NULL detection +0x03E2 0x5126 MOVF oled_wr_str_i_L0, 0, 1 +0x03E4 0x2523 ADDWF FARG_oled_wr_str_str, 0, 1 +0x03E6 0x6EE9 MOVWF FSR0L +0x03E8 0x0E00 MOVLW 0 +0x03EA 0x2124 ADDWFC FARG_oled_wr_str_str+1, 0, 1 +0x03EC 0x6EEA MOVWF FSR0L+1 +0x03EE 0x50EE MOVF POSTINC0, 0 +0x03F0 0x0A00 XORLW 0 +0x03F2 0xE102 BNZ L_oled_wr_str52 +0x03F4 0x6B28 CLRF oled_wr_str_g_L0, 1 +0x03F6 0xD009 BRA L_oled_wr_str53 +L_oled_wr_str52: +0x03F8 0x5126 MOVF oled_wr_str_i_L0, 0, 1 +0x03FA 0x2523 ADDWF FARG_oled_wr_str_str, 0, 1 +0x03FC 0x6EE9 MOVWF FSR0L +0x03FE 0x0E00 MOVLW 0 +0x0400 0x2124 ADDWFC FARG_oled_wr_str_str+1, 0, 1 +0x0402 0x6EEA MOVWF FSR0L+1 +0x0404 0x0E20 MOVLW 32 +0x0406 0x5CEE SUBWF POSTINC0, 0 +0x0408 0x6F28 MOVWF oled_wr_str_g_L0, 1 +L_oled_wr_str53: +;oled_control.c,280 :: for (h = 0; h <= 4; h++) { // write letter +0x040A 0x6B27 CLRF oled_wr_str_h_L0, 1 +L_oled_wr_str54: +0x040C 0x5127 MOVF oled_wr_str_h_L0, 0, 1 +0x040E 0x0804 SUBLW 4 +0x0410 0xA0D8 BTFSS STATUS, 0 +0x0412 0xD092 BRA L_oled_wr_str55 +;oled_control.c,281 :: w1 = font5x8[g*5+h]; +0x0414 0x0E05 MOVLW 5 +0x0416 0x0328 MULWF oled_wr_str_g_L0, 1 +0x0418 0xF000CFF3 MOVFF PRODL, R0 +0x041C 0xF001CFF4 MOVFF PRODH, R1 +0x0420 0x5127 MOVF oled_wr_str_h_L0, 0, 1 +0x0422 0x2600 ADDWF R0, 1 +0x0424 0x0E00 MOVLW 0 +0x0426 0x2201 ADDWFC R1, 1 +0x0428 0x0E65 MOVLW oled_control_font5x8 +0x042A 0x2400 ADDWF R0, 0 +0x042C 0x6EF6 MOVWF TBLPTR +0x042E 0x0E5C MOVLW hi_addr(oled_control_font5x8) +0x0430 0x2001 ADDWFC R1, 0 +0x0432 0x6EF7 MOVWF TBLPTR+1 +0x0434 0x0E00 MOVLW higher_addr(oled_control_font5x8) +0x0436 0x6EF8 MOVWF TBLPTR+2 +0x0438 0x0E00 MOVLW 0 +0x043A 0xBE01 BTFSC R1, 7 +0x043C 0x0EFF MOVLW 255 +0x043E 0x22F8 ADDWFC TBLPTR+2, 1 +0x0440 0x0009 TBLRD*+ +0x0442 0xF329CFF5 MOVFF TABLAT, oled_wr_str_w1_L0 +;oled_control.c,282 :: if(page!=2 & page!=4 & page!=6) { +0x0446 0x5122 MOVF FARG_oled_wr_str_page, 0, 1 +0x0448 0x0A02 XORLW 2 +0x044A 0x0E00 MOVLW 0 +0x044C 0xA4D8 BTFSS STATUS, 2 +0x044E 0x0E01 MOVLW 1 +0x0450 0x6E01 MOVWF R1 +0x0452 0x5122 MOVF FARG_oled_wr_str_page, 0, 1 +0x0454 0x0A04 XORLW 4 +0x0456 0x0E00 MOVLW 0 +0x0458 0xA4D8 BTFSS STATUS, 2 +0x045A 0x0E01 MOVLW 1 +0x045C 0x6E00 MOVWF R0 +0x045E 0x5000 MOVF R0, 0 +0x0460 0x1601 ANDWF R1, 1 +0x0462 0x5122 MOVF FARG_oled_wr_str_page, 0, 1 +0x0464 0x0A06 XORLW 6 +0x0466 0x0E00 MOVLW 0 +0x0468 0xA4D8 BTFSS STATUS, 2 +0x046A 0x0E01 MOVLW 1 +0x046C 0x6E00 MOVWF R0 +0x046E 0x5001 MOVF R1, 0 +0x0470 0x1600 ANDWF R0, 1 +0x0472 0xE029 BZ L_oled_wr_str57 +;oled_control.c,283 :: w2.B7 = w1.B3; +0x0474 0xB729 BTFSC oled_wr_str_w1_L0, 3, 1 +0x0476 0xD002 BRA L__oled_wr_str103 +0x0478 0x9F2A BCF oled_wr_str_w2_L0, 7, 1 +0x047A 0xD001 BRA L__oled_wr_str104 +L__oled_wr_str103: +0x047C 0x8F2A BSF oled_wr_str_w2_L0, 7, 1 +L__oled_wr_str104: +;oled_control.c,284 :: w2.B6 = w1.B3; +0x047E 0xB729 BTFSC oled_wr_str_w1_L0, 3, 1 +0x0480 0xD002 BRA L__oled_wr_str105 +0x0482 0x9D2A BCF oled_wr_str_w2_L0, 6, 1 +0x0484 0xD001 BRA L__oled_wr_str106 +L__oled_wr_str105: +0x0486 0x8D2A BSF oled_wr_str_w2_L0, 6, 1 +L__oled_wr_str106: +;oled_control.c,285 :: w2.B5 = w1.B2; +0x0488 0xB529 BTFSC oled_wr_str_w1_L0, 2, 1 +0x048A 0xD002 BRA L__oled_wr_str107 +0x048C 0x9B2A BCF oled_wr_str_w2_L0, 5, 1 +0x048E 0xD001 BRA L__oled_wr_str108 +L__oled_wr_str107: +0x0490 0x8B2A BSF oled_wr_str_w2_L0, 5, 1 +L__oled_wr_str108: +;oled_control.c,286 :: w2.B4 = w1.B2; +0x0492 0xB529 BTFSC oled_wr_str_w1_L0, 2, 1 +0x0494 0xD002 BRA L__oled_wr_str109 +0x0496 0x992A BCF oled_wr_str_w2_L0, 4, 1 +0x0498 0xD001 BRA L__oled_wr_str110 +L__oled_wr_str109: +0x049A 0x892A BSF oled_wr_str_w2_L0, 4, 1 +L__oled_wr_str110: +;oled_control.c,287 :: w2.B3 = w1.B1; +0x049C 0xB329 BTFSC oled_wr_str_w1_L0, 1, 1 +0x049E 0xD002 BRA L__oled_wr_str111 +0x04A0 0x972A BCF oled_wr_str_w2_L0, 3, 1 +0x04A2 0xD001 BRA L__oled_wr_str112 +L__oled_wr_str111: +0x04A4 0x872A BSF oled_wr_str_w2_L0, 3, 1 +L__oled_wr_str112: +;oled_control.c,288 :: w2.B2 = w1.B1; +0x04A6 0xB329 BTFSC oled_wr_str_w1_L0, 1, 1 +0x04A8 0xD002 BRA L__oled_wr_str113 +0x04AA 0x952A BCF oled_wr_str_w2_L0, 2, 1 +0x04AC 0xD001 BRA L__oled_wr_str114 +L__oled_wr_str113: +0x04AE 0x852A BSF oled_wr_str_w2_L0, 2, 1 +L__oled_wr_str114: +;oled_control.c,289 :: w2.B1 = w1.B0; +0x04B0 0xB129 BTFSC oled_wr_str_w1_L0, 0, 1 +0x04B2 0xD002 BRA L__oled_wr_str115 +0x04B4 0x932A BCF oled_wr_str_w2_L0, 1, 1 +0x04B6 0xD001 BRA L__oled_wr_str116 +L__oled_wr_str115: +0x04B8 0x832A BSF oled_wr_str_w2_L0, 1, 1 +L__oled_wr_str116: +;oled_control.c,290 :: w2.B0 = w1.B0; } +0x04BA 0xB129 BTFSC oled_wr_str_w1_L0, 0, 1 +0x04BC 0xD002 BRA L__oled_wr_str117 +0x04BE 0x912A BCF oled_wr_str_w2_L0, 0, 1 +0x04C0 0xD001 BRA L__oled_wr_str118 +L__oled_wr_str117: +0x04C2 0x812A BSF oled_wr_str_w2_L0, 0, 1 +L__oled_wr_str118: +0x04C4 0xD020 BRA L_oled_wr_str58 +L_oled_wr_str57: +;oled_control.c,292 :: w2.B7 = w1.B2; +0x04C6 0xB529 BTFSC oled_wr_str_w1_L0, 2, 1 +0x04C8 0xD002 BRA L__oled_wr_str119 +0x04CA 0x9F2A BCF oled_wr_str_w2_L0, 7, 1 +0x04CC 0xD001 BRA L__oled_wr_str120 +L__oled_wr_str119: +0x04CE 0x8F2A BSF oled_wr_str_w2_L0, 7, 1 +L__oled_wr_str120: +;oled_control.c,293 :: w2.B6 = w1.B2; +0x04D0 0xB529 BTFSC oled_wr_str_w1_L0, 2, 1 +0x04D2 0xD002 BRA L__oled_wr_str121 +0x04D4 0x9D2A BCF oled_wr_str_w2_L0, 6, 1 +0x04D6 0xD001 BRA L__oled_wr_str122 +L__oled_wr_str121: +0x04D8 0x8D2A BSF oled_wr_str_w2_L0, 6, 1 +L__oled_wr_str122: +;oled_control.c,294 :: w2.B5 = w1.B1; +0x04DA 0xB329 BTFSC oled_wr_str_w1_L0, 1, 1 +0x04DC 0xD002 BRA L__oled_wr_str123 +0x04DE 0x9B2A BCF oled_wr_str_w2_L0, 5, 1 +0x04E0 0xD001 BRA L__oled_wr_str124 +L__oled_wr_str123: +0x04E2 0x8B2A BSF oled_wr_str_w2_L0, 5, 1 +L__oled_wr_str124: +;oled_control.c,295 :: w2.B4 = w1.B1; +0x04E4 0xB329 BTFSC oled_wr_str_w1_L0, 1, 1 +0x04E6 0xD002 BRA L__oled_wr_str125 +0x04E8 0x992A BCF oled_wr_str_w2_L0, 4, 1 +0x04EA 0xD001 BRA L__oled_wr_str126 +L__oled_wr_str125: +0x04EC 0x892A BSF oled_wr_str_w2_L0, 4, 1 +L__oled_wr_str126: +;oled_control.c,296 :: w2.B3 = w1.B0; +0x04EE 0xB129 BTFSC oled_wr_str_w1_L0, 0, 1 +0x04F0 0xD002 BRA L__oled_wr_str127 +0x04F2 0x972A BCF oled_wr_str_w2_L0, 3, 1 +0x04F4 0xD001 BRA L__oled_wr_str128 +L__oled_wr_str127: +0x04F6 0x872A BSF oled_wr_str_w2_L0, 3, 1 +L__oled_wr_str128: +;oled_control.c,297 :: w2.B2 = w1.B0; +0x04F8 0xB129 BTFSC oled_wr_str_w1_L0, 0, 1 +0x04FA 0xD002 BRA L__oled_wr_str129 +0x04FC 0x952A BCF oled_wr_str_w2_L0, 2, 1 +0x04FE 0xD001 BRA L__oled_wr_str130 +L__oled_wr_str129: +0x0500 0x852A BSF oled_wr_str_w2_L0, 2, 1 +L__oled_wr_str130: +;oled_control.c,298 :: w2.B1 = 0; +0x0502 0x932A BCF oled_wr_str_w2_L0, 1, 1 +;oled_control.c,299 :: w2.B0 = 0; +0x0504 0x912A BCF oled_wr_str_w2_L0, 0, 1 +;oled_control.c,300 :: } +L_oled_wr_str58: +;oled_control.c,301 :: Soft_I2C_Write(w2); +0x0506 0xF330C32A MOVFF oled_wr_str_w2_L0, FARG_Soft_I2C_Write_d +0x050A 0xDDA5 RCALL _Soft_I2C_Write +;oled_control.c,302 :: if(led_type==4 | led_type==5) Soft_I2C_Write(w2); // 128*64 +0x050C 0x0102 MOVLB 2 +0x050E 0x51AB MOVF oled_control_led_type, 0, 1 +0x0510 0x0A04 XORLW 4 +0x0512 0x0E01 MOVLW 1 +0x0514 0xA4D8 BTFSS STATUS, 2 +0x0516 0x0E00 MOVLW 0 +0x0518 0x6E01 MOVWF R1 +0x051A 0x51AB MOVF oled_control_led_type, 0, 1 +0x051C 0x0A05 XORLW 5 +0x051E 0x0E01 MOVLW 1 +0x0520 0xA4D8 BTFSS STATUS, 2 +0x0522 0x0E00 MOVLW 0 +0x0524 0x6E00 MOVWF R0 +0x0526 0x5001 MOVF R1, 0 +0x0528 0x1200 IORWF R0, 1 +0x052A 0xE003 BZ L_oled_wr_str59 +0x052C 0xF330C32A MOVFF oled_wr_str_w2_L0, FARG_Soft_I2C_Write_d +0x0530 0xDD92 RCALL _Soft_I2C_Write +L_oled_wr_str59: +;oled_control.c,280 :: for (h = 0; h <= 4; h++) { // write letter +0x0532 0x0103 MOVLB 3 +0x0534 0x2B27 INCF oled_wr_str_h_L0, 1, 1 +;oled_control.c,303 :: } +0x0536 0xD76A BRA L_oled_wr_str54 +L_oled_wr_str55: +;oled_control.c,304 :: Soft_I2C_Write (0); +0x0538 0x6B30 CLRF FARG_Soft_I2C_Write_d, 1 +0x053A 0xDD8D RCALL _Soft_I2C_Write +;oled_control.c,305 :: Soft_I2C_Write (0); +0x053C 0x0103 MOVLB 3 +0x053E 0x6B30 CLRF FARG_Soft_I2C_Write_d, 1 +0x0540 0xDD8A RCALL _Soft_I2C_Write +;oled_control.c,278 :: for (i = 0; i < leng; i++) { // write string +0x0542 0x0103 MOVLB 3 +0x0544 0x2B26 INCF oled_wr_str_i_L0, 1, 1 +;oled_control.c,307 :: } +0x0546 0xD749 BRA L_oled_wr_str49 +L_oled_wr_str50: +;oled_control.c,308 :: set_addressing (page+1, col); +0x0548 0x5122 MOVF FARG_oled_wr_str_page, 0, 1 +0x054A 0x0F01 ADDLW 1 +0x054C 0x6F2B MOVWF FARG_set_addressing_pagenum, 1 +0x054E 0xF32CC321 MOVFF FARG_oled_wr_str_col, FARG_set_addressing_c_start +0x0552 0xDDB8 RCALL _set_addressing +;oled_control.c,310 :: for (i = 0; i < leng; i++) { // write string +0x0554 0x0103 MOVLB 3 +0x0556 0x6B26 CLRF oled_wr_str_i_L0, 1 +L_oled_wr_str60: +0x0558 0x5125 MOVF FARG_oled_wr_str_leng, 0, 1 +0x055A 0x5D26 SUBWF oled_wr_str_i_L0, 0, 1 +0x055C 0xB0D8 BTFSC STATUS, 0 +0x055E 0xD0BB BRA L_oled_wr_str61 +;oled_control.c,311 :: if (str[i] == 0) g = 0; else g = str[i] - 32; // NULL detection +0x0560 0x5126 MOVF oled_wr_str_i_L0, 0, 1 +0x0562 0x2523 ADDWF FARG_oled_wr_str_str, 0, 1 +0x0564 0x6EE9 MOVWF FSR0L +0x0566 0x0E00 MOVLW 0 +0x0568 0x2124 ADDWFC FARG_oled_wr_str_str+1, 0, 1 +0x056A 0x6EEA MOVWF FSR0L+1 +0x056C 0x50EE MOVF POSTINC0, 0 +0x056E 0x0A00 XORLW 0 +0x0570 0xE102 BNZ L_oled_wr_str63 +0x0572 0x6B28 CLRF oled_wr_str_g_L0, 1 +0x0574 0xD009 BRA L_oled_wr_str64 +L_oled_wr_str63: +0x0576 0x5126 MOVF oled_wr_str_i_L0, 0, 1 +0x0578 0x2523 ADDWF FARG_oled_wr_str_str, 0, 1 +0x057A 0x6EE9 MOVWF FSR0L +0x057C 0x0E00 MOVLW 0 +0x057E 0x2124 ADDWFC FARG_oled_wr_str_str+1, 0, 1 +0x0580 0x6EEA MOVWF FSR0L+1 +0x0582 0x0E20 MOVLW 32 +0x0584 0x5CEE SUBWF POSTINC0, 0 +0x0586 0x6F28 MOVWF oled_wr_str_g_L0, 1 +L_oled_wr_str64: +;oled_control.c,312 :: for (h = 0; h <= 4; h++) { // write letter +0x0588 0x6B27 CLRF oled_wr_str_h_L0, 1 +L_oled_wr_str65: +0x058A 0x5127 MOVF oled_wr_str_h_L0, 0, 1 +0x058C 0x0804 SUBLW 4 +0x058E 0xA0D8 BTFSS STATUS, 0 +0x0590 0xD09A BRA L_oled_wr_str66 +;oled_control.c,313 :: w1 = font5x8[g*5+h]; +0x0592 0x0E05 MOVLW 5 +0x0594 0x0328 MULWF oled_wr_str_g_L0, 1 +0x0596 0xF000CFF3 MOVFF PRODL, R0 +0x059A 0xF001CFF4 MOVFF PRODH, R1 +0x059E 0x5127 MOVF oled_wr_str_h_L0, 0, 1 +0x05A0 0x2600 ADDWF R0, 1 +0x05A2 0x0E00 MOVLW 0 +0x05A4 0x2201 ADDWFC R1, 1 +0x05A6 0x0E65 MOVLW oled_control_font5x8 +0x05A8 0x2400 ADDWF R0, 0 +0x05AA 0x6EF6 MOVWF TBLPTR +0x05AC 0x0E5C MOVLW hi_addr(oled_control_font5x8) +0x05AE 0x2001 ADDWFC R1, 0 +0x05B0 0x6EF7 MOVWF TBLPTR+1 +0x05B2 0x0E00 MOVLW higher_addr(oled_control_font5x8) +0x05B4 0x6EF8 MOVWF TBLPTR+2 +0x05B6 0x0E00 MOVLW 0 +0x05B8 0xBE01 BTFSC R1, 7 +0x05BA 0x0EFF MOVLW 255 +0x05BC 0x22F8 ADDWFC TBLPTR+2, 1 +0x05BE 0x0009 TBLRD*+ +0x05C0 0xF329CFF5 MOVFF TABLAT, oled_wr_str_w1_L0 +;oled_control.c,314 :: if(page!=2 & page!=4 & page!=6) { +0x05C4 0x5122 MOVF FARG_oled_wr_str_page, 0, 1 +0x05C6 0x0A02 XORLW 2 +0x05C8 0x0E00 MOVLW 0 +0x05CA 0xA4D8 BTFSS STATUS, 2 +0x05CC 0x0E01 MOVLW 1 +0x05CE 0x6E01 MOVWF R1 +0x05D0 0x5122 MOVF FARG_oled_wr_str_page, 0, 1 +0x05D2 0x0A04 XORLW 4 +0x05D4 0x0E00 MOVLW 0 +0x05D6 0xA4D8 BTFSS STATUS, 2 +0x05D8 0x0E01 MOVLW 1 +0x05DA 0x6E00 MOVWF R0 +0x05DC 0x5000 MOVF R0, 0 +0x05DE 0x1601 ANDWF R1, 1 +0x05E0 0x5122 MOVF FARG_oled_wr_str_page, 0, 1 +0x05E2 0x0A06 XORLW 6 +0x05E4 0x0E00 MOVLW 0 +0x05E6 0xA4D8 BTFSS STATUS, 2 +0x05E8 0x0E01 MOVLW 1 +0x05EA 0x6E00 MOVWF R0 +0x05EC 0x5001 MOVF R1, 0 +0x05EE 0x1600 ANDWF R0, 1 +0x05F0 0xE029 BZ L_oled_wr_str68 +;oled_control.c,315 :: w2.B7 = w1.B7; +0x05F2 0xBF29 BTFSC oled_wr_str_w1_L0, 7, 1 +0x05F4 0xD002 BRA L__oled_wr_str131 +0x05F6 0x9F2A BCF oled_wr_str_w2_L0, 7, 1 +0x05F8 0xD001 BRA L__oled_wr_str132 +L__oled_wr_str131: +0x05FA 0x8F2A BSF oled_wr_str_w2_L0, 7, 1 +L__oled_wr_str132: +;oled_control.c,316 :: w2.B6 = w1.B7; +0x05FC 0xBF29 BTFSC oled_wr_str_w1_L0, 7, 1 +0x05FE 0xD002 BRA L__oled_wr_str133 +0x0600 0x9D2A BCF oled_wr_str_w2_L0, 6, 1 +0x0602 0xD001 BRA L__oled_wr_str134 +L__oled_wr_str133: +0x0604 0x8D2A BSF oled_wr_str_w2_L0, 6, 1 +L__oled_wr_str134: +;oled_control.c,317 :: w2.B5 = w1.B6; +0x0606 0xBD29 BTFSC oled_wr_str_w1_L0, 6, 1 +0x0608 0xD002 BRA L__oled_wr_str135 +0x060A 0x9B2A BCF oled_wr_str_w2_L0, 5, 1 +0x060C 0xD001 BRA L__oled_wr_str136 +L__oled_wr_str135: +0x060E 0x8B2A BSF oled_wr_str_w2_L0, 5, 1 +L__oled_wr_str136: +;oled_control.c,318 :: w2.B4 = w1.B6; +0x0610 0xBD29 BTFSC oled_wr_str_w1_L0, 6, 1 +0x0612 0xD002 BRA L__oled_wr_str137 +0x0614 0x992A BCF oled_wr_str_w2_L0, 4, 1 +0x0616 0xD001 BRA L__oled_wr_str138 +L__oled_wr_str137: +0x0618 0x892A BSF oled_wr_str_w2_L0, 4, 1 +L__oled_wr_str138: +;oled_control.c,319 :: w2.B3 = w1.B5; +0x061A 0xBB29 BTFSC oled_wr_str_w1_L0, 5, 1 +0x061C 0xD002 BRA L__oled_wr_str139 +0x061E 0x972A BCF oled_wr_str_w2_L0, 3, 1 +0x0620 0xD001 BRA L__oled_wr_str140 +L__oled_wr_str139: +0x0622 0x872A BSF oled_wr_str_w2_L0, 3, 1 +L__oled_wr_str140: +;oled_control.c,320 :: w2.B2 = w1.B5; +0x0624 0xBB29 BTFSC oled_wr_str_w1_L0, 5, 1 +0x0626 0xD002 BRA L__oled_wr_str141 +0x0628 0x952A BCF oled_wr_str_w2_L0, 2, 1 +0x062A 0xD001 BRA L__oled_wr_str142 +L__oled_wr_str141: +0x062C 0x852A BSF oled_wr_str_w2_L0, 2, 1 +L__oled_wr_str142: +;oled_control.c,321 :: w2.B1 = w1.B4; +0x062E 0xB929 BTFSC oled_wr_str_w1_L0, 4, 1 +0x0630 0xD002 BRA L__oled_wr_str143 +0x0632 0x932A BCF oled_wr_str_w2_L0, 1, 1 +0x0634 0xD001 BRA L__oled_wr_str144 +L__oled_wr_str143: +0x0636 0x832A BSF oled_wr_str_w2_L0, 1, 1 +L__oled_wr_str144: +;oled_control.c,322 :: w2.B0 = w1.B4; } +0x0638 0xB929 BTFSC oled_wr_str_w1_L0, 4, 1 +0x063A 0xD002 BRA L__oled_wr_str145 +0x063C 0x912A BCF oled_wr_str_w2_L0, 0, 1 +0x063E 0xD001 BRA L__oled_wr_str146 +L__oled_wr_str145: +0x0640 0x812A BSF oled_wr_str_w2_L0, 0, 1 +L__oled_wr_str146: +0x0642 0xD028 BRA L_oled_wr_str69 +L_oled_wr_str68: +;oled_control.c,324 :: w2.B7 = w1.B6; +0x0644 0xBD29 BTFSC oled_wr_str_w1_L0, 6, 1 +0x0646 0xD002 BRA L__oled_wr_str147 +0x0648 0x9F2A BCF oled_wr_str_w2_L0, 7, 1 +0x064A 0xD001 BRA L__oled_wr_str148 +L__oled_wr_str147: +0x064C 0x8F2A BSF oled_wr_str_w2_L0, 7, 1 +L__oled_wr_str148: +;oled_control.c,325 :: w2.B6 = w1.B6; +0x064E 0xBD29 BTFSC oled_wr_str_w1_L0, 6, 1 +0x0650 0xD002 BRA L__oled_wr_str149 +0x0652 0x9D2A BCF oled_wr_str_w2_L0, 6, 1 +0x0654 0xD001 BRA L__oled_wr_str150 +L__oled_wr_str149: +0x0656 0x8D2A BSF oled_wr_str_w2_L0, 6, 1 +L__oled_wr_str150: +;oled_control.c,326 :: w2.B5 = w1.B5; +0x0658 0xBB29 BTFSC oled_wr_str_w1_L0, 5, 1 +0x065A 0xD002 BRA L__oled_wr_str151 +0x065C 0x9B2A BCF oled_wr_str_w2_L0, 5, 1 +0x065E 0xD001 BRA L__oled_wr_str152 +L__oled_wr_str151: +0x0660 0x8B2A BSF oled_wr_str_w2_L0, 5, 1 +L__oled_wr_str152: +;oled_control.c,327 :: w2.B4 = w1.B5; +0x0662 0xBB29 BTFSC oled_wr_str_w1_L0, 5, 1 +0x0664 0xD002 BRA L__oled_wr_str153 +0x0666 0x992A BCF oled_wr_str_w2_L0, 4, 1 +0x0668 0xD001 BRA L__oled_wr_str154 +L__oled_wr_str153: +0x066A 0x892A BSF oled_wr_str_w2_L0, 4, 1 +L__oled_wr_str154: +;oled_control.c,328 :: w2.B3 = w1.B4; +0x066C 0xB929 BTFSC oled_wr_str_w1_L0, 4, 1 +0x066E 0xD002 BRA L__oled_wr_str155 +0x0670 0x972A BCF oled_wr_str_w2_L0, 3, 1 +0x0672 0xD001 BRA L__oled_wr_str156 +L__oled_wr_str155: +0x0674 0x872A BSF oled_wr_str_w2_L0, 3, 1 +L__oled_wr_str156: +;oled_control.c,329 :: w2.B2 = w1.B4; +0x0676 0xB929 BTFSC oled_wr_str_w1_L0, 4, 1 +0x0678 0xD002 BRA L__oled_wr_str157 +0x067A 0x952A BCF oled_wr_str_w2_L0, 2, 1 +0x067C 0xD001 BRA L__oled_wr_str158 +L__oled_wr_str157: +0x067E 0x852A BSF oled_wr_str_w2_L0, 2, 1 +L__oled_wr_str158: +;oled_control.c,330 :: w2.B1 = w1.B3; +0x0680 0xB729 BTFSC oled_wr_str_w1_L0, 3, 1 +0x0682 0xD002 BRA L__oled_wr_str159 +0x0684 0x932A BCF oled_wr_str_w2_L0, 1, 1 +0x0686 0xD001 BRA L__oled_wr_str160 +L__oled_wr_str159: +0x0688 0x832A BSF oled_wr_str_w2_L0, 1, 1 +L__oled_wr_str160: +;oled_control.c,331 :: w2.B0 = w1.B3; +0x068A 0xB729 BTFSC oled_wr_str_w1_L0, 3, 1 +0x068C 0xD002 BRA L__oled_wr_str161 +0x068E 0x912A BCF oled_wr_str_w2_L0, 0, 1 +0x0690 0xD001 BRA L__oled_wr_str162 +L__oled_wr_str161: +0x0692 0x812A BSF oled_wr_str_w2_L0, 0, 1 +L__oled_wr_str162: +;oled_control.c,332 :: } +L_oled_wr_str69: +;oled_control.c,333 :: Soft_I2C_Write(w2); +0x0694 0xF330C32A MOVFF oled_wr_str_w2_L0, FARG_Soft_I2C_Write_d +0x0698 0xDCDE RCALL _Soft_I2C_Write +;oled_control.c,334 :: if(led_type==4 | led_type==5) Soft_I2C_Write(w2); // 128*64 +0x069A 0x0102 MOVLB 2 +0x069C 0x51AB MOVF oled_control_led_type, 0, 1 +0x069E 0x0A04 XORLW 4 +0x06A0 0x0E01 MOVLW 1 +0x06A2 0xA4D8 BTFSS STATUS, 2 +0x06A4 0x0E00 MOVLW 0 +0x06A6 0x6E01 MOVWF R1 +0x06A8 0x51AB MOVF oled_control_led_type, 0, 1 +0x06AA 0x0A05 XORLW 5 +0x06AC 0x0E01 MOVLW 1 +0x06AE 0xA4D8 BTFSS STATUS, 2 +0x06B0 0x0E00 MOVLW 0 +0x06B2 0x6E00 MOVWF R0 +0x06B4 0x5001 MOVF R1, 0 +0x06B6 0x1200 IORWF R0, 1 +0x06B8 0xE003 BZ L_oled_wr_str70 +0x06BA 0xF330C32A MOVFF oled_wr_str_w2_L0, FARG_Soft_I2C_Write_d +0x06BE 0xDCCB RCALL _Soft_I2C_Write +L_oled_wr_str70: +;oled_control.c,312 :: for (h = 0; h <= 4; h++) { // write letter +0x06C0 0x0103 MOVLB 3 +0x06C2 0x2B27 INCF oled_wr_str_h_L0, 1, 1 +;oled_control.c,335 :: } +0x06C4 0xD762 BRA L_oled_wr_str65 +L_oled_wr_str66: +;oled_control.c,336 :: Soft_I2C_Write (0); +0x06C6 0x6B30 CLRF FARG_Soft_I2C_Write_d, 1 +0x06C8 0xDCC6 RCALL _Soft_I2C_Write +;oled_control.c,337 :: Soft_I2C_Write (0); +0x06CA 0x0103 MOVLB 3 +0x06CC 0x6B30 CLRF FARG_Soft_I2C_Write_d, 1 +0x06CE 0xDCC3 RCALL _Soft_I2C_Write +;oled_control.c,310 :: for (i = 0; i < leng; i++) { // write string +0x06D0 0x0103 MOVLB 3 +0x06D2 0x2B26 INCF oled_wr_str_i_L0, 1, 1 +;oled_control.c,339 :: } +0x06D4 0xD741 BRA L_oled_wr_str60 +L_oled_wr_str61: +;oled_control.c,340 :: Soft_I2C_Stop (); +0x06D6 0xDD39 RCALL _Soft_I2C_Stop +;oled_control.c,341 :: } +L_end_oled_wr_str: +0x06D8 0x0012 RETURN 0 +; end of _oled_wr_str +_word2double: +;__Lib_MathDouble.c,2335 :: +;__Lib_MathDouble.c,2344 :: +0x06DA 0x5000 MOVF R0, 0, 0 +;__Lib_MathDouble.c,2345 :: +0x06DC 0x6E08 MOVWF R8, 0 +;__Lib_MathDouble.c,2346 :: +0x06DE 0x5001 MOVF R1, 0, 0 +;__Lib_MathDouble.c,2347 :: +0x06E0 0x6E00 MOVWF R0, 0 +;__Lib_MathDouble.c,2348 :: +0x06E2 0x6A01 CLRF R1, 0 +;__Lib_MathDouble.c,2349 :: +0x06E4 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,2350 :: +0x06E6 0x6A03 CLRF R3, 0 +;__Lib_MathDouble.c,2353 :: +0x06E8 0x6A0B CLRF R11, 0 +;__Lib_MathDouble.c,2354 :: +0x06EA 0x6A0C CLRF R12, 0 +;__Lib_MathDouble.c,2356 :: +0x06EC 0x0E96 MOVLW 150 +;__Lib_MathDouble.c,2357 :: +0x06EE 0x6E03 MOVWF R3, 0 +;__Lib_MathDouble.c,2358 :: +0x06F0 0x6A0A CLRF R10, 0 +;__Lib_MathDouble.c,2360 :: +0x06F2 0xF001C000 MOVFF R0, R1 +;__Lib_MathDouble.c,2361 :: +0x06F6 0xF000C008 MOVFF R8, R0 +;__Lib_MathDouble.c,2362 :: +0x06FA 0x6A08 CLRF R8, 0 +;__Lib_MathDouble.c,2363 :: +0x06FC 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,2365 :: +0x06FE 0xDDBD RCALL _NRM3232 +;__Lib_MathDouble.c,2366 :: +L_end_word2double: +0x0700 0x0012 RETURN 0 +; end of _word2double +_Mul_16X16_U: +;__Lib_Math.c,440 :: +;__Lib_Math.c,447 :: +0x0702 0x6A0B CLRF R11, 0 +;__Lib_Math.c,448 :: +0x0704 0x6A0A CLRF R10, 0 +;__Lib_Math.c,449 :: +0x0706 0x6A09 CLRF R9, 0 +;__Lib_Math.c,450 :: +0x0708 0x5000 MOVF R0, 0, 0 +;__Lib_Math.c,451 :: +0x070A 0x0204 MULWF R4, 0 +;__Lib_Math.c,453 :: +0x070C 0xF009CFF4 MOVFF PRODH, R9 +;__Lib_Math.c,454 :: +0x0710 0xF008CFF3 MOVFF PRODL, R8 +;__Lib_Math.c,455 :: +0x0714 0x5001 MOVF R1, 0, 0 +;__Lib_Math.c,456 :: +0x0716 0x0205 MULWF R5, 0 +;__Lib_Math.c,458 :: +0x0718 0xF00BCFF4 MOVFF PRODH, R11 +;__Lib_Math.c,459 :: +0x071C 0xF00ACFF3 MOVFF PRODL, R10 +;__Lib_Math.c,460 :: +0x0720 0x5000 MOVF R0, 0, 0 +;__Lib_Math.c,461 :: +0x0722 0x0205 MULWF R5, 0 +;__Lib_Math.c,463 :: +0x0724 0x50F3 MOVF PRODL, 0, 0 +;__Lib_Math.c,464 :: +0x0726 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,465 :: +0x0728 0x50F4 MOVF PRODH, 0, 0 +;__Lib_Math.c,466 :: +0x072A 0x220A ADDWFC R10, 1, 0 +;__Lib_Math.c,467 :: +0x072C 0x6AE8 CLRF WREG, 0 +;__Lib_Math.c,468 :: +0x072E 0x220B ADDWFC R11, 1, 0 +;__Lib_Math.c,469 :: +0x0730 0x5001 MOVF R1, 0, 0 +;__Lib_Math.c,470 :: +0x0732 0x0204 MULWF R4, 0 +;__Lib_Math.c,472 :: +0x0734 0x50F3 MOVF PRODL, 0, 0 +;__Lib_Math.c,473 :: +0x0736 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,474 :: +0x0738 0x50F4 MOVF PRODH, 0, 0 +;__Lib_Math.c,475 :: +0x073A 0x220A ADDWFC R10, 1, 0 +;__Lib_Math.c,476 :: +0x073C 0x6AE8 CLRF WREG, 0 +;__Lib_Math.c,477 :: +0x073E 0x220B ADDWFC R11, 1, 0 +;__Lib_Math.c,479 :: +0x0740 0xF000C008 MOVFF R8, R0 +;__Lib_Math.c,480 :: +0x0744 0xF001C009 MOVFF R9, R1 +;__Lib_Math.c,481 :: +0x0748 0xF002C00A MOVFF R10, R2 +;__Lib_Math.c,482 :: +0x074C 0xF003C00B MOVFF R11, R3 +;__Lib_Math.c,485 :: +L_end_Mul_16X16_U: +0x0750 0x0012 RETURN 0 +; end of _Mul_16X16_U +_COMFREM: +;__Lib_Math.c,922 :: +;__Lib_Math.c,927 :: +0x0752 0x1E0B COMF R11, 1, 0 +;__Lib_Math.c,928 :: +0x0754 0x1E0A COMF R10, 1, 0 +;__Lib_Math.c,929 :: +0x0756 0x1E09 COMF R9, 1, 0 +;__Lib_Math.c,930 :: +0x0758 0x1E08 COMF R8, 1, 0 +;__Lib_Math.c,931 :: +0x075A 0x2A08 INCF R8, 1, 0 +;__Lib_Math.c,932 :: +0x075C 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,933 :: +0x075E 0x2A09 INCF R9, 1, 0 +;__Lib_Math.c,934 :: +0x0760 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,935 :: +0x0762 0x2A0A INCF R10, 1, 0 +;__Lib_Math.c,936 :: +0x0764 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,937 :: +0x0766 0x2A0B INCF R11, 1, 0 +;__Lib_Math.c,939 :: +L_end_COMFREM: +0x0768 0x0012 RETURN 0 +; end of _COMFREM +_SDIV3232L: +;__Lib_Math.c,553 :: +;__Lib_Math.c,563 :: +0x076A 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,564 :: +0x076C 0x5E08 SUBWF R8, 1, 0 +;__Lib_Math.c,565 :: +0x076E 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,566 :: +0x0770 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,567 :: +0x0772 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,568 :: +0x0774 0x5E09 SUBWF R9, 1, 0 +;__Lib_Math.c,569 :: +0x0776 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,570 :: +0x0778 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,571 :: +0x077A 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,572 :: +0x077C 0x5E0A SUBWF R10, 1, 0 +;__Lib_Math.c,573 :: +0x077E 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,574 :: +0x0780 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,575 :: +0x0782 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,576 :: +0x0784 0x5E0B SUBWF R11, 1, 0 +;__Lib_Math.c,577 :: +0x0786 0x3603 RLCF R3, 1, 0 +;__Lib_Math.c,579 :: +0x0788 0x0E07 MOVLW 7 +;__Lib_Math.c,580 :: +0x078A 0x6E0C MOVWF R12, 0 +;__Lib_Math.c,582 :: +LOOPS3232A: +;__Lib_Math.c,583 :: +0x078C 0x3403 RLCF R3, 0, 0 +;__Lib_Math.c,584 :: +0x078E 0x3608 RLCF R8, 1, 0 +;__Lib_Math.c,585 :: +0x0790 0x3609 RLCF R9, 1, 0 +;__Lib_Math.c,586 :: +0x0792 0x360A RLCF R10, 1, 0 +;__Lib_Math.c,587 :: +0x0794 0x360B RLCF R11, 1, 0 +;__Lib_Math.c,588 :: +0x0796 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,589 :: +0x0798 0xA003 BTFSS R3, 0, 0 +;__Lib_Math.c,590 :: +0x079A 0xD00E BRA SADD22LA +;__Lib_Math.c,592 :: +0x079C 0x5E08 SUBWF R8, 1, 0 +;__Lib_Math.c,593 :: +0x079E 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,594 :: +0x07A0 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,595 :: +0x07A2 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,596 :: +0x07A4 0x5E09 SUBWF R9, 1, 0 +;__Lib_Math.c,597 :: +0x07A6 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,598 :: +0x07A8 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,599 :: +0x07AA 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,600 :: +0x07AC 0x5E0A SUBWF R10, 1, 0 +;__Lib_Math.c,601 :: +0x07AE 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,602 :: +0x07B0 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,603 :: +0x07B2 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,604 :: +0x07B4 0x5E0B SUBWF R11, 1, 0 +;__Lib_Math.c,605 :: +0x07B6 0xD00D BRA SOK22LA +;__Lib_Math.c,607 :: +SADD22LA: +;__Lib_Math.c,608 :: +0x07B8 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,609 :: +0x07BA 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,610 :: +0x07BC 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,611 :: +0x07BE 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,612 :: +0x07C0 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,613 :: +0x07C2 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,614 :: +0x07C4 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,615 :: +0x07C6 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,616 :: +0x07C8 0x260A ADDWF R10, 1, 0 +;__Lib_Math.c,617 :: +0x07CA 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,618 :: +0x07CC 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,619 :: +0x07CE 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,620 :: +0x07D0 0x260B ADDWF R11, 1, 0 +;__Lib_Math.c,622 :: +SOK22LA: +;__Lib_Math.c,623 :: +0x07D2 0x3603 RLCF R3, 1, 0 +;__Lib_Math.c,625 :: +0x07D4 0x2E0C DECFSZ R12, 1, 0 +;__Lib_Math.c,626 :: +0x07D6 0xD7DA BRA LOOPS3232A +;__Lib_Math.c,628 :: +0x07D8 0x3402 RLCF R2, 0, 0 +;__Lib_Math.c,629 :: +0x07DA 0x3608 RLCF R8, 1, 0 +;__Lib_Math.c,630 :: +0x07DC 0x3609 RLCF R9, 1, 0 +;__Lib_Math.c,631 :: +0x07DE 0x360A RLCF R10, 1, 0 +;__Lib_Math.c,632 :: +0x07E0 0x360B RLCF R11, 1, 0 +;__Lib_Math.c,633 :: +0x07E2 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,634 :: +0x07E4 0xA003 BTFSS R3, 0, 0 +;__Lib_Math.c,635 :: +0x07E6 0xD00E BRA SADD22L8 +;__Lib_Math.c,637 :: +0x07E8 0x5E08 SUBWF R8, 1, 0 +;__Lib_Math.c,638 :: +0x07EA 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,639 :: +0x07EC 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,640 :: +0x07EE 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,641 :: +0x07F0 0x5E09 SUBWF R9, 1, 0 +;__Lib_Math.c,642 :: +0x07F2 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,643 :: +0x07F4 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,644 :: +0x07F6 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,645 :: +0x07F8 0x5E0A SUBWF R10, 1, 0 +;__Lib_Math.c,646 :: +0x07FA 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,647 :: +0x07FC 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,648 :: +0x07FE 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,649 :: +0x0800 0x5E0B SUBWF R11, 1, 0 +;__Lib_Math.c,650 :: +0x0802 0xD00D BRA SOK22L8 +;__Lib_Math.c,652 :: +SADD22L8: +;__Lib_Math.c,653 :: +0x0804 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,654 :: +0x0806 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,655 :: +0x0808 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,656 :: +0x080A 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,657 :: +0x080C 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,658 :: +0x080E 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,659 :: +0x0810 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,660 :: +0x0812 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,661 :: +0x0814 0x260A ADDWF R10, 1, 0 +;__Lib_Math.c,662 :: +0x0816 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,663 :: +0x0818 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,664 :: +0x081A 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,665 :: +0x081C 0x260B ADDWF R11, 1, 0 +;__Lib_Math.c,667 :: +SOK22L8: +;__Lib_Math.c,668 :: +0x081E 0x3602 RLCF R2, 1, 0 +;__Lib_Math.c,670 :: +0x0820 0x0E07 MOVLW 7 +;__Lib_Math.c,671 :: +0x0822 0x6E0C MOVWF R12, 0 +;__Lib_Math.c,673 :: +LOOPS3232B: +;__Lib_Math.c,674 :: +0x0824 0x3402 RLCF R2, 0, 0 +;__Lib_Math.c,675 :: +0x0826 0x3608 RLCF R8, 1, 0 +;__Lib_Math.c,676 :: +0x0828 0x3609 RLCF R9, 1, 0 +;__Lib_Math.c,677 :: +0x082A 0x360A RLCF R10, 1, 0 +;__Lib_Math.c,678 :: +0x082C 0x360B RLCF R11, 1, 0 +;__Lib_Math.c,679 :: +0x082E 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,680 :: +0x0830 0xA002 BTFSS R2, 0, 0 +;__Lib_Math.c,681 :: +0x0832 0xD00E BRA SADD22LB +;__Lib_Math.c,683 :: +0x0834 0x5E08 SUBWF R8, 1, 0 +;__Lib_Math.c,684 :: +0x0836 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,685 :: +0x0838 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,686 :: +0x083A 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,687 :: +0x083C 0x5E09 SUBWF R9, 1, 0 +;__Lib_Math.c,688 :: +0x083E 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,689 :: +0x0840 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,690 :: +0x0842 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,691 :: +0x0844 0x5E0A SUBWF R10, 1, 0 +;__Lib_Math.c,692 :: +0x0846 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,693 :: +0x0848 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,694 :: +0x084A 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,695 :: +0x084C 0x5E0B SUBWF R11, 1, 0 +;__Lib_Math.c,696 :: +0x084E 0xD00D BRA SOK22LB +;__Lib_Math.c,698 :: +SADD22LB: +;__Lib_Math.c,699 :: +0x0850 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,700 :: +0x0852 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,701 :: +0x0854 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,702 :: +0x0856 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,703 :: +0x0858 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,704 :: +0x085A 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,705 :: +0x085C 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,706 :: +0x085E 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,707 :: +0x0860 0x260A ADDWF R10, 1, 0 +;__Lib_Math.c,708 :: +0x0862 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,709 :: +0x0864 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,710 :: +0x0866 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,711 :: +0x0868 0x260B ADDWF R11, 1, 0 +;__Lib_Math.c,713 :: +SOK22LB: +;__Lib_Math.c,714 :: +0x086A 0x3602 RLCF R2, 1, 0 +;__Lib_Math.c,716 :: +0x086C 0x2E0C DECFSZ R12, 1, 0 +;__Lib_Math.c,717 :: +0x086E 0xD7DA BRA LOOPS3232B +;__Lib_Math.c,719 :: +0x0870 0x3401 RLCF R1, 0, 0 +;__Lib_Math.c,720 :: +0x0872 0x3608 RLCF R8, 1, 0 +;__Lib_Math.c,721 :: +0x0874 0x3609 RLCF R9, 1, 0 +;__Lib_Math.c,722 :: +0x0876 0x360A RLCF R10, 1, 0 +;__Lib_Math.c,723 :: +0x0878 0x360B RLCF R11, 1, 0 +;__Lib_Math.c,724 :: +0x087A 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,725 :: +0x087C 0xA002 BTFSS R2, 0, 0 +;__Lib_Math.c,726 :: +0x087E 0xD00E BRA SADD22L16 +;__Lib_Math.c,728 :: +0x0880 0x5E08 SUBWF R8, 1, 0 +;__Lib_Math.c,729 :: +0x0882 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,730 :: +0x0884 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,731 :: +0x0886 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,732 :: +0x0888 0x5E09 SUBWF R9, 1, 0 +;__Lib_Math.c,733 :: +0x088A 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,734 :: +0x088C 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,735 :: +0x088E 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,736 :: +0x0890 0x5E0A SUBWF R10, 1, 0 +;__Lib_Math.c,737 :: +0x0892 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,738 :: +0x0894 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,739 :: +0x0896 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,740 :: +0x0898 0x5E0B SUBWF R11, 1, 0 +;__Lib_Math.c,741 :: +0x089A 0xD00D BRA SOK22L16 +;__Lib_Math.c,743 :: +SADD22L16: +;__Lib_Math.c,744 :: +0x089C 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,745 :: +0x089E 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,746 :: +0x08A0 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,747 :: +0x08A2 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,748 :: +0x08A4 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,749 :: +0x08A6 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,750 :: +0x08A8 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,751 :: +0x08AA 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,752 :: +0x08AC 0x260A ADDWF R10, 1, 0 +;__Lib_Math.c,753 :: +0x08AE 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,754 :: +0x08B0 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,755 :: +0x08B2 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,756 :: +0x08B4 0x260B ADDWF R11, 1, 0 +;__Lib_Math.c,758 :: +SOK22L16: +;__Lib_Math.c,759 :: +0x08B6 0x3601 RLCF R1, 1, 0 +;__Lib_Math.c,761 :: +0x08B8 0x0E07 MOVLW 7 +;__Lib_Math.c,762 :: +0x08BA 0x6E0C MOVWF R12, 0 +;__Lib_Math.c,764 :: +LOOPS3232C: +;__Lib_Math.c,765 :: +0x08BC 0x3401 RLCF R1, 0, 0 +;__Lib_Math.c,766 :: +0x08BE 0x3608 RLCF R8, 1, 0 +;__Lib_Math.c,767 :: +0x08C0 0x3609 RLCF R9, 1, 0 +;__Lib_Math.c,768 :: +0x08C2 0x360A RLCF R10, 1, 0 +;__Lib_Math.c,769 :: +0x08C4 0x360B RLCF R11, 1, 0 +;__Lib_Math.c,770 :: +0x08C6 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,771 :: +0x08C8 0xA001 BTFSS R1, 0, 0 +;__Lib_Math.c,772 :: +0x08CA 0xD00E BRA SADD22LC +;__Lib_Math.c,774 :: +0x08CC 0x5E08 SUBWF R8, 1, 0 +;__Lib_Math.c,775 :: +0x08CE 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,776 :: +0x08D0 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,777 :: +0x08D2 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,778 :: +0x08D4 0x5E09 SUBWF R9, 1, 0 +;__Lib_Math.c,779 :: +0x08D6 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,780 :: +0x08D8 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,781 :: +0x08DA 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,782 :: +0x08DC 0x5E0A SUBWF R10, 1, 0 +;__Lib_Math.c,783 :: +0x08DE 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,784 :: +0x08E0 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,785 :: +0x08E2 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,786 :: +0x08E4 0x5E0B SUBWF R11, 1, 0 +;__Lib_Math.c,787 :: +0x08E6 0xD00D BRA SOK22LC +;__Lib_Math.c,789 :: +SADD22LC: +;__Lib_Math.c,790 :: +0x08E8 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,791 :: +0x08EA 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,792 :: +0x08EC 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,793 :: +0x08EE 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,794 :: +0x08F0 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,795 :: +0x08F2 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,796 :: +0x08F4 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,797 :: +0x08F6 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,798 :: +0x08F8 0x260A ADDWF R10, 1, 0 +;__Lib_Math.c,799 :: +0x08FA 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,800 :: +0x08FC 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,801 :: +0x08FE 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,802 :: +0x0900 0x260B ADDWF R11, 1, 0 +;__Lib_Math.c,804 :: +SOK22LC: +;__Lib_Math.c,805 :: +0x0902 0x3601 RLCF R1, 1, 0 +;__Lib_Math.c,807 :: +0x0904 0x2E0C DECFSZ R12, 1, 0 +;__Lib_Math.c,808 :: +0x0906 0xD7DA BRA LOOPS3232C +;__Lib_Math.c,810 :: +0x0908 0x3400 RLCF R0, 0, 0 +;__Lib_Math.c,811 :: +0x090A 0x3608 RLCF R8, 1, 0 +;__Lib_Math.c,812 :: +0x090C 0x3609 RLCF R9, 1, 0 +;__Lib_Math.c,813 :: +0x090E 0x360A RLCF R10, 1, 0 +;__Lib_Math.c,814 :: +0x0910 0x360B RLCF R11, 1, 0 +;__Lib_Math.c,815 :: +0x0912 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,816 :: +0x0914 0xA001 BTFSS R1, 0, 0 +;__Lib_Math.c,817 :: +0x0916 0xD00E BRA SADD22L24 +;__Lib_Math.c,819 :: +0x0918 0x5E08 SUBWF R8, 1, 0 +;__Lib_Math.c,820 :: +0x091A 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,821 :: +0x091C 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,822 :: +0x091E 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,823 :: +0x0920 0x5E09 SUBWF R9, 1, 0 +;__Lib_Math.c,824 :: +0x0922 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,825 :: +0x0924 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,826 :: +0x0926 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,827 :: +0x0928 0x5E0A SUBWF R10, 1, 0 +;__Lib_Math.c,828 :: +0x092A 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,829 :: +0x092C 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,830 :: +0x092E 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,831 :: +0x0930 0x5E0B SUBWF R11, 1, 0 +;__Lib_Math.c,832 :: +0x0932 0xD00D BRA SOK22L24 +;__Lib_Math.c,834 :: +SADD22L24: +;__Lib_Math.c,835 :: +0x0934 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,836 :: +0x0936 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,837 :: +0x0938 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,838 :: +0x093A 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,839 :: +0x093C 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,840 :: +0x093E 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,841 :: +0x0940 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,842 :: +0x0942 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,843 :: +0x0944 0x260A ADDWF R10, 1, 0 +;__Lib_Math.c,844 :: +0x0946 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,845 :: +0x0948 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,846 :: +0x094A 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,847 :: +0x094C 0x260B ADDWF R11, 1, 0 +;__Lib_Math.c,849 :: +SOK22L24: +;__Lib_Math.c,850 :: +0x094E 0x3600 RLCF R0, 1, 0 +;__Lib_Math.c,852 :: +0x0950 0x0E07 MOVLW 7 +;__Lib_Math.c,853 :: +0x0952 0x6E0C MOVWF R12, 0 +;__Lib_Math.c,855 :: +LOOPS3232D: +;__Lib_Math.c,856 :: +0x0954 0x3400 RLCF R0, 0, 0 +;__Lib_Math.c,857 :: +0x0956 0x3608 RLCF R8, 1, 0 +;__Lib_Math.c,858 :: +0x0958 0x3609 RLCF R9, 1, 0 +;__Lib_Math.c,859 :: +0x095A 0x360A RLCF R10, 1, 0 +;__Lib_Math.c,860 :: +0x095C 0x360B RLCF R11, 1, 0 +;__Lib_Math.c,861 :: +0x095E 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,862 :: +0x0960 0xA000 BTFSS R0, 0, 0 +;__Lib_Math.c,863 :: +0x0962 0xD00E BRA SADD22LD +;__Lib_Math.c,865 :: +0x0964 0x5E08 SUBWF R8, 1, 0 +;__Lib_Math.c,866 :: +0x0966 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,867 :: +0x0968 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,868 :: +0x096A 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,869 :: +0x096C 0x5E09 SUBWF R9, 1, 0 +;__Lib_Math.c,870 :: +0x096E 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,871 :: +0x0970 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,872 :: +0x0972 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,873 :: +0x0974 0x5E0A SUBWF R10, 1, 0 +;__Lib_Math.c,874 :: +0x0976 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,875 :: +0x0978 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,876 :: +0x097A 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,877 :: +0x097C 0x5E0B SUBWF R11, 1, 0 +;__Lib_Math.c,878 :: +0x097E 0xD00D BRA SOK22LD +;__Lib_Math.c,880 :: +SADD22LD: +;__Lib_Math.c,881 :: +0x0980 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,882 :: +0x0982 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,883 :: +0x0984 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,884 :: +0x0986 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,885 :: +0x0988 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,886 :: +0x098A 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,887 :: +0x098C 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,888 :: +0x098E 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,889 :: +0x0990 0x260A ADDWF R10, 1, 0 +;__Lib_Math.c,890 :: +0x0992 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,891 :: +0x0994 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,893 :: +0x0996 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,894 :: +0x0998 0x260B ADDWF R11, 1, 0 +;__Lib_Math.c,896 :: +SOK22LD: +;__Lib_Math.c,897 :: +0x099A 0x3600 RLCF R0, 1, 0 +;__Lib_Math.c,899 :: +0x099C 0x2E0C DECFSZ R12, 1, 0 +;__Lib_Math.c,900 :: +0x099E 0xD7DA BRA LOOPS3232D +;__Lib_Math.c,902 :: +0x09A0 0xB000 BTFSC R0, 0, 0 +;__Lib_Math.c,903 :: +0x09A2 0xD00E BRA SOK22L +;__Lib_Math.c,904 :: +0x09A4 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,905 :: +0x09A6 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,906 :: +0x09A8 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,907 :: +0x09AA 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,908 :: +0x09AC 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,909 :: +0x09AE 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,910 :: +0x09B0 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,911 :: +0x09B2 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,912 :: +0x09B4 0x3C06 INCFSZ R6, 0, 0 +;__Lib_Math.c,913 :: +0x09B6 0x260A ADDWF R10, 1, 0 +;__Lib_Math.c,914 :: +0x09B8 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,915 :: +0x09BA 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,916 :: +0x09BC 0x3C07 INCFSZ R7, 0, 0 +;__Lib_Math.c,917 :: +0x09BE 0x260B ADDWF R11, 1, 0 +;__Lib_Math.c,918 :: +SOK22L: +;__Lib_Math.c,920 :: +L_end_SDIV3232L: +0x09C0 0x0012 RETURN 0 +; end of _SDIV3232L +_double2int: +;__Lib_MathDouble.c,1897 :: +;__Lib_MathDouble.c,1906 :: +0x09C2 0x6A0B CLRF R11, 0 +;__Lib_MathDouble.c,1907 :: +0x09C4 0x5003 MOVF R3, 0, 0 +;__Lib_MathDouble.c,1908 :: +0x09C6 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,1909 :: +0x09C8 0xF005EF27 GOTO IRES016 +;__Lib_MathDouble.c,1910 :: +0x09CC 0x5002 MOVF R2, 0, 0 +;__Lib_MathDouble.c,1911 :: +0x09CE 0x6E0A MOVWF R10, 0 +;__Lib_MathDouble.c,1912 :: +0x09D0 0x8E02 BSF R2, 7, 0 +;__Lib_MathDouble.c,1914 :: +0x09D2 0x0E8E MOVLW 142 +;__Lib_MathDouble.c,1915 :: +0x09D4 0x5E03 SUBWF R3, 1, 0 +;__Lib_MathDouble.c,1916 :: +0x09D6 0xAE03 BTFSS R3, 7, 0 +;__Lib_MathDouble.c,1917 :: +0x09D8 0xF005EF2B GOTO SETIOV16 +;__Lib_MathDouble.c,1918 :: +0x09DC 0x6C03 NEGF R3, 0 +;__Lib_MathDouble.c,1920 :: +0x09DE 0x0E08 MOVLW 8 +;__Lib_MathDouble.c,1921 :: +0x09E0 0x5C03 SUBWF R3, 0, 0 +;__Lib_MathDouble.c,1922 :: +0x09E2 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1923 :: +0x09E4 0xF005EF06 GOTO TSHIFT3216 +;__Lib_MathDouble.c,1924 :: +0x09E8 0x6E03 MOVWF R3, 0 +;__Lib_MathDouble.c,1925 :: +0x09EA 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,1926 :: +0x09EC 0xF001C002 MOVFF R2, R1 +;__Lib_MathDouble.c,1927 :: +0x09F0 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,1929 :: +0x09F2 0x0E08 MOVLW 8 +;__Lib_MathDouble.c,1930 :: +0x09F4 0x5C03 SUBWF R3, 0, 0 +;__Lib_MathDouble.c,1931 :: +0x09F6 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1932 :: +0x09F8 0xF005EF06 GOTO TSHIFT3216 +;__Lib_MathDouble.c,1933 :: +0x09FC 0x6E03 MOVWF R3, 0 +;__Lib_MathDouble.c,1934 :: +0x09FE 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,1935 :: +0x0A00 0x6A01 CLRF R1, 0 +;__Lib_MathDouble.c,1937 :: +0x0A02 0x5003 MOVF R3, 0, 0 +;__Lib_MathDouble.c,1938 :: +0x0A04 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_MathDouble.c,1939 :: +0x0A06 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,1940 :: +0x0A08 0xF005EF10 GOTO SHIFT3216OK +;__Lib_MathDouble.c,1941 :: +TSHIFT3216: +;__Lib_MathDouble.c,1942 :: +0x0A0C 0x5003 MOVF R3, 0, 0 +;__Lib_MathDouble.c,1943 :: +0x0A0E 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,1944 :: +0x0A10 0xF005EF10 GOTO SHIFT3216OK +;__Lib_MathDouble.c,1945 :: +SHIFT3216: +;__Lib_MathDouble.c,1946 :: +0x0A14 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,1947 :: +0x0A16 0x3202 RRCF R2, 1, 0 +;__Lib_MathDouble.c,1948 :: +0x0A18 0x3201 RRCF R1, 1, 0 +;__Lib_MathDouble.c,1949 :: +0x0A1A 0x2E03 DECFSZ R3, 1, 0 +;__Lib_MathDouble.c,1950 :: +0x0A1C 0xF005EF0A GOTO SHIFT3216 +;__Lib_MathDouble.c,1951 :: +SHIFT3216OK: +;__Lib_MathDouble.c,1952 :: +0x0A20 0xBC0B BTFSC R11, 6, 0 +;__Lib_MathDouble.c,1953 :: +0x0A22 0xA001 BTFSS R1, 0, 0 +;__Lib_MathDouble.c,1954 :: +0x0A24 0xF005EF1D GOTO INT3216OK +;__Lib_MathDouble.c,1955 :: +0x0A28 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1956 :: +0x0A2A 0xF005EF1D GOTO INT3216OK +;__Lib_MathDouble.c,1957 :: +0x0A2E 0x2A01 INCF R1, 1, 0 +;__Lib_MathDouble.c,1958 :: +0x0A30 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,1959 :: +0x0A32 0x2A02 INCF R2, 1, 0 +;__Lib_MathDouble.c,1960 :: +0x0A34 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,1961 :: +0x0A36 0xF005EF3A GOTO JPJSETIOV3224 +;__Lib_MathDouble.c,1962 :: +INT3216OK: +;__Lib_MathDouble.c,1963 :: +0x0A3A 0xAE0A BTFSS R10, 7, 0 +;__Lib_MathDouble.c,1964 :: +0x0A3C 0xF005EF3F GOTO INT3216EOK +;__Lib_MathDouble.c,1966 :: +0x0A40 0x1E02 COMF R2, 1, 0 +;__Lib_MathDouble.c,1967 :: +0x0A42 0x1E01 COMF R1, 1, 0 +;__Lib_MathDouble.c,1968 :: +0x0A44 0x2A01 INCF R1, 1, 0 +;__Lib_MathDouble.c,1969 :: +0x0A46 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,1970 :: +0x0A48 0x2A02 INCF R2, 1, 0 +;__Lib_MathDouble.c,1971 :: +0x0A4A 0xF005EF3F GOTO INT3216EOK +;__Lib_MathDouble.c,1973 :: +IRES016: +;__Lib_MathDouble.c,1974 :: +0x0A4E 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,1975 :: +0x0A50 0x6A01 CLRF R1, 0 +;__Lib_MathDouble.c,1976 :: +0x0A52 0xF005EF3F GOTO INT3216EOK +;__Lib_MathDouble.c,1977 :: +SETIOV16: +;__Lib_MathDouble.c,1978 :: +0x0A56 0x800B BSF R11, 0, 0 +;__Lib_MathDouble.c,1979 :: +0x0A58 0xAE0B BTFSS R11, 7, 0 +;__Lib_MathDouble.c,1980 :: +0x0A5A 0xF005EF43 GOTO INT3216EER +;__Lib_MathDouble.c,1982 :: +0x0A5E 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,1983 :: +0x0A60 0xAE0A BTFSS R10, 7, 0 +;__Lib_MathDouble.c,1984 :: +0x0A62 0xF005EF43 GOTO INT3216EER +;__Lib_MathDouble.c,1985 :: +0x0A66 0x0EFF MOVLW 255 +;__Lib_MathDouble.c,1986 :: +0x0A68 0x6E02 MOVWF R2, 0 +;__Lib_MathDouble.c,1987 :: +0x0A6A 0x6E01 MOVWF R1, 0 +;__Lib_MathDouble.c,1988 :: +0x0A6C 0x360A RLCF R10, 1, 0 +;__Lib_MathDouble.c,1989 :: +0x0A6E 0x3202 RRCF R2, 1, 0 +;__Lib_MathDouble.c,1990 :: +0x0A70 0xF005EF43 GOTO INT3216EER +;__Lib_MathDouble.c,1992 :: +JPJSETIOV3224: +;__Lib_MathDouble.c,1993 :: +0x0A74 0x0E01 MOVLW 1 +;__Lib_MathDouble.c,1994 :: +0x0A76 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,1996 :: +0x0A78 0xDC39 RCALL _SETIOV3224 +;__Lib_MathDouble.c,1998 :: +0x0A7A 0xF005EF45 GOTO INT3216EEE +;__Lib_MathDouble.c,1999 :: +INT3216EOK: +;__Lib_MathDouble.c,2000 :: +0x0A7E 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,2001 :: +0x0A80 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,2002 :: +0x0A82 0xF005EF45 GOTO INT3216EEE +;__Lib_MathDouble.c,2003 :: +INT3216EER: +;__Lib_MathDouble.c,2004 :: +0x0A86 0x0EFF MOVLW 255 +;__Lib_MathDouble.c,2005 :: +0x0A88 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,2006 :: +INT3216EEE: +;__Lib_MathDouble.c,2007 :: +0x0A8A 0x5001 MOVF R1, 0, 0 +;__Lib_MathDouble.c,2008 :: +0x0A8C 0x6E00 MOVWF R0, 0 +;__Lib_MathDouble.c,2009 :: +0x0A8E 0x5002 MOVF R2, 0, 0 +;__Lib_MathDouble.c,2010 :: +0x0A90 0x6E01 MOVWF R1, 0 +;__Lib_MathDouble.c,2015 :: +L_end_double2int: +0x0A92 0x0012 RETURN 0 +; end of _double2int +_ADC_Get_Sample: +;__Lib_ADC_A_D.c,34 :: +;__Lib_ADC_A_D.c,37 :: +0x0A94 0x0E83 MOVLW 131 +0x0A96 0x16C2 ANDWF ADCON0, 1 +;__Lib_ADC_A_D.c,39 :: +0x0A98 0xF000C317 MOVFF FARG_ADC_Get_Sample_channel, R0 +0x0A9C 0x3600 RLCF R0, 1 +0x0A9E 0x9000 BCF R0, 0 +0x0AA0 0x3600 RLCF R0, 1 +0x0AA2 0x9000 BCF R0, 0 +0x0AA4 0x5000 MOVF R0, 0 +0x0AA6 0x12C2 IORWF ADCON0, 1 +;__Lib_ADC_A_D.c,41 :: +0x0AA8 0xF001EC38 CALL _Delay_22us, 0 +;__Lib_ADC_A_D.c,42 :: +0x0AAC 0x82C2 BSF ADCON0, 1 +;__Lib_ADC_A_D.c,43 :: +L_ADC_Get_Sample0: +0x0AAE 0xA2C2 BTFSS ADCON0, 1 +0x0AB0 0xD001 BRA L_ADC_Get_Sample1 +;__Lib_ADC_A_D.c,44 :: +0x0AB2 0xD7FD BRA L_ADC_Get_Sample0 +L_ADC_Get_Sample1: +;__Lib_ADC_A_D.c,45 :: +0x0AB4 0xF001CFC4 MOVFF ADRESH, R1 +0x0AB8 0x6A00 CLRF R0 +;__Lib_ADC_A_D.c,46 :: +0x0ABA 0x50C3 MOVF ADRESL, 0 +0x0ABC 0x1200 IORWF R0, 1 +0x0ABE 0x0E00 MOVLW 0 +0x0AC0 0x1201 IORWF R1, 1 +;__Lib_ADC_A_D.c,48 :: +;__Lib_ADC_A_D.c,49 :: +L_end_ADC_Get_Sample: +0x0AC2 0x0012 RETURN 0 +; end of _ADC_Get_Sample +_int2double: +;__Lib_MathDouble.c,2285 :: +;__Lib_MathDouble.c,2294 :: +0x0AC4 0xF008C000 MOVFF R0, R8 +;__Lib_MathDouble.c,2295 :: +0x0AC8 0x5001 MOVF R1, 0, 0 +;__Lib_MathDouble.c,2296 :: +0x0ACA 0x6E00 MOVWF R0, 0 +;__Lib_MathDouble.c,2297 :: +0x0ACC 0x6A01 CLRF R1, 0 +;__Lib_MathDouble.c,2298 :: +0x0ACE 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,2299 :: +0x0AD0 0x6A03 CLRF R3, 0 +;__Lib_MathDouble.c,2302 :: +0x0AD2 0x6A0B CLRF R11, 0 +;__Lib_MathDouble.c,2303 :: +0x0AD4 0x6A0C CLRF R12, 0 +;__Lib_MathDouble.c,2304 :: +0x0AD6 0x6A01 CLRF R1, 0 +;__Lib_MathDouble.c,2305 :: +0x0AD8 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,2306 :: +0x0ADA 0x6A03 CLRF R3, 0 +;__Lib_MathDouble.c,2308 :: +0x0ADC 0x0E96 MOVLW 150 +;__Lib_MathDouble.c,2309 :: +0x0ADE 0x6E03 MOVWF R3, 0 +;__Lib_MathDouble.c,2310 :: +0x0AE0 0x6A0A CLRF R10, 0 +;__Lib_MathDouble.c,2311 :: +0x0AE2 0xAE00 BTFSS R0, 7, 0 +;__Lib_MathDouble.c,2312 :: +0x0AE4 0xF005EF7A GOTO FLO1632EEE +;__Lib_MathDouble.c,2314 :: +0x0AE8 0x1E08 COMF R8, 1, 0 +;__Lib_MathDouble.c,2315 :: +0x0AEA 0x1E00 COMF R0, 1, 0 +;__Lib_MathDouble.c,2317 :: +0x0AEC 0x2A08 INCF R8, 1, 0 +;__Lib_MathDouble.c,2318 :: +0x0AEE 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,2319 :: +0x0AF0 0x2A00 INCF R0, 1, 0 +;__Lib_MathDouble.c,2321 :: +0x0AF2 0x8E0A BSF R10, 7, 0 +;__Lib_MathDouble.c,2322 :: +FLO1632EEE: +;__Lib_MathDouble.c,2323 :: +0x0AF4 0xF001C000 MOVFF R0, R1 +;__Lib_MathDouble.c,2324 :: +0x0AF8 0xF000C008 MOVFF R8, R0 +;__Lib_MathDouble.c,2325 :: +0x0AFC 0x6A08 CLRF R8, 0 +;__Lib_MathDouble.c,2326 :: +0x0AFE 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,2328 :: +0x0B00 0xF001EC3D CALL _NRM3232, 0 +;__Lib_MathDouble.c,2329 :: +L_end_int2double: +0x0B04 0x0012 RETURN 0 +; end of _int2double +_Delay_500us: +;__Lib_Delays.c,27 :: void Delay_500us() { +;__Lib_Delays.c,28 :: Delay_us(498); +0x0B06 0x0E03 MOVLW 3 +0x0B08 0x6E0C MOVWF R12, 0 +0x0B0A 0x0E95 MOVLW 149 +0x0B0C 0x6E0D MOVWF R13, 0 +L_Delay_500us4: +0x0B0E 0x2E0D DECFSZ R13, 1, 0 +0x0B10 0xD7FE BRA L_Delay_500us4 +0x0B12 0x2E0C DECFSZ R12, 1, 0 +0x0B14 0xD7FC BRA L_Delay_500us4 +;__Lib_Delays.c,29 :: } +L_end_Delay_500us: +0x0B16 0x0012 RETURN 0 +; end of _Delay_500us +_Mul_32x32_U: +;__Lib_Math.c,1616 :: +;__Lib_Math.c,1631 :: +0x0B18 0x0E22 MOVLW 34 +;__Lib_Math.c,1632 :: +0x0B1A 0x6E0C MOVWF R12, 0 +;__Lib_Math.c,1633 :: +0x0B1C 0x6A08 CLRF R8, 0 +;__Lib_Math.c,1634 :: +0x0B1E 0x6A09 CLRF R9, 0 +;__Lib_Math.c,1635 :: +0x0B20 0x6A0A CLRF R10, 0 +;__Lib_Math.c,1636 :: +0x0B22 0x6A0B CLRF R11, 0 +;__Lib_Math.c,1638 :: +_NEXT: +;__Lib_Math.c,1642 :: +0x0B24 0x060C DECF R12, 1, 0 +;__Lib_Math.c,1643 :: +0x0B26 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1644 :: +0x0B28 0xD01F BRA _EXIT2 +;__Lib_Math.c,1645 :: +0x0B2A 0x90D8 BCF STATUS, 0, 0 +;__Lib_Math.c,1647 :: +_LOOP: +;__Lib_Math.c,1656 :: +0x0B2C 0x320B RRCF R11, 1, 0 +;__Lib_Math.c,1657 :: +0x0B2E 0x320A RRCF R10, 1, 0 +;__Lib_Math.c,1658 :: +0x0B30 0x3209 RRCF R9, 1, 0 +;__Lib_Math.c,1659 :: +0x0B32 0x3208 RRCF R8, 1, 0 +;__Lib_Math.c,1660 :: +0x0B34 0x3203 RRCF R3, 1, 0 +;__Lib_Math.c,1661 :: +0x0B36 0x3202 RRCF R2, 1, 0 +;__Lib_Math.c,1662 :: +0x0B38 0x3201 RRCF R1, 1, 0 +;__Lib_Math.c,1663 :: +0x0B3A 0x3200 RRCF R0, 1, 0 +;__Lib_Math.c,1668 :: +0x0B3C 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,1669 :: +0x0B3E 0xD7F2 BRA _NEXT +;__Lib_Math.c,1670 :: +0x0B40 0x060C DECF R12, 1, 0 +;__Lib_Math.c,1671 :: +0x0B42 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1672 :: +0x0B44 0xD009 BRA _EXIT1 +;__Lib_Math.c,1679 :: +0x0B46 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,1680 :: +0x0B48 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,1681 :: +0x0B4A 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,1684 :: +0x0B4C 0x2209 ADDWFC R9, 1, 0 +;__Lib_Math.c,1685 :: +0x0B4E 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,1688 :: +0x0B50 0x220A ADDWFC R10, 1, 0 +;__Lib_Math.c,1689 :: +0x0B52 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,1692 :: +0x0B54 0x220B ADDWFC R11, 1, 0 +;__Lib_Math.c,1694 :: +0x0B56 0xD7EA BRA _LOOP +;__Lib_Math.c,1696 :: +_EXIT1: +;__Lib_Math.c,1701 :: +0x0B58 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,1702 :: +0x0B5A 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,1703 :: +0x0B5C 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,1706 :: +0x0B5E 0x2209 ADDWFC R9, 1, 0 +;__Lib_Math.c,1707 :: +0x0B60 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,1710 :: +0x0B62 0x220A ADDWFC R10, 1, 0 +;__Lib_Math.c,1711 :: +0x0B64 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,1714 :: +0x0B66 0x220B ADDWFC R11, 1, 0 +;__Lib_Math.c,1717 :: +_EXIT2: +;__Lib_Math.c,1719 :: +L_end_Mul_32x32_U: +0x0B68 0x0012 RETURN 0 +; end of _Mul_32x32_U +_Mul_32x32_FP: +;__Lib_MathDouble.c,1130 :: +;__Lib_MathDouble.c,1148 :: +0x0B6A 0x6A08 CLRF R8, 0 +;__Lib_MathDouble.c,1149 :: +0x0B6C 0x6A09 CLRF R9, 0 +;__Lib_MathDouble.c,1151 :: +0x0B6E 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,1152 :: +0x0B70 0x6207 CPFSEQ R7, 0 +;__Lib_MathDouble.c,1153 :: +0x0B72 0x6403 CPFSGT R3, 0 +;__Lib_MathDouble.c,1154 :: +0x0B74 0xF006EF3A GOTO MULJPRES032 +;__Lib_MathDouble.c,1157 :: +0x0B78 0x5002 MOVF R2, 0, 0 +;__Lib_MathDouble.c,1158 :: +0x0B7A 0x1806 XORWF R6, 0, 0 +;__Lib_MathDouble.c,1159 :: +0x0B7C 0x6E0A MOVWF R10, 0 +;__Lib_MathDouble.c,1161 :: +0x0B7E 0x5007 MOVF R7, 0, 0 +;__Lib_MathDouble.c,1162 :: +0x0B80 0x2603 ADDWF R3, 1, 0 +;__Lib_MathDouble.c,1163 :: +0x0B82 0x0E7E MOVLW 126 +;__Lib_MathDouble.c,1164 :: +0x0B84 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1165 :: +0x0B86 0xF005EFCB GOTO MTUN32 +;__Lib_MathDouble.c,1167 :: +0x0B8A 0x5E03 SUBWF R3, 1, 0 +;__Lib_MathDouble.c,1168 :: +0x0B8C 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_MathDouble.c,1169 :: +0x0B8E 0xF006EF3F GOTO MULJPSETFOV32 +;__Lib_MathDouble.c,1170 :: +0x0B92 0xF005EFCF GOTO MOK32 +;__Lib_MathDouble.c,1172 :: +MTUN32: +;__Lib_MathDouble.c,1173 :: +0x0B96 0x5E03 SUBWF R3, 1, 0 +;__Lib_MathDouble.c,1174 :: +0x0B98 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1175 :: +0x0B9A 0xF006EF44 GOTO MULJPSETFUN32 +;__Lib_MathDouble.c,1177 :: +MOK32: +;__Lib_MathDouble.c,1178 :: +0x0B9E 0x8E02 BSF R2, 7, 0 +;__Lib_MathDouble.c,1179 :: +0x0BA0 0x8E06 BSF R6, 7, 0 +;__Lib_MathDouble.c,1181 :: +0x0BA2 0xF00EC002 MOVFF R2, R14 +;__Lib_MathDouble.c,1182 :: +0x0BA6 0xF00BC001 MOVFF R1, R11 +;__Lib_MathDouble.c,1183 :: +0x0BAA 0xF00DC000 MOVFF R0, R13 +;__Lib_MathDouble.c,1185 :: +0x0BAE 0x5000 MOVF R0, 0, 0 +;__Lib_MathDouble.c,1186 :: +0x0BB0 0x0204 MULWF R4, 0 +;__Lib_MathDouble.c,1187 :: +0x0BB2 0xF00CCFF4 MOVFF PRODH, R12 +;__Lib_MathDouble.c,1189 :: +0x0BB6 0x5001 MOVF R1, 0, 0 +;__Lib_MathDouble.c,1190 :: +0x0BB8 0x0205 MULWF R5, 0 +;__Lib_MathDouble.c,1191 :: +0x0BBA 0xF000CFF4 MOVFF PRODH, R0 +;__Lib_MathDouble.c,1192 :: +0x0BBE 0xF008CFF3 MOVFF PRODL, R8 +;__Lib_MathDouble.c,1194 :: +0x0BC2 0x0204 MULWF R4, 0 +;__Lib_MathDouble.c,1195 :: +0x0BC4 0x50F3 MOVF PRODL, 0, 0 +;__Lib_MathDouble.c,1196 :: +0x0BC6 0x260C ADDWF R12, 1, 0 +;__Lib_MathDouble.c,1197 :: +0x0BC8 0x50F4 MOVF PRODH, 0, 0 +;__Lib_MathDouble.c,1198 :: +0x0BCA 0x2208 ADDWFC R8, 1, 0 +;__Lib_MathDouble.c,1199 :: +0x0BCC 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,1200 :: +0x0BCE 0x2200 ADDWFC R0, 1, 0 +;__Lib_MathDouble.c,1202 :: +0x0BD0 0x500D MOVF R13, 0, 0 +;__Lib_MathDouble.c,1203 :: +0x0BD2 0x0205 MULWF R5, 0 +;__Lib_MathDouble.c,1204 :: +0x0BD4 0x50F3 MOVF PRODL, 0, 0 +;__Lib_MathDouble.c,1205 :: +0x0BD6 0x260C ADDWF R12, 1, 0 +;__Lib_MathDouble.c,1206 :: +0x0BD8 0x50F4 MOVF PRODH, 0, 0 +;__Lib_MathDouble.c,1207 :: +0x0BDA 0x2208 ADDWFC R8, 1, 0 +;__Lib_MathDouble.c,1208 :: +0x0BDC 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,1209 :: +0x0BDE 0x2200 ADDWFC R0, 1, 0 +;__Lib_MathDouble.c,1211 :: +0x0BE0 0x5002 MOVF R2, 0, 0 +;__Lib_MathDouble.c,1212 :: +0x0BE2 0x0204 MULWF R4, 0 +;__Lib_MathDouble.c,1213 :: +0x0BE4 0x50F3 MOVF PRODL, 0, 0 +;__Lib_MathDouble.c,1214 :: +0x0BE6 0x2608 ADDWF R8, 1, 0 +;__Lib_MathDouble.c,1215 :: +0x0BE8 0x50F4 MOVF PRODH, 0, 0 +;__Lib_MathDouble.c,1216 :: +0x0BEA 0x2200 ADDWFC R0, 1, 0 +;__Lib_MathDouble.c,1217 :: +0x0BEC 0x5002 MOVF R2, 0, 0 +;__Lib_MathDouble.c,1218 :: +0x0BEE 0x0205 MULWF R5, 0 +;__Lib_MathDouble.c,1219 :: +0x0BF0 0x6A01 CLRF R1, 0 +;__Lib_MathDouble.c,1220 :: +0x0BF2 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,1221 :: +0x0BF4 0x2201 ADDWFC R1, 1, 0 +;__Lib_MathDouble.c,1222 :: +0x0BF6 0x50F3 MOVF PRODL, 0, 0 +;__Lib_MathDouble.c,1223 :: +0x0BF8 0x2600 ADDWF R0, 1, 0 +;__Lib_MathDouble.c,1224 :: +0x0BFA 0x50F4 MOVF PRODH, 0, 0 +;__Lib_MathDouble.c,1225 :: +0x0BFC 0x2201 ADDWFC R1, 1, 0 +;__Lib_MathDouble.c,1227 :: +0x0BFE 0x500D MOVF R13, 0, 0 +;__Lib_MathDouble.c,1228 :: +0x0C00 0x0206 MULWF R6, 0 +;__Lib_MathDouble.c,1229 :: +0x0C02 0x50F3 MOVF PRODL, 0, 0 +;__Lib_MathDouble.c,1230 :: +0x0C04 0x2608 ADDWF R8, 1, 0 +;__Lib_MathDouble.c,1231 :: +0x0C06 0x50F4 MOVF PRODH, 0, 0 +;__Lib_MathDouble.c,1232 :: +0x0C08 0x2200 ADDWFC R0, 1, 0 +;__Lib_MathDouble.c,1233 :: +0x0C0A 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,1234 :: +0x0C0C 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,1235 :: +0x0C0E 0x2201 ADDWFC R1, 1, 0 +;__Lib_MathDouble.c,1236 :: +0x0C10 0x2202 ADDWFC R2, 1, 0 +;__Lib_MathDouble.c,1238 :: +0x0C12 0x500B MOVF R11, 0, 0 +;__Lib_MathDouble.c,1239 :: +0x0C14 0x0206 MULWF R6, 0 +;__Lib_MathDouble.c,1240 :: +0x0C16 0x50F3 MOVF PRODL, 0, 0 +;__Lib_MathDouble.c,1241 :: +0x0C18 0x2600 ADDWF R0, 1, 0 +;__Lib_MathDouble.c,1242 :: +0x0C1A 0x50F4 MOVF PRODH, 0, 0 +;__Lib_MathDouble.c,1243 :: +0x0C1C 0x2201 ADDWFC R1, 1, 0 +;__Lib_MathDouble.c,1244 :: +0x0C1E 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,1245 :: +0x0C20 0x2202 ADDWFC R2, 1, 0 +;__Lib_MathDouble.c,1247 :: +0x0C22 0x500E MOVF R14, 0, 0 +;__Lib_MathDouble.c,1248 :: +0x0C24 0x0206 MULWF R6, 0 +;__Lib_MathDouble.c,1249 :: +0x0C26 0x50F3 MOVF PRODL, 0, 0 +;__Lib_MathDouble.c,1250 :: +0x0C28 0x2601 ADDWF R1, 1, 0 +;__Lib_MathDouble.c,1251 :: +0x0C2A 0x50F4 MOVF PRODH, 0, 0 +;__Lib_MathDouble.c,1252 :: +0x0C2C 0x2202 ADDWFC R2, 1, 0 +;__Lib_MathDouble.c,1254 :: +0x0C2E 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,1255 :: +0x0C30 0xF006EF22 GOTO MROUND32 +;__Lib_MathDouble.c,1256 :: +0x0C34 0x3608 RLCF R8, 1, 0 +;__Lib_MathDouble.c,1257 :: +0x0C36 0x3600 RLCF R0, 1, 0 +;__Lib_MathDouble.c,1258 :: +0x0C38 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,1259 :: +0x0C3A 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,1260 :: +0x0C3C 0x0603 DECF R3, 1, 0 +;__Lib_MathDouble.c,1261 :: +0x0C3E 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,1262 :: +0x0C40 0xF006EF44 GOTO MULJPSETFUN32 +;__Lib_MathDouble.c,1264 :: +MROUND32: +;__Lib_MathDouble.c,1267 :: +0x0C44 0xF006EF35 GOTO MUL32OK +;__Lib_MathDouble.c,1268 :: +0x0C48 0x80D8 BSF STATUS, 0, 0 +;__Lib_MathDouble.c,1269 :: +0x0C4A 0x0E80 MOVLW 128 +;__Lib_MathDouble.c,1270 :: +0x0C4C 0x6408 CPFSGT R8, 0 +;__Lib_MathDouble.c,1271 :: +0x0C4E 0x3000 RRCF R0, 0, 0 +;__Lib_MathDouble.c,1272 :: +0x0C50 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,1273 :: +0x0C52 0x2200 ADDWFC R0, 1, 0 +;__Lib_MathDouble.c,1274 :: +0x0C54 0x2201 ADDWFC R1, 1, 0 +;__Lib_MathDouble.c,1275 :: +0x0C56 0x2202 ADDWFC R2, 1, 0 +;__Lib_MathDouble.c,1277 :: +0x0C58 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1278 :: +0x0C5A 0xF006EF35 GOTO MUL32OK +;__Lib_MathDouble.c,1279 :: +0x0C5E 0x3202 RRCF R2, 1, 0 +;__Lib_MathDouble.c,1280 :: +0x0C60 0x3201 RRCF R1, 1, 0 +;__Lib_MathDouble.c,1281 :: +0x0C62 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,1282 :: +0x0C64 0x4A03 INFSNZ R3, 1, 0 +;__Lib_MathDouble.c,1283 :: +0x0C66 0xF006EF3F GOTO MULJPSETFOV32 +;__Lib_MathDouble.c,1285 :: +MUL32OK: +;__Lib_MathDouble.c,1286 :: +0x0C6A 0xAE0A BTFSS R10, 7, 0 +;__Lib_MathDouble.c,1287 :: +0x0C6C 0x9E02 BCF R2, 7, 0 +;__Lib_MathDouble.c,1289 :: +0x0C6E 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,1290 :: +0x0C70 0xF006EF47 GOTO MULEEE +;__Lib_MathDouble.c,1291 :: +MULJPRES032: +;__Lib_MathDouble.c,1292 :: +0x0C74 0x0E01 MOVLW 1 +;__Lib_MathDouble.c,1295 :: +0x0C76 0xF000ECC9 CALL _RES032, 0 +;__Lib_MathDouble.c,1297 :: +0x0C7A 0xF006EF47 GOTO MULEEE +;__Lib_MathDouble.c,1298 :: +MULJPSETFOV32: +;__Lib_MathDouble.c,1299 :: +0x0C7E 0x0E02 MOVLW 2 +;__Lib_MathDouble.c,1302 :: +0x0C80 0xF001EC84 CALL _SETFOV32, 0 +;__Lib_MathDouble.c,1304 :: +0x0C84 0xF006EF47 GOTO MULEEE +;__Lib_MathDouble.c,1305 :: +MULJPSETFUN32: +;__Lib_MathDouble.c,1306 :: +0x0C88 0x0E04 MOVLW 4 +;__Lib_MathDouble.c,1309 :: +0x0C8A 0xF000ECBC CALL _SETFUN32, 0 +;__Lib_MathDouble.c,1311 :: +MULEEE: +;__Lib_MathDouble.c,1318 :: +L_end_Mul_32x32_FP: +0x0C8E 0x0012 RETURN 0 +; end of _Mul_32x32_FP +_NRM4032: +;__Lib_MathDouble.c,174 :: +;__Lib_MathDouble.c,183 :: +0x0C90 0xB00C BTFSC R12, 0, 0 +;__Lib_MathDouble.c,184 :: +0x0C92 0xF006EF8A GOTO NRMRND4032 +;__Lib_MathDouble.c,185 :: +0x0C96 0xA20C BTFSS R12, 1, 0 +;__Lib_MathDouble.c,186 :: +0x0C98 0xF007EF32 GOTO NRM40JPSETFOV32 +;__Lib_MathDouble.c,188 :: +0x0C9C 0x6A0E CLRF R14, 0 +;__Lib_MathDouble.c,189 :: +0x0C9E 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,190 :: +0x0CA0 0x6402 CPFSGT R2, 0 +;__Lib_MathDouble.c,191 :: +0x0CA2 0xF006EFA1 GOTO NRM4032A +;__Lib_MathDouble.c,194 :: +0x0CA6 0x0EF0 MOVLW 240 +;__Lib_MathDouble.c,195 :: +0x0CA8 0x1402 ANDWF R2, 0, 0 +;__Lib_MathDouble.c,196 :: +0x0CAA 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_MathDouble.c,197 :: +0x0CAC 0xF006EF6C GOTO NORM4032 +;__Lib_MathDouble.c,199 :: +0x0CB0 0x3A02 SWAPF R2, 1, 0 +;__Lib_MathDouble.c,200 :: +0x0CB2 0x3801 SWAPF R1, 0, 0 +;__Lib_MathDouble.c,201 :: +0x0CB4 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,202 :: +0x0CB6 0x2602 ADDWF R2, 1, 0 +;__Lib_MathDouble.c,204 :: +0x0CB8 0x3801 SWAPF R1, 0, 0 +;__Lib_MathDouble.c,205 :: +0x0CBA 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,206 :: +0x0CBC 0x6E01 MOVWF R1, 0 +;__Lib_MathDouble.c,207 :: +0x0CBE 0x3800 SWAPF R0, 0, 0 +;__Lib_MathDouble.c,208 :: +0x0CC0 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,209 :: +0x0CC2 0x2601 ADDWF R1, 1, 0 +;__Lib_MathDouble.c,211 :: +0x0CC4 0x3800 SWAPF R0, 0, 0 +;__Lib_MathDouble.c,212 :: +0x0CC6 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,213 :: +0x0CC8 0x6E00 MOVWF R0, 0 +;__Lib_MathDouble.c,214 :: +0x0CCA 0x3808 SWAPF R8, 0, 0 +;__Lib_MathDouble.c,215 :: +0x0CCC 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,216 :: +0x0CCE 0x2600 ADDWF R0, 1, 0 +;__Lib_MathDouble.c,218 :: +0x0CD0 0x3808 SWAPF R8, 0, 0 +;__Lib_MathDouble.c,219 :: +0x0CD2 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,220 :: +0x0CD4 0x6E08 MOVWF R8, 0 +;__Lib_MathDouble.c,222 :: +0x0CD6 0x840E BSF R14, 2, 0 +;__Lib_MathDouble.c,224 :: +NORM4032: +;__Lib_MathDouble.c,225 :: +0x0CD8 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,227 :: +0x0CDA 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,228 :: +0x0CDC 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,229 :: +0x0CE0 0x3608 RLCF R8, 1, 0 +;__Lib_MathDouble.c,230 :: +0x0CE2 0x3600 RLCF R0, 1, 0 +;__Lib_MathDouble.c,231 :: +0x0CE4 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,232 :: +0x0CE6 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,233 :: +0x0CE8 0x2A0E INCF R14, 1, 0 +;__Lib_MathDouble.c,234 :: +0x0CEA 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,235 :: +0x0CEC 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,236 :: +0x0CF0 0x3608 RLCF R8, 1, 0 +;__Lib_MathDouble.c,237 :: +0x0CF2 0x3600 RLCF R0, 1, 0 +;__Lib_MathDouble.c,238 :: +0x0CF4 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,239 :: +0x0CF6 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,240 :: +0x0CF8 0x2A0E INCF R14, 1, 0 +;__Lib_MathDouble.c,241 :: +0x0CFA 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,242 :: +0x0CFC 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,243 :: +0x0D00 0x3608 RLCF R8, 1, 0 +;__Lib_MathDouble.c,244 :: +0x0D02 0x3600 RLCF R0, 1, 0 +;__Lib_MathDouble.c,245 :: +0x0D04 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,246 :: +0x0D06 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,247 :: +0x0D08 0x2A0E INCF R14, 1, 0 +;__Lib_MathDouble.c,249 :: +TNORMUN4032: +;__Lib_MathDouble.c,250 :: +0x0D0A 0x500E MOVF R14, 0, 0 +;__Lib_MathDouble.c,251 :: +0x0D0C 0x6403 CPFSGT R3, 0 +;__Lib_MathDouble.c,252 :: +0x0D0E 0xF007EF26 GOTO NRM40JPSETFUN32 +;__Lib_MathDouble.c,253 :: +0x0D12 0x5E03 SUBWF R3, 1, 0 +;__Lib_MathDouble.c,255 :: +NRMRND4032: +;__Lib_MathDouble.c,256 :: +0x0D14 0xBC0B BTFSC R11, 6, 0 +;__Lib_MathDouble.c,257 :: +0x0D16 0xAE08 BTFSS R8, 7, 0 +;__Lib_MathDouble.c,258 :: +0x0D18 0xF007EF2C GOTO NRM40JPFIXSIGN32 +;__Lib_MathDouble.c,259 :: +0x0D1C 0x80D8 BSF STATUS, 0, 0 +;__Lib_MathDouble.c,260 :: +0x0D1E 0x0E80 MOVLW 128 +;__Lib_MathDouble.c,261 :: +0x0D20 0x6408 CPFSGT R8, 0 +;__Lib_MathDouble.c,262 :: +0x0D22 0x3000 RRCF R0, 0, 0 +;__Lib_MathDouble.c,263 :: +0x0D24 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,264 :: +0x0D26 0x2200 ADDWFC R0, 1, 0 +;__Lib_MathDouble.c,265 :: +0x0D28 0x2201 ADDWFC R1, 1, 0 +;__Lib_MathDouble.c,266 :: +0x0D2A 0x2202 ADDWFC R2, 1, 0 +;__Lib_MathDouble.c,268 :: +0x0D2C 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,269 :: +0x0D2E 0xF007EF2C GOTO NRM40JPFIXSIGN32 +;__Lib_MathDouble.c,270 :: +0x0D32 0x3202 RRCF R2, 1, 0 +;__Lib_MathDouble.c,271 :: +0x0D34 0x3201 RRCF R1, 1, 0 +;__Lib_MathDouble.c,272 :: +0x0D36 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,273 :: +0x0D38 0x4A03 INFSNZ R3, 1, 0 +;__Lib_MathDouble.c,274 :: +0x0D3A 0xF007EF32 GOTO NRM40JPSETFOV32 +;__Lib_MathDouble.c,275 :: +0x0D3E 0xF007EF2C GOTO NRM40JPFIXSIGN32 +;__Lib_MathDouble.c,277 :: +NRM4032A: +;__Lib_MathDouble.c,278 :: +0x0D42 0xF002C001 MOVFF R1, R2 +;__Lib_MathDouble.c,279 :: +0x0D46 0xF001C000 MOVFF R0, R1 +;__Lib_MathDouble.c,280 :: +0x0D4A 0xF000C008 MOVFF R8, R0 +;__Lib_MathDouble.c,281 :: +0x0D4E 0x6A08 CLRF R8, 0 +;__Lib_MathDouble.c,282 :: +0x0D50 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,283 :: +0x0D52 0x860E BSF R14, 3, 0 +;__Lib_MathDouble.c,284 :: +0x0D54 0x6402 CPFSGT R2, 0 +;__Lib_MathDouble.c,285 :: +0x0D56 0xF006EFD8 GOTO NRM4032B +;__Lib_MathDouble.c,288 :: +0x0D5A 0x0EF0 MOVLW 240 +;__Lib_MathDouble.c,289 :: +0x0D5C 0x1402 ANDWF R2, 0, 0 +;__Lib_MathDouble.c,290 :: +0x0D5E 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_MathDouble.c,291 :: +0x0D60 0xF006EFC0 GOTO NORM4032A +;__Lib_MathDouble.c,292 :: +0x0D64 0x3A02 SWAPF R2, 1, 0 +;__Lib_MathDouble.c,293 :: +0x0D66 0x3801 SWAPF R1, 0, 0 +;__Lib_MathDouble.c,294 :: +0x0D68 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,295 :: +0x0D6A 0x2602 ADDWF R2, 1, 0 +;__Lib_MathDouble.c,297 :: +0x0D6C 0x3801 SWAPF R1, 0, 0 +;__Lib_MathDouble.c,298 :: +0x0D6E 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,299 :: +0x0D70 0x6E01 MOVWF R1, 0 +;__Lib_MathDouble.c,300 :: +0x0D72 0x3800 SWAPF R0, 0, 0 +;__Lib_MathDouble.c,301 :: +0x0D74 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,302 :: +0x0D76 0x2601 ADDWF R1, 1, 0 +;__Lib_MathDouble.c,304 :: +0x0D78 0x3800 SWAPF R0, 0, 0 +;__Lib_MathDouble.c,305 :: +0x0D7A 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,306 :: +0x0D7C 0x6E00 MOVWF R0, 0 +;__Lib_MathDouble.c,308 :: +0x0D7E 0x840E BSF R14, 2, 0 +;__Lib_MathDouble.c,310 :: +NORM4032A: +;__Lib_MathDouble.c,311 :: +0x0D80 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,313 :: +0x0D82 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,314 :: +0x0D84 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,315 :: +0x0D88 0x3600 RLCF R0, 1, 0 +;__Lib_MathDouble.c,316 :: +0x0D8A 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,317 :: +0x0D8C 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,318 :: +0x0D8E 0x2A0E INCF R14, 1, 0 +;__Lib_MathDouble.c,319 :: +0x0D90 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,320 :: +0x0D92 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,321 :: +0x0D96 0x3600 RLCF R0, 1, 0 +;__Lib_MathDouble.c,322 :: +0x0D98 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,323 :: +0x0D9A 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,324 :: +0x0D9C 0x2A0E INCF R14, 1, 0 +;__Lib_MathDouble.c,325 :: +0x0D9E 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,326 :: +0x0DA0 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,327 :: +0x0DA4 0x3600 RLCF R0, 1, 0 +;__Lib_MathDouble.c,328 :: +0x0DA6 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,329 :: +0x0DA8 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,330 :: +0x0DAA 0x2A0E INCF R14, 1, 0 +;__Lib_MathDouble.c,331 :: +0x0DAC 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,333 :: +NRM4032B: +;__Lib_MathDouble.c,334 :: +0x0DB0 0xF002C001 MOVFF R1, R2 +;__Lib_MathDouble.c,335 :: +0x0DB4 0xF001C000 MOVFF R0, R1 +;__Lib_MathDouble.c,336 :: +0x0DB8 0x6A00 CLRF R0, 0 +;__Lib_MathDouble.c,337 :: +0x0DBA 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,338 :: +0x0DBC 0x960E BCF R14, 3, 0 +;__Lib_MathDouble.c,339 :: +0x0DBE 0x880E BSF R14, 4, 0 +;__Lib_MathDouble.c,340 :: +0x0DC0 0x6402 CPFSGT R2, 0 +;__Lib_MathDouble.c,341 :: +0x0DC2 0xF007EF05 GOTO NRM4032C +;__Lib_MathDouble.c,344 :: +0x0DC6 0x0EF0 MOVLW 240 +;__Lib_MathDouble.c,345 :: +0x0DC8 0x1402 ANDWF R2, 0, 0 +;__Lib_MathDouble.c,346 :: +0x0DCA 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_MathDouble.c,347 :: +0x0DCC 0xF006EFF0 GOTO NORM4032B +;__Lib_MathDouble.c,349 :: +0x0DD0 0x3A02 SWAPF R2, 1, 0 +;__Lib_MathDouble.c,350 :: +0x0DD2 0x3801 SWAPF R1, 0, 0 +;__Lib_MathDouble.c,351 :: +0x0DD4 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,352 :: +0x0DD6 0x2602 ADDWF R2, 1, 0 +;__Lib_MathDouble.c,354 :: +0x0DD8 0x3801 SWAPF R1, 0, 0 +;__Lib_MathDouble.c,355 :: +0x0DDA 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,356 :: +0x0DDC 0x6E01 MOVWF R1, 0 +;__Lib_MathDouble.c,358 :: +0x0DDE 0x840E BSF R14, 2, 0 +;__Lib_MathDouble.c,360 :: +NORM4032B: +;__Lib_MathDouble.c,361 :: +0x0DE0 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,362 :: +0x0DE2 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,363 :: +0x0DE4 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,364 :: +0x0DE8 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,365 :: +0x0DEA 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,366 :: +0x0DEC 0x2A0E INCF R14, 1, 0 +;__Lib_MathDouble.c,367 :: +0x0DEE 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,368 :: +0x0DF0 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,369 :: +0x0DF4 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,370 :: +0x0DF6 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,371 :: +0x0DF8 0x2A0E INCF R14, 1, 0 +;__Lib_MathDouble.c,372 :: +0x0DFA 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,373 :: +0x0DFC 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,374 :: +0x0E00 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,375 :: +0x0E02 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,376 :: +0x0E04 0x2A0E INCF R14, 1, 0 +;__Lib_MathDouble.c,377 :: +0x0E06 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,379 :: +NRM4032C: +;__Lib_MathDouble.c,380 :: +0x0E0A 0xF002C001 MOVFF R1, R2 +;__Lib_MathDouble.c,381 :: +0x0E0E 0x6A01 CLRF R1, 0 +;__Lib_MathDouble.c,382 :: +0x0E10 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,383 :: +0x0E12 0x860E BSF R14, 3, 0 +;__Lib_MathDouble.c,384 :: +0x0E14 0x6402 CPFSGT R2, 0 +;__Lib_MathDouble.c,385 :: +0x0E16 0xF007EF38 GOTO NRM40JPRES032 +;__Lib_MathDouble.c,388 :: +0x0E1A 0x0EF0 MOVLW 240 +;__Lib_MathDouble.c,389 :: +0x0E1C 0x1402 ANDWF R2, 0, 0 +;__Lib_MathDouble.c,390 :: +0x0E1E 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_MathDouble.c,391 :: +0x0E20 0xF007EF14 GOTO NORM4032C +;__Lib_MathDouble.c,392 :: +0x0E24 0x3A02 SWAPF R2, 1, 0 +;__Lib_MathDouble.c,394 :: +0x0E26 0x840E BSF R14, 2, 0 +;__Lib_MathDouble.c,396 :: +NORM4032C: +;__Lib_MathDouble.c,397 :: +0x0E28 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,399 :: +0x0E2A 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,400 :: +0x0E2C 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,401 :: +0x0E30 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,402 :: +0x0E32 0x2A0E INCF R14, 1, 0 +;__Lib_MathDouble.c,403 :: +0x0E34 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,404 :: +0x0E36 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,405 :: +0x0E3A 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,406 :: +0x0E3C 0x2A0E INCF R14, 1, 0 +;__Lib_MathDouble.c,407 :: +0x0E3E 0xBE02 BTFSC R2, 7, 0 +;__Lib_MathDouble.c,408 :: +0x0E40 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,409 :: +0x0E44 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,410 :: +0x0E46 0x2A0E INCF R14, 1, 0 +;__Lib_MathDouble.c,411 :: +0x0E48 0xF006EF85 GOTO TNORMUN4032 +;__Lib_MathDouble.c,413 :: +NRM40JPSETFUN32: +;__Lib_MathDouble.c,414 :: +0x0E4C 0x0E01 MOVLW 1 +;__Lib_MathDouble.c,415 :: +0x0E4E 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,417 :: +0x0E50 0xF000ECBC CALL _SETFUN32, 0 +;__Lib_MathDouble.c,419 :: +0x0E54 0xF007EF3C GOTO NRM40EEE +;__Lib_MathDouble.c,420 :: +NRM40JPFIXSIGN32: +;__Lib_MathDouble.c,421 :: +0x0E58 0x0E02 MOVLW 2 +;__Lib_MathDouble.c,422 :: +0x0E5A 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,424 :: +0x0E5C 0xF000ECEB CALL _FIXSIGN32, 0 +;__Lib_MathDouble.c,426 :: +0x0E60 0xF007EF3C GOTO NRM40EEE +;__Lib_MathDouble.c,427 :: +NRM40JPSETFOV32: +;__Lib_MathDouble.c,428 :: +0x0E64 0x0E04 MOVLW 4 +;__Lib_MathDouble.c,429 :: +0x0E66 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,431 :: +0x0E68 0xF001EC84 CALL _SETFOV32, 0 +;__Lib_MathDouble.c,433 :: +0x0E6C 0xF007EF3C GOTO NRM40EEE +;__Lib_MathDouble.c,434 :: +NRM40JPRES032: +;__Lib_MathDouble.c,435 :: +0x0E70 0x0E08 MOVLW 8 +;__Lib_MathDouble.c,436 :: +0x0E72 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,438 :: +0x0E74 0xF000ECC9 CALL _RES032, 0 +;__Lib_MathDouble.c,440 :: +NRM40EEE: +;__Lib_MathDouble.c,448 :: +L_end_NRM4032: +0x0E78 0x0012 RETURN 0 +; end of _NRM4032 +_SETFDZ32: +;__Lib_MathDouble.c,106 :: +;__Lib_MathDouble.c,110 :: +0x0E7A 0x6A0B CLRF R11, 0 +;__Lib_MathDouble.c,111 :: +0x0E7C 0x860B BSF R11, 3, 0 +;__Lib_MathDouble.c,112 :: +0x0E7E 0x0EFF MOVLW 255 +;__Lib_MathDouble.c,114 :: +L_end_SETFDZ32: +0x0E80 0x0012 RETURN 0 +; end of _SETFDZ32 +_IntToStr: +;__Lib_Conversions.c,195 :: +;__Lib_Conversions.c,201 :: +0x0E82 0x0103 MOVLB 3 +0x0E84 0x6B1D CLRF IntToStr_negative_L0, 1 +0x0E86 0x6B1E CLRF IntToStr_negative_L0+1, 1 +;__Lib_Conversions.c,202 :: +0x0E88 0xF31FC317 MOVFF FARG_IntToStr_input, IntToStr_inword_L0 +0x0E8C 0xF320C318 MOVFF FARG_IntToStr_input+1, IntToStr_inword_L0+1 +;__Lib_Conversions.c,203 :: +0x0E90 0x0E80 MOVLW 128 +0x0E92 0x1918 XORWF FARG_IntToStr_input+1, 0, 1 +0x0E94 0x6E00 MOVWF R0 +0x0E96 0x0E80 MOVLW 128 +0x0E98 0x5C00 SUBWF R0, 0 +0x0E9A 0xE102 BNZ L__IntToStr167 +0x0E9C 0x0E00 MOVLW 0 +0x0E9E 0x5D17 SUBWF FARG_IntToStr_input, 0, 1 +L__IntToStr167: +0x0EA0 0xE20B BC L_IntToStr37 +;__Lib_Conversions.c,204 :: +0x0EA2 0x0E01 MOVLW 1 +0x0EA4 0x6F1D MOVWF IntToStr_negative_L0, 1 +0x0EA6 0x0E00 MOVLW 0 +0x0EA8 0x6F1E MOVWF IntToStr_negative_L0+1, 1 +;__Lib_Conversions.c,205 :: +0x0EAA 0x5117 MOVF FARG_IntToStr_input, 0, 1 +0x0EAC 0x0800 SUBLW 0 +0x0EAE 0x6F1F MOVWF IntToStr_inword_L0, 1 +0x0EB0 0xF320C318 MOVFF FARG_IntToStr_input+1, IntToStr_inword_L0+1 +0x0EB4 0x0E00 MOVLW 0 +0x0EB6 0x5720 SUBFWB IntToStr_inword_L0+1, 1, 1 +;__Lib_Conversions.c,206 :: +L_IntToStr37: +;__Lib_Conversions.c,207 :: +0x0EB8 0xF321C31F MOVFF IntToStr_inword_L0, FARG_WordToStr_input +0x0EBC 0xF322C320 MOVFF IntToStr_inword_L0+1, FARG_WordToStr_input+1 +0x0EC0 0xF323C319 MOVFF FARG_IntToStr_output, FARG_WordToStr_output +0x0EC4 0xF324C31A MOVFF FARG_IntToStr_output+1, FARG_WordToStr_output+1 +0x0EC8 0xF000ECEF CALL _WordToStr, 0 +;__Lib_Conversions.c,209 :: +0x0ECC 0x0E06 MOVLW 6 +0x0ECE 0x6F1B MOVWF IntToStr_i_L0, 1 +0x0ED0 0x0E00 MOVLW 0 +0x0ED2 0x6F1C MOVWF IntToStr_i_L0+1, 1 +;__Lib_Conversions.c,210 :: +L_IntToStr38: +0x0ED4 0x0E00 MOVLW 0 +0x0ED6 0x6E00 MOVWF R0 +0x0ED8 0x511C MOVF IntToStr_i_L0+1, 0, 1 +0x0EDA 0x5C00 SUBWF R0, 0 +0x0EDC 0xE102 BNZ L__IntToStr168 +0x0EDE 0x511B MOVF IntToStr_i_L0, 0, 1 +0x0EE0 0x0800 SUBLW 0 +L__IntToStr168: +0x0EE2 0xE219 BC L_IntToStr39 +;__Lib_Conversions.c,211 :: +0x0EE4 0x511B MOVF IntToStr_i_L0, 0, 1 +0x0EE6 0x2519 ADDWF FARG_IntToStr_output, 0, 1 +0x0EE8 0x6EE1 MOVWF FSR1L +0x0EEA 0x511C MOVF IntToStr_i_L0+1, 0, 1 +0x0EEC 0x211A ADDWFC FARG_IntToStr_output+1, 0, 1 +0x0EEE 0x6EE2 MOVWF FSR1L+1 +0x0EF0 0x0E01 MOVLW 1 +0x0EF2 0x5D1B SUBWF IntToStr_i_L0, 0, 1 +0x0EF4 0x6E00 MOVWF R0 +0x0EF6 0x0E00 MOVLW 0 +0x0EF8 0x591C SUBWFB IntToStr_i_L0+1, 0, 1 +0x0EFA 0x6E01 MOVWF R1 +0x0EFC 0x5000 MOVF R0, 0 +0x0EFE 0x2519 ADDWF FARG_IntToStr_output, 0, 1 +0x0F00 0x6EE9 MOVWF FSR0L +0x0F02 0x5001 MOVF R1, 0 +0x0F04 0x211A ADDWFC FARG_IntToStr_output+1, 0, 1 +0x0F06 0x6EEA MOVWF FSR0L+1 +0x0F08 0xFFE6CFEE MOVFF POSTINC0, POSTINC1 +;__Lib_Conversions.c,212 :: +0x0F0C 0x0E01 MOVLW 1 +0x0F0E 0x5F1B SUBWF IntToStr_i_L0, 1, 1 +0x0F10 0x0E00 MOVLW 0 +0x0F12 0x5B1C SUBWFB IntToStr_i_L0+1, 1, 1 +;__Lib_Conversions.c,213 :: +0x0F14 0xD7DF BRA L_IntToStr38 +L_IntToStr39: +;__Lib_Conversions.c,214 :: +0x0F16 0xFFE1C319 MOVFF FARG_IntToStr_output, FSR1L +0x0F1A 0xFFE2C31A MOVFF FARG_IntToStr_output+1, FSR1H +0x0F1E 0x0E20 MOVLW 32 +0x0F20 0x6EE6 MOVWF POSTINC1 +;__Lib_Conversions.c,215 :: +0x0F22 0x511D MOVF IntToStr_negative_L0, 0, 1 +0x0F24 0x111E IORWF IntToStr_negative_L0+1, 0, 1 +0x0F26 0xE01A BZ L_IntToStr40 +;__Lib_Conversions.c,216 :: +0x0F28 0x6B1B CLRF IntToStr_i_L0, 1 +0x0F2A 0x6B1C CLRF IntToStr_i_L0+1, 1 +;__Lib_Conversions.c,217 :: +L_IntToStr41: +0x0F2C 0x511B MOVF IntToStr_i_L0, 0, 1 +0x0F2E 0x2519 ADDWF FARG_IntToStr_output, 0, 1 +0x0F30 0x6EE9 MOVWF FSR0L +0x0F32 0x511C MOVF IntToStr_i_L0+1, 0, 1 +0x0F34 0x211A ADDWFC FARG_IntToStr_output+1, 0, 1 +0x0F36 0x6EEA MOVWF FSR0L+1 +0x0F38 0x50EE MOVF POSTINC0, 0 +0x0F3A 0x0A20 XORLW 32 +0x0F3C 0xE103 BNZ L_IntToStr42 +0x0F3E 0x4B1B INFSNZ IntToStr_i_L0, 1, 1 +0x0F40 0x2B1C INCF IntToStr_i_L0+1, 1, 1 +0x0F42 0xD7F4 BRA L_IntToStr41 +L_IntToStr42: +;__Lib_Conversions.c,218 :: +0x0F44 0x0E01 MOVLW 1 +0x0F46 0x5F1B SUBWF IntToStr_i_L0, 1, 1 +0x0F48 0x0E00 MOVLW 0 +0x0F4A 0x5B1C SUBWFB IntToStr_i_L0+1, 1, 1 +;__Lib_Conversions.c,219 :: +0x0F4C 0x511B MOVF IntToStr_i_L0, 0, 1 +0x0F4E 0x2519 ADDWF FARG_IntToStr_output, 0, 1 +0x0F50 0x6EE1 MOVWF FSR1L +0x0F52 0x511C MOVF IntToStr_i_L0+1, 0, 1 +0x0F54 0x211A ADDWFC FARG_IntToStr_output+1, 0, 1 +0x0F56 0x6EE2 MOVWF FSR1L+1 +0x0F58 0x0E2D MOVLW 45 +0x0F5A 0x6EE6 MOVWF POSTINC1 +L_IntToStr40: +;__Lib_Conversions.c,220 :: +L_end_IntToStr: +0x0F5C 0x0012 RETURN 0 +; end of _IntToStr +_led_wr_str: +;oled_control.c,249 :: void led_wr_str (char col, char pos, char str[], char leng ) { // +;oled_control.c,251 :: if(led_type==4 | led_type==5) oled_wr_str(pos, col, str, leng); // 128*64 OLED display +0x0F5E 0x0102 MOVLB 2 +0x0F60 0x51AB MOVF oled_control_led_type, 0, 1 +0x0F62 0x0A04 XORLW 4 +0x0F64 0x0E01 MOVLW 1 +0x0F66 0xA4D8 BTFSS STATUS, 2 +0x0F68 0x0E00 MOVLW 0 +0x0F6A 0x6E01 MOVWF R1 +0x0F6C 0x51AB MOVF oled_control_led_type, 0, 1 +0x0F6E 0x0A05 XORLW 5 +0x0F70 0x0E01 MOVLW 1 +0x0F72 0xA4D8 BTFSS STATUS, 2 +0x0F74 0x0E00 MOVLW 0 +0x0F76 0x6E00 MOVWF R0 +0x0F78 0x5001 MOVF R1, 0 +0x0F7A 0x1200 IORWF R0, 1 +0x0F7C 0xE00D BZ L_led_wr_str42 +0x0F7E 0xF321C318 MOVFF FARG_led_wr_str_pos, FARG_oled_wr_str_col +0x0F82 0xF322C317 MOVFF FARG_led_wr_str_col, FARG_oled_wr_str_page +0x0F86 0xF323C319 MOVFF FARG_led_wr_str_str, FARG_oled_wr_str_str +0x0F8A 0xF324C31A MOVFF FARG_led_wr_str_str+1, FARG_oled_wr_str_str+1 +0x0F8E 0xF325C31B MOVFF FARG_led_wr_str_leng, FARG_oled_wr_str_leng +0x0F92 0xF001ECDE CALL _oled_wr_str, 0 +0x0F96 0xD05D BRA L_led_wr_str43 +L_led_wr_str42: +;oled_control.c,252 :: else if(led_type==2 | led_type==3) oled_wr_str(7*pos+4, col*2, str, leng); // 128*32 OLED display +0x0F98 0x51AB MOVF oled_control_led_type, 0, 1 +0x0F9A 0x0A02 XORLW 2 +0x0F9C 0x0E01 MOVLW 1 +0x0F9E 0xA4D8 BTFSS STATUS, 2 +0x0FA0 0x0E00 MOVLW 0 +0x0FA2 0x6E01 MOVWF R1 +0x0FA4 0x51AB MOVF oled_control_led_type, 0, 1 +0x0FA6 0x0A03 XORLW 3 +0x0FA8 0x0E01 MOVLW 1 +0x0FAA 0xA4D8 BTFSS STATUS, 2 +0x0FAC 0x0E00 MOVLW 0 +0x0FAE 0x6E00 MOVWF R0 +0x0FB0 0x5001 MOVF R1, 0 +0x0FB2 0x1200 IORWF R0, 1 +0x0FB4 0xE014 BZ L_led_wr_str44 +0x0FB6 0x0E07 MOVLW 7 +0x0FB8 0x0103 MOVLB 3 +0x0FBA 0x0318 MULWF FARG_led_wr_str_pos, 1 +0x0FBC 0xF321CFF3 MOVFF PRODL, FARG_oled_wr_str_col +0x0FC0 0x0E04 MOVLW 4 +0x0FC2 0x2721 ADDWF FARG_oled_wr_str_col, 1, 1 +0x0FC4 0xF322C317 MOVFF FARG_led_wr_str_col, FARG_oled_wr_str_page +0x0FC8 0x3722 RLCF FARG_oled_wr_str_page, 1, 1 +0x0FCA 0x9122 BCF FARG_oled_wr_str_page, 0, 1 +0x0FCC 0xF323C319 MOVFF FARG_led_wr_str_str, FARG_oled_wr_str_str +0x0FD0 0xF324C31A MOVFF FARG_led_wr_str_str+1, FARG_oled_wr_str_str+1 +0x0FD4 0xF325C31B MOVFF FARG_led_wr_str_leng, FARG_oled_wr_str_leng +0x0FD8 0xF001ECDE CALL _oled_wr_str, 0 +0x0FDC 0xD03A BRA L_led_wr_str45 +L_led_wr_str44: +;oled_control.c,255 :: RS = 0; +0x0FDE 0x6BB4 CLRF oled_control_RS, 1 +;oled_control.c,256 :: led_send(8 + col*4); +0x0FE0 0xF000C317 MOVFF FARG_led_wr_str_col, R0 +0x0FE4 0x3600 RLCF R0, 1 +0x0FE6 0x9000 BCF R0, 0 +0x0FE8 0x3600 RLCF R0, 1 +0x0FEA 0x9000 BCF R0, 0 +0x0FEC 0x5000 MOVF R0, 0 +0x0FEE 0x0F08 ADDLW 8 +0x0FF0 0x0103 MOVLB 3 +0x0FF2 0x6F21 MOVWF FARG_led_send_nible, 1 +0x0FF4 0xF001EC90 CALL _led_send, 0 +;oled_control.c,257 :: led_send(pos); +0x0FF8 0xF321C318 MOVFF FARG_led_wr_str_pos, FARG_led_send_nible +0x0FFC 0xF001EC90 CALL _led_send, 0 +;oled_control.c,259 :: RS = 1; +0x1000 0x0E01 MOVLW 1 +0x1002 0x6FB4 MOVWF oled_control_RS, 1 +;oled_control.c,260 :: for (i = 0; i < leng; i++) { // write string +0x1004 0x0103 MOVLB 3 +0x1006 0x6B1C CLRF led_wr_str_i_L0, 1 +L_led_wr_str46: +0x1008 0x511B MOVF FARG_led_wr_str_leng, 0, 1 +0x100A 0x5D1C SUBWF led_wr_str_i_L0, 0, 1 +0x100C 0xE222 BC L_led_wr_str47 +;oled_control.c,262 :: led_send(str[i] >> 4); +0x100E 0x511C MOVF led_wr_str_i_L0, 0, 1 +0x1010 0x2519 ADDWF FARG_led_wr_str_str, 0, 1 +0x1012 0x6EE9 MOVWF FSR0L +0x1014 0x0E00 MOVLW 0 +0x1016 0x211A ADDWFC FARG_led_wr_str_str+1, 0, 1 +0x1018 0x6EEA MOVWF FSR0L+1 +0x101A 0xF001CFEE MOVFF POSTINC0, R1 +0x101E 0xF321C001 MOVFF R1, FARG_led_send_nible +0x1022 0x3321 RRCF FARG_led_send_nible, 1, 1 +0x1024 0x9F21 BCF FARG_led_send_nible, 7, 1 +0x1026 0x3321 RRCF FARG_led_send_nible, 1, 1 +0x1028 0x9F21 BCF FARG_led_send_nible, 7, 1 +0x102A 0x3321 RRCF FARG_led_send_nible, 1, 1 +0x102C 0x9F21 BCF FARG_led_send_nible, 7, 1 +0x102E 0x3321 RRCF FARG_led_send_nible, 1, 1 +0x1030 0x9F21 BCF FARG_led_send_nible, 7, 1 +0x1032 0xF001EC90 CALL _led_send, 0 +;oled_control.c,263 :: led_send(str[i]); +0x1036 0x0103 MOVLB 3 +0x1038 0x511C MOVF led_wr_str_i_L0, 0, 1 +0x103A 0x2519 ADDWF FARG_led_wr_str_str, 0, 1 +0x103C 0x6EE9 MOVWF FSR0L +0x103E 0x0E00 MOVLW 0 +0x1040 0x211A ADDWFC FARG_led_wr_str_str+1, 0, 1 +0x1042 0x6EEA MOVWF FSR0L+1 +0x1044 0xF321CFEE MOVFF POSTINC0, FARG_led_send_nible +0x1048 0xF001EC90 CALL _led_send, 0 +;oled_control.c,260 :: for (i = 0; i < leng; i++) { // write string +0x104C 0x0103 MOVLB 3 +0x104E 0x2B1C INCF led_wr_str_i_L0, 1, 1 +;oled_control.c,264 :: } +0x1050 0xD7DB BRA L_led_wr_str46 +L_led_wr_str47: +;oled_control.c,266 :: } +L_led_wr_str45: +L_led_wr_str43: +;oled_control.c,267 :: } +L_end_led_wr_str: +0x1052 0x0012 RETURN 0 +; end of _led_wr_str +_send_command: +;oled_control.c,221 :: void send_command (char oled_command) { +;oled_control.c,222 :: Soft_I2C_Start(); +0x1054 0xF000EC0E CALL _Soft_I2C_Start, 0 +;oled_control.c,223 :: Soft_I2C_Write(led_addr); // device addres +0x1058 0xF330C2B2 MOVFF oled_control_led_addr, FARG_Soft_I2C_Write_d +0x105C 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,224 :: Soft_I2C_Write(128); // 128 - command, 192 - data +0x1060 0x0E80 MOVLW 128 +0x1062 0x0103 MOVLB 3 +0x1064 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x1066 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,225 :: Soft_I2C_Write(oled_command); +0x106A 0xF330C2FF MOVFF FARG_send_command_oled_command, FARG_Soft_I2C_Write_d +0x106E 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,226 :: Soft_I2C_Stop(); +0x1072 0xF000ECA5 CALL _Soft_I2C_Stop, 0 +;oled_control.c,227 :: } +L_end_send_command: +0x1076 0x0012 RETURN 0 +; end of _send_command +_lcd_ind: +;main.c,676 :: void lcd_ind() { +;main.c,678 :: asm CLRWDT; +0x1078 0x0004 CLRWDT +;main.c,680 :: work_int = 0; +0x107A 0x0102 MOVLB 2 +0x107C 0x6B95 CLRF _work_int, 1 +0x107E 0x6B96 CLRF _work_int+1, 1 +;main.c,681 :: if(ind.B0) work_int += Ind1; +0x1080 0x0101 MOVLB 1 +0x1082 0xA1FE BTFSS main_ind, 0, 1 +0x1084 0xD005 BRA L_lcd_ind376 +0x1086 0x0102 MOVLB 2 +0x1088 0x519B MOVF _Ind1, 0, 1 +0x108A 0x2795 ADDWF _work_int, 1, 1 +0x108C 0x519C MOVF _Ind1+1, 0, 1 +0x108E 0x2396 ADDWFC _work_int+1, 1, 1 +L_lcd_ind376: +;main.c,682 :: if(ind.B1) work_int += Ind2; +0x1090 0x0101 MOVLB 1 +0x1092 0xA3FE BTFSS main_ind, 1, 1 +0x1094 0xD005 BRA L_lcd_ind377 +0x1096 0x0102 MOVLB 2 +0x1098 0x5199 MOVF _Ind2, 0, 1 +0x109A 0x2795 ADDWF _work_int, 1, 1 +0x109C 0x519A MOVF _Ind2+1, 0, 1 +0x109E 0x2396 ADDWFC _work_int+1, 1, 1 +L_lcd_ind377: +;main.c,683 :: if(ind.B2) work_int += Ind3; +0x10A0 0x0101 MOVLB 1 +0x10A2 0xA5FE BTFSS main_ind, 2, 1 +0x10A4 0xD005 BRA L_lcd_ind378 +0x10A6 0x0102 MOVLB 2 +0x10A8 0x5197 MOVF _Ind3, 0, 1 +0x10AA 0x2795 ADDWF _work_int, 1, 1 +0x10AC 0x5198 MOVF _Ind3+1, 0, 1 +0x10AE 0x2396 ADDWFC _work_int+1, 1, 1 +L_lcd_ind378: +;main.c,684 :: if(ind.B3) work_int += Ind4; +0x10B0 0x0101 MOVLB 1 +0x10B2 0xA7FE BTFSS main_ind, 3, 1 +0x10B4 0xD005 BRA L_lcd_ind379 +0x10B6 0x0102 MOVLB 2 +0x10B8 0x519D MOVF _Ind4, 0, 1 +0x10BA 0x2795 ADDWF _work_int, 1, 1 +0x10BC 0x519E MOVF _Ind4+1, 0, 1 +0x10BE 0x2396 ADDWFC _work_int+1, 1, 1 +L_lcd_ind379: +;main.c,685 :: if(ind.B4) work_int += Ind5; +0x10C0 0x0101 MOVLB 1 +0x10C2 0xA9FE BTFSS main_ind, 4, 1 +0x10C4 0xD005 BRA L_lcd_ind380 +0x10C6 0x0102 MOVLB 2 +0x10C8 0x51A9 MOVF _Ind5, 0, 1 +0x10CA 0x2795 ADDWF _work_int, 1, 1 +0x10CC 0x51AA MOVF _Ind5+1, 0, 1 +0x10CE 0x2396 ADDWFC _work_int+1, 1, 1 +L_lcd_ind380: +0x10D0 0x0102 MOVLB 2 +;main.c,686 :: if(type==1) { // 1602 LCD +0x10D2 0x51C2 MOVF _type, 0, 1 +0x10D4 0x0A01 XORLW 1 +0x10D6 0xE14E BNZ L_lcd_ind381 +;main.c,687 :: if(work_int>9999) { // more then 9999 nH +0x10D8 0x0E80 MOVLW 128 +0x10DA 0x0A27 XORLW 39 +0x10DC 0x6E00 MOVWF R0 +0x10DE 0x0E80 MOVLW 128 +0x10E0 0x1996 XORWF _work_int+1, 0, 1 +0x10E2 0x5C00 SUBWF R0, 0 +0x10E4 0xE102 BNZ L__lcd_ind627 +0x10E6 0x5195 MOVF _work_int, 0, 1 +0x10E8 0x080F SUBLW 15 +L__lcd_ind627: +0x10EA 0xE21C BC L_lcd_ind382 +;main.c,688 :: work_int += 500; // round +0x10EC 0x0EF4 MOVLW 244 +0x10EE 0x2595 ADDWF _work_int, 0, 1 +0x10F0 0x6E00 MOVWF R0 +0x10F2 0x0E01 MOVLW 1 +0x10F4 0x2196 ADDWFC _work_int+1, 0, 1 +0x10F6 0x6E01 MOVWF R1 +0x10F8 0xF295C000 MOVFF R0, _work_int +0x10FC 0xF296C001 MOVFF R1, _work_int+1 +;main.c,689 :: IntToStr(work_int, work_str); +0x1100 0xF317C000 MOVFF R0, FARG_IntToStr_input +0x1104 0xF318C001 MOVFF R1, FARG_IntToStr_input+1 +0x1108 0x0EBB MOVLW _work_str +0x110A 0x0103 MOVLB 3 +0x110C 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x110E 0x0E02 MOVLW hi_addr(_work_str) +0x1110 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x1112 0xDEB7 RCALL _IntToStr +;main.c,690 :: work_str_2[0] = ' '; +0x1114 0x0E20 MOVLW 32 +0x1116 0x0102 MOVLB 2 +0x1118 0x6FC3 MOVWF _work_str_2, 1 +;main.c,691 :: work_str_2[1] = work_str[1]; +0x111A 0xF2C4C2BC MOVFF _work_str+1, _work_str_2+1 +;main.c,692 :: work_str_2[2] = work_str[2]; +0x111E 0xF2C5C2BD MOVFF _work_str+2, _work_str_2+2 +;main.c,693 :: } +0x1122 0xD027 BRA L_lcd_ind383 +L_lcd_ind382: +;main.c,695 :: work_int += 50; // Round +0x1124 0x0E32 MOVLW 50 +0x1126 0x2595 ADDWF _work_int, 0, 1 +0x1128 0x6E00 MOVWF R0 +0x112A 0x0E00 MOVLW 0 +0x112C 0x2196 ADDWFC _work_int+1, 0, 1 +0x112E 0x6E01 MOVWF R1 +0x1130 0xF295C000 MOVFF R0, _work_int +0x1134 0xF296C001 MOVFF R1, _work_int+1 +;main.c,696 :: IntToStr(work_int, work_str); +0x1138 0xF317C000 MOVFF R0, FARG_IntToStr_input +0x113C 0xF318C001 MOVFF R1, FARG_IntToStr_input+1 +0x1140 0x0EBB MOVLW _work_str +0x1142 0x0103 MOVLB 3 +0x1144 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x1146 0x0E02 MOVLW hi_addr(_work_str) +0x1148 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x114A 0xDE9B RCALL _IntToStr +;main.c,697 :: if(work_str[2] != ' ') work_str_2[0] = work_str[2]; else work_str_2[0] = '0'; +0x114C 0x0102 MOVLB 2 +0x114E 0x51BD MOVF _work_str+2, 0, 1 +0x1150 0x0A20 XORLW 32 +0x1152 0xE003 BZ L_lcd_ind384 +0x1154 0xF2C3C2BD MOVFF _work_str+2, _work_str_2 +0x1158 0xD002 BRA L_lcd_ind385 +L_lcd_ind384: +0x115A 0x0E30 MOVLW 48 +0x115C 0x6FC3 MOVWF _work_str_2, 1 +L_lcd_ind385: +;main.c,698 :: work_str_2[1] = '.'; +0x115E 0x0E2E MOVLW 46 +0x1160 0x6FC4 MOVWF _work_str_2+1, 1 +;main.c,699 :: if(work_str[3] != ' ') work_str_2[2] = work_str[3]; else work_str_2[2] = '0'; +0x1162 0x51BE MOVF _work_str+3, 0, 1 +0x1164 0x0A20 XORLW 32 +0x1166 0xE003 BZ L_lcd_ind386 +0x1168 0xF2C5C2BE MOVFF _work_str+3, _work_str_2+2 +0x116C 0xD002 BRA L_lcd_ind387 +L_lcd_ind386: +0x116E 0x0E30 MOVLW 48 +0x1170 0x6FC5 MOVWF _work_str_2+2, 1 +L_lcd_ind387: +;main.c,700 :: } +L_lcd_ind383: +;main.c,701 :: } +0x1172 0xD04D BRA L_lcd_ind388 +L_lcd_ind381: +;main.c,702 :: else if(work_int>9999) {// more then 9999 nH +0x1174 0x0E80 MOVLW 128 +0x1176 0x0A27 XORLW 39 +0x1178 0x6E00 MOVWF R0 +0x117A 0x0E80 MOVLW 128 +0x117C 0x1996 XORWF _work_int+1, 0, 1 +0x117E 0x5C00 SUBWF R0, 0 +0x1180 0xE102 BNZ L__lcd_ind628 +0x1182 0x5195 MOVF _work_int, 0, 1 +0x1184 0x080F SUBLW 15 +L__lcd_ind628: +0x1186 0xE21E BC L_lcd_ind389 +;main.c,703 :: work_int += 50; // Round +0x1188 0x0E32 MOVLW 50 +0x118A 0x2595 ADDWF _work_int, 0, 1 +0x118C 0x6E00 MOVWF R0 +0x118E 0x0E00 MOVLW 0 +0x1190 0x2196 ADDWFC _work_int+1, 0, 1 +0x1192 0x6E01 MOVWF R1 +0x1194 0xF295C000 MOVFF R0, _work_int +0x1198 0xF296C001 MOVFF R1, _work_int+1 +;main.c,704 :: IntToStr(work_int, work_str); +0x119C 0xF317C000 MOVFF R0, FARG_IntToStr_input +0x11A0 0xF318C001 MOVFF R1, FARG_IntToStr_input+1 +0x11A4 0x0EBB MOVLW _work_str +0x11A6 0x0103 MOVLB 3 +0x11A8 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x11AA 0x0E02 MOVLW hi_addr(_work_str) +0x11AC 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x11AE 0xDE69 RCALL _IntToStr +;main.c,705 :: work_str_2[0] = work_str[1]; +0x11B0 0xF2C3C2BC MOVFF _work_str+1, _work_str_2 +;main.c,706 :: work_str_2[1] = work_str[2]; +0x11B4 0xF2C4C2BD MOVFF _work_str+2, _work_str_2+1 +;main.c,707 :: work_str_2[2] = '.'; +0x11B8 0x0E2E MOVLW 46 +0x11BA 0x0102 MOVLB 2 +0x11BC 0x6FC5 MOVWF _work_str_2+2, 1 +;main.c,708 :: work_str_2[3] = work_str[3]; +0x11BE 0xF2C6C2BE MOVFF _work_str+3, _work_str_2+3 +;main.c,709 :: } +0x11C2 0xD025 BRA L_lcd_ind390 +L_lcd_ind389: +;main.c,711 :: IntToStr(work_int, work_str); +0x11C4 0xF317C295 MOVFF _work_int, FARG_IntToStr_input +0x11C8 0xF318C296 MOVFF _work_int+1, FARG_IntToStr_input+1 +0x11CC 0x0EBB MOVLW _work_str +0x11CE 0x0103 MOVLB 3 +0x11D0 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x11D2 0x0E02 MOVLW hi_addr(_work_str) +0x11D4 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x11D6 0xDE55 RCALL _IntToStr +;main.c,712 :: if(work_str[2] != ' ') work_str_2[0] = work_str[2]; else work_str_2[0] = '0'; +0x11D8 0x0102 MOVLB 2 +0x11DA 0x51BD MOVF _work_str+2, 0, 1 +0x11DC 0x0A20 XORLW 32 +0x11DE 0xE003 BZ L_lcd_ind391 +0x11E0 0xF2C3C2BD MOVFF _work_str+2, _work_str_2 +0x11E4 0xD002 BRA L_lcd_ind392 +L_lcd_ind391: +0x11E6 0x0E30 MOVLW 48 +0x11E8 0x6FC3 MOVWF _work_str_2, 1 +L_lcd_ind392: +;main.c,713 :: work_str_2[1] = '.'; +0x11EA 0x0E2E MOVLW 46 +0x11EC 0x6FC4 MOVWF _work_str_2+1, 1 +;main.c,714 :: if(work_str[3] != ' ') work_str_2[2] = work_str[3]; else work_str_2[2] = '0'; +0x11EE 0x51BE MOVF _work_str+3, 0, 1 +0x11F0 0x0A20 XORLW 32 +0x11F2 0xE003 BZ L_lcd_ind393 +0x11F4 0xF2C5C2BE MOVFF _work_str+3, _work_str_2+2 +0x11F8 0xD002 BRA L_lcd_ind394 +L_lcd_ind393: +0x11FA 0x0E30 MOVLW 48 +0x11FC 0x6FC5 MOVWF _work_str_2+2, 1 +L_lcd_ind394: +;main.c,715 :: if(work_str[4] != ' ') work_str_2[3] = work_str[4]; else work_str_2[3] = '0'; +0x11FE 0x51BF MOVF _work_str+4, 0, 1 +0x1200 0x0A20 XORLW 32 +0x1202 0xE003 BZ L_lcd_ind395 +0x1204 0xF2C6C2BF MOVFF _work_str+4, _work_str_2+3 +0x1208 0xD002 BRA L_lcd_ind396 +L_lcd_ind395: +0x120A 0x0E30 MOVLW 48 +0x120C 0x6FC6 MOVWF _work_str_2+3, 1 +L_lcd_ind396: +;main.c,716 :: } +L_lcd_ind390: +L_lcd_ind388: +;main.c,718 :: if(type==1) { +0x120E 0x51C2 MOVF _type, 0, 1 +0x1210 0x0A01 XORLW 1 +0x1212 0xE12C BNZ L_lcd_ind397 +;main.c,719 :: if(SW==1) column = 0; else column = 1; +0x1214 0x5105 MOVF main_SW, 0, 1 +0x1216 0x0A01 XORLW 1 +0x1218 0xE102 BNZ L_lcd_ind398 +0x121A 0x6BFF CLRF lcd_ind_column_L0, 1 +0x121C 0xD002 BRA L_lcd_ind399 +L_lcd_ind398: +0x121E 0x0E01 MOVLW 1 +0x1220 0x6FFF MOVWF lcd_ind_column_L0, 1 +L_lcd_ind399: +;main.c,720 :: led_wr_str (column, 9, "L=", 2); +0x1222 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x1226 0x0E09 MOVLW 9 +0x1228 0x0103 MOVLB 3 +0x122A 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x122C 0x0EF0 MOVLW ?lstr72_main +0x122E 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x1230 0x0E00 MOVLW hi_addr(?lstr72_main) +0x1232 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x1234 0x0E02 MOVLW 2 +0x1236 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x1238 0xDE92 RCALL _led_wr_str +;main.c,721 :: led_wr_str (column, 14, "uH", 2); +0x123A 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x123E 0x0E0E MOVLW 14 +0x1240 0x0103 MOVLB 3 +0x1242 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x1244 0x0EED MOVLW ?lstr73_main +0x1246 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x1248 0x0E00 MOVLW hi_addr(?lstr73_main) +0x124A 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x124C 0x0E02 MOVLW 2 +0x124E 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x1250 0xDE86 RCALL _led_wr_str +;main.c,722 :: led_wr_str (column, 11, work_str_2, 3); +0x1252 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x1256 0x0E0B MOVLW 11 +0x1258 0x0103 MOVLB 3 +0x125A 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x125C 0x0EC3 MOVLW _work_str_2 +0x125E 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x1260 0x0E02 MOVLW hi_addr(_work_str_2) +0x1262 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x1264 0x0E03 MOVLW 3 +0x1266 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x1268 0xDE7A RCALL _led_wr_str +;main.c,723 :: } +0x126A 0xD078 BRA L_lcd_ind400 +L_lcd_ind397: +;main.c,724 :: else if(type==4 | type==5) { // 128*64 OLED +0x126C 0x0102 MOVLB 2 +0x126E 0x51C2 MOVF _type, 0, 1 +0x1270 0x0A04 XORLW 4 +0x1272 0x0E01 MOVLW 1 +0x1274 0xA4D8 BTFSS STATUS, 2 +0x1276 0x0E00 MOVLW 0 +0x1278 0x6E01 MOVWF R1 +0x127A 0x51C2 MOVF _type, 0, 1 +0x127C 0x0A05 XORLW 5 +0x127E 0x0E01 MOVLW 1 +0x1280 0xA4D8 BTFSS STATUS, 2 +0x1282 0x0E00 MOVLW 0 +0x1284 0x6E00 MOVWF R0 +0x1286 0x5001 MOVF R1, 0 +0x1288 0x1200 IORWF R0, 1 +0x128A 0xE02D BZ L_lcd_ind401 +;main.c,725 :: if(SW==1) column = 4; else column = 6; +0x128C 0x5105 MOVF main_SW, 0, 1 +0x128E 0x0A01 XORLW 1 +0x1290 0xE103 BNZ L_lcd_ind402 +0x1292 0x0E04 MOVLW 4 +0x1294 0x6FFF MOVWF lcd_ind_column_L0, 1 +0x1296 0xD002 BRA L_lcd_ind403 +L_lcd_ind402: +0x1298 0x0E06 MOVLW 6 +0x129A 0x6FFF MOVWF lcd_ind_column_L0, 1 +L_lcd_ind403: +;main.c,726 :: led_wr_str (column, 16, "L=", 2); +0x129C 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x12A0 0x0E10 MOVLW 16 +0x12A2 0x0103 MOVLB 3 +0x12A4 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x12A6 0x0EF9 MOVLW ?lstr74_main +0x12A8 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x12AA 0x0E00 MOVLW hi_addr(?lstr74_main) +0x12AC 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x12AE 0x0E02 MOVLW 2 +0x12B0 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x12B2 0xDE55 RCALL _led_wr_str +;main.c,727 :: led_wr_str (column, 16+6*12, "uH", 2); +0x12B4 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x12B8 0x0E58 MOVLW 88 +0x12BA 0x0103 MOVLB 3 +0x12BC 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x12BE 0x0EF6 MOVLW ?lstr75_main +0x12C0 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x12C2 0x0E00 MOVLW hi_addr(?lstr75_main) +0x12C4 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x12C6 0x0E02 MOVLW 2 +0x12C8 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x12CA 0xDE49 RCALL _led_wr_str +;main.c,728 :: led_wr_str (column, 16+2*12, work_str_2, 4); +0x12CC 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x12D0 0x0E28 MOVLW 40 +0x12D2 0x0103 MOVLB 3 +0x12D4 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x12D6 0x0EC3 MOVLW _work_str_2 +0x12D8 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x12DA 0x0E02 MOVLW hi_addr(_work_str_2) +0x12DC 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x12DE 0x0E04 MOVLW 4 +0x12E0 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x12E2 0xDE3D RCALL _led_wr_str +;main.c,729 :: } +0x12E4 0xD03B BRA L_lcd_ind404 +L_lcd_ind401: +;main.c,730 :: else if(type==2 | type==3) {// 128*32 OLED +0x12E6 0x0102 MOVLB 2 +0x12E8 0x51C2 MOVF _type, 0, 1 +0x12EA 0x0A02 XORLW 2 +0x12EC 0x0E01 MOVLW 1 +0x12EE 0xA4D8 BTFSS STATUS, 2 +0x12F0 0x0E00 MOVLW 0 +0x12F2 0x6E01 MOVWF R1 +0x12F4 0x51C2 MOVF _type, 0, 1 +0x12F6 0x0A03 XORLW 3 +0x12F8 0x0E01 MOVLW 1 +0x12FA 0xA4D8 BTFSS STATUS, 2 +0x12FC 0x0E00 MOVLW 0 +0x12FE 0x6E00 MOVWF R0 +0x1300 0x5001 MOVF R1, 0 +0x1302 0x1200 IORWF R0, 1 +0x1304 0xE02B BZ L_lcd_ind405 +;main.c,731 :: if(SW==1) column = 0; else column = 1; +0x1306 0x5105 MOVF main_SW, 0, 1 +0x1308 0x0A01 XORLW 1 +0x130A 0xE102 BNZ L_lcd_ind406 +0x130C 0x6BFF CLRF lcd_ind_column_L0, 1 +0x130E 0xD002 BRA L_lcd_ind407 +L_lcd_ind406: +0x1310 0x0E01 MOVLW 1 +0x1312 0x6FFF MOVWF lcd_ind_column_L0, 1 +L_lcd_ind407: +;main.c,732 :: led_wr_str (column, 9, "L=", 2); +0x1314 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x1318 0x0E09 MOVLW 9 +0x131A 0x0103 MOVLB 3 +0x131C 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x131E 0x0EF3 MOVLW ?lstr76_main +0x1320 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x1322 0x0E00 MOVLW hi_addr(?lstr76_main) +0x1324 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x1326 0x0E02 MOVLW 2 +0x1328 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x132A 0xDE19 RCALL _led_wr_str +;main.c,733 :: led_wr_str (column, 15, "uH", 2); +0x132C 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x1330 0x0E0F MOVLW 15 +0x1332 0x0103 MOVLB 3 +0x1334 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x1336 0x0EEA MOVLW ?lstr77_main +0x1338 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x133A 0x0E00 MOVLW hi_addr(?lstr77_main) +0x133C 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x133E 0x0E02 MOVLW 2 +0x1340 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x1342 0xDE0D RCALL _led_wr_str +;main.c,734 :: led_wr_str (column, 11, work_str_2, 4); +0x1344 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x1348 0x0E0B MOVLW 11 +0x134A 0x0103 MOVLB 3 +0x134C 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x134E 0x0EC3 MOVLW _work_str_2 +0x1350 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x1352 0x0E02 MOVLW hi_addr(_work_str_2) +0x1354 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x1356 0x0E04 MOVLW 4 +0x1358 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x135A 0xDE01 RCALL _led_wr_str +;main.c,735 :: } +L_lcd_ind405: +L_lcd_ind404: +L_lcd_ind400: +;main.c,737 :: asm CLRWDT; +0x135C 0x0004 CLRWDT +;main.c,739 :: work_int = 0; +0x135E 0x0102 MOVLB 2 +0x1360 0x6B95 CLRF _work_int, 1 +0x1362 0x6B96 CLRF _work_int+1, 1 +;main.c,740 :: if(cap.B0) work_int += Cap1; +0x1364 0x0101 MOVLB 1 +0x1366 0xA1FF BTFSS main_cap, 0, 1 +0x1368 0xD005 BRA L_lcd_ind409 +0x136A 0x0102 MOVLB 2 +0x136C 0x51A3 MOVF _Cap1, 0, 1 +0x136E 0x2795 ADDWF _work_int, 1, 1 +0x1370 0x51A4 MOVF _Cap1+1, 0, 1 +0x1372 0x2396 ADDWFC _work_int+1, 1, 1 +L_lcd_ind409: +;main.c,741 :: if(cap.B1) work_int += Cap2; +0x1374 0x0101 MOVLB 1 +0x1376 0xA3FF BTFSS main_cap, 1, 1 +0x1378 0xD005 BRA L_lcd_ind410 +0x137A 0x0102 MOVLB 2 +0x137C 0x51A1 MOVF _Cap2, 0, 1 +0x137E 0x2795 ADDWF _work_int, 1, 1 +0x1380 0x51A2 MOVF _Cap2+1, 0, 1 +0x1382 0x2396 ADDWFC _work_int+1, 1, 1 +L_lcd_ind410: +;main.c,742 :: if(cap.B2) work_int += Cap3; +0x1384 0x0101 MOVLB 1 +0x1386 0xA5FF BTFSS main_cap, 2, 1 +0x1388 0xD005 BRA L_lcd_ind411 +0x138A 0x0102 MOVLB 2 +0x138C 0x519F MOVF _Cap3, 0, 1 +0x138E 0x2795 ADDWF _work_int, 1, 1 +0x1390 0x51A0 MOVF _Cap3+1, 0, 1 +0x1392 0x2396 ADDWFC _work_int+1, 1, 1 +L_lcd_ind411: +;main.c,743 :: if(cap.B3) work_int += Cap4; +0x1394 0x0101 MOVLB 1 +0x1396 0xA7FF BTFSS main_cap, 3, 1 +0x1398 0xD005 BRA L_lcd_ind412 +0x139A 0x0102 MOVLB 2 +0x139C 0x51A7 MOVF _Cap4, 0, 1 +0x139E 0x2795 ADDWF _work_int, 1, 1 +0x13A0 0x51A8 MOVF _Cap4+1, 0, 1 +0x13A2 0x2396 ADDWFC _work_int+1, 1, 1 +L_lcd_ind412: +;main.c,744 :: if(cap.B4) work_int += Cap5; +0x13A4 0x0101 MOVLB 1 +0x13A6 0xA9FF BTFSS main_cap, 4, 1 +0x13A8 0xD005 BRA L_lcd_ind413 +0x13AA 0x0102 MOVLB 2 +0x13AC 0x51A5 MOVF _Cap5, 0, 1 +0x13AE 0x2795 ADDWF _work_int, 1, 1 +0x13B0 0x51A6 MOVF _Cap5+1, 0, 1 +0x13B2 0x2396 ADDWFC _work_int+1, 1, 1 +L_lcd_ind413: +0x13B4 0x0102 MOVLB 2 +;main.c,746 :: if(type==4 | type==5) { // 128*64 OLED +0x13B6 0x51C2 MOVF _type, 0, 1 +0x13B8 0x0A04 XORLW 4 +0x13BA 0x0E01 MOVLW 1 +0x13BC 0xA4D8 BTFSS STATUS, 2 +0x13BE 0x0E00 MOVLW 0 +0x13C0 0x6E01 MOVWF R1 +0x13C2 0x51C2 MOVF _type, 0, 1 +0x13C4 0x0A05 XORLW 5 +0x13C6 0x0E01 MOVLW 1 +0x13C8 0xA4D8 BTFSS STATUS, 2 +0x13CA 0x0E00 MOVLW 0 +0x13CC 0x6E00 MOVWF R0 +0x13CE 0x5001 MOVF R1, 0 +0x13D0 0x1200 IORWF R0, 1 +0x13D2 0xE040 BZ L_lcd_ind414 +;main.c,747 :: IntToStr(work_int, work_str); +0x13D4 0xF317C295 MOVFF _work_int, FARG_IntToStr_input +0x13D8 0xF318C296 MOVFF _work_int+1, FARG_IntToStr_input+1 +0x13DC 0x0EBB MOVLW _work_str +0x13DE 0x0103 MOVLB 3 +0x13E0 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x13E2 0x0E02 MOVLW hi_addr(_work_str) +0x13E4 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x13E6 0xDD4D RCALL _IntToStr +;main.c,748 :: work_str_2[0] = work_str[2]; +0x13E8 0xF2C3C2BD MOVFF _work_str+2, _work_str_2 +;main.c,749 :: work_str_2[1] = work_str[3]; +0x13EC 0xF2C4C2BE MOVFF _work_str+3, _work_str_2+1 +;main.c,750 :: work_str_2[2] = work_str[4]; +0x13F0 0xF2C5C2BF MOVFF _work_str+4, _work_str_2+2 +;main.c,751 :: work_str_2[3] = work_str[5]; +0x13F4 0xF2C6C2C0 MOVFF _work_str+5, _work_str_2+3 +;main.c,752 :: if(SW==1) column = 6; else column = 4; +0x13F8 0x0102 MOVLB 2 +0x13FA 0x5105 MOVF main_SW, 0, 1 +0x13FC 0x0A01 XORLW 1 +0x13FE 0xE103 BNZ L_lcd_ind415 +0x1400 0x0E06 MOVLW 6 +0x1402 0x6FFF MOVWF lcd_ind_column_L0, 1 +0x1404 0xD002 BRA L_lcd_ind416 +L_lcd_ind415: +0x1406 0x0E04 MOVLW 4 +0x1408 0x6FFF MOVWF lcd_ind_column_L0, 1 +L_lcd_ind416: +;main.c,753 :: led_wr_str (column, 16, "C=", 2); +0x140A 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x140E 0x0E10 MOVLW 16 +0x1410 0x0103 MOVLB 3 +0x1412 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x1414 0x0EE7 MOVLW ?lstr78_main +0x1416 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x1418 0x0E00 MOVLW hi_addr(?lstr78_main) +0x141A 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x141C 0x0E02 MOVLW 2 +0x141E 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x1420 0xDD9E RCALL _led_wr_str +;main.c,754 :: led_wr_str (column, 16+6*12, "pF", 2); +0x1422 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x1426 0x0E58 MOVLW 88 +0x1428 0x0103 MOVLB 3 +0x142A 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x142C 0x0E50 MOVLW ?lstr79_main +0x142E 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x1430 0x0E00 MOVLW hi_addr(?lstr79_main) +0x1432 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x1434 0x0E02 MOVLW 2 +0x1436 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x1438 0xDD92 RCALL _led_wr_str +;main.c,755 :: led_wr_str (column, 16+2*12, work_str_2, 4); +0x143A 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x143E 0x0E28 MOVLW 40 +0x1440 0x0103 MOVLB 3 +0x1442 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x1444 0x0EC3 MOVLW _work_str_2 +0x1446 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x1448 0x0E02 MOVLW hi_addr(_work_str_2) +0x144A 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x144C 0x0E04 MOVLW 4 +0x144E 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x1450 0xDD86 RCALL _led_wr_str +;main.c,756 :: } +0x1452 0xD08F BRA L_lcd_ind417 +L_lcd_ind414: +;main.c,757 :: else if(type==2 | type==3) {// 128*32 OLED +0x1454 0x0102 MOVLB 2 +0x1456 0x51C2 MOVF _type, 0, 1 +0x1458 0x0A02 XORLW 2 +0x145A 0x0E01 MOVLW 1 +0x145C 0xA4D8 BTFSS STATUS, 2 +0x145E 0x0E00 MOVLW 0 +0x1460 0x6E01 MOVWF R1 +0x1462 0x51C2 MOVF _type, 0, 1 +0x1464 0x0A03 XORLW 3 +0x1466 0x0E01 MOVLW 1 +0x1468 0xA4D8 BTFSS STATUS, 2 +0x146A 0x0E00 MOVLW 0 +0x146C 0x6E00 MOVWF R0 +0x146E 0x5001 MOVF R1, 0 +0x1470 0x1200 IORWF R0, 1 +0x1472 0xE03F BZ L_lcd_ind418 +;main.c,758 :: IntToStr(work_int, work_str); +0x1474 0xF317C295 MOVFF _work_int, FARG_IntToStr_input +0x1478 0xF318C296 MOVFF _work_int+1, FARG_IntToStr_input+1 +0x147C 0x0EBB MOVLW _work_str +0x147E 0x0103 MOVLB 3 +0x1480 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x1482 0x0E02 MOVLW hi_addr(_work_str) +0x1484 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x1486 0xDCFD RCALL _IntToStr +;main.c,759 :: work_str_2[0] = work_str[2]; +0x1488 0xF2C3C2BD MOVFF _work_str+2, _work_str_2 +;main.c,760 :: work_str_2[1] = work_str[3]; +0x148C 0xF2C4C2BE MOVFF _work_str+3, _work_str_2+1 +;main.c,761 :: work_str_2[2] = work_str[4]; +0x1490 0xF2C5C2BF MOVFF _work_str+4, _work_str_2+2 +;main.c,762 :: work_str_2[3] = work_str[5]; +0x1494 0xF2C6C2C0 MOVFF _work_str+5, _work_str_2+3 +;main.c,763 :: if(SW==1) column = 1; else column = 0; +0x1498 0x0102 MOVLB 2 +0x149A 0x5105 MOVF main_SW, 0, 1 +0x149C 0x0A01 XORLW 1 +0x149E 0xE103 BNZ L_lcd_ind419 +0x14A0 0x0E01 MOVLW 1 +0x14A2 0x6FFF MOVWF lcd_ind_column_L0, 1 +0x14A4 0xD001 BRA L_lcd_ind420 +L_lcd_ind419: +0x14A6 0x6BFF CLRF lcd_ind_column_L0, 1 +L_lcd_ind420: +;main.c,764 :: led_wr_str (column, 9, "C=", 2); +0x14A8 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x14AC 0x0E09 MOVLW 9 +0x14AE 0x0103 MOVLB 3 +0x14B0 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x14B2 0x0E4D MOVLW ?lstr80_main +0x14B4 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x14B6 0x0E00 MOVLW hi_addr(?lstr80_main) +0x14B8 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x14BA 0x0E02 MOVLW 2 +0x14BC 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x14BE 0xDD4F RCALL _led_wr_str +;main.c,765 :: led_wr_str (column, 15, "pF", 2); +0x14C0 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x14C4 0x0E0F MOVLW 15 +0x14C6 0x0103 MOVLB 3 +0x14C8 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x14CA 0x0E4A MOVLW ?lstr81_main +0x14CC 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x14CE 0x0E00 MOVLW hi_addr(?lstr81_main) +0x14D0 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x14D2 0x0E02 MOVLW 2 +0x14D4 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x14D6 0xDD43 RCALL _led_wr_str +;main.c,766 :: led_wr_str (column, 11, work_str_2, 4); +0x14D8 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x14DC 0x0E0B MOVLW 11 +0x14DE 0x0103 MOVLB 3 +0x14E0 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x14E2 0x0EC3 MOVLW _work_str_2 +0x14E4 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x14E6 0x0E02 MOVLW hi_addr(_work_str_2) +0x14E8 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x14EA 0x0E04 MOVLW 4 +0x14EC 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x14EE 0xDD37 RCALL _led_wr_str +;main.c,767 :: } +0x14F0 0xD040 BRA L_lcd_ind421 +L_lcd_ind418: +;main.c,768 :: else if(type==1) { // 1602 LCD +0x14F2 0x0102 MOVLB 2 +0x14F4 0x51C2 MOVF _type, 0, 1 +0x14F6 0x0A01 XORLW 1 +0x14F8 0xE13C BNZ L_lcd_ind422 +;main.c,769 :: IntToStr(work_int, work_str); +0x14FA 0xF317C295 MOVFF _work_int, FARG_IntToStr_input +0x14FE 0xF318C296 MOVFF _work_int+1, FARG_IntToStr_input+1 +0x1502 0x0EBB MOVLW _work_str +0x1504 0x0103 MOVLB 3 +0x1506 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x1508 0x0E02 MOVLW hi_addr(_work_str) +0x150A 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x150C 0xDCBA RCALL _IntToStr +;main.c,770 :: work_str_2[0] = work_str[3]; +0x150E 0xF2C3C2BE MOVFF _work_str+3, _work_str_2 +;main.c,771 :: work_str_2[1] = work_str[4]; +0x1512 0xF2C4C2BF MOVFF _work_str+4, _work_str_2+1 +;main.c,772 :: work_str_2[2] = work_str[5]; +0x1516 0xF2C5C2C0 MOVFF _work_str+5, _work_str_2+2 +;main.c,773 :: if(SW==1) column = 1; else column = 0; +0x151A 0x0102 MOVLB 2 +0x151C 0x5105 MOVF main_SW, 0, 1 +0x151E 0x0A01 XORLW 1 +0x1520 0xE103 BNZ L_lcd_ind423 +0x1522 0x0E01 MOVLW 1 +0x1524 0x6FFF MOVWF lcd_ind_column_L0, 1 +0x1526 0xD001 BRA L_lcd_ind424 +L_lcd_ind423: +0x1528 0x6BFF CLRF lcd_ind_column_L0, 1 +L_lcd_ind424: +;main.c,774 :: led_wr_str (column, 9, "C=", 2); +0x152A 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x152E 0x0E09 MOVLW 9 +0x1530 0x0103 MOVLB 3 +0x1532 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x1534 0x0E57 MOVLW ?lstr82_main +0x1536 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x1538 0x0E00 MOVLW hi_addr(?lstr82_main) +0x153A 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x153C 0x0E02 MOVLW 2 +0x153E 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x1540 0xDD0E RCALL _led_wr_str +;main.c,775 :: led_wr_str (column, 14, "pF", 2); +0x1542 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x1546 0x0E0E MOVLW 14 +0x1548 0x0103 MOVLB 3 +0x154A 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x154C 0x0E54 MOVLW ?lstr83_main +0x154E 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x1550 0x0E00 MOVLW hi_addr(?lstr83_main) +0x1552 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x1554 0x0E02 MOVLW 2 +0x1556 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x1558 0xDD02 RCALL _led_wr_str +;main.c,776 :: led_wr_str (column, 11, work_str_2, 3); +0x155A 0xF317C2FF MOVFF lcd_ind_column_L0, FARG_led_wr_str_col +0x155E 0x0E0B MOVLW 11 +0x1560 0x0103 MOVLB 3 +0x1562 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x1564 0x0EC3 MOVLW _work_str_2 +0x1566 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x1568 0x0E02 MOVLW hi_addr(_work_str_2) +0x156A 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x156C 0x0E03 MOVLW 3 +0x156E 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x1570 0xDCF6 RCALL _led_wr_str +;main.c,777 :: } +L_lcd_ind422: +L_lcd_ind421: +L_lcd_ind417: +;main.c,779 :: asm CLRWDT; +0x1572 0x0004 CLRWDT +;main.c,780 :: return; +;main.c,781 :: } +L_end_lcd_ind: +0x1574 0x0012 RETURN 0 +; end of _lcd_ind +_Compare_Double: +;__Lib_MathDouble.c,2518 :: +;__Lib_MathDouble.c,2529 :: +0x1576 0x6A0A CLRF R10, 0 +;__Lib_MathDouble.c,2530 :: +0x1578 0x5003 MOVF R3, 0, 0 +;__Lib_MathDouble.c,2531 :: +0x157A 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_MathDouble.c,2532 :: +0x157C 0x800A BSF R10, 0, 0 +;__Lib_MathDouble.c,2533 :: +0x157E 0x5007 MOVF R7, 0, 0 +;__Lib_MathDouble.c,2534 :: +0x1580 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_MathDouble.c,2535 :: +0x1582 0x820A BSF R10, 1, 0 +;__Lib_MathDouble.c,2537 :: +0x1584 0x500A MOVF R10, 0, 0 +;__Lib_MathDouble.c,2538 :: +0x1586 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,2539 :: +0x1588 0xF00BEF1E GOTO COMPARE_EQU +;__Lib_MathDouble.c,2540 :: +0x158C 0x0A03 XORLW 3 +;__Lib_MathDouble.c,2541 :: +0x158E 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,2542 :: +0x1590 0xF00AEFD7 GOTO COMPARE_NOTZERO +;__Lib_MathDouble.c,2544 :: +0x1594 0xB00A BTFSC R10, 0, 0 +;__Lib_MathDouble.c,2545 :: +0x1596 0xF00AEFD2 GOTO COMPARE_XNOTZERO +;__Lib_MathDouble.c,2547 :: +0x159A 0xAE06 BTFSS R6, 7, 0 +;__Lib_MathDouble.c,2548 :: +0x159C 0xF00BEF1C GOTO COMPARE_LT +;__Lib_MathDouble.c,2549 :: +0x15A0 0xF00BEF1A GOTO COMPARE_GT +;__Lib_MathDouble.c,2550 :: +COMPARE_XNOTZERO: +;__Lib_MathDouble.c,2551 :: +0x15A4 0xAE02 BTFSS R2, 7, 0 +;__Lib_MathDouble.c,2552 :: +0x15A6 0xF00BEF1A GOTO COMPARE_GT +;__Lib_MathDouble.c,2553 :: +0x15AA 0xF00BEF1C GOTO COMPARE_LT +;__Lib_MathDouble.c,2555 :: +COMPARE_NOTZERO: +;__Lib_MathDouble.c,2556 :: +0x15AE 0x5002 MOVF R2, 0, 0 +;__Lib_MathDouble.c,2557 :: +0x15B0 0x0B80 ANDLW 128 +;__Lib_MathDouble.c,2558 :: +0x15B2 0x6E0A MOVWF R10, 0 +;__Lib_MathDouble.c,2559 :: +0x15B4 0x9E02 BCF R2, 7, 0 +;__Lib_MathDouble.c,2561 :: +0x15B6 0x5006 MOVF R6, 0, 0 +;__Lib_MathDouble.c,2562 :: +0x15B8 0x0B80 ANDLW 128 +;__Lib_MathDouble.c,2563 :: +0x15BA 0x9E06 BCF R6, 7, 0 +;__Lib_MathDouble.c,2565 :: +0x15BC 0x180A XORWF R10, 0, 0 +;__Lib_MathDouble.c,2566 :: +0x15BE 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,2567 :: +0x15C0 0xF00AEFE8 GOTO COMPARE_TESTALL +;__Lib_MathDouble.c,2569 :: +0x15C4 0x500A MOVF R10, 0, 0 +;__Lib_MathDouble.c,2570 :: +0x15C6 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,2571 :: +0x15C8 0xF00BEF1A GOTO COMPARE_GT +;__Lib_MathDouble.c,2572 :: +0x15CC 0xF00BEF1C GOTO COMPARE_LT +;__Lib_MathDouble.c,2574 :: +COMPARE_TESTALL: +;__Lib_MathDouble.c,2575 :: +0x15D0 0x5007 MOVF R7, 0, 0 +;__Lib_MathDouble.c,2576 :: +0x15D2 0x5C03 SUBWF R3, 0, 0 +;__Lib_MathDouble.c,2577 :: +0x15D4 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,2578 :: +0x15D6 0xF00AEFF2 GOTO COMPARE_C1 +;__Lib_MathDouble.c,2579 :: +0x15DA 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,2580 :: +0x15DC 0xF00BEF0E GOTO GT_FALSE +;__Lib_MathDouble.c,2581 :: +0x15E0 0xF00BEF14 GOTO GT_TRUE +;__Lib_MathDouble.c,2582 :: +COMPARE_C1: +;__Lib_MathDouble.c,2583 :: +0x15E4 0x5006 MOVF R6, 0, 0 +;__Lib_MathDouble.c,2584 :: +0x15E6 0x5C02 SUBWF R2, 0, 0 +;__Lib_MathDouble.c,2585 :: +0x15E8 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,2586 :: +0x15EA 0xF00AEFFC GOTO COMPARE_C2 +;__Lib_MathDouble.c,2587 :: +0x15EE 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,2588 :: +0x15F0 0xF00BEF0E GOTO GT_FALSE +;__Lib_MathDouble.c,2589 :: +0x15F4 0xF00BEF14 GOTO GT_TRUE +;__Lib_MathDouble.c,2590 :: +COMPARE_C2: +;__Lib_MathDouble.c,2591 :: +0x15F8 0x5005 MOVF R5, 0, 0 +;__Lib_MathDouble.c,2592 :: +0x15FA 0x5C01 SUBWF R1, 0, 0 +;__Lib_MathDouble.c,2593 :: +0x15FC 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,2594 :: +0x15FE 0xF00BEF06 GOTO COMPARE_C3 +;__Lib_MathDouble.c,2595 :: +0x1602 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,2596 :: +0x1604 0xF00BEF0E GOTO GT_FALSE +;__Lib_MathDouble.c,2597 :: +0x1608 0xF00BEF14 GOTO GT_TRUE +;__Lib_MathDouble.c,2598 :: +COMPARE_C3: +;__Lib_MathDouble.c,2599 :: +0x160C 0x5004 MOVF R4, 0, 0 +;__Lib_MathDouble.c,2600 :: +0x160E 0x5C00 SUBWF R0, 0, 0 +;__Lib_MathDouble.c,2601 :: +0x1610 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,2602 :: +0x1612 0xF00BEF1E GOTO COMPARE_EQU +;__Lib_MathDouble.c,2603 :: +0x1616 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_MathDouble.c,2604 :: +0x1618 0xF00BEF14 GOTO GT_TRUE +;__Lib_MathDouble.c,2606 :: +GT_FALSE: +;__Lib_MathDouble.c,2607 :: +0x161C 0x520A MOVF R10, 1, 0 +;__Lib_MathDouble.c,2608 :: +0x161E 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,2609 :: +0x1620 0xF00BEF1C GOTO COMPARE_LT +;__Lib_MathDouble.c,2610 :: +0x1624 0xF00BEF1A GOTO COMPARE_GT +;__Lib_MathDouble.c,2611 :: +GT_TRUE: +;__Lib_MathDouble.c,2612 :: +0x1628 0x520A MOVF R10, 1, 0 +;__Lib_MathDouble.c,2613 :: +0x162A 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,2614 :: +0x162C 0xF00BEF1A GOTO COMPARE_GT +;__Lib_MathDouble.c,2615 :: +0x1630 0xF00BEF1C GOTO COMPARE_LT +;__Lib_MathDouble.c,2617 :: +COMPARE_GT: +;__Lib_MathDouble.c,2620 :: +0x1634 0x80D8 BSF STATUS, 0, 0 +;__Lib_MathDouble.c,2621 :: +0x1636 0x0012 RETURN 0 +;__Lib_MathDouble.c,2622 :: +COMPARE_LT: +;__Lib_MathDouble.c,2625 :: +0x1638 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,2626 :: +0x163A 0x0012 RETURN 0 +;__Lib_MathDouble.c,2627 :: +COMPARE_EQU: +;__Lib_MathDouble.c,2630 :: +0x163C 0x80D8 BSF STATUS, 0, 0 +;__Lib_MathDouble.c,2631 :: +0x163E 0x84D8 BSF STATUS, 2, 0 +;__Lib_MathDouble.c,2632 :: +0x1640 0x0012 RETURN 0 +;__Lib_MathDouble.c,2634 :: +L_end_Compare_Double: +0x1642 0x0012 RETURN 0 +; end of _Compare_Double +_Button: +;__Lib_Button.c,6 :: +;__Lib_Button.c,8 :: +0x1644 0x0103 MOVLB 3 +0x1646 0x6B00 CLRF Button_rslt_L0, 1 +;__Lib_Button.c,11 :: +0x1648 0xF001C313 MOVFF FARG_Button_pin, R1 +0x164C 0x0E01 MOVLW 1 +0x164E 0x6E00 MOVWF R0 +0x1650 0x5001 MOVF R1, 0 +L__Button5: +0x1652 0xE004 BZ L__Button6 +0x1654 0x3600 RLCF R0, 1 +0x1656 0x9000 BCF R0, 0 +0x1658 0x0FFF ADDLW 255 +0x165A 0xD7FB BRA L__Button5 +L__Button6: +0x165C 0xF2FFC000 MOVFF R0, Button_pMask_L0 +;__Lib_Button.c,13 :: +0x1660 0xFFE9C311 MOVFF FARG_Button_port, FSR0L +0x1664 0xFFEAC312 MOVFF FARG_Button_port+1, FSR0H +0x1668 0x5000 MOVF R0, 0 +0x166A 0x14EE ANDWF POSTINC0, 0 +0x166C 0x6E01 MOVWF R1 +0x166E 0x5201 MOVF R1, 1 +0x1670 0x0E01 MOVLW 1 +0x1672 0xA4D8 BTFSS STATUS, 2 +0x1674 0x0E00 MOVLW 0 +0x1676 0x6E00 MOVWF R0 +0x1678 0x5115 MOVF FARG_Button_active_state, 0, 1 +0x167A 0x1A00 XORWF R0, 1 +0x167C 0xE01C BZ L_Button0 +;__Lib_Button.c,15 :: +L_Button1: +0x167E 0x5114 MOVF FARG_Button_time_ms, 0, 1 +0x1680 0x0800 SUBLW 0 +0x1682 0xE206 BC L_Button2 +;__Lib_Button.c,16 :: +0x1684 0xF005EC83 CALL _Delay_500us, 0 +;__Lib_Button.c,17 :: +0x1688 0xF005EC83 CALL _Delay_500us, 0 +;__Lib_Button.c,18 :: +0x168C 0x0714 DECF FARG_Button_time_ms, 1, 1 +;__Lib_Button.c,19 :: +0x168E 0xD7F7 BRA L_Button1 +L_Button2: +;__Lib_Button.c,21 :: +0x1690 0xFFE9C311 MOVFF FARG_Button_port, FSR0L +0x1694 0xFFEAC312 MOVFF FARG_Button_port+1, FSR0H +0x1698 0x0102 MOVLB 2 +0x169A 0x51FF MOVF Button_pMask_L0, 0, 1 +0x169C 0x14EE ANDWF POSTINC0, 0 +0x169E 0x6E01 MOVWF R1 +0x16A0 0x5201 MOVF R1, 1 +0x16A2 0x0E01 MOVLW 1 +0x16A4 0xA4D8 BTFSS STATUS, 2 +0x16A6 0x0E00 MOVLW 0 +0x16A8 0x6E00 MOVWF R0 +0x16AA 0x0103 MOVLB 3 +0x16AC 0x5115 MOVF FARG_Button_active_state, 0, 1 +0x16AE 0x1A00 XORWF R0, 1 +0x16B0 0xE002 BZ L_Button3 +;__Lib_Button.c,22 :: +0x16B2 0x0EFF MOVLW 255 +0x16B4 0x6F00 MOVWF Button_rslt_L0, 1 +L_Button3: +;__Lib_Button.c,23 :: +L_Button0: +;__Lib_Button.c,25 :: +0x16B6 0xF000C300 MOVFF Button_rslt_L0, R0 +;__Lib_Button.c,26 :: +L_end_Button: +0x16BA 0x0012 RETURN 0 +; end of _Button +_VDelay_ms: +;__Lib_Delays.c,123 :: void VDelay_ms(unsigned Time_ms){ +;__Lib_Delays.c,126 :: NumberOfCyc = Clock_kHz()>>2; +0x16BC 0x0EA0 MOVLW 160 +0x16BE 0x0103 MOVLB 3 +0x16C0 0x6F13 MOVWF VDelay_ms_NumberOfCyc_L0, 1 +0x16C2 0x0E0F MOVLW 15 +0x16C4 0x6F14 MOVWF VDelay_ms_NumberOfCyc_L0+1, 1 +0x16C6 0x0E00 MOVLW 0 +0x16C8 0x6F15 MOVWF VDelay_ms_NumberOfCyc_L0+2, 1 +0x16CA 0x6F16 MOVWF VDelay_ms_NumberOfCyc_L0+3, 1 +;__Lib_Delays.c,127 :: NumberOfCyc *= Time_ms; +0x16CC 0x0EA0 MOVLW 160 +0x16CE 0x6E00 MOVWF R0 +0x16D0 0x0E0F MOVLW 15 +0x16D2 0x6E01 MOVWF R1 +0x16D4 0x0E00 MOVLW 0 +0x16D6 0x6E02 MOVWF R2 +0x16D8 0x0E00 MOVLW 0 +0x16DA 0x6E03 MOVWF R3 +0x16DC 0xF004C311 MOVFF FARG_VDelay_ms_Time_ms, R4 +0x16E0 0xF005C312 MOVFF FARG_VDelay_ms_Time_ms+1, R5 +0x16E4 0x0E00 MOVLW 0 +0x16E6 0x6E06 MOVWF R6 +0x16E8 0x6E07 MOVWF R7 +0x16EA 0xF005EC8C CALL _Mul_32x32_U, 0 +0x16EE 0xF313C000 MOVFF R0, VDelay_ms_NumberOfCyc_L0 +0x16F2 0xF314C001 MOVFF R1, VDelay_ms_NumberOfCyc_L0+1 +0x16F6 0xF315C002 MOVFF R2, VDelay_ms_NumberOfCyc_L0+2 +0x16FA 0xF316C003 MOVFF R3, VDelay_ms_NumberOfCyc_L0+3 +;__Lib_Delays.c,128 :: if (NumberOfCyc < 660) +0x16FE 0x0E00 MOVLW 0 +0x1700 0x5C03 SUBWF R3, 0 +0x1702 0xE108 BNZ L__VDelay_ms54 +0x1704 0x0E00 MOVLW 0 +0x1706 0x5C02 SUBWF R2, 0 +0x1708 0xE105 BNZ L__VDelay_ms54 +0x170A 0x0E02 MOVLW 2 +0x170C 0x5C01 SUBWF R1, 0 +0x170E 0xE102 BNZ L__VDelay_ms54 +0x1710 0x0E94 MOVLW 148 +0x1712 0x5C00 SUBWF R0, 0 +L__VDelay_ms54: +0x1714 0xE201 BC L_VDelay_ms23 +;__Lib_Delays.c,129 :: return; +0x1716 0xD031 BRA L_end_VDelay_ms +L_VDelay_ms23: +;__Lib_Delays.c,130 :: NumberOfCyc -= 660; +0x1718 0x0E94 MOVLW 148 +0x171A 0x5F13 SUBWF VDelay_ms_NumberOfCyc_L0, 1, 1 +0x171C 0x0E02 MOVLW 2 +0x171E 0x5B14 SUBWFB VDelay_ms_NumberOfCyc_L0+1, 1, 1 +0x1720 0x0E00 MOVLW 0 +0x1722 0x5B15 SUBWFB VDelay_ms_NumberOfCyc_L0+2, 1, 1 +0x1724 0x5B16 SUBWFB VDelay_ms_NumberOfCyc_L0+3, 1, 1 +;__Lib_Delays.c,131 :: NumberOfCyc >>= 5; +0x1726 0x0E05 MOVLW 5 +0x1728 0x6E00 MOVWF R0 +0x172A 0x5000 MOVF R0, 0 +L__VDelay_ms55: +0x172C 0xE007 BZ L__VDelay_ms56 +0x172E 0x3316 RRCF VDelay_ms_NumberOfCyc_L0+3, 1, 1 +0x1730 0x3315 RRCF VDelay_ms_NumberOfCyc_L0+2, 1, 1 +0x1732 0x3314 RRCF VDelay_ms_NumberOfCyc_L0+1, 1, 1 +0x1734 0x3313 RRCF VDelay_ms_NumberOfCyc_L0, 1, 1 +0x1736 0x9F16 BCF VDelay_ms_NumberOfCyc_L0+3, 7, 1 +0x1738 0x0FFF ADDLW 255 +0x173A 0xD7F8 BRA L__VDelay_ms55 +L__VDelay_ms56: +;__Lib_Delays.c,133 :: while (NumberOfCyc--) +L_VDelay_ms24: +0x173C 0xF000C313 MOVFF VDelay_ms_NumberOfCyc_L0, R0 +0x1740 0xF001C314 MOVFF VDelay_ms_NumberOfCyc_L0+1, R1 +0x1744 0xF002C315 MOVFF VDelay_ms_NumberOfCyc_L0+2, R2 +0x1748 0xF003C316 MOVFF VDelay_ms_NumberOfCyc_L0+3, R3 +0x174C 0x0E01 MOVLW 1 +0x174E 0x5F13 SUBWF VDelay_ms_NumberOfCyc_L0, 1, 1 +0x1750 0x0E00 MOVLW 0 +0x1752 0x5B14 SUBWFB VDelay_ms_NumberOfCyc_L0+1, 1, 1 +0x1754 0x5B15 SUBWFB VDelay_ms_NumberOfCyc_L0+2, 1, 1 +0x1756 0x5B16 SUBWFB VDelay_ms_NumberOfCyc_L0+3, 1, 1 +0x1758 0x5000 MOVF R0, 0 +0x175A 0x1001 IORWF R1, 0 +0x175C 0x1002 IORWF R2, 0 +0x175E 0x1003 IORWF R3, 0 +0x1760 0xE00C BZ L_VDelay_ms25 +;__Lib_Delays.c,135 :: asm nop; +0x1762 0x0000 NOP +;__Lib_Delays.c,136 :: asm nop; +0x1764 0x0000 NOP +;__Lib_Delays.c,137 :: asm nop; +0x1766 0x0000 NOP +;__Lib_Delays.c,138 :: asm nop; +0x1768 0x0000 NOP +;__Lib_Delays.c,139 :: asm nop; +0x176A 0x0000 NOP +;__Lib_Delays.c,140 :: asm nop; +0x176C 0x0000 NOP +;__Lib_Delays.c,141 :: asm nop; +0x176E 0x0000 NOP +;__Lib_Delays.c,142 :: asm nop; +0x1770 0x0000 NOP +;__Lib_Delays.c,143 :: asm nop; +0x1772 0x0000 NOP +;__Lib_Delays.c,144 :: asm nop; +0x1774 0x0000 NOP +;__Lib_Delays.c,145 :: asm nop; +0x1776 0x0000 NOP +;__Lib_Delays.c,146 :: } +0x1778 0xD7E1 BRA L_VDelay_ms24 +L_VDelay_ms25: +;__Lib_Delays.c,147 :: } +L_end_VDelay_ms: +0x177A 0x0012 RETURN 0 +; end of _VDelay_ms +_Div_32x32_FP: +;__Lib_MathDouble.c,1325 :: +;__Lib_MathDouble.c,1339 :: +0x177C 0x5004 MOVF R4, 0 +0x177E 0x0A00 XORLW 0 +0x1780 0xE112 BNZ L_Div_32x32_FP11 +;__Lib_MathDouble.c,1340 :: +0x1782 0x5005 MOVF R5, 0 +0x1784 0x0A00 XORLW 0 +0x1786 0xE10F BNZ L_Div_32x32_FP12 +;__Lib_MathDouble.c,1341 :: +0x1788 0x5006 MOVF R6, 0 +0x178A 0x0A00 XORLW 0 +0x178C 0xE10C BNZ L_Div_32x32_FP13 +;__Lib_MathDouble.c,1342 :: +0x178E 0x5007 MOVF R7, 0 +0x1790 0x0A00 XORLW 0 +0x1792 0xE109 BNZ L_Div_32x32_FP14 +;__Lib_MathDouble.c,1343 :: +0x1794 0x0EFF MOVLW 255 +0x1796 0x6E00 MOVWF R0 +;__Lib_MathDouble.c,1344 :: +0x1798 0x0EFF MOVLW 255 +0x179A 0x6E01 MOVWF R1 +;__Lib_MathDouble.c,1345 :: +0x179C 0x0E7F MOVLW 127 +0x179E 0x6E02 MOVWF R2 +;__Lib_MathDouble.c,1346 :: +0x17A0 0x0EFF MOVLW 255 +0x17A2 0x6E03 MOVWF R3 +;__Lib_MathDouble.c,1347 :: +0x17A4 0xD0A8 BRA L_end_Div_32x32_FP +;__Lib_MathDouble.c,1348 :: +L_Div_32x32_FP14: +L_Div_32x32_FP13: +L_Div_32x32_FP12: +L_Div_32x32_FP11: +;__Lib_MathDouble.c,1353 :: +0x17A6 0x6A08 CLRF R8, 0 +;__Lib_MathDouble.c,1354 :: +0x17A8 0x6A09 CLRF R9, 0 +;__Lib_MathDouble.c,1356 :: +0x17AA 0x5007 MOVF R7, 0, 0 +;__Lib_MathDouble.c,1357 :: +0x17AC 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,1358 :: +0x17AE 0xF00CEF69 GOTO JPDSETFDZ32 +;__Lib_MathDouble.c,1360 :: +0x17B2 0x5003 MOVF R3, 0, 0 +;__Lib_MathDouble.c,1361 :: +0x17B4 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,1362 :: +0x17B6 0xF00CEF6E GOTO JPDRES032 +;__Lib_MathDouble.c,1364 :: +0x17BA 0x5002 MOVF R2, 0, 0 +;__Lib_MathDouble.c,1365 :: +0x17BC 0x1806 XORWF R6, 0, 0 +;__Lib_MathDouble.c,1366 :: +0x17BE 0x6E0A MOVWF R10, 0 +;__Lib_MathDouble.c,1367 :: +0x17C0 0x8E02 BSF R2, 7, 0 +;__Lib_MathDouble.c,1368 :: +0x17C2 0x8E06 BSF R6, 7, 0 +;__Lib_MathDouble.c,1370 :: +0x17C4 0x6A0E CLRF R14, 0 +;__Lib_MathDouble.c,1371 :: +0x17C6 0xF008C002 MOVFF R2, R8 +;__Lib_MathDouble.c,1372 :: +0x17CA 0xF00CC001 MOVFF R1, R12 +;__Lib_MathDouble.c,1373 :: +0x17CE 0xF00DC000 MOVFF R0, R13 +;__Lib_MathDouble.c,1375 :: +0x17D2 0x5004 MOVF R4, 0, 0 +;__Lib_MathDouble.c,1376 :: +0x17D4 0x5E0D SUBWF R13, 1, 0 +;__Lib_MathDouble.c,1377 :: +0x17D6 0x5005 MOVF R5, 0, 0 +;__Lib_MathDouble.c,1378 :: +0x17D8 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1379 :: +0x17DA 0x3C05 INCFSZ R5, 0, 0 +;__Lib_MathDouble.c,1381 :: +0x17DC 0x5E0C SUBWF R12, 1, 0 +;__Lib_MathDouble.c,1382 :: +0x17DE 0x5006 MOVF R6, 0, 0 +;__Lib_MathDouble.c,1383 :: +0x17E0 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1384 :: +0x17E2 0x3C06 INCFSZ R6, 0, 0 +;__Lib_MathDouble.c,1386 :: +0x17E4 0x5E08 SUBWF R8, 1, 0 +;__Lib_MathDouble.c,1387 :: +0x17E6 0x6A08 CLRF R8, 0 +;__Lib_MathDouble.c,1388 :: +0x17E8 0x6A0C CLRF R12, 0 +;__Lib_MathDouble.c,1389 :: +0x17EA 0x6A0D CLRF R13, 0 +;__Lib_MathDouble.c,1390 :: +0x17EC 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1391 :: +0x17EE 0xF00CEF00 GOTO DALIGN32OK +;__Lib_MathDouble.c,1393 :: +0x17F2 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,1394 :: +0x17F4 0x3202 RRCF R2, 1, 0 +;__Lib_MathDouble.c,1395 :: +0x17F6 0x3201 RRCF R1, 1, 0 +;__Lib_MathDouble.c,1396 :: +0x17F8 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,1397 :: +0x17FA 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,1398 :: +0x17FC 0x0E01 MOVLW 1 +;__Lib_MathDouble.c,1399 :: +0x17FE 0x6E0E MOVWF R14, 0 +;__Lib_MathDouble.c,1400 :: +DALIGN32OK: +;__Lib_MathDouble.c,1401 :: +0x1800 0x5007 MOVF R7, 0, 0 +;__Lib_MathDouble.c,1402 :: +0x1802 0x5E03 SUBWF R3, 1, 0 +;__Lib_MathDouble.c,1403 :: +0x1804 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1404 :: +0x1806 0xF00CEF0D GOTO ALTB32 +;__Lib_MathDouble.c,1406 :: +0x180A 0x0E7E MOVLW 126 +;__Lib_MathDouble.c,1407 :: +0x180C 0x240E ADDWF R14, 0, 0 +;__Lib_MathDouble.c,1408 :: +0x180E 0x2603 ADDWF R3, 1, 0 +;__Lib_MathDouble.c,1409 :: +0x1810 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_MathDouble.c,1410 :: +0x1812 0xF00CEF73 GOTO JPDSETFOV32 +;__Lib_MathDouble.c,1411 :: +0x1816 0xF00CEF13 GOTO DARGOK32 +;__Lib_MathDouble.c,1412 :: +ALTB32: +;__Lib_MathDouble.c,1413 :: +0x181A 0x0E7E MOVLW 126 +;__Lib_MathDouble.c,1414 :: +0x181C 0x240E ADDWF R14, 0, 0 +;__Lib_MathDouble.c,1415 :: +0x181E 0x2603 ADDWF R3, 1, 0 +;__Lib_MathDouble.c,1416 :: +0x1820 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1417 :: +0x1822 0xF00CEF78 GOTO JPDSETFUN32 +;__Lib_MathDouble.c,1418 :: +DARGOK32: +;__Lib_MathDouble.c,1419 :: +0x1826 0x0E18 MOVLW 24 +;__Lib_MathDouble.c,1420 :: +0x1828 0x6E0B MOVWF R11, 0 +;__Lib_MathDouble.c,1421 :: +DLOOP32: +;__Lib_MathDouble.c,1422 :: +0x182A 0x360D RLCF R13, 1, 0 +;__Lib_MathDouble.c,1423 :: +0x182C 0x360C RLCF R12, 1, 0 +;__Lib_MathDouble.c,1424 :: +0x182E 0x3608 RLCF R8, 1, 0 +;__Lib_MathDouble.c,1425 :: +0x1830 0x3600 RLCF R0, 1, 0 +;__Lib_MathDouble.c,1426 :: +0x1832 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,1427 :: +0x1834 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,1428 :: +0x1836 0x360E RLCF R14, 1, 0 +;__Lib_MathDouble.c,1430 :: +0x1838 0x5004 MOVF R4, 0, 0 +;__Lib_MathDouble.c,1431 :: +0x183A 0x5E00 SUBWF R0, 1, 0 +;__Lib_MathDouble.c,1432 :: +0x183C 0x5005 MOVF R5, 0, 0 +;__Lib_MathDouble.c,1433 :: +0x183E 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1434 :: +0x1840 0x3C05 INCFSZ R5, 0, 0 +;__Lib_MathDouble.c,1436 :: +0x1842 0x5E01 SUBWF R1, 1, 0 +;__Lib_MathDouble.c,1437 :: +0x1844 0x5006 MOVF R6, 0, 0 +;__Lib_MathDouble.c,1438 :: +0x1846 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1439 :: +0x1848 0x3C06 INCFSZ R6, 0, 0 +;__Lib_MathDouble.c,1441 :: +0x184A 0x5E02 SUBWF R2, 1, 0 +;__Lib_MathDouble.c,1442 :: +0x184C 0x3406 RLCF R6, 0, 0 +;__Lib_MathDouble.c,1443 :: +0x184E 0x120E IORWF R14, 1, 0 +;__Lib_MathDouble.c,1444 :: +0x1850 0xA00E BTFSS R14, 0, 0 +;__Lib_MathDouble.c,1445 :: +0x1852 0xF00CEF2E GOTO DREST32 +;__Lib_MathDouble.c,1446 :: +0x1856 0x800D BSF R13, 0, 0 +;__Lib_MathDouble.c,1447 :: +0x1858 0xF00CEF39 GOTO DOK32 +;__Lib_MathDouble.c,1448 :: +DREST32: +;__Lib_MathDouble.c,1449 :: +0x185C 0x5004 MOVF R4, 0, 0 +;__Lib_MathDouble.c,1450 :: +0x185E 0x2600 ADDWF R0, 1, 0 +;__Lib_MathDouble.c,1451 :: +0x1860 0x5005 MOVF R5, 0, 0 +;__Lib_MathDouble.c,1452 :: +0x1862 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_MathDouble.c,1453 :: +0x1864 0x3C05 INCFSZ R5, 0, 0 +;__Lib_MathDouble.c,1455 :: +0x1866 0x2601 ADDWF R1, 1, 0 +;__Lib_MathDouble.c,1456 :: +0x1868 0x5006 MOVF R6, 0, 0 +;__Lib_MathDouble.c,1457 :: +0x186A 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_MathDouble.c,1458 :: +0x186C 0x2806 INCF R6, 0, 0 +;__Lib_MathDouble.c,1459 :: +0x186E 0x2602 ADDWF R2, 1, 0 +;__Lib_MathDouble.c,1460 :: +0x1870 0x900D BCF R13, 0, 0 +;__Lib_MathDouble.c,1461 :: +DOK32: +;__Lib_MathDouble.c,1462 :: +0x1872 0x2E0B DECFSZ R11, 1, 0 +;__Lib_MathDouble.c,1463 :: +0x1874 0xF00CEF15 GOTO DLOOP32 +;__Lib_MathDouble.c,1467 :: +0x1878 0xF00CEF5F GOTO DIV32OK +;__Lib_MathDouble.c,1468 :: +0x187C 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,1469 :: +0x187E 0x3600 RLCF R0, 1, 0 +;__Lib_MathDouble.c,1470 :: +0x1880 0x3601 RLCF R1, 1, 0 +;__Lib_MathDouble.c,1471 :: +0x1882 0x3602 RLCF R2, 1, 0 +;__Lib_MathDouble.c,1472 :: +0x1884 0x360E RLCF R14, 1, 0 +;__Lib_MathDouble.c,1474 :: +0x1886 0x5004 MOVF R4, 0, 0 +;__Lib_MathDouble.c,1475 :: +0x1888 0x5E00 SUBWF R0, 1, 0 +;__Lib_MathDouble.c,1476 :: +0x188A 0x5005 MOVF R5, 0, 0 +;__Lib_MathDouble.c,1477 :: +0x188C 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1478 :: +0x188E 0x3C05 INCFSZ R5, 0, 0 +;__Lib_MathDouble.c,1479 :: +0x1890 0x5E01 SUBWF R1, 1, 0 +;__Lib_MathDouble.c,1480 :: +0x1892 0x5006 MOVF R6, 0, 0 +;__Lib_MathDouble.c,1481 :: +0x1894 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1482 :: +0x1896 0x3C06 INCFSZ R6, 0, 0 +;__Lib_MathDouble.c,1483 :: +0x1898 0x5E02 SUBWF R2, 1, 0 +;__Lib_MathDouble.c,1484 :: +0x189A 0x3406 RLCF R6, 0, 0 +;__Lib_MathDouble.c,1485 :: +0x189C 0x100E IORWF R14, 0, 0 +;__Lib_MathDouble.c,1486 :: +0x189E 0x0B01 ANDLW 1 +;__Lib_MathDouble.c,1487 :: +0x18A0 0x260D ADDWF R13, 1, 0 +;__Lib_MathDouble.c,1488 :: +0x18A2 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_MathDouble.c,1489 :: +0x18A4 0x2A0C INCF R12, 1, 0 +;__Lib_MathDouble.c,1490 :: +0x18A6 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,1491 :: +0x18A8 0x2A08 INCF R8, 1, 0 +;__Lib_MathDouble.c,1492 :: +0x18AA 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_MathDouble.c,1493 :: +0x18AC 0xF00CEF5F GOTO DIV32OK +;__Lib_MathDouble.c,1494 :: +0x18B0 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,1495 :: +0x18B2 0x320C RRCF R12, 1, 0 +;__Lib_MathDouble.c,1496 :: +0x18B4 0x320D RRCF R13, 1, 0 +;__Lib_MathDouble.c,1497 :: +0x18B6 0x2A03 INCF R3, 1, 0 +;__Lib_MathDouble.c,1498 :: +0x18B8 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,1499 :: +0x18BA 0xF00CEF73 GOTO JPDSETFOV32 +;__Lib_MathDouble.c,1500 :: +DIV32OK: +;__Lib_MathDouble.c,1501 :: +0x18BE 0xAE0A BTFSS R10, 7, 0 +;__Lib_MathDouble.c,1502 :: +0x18C0 0x9E08 BCF R8, 7, 0 +;__Lib_MathDouble.c,1503 :: +0x18C2 0x5008 MOVF R8, 0, 0 +;__Lib_MathDouble.c,1504 :: +0x18C4 0x6E02 MOVWF R2, 0 +;__Lib_MathDouble.c,1505 :: +0x18C6 0x500C MOVF R12, 0, 0 +;__Lib_MathDouble.c,1506 :: +0x18C8 0x6E01 MOVWF R1, 0 +;__Lib_MathDouble.c,1507 :: +0x18CA 0x500D MOVF R13, 0, 0 +;__Lib_MathDouble.c,1508 :: +0x18CC 0x6E00 MOVWF R0, 0 +;__Lib_MathDouble.c,1511 :: +0x18CE 0xF00CEF7B GOTO DIV32EEE +;__Lib_MathDouble.c,1512 :: +JPDSETFDZ32: +;__Lib_MathDouble.c,1513 :: +0x18D2 0x0E01 MOVLW 1 +;__Lib_MathDouble.c,1516 :: +0x18D4 0xF007EC3D CALL _SETFDZ32, 0 +;__Lib_MathDouble.c,1518 :: +0x18D8 0xF00CEF7B GOTO DIV32EEE +;__Lib_MathDouble.c,1519 :: +JPDRES032: +;__Lib_MathDouble.c,1520 :: +0x18DC 0x0E02 MOVLW 2 +;__Lib_MathDouble.c,1523 :: +0x18DE 0xF000ECC9 CALL _RES032, 0 +;__Lib_MathDouble.c,1525 :: +0x18E2 0xF00CEF7B GOTO DIV32EEE +;__Lib_MathDouble.c,1526 :: +JPDSETFOV32: +;__Lib_MathDouble.c,1527 :: +0x18E6 0x0E04 MOVLW 4 +;__Lib_MathDouble.c,1530 :: +0x18E8 0xF001EC84 CALL _SETFOV32, 0 +;__Lib_MathDouble.c,1532 :: +0x18EC 0xF00CEF7B GOTO DIV32EEE +;__Lib_MathDouble.c,1533 :: +JPDSETFUN32: +;__Lib_MathDouble.c,1534 :: +0x18F0 0x0E08 MOVLW 8 +;__Lib_MathDouble.c,1537 :: +0x18F2 0xF000ECBC CALL _SETFUN32, 0 +;__Lib_MathDouble.c,1539 :: +DIV32EEE: +;__Lib_MathDouble.c,1547 :: +L_end_Div_32x32_FP: +0x18F6 0x0012 RETURN 0 +; end of _Div_32x32_FP +_Add_32x32_FP: +;__Lib_MathDouble.c,563 :: +;__Lib_MathDouble.c,578 :: +0x18F8 0x5002 MOVF R2, 0, 0 +;__Lib_MathDouble.c,579 :: +0x18FA 0x1806 XORWF R6, 0, 0 +;__Lib_MathDouble.c,580 :: +0x18FC 0x6E0E MOVWF R14, 0 +;__Lib_MathDouble.c,582 :: +0x18FE 0x6A08 CLRF R8, 0 +;__Lib_MathDouble.c,583 :: +0x1900 0x6A09 CLRF R9, 0 +;__Lib_MathDouble.c,584 :: +0x1902 0x6A0B CLRF R11, 0 +;__Lib_MathDouble.c,586 :: +0x1904 0x5003 MOVF R3, 0, 0 +;__Lib_MathDouble.c,587 :: +0x1906 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,588 :: +0x1908 0xF00DEF6F GOTO USEA32 +;__Lib_MathDouble.c,591 :: +0x190C 0x5006 MOVF R6, 0, 0 +;__Lib_MathDouble.c,592 :: +0x190E 0x6E0A MOVWF R10, 0 +;__Lib_MathDouble.c,593 :: +0x1910 0x8E06 BSF R6, 7, 0 +;__Lib_MathDouble.c,594 :: +0x1912 0x8E02 BSF R2, 7, 0 +;__Lib_MathDouble.c,596 :: +0x1914 0x5003 MOVF R3, 0, 0 +;__Lib_MathDouble.c,597 :: +0x1916 0x6E0B MOVWF R11, 0 +;__Lib_MathDouble.c,598 :: +0x1918 0x5007 MOVF R7, 0, 0 +;__Lib_MathDouble.c,599 :: +0x191A 0x6E03 MOVWF R3, 0 +;__Lib_MathDouble.c,601 :: +0x191C 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,602 :: +0x191E 0x640B CPFSGT R11, 0 +;__Lib_MathDouble.c,603 :: +0x1920 0xF00CEFBF GOTO BRETURN32 +;__Lib_MathDouble.c,604 :: +0x1924 0x500B MOVF R11, 0, 0 +;__Lib_MathDouble.c,605 :: +0x1926 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,606 :: +0x1928 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,607 :: +0x192A 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,609 :: +0x192E 0x0E07 MOVLW 7 +;__Lib_MathDouble.c,610 :: +0x1930 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,611 :: +0x1932 0xF00DEF2E GOTO BNIB32 +;__Lib_MathDouble.c,613 :: +0x1936 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,614 :: +0x1938 0xF008C000 MOVFF R0, R8 +;__Lib_MathDouble.c,615 :: +0x193C 0xF000C001 MOVFF R1, R0 +;__Lib_MathDouble.c,616 :: +0x1940 0xF001C002 MOVFF R2, R1 +;__Lib_MathDouble.c,617 :: +0x1944 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,618 :: +0x1946 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,619 :: +0x1948 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,621 :: +0x194C 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,622 :: +0x194E 0xF00DEF03 GOTO BNIB32A +;__Lib_MathDouble.c,623 :: +0x1952 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,624 :: +0x1954 0xF008C000 MOVFF R0, R8 +;__Lib_MathDouble.c,625 :: +0x1958 0xF000C001 MOVFF R1, R0 +;__Lib_MathDouble.c,626 :: +0x195C 0x6A01 CLRF R1, 0 +;__Lib_MathDouble.c,627 :: +0x195E 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,628 :: +0x1960 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,630 :: +0x1964 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,631 :: +0x1966 0xF00CEFE1 GOTO BNIB32B +;__Lib_MathDouble.c,632 :: +0x196A 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,633 :: +0x196C 0xF008C000 MOVFF R0, R8 +;__Lib_MathDouble.c,634 :: +0x1970 0x6A00 CLRF R0, 0 +;__Lib_MathDouble.c,635 :: +0x1972 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,636 :: +0x1974 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,638 :: +0x1978 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,639 :: +0x197A 0xF00CEFC8 GOTO BNIB32C +;__Lib_MathDouble.c,641 :: +BRETURN32: +;__Lib_MathDouble.c,642 :: +0x197E 0xF002C00A MOVFF R10, R2 +;__Lib_MathDouble.c,643 :: +0x1982 0xF001C005 MOVFF R5, R1 +;__Lib_MathDouble.c,644 :: +0x1986 0xF000C004 MOVFF R4, R0 +;__Lib_MathDouble.c,645 :: +0x198A 0x6A08 CLRF R8, 0 +;__Lib_MathDouble.c,646 :: +0x198C 0xF00EEF8C GOTO ADDEOK +;__Lib_MathDouble.c,648 :: +BNIB32C: +;__Lib_MathDouble.c,649 :: +0x1990 0x0E03 MOVLW 3 +;__Lib_MathDouble.c,650 :: +0x1992 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,651 :: +0x1994 0xF00CEFD3 GOTO BLOOP32C +;__Lib_MathDouble.c,652 :: +0x1998 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,653 :: +0x199A 0x3808 SWAPF R8, 0, 0 +;__Lib_MathDouble.c,654 :: +0x199C 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,655 :: +0x199E 0x6E08 MOVWF R8, 0 +;__Lib_MathDouble.c,656 :: +0x19A0 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,657 :: +0x19A2 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,659 :: +BLOOP32C: +;__Lib_MathDouble.c,660 :: +0x19A6 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,661 :: +0x19A8 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,662 :: +0x19AA 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,663 :: +0x19AC 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,664 :: +0x19B0 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,665 :: +0x19B2 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,666 :: +0x19B4 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,667 :: +0x19B6 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,668 :: +0x19BA 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,669 :: +0x19BC 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,670 :: +0x19BE 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,672 :: +BNIB32B: +;__Lib_MathDouble.c,673 :: +0x19C2 0x0E03 MOVLW 3 +;__Lib_MathDouble.c,674 :: +0x19C4 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,675 :: +0x19C6 0xF00CEFF2 GOTO BLOOP32B +;__Lib_MathDouble.c,676 :: +0x19CA 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,677 :: +0x19CC 0x3808 SWAPF R8, 0, 0 +;__Lib_MathDouble.c,678 :: +0x19CE 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,679 :: +0x19D0 0x6E08 MOVWF R8, 0 +;__Lib_MathDouble.c,680 :: +0x19D2 0x3800 SWAPF R0, 0, 0 +;__Lib_MathDouble.c,681 :: +0x19D4 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,682 :: +0x19D6 0x2608 ADDWF R8, 1, 0 +;__Lib_MathDouble.c,683 :: +0x19D8 0x3800 SWAPF R0, 0, 0 +;__Lib_MathDouble.c,684 :: +0x19DA 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,685 :: +0x19DC 0x6E00 MOVWF R0, 0 +;__Lib_MathDouble.c,686 :: +0x19DE 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,687 :: +0x19E0 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,689 :: +BLOOP32B: +;__Lib_MathDouble.c,690 :: +0x19E4 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,691 :: +0x19E6 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,692 :: +0x19E8 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,693 :: +0x19EA 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,694 :: +0x19EC 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,695 :: +0x19F0 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,696 :: +0x19F2 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,697 :: +0x19F4 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,698 :: +0x19F6 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,699 :: +0x19F8 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,700 :: +0x19FC 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,701 :: +0x19FE 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,702 :: +0x1A00 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,703 :: +0x1A02 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,705 :: +BNIB32A: +;__Lib_MathDouble.c,706 :: +0x1A06 0x0E03 MOVLW 3 +;__Lib_MathDouble.c,707 :: +0x1A08 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,708 :: +0x1A0A 0xF00DEF1A GOTO BLOOP32A +;__Lib_MathDouble.c,709 :: +0x1A0E 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,710 :: +0x1A10 0x3808 SWAPF R8, 0, 0 +;__Lib_MathDouble.c,711 :: +0x1A12 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,712 :: +0x1A14 0x6E08 MOVWF R8, 0 +;__Lib_MathDouble.c,713 :: +0x1A16 0x3800 SWAPF R0, 0, 0 +;__Lib_MathDouble.c,714 :: +0x1A18 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,715 :: +0x1A1A 0x2608 ADDWF R8, 1, 0 +;__Lib_MathDouble.c,716 :: +0x1A1C 0x3800 SWAPF R0, 0, 0 +;__Lib_MathDouble.c,717 :: +0x1A1E 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,718 :: +0x1A20 0x6E00 MOVWF R0, 0 +;__Lib_MathDouble.c,719 :: +0x1A22 0x3801 SWAPF R1, 0, 0 +;__Lib_MathDouble.c,720 :: +0x1A24 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,721 :: +0x1A26 0x2600 ADDWF R0, 1, 0 +;__Lib_MathDouble.c,722 :: +0x1A28 0x3801 SWAPF R1, 0, 0 +;__Lib_MathDouble.c,723 :: +0x1A2A 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,724 :: +0x1A2C 0x6E01 MOVWF R1, 0 +;__Lib_MathDouble.c,725 :: +0x1A2E 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,726 :: +0x1A30 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,728 :: +BLOOP32A: +;__Lib_MathDouble.c,729 :: +0x1A34 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,730 :: +0x1A36 0x3201 RRCF R1, 1, 0 +;__Lib_MathDouble.c,731 :: +0x1A38 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,732 :: +0x1A3A 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,733 :: +0x1A3C 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,734 :: +0x1A3E 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,735 :: +0x1A42 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,736 :: +0x1A44 0x3201 RRCF R1, 1, 0 +;__Lib_MathDouble.c,737 :: +0x1A46 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,738 :: +0x1A48 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,739 :: +0x1A4A 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,740 :: +0x1A4C 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,741 :: +0x1A50 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,742 :: +0x1A52 0x3201 RRCF R1, 1, 0 +;__Lib_MathDouble.c,743 :: +0x1A54 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,744 :: +0x1A56 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,745 :: +0x1A58 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,747 :: +BNIB32: +;__Lib_MathDouble.c,748 :: +0x1A5C 0x0E03 MOVLW 3 +;__Lib_MathDouble.c,749 :: +0x1A5E 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,750 :: +0x1A60 0xF00DEF4B GOTO BLOOP32 +;__Lib_MathDouble.c,751 :: +0x1A64 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,752 :: +0x1A66 0x3808 SWAPF R8, 0, 0 +;__Lib_MathDouble.c,753 :: +0x1A68 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,754 :: +0x1A6A 0x6E08 MOVWF R8, 0 +;__Lib_MathDouble.c,755 :: +0x1A6C 0x3800 SWAPF R0, 0, 0 +;__Lib_MathDouble.c,756 :: +0x1A6E 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,757 :: +0x1A70 0x2608 ADDWF R8, 1, 0 +;__Lib_MathDouble.c,758 :: +0x1A72 0x3800 SWAPF R0, 0, 0 +;__Lib_MathDouble.c,759 :: +0x1A74 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,760 :: +0x1A76 0x6E00 MOVWF R0, 0 +;__Lib_MathDouble.c,761 :: +0x1A78 0x3801 SWAPF R1, 0, 0 +;__Lib_MathDouble.c,762 :: +0x1A7A 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,763 :: +0x1A7C 0x2600 ADDWF R0, 1, 0 +;__Lib_MathDouble.c,764 :: +0x1A7E 0x3801 SWAPF R1, 0, 0 +;__Lib_MathDouble.c,765 :: +0x1A80 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,766 :: +0x1A82 0x6E01 MOVWF R1, 0 +;__Lib_MathDouble.c,767 :: +0x1A84 0x3802 SWAPF R2, 0, 0 +;__Lib_MathDouble.c,768 :: +0x1A86 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,769 :: +0x1A88 0x2601 ADDWF R1, 1, 0 +;__Lib_MathDouble.c,770 :: +0x1A8A 0x3802 SWAPF R2, 0, 0 +;__Lib_MathDouble.c,771 :: +0x1A8C 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,772 :: +0x1A8E 0x6E02 MOVWF R2, 0 +;__Lib_MathDouble.c,773 :: +0x1A90 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,774 :: +0x1A92 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,776 :: +BLOOP32: +;__Lib_MathDouble.c,777 :: +0x1A96 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,778 :: +0x1A98 0x3202 RRCF R2, 1, 0 +;__Lib_MathDouble.c,779 :: +0x1A9A 0x3201 RRCF R1, 1, 0 +;__Lib_MathDouble.c,780 :: +0x1A9C 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,781 :: +0x1A9E 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,782 :: +0x1AA0 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,783 :: +0x1AA2 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,784 :: +0x1AA6 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,785 :: +0x1AA8 0x3202 RRCF R2, 1, 0 +;__Lib_MathDouble.c,786 :: +0x1AAA 0x3201 RRCF R1, 1, 0 +;__Lib_MathDouble.c,787 :: +0x1AAC 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,788 :: +0x1AAE 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,789 :: +0x1AB0 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,790 :: +0x1AB2 0xF00DEF60 GOTO BLIGNED32 +;__Lib_MathDouble.c,791 :: +0x1AB6 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,792 :: +0x1AB8 0x3202 RRCF R2, 1, 0 +;__Lib_MathDouble.c,793 :: +0x1ABA 0x3201 RRCF R1, 1, 0 +;__Lib_MathDouble.c,794 :: +0x1ABC 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,795 :: +0x1ABE 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,797 :: +BLIGNED32: +;__Lib_MathDouble.c,798 :: +0x1AC0 0x6A09 CLRF R9, 0 +;__Lib_MathDouble.c,799 :: +0x1AC2 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,800 :: +0x1AC4 0xAE0E BTFSS R14, 7, 0 +;__Lib_MathDouble.c,801 :: +0x1AC6 0xF00EEF54 GOTO AOK32 +;__Lib_MathDouble.c,802 :: +0x1ACA 0x1E08 COMF R8, 1, 0 +;__Lib_MathDouble.c,803 :: +0x1ACC 0x1E00 COMF R0, 1, 0 +;__Lib_MathDouble.c,804 :: +0x1ACE 0x1E01 COMF R1, 1, 0 +;__Lib_MathDouble.c,805 :: +0x1AD0 0x1E02 COMF R2, 1, 0 +;__Lib_MathDouble.c,806 :: +0x1AD2 0x2A08 INCF R8, 1, 0 +;__Lib_MathDouble.c,807 :: +0x1AD4 0x2200 ADDWFC R0, 1, 0 +;__Lib_MathDouble.c,808 :: +0x1AD6 0x2201 ADDWFC R1, 1, 0 +;__Lib_MathDouble.c,809 :: +0x1AD8 0x2202 ADDWFC R2, 1, 0 +;__Lib_MathDouble.c,810 :: +0x1ADA 0xF00EEF54 GOTO AOK32 +;__Lib_MathDouble.c,812 :: +USEA32: +;__Lib_MathDouble.c,813 :: +0x1ADE 0x5007 MOVF R7, 0, 0 +;__Lib_MathDouble.c,814 :: +0x1AE0 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_MathDouble.c,815 :: +0x1AE2 0xF00DEF75 GOTO BNE032 +;__Lib_MathDouble.c,816 :: +0x1AE6 0xF00EEF8C GOTO ADDEOK +;__Lib_MathDouble.c,818 :: +BNE032: +;__Lib_MathDouble.c,819 :: +0x1AEA 0x6A09 CLRF R9, 0 +;__Lib_MathDouble.c,820 :: +0x1AEC 0xF00AC002 MOVFF R2, R10 +;__Lib_MathDouble.c,821 :: +0x1AF0 0x8E02 BSF R2, 7, 0 +;__Lib_MathDouble.c,822 :: +0x1AF2 0x8E06 BSF R6, 7, 0 +;__Lib_MathDouble.c,824 :: +0x1AF4 0x5007 MOVF R7, 0, 0 +;__Lib_MathDouble.c,825 :: +0x1AF6 0x5C03 SUBWF R3, 0, 0 +;__Lib_MathDouble.c,826 :: +0x1AF8 0x6E07 MOVWF R7, 0 +;__Lib_MathDouble.c,827 :: +0x1AFA 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_MathDouble.c,828 :: +0x1AFC 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,830 :: +0x1B00 0x0E07 MOVLW 7 +;__Lib_MathDouble.c,831 :: +0x1B02 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,832 :: +0x1B04 0xF00EEF15 GOTO ANIB32 +;__Lib_MathDouble.c,833 :: +0x1B08 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,834 :: +0x1B0A 0x5004 MOVF R4, 0, 0 +;__Lib_MathDouble.c,835 :: +0x1B0C 0x6E09 MOVWF R9, 0 +;__Lib_MathDouble.c,836 :: +0x1B0E 0x5005 MOVF R5, 0, 0 +;__Lib_MathDouble.c,837 :: +0x1B10 0x6E04 MOVWF R4, 0 +;__Lib_MathDouble.c,838 :: +0x1B12 0x5006 MOVF R6, 0, 0 +;__Lib_MathDouble.c,839 :: +0x1B14 0x6E05 MOVWF R5, 0 +;__Lib_MathDouble.c,840 :: +0x1B16 0x6A06 CLRF R6, 0 +;__Lib_MathDouble.c,841 :: +0x1B18 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,842 :: +0x1B1A 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,844 :: +0x1B1E 0x0E07 MOVLW 7 +;__Lib_MathDouble.c,845 :: +0x1B20 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,846 :: +0x1B22 0xF00DEFEA GOTO ANIB32A +;__Lib_MathDouble.c,847 :: +0x1B26 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,848 :: +0x1B28 0x5004 MOVF R4, 0, 0 +;__Lib_MathDouble.c,849 :: +0x1B2A 0x6E09 MOVWF R9, 0 +;__Lib_MathDouble.c,850 :: +0x1B2C 0x5005 MOVF R5, 0, 0 +;__Lib_MathDouble.c,851 :: +0x1B2E 0x6E04 MOVWF R4, 0 +;__Lib_MathDouble.c,852 :: +0x1B30 0x6A05 CLRF R5, 0 +;__Lib_MathDouble.c,853 :: +0x1B32 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,854 :: +0x1B34 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,856 :: +0x1B38 0x0E07 MOVLW 7 +;__Lib_MathDouble.c,857 :: +0x1B3A 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,858 :: +0x1B3C 0xF00DEFC8 GOTO ANIB32B +;__Lib_MathDouble.c,859 :: +0x1B40 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,860 :: +0x1B42 0x5004 MOVF R4, 0, 0 +;__Lib_MathDouble.c,861 :: +0x1B44 0x6E09 MOVWF R9, 0 +;__Lib_MathDouble.c,862 :: +0x1B46 0x6A04 CLRF R4, 0 +;__Lib_MathDouble.c,863 :: +0x1B48 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,864 :: +0x1B4A 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,866 :: +0x1B4E 0x0E07 MOVLW 7 +;__Lib_MathDouble.c,867 :: +0x1B50 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,868 :: +0x1B52 0xF00DEFAF GOTO ANIB32C +;__Lib_MathDouble.c,870 :: +0x1B56 0xF002C00A MOVFF R10, R2 +;__Lib_MathDouble.c,871 :: +0x1B5A 0xF00EEF8C GOTO ADDEOK +;__Lib_MathDouble.c,873 :: +ANIB32C: +;__Lib_MathDouble.c,874 :: +0x1B5E 0x0E03 MOVLW 3 +;__Lib_MathDouble.c,875 :: +0x1B60 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,876 :: +0x1B62 0xF00DEFBA GOTO ALOOP32C +;__Lib_MathDouble.c,877 :: +0x1B66 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,878 :: +0x1B68 0x3809 SWAPF R9, 0, 0 +;__Lib_MathDouble.c,879 :: +0x1B6A 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,880 :: +0x1B6C 0x6E09 MOVWF R9, 0 +;__Lib_MathDouble.c,881 :: +0x1B6E 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,882 :: +0x1B70 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,884 :: +ALOOP32C: +;__Lib_MathDouble.c,885 :: +0x1B74 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,886 :: +0x1B76 0x3209 RRCF R9, 1, 0 +;__Lib_MathDouble.c,887 :: +0x1B78 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,888 :: +0x1B7A 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,889 :: +0x1B7E 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,890 :: +0x1B80 0x3209 RRCF R9, 1, 0 +;__Lib_MathDouble.c,891 :: +0x1B82 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,892 :: +0x1B84 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,893 :: +0x1B88 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,894 :: +0x1B8A 0x3209 RRCF R9, 1, 0 +;__Lib_MathDouble.c,895 :: +0x1B8C 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,897 :: +ANIB32B: +;__Lib_MathDouble.c,898 :: +0x1B90 0x0E03 MOVLW 3 +;__Lib_MathDouble.c,899 :: +0x1B92 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,900 :: +0x1B94 0xF00DEFD9 GOTO ALOOP32B +;__Lib_MathDouble.c,901 :: +0x1B98 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,902 :: +0x1B9A 0x3809 SWAPF R9, 0, 0 +;__Lib_MathDouble.c,903 :: +0x1B9C 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,904 :: +0x1B9E 0x6E09 MOVWF R9, 0 +;__Lib_MathDouble.c,905 :: +0x1BA0 0x3804 SWAPF R4, 0, 0 +;__Lib_MathDouble.c,906 :: +0x1BA2 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,907 :: +0x1BA4 0x2609 ADDWF R9, 1, 0 +;__Lib_MathDouble.c,908 :: +0x1BA6 0x3804 SWAPF R4, 0, 0 +;__Lib_MathDouble.c,909 :: +0x1BA8 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,910 :: +0x1BAA 0x6E04 MOVWF R4, 0 +;__Lib_MathDouble.c,911 :: +0x1BAC 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,912 :: +0x1BAE 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,914 :: +ALOOP32B: +;__Lib_MathDouble.c,915 :: +0x1BB2 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,916 :: +0x1BB4 0x3204 RRCF R4, 1, 0 +;__Lib_MathDouble.c,917 :: +0x1BB6 0x3209 RRCF R9, 1, 0 +;__Lib_MathDouble.c,918 :: +0x1BB8 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,919 :: +0x1BBA 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,920 :: +0x1BBE 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,921 :: +0x1BC0 0x3204 RRCF R4, 1, 0 +;__Lib_MathDouble.c,922 :: +0x1BC2 0x3209 RRCF R9, 1, 0 +;__Lib_MathDouble.c,923 :: +0x1BC4 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,924 :: +0x1BC6 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,925 :: +0x1BCA 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,926 :: +0x1BCC 0x3204 RRCF R4, 1, 0 +;__Lib_MathDouble.c,927 :: +0x1BCE 0x3209 RRCF R9, 1, 0 +;__Lib_MathDouble.c,928 :: +0x1BD0 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,930 :: +ANIB32A: +;__Lib_MathDouble.c,931 :: +0x1BD4 0x0E03 MOVLW 3 +;__Lib_MathDouble.c,932 :: +0x1BD6 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,933 :: +0x1BD8 0xF00EEF01 GOTO ALOOP32A +;__Lib_MathDouble.c,934 :: +0x1BDC 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,935 :: +0x1BDE 0x3809 SWAPF R9, 0, 0 +;__Lib_MathDouble.c,936 :: +0x1BE0 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,937 :: +0x1BE2 0x6E09 MOVWF R9, 0 +;__Lib_MathDouble.c,938 :: +0x1BE4 0x3804 SWAPF R4, 0, 0 +;__Lib_MathDouble.c,939 :: +0x1BE6 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,940 :: +0x1BE8 0x2609 ADDWF R9, 1, 0 +;__Lib_MathDouble.c,941 :: +0x1BEA 0x3804 SWAPF R4, 0, 0 +;__Lib_MathDouble.c,942 :: +0x1BEC 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,943 :: +0x1BEE 0x6E04 MOVWF R4, 0 +;__Lib_MathDouble.c,944 :: +0x1BF0 0x3805 SWAPF R5, 0, 0 +;__Lib_MathDouble.c,945 :: +0x1BF2 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,946 :: +0x1BF4 0x2604 ADDWF R4, 1, 0 +;__Lib_MathDouble.c,947 :: +0x1BF6 0x3805 SWAPF R5, 0, 0 +;__Lib_MathDouble.c,948 :: +0x1BF8 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,949 :: +0x1BFA 0x6E05 MOVWF R5, 0 +;__Lib_MathDouble.c,950 :: +0x1BFC 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,951 :: +0x1BFE 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,953 :: +ALOOP32A: +;__Lib_MathDouble.c,954 :: +0x1C02 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,955 :: +0x1C04 0x3205 RRCF R5, 1, 0 +;__Lib_MathDouble.c,956 :: +0x1C06 0x3204 RRCF R4, 1, 0 +;__Lib_MathDouble.c,957 :: +0x1C08 0x3209 RRCF R9, 1, 0 +;__Lib_MathDouble.c,958 :: +0x1C0A 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,959 :: +0x1C0C 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,960 :: +0x1C10 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,961 :: +0x1C12 0x3205 RRCF R5, 1, 0 +;__Lib_MathDouble.c,962 :: +0x1C14 0x3204 RRCF R4, 1, 0 +;__Lib_MathDouble.c,963 :: +0x1C16 0x3209 RRCF R9, 1, 0 +;__Lib_MathDouble.c,964 :: +0x1C18 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,965 :: +0x1C1A 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,966 :: +0x1C1E 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,967 :: +0x1C20 0x3205 RRCF R5, 1, 0 +;__Lib_MathDouble.c,968 :: +0x1C22 0x3204 RRCF R4, 1, 0 +;__Lib_MathDouble.c,969 :: +0x1C24 0x3209 RRCF R9, 1, 0 +;__Lib_MathDouble.c,970 :: +0x1C26 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,972 :: +ANIB32: +;__Lib_MathDouble.c,973 :: +0x1C2A 0x0E03 MOVLW 3 +;__Lib_MathDouble.c,974 :: +0x1C2C 0x6407 CPFSGT R7, 0 +;__Lib_MathDouble.c,975 :: +0x1C2E 0xF00EEF32 GOTO ALOOP32 +;__Lib_MathDouble.c,976 :: +0x1C32 0x5E07 SUBWF R7, 1, 0 +;__Lib_MathDouble.c,977 :: +0x1C34 0x3809 SWAPF R9, 0, 0 +;__Lib_MathDouble.c,978 :: +0x1C36 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,979 :: +0x1C38 0x6E09 MOVWF R9, 0 +;__Lib_MathDouble.c,980 :: +0x1C3A 0x3804 SWAPF R4, 0, 0 +;__Lib_MathDouble.c,981 :: +0x1C3C 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,982 :: +0x1C3E 0x2609 ADDWF R9, 1, 0 +;__Lib_MathDouble.c,983 :: +0x1C40 0x3804 SWAPF R4, 0, 0 +;__Lib_MathDouble.c,984 :: +0x1C42 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,985 :: +0x1C44 0x6E04 MOVWF R4, 0 +;__Lib_MathDouble.c,986 :: +0x1C46 0x3805 SWAPF R5, 0, 0 +;__Lib_MathDouble.c,987 :: +0x1C48 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,988 :: +0x1C4A 0x2604 ADDWF R4, 1, 0 +;__Lib_MathDouble.c,989 :: +0x1C4C 0x3805 SWAPF R5, 0, 0 +;__Lib_MathDouble.c,990 :: +0x1C4E 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,991 :: +0x1C50 0x6E05 MOVWF R5, 0 +;__Lib_MathDouble.c,992 :: +0x1C52 0x3806 SWAPF R6, 0, 0 +;__Lib_MathDouble.c,993 :: +0x1C54 0x0BF0 ANDLW 240 +;__Lib_MathDouble.c,994 :: +0x1C56 0x2605 ADDWF R5, 1, 0 +;__Lib_MathDouble.c,995 :: +0x1C58 0x3806 SWAPF R6, 0, 0 +;__Lib_MathDouble.c,996 :: +0x1C5A 0x0B0F ANDLW 15 +;__Lib_MathDouble.c,997 :: +0x1C5C 0x6E06 MOVWF R6, 0 +;__Lib_MathDouble.c,998 :: +0x1C5E 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,999 :: +0x1C60 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,1001 :: +ALOOP32: +;__Lib_MathDouble.c,1002 :: +0x1C64 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,1003 :: +0x1C66 0x3206 RRCF R6, 1, 0 +;__Lib_MathDouble.c,1004 :: +0x1C68 0x3205 RRCF R5, 1, 0 +;__Lib_MathDouble.c,1005 :: +0x1C6A 0x3204 RRCF R4, 1, 0 +;__Lib_MathDouble.c,1006 :: +0x1C6C 0x3209 RRCF R9, 1, 0 +;__Lib_MathDouble.c,1007 :: +0x1C6E 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,1008 :: +0x1C70 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,1009 :: +0x1C74 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,1010 :: +0x1C76 0x3206 RRCF R6, 1, 0 +;__Lib_MathDouble.c,1011 :: +0x1C78 0x3205 RRCF R5, 1, 0 +;__Lib_MathDouble.c,1012 :: +0x1C7A 0x3204 RRCF R4, 1, 0 +;__Lib_MathDouble.c,1013 :: +0x1C7C 0x3209 RRCF R9, 1, 0 +;__Lib_MathDouble.c,1014 :: +0x1C7E 0x4E07 DCFSNZ R7, 1, 0 +;__Lib_MathDouble.c,1015 :: +0x1C80 0xF00EEF47 GOTO ALIGNED32 +;__Lib_MathDouble.c,1016 :: +0x1C84 0x90D8 BCF STATUS, 0, 0 +;__Lib_MathDouble.c,1017 :: +0x1C86 0x3206 RRCF R6, 1, 0 +;__Lib_MathDouble.c,1018 :: +0x1C88 0x3205 RRCF R5, 1, 0 +;__Lib_MathDouble.c,1019 :: +0x1C8A 0x3204 RRCF R4, 1, 0 +;__Lib_MathDouble.c,1020 :: +0x1C8C 0x3209 RRCF R9, 1, 0 +;__Lib_MathDouble.c,1022 :: +ALIGNED32: +;__Lib_MathDouble.c,1023 :: +0x1C8E 0x6A08 CLRF R8, 0 +;__Lib_MathDouble.c,1024 :: +0x1C90 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,1025 :: +0x1C92 0xAE0E BTFSS R14, 7, 0 +;__Lib_MathDouble.c,1026 :: +0x1C94 0xF00EEF54 GOTO AOK32 +;__Lib_MathDouble.c,1027 :: +0x1C98 0x1E09 COMF R9, 1, 0 +;__Lib_MathDouble.c,1028 :: +0x1C9A 0x1E04 COMF R4, 1, 0 +;__Lib_MathDouble.c,1029 :: +0x1C9C 0x1E05 COMF R5, 1, 0 +;__Lib_MathDouble.c,1030 :: +0x1C9E 0x1E06 COMF R6, 1, 0 +;__Lib_MathDouble.c,1031 :: +0x1CA0 0x2A09 INCF R9, 1, 0 +;__Lib_MathDouble.c,1032 :: +0x1CA2 0x2204 ADDWFC R4, 1, 0 +;__Lib_MathDouble.c,1033 :: +0x1CA4 0x2205 ADDWFC R5, 1, 0 +;__Lib_MathDouble.c,1034 :: +0x1CA6 0x2206 ADDWFC R6, 1, 0 +;__Lib_MathDouble.c,1036 :: +AOK32: +;__Lib_MathDouble.c,1037 :: +0x1CA8 0x5009 MOVF R9, 0, 0 +;__Lib_MathDouble.c,1038 :: +0x1CAA 0x2608 ADDWF R8, 1, 0 +;__Lib_MathDouble.c,1039 :: +0x1CAC 0x5004 MOVF R4, 0, 0 +;__Lib_MathDouble.c,1040 :: +0x1CAE 0x2200 ADDWFC R0, 1, 0 +;__Lib_MathDouble.c,1041 :: +0x1CB0 0x5005 MOVF R5, 0, 0 +;__Lib_MathDouble.c,1042 :: +0x1CB2 0x2201 ADDWFC R1, 1, 0 +;__Lib_MathDouble.c,1043 :: +0x1CB4 0x5006 MOVF R6, 0, 0 +;__Lib_MathDouble.c,1044 :: +0x1CB6 0x2202 ADDWFC R2, 1, 0 +;__Lib_MathDouble.c,1046 :: +0x1CB8 0xBE0E BTFSC R14, 7, 0 +;__Lib_MathDouble.c,1047 :: +0x1CBA 0xF00EEF6B GOTO ACOMP32 +;__Lib_MathDouble.c,1048 :: +0x1CBE 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_MathDouble.c,1049 :: +0x1CC0 0xF00EEF7A GOTO ADDJPNRMRND4032 +;__Lib_MathDouble.c,1051 :: +0x1CC4 0x3202 RRCF R2, 1, 0 +;__Lib_MathDouble.c,1052 :: +0x1CC6 0x3201 RRCF R1, 1, 0 +;__Lib_MathDouble.c,1053 :: +0x1CC8 0x3200 RRCF R0, 1, 0 +;__Lib_MathDouble.c,1054 :: +0x1CCA 0x3208 RRCF R8, 1, 0 +;__Lib_MathDouble.c,1055 :: +0x1CCC 0x3E03 INCFSZ R3, 1, 0 +;__Lib_MathDouble.c,1056 :: +0x1CCE 0xF00EEF7A GOTO ADDJPNRMRND4032 +;__Lib_MathDouble.c,1057 :: +0x1CD2 0xF00EEF86 GOTO ADDJPSETFOV32 +;__Lib_MathDouble.c,1059 :: +ACOMP32: +;__Lib_MathDouble.c,1060 :: +0x1CD6 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_MathDouble.c,1061 :: +0x1CD8 0xF00EEF80 GOTO ADDJPNRM4032 +;__Lib_MathDouble.c,1062 :: +0x1CDC 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,1063 :: +0x1CDE 0x1E08 COMF R8, 1, 0 +;__Lib_MathDouble.c,1064 :: +0x1CE0 0x1E00 COMF R0, 1, 0 +;__Lib_MathDouble.c,1065 :: +0x1CE2 0x1E01 COMF R1, 1, 0 +;__Lib_MathDouble.c,1066 :: +0x1CE4 0x1E02 COMF R2, 1, 0 +;__Lib_MathDouble.c,1067 :: +0x1CE6 0x2A08 INCF R8, 1, 0 +;__Lib_MathDouble.c,1068 :: +0x1CE8 0x2200 ADDWFC R0, 1, 0 +;__Lib_MathDouble.c,1069 :: +0x1CEA 0x2201 ADDWFC R1, 1, 0 +;__Lib_MathDouble.c,1070 :: +0x1CEC 0x2202 ADDWFC R2, 1, 0 +;__Lib_MathDouble.c,1071 :: +0x1CEE 0x7E0A BTG R10, 7, 0 +;__Lib_MathDouble.c,1072 :: +0x1CF0 0xF00EEF80 GOTO ADDJPNRM4032 +;__Lib_MathDouble.c,1074 :: +ADDJPNRMRND4032: +;__Lib_MathDouble.c,1075 :: +0x1CF4 0x0E01 MOVLW 1 +;__Lib_MathDouble.c,1076 :: +0x1CF6 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,1078 :: +0x1CF8 0xF006EC48 CALL _NRM4032, 0 +;__Lib_MathDouble.c,1080 :: +0x1CFC 0xF00EEF8E GOTO ADDEEE +;__Lib_MathDouble.c,1081 :: +ADDJPNRM4032: +;__Lib_MathDouble.c,1082 :: +0x1D00 0x0E02 MOVLW 2 +;__Lib_MathDouble.c,1083 :: +0x1D02 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,1085 :: +0x1D04 0xF006EC48 CALL _NRM4032, 0 +;__Lib_MathDouble.c,1087 :: +0x1D08 0xF00EEF8E GOTO ADDEEE +;__Lib_MathDouble.c,1088 :: +ADDJPSETFOV32: +;__Lib_MathDouble.c,1089 :: +0x1D0C 0x0E04 MOVLW 4 +;__Lib_MathDouble.c,1090 :: +0x1D0E 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,1092 :: +0x1D10 0xF001EC84 CALL _SETFOV32, 0 +;__Lib_MathDouble.c,1094 :: +0x1D14 0xF00EEF8E GOTO ADDEEE +;__Lib_MathDouble.c,1095 :: +ADDEOK: +;__Lib_MathDouble.c,1096 :: +0x1D18 0x0E00 MOVLW 0 +;__Lib_MathDouble.c,1097 :: +0x1D1A 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,1098 :: +ADDEEE: +;__Lib_MathDouble.c,1105 :: +L_end_Add_32x32_FP: +0x1D1C 0x0012 RETURN 0 +; end of _Add_32x32_FP +_byte2double: +;__Lib_MathDouble.c,2253 :: +;__Lib_MathDouble.c,2262 :: +0x1D1E 0xF008C000 MOVFF R0, R8 +;__Lib_MathDouble.c,2265 :: +0x1D22 0x6A0B CLRF R11, 0 +;__Lib_MathDouble.c,2266 :: +0x1D24 0x6A0C CLRF R12, 0 +;__Lib_MathDouble.c,2268 :: +0x1D26 0x0E9E MOVLW 158 +;__Lib_MathDouble.c,2269 :: +0x1D28 0x6E03 MOVWF R3, 0 +;__Lib_MathDouble.c,2270 :: +0x1D2A 0x6A0A CLRF R10, 0 +;__Lib_MathDouble.c,2271 :: +0x1D2C 0x6A02 CLRF R2, 0 +;__Lib_MathDouble.c,2272 :: +0x1D2E 0x6A01 CLRF R1, 0 +;__Lib_MathDouble.c,2273 :: +0x1D30 0x6A00 CLRF R0, 0 +;__Lib_MathDouble.c,2274 :: +0x1D32 0x0E02 MOVLW 2 +;__Lib_MathDouble.c,2275 :: +0x1D34 0x6E0C MOVWF R12, 0 +;__Lib_MathDouble.c,2277 :: +0x1D36 0xF006EC48 CALL _NRM4032, 0 +;__Lib_MathDouble.c,2278 :: +L_end_byte2double: +0x1D3A 0x0012 RETURN 0 +; end of _byte2double +_Div_32x32_S: +;__Lib_Math.c,942 :: +;__Lib_Math.c,955 :: +0x1D3C 0x5004 MOVF R4, 0 +0x1D3E 0x0A00 XORLW 0 +0x1D40 0xE112 BNZ L_Div_32x32_S6 +;__Lib_Math.c,956 :: +0x1D42 0x5005 MOVF R5, 0 +0x1D44 0x0A00 XORLW 0 +0x1D46 0xE10F BNZ L_Div_32x32_S7 +;__Lib_Math.c,957 :: +0x1D48 0x5006 MOVF R6, 0 +0x1D4A 0x0A00 XORLW 0 +0x1D4C 0xE10C BNZ L_Div_32x32_S8 +;__Lib_Math.c,958 :: +0x1D4E 0x5007 MOVF R7, 0 +0x1D50 0x0A00 XORLW 0 +0x1D52 0xE109 BNZ L_Div_32x32_S9 +;__Lib_Math.c,959 :: +0x1D54 0x0EFF MOVLW 255 +0x1D56 0x6E00 MOVWF R0 +;__Lib_Math.c,960 :: +0x1D58 0x0EFF MOVLW 255 +0x1D5A 0x6E01 MOVWF R1 +;__Lib_Math.c,961 :: +0x1D5C 0x0EFF MOVLW 255 +0x1D5E 0x6E02 MOVWF R2 +;__Lib_Math.c,962 :: +0x1D60 0x0E7F MOVLW 127 +0x1D62 0x6E03 MOVWF R3 +;__Lib_Math.c,963 :: +0x1D64 0xD099 BRA L_end_Div_32x32_S +;__Lib_Math.c,964 :: +L_Div_32x32_S9: +L_Div_32x32_S8: +L_Div_32x32_S7: +L_Div_32x32_S6: +;__Lib_Math.c,968 :: +0x1D66 0x6A0C CLRF R12, 0 +;__Lib_Math.c,969 :: +0x1D68 0xBE07 BTFSC R7, 7, 0 +;__Lib_Math.c,970 :: +0x1D6A 0x2A0C INCF R12, 1, 0 +;__Lib_Math.c,972 :: +0x1D6C 0x6A0D CLRF R13, 0 +;__Lib_Math.c,973 :: +0x1D6E 0x6A0B CLRF R11, 0 +;__Lib_Math.c,974 :: +0x1D70 0x6A0A CLRF R10, 0 +;__Lib_Math.c,975 :: +0x1D72 0x6A09 CLRF R9, 0 +;__Lib_Math.c,976 :: +0x1D74 0x6A08 CLRF R8, 0 +;__Lib_Math.c,977 :: +0x1D76 0x5003 MOVF R3, 0, 0 +;__Lib_Math.c,978 :: +0x1D78 0x1002 IORWF R2, 0, 0 +;__Lib_Math.c,979 :: +0x1D7A 0x1001 IORWF R1, 0, 0 +;__Lib_Math.c,980 :: +0x1D7C 0x1000 IORWF R0, 0, 0 +;__Lib_Math.c,981 :: +0x1D7E 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,982 :: +0x1D80 0xD085 BRA END_ALL +;__Lib_Math.c,986 :: +0x1D82 0x5003 MOVF R3, 0, 0 +;__Lib_Math.c,987 :: +0x1D84 0x1807 XORWF R7, 0, 0 +;__Lib_Math.c,988 :: +0x1D86 0x6E0E MOVWF R14, 0 +;__Lib_Math.c,989 :: +0x1D88 0xBE0E BTFSC R14, 7, 0 +;__Lib_Math.c,990 :: +0x1D8A 0x1E0D COMF R13, 1, 0 +;__Lib_Math.c,993 :: +0x1D8C 0xAE07 BTFSS R7, 7, 0 +;__Lib_Math.c,994 :: +0x1D8E 0xD00B BRA CA3232S +;__Lib_Math.c,996 :: +0x1D90 0x1E04 COMF R4, 1, 0 +;__Lib_Math.c,997 :: +0x1D92 0x1E05 COMF R5, 1, 0 +;__Lib_Math.c,998 :: +0x1D94 0x1E06 COMF R6, 1, 0 +;__Lib_Math.c,999 :: +0x1D96 0x1E07 COMF R7, 1, 0 +;__Lib_Math.c,1000 :: +0x1D98 0x2A04 INCF R4, 1, 0 +;__Lib_Math.c,1001 :: +0x1D9A 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1002 :: +0x1D9C 0x2A05 INCF R5, 1, 0 +;__Lib_Math.c,1003 :: +0x1D9E 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1004 :: +0x1DA0 0x2A06 INCF R6, 1, 0 +;__Lib_Math.c,1005 :: +0x1DA2 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1006 :: +0x1DA4 0x2A07 INCF R7, 1, 0 +;__Lib_Math.c,1008 :: +CA3232S: +;__Lib_Math.c,1009 :: +0x1DA6 0xAE03 BTFSS R3, 7, 0 +;__Lib_Math.c,1010 :: +0x1DA8 0xD00B BRA C3232SX +;__Lib_Math.c,1012 :: +0x1DAA 0x1E00 COMF R0, 1, 0 +;__Lib_Math.c,1013 :: +0x1DAC 0x1E01 COMF R1, 1, 0 +;__Lib_Math.c,1014 :: +0x1DAE 0x1E02 COMF R2, 1, 0 +;__Lib_Math.c,1015 :: +0x1DB0 0x1E03 COMF R3, 1, 0 +;__Lib_Math.c,1016 :: +0x1DB2 0x2A00 INCF R0, 1, 0 +;__Lib_Math.c,1017 :: +0x1DB4 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1018 :: +0x1DB6 0x2A01 INCF R1, 1, 0 +;__Lib_Math.c,1019 :: +0x1DB8 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1020 :: +0x1DBA 0x2A02 INCF R2, 1, 0 +;__Lib_Math.c,1021 :: +0x1DBC 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1022 :: +0x1DBE 0x2A03 INCF R3, 1, 0 +;__Lib_Math.c,1024 :: +C3232SX: +;__Lib_Math.c,1025 :: +0x1DC0 0x5003 MOVF R3, 0, 0 +;__Lib_Math.c,1026 :: +0x1DC2 0x1007 IORWF R7, 0, 0 +;__Lib_Math.c,1027 :: +0x1DC4 0x6E0E MOVWF R14, 0 +;__Lib_Math.c,1028 :: +0x1DC6 0xBE0E BTFSC R14, 7, 0 +;__Lib_Math.c,1029 :: +0x1DC8 0xD01D BRA C3232SX1 +;__Lib_Math.c,1030 :: +C3232S: +;__Lib_Math.c,1034 :: +0x1DCA 0xF003ECB5 CALL _SDIV3232L, 0 +;__Lib_Math.c,1038 :: +0x1DCE 0xBE0C BTFSC R12, 7, 0 +;__Lib_Math.c,1039 :: +0x1DD0 0xD036 BRA C3232SX4 +;__Lib_Math.c,1041 :: +C3232SOK: +;__Lib_Math.c,1042 :: +0x1DD2 0xAE0D BTFSS R13, 7, 0 +;__Lib_Math.c,1043 :: +0x1DD4 0xD05B BRA END_ALL +;__Lib_Math.c,1045 :: +0x1DD6 0x1E00 COMF R0, 1, 0 +;__Lib_Math.c,1046 :: +0x1DD8 0x1E01 COMF R1, 1, 0 +;__Lib_Math.c,1047 :: +0x1DDA 0x1E02 COMF R2, 1, 0 +;__Lib_Math.c,1048 :: +0x1DDC 0x1E03 COMF R3, 1, 0 +;__Lib_Math.c,1049 :: +0x1DDE 0x2A00 INCF R0, 1, 0 +;__Lib_Math.c,1050 :: +0x1DE0 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1051 :: +0x1DE2 0x2A01 INCF R1, 1, 0 +;__Lib_Math.c,1052 :: +0x1DE4 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1053 :: +0x1DE6 0x2A02 INCF R2, 1, 0 +;__Lib_Math.c,1054 :: +0x1DE8 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1055 :: +0x1DEA 0x2A03 INCF R3, 1, 0 +;__Lib_Math.c,1057 :: +0x1DEC 0x1E08 COMF R8, 1, 0 +;__Lib_Math.c,1058 :: +0x1DEE 0x1E09 COMF R9, 1, 0 +;__Lib_Math.c,1059 :: +0x1DF0 0x1E0A COMF R10, 1, 0 +;__Lib_Math.c,1060 :: +0x1DF2 0x1E0B COMF R11, 1, 0 +;__Lib_Math.c,1061 :: +0x1DF4 0x2A08 INCF R8, 1, 0 +;__Lib_Math.c,1062 :: +0x1DF6 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1063 :: +0x1DF8 0x2A09 INCF R9, 1, 0 +;__Lib_Math.c,1064 :: +0x1DFA 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1065 :: +0x1DFC 0x2A0A INCF R10, 1, 0 +;__Lib_Math.c,1066 :: +0x1DFE 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1067 :: +0x1E00 0x2A0B INCF R11, 1, 0 +;__Lib_Math.c,1068 :: +0x1E02 0xD044 BRA END_ALL +;__Lib_Math.c,1069 :: +C3232SX1: +;__Lib_Math.c,1072 :: +0x1E04 0xAE07 BTFSS R7, 7, 0 +;__Lib_Math.c,1073 :: +0x1E06 0xD015 BRA C3232SX3 +;__Lib_Math.c,1074 :: +0x1E08 0xBE03 BTFSC R3, 7, 0 +;__Lib_Math.c,1075 :: +0x1E0A 0xD00D BRA C3232SX2 +;__Lib_Math.c,1076 :: +0x1E0C 0x5003 MOVF R3, 0, 0 +;__Lib_Math.c,1077 :: +0x1E0E 0x6E0B MOVWF R11, 0 +;__Lib_Math.c,1078 :: +0x1E10 0x5002 MOVF R2, 0, 0 +;__Lib_Math.c,1079 :: +0x1E12 0x6E0A MOVWF R10, 0 +;__Lib_Math.c,1080 :: +0x1E14 0x5001 MOVF R1, 0, 0 +;__Lib_Math.c,1081 :: +0x1E16 0x6E09 MOVWF R9, 0 +;__Lib_Math.c,1082 :: +0x1E18 0x5000 MOVF R0, 0, 0 +;__Lib_Math.c,1083 :: +0x1E1A 0x6E08 MOVWF R8, 0 +;__Lib_Math.c,1084 :: +0x1E1C 0x6A03 CLRF R3, 0 +;__Lib_Math.c,1085 :: +0x1E1E 0x6A02 CLRF R2, 0 +;__Lib_Math.c,1086 :: +0x1E20 0x6A01 CLRF R1, 0 +;__Lib_Math.c,1087 :: +0x1E22 0x6A00 CLRF R0, 0 +;__Lib_Math.c,1088 :: +0x1E24 0xD7D6 BRA C3232SOK +;__Lib_Math.c,1089 :: +C3232SX2: +;__Lib_Math.c,1090 :: +0x1E26 0x6A03 CLRF R3, 0 +;__Lib_Math.c,1091 :: +0x1E28 0x6A02 CLRF R2, 0 +;__Lib_Math.c,1092 :: +0x1E2A 0x6A01 CLRF R1, 0 +;__Lib_Math.c,1093 :: +0x1E2C 0x6A00 CLRF R0, 0 +;__Lib_Math.c,1094 :: +0x1E2E 0x2A00 INCF R0, 1, 0 +;__Lib_Math.c,1095 :: +0x1E30 0x0C00 RETLW 0 +;__Lib_Math.c,1097 :: +C3232SX3: +;__Lib_Math.c,1098 :: +0x1E32 0x1E03 COMF R3, 1, 0 +;__Lib_Math.c,1099 :: +0x1E34 0x1E02 COMF R2, 1, 0 +;__Lib_Math.c,1100 :: +0x1E36 0x1E01 COMF R1, 1, 0 +;__Lib_Math.c,1101 :: +0x1E38 0x1E00 COMF R0, 1, 0 +;__Lib_Math.c,1103 :: +0x1E3A 0x8E0C BSF R12, 7, 0 +;__Lib_Math.c,1104 :: +0x1E3C 0xD7C6 BRA C3232S +;__Lib_Math.c,1105 :: +C3232SX4: +;__Lib_Math.c,1108 :: +0x1E3E 0x2A08 INCF R8, 1, 0 +;__Lib_Math.c,1109 :: +0x1E40 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1110 :: +0x1E42 0x2A09 INCF R9, 1, 0 +;__Lib_Math.c,1111 :: +0x1E44 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1112 :: +0x1E46 0x2A0A INCF R10, 1, 0 +;__Lib_Math.c,1113 :: +0x1E48 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1114 :: +0x1E4A 0x2A0B INCF R11, 1, 0 +;__Lib_Math.c,1115 :: +0x1E4C 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,1116 :: +0x1E4E 0x5C08 SUBWF R8, 0, 0 +;__Lib_Math.c,1117 :: +0x1E50 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_Math.c,1118 :: +0x1E52 0xD7BF BRA C3232SOK +;__Lib_Math.c,1119 :: +0x1E54 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,1120 :: +0x1E56 0x5C09 SUBWF R9, 0, 0 +;__Lib_Math.c,1121 :: +0x1E58 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_Math.c,1122 :: +0x1E5A 0xD7BB BRA C3232SOK +;__Lib_Math.c,1123 :: +0x1E5C 0x5006 MOVF R6, 0, 0 +;__Lib_Math.c,1124 :: +0x1E5E 0x5C0A SUBWF R10, 0, 0 +;__Lib_Math.c,1125 :: +0x1E60 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_Math.c,1126 :: +0x1E62 0xD7B7 BRA C3232SOK +;__Lib_Math.c,1127 :: +0x1E64 0x5007 MOVF R7, 0, 0 +;__Lib_Math.c,1128 :: +0x1E66 0x5C0B SUBWF R11, 0, 0 +;__Lib_Math.c,1129 :: +0x1E68 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_Math.c,1130 :: +0x1E6A 0xD7B3 BRA C3232SOK +;__Lib_Math.c,1131 :: +0x1E6C 0x6A0B CLRF R11, 0 +;__Lib_Math.c,1132 :: +0x1E6E 0x6A0A CLRF R10, 0 +;__Lib_Math.c,1133 :: +0x1E70 0x6A09 CLRF R9, 0 +;__Lib_Math.c,1134 :: +0x1E72 0x6A08 CLRF R8, 0 +;__Lib_Math.c,1135 :: +0x1E74 0x2A00 INCF R0, 1, 0 +;__Lib_Math.c,1136 :: +0x1E76 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1137 :: +0x1E78 0x2A01 INCF R1, 1, 0 +;__Lib_Math.c,1138 :: +0x1E7A 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1139 :: +0x1E7C 0x2A02 INCF R2, 1, 0 +;__Lib_Math.c,1140 :: +0x1E7E 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,1141 :: +0x1E80 0x2A03 INCF R3, 1, 0 +;__Lib_Math.c,1142 :: +0x1E82 0xAE03 BTFSS R3, 7, 0 +;__Lib_Math.c,1143 :: +0x1E84 0xD7A6 BRA C3232SOK +;__Lib_Math.c,1144 :: +0x1E86 0x6A0E CLRF R14, 0 +;__Lib_Math.c,1145 :: +0x1E88 0x880E BSF R14, 4, 0 +;__Lib_Math.c,1146 :: +0x1E8A 0x0CFF RETLW 255 +;__Lib_Math.c,1147 :: +END_ALL: +;__Lib_Math.c,1148 :: +0x1E8C 0x6A0E CLRF R14, 0 +;__Lib_Math.c,1149 :: +0x1E8E 0xA00C BTFSS R12, 0, 0 +;__Lib_Math.c,1150 :: +0x1E90 0xD002 BRA avoid_comfrem +;__Lib_Math.c,1153 :: +0x1E92 0xF003ECA9 CALL _COMFREM, 0 +;__Lib_Math.c,1155 :: +avoid_comfrem: +;__Lib_Math.c,1156 :: +0x1E96 0x0F00 ADDLW 0 +;__Lib_Math.c,1158 :: +L_end_Div_32x32_S: +0x1E98 0x0012 RETURN 0 +; end of _Div_32x32_S +_correction: +;main.h,40 :: int correction(int input) { +;main.h,41 :: input *= 3; // Devider compensation +0x1E9A 0xF000C311 MOVFF FARG_correction_input, R0 +0x1E9E 0xF001C312 MOVFF FARG_correction_input+1, R1 +0x1EA2 0x0E03 MOVLW 3 +0x1EA4 0x6E04 MOVWF R4 +0x1EA6 0x0E00 MOVLW 0 +0x1EA8 0x6E05 MOVWF R5 +0x1EAA 0xF003EC81 CALL _Mul_16X16_U, 0 +0x1EAE 0xF311C000 MOVFF R0, FARG_correction_input +0x1EB2 0xF312C001 MOVFF R1, FARG_correction_input+1 +;main.h,43 :: if(input <= 80) return 0; +0x1EB6 0x0E80 MOVLW 128 +0x1EB8 0x6E02 MOVWF R2 +0x1EBA 0x0E80 MOVLW 128 +0x1EBC 0x1801 XORWF R1, 0 +0x1EBE 0x5C02 SUBWF R2, 0 +0x1EC0 0xE102 BNZ L__correction445 +0x1EC2 0x5000 MOVF R0, 0 +0x1EC4 0x0850 SUBLW 80 +L__correction445: +0x1EC6 0xE303 BNC L_correction0 +0x1EC8 0x6A00 CLRF R0 +0x1ECA 0x6A01 CLRF R1 +0x1ECC 0xD0BC BRA L_end_correction +L_correction0: +;main.h,44 :: if(input <= 171) input += 244; +0x1ECE 0x0E80 MOVLW 128 +0x1ED0 0x6E00 MOVWF R0 +0x1ED2 0x0E80 MOVLW 128 +0x1ED4 0x0103 MOVLB 3 +0x1ED6 0x1912 XORWF FARG_correction_input+1, 0, 1 +0x1ED8 0x5C00 SUBWF R0, 0 +0x1EDA 0xE102 BNZ L__correction446 +0x1EDC 0x5111 MOVF FARG_correction_input, 0, 1 +0x1EDE 0x08AB SUBLW 171 +L__correction446: +0x1EE0 0xE305 BNC L_correction1 +0x1EE2 0x0EF4 MOVLW 244 +0x1EE4 0x2711 ADDWF FARG_correction_input, 1, 1 +0x1EE6 0x0E00 MOVLW 0 +0x1EE8 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +0x1EEA 0xD0A9 BRA L_correction2 +L_correction1: +;main.h,45 :: else if(input <= 328) input += 254; +0x1EEC 0x0E80 MOVLW 128 +0x1EEE 0x0A01 XORLW 1 +0x1EF0 0x6E00 MOVWF R0 +0x1EF2 0x0E80 MOVLW 128 +0x1EF4 0x1912 XORWF FARG_correction_input+1, 0, 1 +0x1EF6 0x5C00 SUBWF R0, 0 +0x1EF8 0xE102 BNZ L__correction447 +0x1EFA 0x5111 MOVF FARG_correction_input, 0, 1 +0x1EFC 0x0848 SUBLW 72 +L__correction447: +0x1EFE 0xE305 BNC L_correction3 +0x1F00 0x0EFE MOVLW 254 +0x1F02 0x2711 ADDWF FARG_correction_input, 1, 1 +0x1F04 0x0E00 MOVLW 0 +0x1F06 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +0x1F08 0xD09A BRA L_correction4 +L_correction3: +;main.h,46 :: else if(input <= 582) input += 280; +0x1F0A 0x0E80 MOVLW 128 +0x1F0C 0x0A02 XORLW 2 +0x1F0E 0x6E00 MOVWF R0 +0x1F10 0x0E80 MOVLW 128 +0x1F12 0x1912 XORWF FARG_correction_input+1, 0, 1 +0x1F14 0x5C00 SUBWF R0, 0 +0x1F16 0xE102 BNZ L__correction448 +0x1F18 0x5111 MOVF FARG_correction_input, 0, 1 +0x1F1A 0x0846 SUBLW 70 +L__correction448: +0x1F1C 0xE305 BNC L_correction5 +0x1F1E 0x0E18 MOVLW 24 +0x1F20 0x2711 ADDWF FARG_correction_input, 1, 1 +0x1F22 0x0E01 MOVLW 1 +0x1F24 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +0x1F26 0xD08B BRA L_correction6 +L_correction5: +;main.h,47 :: else if(input <= 820) input += 297; +0x1F28 0x0E80 MOVLW 128 +0x1F2A 0x0A03 XORLW 3 +0x1F2C 0x6E00 MOVWF R0 +0x1F2E 0x0E80 MOVLW 128 +0x1F30 0x1912 XORWF FARG_correction_input+1, 0, 1 +0x1F32 0x5C00 SUBWF R0, 0 +0x1F34 0xE102 BNZ L__correction449 +0x1F36 0x5111 MOVF FARG_correction_input, 0, 1 +0x1F38 0x0834 SUBLW 52 +L__correction449: +0x1F3A 0xE305 BNC L_correction7 +0x1F3C 0x0E29 MOVLW 41 +0x1F3E 0x2711 ADDWF FARG_correction_input, 1, 1 +0x1F40 0x0E01 MOVLW 1 +0x1F42 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +0x1F44 0xD07C BRA L_correction8 +L_correction7: +;main.h,48 :: else if(input <= 1100) input += 310; +0x1F46 0x0E80 MOVLW 128 +0x1F48 0x0A04 XORLW 4 +0x1F4A 0x6E00 MOVWF R0 +0x1F4C 0x0E80 MOVLW 128 +0x1F4E 0x1912 XORWF FARG_correction_input+1, 0, 1 +0x1F50 0x5C00 SUBWF R0, 0 +0x1F52 0xE102 BNZ L__correction450 +0x1F54 0x5111 MOVF FARG_correction_input, 0, 1 +0x1F56 0x084C SUBLW 76 +L__correction450: +0x1F58 0xE305 BNC L_correction9 +0x1F5A 0x0E36 MOVLW 54 +0x1F5C 0x2711 ADDWF FARG_correction_input, 1, 1 +0x1F5E 0x0E01 MOVLW 1 +0x1F60 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +0x1F62 0xD06D BRA L_correction10 +L_correction9: +;main.h,49 :: else if(input <= 2181) input += 430; +0x1F64 0x0E80 MOVLW 128 +0x1F66 0x0A08 XORLW 8 +0x1F68 0x6E00 MOVWF R0 +0x1F6A 0x0E80 MOVLW 128 +0x1F6C 0x1912 XORWF FARG_correction_input+1, 0, 1 +0x1F6E 0x5C00 SUBWF R0, 0 +0x1F70 0xE102 BNZ L__correction451 +0x1F72 0x5111 MOVF FARG_correction_input, 0, 1 +0x1F74 0x0885 SUBLW 133 +L__correction451: +0x1F76 0xE305 BNC L_correction11 +0x1F78 0x0EAE MOVLW 174 +0x1F7A 0x2711 ADDWF FARG_correction_input, 1, 1 +0x1F7C 0x0E01 MOVLW 1 +0x1F7E 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +0x1F80 0xD05E BRA L_correction12 +L_correction11: +;main.h,50 :: else if(input <= 3322) input += 484; +0x1F82 0x0E80 MOVLW 128 +0x1F84 0x0A0C XORLW 12 +0x1F86 0x6E00 MOVWF R0 +0x1F88 0x0E80 MOVLW 128 +0x1F8A 0x1912 XORWF FARG_correction_input+1, 0, 1 +0x1F8C 0x5C00 SUBWF R0, 0 +0x1F8E 0xE102 BNZ L__correction452 +0x1F90 0x5111 MOVF FARG_correction_input, 0, 1 +0x1F92 0x08FA SUBLW 250 +L__correction452: +0x1F94 0xE305 BNC L_correction13 +0x1F96 0x0EE4 MOVLW 228 +0x1F98 0x2711 ADDWF FARG_correction_input, 1, 1 +0x1F9A 0x0E01 MOVLW 1 +0x1F9C 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +0x1F9E 0xD04F BRA L_correction14 +L_correction13: +;main.h,51 :: else if(input <= 4623) input += 530; +0x1FA0 0x0E80 MOVLW 128 +0x1FA2 0x0A12 XORLW 18 +0x1FA4 0x6E00 MOVWF R0 +0x1FA6 0x0E80 MOVLW 128 +0x1FA8 0x1912 XORWF FARG_correction_input+1, 0, 1 +0x1FAA 0x5C00 SUBWF R0, 0 +0x1FAC 0xE102 BNZ L__correction453 +0x1FAE 0x5111 MOVF FARG_correction_input, 0, 1 +0x1FB0 0x080F SUBLW 15 +L__correction453: +0x1FB2 0xE305 BNC L_correction15 +0x1FB4 0x0E12 MOVLW 18 +0x1FB6 0x2711 ADDWF FARG_correction_input, 1, 1 +0x1FB8 0x0E02 MOVLW 2 +0x1FBA 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +0x1FBC 0xD040 BRA L_correction16 +L_correction15: +;main.h,52 :: else if(input <= 5862) input += 648; +0x1FBE 0x0E80 MOVLW 128 +0x1FC0 0x0A16 XORLW 22 +0x1FC2 0x6E00 MOVWF R0 +0x1FC4 0x0E80 MOVLW 128 +0x1FC6 0x1912 XORWF FARG_correction_input+1, 0, 1 +0x1FC8 0x5C00 SUBWF R0, 0 +0x1FCA 0xE102 BNZ L__correction454 +0x1FCC 0x5111 MOVF FARG_correction_input, 0, 1 +0x1FCE 0x08E6 SUBLW 230 +L__correction454: +0x1FD0 0xE305 BNC L_correction17 +0x1FD2 0x0E88 MOVLW 136 +0x1FD4 0x2711 ADDWF FARG_correction_input, 1, 1 +0x1FD6 0x0E02 MOVLW 2 +0x1FD8 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +0x1FDA 0xD031 BRA L_correction18 +L_correction17: +;main.h,53 :: else if(input <= 7146) input += 743; +0x1FDC 0x0E80 MOVLW 128 +0x1FDE 0x0A1B XORLW 27 +0x1FE0 0x6E00 MOVWF R0 +0x1FE2 0x0E80 MOVLW 128 +0x1FE4 0x1912 XORWF FARG_correction_input+1, 0, 1 +0x1FE6 0x5C00 SUBWF R0, 0 +0x1FE8 0xE102 BNZ L__correction455 +0x1FEA 0x5111 MOVF FARG_correction_input, 0, 1 +0x1FEC 0x08EA SUBLW 234 +L__correction455: +0x1FEE 0xE305 BNC L_correction19 +0x1FF0 0x0EE7 MOVLW 231 +0x1FF2 0x2711 ADDWF FARG_correction_input, 1, 1 +0x1FF4 0x0E02 MOVLW 2 +0x1FF6 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +0x1FF8 0xD022 BRA L_correction20 +L_correction19: +;main.h,54 :: else if(input <= 8502) input += 820; +0x1FFA 0x0E80 MOVLW 128 +0x1FFC 0x0A21 XORLW 33 +0x1FFE 0x6E00 MOVWF R0 +0x2000 0x0E80 MOVLW 128 +0x2002 0x1912 XORWF FARG_correction_input+1, 0, 1 +0x2004 0x5C00 SUBWF R0, 0 +0x2006 0xE102 BNZ L__correction456 +0x2008 0x5111 MOVF FARG_correction_input, 0, 1 +0x200A 0x0836 SUBLW 54 +L__correction456: +0x200C 0xE305 BNC L_correction21 +0x200E 0x0E34 MOVLW 52 +0x2010 0x2711 ADDWF FARG_correction_input, 1, 1 +0x2012 0x0E03 MOVLW 3 +0x2014 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +0x2016 0xD013 BRA L_correction22 +L_correction21: +;main.h,55 :: else if(input <= 10500) input += 900; +0x2018 0x0E80 MOVLW 128 +0x201A 0x0A29 XORLW 41 +0x201C 0x6E00 MOVWF R0 +0x201E 0x0E80 MOVLW 128 +0x2020 0x1912 XORWF FARG_correction_input+1, 0, 1 +0x2022 0x5C00 SUBWF R0, 0 +0x2024 0xE102 BNZ L__correction457 +0x2026 0x5111 MOVF FARG_correction_input, 0, 1 +0x2028 0x0804 SUBLW 4 +L__correction457: +0x202A 0xE305 BNC L_correction23 +0x202C 0x0E84 MOVLW 132 +0x202E 0x2711 ADDWF FARG_correction_input, 1, 1 +0x2030 0x0E03 MOVLW 3 +0x2032 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +0x2034 0xD004 BRA L_correction24 +L_correction23: +;main.h,56 :: else input += 850; +0x2036 0x0E52 MOVLW 82 +0x2038 0x2711 ADDWF FARG_correction_input, 1, 1 +0x203A 0x0E03 MOVLW 3 +0x203C 0x2312 ADDWFC FARG_correction_input+1, 1, 1 +L_correction24: +L_correction22: +L_correction20: +L_correction18: +L_correction16: +L_correction14: +L_correction12: +L_correction10: +L_correction8: +L_correction6: +L_correction4: +L_correction2: +;main.h,59 :: return input; +0x203E 0xF000C311 MOVFF FARG_correction_input, R0 +0x2042 0xF001C312 MOVFF FARG_correction_input+1, R1 +;main.h,60 :: } +L_end_correction: +0x2046 0x0012 RETURN 0 +; end of _correction +_get_reverse: +;main.h,64 :: int get_reverse() { +;main.h,65 :: return ADC_Get_Sample(1) * 4.883; +0x2048 0x0E01 MOVLW 1 +0x204A 0x0103 MOVLB 3 +0x204C 0x6F17 MOVWF FARG_ADC_Get_Sample_channel, 1 +0x204E 0xF005EC4A CALL _ADC_Get_Sample, 0 +0x2052 0xF003EC6D CALL _word2double, 0 +0x2056 0x0E89 MOVLW 137 +0x2058 0x6E04 MOVWF R4 +0x205A 0x0E41 MOVLW 65 +0x205C 0x6E05 MOVWF R5 +0x205E 0x0E1C MOVLW 28 +0x2060 0x6E06 MOVWF R6 +0x2062 0x0E81 MOVLW 129 +0x2064 0x6E07 MOVWF R7 +0x2066 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x206A 0xF004ECE1 CALL _double2int, 0 +;main.h,66 :: } +L_end_get_reverse: +0x206E 0x0012 RETURN 0 +; end of _get_reverse +_get_forward: +;main.h,69 :: int get_forward() { +;main.h,71 :: Forward = ADC_Get_Sample(0); +0x2070 0x0103 MOVLB 3 +0x2072 0x6B17 CLRF FARG_ADC_Get_Sample_channel, 1 +0x2074 0xF005EC4A CALL _ADC_Get_Sample, 0 +0x2078 0xF311C000 MOVFF R0, get_forward_Forward_L0 +0x207C 0xF312C001 MOVFF R1, get_forward_Forward_L0+1 +;main.h,72 :: if(Forward==1023) Overload = 1; +0x2080 0x5001 MOVF R1, 0 +0x2082 0x0A03 XORLW 3 +0x2084 0xE102 BNZ L__get_forward460 +0x2086 0x0EFF MOVLW 255 +0x2088 0x1800 XORWF R0, 0 +L__get_forward460: +0x208A 0xE104 BNZ L_get_forward25 +0x208C 0x0E01 MOVLW 1 +0x208E 0x0102 MOVLB 2 +0x2090 0x6F23 MOVWF main_Overload, 1 +0x2092 0xD002 BRA L_get_forward26 +L_get_forward25: +0x2094 0x0102 MOVLB 2 +;main.h,73 :: else Overload = 0; +0x2096 0x6B23 CLRF main_Overload, 1 +L_get_forward26: +;main.h,74 :: return Forward * 4.883; +0x2098 0xF000C311 MOVFF get_forward_Forward_L0, R0 +0x209C 0xF001C312 MOVFF get_forward_Forward_L0+1, R1 +0x20A0 0xF005EC62 CALL _int2double, 0 +0x20A4 0x0E89 MOVLW 137 +0x20A6 0x6E04 MOVWF R4 +0x20A8 0x0E41 MOVLW 65 +0x20AA 0x6E05 MOVWF R5 +0x20AC 0x0E1C MOVLW 28 +0x20AE 0x6E06 MOVWF R6 +0x20B0 0x0E81 MOVLW 129 +0x20B2 0x6E07 MOVWF R7 +0x20B4 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x20B8 0xF004ECE1 CALL _double2int, 0 +;main.h,75 :: } +L_end_get_forward: +0x20BC 0x0012 RETURN 0 +; end of _get_forward +_set_ind: +;main.h,139 :: void set_ind(char Ind) { // 0 - 31 +;main.h,141 :: Ind_011 = Ind.B0; +0x20BE 0x0102 MOVLB 2 +0x20C0 0xB1F3 BTFSC FARG_set_ind_Ind, 0, 1 +0x20C2 0xD002 BRA L__set_ind473 +0x20C4 0x928A BCF LATB1_bit, BitPos(LATB1_bit+0) +0x20C6 0xD001 BRA L__set_ind474 +L__set_ind473: +0x20C8 0x828A BSF LATB1_bit, BitPos(LATB1_bit+0) +L__set_ind474: +;main.h,142 :: Ind_022 = Ind.B1; +0x20CA 0xB3F3 BTFSC FARG_set_ind_Ind, 1, 1 +0x20CC 0xD002 BRA L__set_ind475 +0x20CE 0x948A BCF LATB2_bit, BitPos(LATB2_bit+0) +0x20D0 0xD001 BRA L__set_ind476 +L__set_ind475: +0x20D2 0x848A BSF LATB2_bit, BitPos(LATB2_bit+0) +L__set_ind476: +;main.h,143 :: Ind_045 = Ind.B2; +0x20D4 0xB5F3 BTFSC FARG_set_ind_Ind, 2, 1 +0x20D6 0xD002 BRA L__set_ind477 +0x20D8 0x9489 BCF LATA2_bit, BitPos(LATA2_bit+0) +0x20DA 0xD001 BRA L__set_ind478 +L__set_ind477: +0x20DC 0x8489 BSF LATA2_bit, BitPos(LATA2_bit+0) +L__set_ind478: +;main.h,144 :: Ind_1 = Ind.B3; +0x20DE 0xB7F3 BTFSC FARG_set_ind_Ind, 3, 1 +0x20E0 0xD002 BRA L__set_ind479 +0x20E2 0x9889 BCF LATA4_bit, BitPos(LATA4_bit+0) +0x20E4 0xD001 BRA L__set_ind480 +L__set_ind479: +0x20E6 0x8889 BSF LATA4_bit, BitPos(LATA4_bit+0) +L__set_ind480: +;main.h,145 :: Ind_22 = Ind.B4; +0x20E8 0xB9F3 BTFSC FARG_set_ind_Ind, 4, 1 +0x20EA 0xD002 BRA L__set_ind481 +0x20EC 0x9A89 BCF LATA5_bit, BitPos(LATA5_bit+0) +0x20EE 0xD001 BRA L__set_ind482 +L__set_ind481: +0x20F0 0x8A89 BSF LATA5_bit, BitPos(LATA5_bit+0) +L__set_ind482: +;main.h,147 :: Vdelay_ms(Rel_Del); +0x20F2 0xF311C2CA MOVFF main_Rel_Del, FARG_VDelay_ms_Time_ms +0x20F6 0xF312C2CB MOVFF main_Rel_Del+1, FARG_VDelay_ms_Time_ms+1 +0x20FA 0xF00BEC5E CALL _VDelay_ms, 0 +;main.h,148 :: } +L_end_set_ind: +0x20FE 0x0012 RETURN 0 +; end of _set_ind +_get_pwr: +;main.h,77 :: void get_pwr() { +;main.h,80 :: asm CLRWDT; +0x2100 0x0004 CLRWDT +;main.h,82 :: Forward = get_forward(); +0x2102 0xDFB6 RCALL _get_forward +0x2104 0xF2F3C000 MOVFF R0, get_pwr_Forward_L0 +0x2108 0xF2F4C001 MOVFF R1, get_pwr_Forward_L0+1 +0x210C 0x0E00 MOVLW 0 +0x210E 0xBE01 BTFSC R1, 7 +0x2110 0x0EFF MOVLW 255 +0x2112 0x6FF5 MOVWF get_pwr_Forward_L0+2, 1 +0x2114 0x6FF6 MOVWF get_pwr_Forward_L0+3, 1 +;main.h,83 :: Reverse = get_reverse(); +0x2116 0xDF98 RCALL _get_reverse +0x2118 0xF2F7C000 MOVFF R0, get_pwr_Reverse_L0 +0x211C 0xF2F8C001 MOVFF R1, get_pwr_Reverse_L0+1 +0x2120 0x0E00 MOVLW 0 +0x2122 0xBE01 BTFSC R1, 7 +0x2124 0x0EFF MOVLW 255 +0x2126 0x0102 MOVLB 2 +0x2128 0x6FF9 MOVWF get_pwr_Reverse_L0+2, 1 +0x212A 0x6FFA MOVWF get_pwr_Reverse_L0+3, 1 +;main.h,84 :: p = correction(Forward); +0x212C 0xF311C2F3 MOVFF get_pwr_Forward_L0, FARG_correction_input +0x2130 0xF312C2F4 MOVFF get_pwr_Forward_L0+1, FARG_correction_input+1 +0x2134 0xDEB2 RCALL _correction +0x2136 0xF005EC62 CALL _int2double, 0 +0x213A 0xF2FBC000 MOVFF R0, get_pwr_p_L0 +0x213E 0xF2FCC001 MOVFF R1, get_pwr_p_L0+1 +0x2142 0xF2FDC002 MOVFF R2, get_pwr_p_L0+2 +0x2146 0xF2FEC003 MOVFF R3, get_pwr_p_L0+3 +;main.h,86 :: if(Reverse >= Forward) +0x214A 0x0E80 MOVLW 128 +0x214C 0x0102 MOVLB 2 +0x214E 0x19FA XORWF get_pwr_Reverse_L0+3, 0, 1 +0x2150 0x6E00 MOVWF R0 +0x2152 0x0E80 MOVLW 128 +0x2154 0x19F6 XORWF get_pwr_Forward_L0+3, 0, 1 +0x2156 0x5C00 SUBWF R0, 0 +0x2158 0xE108 BNZ L__get_pwr462 +0x215A 0x51F5 MOVF get_pwr_Forward_L0+2, 0, 1 +0x215C 0x5DF9 SUBWF get_pwr_Reverse_L0+2, 0, 1 +0x215E 0xE105 BNZ L__get_pwr462 +0x2160 0x51F4 MOVF get_pwr_Forward_L0+1, 0, 1 +0x2162 0x5DF8 SUBWF get_pwr_Reverse_L0+1, 0, 1 +0x2164 0xE102 BNZ L__get_pwr462 +0x2166 0x51F3 MOVF get_pwr_Forward_L0, 0, 1 +0x2168 0x5DF7 SUBWF get_pwr_Reverse_L0, 0, 1 +L__get_pwr462: +0x216A 0xE308 BNC L_get_pwr27 +;main.h,87 :: Forward = 999; +0x216C 0x0EE7 MOVLW 231 +0x216E 0x6FF3 MOVWF get_pwr_Forward_L0, 1 +0x2170 0x0E03 MOVLW 3 +0x2172 0x6FF4 MOVWF get_pwr_Forward_L0+1, 1 +0x2174 0x0E00 MOVLW 0 +0x2176 0x6FF5 MOVWF get_pwr_Forward_L0+2, 1 +0x2178 0x6FF6 MOVWF get_pwr_Forward_L0+3, 1 +0x217A 0xD044 BRA L_get_pwr28 +L_get_pwr27: +;main.h,89 :: Forward = ((Forward + Reverse) * 100) / (Forward - Reverse); +0x217C 0x51F7 MOVF get_pwr_Reverse_L0, 0, 1 +0x217E 0x25F3 ADDWF get_pwr_Forward_L0, 0, 1 +0x2180 0x6E00 MOVWF R0 +0x2182 0x51F8 MOVF get_pwr_Reverse_L0+1, 0, 1 +0x2184 0x21F4 ADDWFC get_pwr_Forward_L0+1, 0, 1 +0x2186 0x6E01 MOVWF R1 +0x2188 0x51F9 MOVF get_pwr_Reverse_L0+2, 0, 1 +0x218A 0x21F5 ADDWFC get_pwr_Forward_L0+2, 0, 1 +0x218C 0x6E02 MOVWF R2 +0x218E 0x51FA MOVF get_pwr_Reverse_L0+3, 0, 1 +0x2190 0x21F6 ADDWFC get_pwr_Forward_L0+3, 0, 1 +0x2192 0x6E03 MOVWF R3 +0x2194 0x0E64 MOVLW 100 +0x2196 0x6E04 MOVWF R4 +0x2198 0x0E00 MOVLW 0 +0x219A 0x6E05 MOVWF R5 +0x219C 0x6E06 MOVWF R6 +0x219E 0x6E07 MOVWF R7 +0x21A0 0xF005EC8C CALL _Mul_32x32_U, 0 +0x21A4 0xF004C2F3 MOVFF get_pwr_Forward_L0, R4 +0x21A8 0xF005C2F4 MOVFF get_pwr_Forward_L0+1, R5 +0x21AC 0xF006C2F5 MOVFF get_pwr_Forward_L0+2, R6 +0x21B0 0xF007C2F6 MOVFF get_pwr_Forward_L0+3, R7 +0x21B4 0x51F7 MOVF get_pwr_Reverse_L0, 0, 1 +0x21B6 0x5E04 SUBWF R4, 1 +0x21B8 0x51F8 MOVF get_pwr_Reverse_L0+1, 0, 1 +0x21BA 0x5A05 SUBWFB R5, 1 +0x21BC 0x51F9 MOVF get_pwr_Reverse_L0+2, 0, 1 +0x21BE 0x5A06 SUBWFB R6, 1 +0x21C0 0x51FA MOVF get_pwr_Reverse_L0+3, 0, 1 +0x21C2 0x5A07 SUBWFB R7, 1 +0x21C4 0xDDBB RCALL _Div_32x32_S +0x21C6 0xF2F3C000 MOVFF R0, get_pwr_Forward_L0 +0x21CA 0xF2F4C001 MOVFF R1, get_pwr_Forward_L0+1 +0x21CE 0xF2F5C002 MOVFF R2, get_pwr_Forward_L0+2 +0x21D2 0xF2F6C003 MOVFF R3, get_pwr_Forward_L0+3 +;main.h,90 :: if(Forward>999) Forward = 999; +0x21D6 0x0E80 MOVLW 128 +0x21D8 0x6E04 MOVWF R4 +0x21DA 0x0E80 MOVLW 128 +0x21DC 0x1803 XORWF R3, 0 +0x21DE 0x5C04 SUBWF R4, 0 +0x21E0 0xE108 BNZ L__get_pwr463 +0x21E2 0x5002 MOVF R2, 0 +0x21E4 0x0800 SUBLW 0 +0x21E6 0xE105 BNZ L__get_pwr463 +0x21E8 0x5001 MOVF R1, 0 +0x21EA 0x0803 SUBLW 3 +0x21EC 0xE102 BNZ L__get_pwr463 +0x21EE 0x5000 MOVF R0, 0 +0x21F0 0x08E7 SUBLW 231 +L__get_pwr463: +0x21F2 0xE208 BC L_get_pwr29 +0x21F4 0x0EE7 MOVLW 231 +0x21F6 0x0102 MOVLB 2 +0x21F8 0x6FF3 MOVWF get_pwr_Forward_L0, 1 +0x21FA 0x0E03 MOVLW 3 +0x21FC 0x6FF4 MOVWF get_pwr_Forward_L0+1, 1 +0x21FE 0x0E00 MOVLW 0 +0x2200 0x6FF5 MOVWF get_pwr_Forward_L0+2, 1 +0x2202 0x6FF6 MOVWF get_pwr_Forward_L0+3, 1 +L_get_pwr29: +;main.h,91 :: } +L_get_pwr28: +;main.h,93 :: p = p * K_mult / 1000; // mV to Volts +0x2204 0xF000C09E MOVFF main_K_mult, R0 +0x2208 0xDD8A RCALL _byte2double +0x220A 0xF004C2FB MOVFF get_pwr_p_L0, R4 +0x220E 0xF005C2FC MOVFF get_pwr_p_L0+1, R5 +0x2212 0xF006C2FD MOVFF get_pwr_p_L0+2, R6 +0x2216 0xF007C2FE MOVFF get_pwr_p_L0+3, R7 +0x221A 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x221E 0x0E00 MOVLW 0 +0x2220 0x6E04 MOVWF R4 +0x2222 0x0E00 MOVLW 0 +0x2224 0x6E05 MOVWF R5 +0x2226 0x0E7A MOVLW 122 +0x2228 0x6E06 MOVWF R6 +0x222A 0x0E88 MOVLW 136 +0x222C 0x6E07 MOVWF R7 +0x222E 0xF00BECBE CALL _Div_32x32_FP, 0 +0x2232 0xF2FBC000 MOVFF R0, get_pwr_p_L0 +0x2236 0xF2FCC001 MOVFF R1, get_pwr_p_L0+1 +0x223A 0xF2FDC002 MOVFF R2, get_pwr_p_L0+2 +0x223E 0xF2FEC003 MOVFF R3, get_pwr_p_L0+3 +;main.h,94 :: p = p / 1.414; +0x2242 0x0EF4 MOVLW 244 +0x2244 0x6E04 MOVWF R4 +0x2246 0x0EFD MOVLW 253 +0x2248 0x6E05 MOVWF R5 +0x224A 0x0E34 MOVLW 52 +0x224C 0x6E06 MOVWF R6 +0x224E 0x0E7F MOVLW 127 +0x2250 0x6E07 MOVWF R7 +0x2252 0xF00BECBE CALL _Div_32x32_FP, 0 +0x2256 0xF2FBC000 MOVFF R0, get_pwr_p_L0 +0x225A 0xF2FCC001 MOVFF R1, get_pwr_p_L0+1 +0x225E 0xF2FDC002 MOVFF R2, get_pwr_p_L0+2 +0x2262 0xF2FEC003 MOVFF R3, get_pwr_p_L0+3 +;main.h,95 :: p = p * p / 5; +0x2266 0xF004C000 MOVFF R0, R4 +0x226A 0xF005C001 MOVFF R1, R5 +0x226E 0xF006C002 MOVFF R2, R6 +0x2272 0xF007C003 MOVFF R3, R7 +0x2276 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x227A 0x0E00 MOVLW 0 +0x227C 0x6E04 MOVWF R4 +0x227E 0x0E00 MOVLW 0 +0x2280 0x6E05 MOVWF R5 +0x2282 0x0E20 MOVLW 32 +0x2284 0x6E06 MOVWF R6 +0x2286 0x0E81 MOVLW 129 +0x2288 0x6E07 MOVWF R7 +0x228A 0xF00BECBE CALL _Div_32x32_FP, 0 +0x228E 0xF2FBC000 MOVFF R0, get_pwr_p_L0 +0x2292 0xF2FCC001 MOVFF R1, get_pwr_p_L0+1 +0x2296 0xF2FDC002 MOVFF R2, get_pwr_p_L0+2 +0x229A 0xF2FEC003 MOVFF R3, get_pwr_p_L0+3 +;main.h,96 :: p = p + 0.5; // rounding to 0.1 W +0x229E 0x0E00 MOVLW 0 +0x22A0 0x6E04 MOVWF R4 +0x22A2 0x0E00 MOVLW 0 +0x22A4 0x6E05 MOVWF R5 +0x22A6 0x0E00 MOVLW 0 +0x22A8 0x6E06 MOVWF R6 +0x22AA 0x0E7E MOVLW 126 +0x22AC 0x6E07 MOVWF R7 +0x22AE 0xF00CEC7C CALL _Add_32x32_FP, 0 +0x22B2 0xF2FBC000 MOVFF R0, get_pwr_p_L0 +0x22B6 0xF2FCC001 MOVFF R1, get_pwr_p_L0+1 +0x22BA 0xF2FDC002 MOVFF R2, get_pwr_p_L0+2 +0x22BE 0xF2FEC003 MOVFF R3, get_pwr_p_L0+3 +;main.h,97 :: PWR = p; // 0 - 1510 (151.0 Watts) +0x22C2 0xF004ECE1 CALL _double2int, 0 +0x22C6 0xF2B9C000 MOVFF R0, _PWR +0x22CA 0xF2BAC001 MOVFF R1, _PWR+1 +;main.h,98 :: if(PWR<10) SWR = 1; +0x22CE 0x0E80 MOVLW 128 +0x22D0 0x1801 XORWF R1, 0 +0x22D2 0x6E02 MOVWF R2 +0x22D4 0x0E80 MOVLW 128 +0x22D6 0x5C02 SUBWF R2, 0 +0x22D8 0xE102 BNZ L__get_pwr464 +0x22DA 0x0E0A MOVLW 10 +0x22DC 0x5C00 SUBWF R0, 0 +L__get_pwr464: +0x22DE 0xE206 BC L_get_pwr30 +0x22E0 0x0E01 MOVLW 1 +0x22E2 0x0102 MOVLB 2 +0x22E4 0x6FB7 MOVWF _SWR, 1 +0x22E6 0x0E00 MOVLW 0 +0x22E8 0x6FB8 MOVWF _SWR+1, 1 +0x22EA 0xD019 BRA L_get_pwr31 +L_get_pwr30: +0x22EC 0x0102 MOVLB 2 +;main.h,99 :: else if(Forward<100) SWR = 999; +0x22EE 0x0E80 MOVLW 128 +0x22F0 0x19F6 XORWF get_pwr_Forward_L0+3, 0, 1 +0x22F2 0x6E00 MOVWF R0 +0x22F4 0x0E80 MOVLW 128 +0x22F6 0x5C00 SUBWF R0, 0 +0x22F8 0xE108 BNZ L__get_pwr465 +0x22FA 0x0E00 MOVLW 0 +0x22FC 0x5DF5 SUBWF get_pwr_Forward_L0+2, 0, 1 +0x22FE 0xE105 BNZ L__get_pwr465 +0x2300 0x0E00 MOVLW 0 +0x2302 0x5DF4 SUBWF get_pwr_Forward_L0+1, 0, 1 +0x2304 0xE102 BNZ L__get_pwr465 +0x2306 0x0E64 MOVLW 100 +0x2308 0x5DF3 SUBWF get_pwr_Forward_L0, 0, 1 +L__get_pwr465: +0x230A 0xE205 BC L_get_pwr32 +0x230C 0x0EE7 MOVLW 231 +0x230E 0x6FB7 MOVWF _SWR, 1 +0x2310 0x0E03 MOVLW 3 +0x2312 0x6FB8 MOVWF _SWR+1, 1 +0x2314 0xD004 BRA L_get_pwr33 +L_get_pwr32: +;main.h,100 :: else SWR = Forward; +0x2316 0xF2B7C2F3 MOVFF get_pwr_Forward_L0, _SWR +0x231A 0xF2B8C2F4 MOVFF get_pwr_Forward_L0+1, _SWR+1 +L_get_pwr33: +L_get_pwr31: +;main.h,101 :: return; +;main.h,102 :: } +L_end_get_pwr: +0x231E 0x0012 RETURN 0 +; end of _get_pwr +_button_delay: +;main.c,488 :: void button_delay() { +;main.c,489 :: if((Button(&PORTB, 0, 25, 0)) | (Button(&PORTB, 1, 25, 0)) | (Button(&PORTB, 2, 25, 0))) { +0x2320 0x0E81 MOVLW PORTB +0x2322 0x0103 MOVLB 3 +0x2324 0x6F11 MOVWF FARG_Button_port, 1 +0x2326 0x0E0F MOVLW hi_addr(PORTB) +0x2328 0x6F12 MOVWF FARG_Button_port+1, 1 +0x232A 0x6B13 CLRF FARG_Button_pin, 1 +0x232C 0x0E19 MOVLW 25 +0x232E 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x2330 0x6B15 CLRF FARG_Button_active_state, 1 +0x2332 0xF00BEC22 CALL _Button, 0 +0x2336 0xF2F3C000 MOVFF R0, FLOC__button_delay +0x233A 0x0E81 MOVLW PORTB +0x233C 0x6F11 MOVWF FARG_Button_port, 1 +0x233E 0x0E0F MOVLW hi_addr(PORTB) +0x2340 0x6F12 MOVWF FARG_Button_port+1, 1 +0x2342 0x0E01 MOVLW 1 +0x2344 0x6F13 MOVWF FARG_Button_pin, 1 +0x2346 0x0E19 MOVLW 25 +0x2348 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x234A 0x6B15 CLRF FARG_Button_active_state, 1 +0x234C 0xF00BEC22 CALL _Button, 0 +0x2350 0x5000 MOVF R0, 0 +0x2352 0x0102 MOVLB 2 +0x2354 0x13F3 IORWF FLOC__button_delay, 1, 1 +0x2356 0x0E81 MOVLW PORTB +0x2358 0x0103 MOVLB 3 +0x235A 0x6F11 MOVWF FARG_Button_port, 1 +0x235C 0x0E0F MOVLW hi_addr(PORTB) +0x235E 0x6F12 MOVWF FARG_Button_port+1, 1 +0x2360 0x0E02 MOVLW 2 +0x2362 0x6F13 MOVWF FARG_Button_pin, 1 +0x2364 0x0E19 MOVLW 25 +0x2366 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x2368 0x6B15 CLRF FARG_Button_active_state, 1 +0x236A 0xF00BEC22 CALL _Button, 0 +0x236E 0x0102 MOVLB 2 +0x2370 0x51F3 MOVF FLOC__button_delay, 0, 1 +0x2372 0x1200 IORWF R0, 1 +0x2374 0xE002 BZ L_button_delay301 +;main.c,490 :: but = 1; +0x2376 0x0E01 MOVLW 1 +0x2378 0x6F1E MOVWF _but, 1 +;main.c,491 :: } +L_button_delay301: +;main.c,492 :: return; +;main.c,493 :: } +L_end_button_delay: +0x237A 0x0012 RETURN 0 +; end of _button_delay +_set_cap: +;main.h,150 :: void set_cap(char Cap) { // 0 - 31 +;main.h,151 :: Cap_10 = Cap.B0; +0x237C 0x0102 MOVLB 2 +0x237E 0xB1F3 BTFSC FARG_set_cap_Cap, 0, 1 +0x2380 0xD002 BRA L__set_cap484 +0x2382 0x928B BCF LATC1_bit, BitPos(LATC1_bit+0) +0x2384 0xD001 BRA L__set_cap485 +L__set_cap484: +0x2386 0x828B BSF LATC1_bit, BitPos(LATC1_bit+0) +L__set_cap485: +;main.h,152 :: Cap_22 = Cap.B1; +0x2388 0xB3F3 BTFSC FARG_set_cap_Cap, 1, 1 +0x238A 0xD002 BRA L__set_cap486 +0x238C 0x948B BCF LATC2_bit, BitPos(LATC2_bit+0) +0x238E 0xD001 BRA L__set_cap487 +L__set_cap486: +0x2390 0x848B BSF LATC2_bit, BitPos(LATC2_bit+0) +L__set_cap487: +;main.h,153 :: Cap_47 = Cap.B2; +0x2392 0xB5F3 BTFSC FARG_set_cap_Cap, 2, 1 +0x2394 0xD002 BRA L__set_cap488 +0x2396 0x968B BCF LATC3_bit, BitPos(LATC3_bit+0) +0x2398 0xD001 BRA L__set_cap489 +L__set_cap488: +0x239A 0x868B BSF LATC3_bit, BitPos(LATC3_bit+0) +L__set_cap489: +;main.h,154 :: Cap_100 = Cap.B3; +0x239C 0xB7F3 BTFSC FARG_set_cap_Cap, 3, 1 +0x239E 0xD002 BRA L__set_cap490 +0x23A0 0x988B BCF LATC4_bit, BitPos(LATC4_bit+0) +0x23A2 0xD001 BRA L__set_cap491 +L__set_cap490: +0x23A4 0x888B BSF LATC4_bit, BitPos(LATC4_bit+0) +L__set_cap491: +;main.h,155 :: Cap_220 = Cap.B4; +0x23A6 0xB9F3 BTFSC FARG_set_cap_Cap, 4, 1 +0x23A8 0xD002 BRA L__set_cap492 +0x23AA 0x9A8B BCF LATC5_bit, BitPos(LATC5_bit+0) +0x23AC 0xD001 BRA L__set_cap493 +L__set_cap492: +0x23AE 0x8A8B BSF LATC5_bit, BitPos(LATC5_bit+0) +L__set_cap493: +;main.h,157 :: Vdelay_ms(Rel_Del); +0x23B0 0xF311C2CA MOVFF main_Rel_Del, FARG_VDelay_ms_Time_ms +0x23B4 0xF312C2CB MOVFF main_Rel_Del+1, FARG_VDelay_ms_Time_ms+1 +0x23B8 0xF00BEC5E CALL _VDelay_ms, 0 +;main.h,158 :: } +L_end_set_cap: +0x23BC 0x0012 RETURN 0 +; end of _set_cap +_show_pwr: +;main.c,495 :: void show_pwr(int Power, int SWR) { +;main.c,498 :: asm CLRWDT; +0x23BE 0x0004 CLRWDT +;main.c,500 :: if(Test==0 & Loss_ind==1 & SWR>=100) { +0x23C0 0x5053 MOVF _Test, 0 +0x23C2 0x0A00 XORLW 0 +0x23C4 0x0E01 MOVLW 1 +0x23C6 0xA4D8 BTFSS STATUS, 2 +0x23C8 0x0E00 MOVLW 0 +0x23CA 0x6E01 MOVWF R1 +0x23CC 0x5049 MOVF main_Loss_ind, 0 +0x23CE 0x0A01 XORLW 1 +0x23D0 0x0E01 MOVLW 1 +0x23D2 0xA4D8 BTFSS STATUS, 2 +0x23D4 0x0E00 MOVLW 0 +0x23D6 0x6E00 MOVWF R0 +0x23D8 0x5000 MOVF R0, 0 +0x23DA 0x1601 ANDWF R1, 1 +0x23DC 0x0E80 MOVLW 128 +0x23DE 0x0102 MOVLB 2 +0x23E0 0x19F6 XORWF FARG_show_pwr_SWR+1, 0, 1 +0x23E2 0x6E00 MOVWF R0 +0x23E4 0x0E80 MOVLW 128 +0x23E6 0x5C00 SUBWF R0, 0 +0x23E8 0xE102 BNZ L__show_pwr582 +0x23EA 0x0E64 MOVLW 100 +0x23EC 0x5DF5 SUBWF FARG_show_pwr_SWR, 0, 1 +L__show_pwr582: +0x23EE 0x0E00 MOVLW 0 +0x23F0 0xB0D8 BTFSC STATUS, 0 +0x23F2 0x0E01 MOVLW 1 +0x23F4 0x6E00 MOVWF R0 +0x23F6 0x5001 MOVF R1, 0 +0x23F8 0x1600 ANDWF R0, 1 +0x23FA 0xB4D8 BTFSC STATUS, 2 +0x23FC 0xD078 BRA L_show_pwr302 +;main.c,501 :: if(Loss_mode==0) { // prepare +0x23FE 0x5104 MOVF _Loss_mode, 0, 1 +0x2400 0x0A00 XORLW 0 +0x2402 0xE171 BNZ L_show_pwr303 +;main.c,502 :: if(type==4 |type==5){ // 128*64 OLED +0x2404 0x51C2 MOVF _type, 0, 1 +0x2406 0x0A04 XORLW 4 +0x2408 0x0E01 MOVLW 1 +0x240A 0xA4D8 BTFSS STATUS, 2 +0x240C 0x0E00 MOVLW 0 +0x240E 0x6E01 MOVWF R1 +0x2410 0x51C2 MOVF _type, 0, 1 +0x2412 0x0A05 XORLW 5 +0x2414 0x0E01 MOVLW 1 +0x2416 0xA4D8 BTFSS STATUS, 2 +0x2418 0x0E00 MOVLW 0 +0x241A 0x6E00 MOVWF R0 +0x241C 0x5001 MOVF R1, 0 +0x241E 0x1200 IORWF R0, 1 +0x2420 0xE01B BZ L_show_pwr304 +;main.c,503 :: led_wr_str(4, 16, "ANT=0.0W", 8); +0x2422 0x0E04 MOVLW 4 +0x2424 0x0103 MOVLB 3 +0x2426 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x2428 0x0E10 MOVLW 16 +0x242A 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x242C 0x0E27 MOVLW ?lstr50_main +0x242E 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2430 0x0E00 MOVLW hi_addr(?lstr50_main) +0x2432 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x2434 0x0E08 MOVLW 8 +0x2436 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2438 0xF007ECAF CALL _led_wr_str, 0 +;main.c,504 :: led_wr_str(6, 16, "EFF= 0%", 8); +0x243C 0x0E06 MOVLW 6 +0x243E 0x0103 MOVLB 3 +0x2440 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x2442 0x0E10 MOVLW 16 +0x2444 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2446 0x0E1E MOVLW ?lstr51_main +0x2448 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x244A 0x0E00 MOVLW hi_addr(?lstr51_main) +0x244C 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x244E 0x0E08 MOVLW 8 +0x2450 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2452 0xF007ECAF CALL _led_wr_str, 0 +;main.c,505 :: } +0x2456 0xD047 BRA L_show_pwr305 +L_show_pwr304: +;main.c,506 :: else if(type==2 | type==3) { // 128*32 OLED +0x2458 0x0102 MOVLB 2 +0x245A 0x51C2 MOVF _type, 0, 1 +0x245C 0x0A02 XORLW 2 +0x245E 0x0E01 MOVLW 1 +0x2460 0xA4D8 BTFSS STATUS, 2 +0x2462 0x0E00 MOVLW 0 +0x2464 0x6E01 MOVWF R1 +0x2466 0x51C2 MOVF _type, 0, 1 +0x2468 0x0A03 XORLW 3 +0x246A 0x0E01 MOVLW 1 +0x246C 0xA4D8 BTFSS STATUS, 2 +0x246E 0x0E00 MOVLW 0 +0x2470 0x6E00 MOVWF R0 +0x2472 0x5001 MOVF R1, 0 +0x2474 0x1200 IORWF R0, 1 +0x2476 0xE01A BZ L_show_pwr306 +;main.c,507 :: led_wr_str (0, 9, "ANT=0.0W", 8); +0x2478 0x0103 MOVLB 3 +0x247A 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x247C 0x0E09 MOVLW 9 +0x247E 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2480 0x0E15 MOVLW ?lstr52_main +0x2482 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2484 0x0E00 MOVLW hi_addr(?lstr52_main) +0x2486 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x2488 0x0E08 MOVLW 8 +0x248A 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x248C 0xF007ECAF CALL _led_wr_str, 0 +;main.c,508 :: led_wr_str (1, 9, "EFF= 0%", 8); +0x2490 0x0E01 MOVLW 1 +0x2492 0x0103 MOVLB 3 +0x2494 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x2496 0x0E09 MOVLW 9 +0x2498 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x249A 0x0E40 MOVLW ?lstr53_main +0x249C 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x249E 0x0E00 MOVLW hi_addr(?lstr53_main) +0x24A0 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x24A2 0x0E08 MOVLW 8 +0x24A4 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x24A6 0xF007ECAF CALL _led_wr_str, 0 +;main.c,509 :: } +0x24AA 0xD01D BRA L_show_pwr307 +L_show_pwr306: +;main.c,510 :: else if(type==1) { // 1602 LCD +0x24AC 0x0102 MOVLB 2 +0x24AE 0x51C2 MOVF _type, 0, 1 +0x24B0 0x0A01 XORLW 1 +0x24B2 0xE119 BNZ L_show_pwr308 +;main.c,511 :: led_wr_str (0, 9, "AN=0.0W", 7); +0x24B4 0x0103 MOVLB 3 +0x24B6 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x24B8 0x0E09 MOVLW 9 +0x24BA 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x24BC 0x0E38 MOVLW ?lstr54_main +0x24BE 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x24C0 0x0E00 MOVLW hi_addr(?lstr54_main) +0x24C2 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x24C4 0x0E07 MOVLW 7 +0x24C6 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x24C8 0xF007ECAF CALL _led_wr_str, 0 +;main.c,512 :: led_wr_str (1, 9, "EFF= 0%", 7); +0x24CC 0x0E01 MOVLW 1 +0x24CE 0x0103 MOVLB 3 +0x24D0 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x24D2 0x0E09 MOVLW 9 +0x24D4 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x24D6 0x0E30 MOVLW ?lstr55_main +0x24D8 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x24DA 0x0E00 MOVLW hi_addr(?lstr55_main) +0x24DC 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x24DE 0x0E07 MOVLW 7 +0x24E0 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x24E2 0xF007ECAF CALL _led_wr_str, 0 +;main.c,513 :: } +L_show_pwr308: +L_show_pwr307: +L_show_pwr305: +;main.c,514 :: } +L_show_pwr303: +;main.c,515 :: Loss_mode = 1; +0x24E6 0x0E01 MOVLW 1 +0x24E8 0x0102 MOVLB 2 +0x24EA 0x6F04 MOVWF _Loss_mode, 1 +;main.c,516 :: } +0x24EC 0xD007 BRA L_show_pwr309 +L_show_pwr302: +;main.c,518 :: if(Loss_mode==1) lcd_ind(); +0x24EE 0x5104 MOVF _Loss_mode, 0, 1 +0x24F0 0x0A01 XORLW 1 +0x24F2 0xE102 BNZ L_show_pwr310 +0x24F4 0xF008EC3C CALL _lcd_ind, 0 +L_show_pwr310: +;main.c,519 :: Loss_mode = 0; +0x24F8 0x0102 MOVLB 2 +0x24FA 0x6B04 CLRF _Loss_mode, 1 +;main.c,520 :: } +L_show_pwr309: +;main.c,521 :: asm CLRWDT; +0x24FC 0x0004 CLRWDT +;main.c,522 :: if(Power != Power_old) { +0x24FE 0x51F4 MOVF FARG_show_pwr_Power+1, 0, 1 +0x2500 0x198D XORWF _Power_old+1, 0, 1 +0x2502 0xE102 BNZ L__show_pwr583 +0x2504 0x518C MOVF _Power_old, 0, 1 +0x2506 0x19F3 XORWF FARG_show_pwr_Power, 0, 1 +L__show_pwr583: +0x2508 0xB4D8 BTFSC STATUS, 2 +0x250A 0xD31F BRA L_show_pwr311 +;main.c,523 :: Power_old = Power; +0x250C 0xF28CC2F3 MOVFF FARG_show_pwr_Power, _Power_old +0x2510 0xF28DC2F4 MOVFF FARG_show_pwr_Power+1, _Power_old+1 +;main.c,526 :: if(Power >= 100) { // > 10 W +0x2514 0x0E80 MOVLW 128 +0x2516 0x19F4 XORWF FARG_show_pwr_Power+1, 0, 1 +0x2518 0x6E00 MOVWF R0 +0x251A 0x0E80 MOVLW 128 +0x251C 0x5C00 SUBWF R0, 0 +0x251E 0xE102 BNZ L__show_pwr584 +0x2520 0x0E64 MOVLW 100 +0x2522 0x5DF3 SUBWF FARG_show_pwr_Power, 0, 1 +L__show_pwr584: +0x2524 0xE31F BNC L_show_pwr313 +;main.c,527 :: Power += 5; // rounding to 1 W +0x2526 0x0E05 MOVLW 5 +0x2528 0x25F3 ADDWF FARG_show_pwr_Power, 0, 1 +0x252A 0x6E00 MOVWF R0 +0x252C 0x0E00 MOVLW 0 +0x252E 0x21F4 ADDWFC FARG_show_pwr_Power+1, 0, 1 +0x2530 0x6E01 MOVWF R1 +0x2532 0xF2F3C000 MOVFF R0, FARG_show_pwr_Power +0x2536 0xF2F4C001 MOVFF R1, FARG_show_pwr_Power+1 +;main.c,528 :: IntToStr(Power, work_str); +0x253A 0xF317C000 MOVFF R0, FARG_IntToStr_input +0x253E 0xF318C001 MOVFF R1, FARG_IntToStr_input+1 +0x2542 0x0EBB MOVLW _work_str +0x2544 0x0103 MOVLB 3 +0x2546 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x2548 0x0E02 MOVLW hi_addr(_work_str) +0x254A 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x254C 0xF007EC41 CALL _IntToStr, 0 +;main.c,529 :: work_str_2[0] = work_str[2]; +0x2550 0xF2C3C2BD MOVFF _work_str+2, _work_str_2 +;main.c,530 :: work_str_2[1] = work_str[3]; +0x2554 0xF2C4C2BE MOVFF _work_str+3, _work_str_2+1 +;main.c,531 :: work_str_2[2] = work_str[4]; +0x2558 0xF2C5C2BF MOVFF _work_str+4, _work_str_2+2 +;main.c,532 :: work_str_2[3] = 'W'; +0x255C 0x0E57 MOVLW 87 +0x255E 0x0102 MOVLB 2 +0x2560 0x6FC6 MOVWF _work_str_2+3, 1 +;main.c,533 :: } +0x2562 0xD020 BRA L_show_pwr314 +L_show_pwr313: +;main.c,535 :: IntToStr(Power, work_str); +0x2564 0xF317C2F3 MOVFF FARG_show_pwr_Power, FARG_IntToStr_input +0x2568 0xF318C2F4 MOVFF FARG_show_pwr_Power+1, FARG_IntToStr_input+1 +0x256C 0x0EBB MOVLW _work_str +0x256E 0x0103 MOVLB 3 +0x2570 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x2572 0x0E02 MOVLW hi_addr(_work_str) +0x2574 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x2576 0xF007EC41 CALL _IntToStr, 0 +;main.c,536 :: if(work_str[4] != ' ') work_str_2[0] = work_str[4]; else work_str_2[0] = '0'; +0x257A 0x0102 MOVLB 2 +0x257C 0x51BF MOVF _work_str+4, 0, 1 +0x257E 0x0A20 XORLW 32 +0x2580 0xE003 BZ L_show_pwr315 +0x2582 0xF2C3C2BF MOVFF _work_str+4, _work_str_2 +0x2586 0xD002 BRA L_show_pwr316 +L_show_pwr315: +0x2588 0x0E30 MOVLW 48 +0x258A 0x6FC3 MOVWF _work_str_2, 1 +L_show_pwr316: +;main.c,537 :: work_str_2[1] = '.'; +0x258C 0x0E2E MOVLW 46 +0x258E 0x6FC4 MOVWF _work_str_2+1, 1 +;main.c,538 :: if(work_str[5] != ' ') work_str_2[2] = work_str[5]; else work_str_2[2] = '0'; +0x2590 0x51C0 MOVF _work_str+5, 0, 1 +0x2592 0x0A20 XORLW 32 +0x2594 0xE003 BZ L_show_pwr317 +0x2596 0xF2C5C2C0 MOVFF _work_str+5, _work_str_2+2 +0x259A 0xD002 BRA L_show_pwr318 +L_show_pwr317: +0x259C 0x0E30 MOVLW 48 +0x259E 0x6FC5 MOVWF _work_str_2+2, 1 +L_show_pwr318: +;main.c,539 :: work_str_2[3] = 'W'; +0x25A0 0x0E57 MOVLW 87 +0x25A2 0x6FC6 MOVWF _work_str_2+3, 1 +;main.c,540 :: } +L_show_pwr314: +;main.c,542 :: if(type==4 | type==5) led_wr_str (0, 16+4*12, work_str_2, 4); // 128*64 OLED +0x25A4 0x51C2 MOVF _type, 0, 1 +0x25A6 0x0A04 XORLW 4 +0x25A8 0x0E01 MOVLW 1 +0x25AA 0xA4D8 BTFSS STATUS, 2 +0x25AC 0x0E00 MOVLW 0 +0x25AE 0x6E01 MOVWF R1 +0x25B0 0x51C2 MOVF _type, 0, 1 +0x25B2 0x0A05 XORLW 5 +0x25B4 0x0E01 MOVLW 1 +0x25B6 0xA4D8 BTFSS STATUS, 2 +0x25B8 0x0E00 MOVLW 0 +0x25BA 0x6E00 MOVWF R0 +0x25BC 0x5001 MOVF R1, 0 +0x25BE 0x1200 IORWF R0, 1 +0x25C0 0xE00D BZ L_show_pwr319 +0x25C2 0x0103 MOVLB 3 +0x25C4 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x25C6 0x0E40 MOVLW 64 +0x25C8 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x25CA 0x0EC3 MOVLW _work_str_2 +0x25CC 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x25CE 0x0E02 MOVLW hi_addr(_work_str_2) +0x25D0 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x25D2 0x0E04 MOVLW 4 +0x25D4 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x25D6 0xF007ECAF CALL _led_wr_str, 0 +0x25DA 0xD01C BRA L_show_pwr320 +L_show_pwr319: +;main.c,543 :: else if(type!=0 & type!=6) led_wr_str (0, 4, work_str_2, 4); // 1602 & 128*32 +0x25DC 0x0102 MOVLB 2 +0x25DE 0x51C2 MOVF _type, 0, 1 +0x25E0 0x0A00 XORLW 0 +0x25E2 0x0E00 MOVLW 0 +0x25E4 0xA4D8 BTFSS STATUS, 2 +0x25E6 0x0E01 MOVLW 1 +0x25E8 0x6E01 MOVWF R1 +0x25EA 0x51C2 MOVF _type, 0, 1 +0x25EC 0x0A06 XORLW 6 +0x25EE 0x0E00 MOVLW 0 +0x25F0 0xA4D8 BTFSS STATUS, 2 +0x25F2 0x0E01 MOVLW 1 +0x25F4 0x6E00 MOVWF R0 +0x25F6 0x5001 MOVF R1, 0 +0x25F8 0x1600 ANDWF R0, 1 +0x25FA 0xE00C BZ L_show_pwr321 +0x25FC 0x0103 MOVLB 3 +0x25FE 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x2600 0x0E04 MOVLW 4 +0x2602 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2604 0x0EC3 MOVLW _work_str_2 +0x2606 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2608 0x0E02 MOVLW hi_addr(_work_str_2) +0x260A 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x260C 0x0E04 MOVLW 4 +0x260E 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2610 0xF007ECAF CALL _led_wr_str, 0 +L_show_pwr321: +L_show_pwr320: +;main.c,546 :: if(Loss_mode==1) { +0x2614 0x0102 MOVLB 2 +0x2616 0x5104 MOVF _Loss_mode, 0, 1 +0x2618 0x0A01 XORLW 1 +0x261A 0xA4D8 BTFSS STATUS, 2 +0x261C 0xD296 BRA L_show_pwr322 +;main.c,547 :: if(ind==0 & cap==0) swr_a = SWR; +0x261E 0x0101 MOVLB 1 +0x2620 0x51FE MOVF main_ind, 0, 1 +0x2622 0x0A00 XORLW 0 +0x2624 0x0E01 MOVLW 1 +0x2626 0xA4D8 BTFSS STATUS, 2 +0x2628 0x0E00 MOVLW 0 +0x262A 0x6E01 MOVWF R1 +0x262C 0x51FF MOVF main_cap, 0, 1 +0x262E 0x0A00 XORLW 0 +0x2630 0x0E01 MOVLW 1 +0x2632 0xA4D8 BTFSS STATUS, 2 +0x2634 0x0E00 MOVLW 0 +0x2636 0x6E00 MOVWF R0 +0x2638 0x5001 MOVF R1, 0 +0x263A 0x1600 ANDWF R0, 1 +0x263C 0xE004 BZ L_show_pwr323 +0x263E 0xF290C2F5 MOVFF FARG_show_pwr_SWR, _swr_a +0x2642 0xF291C2F6 MOVFF FARG_show_pwr_SWR+1, _swr_a+1 +L_show_pwr323: +;main.c,548 :: a = 1.0 / ((swr_a/100.0 + 100.0/swr_a) * Fid_loss/10.0 * 0.115 + 1.0); // Fider loss +0x2646 0xF000C290 MOVFF _swr_a, R0 +0x264A 0xF001C291 MOVFF _swr_a+1, R1 +0x264E 0xF005EC62 CALL _int2double, 0 +0x2652 0xF309C000 MOVFF R0, FLOC__show_pwr+4 +0x2656 0xF30AC001 MOVFF R1, FLOC__show_pwr+5 +0x265A 0xF30BC002 MOVFF R2, FLOC__show_pwr+6 +0x265E 0xF30CC003 MOVFF R3, FLOC__show_pwr+7 +0x2662 0x0E00 MOVLW 0 +0x2664 0x6E04 MOVWF R4 +0x2666 0x0E00 MOVLW 0 +0x2668 0x6E05 MOVWF R5 +0x266A 0x0E48 MOVLW 72 +0x266C 0x6E06 MOVWF R6 +0x266E 0x0E85 MOVLW 133 +0x2670 0x6E07 MOVWF R7 +0x2672 0xF000C309 MOVFF FLOC__show_pwr+4, R0 +0x2676 0xF001C30A MOVFF FLOC__show_pwr+5, R1 +0x267A 0xF002C30B MOVFF FLOC__show_pwr+6, R2 +0x267E 0xF003C30C MOVFF FLOC__show_pwr+7, R3 +0x2682 0xF00BECBE CALL _Div_32x32_FP, 0 +0x2686 0xF305C000 MOVFF R0, FLOC__show_pwr +0x268A 0xF306C001 MOVFF R1, FLOC__show_pwr+1 +0x268E 0xF307C002 MOVFF R2, FLOC__show_pwr+2 +0x2692 0xF308C003 MOVFF R3, FLOC__show_pwr+3 +0x2696 0xF004C309 MOVFF FLOC__show_pwr+4, R4 +0x269A 0xF005C30A MOVFF FLOC__show_pwr+5, R5 +0x269E 0xF006C30B MOVFF FLOC__show_pwr+6, R6 +0x26A2 0xF007C30C MOVFF FLOC__show_pwr+7, R7 +0x26A6 0x0E00 MOVLW 0 +0x26A8 0x6E00 MOVWF R0 +0x26AA 0x0E00 MOVLW 0 +0x26AC 0x6E01 MOVWF R1 +0x26AE 0x0E48 MOVLW 72 +0x26B0 0x6E02 MOVWF R2 +0x26B2 0x0E85 MOVLW 133 +0x26B4 0x6E03 MOVWF R3 +0x26B6 0xF00BECBE CALL _Div_32x32_FP, 0 +0x26BA 0xF004C305 MOVFF FLOC__show_pwr, R4 +0x26BE 0xF005C306 MOVFF FLOC__show_pwr+1, R5 +0x26C2 0xF006C307 MOVFF FLOC__show_pwr+2, R6 +0x26C6 0xF007C308 MOVFF FLOC__show_pwr+3, R7 +0x26CA 0xF00CEC7C CALL _Add_32x32_FP, 0 +0x26CE 0xF305C000 MOVFF R0, FLOC__show_pwr +0x26D2 0xF306C001 MOVFF R1, FLOC__show_pwr+1 +0x26D6 0xF307C002 MOVFF R2, FLOC__show_pwr+2 +0x26DA 0xF308C003 MOVFF R3, FLOC__show_pwr+3 +0x26DE 0xF000C294 MOVFF _Fid_loss, R0 +0x26E2 0xF00EEC8F CALL _byte2double, 0 +0x26E6 0xF004C305 MOVFF FLOC__show_pwr, R4 +0x26EA 0xF005C306 MOVFF FLOC__show_pwr+1, R5 +0x26EE 0xF006C307 MOVFF FLOC__show_pwr+2, R6 +0x26F2 0xF007C308 MOVFF FLOC__show_pwr+3, R7 +0x26F6 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x26FA 0x0E00 MOVLW 0 +0x26FC 0x6E04 MOVWF R4 +0x26FE 0x0E00 MOVLW 0 +0x2700 0x6E05 MOVWF R5 +0x2702 0x0E20 MOVLW 32 +0x2704 0x6E06 MOVWF R6 +0x2706 0x0E82 MOVLW 130 +0x2708 0x6E07 MOVWF R7 +0x270A 0xF00BECBE CALL _Div_32x32_FP, 0 +0x270E 0x0E1F MOVLW 31 +0x2710 0x6E04 MOVWF R4 +0x2712 0x0E85 MOVLW 133 +0x2714 0x6E05 MOVWF R5 +0x2716 0x0E6B MOVLW 107 +0x2718 0x6E06 MOVWF R6 +0x271A 0x0E7B MOVLW 123 +0x271C 0x6E07 MOVWF R7 +0x271E 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x2722 0x0E00 MOVLW 0 +0x2724 0x6E04 MOVWF R4 +0x2726 0x0E00 MOVLW 0 +0x2728 0x6E05 MOVWF R5 +0x272A 0x0E00 MOVLW 0 +0x272C 0x6E06 MOVWF R6 +0x272E 0x0E7F MOVLW 127 +0x2730 0x6E07 MOVWF R7 +0x2732 0xF00CEC7C CALL _Add_32x32_FP, 0 +0x2736 0xF004C000 MOVFF R0, R4 +0x273A 0xF005C001 MOVFF R1, R5 +0x273E 0xF006C002 MOVFF R2, R6 +0x2742 0xF007C003 MOVFF R3, R7 +0x2746 0x0E00 MOVLW 0 +0x2748 0x6E00 MOVWF R0 +0x274A 0x0E00 MOVLW 0 +0x274C 0x6E01 MOVWF R1 +0x274E 0x0E00 MOVLW 0 +0x2750 0x6E02 MOVWF R2 +0x2752 0x0E7F MOVLW 127 +0x2754 0x6E03 MOVWF R3 +0x2756 0xF00BECBE CALL _Div_32x32_FP, 0 +0x275A 0xF30DC000 MOVFF R0, FLOC__show_pwr+8 +0x275E 0xF30EC001 MOVFF R1, FLOC__show_pwr+9 +0x2762 0xF30FC002 MOVFF R2, FLOC__show_pwr+10 +0x2766 0xF310C003 MOVFF R3, FLOC__show_pwr+11 +0x276A 0xF2F7C30D MOVFF FLOC__show_pwr+8, show_pwr_a_L0 +0x276E 0xF2F8C30E MOVFF FLOC__show_pwr+9, show_pwr_a_L0+1 +0x2772 0xF2F9C30F MOVFF FLOC__show_pwr+10, show_pwr_a_L0+2 +0x2776 0xF2FAC310 MOVFF FLOC__show_pwr+11, show_pwr_a_L0+3 +;main.c,549 :: b = 4.0 / (2.0 + SWR/100.0 + 100.0/SWR); // SWR loss +0x277A 0xF000C2F5 MOVFF FARG_show_pwr_SWR, R0 +0x277E 0xF001C2F6 MOVFF FARG_show_pwr_SWR+1, R1 +0x2782 0xF005EC62 CALL _int2double, 0 +0x2786 0xF309C000 MOVFF R0, FLOC__show_pwr+4 +0x278A 0xF30AC001 MOVFF R1, FLOC__show_pwr+5 +0x278E 0xF30BC002 MOVFF R2, FLOC__show_pwr+6 +0x2792 0xF30CC003 MOVFF R3, FLOC__show_pwr+7 +0x2796 0x0E00 MOVLW 0 +0x2798 0x6E04 MOVWF R4 +0x279A 0x0E00 MOVLW 0 +0x279C 0x6E05 MOVWF R5 +0x279E 0x0E48 MOVLW 72 +0x27A0 0x6E06 MOVWF R6 +0x27A2 0x0E85 MOVLW 133 +0x27A4 0x6E07 MOVWF R7 +0x27A6 0xF000C309 MOVFF FLOC__show_pwr+4, R0 +0x27AA 0xF001C30A MOVFF FLOC__show_pwr+5, R1 +0x27AE 0xF002C30B MOVFF FLOC__show_pwr+6, R2 +0x27B2 0xF003C30C MOVFF FLOC__show_pwr+7, R3 +0x27B6 0xF00BECBE CALL _Div_32x32_FP, 0 +0x27BA 0x0E00 MOVLW 0 +0x27BC 0x6E04 MOVWF R4 +0x27BE 0x0E00 MOVLW 0 +0x27C0 0x6E05 MOVWF R5 +0x27C2 0x0E00 MOVLW 0 +0x27C4 0x6E06 MOVWF R6 +0x27C6 0x0E80 MOVLW 128 +0x27C8 0x6E07 MOVWF R7 +0x27CA 0xF00CEC7C CALL _Add_32x32_FP, 0 +0x27CE 0xF305C000 MOVFF R0, FLOC__show_pwr +0x27D2 0xF306C001 MOVFF R1, FLOC__show_pwr+1 +0x27D6 0xF307C002 MOVFF R2, FLOC__show_pwr+2 +0x27DA 0xF308C003 MOVFF R3, FLOC__show_pwr+3 +0x27DE 0xF004C309 MOVFF FLOC__show_pwr+4, R4 +0x27E2 0xF005C30A MOVFF FLOC__show_pwr+5, R5 +0x27E6 0xF006C30B MOVFF FLOC__show_pwr+6, R6 +0x27EA 0xF007C30C MOVFF FLOC__show_pwr+7, R7 +0x27EE 0x0E00 MOVLW 0 +0x27F0 0x6E00 MOVWF R0 +0x27F2 0x0E00 MOVLW 0 +0x27F4 0x6E01 MOVWF R1 +0x27F6 0x0E48 MOVLW 72 +0x27F8 0x6E02 MOVWF R2 +0x27FA 0x0E85 MOVLW 133 +0x27FC 0x6E03 MOVWF R3 +0x27FE 0xF00BECBE CALL _Div_32x32_FP, 0 +0x2802 0xF004C305 MOVFF FLOC__show_pwr, R4 +0x2806 0xF005C306 MOVFF FLOC__show_pwr+1, R5 +0x280A 0xF006C307 MOVFF FLOC__show_pwr+2, R6 +0x280E 0xF007C308 MOVFF FLOC__show_pwr+3, R7 +0x2812 0xF00CEC7C CALL _Add_32x32_FP, 0 +0x2816 0xF004C000 MOVFF R0, R4 +0x281A 0xF005C001 MOVFF R1, R5 +0x281E 0xF006C002 MOVFF R2, R6 +0x2822 0xF007C003 MOVFF R3, R7 +0x2826 0x0E00 MOVLW 0 +0x2828 0x6E00 MOVWF R0 +0x282A 0x0E00 MOVLW 0 +0x282C 0x6E01 MOVWF R1 +0x282E 0x0E00 MOVLW 0 +0x2830 0x6E02 MOVWF R2 +0x2832 0x0E81 MOVLW 129 +0x2834 0x6E03 MOVWF R3 +0x2836 0xF00BECBE CALL _Div_32x32_FP, 0 +0x283A 0xF2FBC000 MOVFF R0, show_pwr_b_L0 +0x283E 0xF2FCC001 MOVFF R1, show_pwr_b_L0+1 +0x2842 0xF2FDC002 MOVFF R2, show_pwr_b_L0+2 +0x2846 0xF2FEC003 MOVFF R3, show_pwr_b_L0+3 +;main.c,550 :: if(a>=1.0) a = 1.0; +0x284A 0x0E00 MOVLW 0 +0x284C 0x6E04 MOVWF R4 +0x284E 0x0E00 MOVLW 0 +0x2850 0x6E05 MOVWF R5 +0x2852 0x0E00 MOVLW 0 +0x2854 0x6E06 MOVWF R6 +0x2856 0x0E7F MOVLW 127 +0x2858 0x6E07 MOVWF R7 +0x285A 0xF000C30D MOVFF FLOC__show_pwr+8, R0 +0x285E 0xF001C30E MOVFF FLOC__show_pwr+9, R1 +0x2862 0xF002C30F MOVFF FLOC__show_pwr+10, R2 +0x2866 0xF003C310 MOVFF FLOC__show_pwr+11, R3 +0x286A 0xF00AECBB CALL _Compare_Double, 0 +0x286E 0x0E00 MOVLW 0 +0x2870 0xB0D8 BTFSC STATUS, 0 +0x2872 0x0E01 MOVLW 1 +0x2874 0x6E00 MOVWF R0 +0x2876 0x5200 MOVF R0, 1 +0x2878 0xE009 BZ L_show_pwr324 +0x287A 0x0E00 MOVLW 0 +0x287C 0x0102 MOVLB 2 +0x287E 0x6FF7 MOVWF show_pwr_a_L0, 1 +0x2880 0x0E00 MOVLW 0 +0x2882 0x6FF8 MOVWF show_pwr_a_L0+1, 1 +0x2884 0x0E00 MOVLW 0 +0x2886 0x6FF9 MOVWF show_pwr_a_L0+2, 1 +0x2888 0x0E7F MOVLW 127 +0x288A 0x6FFA MOVWF show_pwr_a_L0+3, 1 +L_show_pwr324: +;main.c,551 :: if(b>=1.0) b = 1.0; +0x288C 0x0E00 MOVLW 0 +0x288E 0x6E04 MOVWF R4 +0x2890 0x0E00 MOVLW 0 +0x2892 0x6E05 MOVWF R5 +0x2894 0x0E00 MOVLW 0 +0x2896 0x6E06 MOVWF R6 +0x2898 0x0E7F MOVLW 127 +0x289A 0x6E07 MOVWF R7 +0x289C 0xF000C2FB MOVFF show_pwr_b_L0, R0 +0x28A0 0xF001C2FC MOVFF show_pwr_b_L0+1, R1 +0x28A4 0xF002C2FD MOVFF show_pwr_b_L0+2, R2 +0x28A8 0xF003C2FE MOVFF show_pwr_b_L0+3, R3 +0x28AC 0xF00AECBB CALL _Compare_Double, 0 +0x28B0 0x0E00 MOVLW 0 +0x28B2 0xB0D8 BTFSC STATUS, 0 +0x28B4 0x0E01 MOVLW 1 +0x28B6 0x6E00 MOVWF R0 +0x28B8 0x5200 MOVF R0, 1 +0x28BA 0xE009 BZ L_show_pwr325 +0x28BC 0x0102 MOVLB 2 +0x28BE 0x0E00 MOVLW 0 +0x28C0 0x6FFB MOVWF show_pwr_b_L0, 1 +0x28C2 0x0E00 MOVLW 0 +0x28C4 0x6FFC MOVWF show_pwr_b_L0+1, 1 +0x28C6 0x0E00 MOVLW 0 +0x28C8 0x6FFD MOVWF show_pwr_b_L0+2, 1 +0x28CA 0x0E7F MOVLW 127 +0x28CC 0x6FFE MOVWF show_pwr_b_L0+3, 1 +L_show_pwr325: +;main.c,552 :: p_ant = Power * a * b; +0x28CE 0xF000C2F3 MOVFF FARG_show_pwr_Power, R0 +0x28D2 0xF001C2F4 MOVFF FARG_show_pwr_Power+1, R1 +0x28D6 0xF005EC62 CALL _int2double, 0 +0x28DA 0xF004C2F7 MOVFF show_pwr_a_L0, R4 +0x28DE 0xF005C2F8 MOVFF show_pwr_a_L0+1, R5 +0x28E2 0xF006C2F9 MOVFF show_pwr_a_L0+2, R6 +0x28E6 0xF007C2FA MOVFF show_pwr_a_L0+3, R7 +0x28EA 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x28EE 0xF004C2FB MOVFF show_pwr_b_L0, R4 +0x28F2 0xF005C2FC MOVFF show_pwr_b_L0+1, R5 +0x28F6 0xF006C2FD MOVFF show_pwr_b_L0+2, R6 +0x28FA 0xF007C2FE MOVFF show_pwr_b_L0+3, R7 +0x28FE 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x2902 0xF004ECE1 CALL _double2int, 0 +0x2906 0xF301C000 MOVFF R0, show_pwr_p_ant_L0 +0x290A 0xF302C001 MOVFF R1, show_pwr_p_ant_L0+1 +;main.c,553 :: eff = a * b * 100; +0x290E 0xF000C2F7 MOVFF show_pwr_a_L0, R0 +0x2912 0xF001C2F8 MOVFF show_pwr_a_L0+1, R1 +0x2916 0xF002C2F9 MOVFF show_pwr_a_L0+2, R2 +0x291A 0xF003C2FA MOVFF show_pwr_a_L0+3, R3 +0x291E 0xF004C2FB MOVFF show_pwr_b_L0, R4 +0x2922 0xF005C2FC MOVFF show_pwr_b_L0+1, R5 +0x2926 0xF006C2FD MOVFF show_pwr_b_L0+2, R6 +0x292A 0xF007C2FE MOVFF show_pwr_b_L0+3, R7 +0x292E 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x2932 0x0E00 MOVLW 0 +0x2934 0x6E04 MOVWF R4 +0x2936 0x0E00 MOVLW 0 +0x2938 0x6E05 MOVWF R5 +0x293A 0x0E48 MOVLW 72 +0x293C 0x6E06 MOVWF R6 +0x293E 0x0E85 MOVLW 133 +0x2940 0x6E07 MOVWF R7 +0x2942 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x2946 0xF004ECE1 CALL _double2int, 0 +0x294A 0xF303C000 MOVFF R0, show_pwr_eff_L0 +0x294E 0xF304C001 MOVFF R1, show_pwr_eff_L0+1 +;main.c,554 :: if(eff>=100) eff = 99; +0x2952 0x0E80 MOVLW 128 +0x2954 0x1801 XORWF R1, 0 +0x2956 0x6E02 MOVWF R2 +0x2958 0x0E80 MOVLW 128 +0x295A 0x5C02 SUBWF R2, 0 +0x295C 0xE102 BNZ L__show_pwr585 +0x295E 0x0E64 MOVLW 100 +0x2960 0x5C00 SUBWF R0, 0 +L__show_pwr585: +0x2962 0xE305 BNC L_show_pwr326 +0x2964 0x0E63 MOVLW 99 +0x2966 0x0103 MOVLB 3 +0x2968 0x6F03 MOVWF show_pwr_eff_L0, 1 +0x296A 0x0E00 MOVLW 0 +0x296C 0x6F04 MOVWF show_pwr_eff_L0+1, 1 +L_show_pwr326: +0x296E 0x0103 MOVLB 3 +;main.c,557 :: if(p_ant >= 100) { // > 10 W +0x2970 0x0E80 MOVLW 128 +0x2972 0x1902 XORWF show_pwr_p_ant_L0+1, 0, 1 +0x2974 0x6E00 MOVWF R0 +0x2976 0x0E80 MOVLW 128 +0x2978 0x5C00 SUBWF R0, 0 +0x297A 0xE102 BNZ L__show_pwr586 +0x297C 0x0E64 MOVLW 100 +0x297E 0x5D01 SUBWF show_pwr_p_ant_L0, 0, 1 +L__show_pwr586: +0x2980 0xE31E BNC L_show_pwr328 +;main.c,558 :: p_ant += 5; // rounding to 1 W +0x2982 0x0E05 MOVLW 5 +0x2984 0x2501 ADDWF show_pwr_p_ant_L0, 0, 1 +0x2986 0x6E00 MOVWF R0 +0x2988 0x0E00 MOVLW 0 +0x298A 0x2102 ADDWFC show_pwr_p_ant_L0+1, 0, 1 +0x298C 0x6E01 MOVWF R1 +0x298E 0xF301C000 MOVFF R0, show_pwr_p_ant_L0 +0x2992 0xF302C001 MOVFF R1, show_pwr_p_ant_L0+1 +;main.c,559 :: IntToStr(p_ant, work_str); +0x2996 0xF317C000 MOVFF R0, FARG_IntToStr_input +0x299A 0xF318C001 MOVFF R1, FARG_IntToStr_input+1 +0x299E 0x0EBB MOVLW _work_str +0x29A0 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x29A2 0x0E02 MOVLW hi_addr(_work_str) +0x29A4 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x29A6 0xF007EC41 CALL _IntToStr, 0 +;main.c,560 :: work_str_2[0] = work_str[2]; +0x29AA 0xF2C3C2BD MOVFF _work_str+2, _work_str_2 +;main.c,561 :: work_str_2[1] = work_str[3]; +0x29AE 0xF2C4C2BE MOVFF _work_str+3, _work_str_2+1 +;main.c,562 :: work_str_2[2] = work_str[4]; +0x29B2 0xF2C5C2BF MOVFF _work_str+4, _work_str_2+2 +;main.c,563 :: work_str_2[3] = 'W'; +0x29B6 0x0E57 MOVLW 87 +0x29B8 0x0102 MOVLB 2 +0x29BA 0x6FC6 MOVWF _work_str_2+3, 1 +;main.c,564 :: } +0x29BC 0xD020 BRA L_show_pwr329 +L_show_pwr328: +;main.c,566 :: IntToStr(p_ant, work_str); +0x29BE 0xF317C301 MOVFF show_pwr_p_ant_L0, FARG_IntToStr_input +0x29C2 0xF318C302 MOVFF show_pwr_p_ant_L0+1, FARG_IntToStr_input+1 +0x29C6 0x0EBB MOVLW _work_str +0x29C8 0x0103 MOVLB 3 +0x29CA 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x29CC 0x0E02 MOVLW hi_addr(_work_str) +0x29CE 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x29D0 0xF007EC41 CALL _IntToStr, 0 +;main.c,567 :: if(work_str[4] != ' ') work_str_2[0] = work_str[4]; else work_str_2[0] = '0'; +0x29D4 0x0102 MOVLB 2 +0x29D6 0x51BF MOVF _work_str+4, 0, 1 +0x29D8 0x0A20 XORLW 32 +0x29DA 0xE003 BZ L_show_pwr330 +0x29DC 0xF2C3C2BF MOVFF _work_str+4, _work_str_2 +0x29E0 0xD002 BRA L_show_pwr331 +L_show_pwr330: +0x29E2 0x0E30 MOVLW 48 +0x29E4 0x6FC3 MOVWF _work_str_2, 1 +L_show_pwr331: +;main.c,568 :: work_str_2[1] = '.'; +0x29E6 0x0E2E MOVLW 46 +0x29E8 0x6FC4 MOVWF _work_str_2+1, 1 +;main.c,569 :: if(work_str[5] != ' ') work_str_2[2] = work_str[5]; else work_str_2[2] = '0'; +0x29EA 0x51C0 MOVF _work_str+5, 0, 1 +0x29EC 0x0A20 XORLW 32 +0x29EE 0xE003 BZ L_show_pwr332 +0x29F0 0xF2C5C2C0 MOVFF _work_str+5, _work_str_2+2 +0x29F4 0xD002 BRA L_show_pwr333 +L_show_pwr332: +0x29F6 0x0E30 MOVLW 48 +0x29F8 0x6FC5 MOVWF _work_str_2+2, 1 +L_show_pwr333: +;main.c,570 :: work_str_2[3] = 'W'; +0x29FA 0x0E57 MOVLW 87 +0x29FC 0x6FC6 MOVWF _work_str_2+3, 1 +;main.c,571 :: } +L_show_pwr329: +;main.c,573 :: if(type==4 | type==5) led_wr_str (4, 16+4*12, work_str_2, 4); // 128*64 OLED +0x29FE 0x51C2 MOVF _type, 0, 1 +0x2A00 0x0A04 XORLW 4 +0x2A02 0x0E01 MOVLW 1 +0x2A04 0xA4D8 BTFSS STATUS, 2 +0x2A06 0x0E00 MOVLW 0 +0x2A08 0x6E01 MOVWF R1 +0x2A0A 0x51C2 MOVF _type, 0, 1 +0x2A0C 0x0A05 XORLW 5 +0x2A0E 0x0E01 MOVLW 1 +0x2A10 0xA4D8 BTFSS STATUS, 2 +0x2A12 0x0E00 MOVLW 0 +0x2A14 0x6E00 MOVWF R0 +0x2A16 0x5001 MOVF R1, 0 +0x2A18 0x1200 IORWF R0, 1 +0x2A1A 0xE00E BZ L_show_pwr334 +0x2A1C 0x0E04 MOVLW 4 +0x2A1E 0x0103 MOVLB 3 +0x2A20 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x2A22 0x0E40 MOVLW 64 +0x2A24 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2A26 0x0EC3 MOVLW _work_str_2 +0x2A28 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2A2A 0x0E02 MOVLW hi_addr(_work_str_2) +0x2A2C 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x2A2E 0x0E04 MOVLW 4 +0x2A30 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2A32 0xF007ECAF CALL _led_wr_str, 0 +0x2A36 0xD02D BRA L_show_pwr335 +L_show_pwr334: +;main.c,574 :: else if(type==2 | type==3) led_wr_str (0, 13, work_str_2, 4); // 128*32 +0x2A38 0x0102 MOVLB 2 +0x2A3A 0x51C2 MOVF _type, 0, 1 +0x2A3C 0x0A02 XORLW 2 +0x2A3E 0x0E01 MOVLW 1 +0x2A40 0xA4D8 BTFSS STATUS, 2 +0x2A42 0x0E00 MOVLW 0 +0x2A44 0x6E01 MOVWF R1 +0x2A46 0x51C2 MOVF _type, 0, 1 +0x2A48 0x0A03 XORLW 3 +0x2A4A 0x0E01 MOVLW 1 +0x2A4C 0xA4D8 BTFSS STATUS, 2 +0x2A4E 0x0E00 MOVLW 0 +0x2A50 0x6E00 MOVWF R0 +0x2A52 0x5001 MOVF R1, 0 +0x2A54 0x1200 IORWF R0, 1 +0x2A56 0xE00D BZ L_show_pwr336 +0x2A58 0x0103 MOVLB 3 +0x2A5A 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x2A5C 0x0E0D MOVLW 13 +0x2A5E 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2A60 0x0EC3 MOVLW _work_str_2 +0x2A62 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2A64 0x0E02 MOVLW hi_addr(_work_str_2) +0x2A66 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x2A68 0x0E04 MOVLW 4 +0x2A6A 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2A6C 0xF007ECAF CALL _led_wr_str, 0 +0x2A70 0xD010 BRA L_show_pwr337 +L_show_pwr336: +;main.c,575 :: else if(type==1) led_wr_str (0, 12, work_str_2, 4); // 1602 +0x2A72 0x0102 MOVLB 2 +0x2A74 0x51C2 MOVF _type, 0, 1 +0x2A76 0x0A01 XORLW 1 +0x2A78 0xE10C BNZ L_show_pwr338 +0x2A7A 0x0103 MOVLB 3 +0x2A7C 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x2A7E 0x0E0C MOVLW 12 +0x2A80 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2A82 0x0EC3 MOVLW _work_str_2 +0x2A84 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2A86 0x0E02 MOVLW hi_addr(_work_str_2) +0x2A88 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x2A8A 0x0E04 MOVLW 4 +0x2A8C 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2A8E 0xF007ECAF CALL _led_wr_str, 0 +L_show_pwr338: +L_show_pwr337: +L_show_pwr335: +;main.c,577 :: IntToStr(eff, work_str); +0x2A92 0xF317C303 MOVFF show_pwr_eff_L0, FARG_IntToStr_input +0x2A96 0xF318C304 MOVFF show_pwr_eff_L0+1, FARG_IntToStr_input+1 +0x2A9A 0x0EBB MOVLW _work_str +0x2A9C 0x0103 MOVLB 3 +0x2A9E 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x2AA0 0x0E02 MOVLW hi_addr(_work_str) +0x2AA2 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x2AA4 0xF007EC41 CALL _IntToStr, 0 +;main.c,578 :: work_str_2[0] = work_str[4]; +0x2AA8 0xF2C3C2BF MOVFF _work_str+4, _work_str_2 +;main.c,579 :: work_str_2[1] = work_str[5]; +0x2AAC 0xF2C4C2C0 MOVFF _work_str+5, _work_str_2+1 +;main.c,580 :: if(type==4 | type==5) led_wr_str(6, 16+5*12, work_str_2, 2); +0x2AB0 0x0102 MOVLB 2 +0x2AB2 0x51C2 MOVF _type, 0, 1 +0x2AB4 0x0A04 XORLW 4 +0x2AB6 0x0E01 MOVLW 1 +0x2AB8 0xA4D8 BTFSS STATUS, 2 +0x2ABA 0x0E00 MOVLW 0 +0x2ABC 0x6E01 MOVWF R1 +0x2ABE 0x51C2 MOVF _type, 0, 1 +0x2AC0 0x0A05 XORLW 5 +0x2AC2 0x0E01 MOVLW 1 +0x2AC4 0xA4D8 BTFSS STATUS, 2 +0x2AC6 0x0E00 MOVLW 0 +0x2AC8 0x6E00 MOVWF R0 +0x2ACA 0x5001 MOVF R1, 0 +0x2ACC 0x1200 IORWF R0, 1 +0x2ACE 0xE00E BZ L_show_pwr339 +0x2AD0 0x0E06 MOVLW 6 +0x2AD2 0x0103 MOVLB 3 +0x2AD4 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x2AD6 0x0E4C MOVLW 76 +0x2AD8 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2ADA 0x0EC3 MOVLW _work_str_2 +0x2ADC 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2ADE 0x0E02 MOVLW hi_addr(_work_str_2) +0x2AE0 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x2AE2 0x0E02 MOVLW 2 +0x2AE4 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2AE6 0xF007ECAF CALL _led_wr_str, 0 +0x2AEA 0xD02F BRA L_show_pwr340 +L_show_pwr339: +;main.c,581 :: else if(type==2 | type==3) led_wr_str(1, 14, work_str_2, 2); +0x2AEC 0x0102 MOVLB 2 +0x2AEE 0x51C2 MOVF _type, 0, 1 +0x2AF0 0x0A02 XORLW 2 +0x2AF2 0x0E01 MOVLW 1 +0x2AF4 0xA4D8 BTFSS STATUS, 2 +0x2AF6 0x0E00 MOVLW 0 +0x2AF8 0x6E01 MOVWF R1 +0x2AFA 0x51C2 MOVF _type, 0, 1 +0x2AFC 0x0A03 XORLW 3 +0x2AFE 0x0E01 MOVLW 1 +0x2B00 0xA4D8 BTFSS STATUS, 2 +0x2B02 0x0E00 MOVLW 0 +0x2B04 0x6E00 MOVWF R0 +0x2B06 0x5001 MOVF R1, 0 +0x2B08 0x1200 IORWF R0, 1 +0x2B0A 0xE00E BZ L_show_pwr341 +0x2B0C 0x0E01 MOVLW 1 +0x2B0E 0x0103 MOVLB 3 +0x2B10 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x2B12 0x0E0E MOVLW 14 +0x2B14 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2B16 0x0EC3 MOVLW _work_str_2 +0x2B18 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2B1A 0x0E02 MOVLW hi_addr(_work_str_2) +0x2B1C 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x2B1E 0x0E02 MOVLW 2 +0x2B20 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2B22 0xF007ECAF CALL _led_wr_str, 0 +0x2B26 0xD011 BRA L_show_pwr342 +L_show_pwr341: +;main.c,582 :: else if(type==1) led_wr_str(1, 13, work_str_2, 2); +0x2B28 0x0102 MOVLB 2 +0x2B2A 0x51C2 MOVF _type, 0, 1 +0x2B2C 0x0A01 XORLW 1 +0x2B2E 0xE10D BNZ L_show_pwr343 +0x2B30 0x0E01 MOVLW 1 +0x2B32 0x0103 MOVLB 3 +0x2B34 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x2B36 0x0E0D MOVLW 13 +0x2B38 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2B3A 0x0EC3 MOVLW _work_str_2 +0x2B3C 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2B3E 0x0E02 MOVLW hi_addr(_work_str_2) +0x2B40 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x2B42 0x0E02 MOVLW 2 +0x2B44 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2B46 0xF007ECAF CALL _led_wr_str, 0 +L_show_pwr343: +L_show_pwr342: +L_show_pwr340: +;main.c,583 :: } +L_show_pwr322: +;main.c,584 :: } +L_show_pwr311: +;main.c,585 :: asm CLRWDT; +0x2B4A 0x0004 CLRWDT +;main.c,586 :: return; +;main.c,587 :: } +L_end_show_pwr: +0x2B4C 0x0012 RETURN 0 +; end of _show_pwr +_dysp_on: +;oled_control.c,200 :: void dysp_on() { +;oled_control.c,201 :: if(led_type > 1) send_command(0xAF); // display ON +0x2B4E 0x0102 MOVLB 2 +0x2B50 0x51AB MOVF oled_control_led_type, 0, 1 +0x2B52 0x0801 SUBLW 1 +0x2B54 0xE205 BC L_dysp_on34 +0x2B56 0x0EAF MOVLW 175 +0x2B58 0x6FFF MOVWF FARG_send_command_oled_command, 1 +0x2B5A 0xF008EC2A CALL _send_command, 0 +0x2B5E 0xD00E BRA L_dysp_on35 +L_dysp_on34: +;oled_control.c,202 :: else if(led_type==1) { +0x2B60 0x51AB MOVF oled_control_led_type, 0, 1 +0x2B62 0x0A01 XORLW 1 +0x2B64 0xE10B BNZ L_dysp_on36 +;oled_control.c,203 :: LED = 1; +0x2B66 0x0E01 MOVLW 1 +0x2B68 0x6FB5 MOVWF oled_control_LED, 1 +;oled_control.c,204 :: RS = 0; +0x2B6A 0x6BB4 CLRF oled_control_RS, 1 +;oled_control.c,205 :: led_send(0); +0x2B6C 0x0103 MOVLB 3 +0x2B6E 0x6B21 CLRF FARG_led_send_nible, 1 +0x2B70 0xF001EC90 CALL _led_send, 0 +;oled_control.c,206 :: led_send(0); +0x2B74 0x0103 MOVLB 3 +0x2B76 0x6B21 CLRF FARG_led_send_nible, 1 +0x2B78 0xF001EC90 CALL _led_send, 0 +;oled_control.c,207 :: } +L_dysp_on36: +L_dysp_on35: +;oled_control.c,208 :: } +L_end_dysp_on: +0x2B7C 0x0012 RETURN 0 +; end of _dysp_on +_lcd_swr: +;main.c,439 :: void lcd_swr(int swr) { +;main.c,440 :: asm CLRWDT; +0x2B7E 0x0004 CLRWDT +;main.c,441 :: if(swr!=SWR_old) { +0x2B80 0x0102 MOVLB 2 +0x2B82 0x51F4 MOVF FARG_lcd_swr_swr+1, 0, 1 +0x2B84 0x1911 XORWF _SWR_old+1, 0, 1 +0x2B86 0xE102 BNZ L__lcd_swr572 +0x2B88 0x5110 MOVF _SWR_old, 0, 1 +0x2B8A 0x19F3 XORWF FARG_lcd_swr_swr, 0, 1 +L__lcd_swr572: +0x2B8C 0xB4D8 BTFSC STATUS, 2 +0x2B8E 0xD105 BRA L_lcd_swr272 +;main.c,442 :: SWR_old = swr; +0x2B90 0xF210C2F3 MOVFF FARG_lcd_swr_swr, _SWR_old +0x2B94 0xF211C2F4 MOVFF FARG_lcd_swr_swr+1, _SWR_old+1 +;main.c,443 :: if(swr==1) { // Low power +0x2B98 0x0E00 MOVLW 0 +0x2B9A 0x19F4 XORWF FARG_lcd_swr_swr+1, 0, 1 +0x2B9C 0xE102 BNZ L__lcd_swr573 +0x2B9E 0x0E01 MOVLW 1 +0x2BA0 0x19F3 XORWF FARG_lcd_swr_swr, 0, 1 +L__lcd_swr573: +0x2BA2 0xE14E BNZ L_lcd_swr273 +;main.c,444 :: if(type==4 | type==5) led_wr_str (2, 16+4*12, "0.00", 4); // 128*64 OLED +0x2BA4 0x51C2 MOVF _type, 0, 1 +0x2BA6 0x0A04 XORLW 4 +0x2BA8 0x0E01 MOVLW 1 +0x2BAA 0xA4D8 BTFSS STATUS, 2 +0x2BAC 0x0E00 MOVLW 0 +0x2BAE 0x6E01 MOVWF R1 +0x2BB0 0x51C2 MOVF _type, 0, 1 +0x2BB2 0x0A05 XORLW 5 +0x2BB4 0x0E01 MOVLW 1 +0x2BB6 0xA4D8 BTFSS STATUS, 2 +0x2BB8 0x0E00 MOVLW 0 +0x2BBA 0x6E00 MOVWF R0 +0x2BBC 0x5001 MOVF R1, 0 +0x2BBE 0x1200 IORWF R0, 1 +0x2BC0 0xE00E BZ L_lcd_swr274 +0x2BC2 0x0E02 MOVLW 2 +0x2BC4 0x0103 MOVLB 3 +0x2BC6 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x2BC8 0x0E40 MOVLW 64 +0x2BCA 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2BCC 0x0E06 MOVLW ?lstr48_main +0x2BCE 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2BD0 0x0E02 MOVLW hi_addr(?lstr48_main) +0x2BD2 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x2BD4 0x0E04 MOVLW 4 +0x2BD6 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2BD8 0xF007ECAF CALL _led_wr_str, 0 +0x2BDC 0xD02A BRA L_lcd_swr275 +L_lcd_swr274: +;main.c,445 :: else if(type!=0 & type!=6) led_wr_str (1, 4, "0.00", 4); // 1602 & 128*32 OLED +0x2BDE 0x0102 MOVLB 2 +0x2BE0 0x51C2 MOVF _type, 0, 1 +0x2BE2 0x0A00 XORLW 0 +0x2BE4 0x0E00 MOVLW 0 +0x2BE6 0xA4D8 BTFSS STATUS, 2 +0x2BE8 0x0E01 MOVLW 1 +0x2BEA 0x6E01 MOVWF R1 +0x2BEC 0x51C2 MOVF _type, 0, 1 +0x2BEE 0x0A06 XORLW 6 +0x2BF0 0x0E00 MOVLW 0 +0x2BF2 0xA4D8 BTFSS STATUS, 2 +0x2BF4 0x0E01 MOVLW 1 +0x2BF6 0x6E00 MOVWF R0 +0x2BF8 0x5001 MOVF R1, 0 +0x2BFA 0x1600 ANDWF R0, 1 +0x2BFC 0xE00E BZ L_lcd_swr276 +0x2BFE 0x0E01 MOVLW 1 +0x2C00 0x0103 MOVLB 3 +0x2C02 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x2C04 0x0E04 MOVLW 4 +0x2C06 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2C08 0x0E0B MOVLW ?lstr49_main +0x2C0A 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2C0C 0x0E02 MOVLW hi_addr(?lstr49_main) +0x2C0E 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x2C10 0x0E04 MOVLW 4 +0x2C12 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2C14 0xF007ECAF CALL _led_wr_str, 0 +0x2C18 0xD00C BRA L_lcd_swr277 +L_lcd_swr276: +;main.c,446 :: else if(type==0) { // real-time 2-colors led work +0x2C1A 0x0102 MOVLB 2 +0x2C1C 0x51C2 MOVF _type, 0, 1 +0x2C1E 0x0A00 XORLW 0 +0x2C20 0xE103 BNZ L_lcd_swr278 +;main.c,447 :: LATB.B6 = 1; +0x2C22 0x8C8A BSF LATB, 6 +;main.c,448 :: LATB.B7 = 1; +0x2C24 0x8E8A BSF LATB, 7 +;main.c,449 :: } +0x2C26 0xD005 BRA L_lcd_swr279 +L_lcd_swr278: +;main.c,450 :: else if(type==6){ +0x2C28 0x51C2 MOVF _type, 0, 1 +0x2C2A 0x0A06 XORLW 6 +0x2C2C 0xE102 BNZ L_lcd_swr280 +;main.c,451 :: LATB.B6 = 0; +0x2C2E 0x9C8A BCF LATB, 6 +;main.c,452 :: LATB.B7 = 0; +0x2C30 0x9E8A BCF LATB, 7 +;main.c,453 :: } +L_lcd_swr280: +L_lcd_swr279: +L_lcd_swr277: +L_lcd_swr275: +0x2C32 0x0102 MOVLB 2 +;main.c,454 :: Low = 0; +0x2C34 0x908B BCF LATC0_bit, BitPos(LATC0_bit+0) +;main.c,455 :: Mid = 0; +0x2C36 0x9C8B BCF LATC6_bit, BitPos(LATC6_bit+0) +;main.c,456 :: High = 0; +0x2C38 0x9E8B BCF LATC7_bit, BitPos(LATC7_bit+0) +;main.c,457 :: SWR_old = 0; +0x2C3A 0x6B10 CLRF _SWR_old, 1 +0x2C3C 0x6B11 CLRF _SWR_old+1, 1 +;main.c,458 :: } +0x2C3E 0xD0AD BRA L_lcd_swr281 +L_lcd_swr273: +;main.c,460 :: SWR_old = swr; +0x2C40 0xF210C2F3 MOVFF FARG_lcd_swr_swr, _SWR_old +0x2C44 0xF211C2F4 MOVFF FARG_lcd_swr_swr+1, _SWR_old+1 +;main.c,461 :: IntToStr(swr, work_str); +0x2C48 0xF317C2F3 MOVFF FARG_lcd_swr_swr, FARG_IntToStr_input +0x2C4C 0xF318C2F4 MOVFF FARG_lcd_swr_swr+1, FARG_IntToStr_input+1 +0x2C50 0x0EBB MOVLW _work_str +0x2C52 0x0103 MOVLB 3 +0x2C54 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x2C56 0x0E02 MOVLW hi_addr(_work_str) +0x2C58 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x2C5A 0xF007EC41 CALL _IntToStr, 0 +;main.c,462 :: work_str_2[0] = work_str[3]; +0x2C5E 0xF2C3C2BE MOVFF _work_str+3, _work_str_2 +;main.c,463 :: work_str_2[1] = '.'; +0x2C62 0x0E2E MOVLW 46 +0x2C64 0x0102 MOVLB 2 +0x2C66 0x6FC4 MOVWF _work_str_2+1, 1 +;main.c,464 :: work_str_2[2] = work_str[4]; +0x2C68 0xF2C5C2BF MOVFF _work_str+4, _work_str_2+2 +;main.c,465 :: work_str_2[3] = work_str[5]; +0x2C6C 0xF2C6C2C0 MOVFF _work_str+5, _work_str_2+3 +;main.c,466 :: if(type==4 | type==5) led_wr_str (2, 16+4*12, work_str_2, 4); // 128*64 OLED +0x2C70 0x51C2 MOVF _type, 0, 1 +0x2C72 0x0A04 XORLW 4 +0x2C74 0x0E01 MOVLW 1 +0x2C76 0xA4D8 BTFSS STATUS, 2 +0x2C78 0x0E00 MOVLW 0 +0x2C7A 0x6E01 MOVWF R1 +0x2C7C 0x51C2 MOVF _type, 0, 1 +0x2C7E 0x0A05 XORLW 5 +0x2C80 0x0E01 MOVLW 1 +0x2C82 0xA4D8 BTFSS STATUS, 2 +0x2C84 0x0E00 MOVLW 0 +0x2C86 0x6E00 MOVWF R0 +0x2C88 0x5001 MOVF R1, 0 +0x2C8A 0x1200 IORWF R0, 1 +0x2C8C 0xE00E BZ L_lcd_swr282 +0x2C8E 0x0E02 MOVLW 2 +0x2C90 0x0103 MOVLB 3 +0x2C92 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x2C94 0x0E40 MOVLW 64 +0x2C96 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2C98 0x0EC3 MOVLW _work_str_2 +0x2C9A 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2C9C 0x0E02 MOVLW hi_addr(_work_str_2) +0x2C9E 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x2CA0 0x0E04 MOVLW 4 +0x2CA2 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2CA4 0xF007ECAF CALL _led_wr_str, 0 +0x2CA8 0xD05A BRA L_lcd_swr283 +L_lcd_swr282: +;main.c,467 :: else if(type!=0 & type!=6) led_wr_str (1, 4, work_str_2, 4); // 1602 & 128*32 +0x2CAA 0x0102 MOVLB 2 +0x2CAC 0x51C2 MOVF _type, 0, 1 +0x2CAE 0x0A00 XORLW 0 +0x2CB0 0x0E00 MOVLW 0 +0x2CB2 0xA4D8 BTFSS STATUS, 2 +0x2CB4 0x0E01 MOVLW 1 +0x2CB6 0x6E01 MOVWF R1 +0x2CB8 0x51C2 MOVF _type, 0, 1 +0x2CBA 0x0A06 XORLW 6 +0x2CBC 0x0E00 MOVLW 0 +0x2CBE 0xA4D8 BTFSS STATUS, 2 +0x2CC0 0x0E01 MOVLW 1 +0x2CC2 0x6E00 MOVWF R0 +0x2CC4 0x5001 MOVF R1, 0 +0x2CC6 0x1600 ANDWF R0, 1 +0x2CC8 0xE00E BZ L_lcd_swr284 +0x2CCA 0x0E01 MOVLW 1 +0x2CCC 0x0103 MOVLB 3 +0x2CCE 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x2CD0 0x0E04 MOVLW 4 +0x2CD2 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x2CD4 0x0EC3 MOVLW _work_str_2 +0x2CD6 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x2CD8 0x0E02 MOVLW hi_addr(_work_str_2) +0x2CDA 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x2CDC 0x0E04 MOVLW 4 +0x2CDE 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x2CE0 0xF007ECAF CALL _led_wr_str, 0 +0x2CE4 0xD03C BRA L_lcd_swr285 +L_lcd_swr284: +;main.c,468 :: else if(type==0) { // real-time 2-colors led work +0x2CE6 0x0102 MOVLB 2 +0x2CE8 0x51C2 MOVF _type, 0, 1 +0x2CEA 0x0A00 XORLW 0 +0x2CEC 0xE11B BNZ L_lcd_swr286 +;main.c,469 :: if(swr<=150) { LATB.B6 = 0; LATB.B7 = 1; } // Green +0x2CEE 0x0E80 MOVLW 128 +0x2CF0 0x6E00 MOVWF R0 +0x2CF2 0x0E80 MOVLW 128 +0x2CF4 0x19F4 XORWF FARG_lcd_swr_swr+1, 0, 1 +0x2CF6 0x5C00 SUBWF R0, 0 +0x2CF8 0xE102 BNZ L__lcd_swr574 +0x2CFA 0x51F3 MOVF FARG_lcd_swr_swr, 0, 1 +0x2CFC 0x0896 SUBLW 150 +L__lcd_swr574: +0x2CFE 0xE303 BNC L_lcd_swr287 +0x2D00 0x9C8A BCF LATB, 6 +0x2D02 0x8E8A BSF LATB, 7 +0x2D04 0xD00E BRA L_lcd_swr288 +L_lcd_swr287: +;main.c,470 :: else if(swr<=250) {PORTB.B6 = 0; PORTB.B7 = 0;} // Orange +0x2D06 0x0E80 MOVLW 128 +0x2D08 0x6E00 MOVWF R0 +0x2D0A 0x0E80 MOVLW 128 +0x2D0C 0x19F4 XORWF FARG_lcd_swr_swr+1, 0, 1 +0x2D0E 0x5C00 SUBWF R0, 0 +0x2D10 0xE102 BNZ L__lcd_swr575 +0x2D12 0x51F3 MOVF FARG_lcd_swr_swr, 0, 1 +0x2D14 0x08FA SUBLW 250 +L__lcd_swr575: +0x2D16 0xE303 BNC L_lcd_swr289 +0x2D18 0x9C81 BCF PORTB, 6 +0x2D1A 0x9E81 BCF PORTB, 7 +0x2D1C 0xD002 BRA L_lcd_swr290 +L_lcd_swr289: +;main.c,471 :: else { PORTB.B6 = 1; PORTB.B7 = 0; } // Red +0x2D1E 0x8C81 BSF PORTB, 6 +0x2D20 0x9E81 BCF PORTB, 7 +L_lcd_swr290: +L_lcd_swr288: +;main.c,472 :: } +0x2D22 0xD01D BRA L_lcd_swr291 +L_lcd_swr286: +;main.c,473 :: else if(type==6){ +0x2D24 0x51C2 MOVF _type, 0, 1 +0x2D26 0x0A06 XORLW 6 +0x2D28 0xE11A BNZ L_lcd_swr292 +;main.c,474 :: if(swr<=150) { LATB.B6 = 1; LATB.B7 = 0; } // Green +0x2D2A 0x0E80 MOVLW 128 +0x2D2C 0x6E00 MOVWF R0 +0x2D2E 0x0E80 MOVLW 128 +0x2D30 0x19F4 XORWF FARG_lcd_swr_swr+1, 0, 1 +0x2D32 0x5C00 SUBWF R0, 0 +0x2D34 0xE102 BNZ L__lcd_swr576 +0x2D36 0x51F3 MOVF FARG_lcd_swr_swr, 0, 1 +0x2D38 0x0896 SUBLW 150 +L__lcd_swr576: +0x2D3A 0xE303 BNC L_lcd_swr293 +0x2D3C 0x8C8A BSF LATB, 6 +0x2D3E 0x9E8A BCF LATB, 7 +0x2D40 0xD00E BRA L_lcd_swr294 +L_lcd_swr293: +;main.c,475 :: else if(swr<=250) {PORTB.B6 = 1; PORTB.B7 = 1;} // Orange +0x2D42 0x0E80 MOVLW 128 +0x2D44 0x6E00 MOVWF R0 +0x2D46 0x0E80 MOVLW 128 +0x2D48 0x19F4 XORWF FARG_lcd_swr_swr+1, 0, 1 +0x2D4A 0x5C00 SUBWF R0, 0 +0x2D4C 0xE102 BNZ L__lcd_swr577 +0x2D4E 0x51F3 MOVF FARG_lcd_swr_swr, 0, 1 +0x2D50 0x08FA SUBLW 250 +L__lcd_swr577: +0x2D52 0xE303 BNC L_lcd_swr295 +0x2D54 0x8C81 BSF PORTB, 6 +0x2D56 0x8E81 BSF PORTB, 7 +0x2D58 0xD002 BRA L_lcd_swr296 +L_lcd_swr295: +;main.c,476 :: else { PORTB.B6 = 0; PORTB.B7 = 1; } // Red +0x2D5A 0x9C81 BCF PORTB, 6 +0x2D5C 0x8E81 BSF PORTB, 7 +L_lcd_swr296: +L_lcd_swr294: +;main.c,477 :: } +L_lcd_swr292: +L_lcd_swr291: +L_lcd_swr285: +L_lcd_swr283: +0x2D5E 0x0102 MOVLB 2 +;main.c,478 :: if(SWR<=150) {Low = 1; Mid = 0; High = 0;} +0x2D60 0x0E80 MOVLW 128 +0x2D62 0x6E00 MOVWF R0 +0x2D64 0x0E80 MOVLW 128 +0x2D66 0x19F4 XORWF FARG_lcd_swr_swr+1, 0, 1 +0x2D68 0x5C00 SUBWF R0, 0 +0x2D6A 0xE102 BNZ L__lcd_swr578 +0x2D6C 0x51F3 MOVF FARG_lcd_swr_swr, 0, 1 +0x2D6E 0x0896 SUBLW 150 +L__lcd_swr578: +0x2D70 0xE304 BNC L_lcd_swr297 +0x2D72 0x808B BSF LATC0_bit, BitPos(LATC0_bit+0) +0x2D74 0x9C8B BCF LATC6_bit, BitPos(LATC6_bit+0) +0x2D76 0x9E8B BCF LATC7_bit, BitPos(LATC7_bit+0) +0x2D78 0xD010 BRA L_lcd_swr298 +L_lcd_swr297: +;main.c,479 :: else if(SWR<=250) {Low = 0; Mid = 1; High = 0;} +0x2D7A 0x0E80 MOVLW 128 +0x2D7C 0x6E00 MOVWF R0 +0x2D7E 0x0E80 MOVLW 128 +0x2D80 0x19F4 XORWF FARG_lcd_swr_swr+1, 0, 1 +0x2D82 0x5C00 SUBWF R0, 0 +0x2D84 0xE102 BNZ L__lcd_swr579 +0x2D86 0x51F3 MOVF FARG_lcd_swr_swr, 0, 1 +0x2D88 0x08FA SUBLW 250 +L__lcd_swr579: +0x2D8A 0xE304 BNC L_lcd_swr299 +0x2D8C 0x908B BCF LATC0_bit, BitPos(LATC0_bit+0) +0x2D8E 0x8C8B BSF LATC6_bit, BitPos(LATC6_bit+0) +0x2D90 0x9E8B BCF LATC7_bit, BitPos(LATC7_bit+0) +0x2D92 0xD003 BRA L_lcd_swr300 +L_lcd_swr299: +;main.c,480 :: else {Low = 0; Mid = 0; High = 1; } +0x2D94 0x908B BCF LATC0_bit, BitPos(LATC0_bit+0) +0x2D96 0x9C8B BCF LATC6_bit, BitPos(LATC6_bit+0) +0x2D98 0x8E8B BSF LATC7_bit, BitPos(LATC7_bit+0) +L_lcd_swr300: +L_lcd_swr298: +;main.c,481 :: } +L_lcd_swr281: +;main.c,482 :: } +L_lcd_swr272: +;main.c,483 :: asm CLRWDT; +0x2D9A 0x0004 CLRWDT +;main.c,484 :: return; +;main.c,485 :: } +L_end_lcd_swr: +0x2D9C 0x0012 RETURN 0 +; end of _lcd_swr +_EEPROM_Write: +;__Lib_EEPROM_256.c,21 :: +;__Lib_EEPROM_256.c,24 :: +L_EEPROM_Write0: +0x2D9E 0xA2A6 BTFSS EECON1, 1 +0x2DA0 0xD002 BRA L_EEPROM_Write1 +;__Lib_EEPROM_256.c,25 :: +0x2DA2 0x0000 NOP +0x2DA4 0xD7FC BRA L_EEPROM_Write0 +L_EEPROM_Write1: +;__Lib_EEPROM_256.c,26 :: +0x2DA6 0x9CA6 BCF EECON1, 6 +;__Lib_EEPROM_256.c,27 :: +0x2DA8 0xFFA9C2EB MOVFF FARG_EEPROM_Write_address, EEADR +;__Lib_EEPROM_256.c,28 :: +0x2DAC 0xFFA8C2EC MOVFF FARG_EEPROM_Write_data_, EEDATA +;__Lib_EEPROM_256.c,29 :: +0x2DB0 0x9EA6 BCF EECON1, 7 +;__Lib_EEPROM_256.c,30 :: +0x2DB2 0x84A6 BSF EECON1, 2 +;__Lib_EEPROM_256.c,32 :: +0x2DB4 0xF000CFF2 MOVFF INTCON, R0 +;__Lib_EEPROM_256.c,35 :: +0x2DB8 0x9EF2 BCF INTCON, 7 +;__Lib_EEPROM_256.c,36 :: +0x2DBA 0x0E55 MOVLW 85 +0x2DBC 0x6EA7 MOVWF EECON2 +;__Lib_EEPROM_256.c,37 :: +0x2DBE 0x0EAA MOVLW 170 +0x2DC0 0x6EA7 MOVWF EECON2 +;__Lib_EEPROM_256.c,38 :: +0x2DC2 0x82A6 BSF EECON1, 1 +;__Lib_EEPROM_256.c,42 :: +0x2DC4 0xBE00 BTFSC R0, 7 +0x2DC6 0xD002 BRA L__EEPROM_Write6 +0x2DC8 0x9EF2 BCF INTCON, 7 +0x2DCA 0xD001 BRA L__EEPROM_Write7 +L__EEPROM_Write6: +0x2DCC 0x8EF2 BSF INTCON, 7 +L__EEPROM_Write7: +;__Lib_EEPROM_256.c,44 :: +0x2DCE 0x94A6 BCF EECON1, 2 +;__Lib_EEPROM_256.c,46 :: +L_EEPROM_Write2: +0x2DD0 0xB8A1 BTFSC PIR2, 4 +0x2DD2 0xD002 BRA L_EEPROM_Write3 +;__Lib_EEPROM_256.c,47 :: +0x2DD4 0x0000 NOP +0x2DD6 0xD7FC BRA L_EEPROM_Write2 +L_EEPROM_Write3: +;__Lib_EEPROM_256.c,49 :: +0x2DD8 0x98A1 BCF PIR2, 4 +;__Lib_EEPROM_256.c,50 :: +L_end_EEPROM_Write: +0x2DDA 0x0012 RETURN 0 +; end of _EEPROM_Write +_set_sw: +;main.h,160 :: void set_sw(char SW) { // 0 - IN, 1 - OUT +;main.h,161 :: Cap_sw = SW; +0x2DDC 0x0102 MOVLB 2 +0x2DDE 0xB1EB BTFSC FARG_set_sw_SW, 0, 1 +0x2DE0 0xD002 BRA L__set_sw495 +0x2DE2 0x9C89 BCF LATA6_bit, BitPos(LATA6_bit+0) +0x2DE4 0xD001 BRA L__set_sw496 +L__set_sw495: +0x2DE6 0x8C89 BSF LATA6_bit, BitPos(LATA6_bit+0) +L__set_sw496: +;main.h,162 :: Vdelay_ms(Rel_Del); +0x2DE8 0xF311C2CA MOVFF main_Rel_Del, FARG_VDelay_ms_Time_ms +0x2DEC 0xF312C2CB MOVFF main_Rel_Del+1, FARG_VDelay_ms_Time_ms+1 +0x2DF0 0xF00BEC5E CALL _VDelay_ms, 0 +;main.h,163 :: } +L_end_set_sw: +0x2DF4 0x0012 RETURN 0 +; end of _set_sw +_atu_reset: +;main.h,165 :: void atu_reset() { +;main.h,166 :: ind = 0; +0x2DF6 0x0101 MOVLB 1 +0x2DF8 0x6BFE CLRF main_ind, 1 +;main.h,167 :: cap = 0; +0x2DFA 0x6BFF CLRF main_cap, 1 +;main.h,168 :: set_ind(ind); +0x2DFC 0x0102 MOVLB 2 +0x2DFE 0x6BF3 CLRF FARG_set_ind_Ind, 1 +0x2E00 0xF010EC5F CALL _set_ind, 0 +;main.h,169 :: set_cap(cap); +0x2E04 0xF2F3C1FF MOVFF main_cap, FARG_set_cap_Cap +0x2E08 0xF011ECBE CALL _set_cap, 0 +;main.h,170 :: Vdelay_ms(Rel_Del); +0x2E0C 0xF311C2CA MOVFF main_Rel_Del, FARG_VDelay_ms_Time_ms +0x2E10 0xF312C2CB MOVFF main_Rel_Del+1, FARG_VDelay_ms_Time_ms+1 +0x2E14 0xF00BEC5E CALL _VDelay_ms, 0 +;main.h,171 :: } +L_end_atu_reset: +0x2E18 0x0012 RETURN 0 +; end of _atu_reset +_lcd_pwr: +;main.c,590 :: void lcd_pwr() { +;main.c,591 :: int p = 0; +0x2E1A 0x0102 MOVLB 2 +0x2E1C 0x6BEF CLRF lcd_pwr_p_L0, 1 +0x2E1E 0x6BF0 CLRF lcd_pwr_p_L0+1, 1 +;main.c,593 :: int delta = Auto_delta - 100; +0x2E20 0x0E64 MOVLW 100 +0x2E22 0x5DCE SUBWF _Auto_delta, 0, 1 +0x2E24 0x6FEC MOVWF lcd_pwr_delta_L0, 1 +0x2E26 0x0E00 MOVLW 0 +0x2E28 0x59CF SUBWFB _Auto_delta+1, 0, 1 +0x2E2A 0x6FED MOVWF lcd_pwr_delta_L0+1, 1 +;main.c,595 :: int SWR_fixed = 1; +0x2E2C 0x0E01 MOVLW 1 +0x2E2E 0x6FF1 MOVWF lcd_pwr_SWR_fixed_L0, 1 +0x2E30 0x0E00 MOVLW 0 +0x2E32 0x6FF2 MOVWF lcd_pwr_SWR_fixed_L0+1, 1 +;main.c,596 :: PWR = 0; +0x2E34 0x6BB9 CLRF _PWR, 1 +0x2E36 0x6BBA CLRF _PWR+1, 1 +;main.c,597 :: asm CLRWDT; +0x2E38 0x0004 CLRWDT +;main.c,599 :: cnt = 120; +0x2E3A 0x0E78 MOVLW 120 +0x2E3C 0x6FEE MOVWF lcd_pwr_cnt_L0, 1 +;main.c,600 :: for(peak_cnt = 0; peak_cnt < cnt; peak_cnt++){ +0x2E3E 0x6BEB CLRF lcd_pwr_peak_cnt_L0, 1 +L_lcd_pwr344: +0x2E40 0x51EE MOVF lcd_pwr_cnt_L0, 0, 1 +0x2E42 0x5DEB SUBWF lcd_pwr_peak_cnt_L0, 0, 1 +0x2E44 0xE243 BC L_lcd_pwr345 +;main.c,601 :: if(PORTB.B4==0 | PORTB.B5==0 | PORTB.B0==0) {button_delay(); if(but==1) {but = 0; return;} } +0x2E46 0xB881 BTFSC PORTB, 4 +0x2E48 0xD002 BRA L__lcd_pwr588 +0x2E4A 0x8006 BSF R6, 0 +0x2E4C 0xD001 BRA L__lcd_pwr589 +L__lcd_pwr588: +0x2E4E 0x9006 BCF R6, 0 +L__lcd_pwr589: +0x2E50 0xBA81 BTFSC PORTB, 5 +0x2E52 0xD002 BRA L__lcd_pwr590 +0x2E54 0x80D8 BSF STATUS, 0 +0x2E56 0xD001 BRA L__lcd_pwr591 +L__lcd_pwr590: +0x2E58 0x90D8 BCF STATUS, 0 +L__lcd_pwr591: +0x2E5A 0xB006 BTFSC R6, 0 +0x2E5C 0xD003 BRA L__lcd_pwr592 +0x2E5E 0xE202 BC L__lcd_pwr592 +0x2E60 0x9006 BCF R6, 0 +0x2E62 0xD001 BRA L__lcd_pwr593 +L__lcd_pwr592: +0x2E64 0x8006 BSF R6, 0 +L__lcd_pwr593: +0x2E66 0xB081 BTFSC PORTB, 0 +0x2E68 0xD002 BRA L__lcd_pwr594 +0x2E6A 0x80D8 BSF STATUS, 0 +0x2E6C 0xD001 BRA L__lcd_pwr595 +L__lcd_pwr594: +0x2E6E 0x90D8 BCF STATUS, 0 +L__lcd_pwr595: +0x2E70 0xB006 BTFSC R6, 0 +0x2E72 0xD003 BRA L__lcd_pwr596 +0x2E74 0xE202 BC L__lcd_pwr596 +0x2E76 0x9006 BCF R6, 0 +0x2E78 0xD001 BRA L__lcd_pwr597 +L__lcd_pwr596: +0x2E7A 0x8006 BSF R6, 0 +L__lcd_pwr597: +0x2E7C 0xA006 BTFSS R6, 0 +0x2E7E 0xD007 BRA L_lcd_pwr347 +0x2E80 0xF011EC90 CALL _button_delay, 0 +0x2E84 0x511E MOVF _but, 0, 1 +0x2E86 0x0A01 XORLW 1 +0x2E88 0xE102 BNZ L_lcd_pwr348 +0x2E8A 0x6B1E CLRF _but, 1 +0x2E8C 0xD2C1 BRA L_end_lcd_pwr +L_lcd_pwr348: +L_lcd_pwr347: +;main.c,602 :: get_pwr(); +0x2E8E 0xF010EC80 CALL _get_pwr, 0 +;main.c,603 :: if(PWR>p) {p = PWR; SWR_fixed = SWR;} +0x2E92 0x0E80 MOVLW 128 +0x2E94 0x19F0 XORWF lcd_pwr_p_L0+1, 0, 1 +0x2E96 0x6E00 MOVWF R0 +0x2E98 0x0E80 MOVLW 128 +0x2E9A 0x19BA XORWF _PWR+1, 0, 1 +0x2E9C 0x5C00 SUBWF R0, 0 +0x2E9E 0xE102 BNZ L__lcd_pwr598 +0x2EA0 0x51B9 MOVF _PWR, 0, 1 +0x2EA2 0x5DEF SUBWF lcd_pwr_p_L0, 0, 1 +L__lcd_pwr598: +0x2EA4 0xE208 BC L_lcd_pwr349 +0x2EA6 0xF2EFC2B9 MOVFF _PWR, lcd_pwr_p_L0 +0x2EAA 0xF2F0C2BA MOVFF _PWR+1, lcd_pwr_p_L0+1 +0x2EAE 0xF2F1C2B7 MOVFF _SWR, lcd_pwr_SWR_fixed_L0 +0x2EB2 0xF2F2C2B8 MOVFF _SWR+1, lcd_pwr_SWR_fixed_L0+1 +L_lcd_pwr349: +;main.c,604 :: Delay_ms(3); +0x2EB6 0x0E10 MOVLW 16 +0x2EB8 0x6E0C MOVWF R12, 0 +0x2EBA 0x0E94 MOVLW 148 +0x2EBC 0x6E0D MOVWF R13, 0 +L_lcd_pwr350: +0x2EBE 0x2E0D DECFSZ R13, 1, 0 +0x2EC0 0xD7FE BRA L_lcd_pwr350 +0x2EC2 0x2E0C DECFSZ R12, 1, 0 +0x2EC4 0xD7FC BRA L_lcd_pwr350 +0x2EC6 0x0000 NOP +;main.c,600 :: for(peak_cnt = 0; peak_cnt < cnt; peak_cnt++){ +0x2EC8 0x2BEB INCF lcd_pwr_peak_cnt_L0, 1, 1 +;main.c,605 :: } +0x2ECA 0xD7BA BRA L_lcd_pwr344 +L_lcd_pwr345: +;main.c,606 :: asm CLRWDT; +0x2ECC 0x0004 CLRWDT +;main.c,607 :: Power = p; +0x2ECE 0xF2CCC2EF MOVFF lcd_pwr_p_L0, _Power +0x2ED2 0xF2CDC2F0 MOVFF lcd_pwr_p_L0+1, _Power+1 +;main.c,608 :: lcd_swr(SWR_fixed); +0x2ED6 0xF2F3C2F1 MOVFF lcd_pwr_SWR_fixed_L0, FARG_lcd_swr_swr +0x2EDA 0xF2F4C2F2 MOVFF lcd_pwr_SWR_fixed_L0+1, FARG_lcd_swr_swr+1 +0x2EDE 0xDE4F RCALL _lcd_swr +;main.c,609 :: if(SWR_fixed>=100) { +0x2EE0 0x0E80 MOVLW 128 +0x2EE2 0x19F2 XORWF lcd_pwr_SWR_fixed_L0+1, 0, 1 +0x2EE4 0x6E00 MOVWF R0 +0x2EE6 0x0E80 MOVLW 128 +0x2EE8 0x5C00 SUBWF R0, 0 +0x2EEA 0xE102 BNZ L__lcd_pwr599 +0x2EEC 0x0E64 MOVLW 100 +0x2EEE 0x5DF1 SUBWF lcd_pwr_SWR_fixed_L0, 0, 1 +L__lcd_pwr599: +0x2EF0 0xE315 BNC L_lcd_pwr351 +;main.c,610 :: dysp_on(); // dysplay ON +0x2EF2 0xDE2D RCALL _dysp_on +;main.c,611 :: dysp_cnt = Dysp_delay * dysp_cnt_mult; +0x2EF4 0xF000C21B MOVFF _Dysp_delay, R0 +0x2EF8 0xF00EEC8F CALL _byte2double, 0 +0x2EFC 0xF004C225 MOVFF _dysp_cnt_mult, R4 +0x2F00 0xF005C226 MOVFF _dysp_cnt_mult+1, R5 +0x2F04 0xF006C227 MOVFF _dysp_cnt_mult+2, R6 +0x2F08 0xF007C228 MOVFF _dysp_cnt_mult+3, R7 +0x2F0C 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x2F10 0xF004ECE1 CALL _double2int, 0 +0x2F14 0xF21CC000 MOVFF R0, _dysp_cnt +0x2F18 0xF21DC001 MOVFF R1, _dysp_cnt+1 +;main.c,612 :: } +L_lcd_pwr351: +;main.c,614 :: if(Auto & SWR_fixed>=Auto_delta & ((SWR_fixed>SWR_fixed_old & (SWR_fixed-SWR_fixed_old)>delta) | (SWR_fixeddelta) | SWR_fixed_old==999)) +0x2F1C 0x0E80 MOVLW 128 +0x2F1E 0x19F2 XORWF lcd_pwr_SWR_fixed_L0+1, 0, 1 +0x2F20 0x6E00 MOVWF R0 +0x2F22 0x0E80 MOVLW 128 +0x2F24 0x19CF XORWF _Auto_delta+1, 0, 1 +0x2F26 0x5C00 SUBWF R0, 0 +0x2F28 0xE102 BNZ L__lcd_pwr600 +0x2F2A 0x51CE MOVF _Auto_delta, 0, 1 +0x2F2C 0x5DF1 SUBWF lcd_pwr_SWR_fixed_L0, 0, 1 +L__lcd_pwr600: +0x2F2E 0x0E00 MOVLW 0 +0x2F30 0xB0D8 BTFSC STATUS, 0 +0x2F32 0x0E01 MOVLW 1 +0x2F34 0x6E00 MOVWF R0 +0x2F36 0x5000 MOVF R0, 0 +0x2F38 0x1557 ANDWF _Auto, 0, 1 +0x2F3A 0x6E05 MOVWF R5 +0x2F3C 0x0E80 MOVLW 128 +0x2F3E 0x1902 XORWF _SWR_fixed_old+1, 0, 1 +0x2F40 0x6E03 MOVWF R3 +0x2F42 0x0E80 MOVLW 128 +0x2F44 0x19F2 XORWF lcd_pwr_SWR_fixed_L0+1, 0, 1 +0x2F46 0x5C03 SUBWF R3, 0 +0x2F48 0xE102 BNZ L__lcd_pwr601 +0x2F4A 0x51F1 MOVF lcd_pwr_SWR_fixed_L0, 0, 1 +0x2F4C 0x5D01 SUBWF _SWR_fixed_old, 0, 1 +L__lcd_pwr601: +0x2F4E 0x0E01 MOVLW 1 +0x2F50 0xB0D8 BTFSC STATUS, 0 +0x2F52 0x0E00 MOVLW 0 +0x2F54 0x6E03 MOVWF R3 +0x2F56 0x5101 MOVF _SWR_fixed_old, 0, 1 +0x2F58 0x5DF1 SUBWF lcd_pwr_SWR_fixed_L0, 0, 1 +0x2F5A 0x6E01 MOVWF R1 +0x2F5C 0x5102 MOVF _SWR_fixed_old+1, 0, 1 +0x2F5E 0x59F2 SUBWFB lcd_pwr_SWR_fixed_L0+1, 0, 1 +0x2F60 0x6E02 MOVWF R2 +0x2F62 0x0E80 MOVLW 128 +0x2F64 0x19ED XORWF lcd_pwr_delta_L0+1, 0, 1 +0x2F66 0x6E00 MOVWF R0 +0x2F68 0x0E80 MOVLW 128 +0x2F6A 0x1802 XORWF R2, 0 +0x2F6C 0x5C00 SUBWF R0, 0 +0x2F6E 0xE102 BNZ L__lcd_pwr602 +0x2F70 0x5001 MOVF R1, 0 +0x2F72 0x5DEC SUBWF lcd_pwr_delta_L0, 0, 1 +L__lcd_pwr602: +0x2F74 0x0E01 MOVLW 1 +0x2F76 0xB0D8 BTFSC STATUS, 0 +0x2F78 0x0E00 MOVLW 0 +0x2F7A 0x6E00 MOVWF R0 +0x2F7C 0x5000 MOVF R0, 0 +0x2F7E 0x1403 ANDWF R3, 0 +0x2F80 0x6E04 MOVWF R4 +0x2F82 0x0E80 MOVLW 128 +0x2F84 0x19F2 XORWF lcd_pwr_SWR_fixed_L0+1, 0, 1 +0x2F86 0x6E03 MOVWF R3 +0x2F88 0x0E80 MOVLW 128 +0x2F8A 0x1902 XORWF _SWR_fixed_old+1, 0, 1 +0x2F8C 0x5C03 SUBWF R3, 0 +0x2F8E 0xE102 BNZ L__lcd_pwr603 +0x2F90 0x5101 MOVF _SWR_fixed_old, 0, 1 +0x2F92 0x5DF1 SUBWF lcd_pwr_SWR_fixed_L0, 0, 1 +L__lcd_pwr603: +0x2F94 0x0E01 MOVLW 1 +0x2F96 0xB0D8 BTFSC STATUS, 0 +0x2F98 0x0E00 MOVLW 0 +0x2F9A 0x6E03 MOVWF R3 +0x2F9C 0x51F1 MOVF lcd_pwr_SWR_fixed_L0, 0, 1 +0x2F9E 0x5D01 SUBWF _SWR_fixed_old, 0, 1 +0x2FA0 0x6E01 MOVWF R1 +0x2FA2 0x51F2 MOVF lcd_pwr_SWR_fixed_L0+1, 0, 1 +0x2FA4 0x5902 SUBWFB _SWR_fixed_old+1, 0, 1 +0x2FA6 0x6E02 MOVWF R2 +0x2FA8 0x0E80 MOVLW 128 +0x2FAA 0x19ED XORWF lcd_pwr_delta_L0+1, 0, 1 +0x2FAC 0x6E00 MOVWF R0 +0x2FAE 0x0E80 MOVLW 128 +0x2FB0 0x1802 XORWF R2, 0 +0x2FB2 0x5C00 SUBWF R0, 0 +0x2FB4 0xE102 BNZ L__lcd_pwr604 +0x2FB6 0x5001 MOVF R1, 0 +0x2FB8 0x5DEC SUBWF lcd_pwr_delta_L0, 0, 1 +L__lcd_pwr604: +0x2FBA 0x0E01 MOVLW 1 +0x2FBC 0xB0D8 BTFSC STATUS, 0 +0x2FBE 0x0E00 MOVLW 0 +0x2FC0 0x6E00 MOVWF R0 +0x2FC2 0x5003 MOVF R3, 0 +0x2FC4 0x1600 ANDWF R0, 1 +0x2FC6 0x5000 MOVF R0, 0 +0x2FC8 0x1004 IORWF R4, 0 +0x2FCA 0x6E01 MOVWF R1 +0x2FCC 0x5102 MOVF _SWR_fixed_old+1, 0, 1 +0x2FCE 0x0A03 XORLW 3 +0x2FD0 0xE102 BNZ L__lcd_pwr605 +0x2FD2 0x0EE7 MOVLW 231 +0x2FD4 0x1901 XORWF _SWR_fixed_old, 0, 1 +L__lcd_pwr605: +0x2FD6 0x0E01 MOVLW 1 +0x2FD8 0xA4D8 BTFSS STATUS, 2 +0x2FDA 0x0E00 MOVLW 0 +0x2FDC 0x6E00 MOVWF R0 +0x2FDE 0x5001 MOVF R1, 0 +0x2FE0 0x1200 IORWF R0, 1 +0x2FE2 0x5005 MOVF R5, 0 +0x2FE4 0x1600 ANDWF R0, 1 +0x2FE6 0xE002 BZ L_lcd_pwr352 +;main.c,615 :: Soft_tune = 1; +0x2FE8 0x0E01 MOVLW 1 +0x2FEA 0x6F56 MOVWF _Soft_tune, 1 +L_lcd_pwr352: +;main.c,617 :: if(PORTB.B4==0 | PORTB.B5==0 | PORTB.B0==0) {button_delay(); if(but==1) {but = 0; return;} } // Fast return if button pressed +0x2FEC 0xB881 BTFSC PORTB, 4 +0x2FEE 0xD002 BRA L__lcd_pwr606 +0x2FF0 0x8006 BSF R6, 0 +0x2FF2 0xD001 BRA L__lcd_pwr607 +L__lcd_pwr606: +0x2FF4 0x9006 BCF R6, 0 +L__lcd_pwr607: +0x2FF6 0xBA81 BTFSC PORTB, 5 +0x2FF8 0xD002 BRA L__lcd_pwr608 +0x2FFA 0x80D8 BSF STATUS, 0 +0x2FFC 0xD001 BRA L__lcd_pwr609 +L__lcd_pwr608: +0x2FFE 0x90D8 BCF STATUS, 0 +L__lcd_pwr609: +0x3000 0xB006 BTFSC R6, 0 +0x3002 0xD003 BRA L__lcd_pwr610 +0x3004 0xE202 BC L__lcd_pwr610 +0x3006 0x9006 BCF R6, 0 +0x3008 0xD001 BRA L__lcd_pwr611 +L__lcd_pwr610: +0x300A 0x8006 BSF R6, 0 +L__lcd_pwr611: +0x300C 0xB081 BTFSC PORTB, 0 +0x300E 0xD002 BRA L__lcd_pwr612 +0x3010 0x80D8 BSF STATUS, 0 +0x3012 0xD001 BRA L__lcd_pwr613 +L__lcd_pwr612: +0x3014 0x90D8 BCF STATUS, 0 +L__lcd_pwr613: +0x3016 0xB006 BTFSC R6, 0 +0x3018 0xD003 BRA L__lcd_pwr614 +0x301A 0xE202 BC L__lcd_pwr614 +0x301C 0x9006 BCF R6, 0 +0x301E 0xD001 BRA L__lcd_pwr615 +L__lcd_pwr614: +0x3020 0x8006 BSF R6, 0 +L__lcd_pwr615: +0x3022 0xA006 BTFSS R6, 0 +0x3024 0xD007 BRA L_lcd_pwr353 +0x3026 0xF011EC90 CALL _button_delay, 0 +0x302A 0x511E MOVF _but, 0, 1 +0x302C 0x0A01 XORLW 1 +0x302E 0xE102 BNZ L_lcd_pwr354 +0x3030 0x6B1E CLRF _but, 1 +0x3032 0xD1EE BRA L_end_lcd_pwr +L_lcd_pwr354: +L_lcd_pwr353: +;main.c,618 :: show_pwr(Power, SWR_fixed); +0x3034 0xF2F3C2CC MOVFF _Power, FARG_show_pwr_Power +0x3038 0xF2F4C2CD MOVFF _Power+1, FARG_show_pwr_Power+1 +0x303C 0xF2F5C2F1 MOVFF lcd_pwr_SWR_fixed_L0, FARG_show_pwr_SWR +0x3040 0xF2F6C2F2 MOVFF lcd_pwr_SWR_fixed_L0+1, FARG_show_pwr_SWR+1 +0x3044 0xF011ECDF CALL _show_pwr, 0 +;main.c,620 :: if(PORTB.B4==0 | PORTB.B5==0 | PORTB.B0==0) {button_delay(); if(but==1) {but = 0; return;} } +0x3048 0xB881 BTFSC PORTB, 4 +0x304A 0xD002 BRA L__lcd_pwr616 +0x304C 0x8006 BSF R6, 0 +0x304E 0xD001 BRA L__lcd_pwr617 +L__lcd_pwr616: +0x3050 0x9006 BCF R6, 0 +L__lcd_pwr617: +0x3052 0xBA81 BTFSC PORTB, 5 +0x3054 0xD002 BRA L__lcd_pwr618 +0x3056 0x80D8 BSF STATUS, 0 +0x3058 0xD001 BRA L__lcd_pwr619 +L__lcd_pwr618: +0x305A 0x90D8 BCF STATUS, 0 +L__lcd_pwr619: +0x305C 0xB006 BTFSC R6, 0 +0x305E 0xD003 BRA L__lcd_pwr620 +0x3060 0xE202 BC L__lcd_pwr620 +0x3062 0x9006 BCF R6, 0 +0x3064 0xD001 BRA L__lcd_pwr621 +L__lcd_pwr620: +0x3066 0x8006 BSF R6, 0 +L__lcd_pwr621: +0x3068 0xB081 BTFSC PORTB, 0 +0x306A 0xD002 BRA L__lcd_pwr622 +0x306C 0x80D8 BSF STATUS, 0 +0x306E 0xD001 BRA L__lcd_pwr623 +L__lcd_pwr622: +0x3070 0x90D8 BCF STATUS, 0 +L__lcd_pwr623: +0x3072 0xB006 BTFSC R6, 0 +0x3074 0xD003 BRA L__lcd_pwr624 +0x3076 0xE202 BC L__lcd_pwr624 +0x3078 0x9006 BCF R6, 0 +0x307A 0xD001 BRA L__lcd_pwr625 +L__lcd_pwr624: +0x307C 0x8006 BSF R6, 0 +L__lcd_pwr625: +0x307E 0xA006 BTFSS R6, 0 +0x3080 0xD007 BRA L_lcd_pwr355 +0x3082 0xF011EC90 CALL _button_delay, 0 +0x3086 0x511E MOVF _but, 0, 1 +0x3088 0x0A01 XORLW 1 +0x308A 0xE102 BNZ L_lcd_pwr356 +0x308C 0x6B1E CLRF _but, 1 +0x308E 0xD1C0 BRA L_end_lcd_pwr +L_lcd_pwr356: +L_lcd_pwr355: +0x3090 0x0102 MOVLB 2 +;main.c,621 :: asm CLRWDT; +0x3092 0x0004 CLRWDT +;main.c,622 :: if(Overload==1) { +0x3094 0x5123 MOVF main_Overload, 0, 1 +0x3096 0x0A01 XORLW 1 +0x3098 0xA4D8 BTFSS STATUS, 2 +0x309A 0xD1BA BRA L_lcd_pwr357 +;main.c,623 :: if(type==4 | type==5) { // 128*64 OLED +0x309C 0x51C2 MOVF _type, 0, 1 +0x309E 0x0A04 XORLW 4 +0x30A0 0x0E01 MOVLW 1 +0x30A2 0xA4D8 BTFSS STATUS, 2 +0x30A4 0x0E00 MOVLW 0 +0x30A6 0x6E01 MOVWF R1 +0x30A8 0x51C2 MOVF _type, 0, 1 +0x30AA 0x0A05 XORLW 5 +0x30AC 0x0E01 MOVLW 1 +0x30AE 0xA4D8 BTFSS STATUS, 2 +0x30B0 0x0E00 MOVLW 0 +0x30B2 0x6E00 MOVWF R0 +0x30B4 0x5001 MOVF R1, 0 +0x30B6 0x1200 IORWF R0, 1 +0x30B8 0xB4D8 BTFSC STATUS, 2 +0x30BA 0xD0CB BRA L_lcd_pwr358 +;main.c,624 :: led_wr_str (2, 16, " ", 8); +0x30BC 0x0E02 MOVLW 2 +0x30BE 0x0103 MOVLB 3 +0x30C0 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x30C2 0x0E10 MOVLW 16 +0x30C4 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x30C6 0x0E61 MOVLW ?lstr56_main +0x30C8 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x30CA 0x0E02 MOVLW hi_addr(?lstr56_main) +0x30CC 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x30CE 0x0E08 MOVLW 8 +0x30D0 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x30D2 0xF007ECAF CALL _led_wr_str, 0 +;main.c,625 :: delay_ms(100); +0x30D6 0x0E03 MOVLW 3 +0x30D8 0x6E0B MOVWF R11, 0 +0x30DA 0x0E08 MOVLW 8 +0x30DC 0x6E0C MOVWF R12, 0 +0x30DE 0x0E77 MOVLW 119 +0x30E0 0x6E0D MOVWF R13, 0 +L_lcd_pwr359: +0x30E2 0x2E0D DECFSZ R13, 1, 0 +0x30E4 0xD7FE BRA L_lcd_pwr359 +0x30E6 0x2E0C DECFSZ R12, 1, 0 +0x30E8 0xD7FC BRA L_lcd_pwr359 +0x30EA 0x2E0B DECFSZ R11, 1, 0 +0x30EC 0xD7FA BRA L_lcd_pwr359 +;main.c,626 :: asm CLRWDT; +0x30EE 0x0004 CLRWDT +;main.c,627 :: led_wr_str (2, 16, "OVERLOAD", 8); +0x30F0 0x0E02 MOVLW 2 +0x30F2 0x0103 MOVLB 3 +0x30F4 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x30F6 0x0E10 MOVLW 16 +0x30F8 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x30FA 0x0E58 MOVLW ?lstr57_main +0x30FC 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x30FE 0x0E02 MOVLW hi_addr(?lstr57_main) +0x3100 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x3102 0x0E08 MOVLW 8 +0x3104 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x3106 0xF007ECAF CALL _led_wr_str, 0 +;main.c,628 :: delay_ms(500); +0x310A 0x0E0B MOVLW 11 +0x310C 0x6E0B MOVWF R11, 0 +0x310E 0x0E26 MOVLW 38 +0x3110 0x6E0C MOVWF R12, 0 +0x3112 0x0E5D MOVLW 93 +0x3114 0x6E0D MOVWF R13, 0 +L_lcd_pwr360: +0x3116 0x2E0D DECFSZ R13, 1, 0 +0x3118 0xD7FE BRA L_lcd_pwr360 +0x311A 0x2E0C DECFSZ R12, 1, 0 +0x311C 0xD7FC BRA L_lcd_pwr360 +0x311E 0x2E0B DECFSZ R11, 1, 0 +0x3120 0xD7FA BRA L_lcd_pwr360 +0x3122 0x0000 NOP +0x3124 0x0000 NOP +;main.c,629 :: asm CLRWDT; +0x3126 0x0004 CLRWDT +;main.c,630 :: led_wr_str (2, 16, " ", 8); +0x3128 0x0E02 MOVLW 2 +0x312A 0x0103 MOVLB 3 +0x312C 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x312E 0x0E10 MOVLW 16 +0x3130 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x3132 0x0E4D MOVLW ?lstr58_main +0x3134 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x3136 0x0E02 MOVLW hi_addr(?lstr58_main) +0x3138 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x313A 0x0E08 MOVLW 8 +0x313C 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x313E 0xF007ECAF CALL _led_wr_str, 0 +;main.c,631 :: delay_ms(300); +0x3142 0x0E07 MOVLW 7 +0x3144 0x6E0B MOVWF R11, 0 +0x3146 0x0E17 MOVLW 23 +0x3148 0x6E0C MOVWF R12, 0 +0x314A 0x0E6A MOVLW 106 +0x314C 0x6E0D MOVWF R13, 0 +L_lcd_pwr361: +0x314E 0x2E0D DECFSZ R13, 1, 0 +0x3150 0xD7FE BRA L_lcd_pwr361 +0x3152 0x2E0C DECFSZ R12, 1, 0 +0x3154 0xD7FC BRA L_lcd_pwr361 +0x3156 0x2E0B DECFSZ R11, 1, 0 +0x3158 0xD7FA BRA L_lcd_pwr361 +0x315A 0x0000 NOP +;main.c,632 :: asm CLRWDT; +0x315C 0x0004 CLRWDT +;main.c,633 :: led_wr_str (2, 16, "OVERLOAD", 8); +0x315E 0x0E02 MOVLW 2 +0x3160 0x0103 MOVLB 3 +0x3162 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x3164 0x0E10 MOVLW 16 +0x3166 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x3168 0x0E32 MOVLW ?lstr59_main +0x316A 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x316C 0x0E02 MOVLW hi_addr(?lstr59_main) +0x316E 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x3170 0x0E08 MOVLW 8 +0x3172 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x3174 0xF007ECAF CALL _led_wr_str, 0 +;main.c,634 :: delay_ms(500); +0x3178 0x0E0B MOVLW 11 +0x317A 0x6E0B MOVWF R11, 0 +0x317C 0x0E26 MOVLW 38 +0x317E 0x6E0C MOVWF R12, 0 +0x3180 0x0E5D MOVLW 93 +0x3182 0x6E0D MOVWF R13, 0 +L_lcd_pwr362: +0x3184 0x2E0D DECFSZ R13, 1, 0 +0x3186 0xD7FE BRA L_lcd_pwr362 +0x3188 0x2E0C DECFSZ R12, 1, 0 +0x318A 0xD7FC BRA L_lcd_pwr362 +0x318C 0x2E0B DECFSZ R11, 1, 0 +0x318E 0xD7FA BRA L_lcd_pwr362 +0x3190 0x0000 NOP +0x3192 0x0000 NOP +;main.c,635 :: asm CLRWDT; +0x3194 0x0004 CLRWDT +;main.c,636 :: led_wr_str (2, 16, " ", 8); +0x3196 0x0E02 MOVLW 2 +0x3198 0x0103 MOVLB 3 +0x319A 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x319C 0x0E10 MOVLW 16 +0x319E 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x31A0 0x0E29 MOVLW ?lstr60_main +0x31A2 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x31A4 0x0E02 MOVLW hi_addr(?lstr60_main) +0x31A6 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x31A8 0x0E08 MOVLW 8 +0x31AA 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x31AC 0xF007ECAF CALL _led_wr_str, 0 +;main.c,637 :: delay_ms(300); +0x31B0 0x0E07 MOVLW 7 +0x31B2 0x6E0B MOVWF R11, 0 +0x31B4 0x0E17 MOVLW 23 +0x31B6 0x6E0C MOVWF R12, 0 +0x31B8 0x0E6A MOVLW 106 +0x31BA 0x6E0D MOVWF R13, 0 +L_lcd_pwr363: +0x31BC 0x2E0D DECFSZ R13, 1, 0 +0x31BE 0xD7FE BRA L_lcd_pwr363 +0x31C0 0x2E0C DECFSZ R12, 1, 0 +0x31C2 0xD7FC BRA L_lcd_pwr363 +0x31C4 0x2E0B DECFSZ R11, 1, 0 +0x31C6 0xD7FA BRA L_lcd_pwr363 +0x31C8 0x0000 NOP +;main.c,638 :: asm CLRWDT; +0x31CA 0x0004 CLRWDT +;main.c,639 :: led_wr_str (2, 16, "OVERLOAD", 8); +0x31CC 0x0E02 MOVLW 2 +0x31CE 0x0103 MOVLB 3 +0x31D0 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x31D2 0x0E10 MOVLW 16 +0x31D4 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x31D6 0x0E44 MOVLW ?lstr61_main +0x31D8 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x31DA 0x0E02 MOVLW hi_addr(?lstr61_main) +0x31DC 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x31DE 0x0E08 MOVLW 8 +0x31E0 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x31E2 0xF007ECAF CALL _led_wr_str, 0 +;main.c,640 :: delay_ms(500); +0x31E6 0x0E0B MOVLW 11 +0x31E8 0x6E0B MOVWF R11, 0 +0x31EA 0x0E26 MOVLW 38 +0x31EC 0x6E0C MOVWF R12, 0 +0x31EE 0x0E5D MOVLW 93 +0x31F0 0x6E0D MOVWF R13, 0 +L_lcd_pwr364: +0x31F2 0x2E0D DECFSZ R13, 1, 0 +0x31F4 0xD7FE BRA L_lcd_pwr364 +0x31F6 0x2E0C DECFSZ R12, 1, 0 +0x31F8 0xD7FC BRA L_lcd_pwr364 +0x31FA 0x2E0B DECFSZ R11, 1, 0 +0x31FC 0xD7FA BRA L_lcd_pwr364 +0x31FE 0x0000 NOP +0x3200 0x0000 NOP +;main.c,641 :: asm CLRWDT; +0x3202 0x0004 CLRWDT +;main.c,642 :: led_wr_str (2, 16, " ", 8); +0x3204 0x0E02 MOVLW 2 +0x3206 0x0103 MOVLB 3 +0x3208 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x320A 0x0E10 MOVLW 16 +0x320C 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x320E 0x0E3B MOVLW ?lstr62_main +0x3210 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x3212 0x0E02 MOVLW hi_addr(?lstr62_main) +0x3214 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x3216 0x0E08 MOVLW 8 +0x3218 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x321A 0xF007ECAF CALL _led_wr_str, 0 +;main.c,643 :: delay_ms(100); +0x321E 0x0E03 MOVLW 3 +0x3220 0x6E0B MOVWF R11, 0 +0x3222 0x0E08 MOVLW 8 +0x3224 0x6E0C MOVWF R12, 0 +0x3226 0x0E77 MOVLW 119 +0x3228 0x6E0D MOVWF R13, 0 +L_lcd_pwr365: +0x322A 0x2E0D DECFSZ R13, 1, 0 +0x322C 0xD7FE BRA L_lcd_pwr365 +0x322E 0x2E0C DECFSZ R12, 1, 0 +0x3230 0xD7FC BRA L_lcd_pwr365 +0x3232 0x2E0B DECFSZ R11, 1, 0 +0x3234 0xD7FA BRA L_lcd_pwr365 +;main.c,644 :: led_wr_str (2, 16, "SWR= ", 8); +0x3236 0x0E02 MOVLW 2 +0x3238 0x0103 MOVLB 3 +0x323A 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x323C 0x0E10 MOVLW 16 +0x323E 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x3240 0x0EF5 MOVLW ?lstr63_main +0x3242 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x3244 0x0E01 MOVLW hi_addr(?lstr63_main) +0x3246 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x3248 0x0E08 MOVLW 8 +0x324A 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x324C 0xF007ECAF CALL _led_wr_str, 0 +;main.c,645 :: } +0x3250 0xD0D3 BRA L_lcd_pwr366 +L_lcd_pwr358: +;main.c,646 :: else if(type!=0 & type!=6) { // 1602 & 128*32// 1602 +0x3252 0x0102 MOVLB 2 +0x3254 0x51C2 MOVF _type, 0, 1 +0x3256 0x0A00 XORLW 0 +0x3258 0x0E00 MOVLW 0 +0x325A 0xA4D8 BTFSS STATUS, 2 +0x325C 0x0E01 MOVLW 1 +0x325E 0x6E01 MOVWF R1 +0x3260 0x51C2 MOVF _type, 0, 1 +0x3262 0x0A06 XORLW 6 +0x3264 0x0E00 MOVLW 0 +0x3266 0xA4D8 BTFSS STATUS, 2 +0x3268 0x0E01 MOVLW 1 +0x326A 0x6E00 MOVWF R0 +0x326C 0x5001 MOVF R1, 0 +0x326E 0x1600 ANDWF R0, 1 +0x3270 0xB4D8 BTFSC STATUS, 2 +0x3272 0xD0C2 BRA L_lcd_pwr367 +;main.c,647 :: led_wr_str (1, 0, " ", 8); +0x3274 0x0E01 MOVLW 1 +0x3276 0x0103 MOVLB 3 +0x3278 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x327A 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x327C 0x0EC3 MOVLW ?lstr64_main +0x327E 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x3280 0x0E00 MOVLW hi_addr(?lstr64_main) +0x3282 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x3284 0x0E08 MOVLW 8 +0x3286 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x3288 0xF007ECAF CALL _led_wr_str, 0 +;main.c,648 :: delay_ms(100); +0x328C 0x0E03 MOVLW 3 +0x328E 0x6E0B MOVWF R11, 0 +0x3290 0x0E08 MOVLW 8 +0x3292 0x6E0C MOVWF R12, 0 +0x3294 0x0E77 MOVLW 119 +0x3296 0x6E0D MOVWF R13, 0 +L_lcd_pwr368: +0x3298 0x2E0D DECFSZ R13, 1, 0 +0x329A 0xD7FE BRA L_lcd_pwr368 +0x329C 0x2E0C DECFSZ R12, 1, 0 +0x329E 0xD7FC BRA L_lcd_pwr368 +0x32A0 0x2E0B DECFSZ R11, 1, 0 +0x32A2 0xD7FA BRA L_lcd_pwr368 +;main.c,649 :: asm CLRWDT; +0x32A4 0x0004 CLRWDT +;main.c,650 :: led_wr_str (1, 0, "OVERLOAD", 8); +0x32A6 0x0E01 MOVLW 1 +0x32A8 0x0103 MOVLB 3 +0x32AA 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x32AC 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x32AE 0x0EBA MOVLW ?lstr65_main +0x32B0 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x32B2 0x0E00 MOVLW hi_addr(?lstr65_main) +0x32B4 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x32B6 0x0E08 MOVLW 8 +0x32B8 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x32BA 0xF007ECAF CALL _led_wr_str, 0 +;main.c,651 :: delay_ms(500); +0x32BE 0x0E0B MOVLW 11 +0x32C0 0x6E0B MOVWF R11, 0 +0x32C2 0x0E26 MOVLW 38 +0x32C4 0x6E0C MOVWF R12, 0 +0x32C6 0x0E5D MOVLW 93 +0x32C8 0x6E0D MOVWF R13, 0 +L_lcd_pwr369: +0x32CA 0x2E0D DECFSZ R13, 1, 0 +0x32CC 0xD7FE BRA L_lcd_pwr369 +0x32CE 0x2E0C DECFSZ R12, 1, 0 +0x32D0 0xD7FC BRA L_lcd_pwr369 +0x32D2 0x2E0B DECFSZ R11, 1, 0 +0x32D4 0xD7FA BRA L_lcd_pwr369 +0x32D6 0x0000 NOP +0x32D8 0x0000 NOP +;main.c,652 :: asm CLRWDT; +0x32DA 0x0004 CLRWDT +;main.c,653 :: led_wr_str (1, 0, " ", 8); +0x32DC 0x0E01 MOVLW 1 +0x32DE 0x0103 MOVLB 3 +0x32E0 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x32E2 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x32E4 0x0EB1 MOVLW ?lstr66_main +0x32E6 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x32E8 0x0E00 MOVLW hi_addr(?lstr66_main) +0x32EA 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x32EC 0x0E08 MOVLW 8 +0x32EE 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x32F0 0xF007ECAF CALL _led_wr_str, 0 +;main.c,654 :: delay_ms(300); +0x32F4 0x0E07 MOVLW 7 +0x32F6 0x6E0B MOVWF R11, 0 +0x32F8 0x0E17 MOVLW 23 +0x32FA 0x6E0C MOVWF R12, 0 +0x32FC 0x0E6A MOVLW 106 +0x32FE 0x6E0D MOVWF R13, 0 +L_lcd_pwr370: +0x3300 0x2E0D DECFSZ R13, 1, 0 +0x3302 0xD7FE BRA L_lcd_pwr370 +0x3304 0x2E0C DECFSZ R12, 1, 0 +0x3306 0xD7FC BRA L_lcd_pwr370 +0x3308 0x2E0B DECFSZ R11, 1, 0 +0x330A 0xD7FA BRA L_lcd_pwr370 +0x330C 0x0000 NOP +;main.c,655 :: asm CLRWDT; +0x330E 0x0004 CLRWDT +;main.c,656 :: led_wr_str (1, 0, "OVERLOAD", 8); +0x3310 0x0E01 MOVLW 1 +0x3312 0x0103 MOVLB 3 +0x3314 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x3316 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x3318 0x0EDE MOVLW ?lstr67_main +0x331A 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x331C 0x0E00 MOVLW hi_addr(?lstr67_main) +0x331E 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x3320 0x0E08 MOVLW 8 +0x3322 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x3324 0xF007ECAF CALL _led_wr_str, 0 +;main.c,657 :: delay_ms(500); +0x3328 0x0E0B MOVLW 11 +0x332A 0x6E0B MOVWF R11, 0 +0x332C 0x0E26 MOVLW 38 +0x332E 0x6E0C MOVWF R12, 0 +0x3330 0x0E5D MOVLW 93 +0x3332 0x6E0D MOVWF R13, 0 +L_lcd_pwr371: +0x3334 0x2E0D DECFSZ R13, 1, 0 +0x3336 0xD7FE BRA L_lcd_pwr371 +0x3338 0x2E0C DECFSZ R12, 1, 0 +0x333A 0xD7FC BRA L_lcd_pwr371 +0x333C 0x2E0B DECFSZ R11, 1, 0 +0x333E 0xD7FA BRA L_lcd_pwr371 +0x3340 0x0000 NOP +0x3342 0x0000 NOP +;main.c,658 :: asm CLRWDT; +0x3344 0x0004 CLRWDT +;main.c,659 :: led_wr_str (1, 0, " ", 8); +0x3346 0x0E01 MOVLW 1 +0x3348 0x0103 MOVLB 3 +0x334A 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x334C 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x334E 0x0ED5 MOVLW ?lstr68_main +0x3350 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x3352 0x0E00 MOVLW hi_addr(?lstr68_main) +0x3354 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x3356 0x0E08 MOVLW 8 +0x3358 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x335A 0xF007ECAF CALL _led_wr_str, 0 +;main.c,660 :: delay_ms(300); +0x335E 0x0E07 MOVLW 7 +0x3360 0x6E0B MOVWF R11, 0 +0x3362 0x0E17 MOVLW 23 +0x3364 0x6E0C MOVWF R12, 0 +0x3366 0x0E6A MOVLW 106 +0x3368 0x6E0D MOVWF R13, 0 +L_lcd_pwr372: +0x336A 0x2E0D DECFSZ R13, 1, 0 +0x336C 0xD7FE BRA L_lcd_pwr372 +0x336E 0x2E0C DECFSZ R12, 1, 0 +0x3370 0xD7FC BRA L_lcd_pwr372 +0x3372 0x2E0B DECFSZ R11, 1, 0 +0x3374 0xD7FA BRA L_lcd_pwr372 +0x3376 0x0000 NOP +;main.c,661 :: asm CLRWDT; +0x3378 0x0004 CLRWDT +;main.c,662 :: led_wr_str (1, 0, "OVERLOAD", 8); +0x337A 0x0E01 MOVLW 1 +0x337C 0x0103 MOVLB 3 +0x337E 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x3380 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x3382 0x0ECC MOVLW ?lstr69_main +0x3384 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x3386 0x0E00 MOVLW hi_addr(?lstr69_main) +0x3388 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x338A 0x0E08 MOVLW 8 +0x338C 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x338E 0xF007ECAF CALL _led_wr_str, 0 +;main.c,663 :: delay_ms(500); +0x3392 0x0E0B MOVLW 11 +0x3394 0x6E0B MOVWF R11, 0 +0x3396 0x0E26 MOVLW 38 +0x3398 0x6E0C MOVWF R12, 0 +0x339A 0x0E5D MOVLW 93 +0x339C 0x6E0D MOVWF R13, 0 +L_lcd_pwr373: +0x339E 0x2E0D DECFSZ R13, 1, 0 +0x33A0 0xD7FE BRA L_lcd_pwr373 +0x33A2 0x2E0C DECFSZ R12, 1, 0 +0x33A4 0xD7FC BRA L_lcd_pwr373 +0x33A6 0x2E0B DECFSZ R11, 1, 0 +0x33A8 0xD7FA BRA L_lcd_pwr373 +0x33AA 0x0000 NOP +0x33AC 0x0000 NOP +;main.c,664 :: asm CLRWDT; +0x33AE 0x0004 CLRWDT +;main.c,665 :: led_wr_str (1, 0, " ", 8); +0x33B0 0x0E01 MOVLW 1 +0x33B2 0x0103 MOVLB 3 +0x33B4 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x33B6 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x33B8 0x0EA8 MOVLW ?lstr70_main +0x33BA 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x33BC 0x0E00 MOVLW hi_addr(?lstr70_main) +0x33BE 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x33C0 0x0E08 MOVLW 8 +0x33C2 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x33C4 0xF007ECAF CALL _led_wr_str, 0 +;main.c,666 :: delay_ms(100); +0x33C8 0x0E03 MOVLW 3 +0x33CA 0x6E0B MOVWF R11, 0 +0x33CC 0x0E08 MOVLW 8 +0x33CE 0x6E0C MOVWF R12, 0 +0x33D0 0x0E77 MOVLW 119 +0x33D2 0x6E0D MOVWF R13, 0 +L_lcd_pwr374: +0x33D4 0x2E0D DECFSZ R13, 1, 0 +0x33D6 0xD7FE BRA L_lcd_pwr374 +0x33D8 0x2E0C DECFSZ R12, 1, 0 +0x33DA 0xD7FC BRA L_lcd_pwr374 +0x33DC 0x2E0B DECFSZ R11, 1, 0 +0x33DE 0xD7FA BRA L_lcd_pwr374 +;main.c,667 :: led_wr_str (1, 0, "SWR= ", 8); +0x33E0 0x0E01 MOVLW 1 +0x33E2 0x0103 MOVLB 3 +0x33E4 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x33E6 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x33E8 0x0E9F MOVLW ?lstr71_main +0x33EA 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x33EC 0x0E00 MOVLW hi_addr(?lstr71_main) +0x33EE 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x33F0 0x0E08 MOVLW 8 +0x33F2 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x33F4 0xF007ECAF CALL _led_wr_str, 0 +;main.c,668 :: } +L_lcd_pwr367: +L_lcd_pwr366: +;main.c,669 :: asm CLRWDT; +0x33F8 0x0004 CLRWDT +;main.c,670 :: SWR_old = 10000; +0x33FA 0x0E10 MOVLW 16 +0x33FC 0x0102 MOVLB 2 +0x33FE 0x6F10 MOVWF _SWR_old, 1 +0x3400 0x0E27 MOVLW 39 +0x3402 0x6F11 MOVWF _SWR_old+1, 1 +;main.c,671 :: lcd_swr(SWR_fixed); +0x3404 0xF2F3C2F1 MOVFF lcd_pwr_SWR_fixed_L0, FARG_lcd_swr_swr +0x3408 0xF2F4C2F2 MOVFF lcd_pwr_SWR_fixed_L0+1, FARG_lcd_swr_swr+1 +0x340C 0xF015ECBF CALL _lcd_swr, 0 +;main.c,672 :: } +L_lcd_pwr357: +;main.c,673 :: return; +;main.c,674 :: } +L_end_lcd_pwr: +0x3410 0x0012 RETURN 0 +; end of _lcd_pwr +_Div_16x16_S_L: +;__Lib_Math.c,139 :: +;__Lib_Math.c,146 :: +0x3412 0x3401 RLCF R1, 0, 0 +;__Lib_Math.c,147 :: +0x3414 0x3608 RLCF R8, 1, 0 +;__Lib_Math.c,148 :: +0x3416 0x3609 RLCF R9, 1, 0 +;__Lib_Math.c,149 :: +0x3418 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,150 :: +0x341A 0x5E08 SUBWF R8, 1, 0 +;__Lib_Math.c,151 :: +0x341C 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,152 :: +0x341E 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,153 :: +0x3420 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,154 :: +0x3422 0x5E09 SUBWF R9, 1, 0 +;__Lib_Math.c,155 :: +0x3424 0x3600 RLCF R0, 1, 0 +;__Lib_Math.c,156 :: +0x3426 0x3601 RLCF R1, 1, 0 +;__Lib_Math.c,158 :: +0x3428 0x0E0F MOVLW 15 +;__Lib_Math.c,159 :: +0x342A 0x6E0C MOVWF R12, 0 +;__Lib_Math.c,161 :: +0x342C 0x3401 RLCF R1, 0, 0 +;__Lib_Math.c,162 :: +0x342E 0x3608 RLCF R8, 1, 0 +;__Lib_Math.c,163 :: +0x3430 0x3609 RLCF R9, 1, 0 +;__Lib_Math.c,164 :: +0x3432 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,166 :: +0x3434 0xA000 BTFSS R0, 0, 0 +;__Lib_Math.c,167 :: +0x3436 0xD006 BRA $+14 +;__Lib_Math.c,168 :: +0x3438 0x5E08 SUBWF R8, 1, 0 +;__Lib_Math.c,169 :: +0x343A 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,170 :: +0x343C 0xA0D8 BTFSS STATUS, 0, 0 +;__Lib_Math.c,171 :: +0x343E 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,172 :: +0x3440 0x5E09 SUBWF R9, 1, 0 +;__Lib_Math.c,173 :: +0x3442 0xD005 BRA $+12 +;__Lib_Math.c,175 :: +0x3444 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,176 :: +0x3446 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,177 :: +0x3448 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,178 :: +0x344A 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,179 :: +0x344C 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,181 :: +0x344E 0x3600 RLCF R0, 1, 0 +;__Lib_Math.c,182 :: +0x3450 0x3601 RLCF R1, 1, 0 +;__Lib_Math.c,184 :: +0x3452 0x2E0C DECFSZ R12, 1, 0 +;__Lib_Math.c,185 :: +0x3454 0xD7EB BRA $-40 +;__Lib_Math.c,187 :: +0x3456 0xB000 BTFSC R0, 0, 0 +;__Lib_Math.c,188 :: +0x3458 0xD006 BRA $+14 +;__Lib_Math.c,189 :: +0x345A 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,190 :: +0x345C 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,191 :: +0x345E 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,192 :: +0x3460 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,193 :: +0x3462 0x3C05 INCFSZ R5, 0, 0 +;__Lib_Math.c,194 :: +0x3464 0x2609 ADDWF R9, 1, 0 +;__Lib_Math.c,195 :: +0x3466 0x0000 NOP +;__Lib_Math.c,197 :: +L_end_Div_16x16_S_L: +0x3468 0x0012 RETURN 0 +; end of _Div_16x16_S_L +_show_reset: +;main.c,297 :: void show_reset() { +;main.c,298 :: asm CLRWDT; +0x346A 0x0004 CLRWDT +;main.c,299 :: atu_reset(); +0x346C 0xDCC4 RCALL _atu_reset +;main.c,300 :: SW = 1; +0x346E 0x0E01 MOVLW 1 +0x3470 0x0102 MOVLB 2 +0x3472 0x6F05 MOVWF main_SW, 1 +;main.c,301 :: set_sw(SW); +0x3474 0x0E01 MOVLW 1 +0x3476 0x6FEB MOVWF FARG_set_sw_SW, 1 +0x3478 0xDCB1 RCALL _set_sw +;main.c,302 :: EEPROM_Write(255, 0); +0x347A 0x0EFF MOVLW 255 +0x347C 0x0102 MOVLB 2 +0x347E 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x3480 0x6BEC CLRF FARG_EEPROM_Write_data_, 1 +0x3482 0xDC8D RCALL _EEPROM_Write +;main.c,303 :: EEPROM_Write(254, 0); +0x3484 0x0EFE MOVLW 254 +0x3486 0x0102 MOVLB 2 +0x3488 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x348A 0x6BEC CLRF FARG_EEPROM_Write_data_, 1 +0x348C 0xDC88 RCALL _EEPROM_Write +;main.c,304 :: EEPROM_Write(253, 1); +0x348E 0x0EFD MOVLW 253 +0x3490 0x0102 MOVLB 2 +0x3492 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x3494 0x0E01 MOVLW 1 +0x3496 0x6FEC MOVWF FARG_EEPROM_Write_data_, 1 +0x3498 0xDC82 RCALL _EEPROM_Write +;main.c,305 :: EEPROM_Write(252, 0); +0x349A 0x0EFC MOVLW 252 +0x349C 0x0102 MOVLB 2 +0x349E 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x34A0 0x6BEC CLRF FARG_EEPROM_Write_data_, 1 +0x34A2 0xDC7D RCALL _EEPROM_Write +;main.c,306 :: EEPROM_Write(251, 0); +0x34A4 0x0EFB MOVLW 251 +0x34A6 0x0102 MOVLB 2 +0x34A8 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x34AA 0x6BEC CLRF FARG_EEPROM_Write_data_, 1 +0x34AC 0xDC78 RCALL _EEPROM_Write +;main.c,307 :: lcd_ind(); +0x34AE 0xF008EC3C CALL _lcd_ind, 0 +;main.c,308 :: Loss_mode = 0; +0x34B2 0x0102 MOVLB 2 +0x34B4 0x6B04 CLRF _Loss_mode, 1 +;main.c,309 :: p_Tx = 0; +0x34B6 0x9E89 BCF LATA7_bit, BitPos(LATA7_bit+0) +;main.c,310 :: n_Tx = 1; +0x34B8 0x8689 BSF LATA3_bit, BitPos(LATA3_bit+0) +;main.c,311 :: SWR = 0; +0x34BA 0x6BB7 CLRF _SWR, 1 +0x34BC 0x6BB8 CLRF _SWR+1, 1 +;main.c,312 :: PWR = 0; +0x34BE 0x6BB9 CLRF _PWR, 1 +0x34C0 0x6BBA CLRF _PWR+1, 1 +;main.c,313 :: SWR_fixed_old = 0; +0x34C2 0x6B01 CLRF _SWR_fixed_old, 1 +0x34C4 0x6B02 CLRF _SWR_fixed_old+1, 1 +;main.c,314 :: if(type==4 | type==5) { // 128*64 OLED +0x34C6 0x51C2 MOVF _type, 0, 1 +0x34C8 0x0A04 XORLW 4 +0x34CA 0x0E01 MOVLW 1 +0x34CC 0xA4D8 BTFSS STATUS, 2 +0x34CE 0x0E00 MOVLW 0 +0x34D0 0x6E01 MOVWF R1 +0x34D2 0x51C2 MOVF _type, 0, 1 +0x34D4 0x0A05 XORLW 5 +0x34D6 0x0E01 MOVLW 1 +0x34D8 0xA4D8 BTFSS STATUS, 2 +0x34DA 0x0E00 MOVLW 0 +0x34DC 0x6E00 MOVWF R0 +0x34DE 0x5001 MOVF R1, 0 +0x34E0 0x1200 IORWF R0, 1 +0x34E2 0xE02B BZ L_show_reset230 +;main.c,315 :: led_wr_str (2, 16, "RESET ", 8); +0x34E4 0x0E02 MOVLW 2 +0x34E6 0x0103 MOVLB 3 +0x34E8 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x34EA 0x0E10 MOVLW 16 +0x34EC 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x34EE 0x0E12 MOVLW ?lstr22_main +0x34F0 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x34F2 0x0E02 MOVLW hi_addr(?lstr22_main) +0x34F4 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x34F6 0x0E08 MOVLW 8 +0x34F8 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x34FA 0xF007ECAF CALL _led_wr_str, 0 +;main.c,316 :: asm CLRWDT; +0x34FE 0x0004 CLRWDT +;main.c,317 :: delay_ms(600); +0x3500 0x0E0D MOVLW 13 +0x3502 0x6E0B MOVWF R11, 0 +0x3504 0x0E2D MOVLW 45 +0x3506 0x6E0C MOVWF R12, 0 +0x3508 0x0ED7 MOVLW 215 +0x350A 0x6E0D MOVWF R13, 0 +L_show_reset231: +0x350C 0x2E0D DECFSZ R13, 1, 0 +0x350E 0xD7FE BRA L_show_reset231 +0x3510 0x2E0C DECFSZ R12, 1, 0 +0x3512 0xD7FC BRA L_show_reset231 +0x3514 0x2E0B DECFSZ R11, 1, 0 +0x3516 0xD7FA BRA L_show_reset231 +0x3518 0x0000 NOP +0x351A 0x0000 NOP +;main.c,318 :: led_wr_str (2, 16, "SWR=0.00", 8); +0x351C 0x0E02 MOVLW 2 +0x351E 0x0103 MOVLB 3 +0x3520 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x3522 0x0E10 MOVLW 16 +0x3524 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x3526 0x0E71 MOVLW ?lstr23_main +0x3528 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x352A 0x0E02 MOVLW hi_addr(?lstr23_main) +0x352C 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x352E 0x0E08 MOVLW 8 +0x3530 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x3532 0xF007ECAF CALL _led_wr_str, 0 +;main.c,319 :: asm CLRWDT; +0x3536 0x0004 CLRWDT +;main.c,320 :: } +0x3538 0xD03B BRA L_show_reset232 +L_show_reset230: +;main.c,321 :: else if(type!=0 & type!=6) {// 1602 LCD & 128*32 OLED +0x353A 0x0102 MOVLB 2 +0x353C 0x51C2 MOVF _type, 0, 1 +0x353E 0x0A00 XORLW 0 +0x3540 0x0E00 MOVLW 0 +0x3542 0xA4D8 BTFSS STATUS, 2 +0x3544 0x0E01 MOVLW 1 +0x3546 0x6E01 MOVWF R1 +0x3548 0x51C2 MOVF _type, 0, 1 +0x354A 0x0A06 XORLW 6 +0x354C 0x0E00 MOVLW 0 +0x354E 0xA4D8 BTFSS STATUS, 2 +0x3550 0x0E01 MOVLW 1 +0x3552 0x6E00 MOVWF R0 +0x3554 0x5001 MOVF R1, 0 +0x3556 0x1600 ANDWF R0, 1 +0x3558 0xE029 BZ L_show_reset233 +;main.c,322 :: led_wr_str (1, 0, "RESET ", 8); +0x355A 0x0E01 MOVLW 1 +0x355C 0x0103 MOVLB 3 +0x355E 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x3560 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x3562 0x0E7A MOVLW ?lstr24_main +0x3564 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x3566 0x0E02 MOVLW hi_addr(?lstr24_main) +0x3568 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x356A 0x0E08 MOVLW 8 +0x356C 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x356E 0xF007ECAF CALL _led_wr_str, 0 +;main.c,323 :: asm CLRWDT; +0x3572 0x0004 CLRWDT +;main.c,324 :: delay_ms(600); +0x3574 0x0E0D MOVLW 13 +0x3576 0x6E0B MOVWF R11, 0 +0x3578 0x0E2D MOVLW 45 +0x357A 0x6E0C MOVWF R12, 0 +0x357C 0x0ED7 MOVLW 215 +0x357E 0x6E0D MOVWF R13, 0 +L_show_reset234: +0x3580 0x2E0D DECFSZ R13, 1, 0 +0x3582 0xD7FE BRA L_show_reset234 +0x3584 0x2E0C DECFSZ R12, 1, 0 +0x3586 0xD7FC BRA L_show_reset234 +0x3588 0x2E0B DECFSZ R11, 1, 0 +0x358A 0xD7FA BRA L_show_reset234 +0x358C 0x0000 NOP +0x358E 0x0000 NOP +;main.c,325 :: led_wr_str (1, 0, "SWR=0.00", 8); +0x3590 0x0E01 MOVLW 1 +0x3592 0x0103 MOVLB 3 +0x3594 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x3596 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x3598 0x0E83 MOVLW ?lstr25_main +0x359A 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x359C 0x0E02 MOVLW hi_addr(?lstr25_main) +0x359E 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x35A0 0x0E08 MOVLW 8 +0x35A2 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x35A4 0xF007ECAF CALL _led_wr_str, 0 +;main.c,326 :: asm CLRWDT; +0x35A8 0x0004 CLRWDT +;main.c,327 :: } +0x35AA 0xD002 BRA L_show_reset235 +L_show_reset233: +;main.c,329 :: LATB.B6 = 1; +0x35AC 0x8C8A BSF LATB, 6 +;main.c,330 :: LATB.B7 = 1; +0x35AE 0x8E8A BSF LATB, 7 +;main.c,331 :: } +L_show_reset235: +L_show_reset232: +;main.c,332 :: Low = 0; +0x35B0 0x908B BCF LATC0_bit, BitPos(LATC0_bit+0) +;main.c,333 :: Mid = 0; +0x35B2 0x9C8B BCF LATC6_bit, BitPos(LATC6_bit+0) +;main.c,334 :: High = 0; +0x35B4 0x9E8B BCF LATC7_bit, BitPos(LATC7_bit+0) +;main.c,335 :: SWR_old = 10000; +0x35B6 0x0E10 MOVLW 16 +0x35B8 0x0102 MOVLB 2 +0x35BA 0x6F10 MOVWF _SWR_old, 1 +0x35BC 0x0E27 MOVLW 39 +0x35BE 0x6F11 MOVWF _SWR_old+1, 1 +;main.c,336 :: Power_old = 10000; +0x35C0 0x0E10 MOVLW 16 +0x35C2 0x6F8C MOVWF _Power_old, 1 +0x35C4 0x0E27 MOVLW 39 +0x35C6 0x6F8D MOVWF _Power_old+1, 1 +;main.c,337 :: lcd_pwr(); +0x35C8 0xDC28 RCALL _lcd_pwr +;main.c,338 :: return; +;main.c,339 :: } +L_end_show_reset: +0x35CA 0x0012 RETURN 0 +; end of _show_reset +_Div_16x16_S: +;__Lib_Math.c,200 :: +;__Lib_Math.c,208 :: +0x35CC 0x5004 MOVF R4, 0 +0x35CE 0x0A00 XORLW 0 +0x35D0 0xE108 BNZ L_Div_16x16_S0 +;__Lib_Math.c,209 :: +0x35D2 0x5005 MOVF R5, 0 +0x35D4 0x0A00 XORLW 0 +0x35D6 0xE105 BNZ L_Div_16x16_S1 +;__Lib_Math.c,210 :: +0x35D8 0x0EFF MOVLW 255 +0x35DA 0x6E00 MOVWF R0 +;__Lib_Math.c,211 :: +0x35DC 0x0E7F MOVLW 127 +0x35DE 0x6E01 MOVWF R1 +;__Lib_Math.c,212 :: +0x35E0 0xD057 BRA L_end_Div_16x16_S +;__Lib_Math.c,213 :: +L_Div_16x16_S1: +L_Div_16x16_S0: +;__Lib_Math.c,216 :: +0x35E2 0x6A0D CLRF R13, 0 +;__Lib_Math.c,217 :: +0x35E4 0x6A09 CLRF R9, 0 +;__Lib_Math.c,218 :: +0x35E6 0x6A08 CLRF R8, 0 +;__Lib_Math.c,219 :: +0x35E8 0x5001 MOVF R1, 0, 0 +;__Lib_Math.c,220 :: +0x35EA 0x1000 IORWF R0, 0, 0 +;__Lib_Math.c,221 :: +0x35EC 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,222 :: +0x35EE 0x0C00 RETLW 0 +;__Lib_Math.c,224 :: +0x35F0 0x5001 MOVF R1, 0, 0 +;__Lib_Math.c,225 :: +0x35F2 0x1805 XORWF R5, 0, 0 +;__Lib_Math.c,226 :: +0x35F4 0x6E0A MOVWF R10, 0 +;__Lib_Math.c,227 :: +0x35F6 0xBE0A BTFSC R10, 7, 0 +;__Lib_Math.c,228 :: +0x35F8 0x1E0D COMF R13, 1, 0 +;__Lib_Math.c,230 :: +0x35FA 0x6A0B CLRF R11, 0 +;__Lib_Math.c,232 :: +0x35FC 0xAE05 BTFSS R5, 7, 0 +;__Lib_Math.c,233 :: +0x35FE 0xD005 BRA $+12 +;__Lib_Math.c,235 :: +0x3600 0x1E04 COMF R4, 1, 0 +;__Lib_Math.c,236 :: +0x3602 0x1E05 COMF R5, 1, 0 +;__Lib_Math.c,237 :: +0x3604 0x2A04 INCF R4, 1, 0 +;__Lib_Math.c,238 :: +0x3606 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,239 :: +0x3608 0x2A05 INCF R5, 1, 0 +;__Lib_Math.c,241 :: +0x360A 0xAE01 BTFSS R1, 7, 0 +;__Lib_Math.c,242 :: +0x360C 0xD005 BRA $+12 +;__Lib_Math.c,244 :: +0x360E 0x1E00 COMF R0, 1, 0 +;__Lib_Math.c,245 :: +0x3610 0x1E01 COMF R1, 1, 0 +;__Lib_Math.c,246 :: +0x3612 0x2A00 INCF R0, 1, 0 +;__Lib_Math.c,247 :: +0x3614 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,248 :: +0x3616 0x2A01 INCF R1, 1, 0 +;__Lib_Math.c,250 :: +0x3618 0x5001 MOVF R1, 0, 0 +;__Lib_Math.c,251 :: +0x361A 0x1005 IORWF R5, 0, 0 +;__Lib_Math.c,252 :: +0x361C 0x6E0A MOVWF R10, 0 +;__Lib_Math.c,253 :: +0x361E 0xBE0A BTFSC R10, 7, 0 +;__Lib_Math.c,254 :: +0x3620 0xD010 BRA $+34 +;__Lib_Math.c,256 :: +0x3622 0xDEF7 RCALL _Div_16x16_S_L +;__Lib_Math.c,258 :: +0x3624 0xB00B BTFSC R11, 0, 0 +;__Lib_Math.c,259 :: +0x3626 0xD020 BRA $+66 +;__Lib_Math.c,261 :: +0x3628 0xAE0D BTFSS R13, 7, 0 +;__Lib_Math.c,262 :: +0x362A 0x0C00 RETLW 0 +;__Lib_Math.c,264 :: +0x362C 0x1E00 COMF R0, 1, 0 +;__Lib_Math.c,265 :: +0x362E 0x1E01 COMF R1, 1, 0 +;__Lib_Math.c,266 :: +0x3630 0x2A00 INCF R0, 1, 0 +;__Lib_Math.c,267 :: +0x3632 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,268 :: +0x3634 0x2A01 INCF R1, 1, 0 +;__Lib_Math.c,270 :: +0x3636 0x1E08 COMF R8, 1, 0 +;__Lib_Math.c,271 :: +0x3638 0x1E09 COMF R9, 1, 0 +;__Lib_Math.c,272 :: +0x363A 0x2A08 INCF R8, 1, 0 +;__Lib_Math.c,273 :: +0x363C 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,274 :: +0x363E 0x2A09 INCF R9, 1, 0 +;__Lib_Math.c,276 :: +0x3640 0x0C00 RETLW 0 +;__Lib_Math.c,278 :: +0x3642 0xAE05 BTFSS R5, 7, 0 +;__Lib_Math.c,279 :: +0x3644 0xD00D BRA $+28 +;__Lib_Math.c,280 :: +0x3646 0xBE01 BTFSC R1, 7, 0 +;__Lib_Math.c,281 :: +0x3648 0xD007 BRA $+16 +;__Lib_Math.c,282 :: +0x364A 0x5001 MOVF R1, 0, 0 +;__Lib_Math.c,283 :: +0x364C 0x6E09 MOVWF R9, 0 +;__Lib_Math.c,284 :: +0x364E 0x5000 MOVF R0, 0, 0 +;__Lib_Math.c,285 :: +0x3650 0x6E08 MOVWF R8, 0 +;__Lib_Math.c,286 :: +0x3652 0x6A01 CLRF R1, 0 +;__Lib_Math.c,287 :: +0x3654 0x6A00 CLRF R0, 0 +;__Lib_Math.c,288 :: +0x3656 0xD7E8 BRA $-46 +;__Lib_Math.c,289 :: +0x3658 0x6A01 CLRF R1, 0 +;__Lib_Math.c,290 :: +0x365A 0x6A00 CLRF R0, 0 +;__Lib_Math.c,291 :: +0x365C 0x2A00 INCF R0, 1, 0 +;__Lib_Math.c,292 :: +0x365E 0x0C00 RETLW 0 +;__Lib_Math.c,294 :: +0x3660 0x1E01 COMF R1, 1, 0 +;__Lib_Math.c,295 :: +0x3662 0x1E00 COMF R0, 1, 0 +;__Lib_Math.c,296 :: +0x3664 0x2A0B INCF R11, 1, 0 +;__Lib_Math.c,297 :: +0x3666 0xD7DD BRA $-68 +;__Lib_Math.c,299 :: +0x3668 0x2A08 INCF R8, 1, 0 +;__Lib_Math.c,300 :: +0x366A 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,301 :: +0x366C 0x2A09 INCF R9, 1, 0 +;__Lib_Math.c,302 :: +0x366E 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,303 :: +0x3670 0x5C08 SUBWF R8, 0, 0 +;__Lib_Math.c,304 :: +0x3672 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_Math.c,305 :: +0x3674 0xD7D9 BRA $-76 +;__Lib_Math.c,306 :: +0x3676 0x5005 MOVF R5, 0, 0 +;__Lib_Math.c,307 :: +0x3678 0x5C09 SUBWF R9, 0, 0 +;__Lib_Math.c,308 :: +0x367A 0xA4D8 BTFSS STATUS, 2, 0 +;__Lib_Math.c,309 :: +0x367C 0xD7D5 BRA $-84 +;__Lib_Math.c,310 :: +0x367E 0x6A09 CLRF R9, 0 +;__Lib_Math.c,311 :: +0x3680 0x6A08 CLRF R8, 0 +;__Lib_Math.c,312 :: +0x3682 0x2A00 INCF R0, 1, 0 +;__Lib_Math.c,313 :: +0x3684 0xB4D8 BTFSC STATUS, 2, 0 +;__Lib_Math.c,314 :: +0x3686 0x2A01 INCF R1, 1, 0 +;__Lib_Math.c,315 :: +0x3688 0xAE01 BTFSS R1, 7, 0 +;__Lib_Math.c,316 :: +0x368A 0xD7CE BRA $-98 +;__Lib_Math.c,317 :: +0x368C 0x0000 NOP +;__Lib_Math.c,318 :: +0x368E 0x0CFF RETLW 255 +;__Lib_Math.c,320 :: +L_end_Div_16x16_S: +0x3690 0x0012 RETURN 0 +; end of _Div_16x16_S +_get_swr: +;main.h,104 :: int get_swr() { +;main.h,105 :: get_pwr(); +0x3692 0xF010EC80 CALL _get_pwr, 0 +;main.h,106 :: if(p_cnt!=100) { +0x3696 0x5170 MOVF _p_cnt, 0, 1 +0x3698 0x0A64 XORLW 100 +0x369A 0xE010 BZ L_get_swr34 +;main.h,107 :: p_cnt += 1; +0x369C 0x2B70 INCF _p_cnt, 1, 1 +;main.h,108 :: if(PWR>P_max) P_max = PWR; +0x369E 0x0E80 MOVLW 128 +0x36A0 0x196E XORWF _P_max+1, 0, 1 +0x36A2 0x6E00 MOVWF R0 +0x36A4 0x0E80 MOVLW 128 +0x36A6 0x19BA XORWF _PWR+1, 0, 1 +0x36A8 0x5C00 SUBWF R0, 0 +0x36AA 0xE102 BNZ L__get_swr467 +0x36AC 0x51B9 MOVF _PWR, 0, 1 +0x36AE 0x5D6D SUBWF _P_max, 0, 1 +L__get_swr467: +0x36B0 0xE204 BC L_get_swr35 +0x36B2 0xF26DC2B9 MOVFF _PWR, _P_max +0x36B6 0xF26EC2BA MOVFF _PWR+1, _P_max+1 +L_get_swr35: +;main.h,109 :: } +0x36BA 0xD00E BRA L_get_swr36 +L_get_swr34: +;main.h,111 :: p_cnt = 0; +0x36BC 0x6B70 CLRF _p_cnt, 1 +;main.h,112 :: show_pwr(P_max, SWR); +0x36BE 0xF2F3C26D MOVFF _P_max, FARG_show_pwr_Power +0x36C2 0xF2F4C26E MOVFF _P_max+1, FARG_show_pwr_Power+1 +0x36C6 0xF2F5C2B7 MOVFF _SWR, FARG_show_pwr_SWR +0x36CA 0xF2F6C2B8 MOVFF _SWR+1, FARG_show_pwr_SWR+1 +0x36CE 0xF011ECDF CALL _show_pwr, 0 +;main.h,113 :: P_max = 0; +0x36D2 0x0102 MOVLB 2 +0x36D4 0x6B6D CLRF _P_max, 1 +0x36D6 0x6B6E CLRF _P_max+1, 1 +;main.h,114 :: } +L_get_swr36: +;main.h,116 :: while((PWR max_for_start & max_for_start>0))) { // waiting for good power +L_get_swr37: +0x36D8 0x0E80 MOVLW 128 +0x36DA 0x19BA XORWF _PWR+1, 0, 1 +0x36DC 0x6E02 MOVWF R2 +0x36DE 0x0E80 MOVLW 128 +0x36E0 0x19D1 XORWF main_min_for_start+1, 0, 1 +0x36E2 0x5C02 SUBWF R2, 0 +0x36E4 0xE102 BNZ L__get_swr468 +0x36E6 0x51D0 MOVF main_min_for_start, 0, 1 +0x36E8 0x5DB9 SUBWF _PWR, 0, 1 +L__get_swr468: +0x36EA 0x0E01 MOVLW 1 +0x36EC 0xB0D8 BTFSC STATUS, 0 +0x36EE 0x0E00 MOVLW 0 +0x36F0 0x6E02 MOVWF R2 +0x36F2 0x0E80 MOVLW 128 +0x36F4 0x19D3 XORWF main_max_for_start+1, 0, 1 +0x36F6 0x6E01 MOVWF R1 +0x36F8 0x0E80 MOVLW 128 +0x36FA 0x19BA XORWF _PWR+1, 0, 1 +0x36FC 0x5C01 SUBWF R1, 0 +0x36FE 0xE102 BNZ L__get_swr469 +0x3700 0x51B9 MOVF _PWR, 0, 1 +0x3702 0x5DD2 SUBWF main_max_for_start, 0, 1 +L__get_swr469: +0x3704 0x0E01 MOVLW 1 +0x3706 0xB0D8 BTFSC STATUS, 0 +0x3708 0x0E00 MOVLW 0 +0x370A 0x6E01 MOVWF R1 +0x370C 0x0E80 MOVLW 128 +0x370E 0x6E00 MOVWF R0 +0x3710 0x0E80 MOVLW 128 +0x3712 0x19D3 XORWF main_max_for_start+1, 0, 1 +0x3714 0x5C00 SUBWF R0, 0 +0x3716 0xE102 BNZ L__get_swr470 +0x3718 0x51D2 MOVF main_max_for_start, 0, 1 +0x371A 0x0800 SUBLW 0 +L__get_swr470: +0x371C 0x0E01 MOVLW 1 +0x371E 0xB0D8 BTFSC STATUS, 0 +0x3720 0x0E00 MOVLW 0 +0x3722 0x6E00 MOVWF R0 +0x3724 0x5001 MOVF R1, 0 +0x3726 0x1600 ANDWF R0, 1 +0x3728 0x5002 MOVF R2, 0 +0x372A 0x1200 IORWF R0, 1 +0x372C 0xE052 BZ L_get_swr38 +;main.h,117 :: asm CLRWDT; +0x372E 0x0004 CLRWDT +;main.h,118 :: get_pwr(); +0x3730 0xF010EC80 CALL _get_pwr, 0 +;main.h,119 :: if(p_cnt!=100) { +0x3734 0x5170 MOVF _p_cnt, 0, 1 +0x3736 0x0A64 XORLW 100 +0x3738 0xE010 BZ L_get_swr39 +;main.h,120 :: p_cnt += 1; +0x373A 0x2B70 INCF _p_cnt, 1, 1 +;main.h,121 :: if(PWR>P_max) P_max = PWR; +0x373C 0x0E80 MOVLW 128 +0x373E 0x196E XORWF _P_max+1, 0, 1 +0x3740 0x6E00 MOVWF R0 +0x3742 0x0E80 MOVLW 128 +0x3744 0x19BA XORWF _PWR+1, 0, 1 +0x3746 0x5C00 SUBWF R0, 0 +0x3748 0xE102 BNZ L__get_swr471 +0x374A 0x51B9 MOVF _PWR, 0, 1 +0x374C 0x5D6D SUBWF _P_max, 0, 1 +L__get_swr471: +0x374E 0xE204 BC L_get_swr40 +0x3750 0xF26DC2B9 MOVFF _PWR, _P_max +0x3754 0xF26EC2BA MOVFF _PWR+1, _P_max+1 +L_get_swr40: +;main.h,122 :: } +0x3758 0xD00E BRA L_get_swr41 +L_get_swr39: +;main.h,124 :: p_cnt = 0; +0x375A 0x6B70 CLRF _p_cnt, 1 +;main.h,125 :: show_pwr(P_max, SWR); +0x375C 0xF2F3C26D MOVFF _P_max, FARG_show_pwr_Power +0x3760 0xF2F4C26E MOVFF _P_max+1, FARG_show_pwr_Power+1 +0x3764 0xF2F5C2B7 MOVFF _SWR, FARG_show_pwr_SWR +0x3768 0xF2F6C2B8 MOVFF _SWR+1, FARG_show_pwr_SWR+1 +0x376C 0xF011ECDF CALL _show_pwr, 0 +;main.h,126 :: P_max = 0; +0x3770 0x0102 MOVLB 2 +0x3772 0x6B6D CLRF _P_max, 1 +0x3774 0x6B6E CLRF _P_max+1, 1 +;main.h,127 :: } +L_get_swr41: +;main.h,129 :: if(Button(&PORTB, 0, 5, 1)) rready = 1; +0x3776 0x0E81 MOVLW PORTB +0x3778 0x0103 MOVLB 3 +0x377A 0x6F11 MOVWF FARG_Button_port, 1 +0x377C 0x0E0F MOVLW hi_addr(PORTB) +0x377E 0x6F12 MOVWF FARG_Button_port+1, 1 +0x3780 0x6B13 CLRF FARG_Button_pin, 1 +0x3782 0x0E05 MOVLW 5 +0x3784 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x3786 0x0E01 MOVLW 1 +0x3788 0x6F15 MOVWF FARG_Button_active_state, 1 +0x378A 0xF00BEC22 CALL _Button, 0 +0x378E 0x5200 MOVF R0, 1 +0x3790 0xE003 BZ L_get_swr42 +0x3792 0x0E01 MOVLW 1 +0x3794 0x0102 MOVLB 2 +0x3796 0x6F6F MOVWF _rready, 1 +L_get_swr42: +0x3798 0x0102 MOVLB 2 +;main.h,130 :: if(rready==1 & Button(&PORTB, 0, 5, 0)) { // press button Tune +0x379A 0x516F MOVF _rready, 0, 1 +0x379C 0x0A01 XORLW 1 +0x379E 0x0E01 MOVLW 1 +0x37A0 0xA4D8 BTFSS STATUS, 2 +0x37A2 0x0E00 MOVLW 0 +0x37A4 0x6FEA MOVWF FLOC__get_swr, 1 +0x37A6 0x0E81 MOVLW PORTB +0x37A8 0x0103 MOVLB 3 +0x37AA 0x6F11 MOVWF FARG_Button_port, 1 +0x37AC 0x0E0F MOVLW hi_addr(PORTB) +0x37AE 0x6F12 MOVWF FARG_Button_port+1, 1 +0x37B0 0x6B13 CLRF FARG_Button_pin, 1 +0x37B2 0x0E05 MOVLW 5 +0x37B4 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x37B6 0x6B15 CLRF FARG_Button_active_state, 1 +0x37B8 0xF00BEC22 CALL _Button, 0 +0x37BC 0x0102 MOVLB 2 +0x37BE 0x51EA MOVF FLOC__get_swr, 0, 1 +0x37C0 0x1600 ANDWF R0, 1 +0x37C2 0xE006 BZ L_get_swr43 +;main.h,131 :: show_reset(); +0x37C4 0xDE52 RCALL _show_reset +;main.h,132 :: SWR = 0; +0x37C6 0x6BB7 CLRF _SWR, 1 +0x37C8 0x6BB8 CLRF _SWR+1, 1 +;main.h,133 :: return SWR; +0x37CA 0x6A00 CLRF R0 +0x37CC 0x6A01 CLRF R1 +0x37CE 0xD005 BRA L_end_get_swr +;main.h,134 :: } +L_get_swr43: +;main.h,135 :: } // good power +0x37D0 0xD783 BRA L_get_swr37 +L_get_swr38: +;main.h,136 :: return SWR; +0x37D2 0xF000C2B7 MOVFF _SWR, R0 +0x37D6 0xF001C2B8 MOVFF _SWR+1, R1 +;main.h,137 :: } +L_end_get_swr: +0x37DA 0x0012 RETURN 0 +; end of _get_swr +_coarse_cap: +;main.h,173 :: void coarse_cap() { +;main.h,174 :: char step = 3; +0x37DC 0x0E03 MOVLW 3 +0x37DE 0x0102 MOVLB 2 +0x37E0 0x6FE7 MOVWF coarse_cap_step_L0, 1 +;main.h,178 :: cap = 0; +0x37E2 0x0101 MOVLB 1 +0x37E4 0x6BFF CLRF main_cap, 1 +;main.h,179 :: set_cap(cap); +0x37E6 0x0102 MOVLB 2 +0x37E8 0x6BF3 CLRF FARG_set_cap_Cap, 1 +0x37EA 0xF011ECBE CALL _set_cap, 0 +;main.h,180 :: SWR = get_swr(); +0x37EE 0xDF51 RCALL _get_swr +0x37F0 0xF2E8C000 MOVFF R0, FLOC__coarse_cap +0x37F4 0xF2E9C001 MOVFF R1, FLOC__coarse_cap+1 +0x37F8 0xF2B7C2E8 MOVFF FLOC__coarse_cap, _SWR +0x37FC 0xF2B8C2E9 MOVFF FLOC__coarse_cap+1, _SWR+1 +;main.h,181 :: min_swr = SWR + SWR/20; +0x3800 0x0E14 MOVLW 20 +0x3802 0x6E04 MOVWF R4 +0x3804 0x0E00 MOVLW 0 +0x3806 0x6E05 MOVWF R5 +0x3808 0xF000C2E8 MOVFF FLOC__coarse_cap, R0 +0x380C 0xF001C2E9 MOVFF FLOC__coarse_cap+1, R1 +0x3810 0xDEDD RCALL _Div_16x16_S +0x3812 0x5000 MOVF R0, 0 +0x3814 0x0102 MOVLB 2 +0x3816 0x25E8 ADDWF FLOC__coarse_cap, 0, 1 +0x3818 0x6FE5 MOVWF coarse_cap_min_swr_L0, 1 +0x381A 0x5001 MOVF R1, 0 +0x381C 0x21E9 ADDWFC FLOC__coarse_cap+1, 0, 1 +0x381E 0x6FE6 MOVWF coarse_cap_min_swr_L0+1, 1 +;main.h,182 :: for(count=step; count<=31;) { +0x3820 0xF2E4C2E7 MOVFF coarse_cap_step_L0, coarse_cap_count_L0 +L_coarse_cap44: +0x3824 0x51E4 MOVF coarse_cap_count_L0, 0, 1 +0x3826 0x081F SUBLW 31 +0x3828 0xE346 BNC L_coarse_cap45 +;main.h,183 :: set_cap(count); +0x382A 0xF2F3C2E4 MOVFF coarse_cap_count_L0, FARG_set_cap_Cap +0x382E 0xF011ECBE CALL _set_cap, 0 +;main.h,184 :: SWR = get_swr(); +0x3832 0xDF2F RCALL _get_swr +0x3834 0xF2B7C000 MOVFF R0, _SWR +0x3838 0xF2B8C001 MOVFF R1, _SWR+1 +;main.h,185 :: if(SWR < min_swr) { +0x383C 0x0E80 MOVLW 128 +0x383E 0x1801 XORWF R1, 0 +0x3840 0x6E02 MOVWF R2 +0x3842 0x0E80 MOVLW 128 +0x3844 0x19E6 XORWF coarse_cap_min_swr_L0+1, 0, 1 +0x3846 0x5C02 SUBWF R2, 0 +0x3848 0xE102 BNZ L__coarse_cap499 +0x384A 0x51E5 MOVF coarse_cap_min_swr_L0, 0, 1 +0x384C 0x5C00 SUBWF R0, 0 +L__coarse_cap499: +0x384E 0xE231 BC L_coarse_cap47 +;main.h,186 :: min_swr = SWR + SWR/20; +0x3850 0x0E14 MOVLW 20 +0x3852 0x6E04 MOVWF R4 +0x3854 0x0E00 MOVLW 0 +0x3856 0x6E05 MOVWF R5 +0x3858 0xF000C2B7 MOVFF _SWR, R0 +0x385C 0xF001C2B8 MOVFF _SWR+1, R1 +0x3860 0xDEB5 RCALL _Div_16x16_S +0x3862 0x5000 MOVF R0, 0 +0x3864 0x0102 MOVLB 2 +0x3866 0x25B7 ADDWF _SWR, 0, 1 +0x3868 0x6FE5 MOVWF coarse_cap_min_swr_L0, 1 +0x386A 0x5001 MOVF R1, 0 +0x386C 0x21B8 ADDWFC _SWR+1, 0, 1 +0x386E 0x6FE6 MOVWF coarse_cap_min_swr_L0+1, 1 +;main.h,187 :: cap = count; +0x3870 0xF1FFC2E4 MOVFF coarse_cap_count_L0, main_cap +;main.h,188 :: step_cap = step; +0x3874 0xF203C2E7 MOVFF coarse_cap_step_L0, main_step_cap +;main.h,189 :: if(SWR<120) break; +0x3878 0x0E80 MOVLW 128 +0x387A 0x19B8 XORWF _SWR+1, 0, 1 +0x387C 0x6E00 MOVWF R0 +0x387E 0x0E80 MOVLW 128 +0x3880 0x5C00 SUBWF R0, 0 +0x3882 0xE102 BNZ L__coarse_cap500 +0x3884 0x0E78 MOVLW 120 +0x3886 0x5DB7 SUBWF _SWR, 0, 1 +L__coarse_cap500: +0x3888 0xE201 BC L_coarse_cap48 +0x388A 0xD015 BRA L_coarse_cap45 +L_coarse_cap48: +;main.h,190 :: count += step; +0x388C 0x51E7 MOVF coarse_cap_step_L0, 0, 1 +0x388E 0x25E4 ADDWF coarse_cap_count_L0, 0, 1 +0x3890 0x6E01 MOVWF R1 +0x3892 0xF2E4C001 MOVFF R1, coarse_cap_count_L0 +;main.h,191 :: if(count==9) count = 8; +0x3896 0x5001 MOVF R1, 0 +0x3898 0x0A09 XORLW 9 +0x389A 0xE103 BNZ L_coarse_cap49 +0x389C 0x0E08 MOVLW 8 +0x389E 0x6FE4 MOVWF coarse_cap_count_L0, 1 +0x38A0 0xD007 BRA L_coarse_cap50 +L_coarse_cap49: +;main.h,192 :: else if(count==17) {count = 16; step = 4;} +0x38A2 0x51E4 MOVF coarse_cap_count_L0, 0, 1 +0x38A4 0x0A11 XORLW 17 +0x38A6 0xE104 BNZ L_coarse_cap51 +0x38A8 0x0E10 MOVLW 16 +0x38AA 0x6FE4 MOVWF coarse_cap_count_L0, 1 +0x38AC 0x0E04 MOVLW 4 +0x38AE 0x6FE7 MOVWF coarse_cap_step_L0, 1 +L_coarse_cap51: +L_coarse_cap50: +;main.h,193 :: } +0x38B0 0xD001 BRA L_coarse_cap52 +L_coarse_cap47: +;main.h,194 :: else break; +0x38B2 0xD001 BRA L_coarse_cap45 +L_coarse_cap52: +;main.h,195 :: } +0x38B4 0xD7B7 BRA L_coarse_cap44 +L_coarse_cap45: +;main.h,196 :: set_cap(cap); +0x38B6 0xF2F3C1FF MOVFF main_cap, FARG_set_cap_Cap +0x38BA 0xF011ECBE CALL _set_cap, 0 +;main.h,197 :: return; +;main.h,198 :: } +L_end_coarse_cap: +0x38BE 0x0012 RETURN 0 +; end of _coarse_cap +_sharp_ind: +;main.h,266 :: void sharp_ind() { +;main.h,269 :: range = step_ind; +0x38C0 0xF2DEC200 MOVFF main_step_ind, sharp_ind_range_L0 +;main.h,271 :: max_range = ind + range; +0x38C4 0x0102 MOVLB 2 +0x38C6 0x5100 MOVF main_step_ind, 0, 1 +0x38C8 0x0101 MOVLB 1 +0x38CA 0x25FE ADDWF main_ind, 0, 1 +0x38CC 0x6E01 MOVWF R1 +0x38CE 0xF2E0C001 MOVFF R1, sharp_ind_max_range_L0 +;main.h,272 :: if(max_range>31) max_range = 31; +0x38D2 0x5001 MOVF R1, 0 +0x38D4 0x081F SUBLW 31 +0x38D6 0xE203 BC L_sharp_ind78 +0x38D8 0x0E1F MOVLW 31 +0x38DA 0x0102 MOVLB 2 +0x38DC 0x6FE0 MOVWF sharp_ind_max_range_L0, 1 +L_sharp_ind78: +;main.h,273 :: if(ind>range) min_range = ind - range; else min_range = 0; +0x38DE 0x0101 MOVLB 1 +0x38E0 0x51FE MOVF main_ind, 0, 1 +0x38E2 0x0102 MOVLB 2 +0x38E4 0x5DDE SUBWF sharp_ind_range_L0, 0, 1 +0x38E6 0xE206 BC L_sharp_ind79 +0x38E8 0x51DE MOVF sharp_ind_range_L0, 0, 1 +0x38EA 0x0101 MOVLB 1 +0x38EC 0x5DFE SUBWF main_ind, 0, 1 +0x38EE 0x0102 MOVLB 2 +0x38F0 0x6FE1 MOVWF sharp_ind_min_range_L0, 1 +0x38F2 0xD001 BRA L_sharp_ind80 +L_sharp_ind79: +0x38F4 0x6BE1 CLRF sharp_ind_min_range_L0, 1 +L_sharp_ind80: +;main.h,274 :: ind = min_range; +0x38F6 0xF1FEC2E1 MOVFF sharp_ind_min_range_L0, main_ind +;main.h,275 :: set_ind(ind); +0x38FA 0xF2F3C2E1 MOVFF sharp_ind_min_range_L0, FARG_set_ind_Ind +0x38FE 0xF010EC5F CALL _set_ind, 0 +;main.h,276 :: SWR = get_swr(); +0x3902 0xDEC7 RCALL _get_swr +0x3904 0xF2B7C000 MOVFF R0, _SWR +0x3908 0xF2B8C001 MOVFF R1, _SWR+1 +;main.h,277 :: if(SWR==0) return; +0x390C 0x0E00 MOVLW 0 +0x390E 0x1801 XORWF R1, 0 +0x3910 0xE102 BNZ L__sharp_ind512 +0x3912 0x0E00 MOVLW 0 +0x3914 0x1800 XORWF R0, 0 +L__sharp_ind512: +0x3916 0xE101 BNZ L_sharp_ind81 +0x3918 0xD06E BRA L_end_sharp_ind +L_sharp_ind81: +;main.h,278 :: min_SWR = SWR; +0x391A 0xF2E2C2B7 MOVFF _SWR, sharp_ind_min_SWR_L0 +0x391E 0xF2E3C2B8 MOVFF _SWR+1, sharp_ind_min_SWR_L0+1 +;main.h,279 :: for(count=min_range+1; count<=max_range; count++) { +0x3922 0x51E1 MOVF sharp_ind_min_range_L0, 0, 1 +0x3924 0x0F01 ADDLW 1 +0x3926 0x6FDF MOVWF sharp_ind_count_L0, 1 +L_sharp_ind82: +0x3928 0x51DF MOVF sharp_ind_count_L0, 0, 1 +0x392A 0x5DE0 SUBWF sharp_ind_max_range_L0, 0, 1 +0x392C 0xE360 BNC L_sharp_ind83 +;main.h,280 :: set_ind(count); +0x392E 0xF2F3C2DF MOVFF sharp_ind_count_L0, FARG_set_ind_Ind +0x3932 0xF010EC5F CALL _set_ind, 0 +;main.h,281 :: SWR = get_swr(); +0x3936 0xDEAD RCALL _get_swr +0x3938 0xF2B7C000 MOVFF R0, _SWR +0x393C 0xF2B8C001 MOVFF R1, _SWR+1 +;main.h,282 :: if(SWR==0) return; +0x3940 0x0E00 MOVLW 0 +0x3942 0x1801 XORWF R1, 0 +0x3944 0xE102 BNZ L__sharp_ind513 +0x3946 0x0E00 MOVLW 0 +0x3948 0x1800 XORWF R0, 0 +L__sharp_ind513: +0x394A 0xE101 BNZ L_sharp_ind85 +0x394C 0xD054 BRA L_end_sharp_ind +L_sharp_ind85: +;main.h,283 :: if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } +0x394E 0x0E80 MOVLW 128 +0x3950 0x19B8 XORWF _SWR+1, 0, 1 +0x3952 0x6E00 MOVWF R0 +0x3954 0x0E80 MOVLW 128 +0x3956 0x19E3 XORWF sharp_ind_min_SWR_L0+1, 0, 1 +0x3958 0x5C00 SUBWF R0, 0 +0x395A 0xE102 BNZ L__sharp_ind514 +0x395C 0x51E2 MOVF sharp_ind_min_SWR_L0, 0, 1 +0x395E 0x5DB7 SUBWF _SWR, 0, 1 +L__sharp_ind514: +0x3960 0xE30F BNC L_sharp_ind86 +0x3962 0x0E34 MOVLW 52 +0x3964 0x6E0C MOVWF R12, 0 +0x3966 0x0EF1 MOVLW 241 +0x3968 0x6E0D MOVWF R13, 0 +L_sharp_ind87: +0x396A 0x2E0D DECFSZ R13, 1, 0 +0x396C 0xD7FE BRA L_sharp_ind87 +0x396E 0x2E0C DECFSZ R12, 1, 0 +0x3970 0xD7FC BRA L_sharp_ind87 +0x3972 0x0000 NOP +0x3974 0x0000 NOP +0x3976 0xDE8D RCALL _get_swr +0x3978 0xF2B7C000 MOVFF R0, _SWR +0x397C 0xF2B8C001 MOVFF R1, _SWR+1 +L_sharp_ind86: +;main.h,284 :: if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } +0x3980 0x0E80 MOVLW 128 +0x3982 0x19B8 XORWF _SWR+1, 0, 1 +0x3984 0x6E00 MOVWF R0 +0x3986 0x0E80 MOVLW 128 +0x3988 0x19E3 XORWF sharp_ind_min_SWR_L0+1, 0, 1 +0x398A 0x5C00 SUBWF R0, 0 +0x398C 0xE102 BNZ L__sharp_ind515 +0x398E 0x51E2 MOVF sharp_ind_min_SWR_L0, 0, 1 +0x3990 0x5DB7 SUBWF _SWR, 0, 1 +L__sharp_ind515: +0x3992 0xE30F BNC L_sharp_ind88 +0x3994 0x0E34 MOVLW 52 +0x3996 0x6E0C MOVWF R12, 0 +0x3998 0x0EF1 MOVLW 241 +0x399A 0x6E0D MOVWF R13, 0 +L_sharp_ind89: +0x399C 0x2E0D DECFSZ R13, 1, 0 +0x399E 0xD7FE BRA L_sharp_ind89 +0x39A0 0x2E0C DECFSZ R12, 1, 0 +0x39A2 0xD7FC BRA L_sharp_ind89 +0x39A4 0x0000 NOP +0x39A6 0x0000 NOP +0x39A8 0xDE74 RCALL _get_swr +0x39AA 0xF2B7C000 MOVFF R0, _SWR +0x39AE 0xF2B8C001 MOVFF R1, _SWR+1 +L_sharp_ind88: +;main.h,285 :: if(SWR < min_SWR) { +0x39B2 0x0E80 MOVLW 128 +0x39B4 0x19B8 XORWF _SWR+1, 0, 1 +0x39B6 0x6E00 MOVWF R0 +0x39B8 0x0E80 MOVLW 128 +0x39BA 0x19E3 XORWF sharp_ind_min_SWR_L0+1, 0, 1 +0x39BC 0x5C00 SUBWF R0, 0 +0x39BE 0xE102 BNZ L__sharp_ind516 +0x39C0 0x51E2 MOVF sharp_ind_min_SWR_L0, 0, 1 +0x39C2 0x5DB7 SUBWF _SWR, 0, 1 +L__sharp_ind516: +0x39C4 0xE211 BC L_sharp_ind90 +;main.h,286 :: min_SWR = SWR; +0x39C6 0xF2E2C2B7 MOVFF _SWR, sharp_ind_min_SWR_L0 +0x39CA 0xF2E3C2B8 MOVFF _SWR+1, sharp_ind_min_SWR_L0+1 +;main.h,287 :: ind = count; +0x39CE 0xF1FEC2DF MOVFF sharp_ind_count_L0, main_ind +;main.h,288 :: if(SWR<120) break; +0x39D2 0x0E80 MOVLW 128 +0x39D4 0x19B8 XORWF _SWR+1, 0, 1 +0x39D6 0x6E00 MOVWF R0 +0x39D8 0x0E80 MOVLW 128 +0x39DA 0x5C00 SUBWF R0, 0 +0x39DC 0xE102 BNZ L__sharp_ind517 +0x39DE 0x0E78 MOVLW 120 +0x39E0 0x5DB7 SUBWF _SWR, 0, 1 +L__sharp_ind517: +0x39E2 0xE201 BC L_sharp_ind91 +0x39E4 0xD004 BRA L_sharp_ind83 +L_sharp_ind91: +;main.h,289 :: } +0x39E6 0xD001 BRA L_sharp_ind92 +L_sharp_ind90: +;main.h,290 :: else break; +0x39E8 0xD002 BRA L_sharp_ind83 +L_sharp_ind92: +;main.h,279 :: for(count=min_range+1; count<=max_range; count++) { +0x39EA 0x2BDF INCF sharp_ind_count_L0, 1, 1 +;main.h,291 :: } +0x39EC 0xD79D BRA L_sharp_ind82 +L_sharp_ind83: +;main.h,292 :: set_ind(ind); +0x39EE 0xF2F3C1FE MOVFF main_ind, FARG_set_ind_Ind +0x39F2 0xF010EC5F CALL _set_ind, 0 +;main.h,293 :: return; +;main.h,294 :: } +L_end_sharp_ind: +0x39F6 0x0012 RETURN 0 +; end of _sharp_ind +_coarse_tune: +;main.h,200 :: void coarse_tune() { +;main.h,201 :: char step = 3; +0x39F8 0x0E03 MOVLW 3 +0x39FA 0x0102 MOVLB 2 +0x39FC 0x6FE3 MOVWF coarse_tune_step_L0, 1 +;main.h,206 :: mem_cap = 0; +0x39FE 0x6BDF CLRF coarse_tune_mem_cap_L0, 1 +;main.h,207 :: step_ind = step; +0x3A00 0xF200C2E3 MOVFF coarse_tune_step_L0, main_step_ind +;main.h,208 :: mem_step_cap = 3; +0x3A04 0x0E03 MOVLW 3 +0x3A06 0x6FE0 MOVWF coarse_tune_mem_step_cap_L0, 1 +;main.h,209 :: min_swr = SWR + SWR/20; +0x3A08 0x0E14 MOVLW 20 +0x3A0A 0x6E04 MOVWF R4 +0x3A0C 0x0E00 MOVLW 0 +0x3A0E 0x6E05 MOVWF R5 +0x3A10 0xF000C2B7 MOVFF _SWR, R0 +0x3A14 0xF001C2B8 MOVFF _SWR+1, R1 +0x3A18 0xDDD9 RCALL _Div_16x16_S +0x3A1A 0x5000 MOVF R0, 0 +0x3A1C 0x0102 MOVLB 2 +0x3A1E 0x25B7 ADDWF _SWR, 0, 1 +0x3A20 0x6FE1 MOVWF coarse_tune_min_swr_L0, 1 +0x3A22 0x5001 MOVF R1, 0 +0x3A24 0x21B8 ADDWFC _SWR+1, 0, 1 +0x3A26 0x6FE2 MOVWF coarse_tune_min_swr_L0+1, 1 +;main.h,210 :: for(count=0; count<=31;) { +0x3A28 0x6BDE CLRF coarse_tune_count_L0, 1 +L_coarse_tune53: +0x3A2A 0x51DE MOVF coarse_tune_count_L0, 0, 1 +0x3A2C 0x081F SUBLW 31 +0x3A2E 0xE34B BNC L_coarse_tune54 +;main.h,211 :: set_ind(count); +0x3A30 0xF2F3C2DE MOVFF coarse_tune_count_L0, FARG_set_ind_Ind +0x3A34 0xF010EC5F CALL _set_ind, 0 +;main.h,212 :: coarse_cap(); +0x3A38 0xDED1 RCALL _coarse_cap +;main.h,213 :: SWR = get_swr(); +0x3A3A 0xDE2B RCALL _get_swr +0x3A3C 0xF2B7C000 MOVFF R0, _SWR +0x3A40 0xF2B8C001 MOVFF R1, _SWR+1 +;main.h,214 :: if(SWR < min_swr) { +0x3A44 0x0E80 MOVLW 128 +0x3A46 0x1801 XORWF R1, 0 +0x3A48 0x6E02 MOVWF R2 +0x3A4A 0x0E80 MOVLW 128 +0x3A4C 0x19E2 XORWF coarse_tune_min_swr_L0+1, 0, 1 +0x3A4E 0x5C02 SUBWF R2, 0 +0x3A50 0xE102 BNZ L__coarse_tune502 +0x3A52 0x51E1 MOVF coarse_tune_min_swr_L0, 0, 1 +0x3A54 0x5C00 SUBWF R0, 0 +L__coarse_tune502: +0x3A56 0xE235 BC L_coarse_tune56 +;main.h,215 :: min_swr = SWR + SWR/20; +0x3A58 0x0E14 MOVLW 20 +0x3A5A 0x6E04 MOVWF R4 +0x3A5C 0x0E00 MOVLW 0 +0x3A5E 0x6E05 MOVWF R5 +0x3A60 0xF000C2B7 MOVFF _SWR, R0 +0x3A64 0xF001C2B8 MOVFF _SWR+1, R1 +0x3A68 0xDDB1 RCALL _Div_16x16_S +0x3A6A 0x5000 MOVF R0, 0 +0x3A6C 0x0102 MOVLB 2 +0x3A6E 0x25B7 ADDWF _SWR, 0, 1 +0x3A70 0x6FE1 MOVWF coarse_tune_min_swr_L0, 1 +0x3A72 0x5001 MOVF R1, 0 +0x3A74 0x21B8 ADDWFC _SWR+1, 0, 1 +0x3A76 0x6FE2 MOVWF coarse_tune_min_swr_L0+1, 1 +;main.h,216 :: ind = count; +0x3A78 0xF1FEC2DE MOVFF coarse_tune_count_L0, main_ind +;main.h,217 :: mem_cap = cap; +0x3A7C 0xF2DFC1FF MOVFF main_cap, coarse_tune_mem_cap_L0 +;main.h,218 :: step_ind = step; +0x3A80 0xF200C2E3 MOVFF coarse_tune_step_L0, main_step_ind +;main.h,219 :: mem_step_cap = step_cap; +0x3A84 0xF2E0C203 MOVFF main_step_cap, coarse_tune_mem_step_cap_L0 +;main.h,220 :: if(SWR<120) break; +0x3A88 0x0E80 MOVLW 128 +0x3A8A 0x19B8 XORWF _SWR+1, 0, 1 +0x3A8C 0x6E00 MOVWF R0 +0x3A8E 0x0E80 MOVLW 128 +0x3A90 0x5C00 SUBWF R0, 0 +0x3A92 0xE102 BNZ L__coarse_tune503 +0x3A94 0x0E78 MOVLW 120 +0x3A96 0x5DB7 SUBWF _SWR, 0, 1 +L__coarse_tune503: +0x3A98 0xE201 BC L_coarse_tune57 +0x3A9A 0xD015 BRA L_coarse_tune54 +L_coarse_tune57: +;main.h,221 :: count += step; +0x3A9C 0x51E3 MOVF coarse_tune_step_L0, 0, 1 +0x3A9E 0x25DE ADDWF coarse_tune_count_L0, 0, 1 +0x3AA0 0x6E01 MOVWF R1 +0x3AA2 0xF2DEC001 MOVFF R1, coarse_tune_count_L0 +;main.h,222 :: if(count==9) count = 8; +0x3AA6 0x5001 MOVF R1, 0 +0x3AA8 0x0A09 XORLW 9 +0x3AAA 0xE103 BNZ L_coarse_tune58 +0x3AAC 0x0E08 MOVLW 8 +0x3AAE 0x6FDE MOVWF coarse_tune_count_L0, 1 +0x3AB0 0xD007 BRA L_coarse_tune59 +L_coarse_tune58: +;main.h,223 :: else if(count==17) {count = 16; step = 4;} +0x3AB2 0x51DE MOVF coarse_tune_count_L0, 0, 1 +0x3AB4 0x0A11 XORLW 17 +0x3AB6 0xE104 BNZ L_coarse_tune60 +0x3AB8 0x0E10 MOVLW 16 +0x3ABA 0x6FDE MOVWF coarse_tune_count_L0, 1 +0x3ABC 0x0E04 MOVLW 4 +0x3ABE 0x6FE3 MOVWF coarse_tune_step_L0, 1 +L_coarse_tune60: +L_coarse_tune59: +;main.h,224 :: } +0x3AC0 0xD001 BRA L_coarse_tune61 +L_coarse_tune56: +;main.h,225 :: else break; +0x3AC2 0xD001 BRA L_coarse_tune54 +L_coarse_tune61: +;main.h,226 :: } +0x3AC4 0xD7B2 BRA L_coarse_tune53 +L_coarse_tune54: +;main.h,227 :: cap = mem_cap; +0x3AC6 0xF1FFC2DF MOVFF coarse_tune_mem_cap_L0, main_cap +;main.h,228 :: set_ind(ind); +0x3ACA 0xF2F3C1FE MOVFF main_ind, FARG_set_ind_Ind +0x3ACE 0xF010EC5F CALL _set_ind, 0 +;main.h,229 :: set_cap(cap); +0x3AD2 0xF2F3C1FF MOVFF main_cap, FARG_set_cap_Cap +0x3AD6 0xF011ECBE CALL _set_cap, 0 +;main.h,230 :: step_cap = mem_step_cap; +0x3ADA 0xF203C2E0 MOVFF coarse_tune_mem_step_cap_L0, main_step_cap +;main.h,231 :: Delay_ms(10); +0x3ADE 0x0E34 MOVLW 52 +0x3AE0 0x6E0C MOVWF R12, 0 +0x3AE2 0x0EF1 MOVLW 241 +0x3AE4 0x6E0D MOVWF R13, 0 +L_coarse_tune62: +0x3AE6 0x2E0D DECFSZ R13, 1, 0 +0x3AE8 0xD7FE BRA L_coarse_tune62 +0x3AEA 0x2E0C DECFSZ R12, 1, 0 +0x3AEC 0xD7FC BRA L_coarse_tune62 +0x3AEE 0x0000 NOP +0x3AF0 0x0000 NOP +;main.h,232 :: return; +;main.h,233 :: } +L_end_coarse_tune: +0x3AF2 0x0012 RETURN 0 +; end of _coarse_tune +_sharp_cap: +;main.h,236 :: void sharp_cap() { +;main.h,239 :: range = step_cap; +0x3AF4 0xF2DEC203 MOVFF main_step_cap, sharp_cap_range_L0 +;main.h,241 :: max_range = cap + range; +0x3AF8 0x0102 MOVLB 2 +0x3AFA 0x5103 MOVF main_step_cap, 0, 1 +0x3AFC 0x0101 MOVLB 1 +0x3AFE 0x25FF ADDWF main_cap, 0, 1 +0x3B00 0x6E01 MOVWF R1 +0x3B02 0xF2E0C001 MOVFF R1, sharp_cap_max_range_L0 +;main.h,242 :: if(max_range>31) max_range = 31; +0x3B06 0x5001 MOVF R1, 0 +0x3B08 0x081F SUBLW 31 +0x3B0A 0xE203 BC L_sharp_cap63 +0x3B0C 0x0E1F MOVLW 31 +0x3B0E 0x0102 MOVLB 2 +0x3B10 0x6FE0 MOVWF sharp_cap_max_range_L0, 1 +L_sharp_cap63: +;main.h,243 :: if(cap>range) min_range = cap - range; else min_range = 0; +0x3B12 0x0101 MOVLB 1 +0x3B14 0x51FF MOVF main_cap, 0, 1 +0x3B16 0x0102 MOVLB 2 +0x3B18 0x5DDE SUBWF sharp_cap_range_L0, 0, 1 +0x3B1A 0xE206 BC L_sharp_cap64 +0x3B1C 0x51DE MOVF sharp_cap_range_L0, 0, 1 +0x3B1E 0x0101 MOVLB 1 +0x3B20 0x5DFF SUBWF main_cap, 0, 1 +0x3B22 0x0102 MOVLB 2 +0x3B24 0x6FE1 MOVWF sharp_cap_min_range_L0, 1 +0x3B26 0xD001 BRA L_sharp_cap65 +L_sharp_cap64: +0x3B28 0x6BE1 CLRF sharp_cap_min_range_L0, 1 +L_sharp_cap65: +;main.h,244 :: cap = min_range; +0x3B2A 0xF1FFC2E1 MOVFF sharp_cap_min_range_L0, main_cap +;main.h,245 :: set_cap(cap); +0x3B2E 0xF2F3C2E1 MOVFF sharp_cap_min_range_L0, FARG_set_cap_Cap +0x3B32 0xF011ECBE CALL _set_cap, 0 +;main.h,246 :: SWR = get_swr(); +0x3B36 0xDDAD RCALL _get_swr +0x3B38 0xF2B7C000 MOVFF R0, _SWR +0x3B3C 0xF2B8C001 MOVFF R1, _SWR+1 +;main.h,247 :: if(SWR==0) return; +0x3B40 0x0E00 MOVLW 0 +0x3B42 0x1801 XORWF R1, 0 +0x3B44 0xE102 BNZ L__sharp_cap505 +0x3B46 0x0E00 MOVLW 0 +0x3B48 0x1800 XORWF R0, 0 +L__sharp_cap505: +0x3B4A 0xE101 BNZ L_sharp_cap66 +0x3B4C 0xD06E BRA L_end_sharp_cap +L_sharp_cap66: +;main.h,248 :: min_SWR = SWR; +0x3B4E 0xF2E2C2B7 MOVFF _SWR, sharp_cap_min_swr_L0 +0x3B52 0xF2E3C2B8 MOVFF _SWR+1, sharp_cap_min_swr_L0+1 +;main.h,249 :: for(count=min_range+1; count<=max_range; count++) { +0x3B56 0x51E1 MOVF sharp_cap_min_range_L0, 0, 1 +0x3B58 0x0F01 ADDLW 1 +0x3B5A 0x6FDF MOVWF sharp_cap_count_L0, 1 +L_sharp_cap67: +0x3B5C 0x51DF MOVF sharp_cap_count_L0, 0, 1 +0x3B5E 0x5DE0 SUBWF sharp_cap_max_range_L0, 0, 1 +0x3B60 0xE360 BNC L_sharp_cap68 +;main.h,250 :: set_cap(count); +0x3B62 0xF2F3C2DF MOVFF sharp_cap_count_L0, FARG_set_cap_Cap +0x3B66 0xF011ECBE CALL _set_cap, 0 +;main.h,251 :: SWR = get_swr(); +0x3B6A 0xDD93 RCALL _get_swr +0x3B6C 0xF2B7C000 MOVFF R0, _SWR +0x3B70 0xF2B8C001 MOVFF R1, _SWR+1 +;main.h,252 :: if(SWR==0) return; +0x3B74 0x0E00 MOVLW 0 +0x3B76 0x1801 XORWF R1, 0 +0x3B78 0xE102 BNZ L__sharp_cap506 +0x3B7A 0x0E00 MOVLW 0 +0x3B7C 0x1800 XORWF R0, 0 +L__sharp_cap506: +0x3B7E 0xE101 BNZ L_sharp_cap70 +0x3B80 0xD054 BRA L_end_sharp_cap +L_sharp_cap70: +;main.h,253 :: if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } +0x3B82 0x0E80 MOVLW 128 +0x3B84 0x19B8 XORWF _SWR+1, 0, 1 +0x3B86 0x6E00 MOVWF R0 +0x3B88 0x0E80 MOVLW 128 +0x3B8A 0x19E3 XORWF sharp_cap_min_swr_L0+1, 0, 1 +0x3B8C 0x5C00 SUBWF R0, 0 +0x3B8E 0xE102 BNZ L__sharp_cap507 +0x3B90 0x51E2 MOVF sharp_cap_min_swr_L0, 0, 1 +0x3B92 0x5DB7 SUBWF _SWR, 0, 1 +L__sharp_cap507: +0x3B94 0xE30F BNC L_sharp_cap71 +0x3B96 0x0E34 MOVLW 52 +0x3B98 0x6E0C MOVWF R12, 0 +0x3B9A 0x0EF1 MOVLW 241 +0x3B9C 0x6E0D MOVWF R13, 0 +L_sharp_cap72: +0x3B9E 0x2E0D DECFSZ R13, 1, 0 +0x3BA0 0xD7FE BRA L_sharp_cap72 +0x3BA2 0x2E0C DECFSZ R12, 1, 0 +0x3BA4 0xD7FC BRA L_sharp_cap72 +0x3BA6 0x0000 NOP +0x3BA8 0x0000 NOP +0x3BAA 0xDD73 RCALL _get_swr +0x3BAC 0xF2B7C000 MOVFF R0, _SWR +0x3BB0 0xF2B8C001 MOVFF R1, _SWR+1 +L_sharp_cap71: +;main.h,254 :: if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } +0x3BB4 0x0E80 MOVLW 128 +0x3BB6 0x19B8 XORWF _SWR+1, 0, 1 +0x3BB8 0x6E00 MOVWF R0 +0x3BBA 0x0E80 MOVLW 128 +0x3BBC 0x19E3 XORWF sharp_cap_min_swr_L0+1, 0, 1 +0x3BBE 0x5C00 SUBWF R0, 0 +0x3BC0 0xE102 BNZ L__sharp_cap508 +0x3BC2 0x51E2 MOVF sharp_cap_min_swr_L0, 0, 1 +0x3BC4 0x5DB7 SUBWF _SWR, 0, 1 +L__sharp_cap508: +0x3BC6 0xE30F BNC L_sharp_cap73 +0x3BC8 0x0E34 MOVLW 52 +0x3BCA 0x6E0C MOVWF R12, 0 +0x3BCC 0x0EF1 MOVLW 241 +0x3BCE 0x6E0D MOVWF R13, 0 +L_sharp_cap74: +0x3BD0 0x2E0D DECFSZ R13, 1, 0 +0x3BD2 0xD7FE BRA L_sharp_cap74 +0x3BD4 0x2E0C DECFSZ R12, 1, 0 +0x3BD6 0xD7FC BRA L_sharp_cap74 +0x3BD8 0x0000 NOP +0x3BDA 0x0000 NOP +0x3BDC 0xDD5A RCALL _get_swr +0x3BDE 0xF2B7C000 MOVFF R0, _SWR +0x3BE2 0xF2B8C001 MOVFF R1, _SWR+1 +L_sharp_cap73: +;main.h,255 :: if(SWR < min_SWR) { +0x3BE6 0x0E80 MOVLW 128 +0x3BE8 0x19B8 XORWF _SWR+1, 0, 1 +0x3BEA 0x6E00 MOVWF R0 +0x3BEC 0x0E80 MOVLW 128 +0x3BEE 0x19E3 XORWF sharp_cap_min_swr_L0+1, 0, 1 +0x3BF0 0x5C00 SUBWF R0, 0 +0x3BF2 0xE102 BNZ L__sharp_cap509 +0x3BF4 0x51E2 MOVF sharp_cap_min_swr_L0, 0, 1 +0x3BF6 0x5DB7 SUBWF _SWR, 0, 1 +L__sharp_cap509: +0x3BF8 0xE211 BC L_sharp_cap75 +;main.h,256 :: min_SWR = SWR; +0x3BFA 0xF2E2C2B7 MOVFF _SWR, sharp_cap_min_swr_L0 +0x3BFE 0xF2E3C2B8 MOVFF _SWR+1, sharp_cap_min_swr_L0+1 +;main.h,257 :: cap = count; +0x3C02 0xF1FFC2DF MOVFF sharp_cap_count_L0, main_cap +;main.h,258 :: if(SWR<120) break; +0x3C06 0x0E80 MOVLW 128 +0x3C08 0x19B8 XORWF _SWR+1, 0, 1 +0x3C0A 0x6E00 MOVWF R0 +0x3C0C 0x0E80 MOVLW 128 +0x3C0E 0x5C00 SUBWF R0, 0 +0x3C10 0xE102 BNZ L__sharp_cap510 +0x3C12 0x0E78 MOVLW 120 +0x3C14 0x5DB7 SUBWF _SWR, 0, 1 +L__sharp_cap510: +0x3C16 0xE201 BC L_sharp_cap76 +0x3C18 0xD004 BRA L_sharp_cap68 +L_sharp_cap76: +;main.h,259 :: } +0x3C1A 0xD001 BRA L_sharp_cap77 +L_sharp_cap75: +;main.h,260 :: else break; +0x3C1C 0xD002 BRA L_sharp_cap68 +L_sharp_cap77: +;main.h,249 :: for(count=min_range+1; count<=max_range; count++) { +0x3C1E 0x2BDF INCF sharp_cap_count_L0, 1, 1 +;main.h,261 :: } +0x3C20 0xD79D BRA L_sharp_cap67 +L_sharp_cap68: +;main.h,262 :: set_cap(cap); +0x3C22 0xF2F3C1FF MOVFF main_cap, FARG_set_cap_Cap +0x3C26 0xF011ECBE CALL _set_cap, 0 +;main.h,263 :: return; +;main.h,264 :: } +L_end_sharp_cap: +0x3C2A 0x0012 RETURN 0 +; end of _sharp_cap +_tune: +;main.h,297 :: void tune() { +;main.h,299 :: asm CLRWDT; +0x3C2C 0x0004 CLRWDT +;main.h,300 :: rready = 0; +0x3C2E 0x0102 MOVLB 2 +0x3C30 0x6B6F CLRF _rready, 1 +;main.h,301 :: P_max = 0; +0x3C32 0x6B6D CLRF _P_max, 1 +0x3C34 0x6B6E CLRF _P_max+1, 1 +;main.h,302 :: p_cnt = 0; +0x3C36 0x6B70 CLRF _p_cnt, 1 +;main.h,303 :: get_swr(); +0x3C38 0xDD2C RCALL _get_swr +;main.h,304 :: if(SWR<110) return; +0x3C3A 0x0E80 MOVLW 128 +0x3C3C 0x19B8 XORWF _SWR+1, 0, 1 +0x3C3E 0x6E00 MOVWF R0 +0x3C40 0x0E80 MOVLW 128 +0x3C42 0x5C00 SUBWF R0, 0 +0x3C44 0xE102 BNZ L__tune519 +0x3C46 0x0E6E MOVLW 110 +0x3C48 0x5DB7 SUBWF _SWR, 0, 1 +L__tune519: +0x3C4A 0xE201 BC L_tune93 +0x3C4C 0xD151 BRA L_end_tune +L_tune93: +;main.h,305 :: atu_reset(); +0x3C4E 0xF016ECFB CALL _atu_reset, 0 +;main.h,306 :: if(Loss_ind==0) lcd_ind(); +0x3C52 0x5049 MOVF main_Loss_ind, 0 +0x3C54 0x0A00 XORLW 0 +0x3C56 0xE102 BNZ L_tune94 +0x3C58 0xF008EC3C CALL _lcd_ind, 0 +L_tune94: +;main.h,307 :: Delay_ms(50); +0x3C5C 0x0E02 MOVLW 2 +0x3C5E 0x6E0B MOVWF R11, 0 +0x3C60 0x0E04 MOVLW 4 +0x3C62 0x6E0C MOVWF R12, 0 +0x3C64 0x0EBA MOVLW 186 +0x3C66 0x6E0D MOVWF R13, 0 +L_tune95: +0x3C68 0x2E0D DECFSZ R13, 1, 0 +0x3C6A 0xD7FE BRA L_tune95 +0x3C6C 0x2E0C DECFSZ R12, 1, 0 +0x3C6E 0xD7FC BRA L_tune95 +0x3C70 0x2E0B DECFSZ R11, 1, 0 +0x3C72 0xD7FA BRA L_tune95 +0x3C74 0x0000 NOP +;main.h,308 :: get_swr(); +0x3C76 0xDD0D RCALL _get_swr +;main.h,309 :: swr_a = SWR; +0x3C78 0xF290C2B7 MOVFF _SWR, _swr_a +0x3C7C 0xF291C2B8 MOVFF _SWR+1, _swr_a+1 +;main.h,310 :: if(SWR<110) return; +0x3C80 0x0E80 MOVLW 128 +0x3C82 0x19B8 XORWF _SWR+1, 0, 1 +0x3C84 0x6E00 MOVWF R0 +0x3C86 0x0E80 MOVLW 128 +0x3C88 0x5C00 SUBWF R0, 0 +0x3C8A 0xE102 BNZ L__tune520 +0x3C8C 0x0E6E MOVLW 110 +0x3C8E 0x5DB7 SUBWF _SWR, 0, 1 +L__tune520: +0x3C90 0xE201 BC L_tune96 +0x3C92 0xD12E BRA L_end_tune +L_tune96: +;main.h,311 :: if(max_swr>110 & SWR>max_swr) return; +0x3C94 0x0E80 MOVLW 128 +0x3C96 0x6E01 MOVWF R1 +0x3C98 0x0E80 MOVLW 128 +0x3C9A 0x1993 XORWF main_max_swr+1, 0, 1 +0x3C9C 0x5C01 SUBWF R1, 0 +0x3C9E 0xE102 BNZ L__tune521 +0x3CA0 0x5192 MOVF main_max_swr, 0, 1 +0x3CA2 0x086E SUBLW 110 +L__tune521: +0x3CA4 0x0E01 MOVLW 1 +0x3CA6 0xB0D8 BTFSC STATUS, 0 +0x3CA8 0x0E00 MOVLW 0 +0x3CAA 0x6E01 MOVWF R1 +0x3CAC 0x0E80 MOVLW 128 +0x3CAE 0x1993 XORWF main_max_swr+1, 0, 1 +0x3CB0 0x6E00 MOVWF R0 +0x3CB2 0x0E80 MOVLW 128 +0x3CB4 0x19B8 XORWF _SWR+1, 0, 1 +0x3CB6 0x5C00 SUBWF R0, 0 +0x3CB8 0xE102 BNZ L__tune522 +0x3CBA 0x51B7 MOVF _SWR, 0, 1 +0x3CBC 0x5D92 SUBWF main_max_swr, 0, 1 +L__tune522: +0x3CBE 0x0E01 MOVLW 1 +0x3CC0 0xB0D8 BTFSC STATUS, 0 +0x3CC2 0x0E00 MOVLW 0 +0x3CC4 0x6E00 MOVWF R0 +0x3CC6 0x5001 MOVF R1, 0 +0x3CC8 0x1600 ANDWF R0, 1 +0x3CCA 0xE001 BZ L_tune97 +0x3CCC 0xD111 BRA L_end_tune +L_tune97: +;main.h,313 :: swr_mem = SWR; +0x3CCE 0xF2D8C2B7 MOVFF _SWR, tune_swr_mem_L0 +0x3CD2 0xF2D9C2B8 MOVFF _SWR+1, tune_swr_mem_L0+1 +;main.h,314 :: coarse_tune(); if(SWR==0) {atu_reset(); return;} +0x3CD6 0xDE90 RCALL _coarse_tune +0x3CD8 0x0E00 MOVLW 0 +0x3CDA 0x0102 MOVLB 2 +0x3CDC 0x19B8 XORWF _SWR+1, 0, 1 +0x3CDE 0xE102 BNZ L__tune523 +0x3CE0 0x0E00 MOVLW 0 +0x3CE2 0x19B7 XORWF _SWR, 0, 1 +L__tune523: +0x3CE4 0xE103 BNZ L_tune98 +0x3CE6 0xF016ECFB CALL _atu_reset, 0 +0x3CEA 0xD102 BRA L_end_tune +L_tune98: +;main.h,315 :: get_swr(); if(SWR<120) return; +0x3CEC 0xDCD2 RCALL _get_swr +0x3CEE 0x0E80 MOVLW 128 +0x3CF0 0x19B8 XORWF _SWR+1, 0, 1 +0x3CF2 0x6E00 MOVWF R0 +0x3CF4 0x0E80 MOVLW 128 +0x3CF6 0x5C00 SUBWF R0, 0 +0x3CF8 0xE102 BNZ L__tune524 +0x3CFA 0x0E78 MOVLW 120 +0x3CFC 0x5DB7 SUBWF _SWR, 0, 1 +L__tune524: +0x3CFE 0xE201 BC L_tune99 +0x3D00 0xD0F7 BRA L_end_tune +L_tune99: +;main.h,316 :: sharp_ind(); if(SWR==0) {atu_reset(); return;} +0x3D02 0xDDDE RCALL _sharp_ind +0x3D04 0x0E00 MOVLW 0 +0x3D06 0x0102 MOVLB 2 +0x3D08 0x19B8 XORWF _SWR+1, 0, 1 +0x3D0A 0xE102 BNZ L__tune525 +0x3D0C 0x0E00 MOVLW 0 +0x3D0E 0x19B7 XORWF _SWR, 0, 1 +L__tune525: +0x3D10 0xE103 BNZ L_tune100 +0x3D12 0xF016ECFB CALL _atu_reset, 0 +0x3D16 0xD0EC BRA L_end_tune +L_tune100: +;main.h,317 :: get_swr(); if(SWR<120) return; +0x3D18 0xDCBC RCALL _get_swr +0x3D1A 0x0E80 MOVLW 128 +0x3D1C 0x19B8 XORWF _SWR+1, 0, 1 +0x3D1E 0x6E00 MOVWF R0 +0x3D20 0x0E80 MOVLW 128 +0x3D22 0x5C00 SUBWF R0, 0 +0x3D24 0xE102 BNZ L__tune526 +0x3D26 0x0E78 MOVLW 120 +0x3D28 0x5DB7 SUBWF _SWR, 0, 1 +L__tune526: +0x3D2A 0xE201 BC L_tune101 +0x3D2C 0xD0E1 BRA L_end_tune +L_tune101: +;main.h,318 :: sharp_cap(); if(SWR==0) {atu_reset(); return;} +0x3D2E 0xDEE2 RCALL _sharp_cap +0x3D30 0x0E00 MOVLW 0 +0x3D32 0x0102 MOVLB 2 +0x3D34 0x19B8 XORWF _SWR+1, 0, 1 +0x3D36 0xE102 BNZ L__tune527 +0x3D38 0x0E00 MOVLW 0 +0x3D3A 0x19B7 XORWF _SWR, 0, 1 +L__tune527: +0x3D3C 0xE103 BNZ L_tune102 +0x3D3E 0xF016ECFB CALL _atu_reset, 0 +0x3D42 0xD0D6 BRA L_end_tune +L_tune102: +;main.h,319 :: get_swr(); if(SWR<120) return; +0x3D44 0xDCA6 RCALL _get_swr +0x3D46 0x0E80 MOVLW 128 +0x3D48 0x19B8 XORWF _SWR+1, 0, 1 +0x3D4A 0x6E00 MOVWF R0 +0x3D4C 0x0E80 MOVLW 128 +0x3D4E 0x5C00 SUBWF R0, 0 +0x3D50 0xE102 BNZ L__tune528 +0x3D52 0x0E78 MOVLW 120 +0x3D54 0x5DB7 SUBWF _SWR, 0, 1 +L__tune528: +0x3D56 0xE201 BC L_tune103 +0x3D58 0xD0CB BRA L_end_tune +L_tune103: +;main.h,321 :: if(SWR<200 & SWR100) return; +0x3D5A 0x0E80 MOVLW 128 +0x3D5C 0x19B8 XORWF _SWR+1, 0, 1 +0x3D5E 0x6E01 MOVWF R1 +0x3D60 0x0E80 MOVLW 128 +0x3D62 0x5C01 SUBWF R1, 0 +0x3D64 0xE102 BNZ L__tune529 +0x3D66 0x0EC8 MOVLW 200 +0x3D68 0x5DB7 SUBWF _SWR, 0, 1 +L__tune529: +0x3D6A 0x0E01 MOVLW 1 +0x3D6C 0xB0D8 BTFSC STATUS, 0 +0x3D6E 0x0E00 MOVLW 0 +0x3D70 0x6E01 MOVWF R1 +0x3D72 0x0E80 MOVLW 128 +0x3D74 0x19B8 XORWF _SWR+1, 0, 1 +0x3D76 0x6E00 MOVWF R0 +0x3D78 0x0E80 MOVLW 128 +0x3D7A 0x19D9 XORWF tune_swr_mem_L0+1, 0, 1 +0x3D7C 0x5C00 SUBWF R0, 0 +0x3D7E 0xE102 BNZ L__tune530 +0x3D80 0x51D8 MOVF tune_swr_mem_L0, 0, 1 +0x3D82 0x5DB7 SUBWF _SWR, 0, 1 +L__tune530: +0x3D84 0x0E01 MOVLW 1 +0x3D86 0xB0D8 BTFSC STATUS, 0 +0x3D88 0x0E00 MOVLW 0 +0x3D8A 0x6E00 MOVWF R0 +0x3D8C 0x5000 MOVF R0, 0 +0x3D8E 0x1401 ANDWF R1, 0 +0x3D90 0x6E03 MOVWF R3 +0x3D92 0x51B7 MOVF _SWR, 0, 1 +0x3D94 0x5DD8 SUBWF tune_swr_mem_L0, 0, 1 +0x3D96 0x6E01 MOVWF R1 +0x3D98 0x51B8 MOVF _SWR+1, 0, 1 +0x3D9A 0x59D9 SUBWFB tune_swr_mem_L0+1, 0, 1 +0x3D9C 0x6E02 MOVWF R2 +0x3D9E 0x0E80 MOVLW 128 +0x3DA0 0x6E00 MOVWF R0 +0x3DA2 0x0E80 MOVLW 128 +0x3DA4 0x1802 XORWF R2, 0 +0x3DA6 0x5C00 SUBWF R0, 0 +0x3DA8 0xE102 BNZ L__tune531 +0x3DAA 0x5001 MOVF R1, 0 +0x3DAC 0x0864 SUBLW 100 +L__tune531: +0x3DAE 0x0E01 MOVLW 1 +0x3DB0 0xB0D8 BTFSC STATUS, 0 +0x3DB2 0x0E00 MOVLW 0 +0x3DB4 0x6E00 MOVWF R0 +0x3DB6 0x5003 MOVF R3, 0 +0x3DB8 0x1600 ANDWF R0, 1 +0x3DBA 0xE001 BZ L_tune104 +0x3DBC 0xD099 BRA L_end_tune +L_tune104: +;main.h,322 :: swr_mem = SWR; +0x3DBE 0xF2D8C2B7 MOVFF _SWR, tune_swr_mem_L0 +0x3DC2 0xF2D9C2B8 MOVFF _SWR+1, tune_swr_mem_L0+1 +;main.h,323 :: ind_mem = ind; +0x3DC6 0xF2DAC1FE MOVFF main_ind, tune_ind_mem_L0 +0x3DCA 0x0E00 MOVLW 0 +0x3DCC 0x6FDB MOVWF tune_ind_mem_L0+1, 1 +;main.h,324 :: cap_mem = cap; +0x3DCE 0xF2DCC1FF MOVFF main_cap, tune_cap_mem_L0 +0x3DD2 0x0E00 MOVLW 0 +0x3DD4 0x6FDD MOVWF tune_cap_mem_L0+1, 1 +;main.h,326 :: if(SW==1) SW = 0; else SW = 1; +0x3DD6 0x5105 MOVF main_SW, 0, 1 +0x3DD8 0x0A01 XORLW 1 +0x3DDA 0xE102 BNZ L_tune105 +0x3DDC 0x6B05 CLRF main_SW, 1 +0x3DDE 0xD002 BRA L_tune106 +L_tune105: +0x3DE0 0x0E01 MOVLW 1 +0x3DE2 0x6F05 MOVWF main_SW, 1 +L_tune106: +;main.h,327 :: atu_reset(); +0x3DE4 0xF016ECFB CALL _atu_reset, 0 +;main.h,328 :: set_sw(SW); +0x3DE8 0xF2EBC205 MOVFF main_SW, FARG_set_sw_SW +0x3DEC 0xF016ECEE CALL _set_sw, 0 +;main.h,329 :: Delay_ms(50); +0x3DF0 0x0E02 MOVLW 2 +0x3DF2 0x6E0B MOVWF R11, 0 +0x3DF4 0x0E04 MOVLW 4 +0x3DF6 0x6E0C MOVWF R12, 0 +0x3DF8 0x0EBA MOVLW 186 +0x3DFA 0x6E0D MOVWF R13, 0 +L_tune107: +0x3DFC 0x2E0D DECFSZ R13, 1, 0 +0x3DFE 0xD7FE BRA L_tune107 +0x3E00 0x2E0C DECFSZ R12, 1, 0 +0x3E02 0xD7FC BRA L_tune107 +0x3E04 0x2E0B DECFSZ R11, 1, 0 +0x3E06 0xD7FA BRA L_tune107 +0x3E08 0x0000 NOP +;main.h,330 :: get_swr(); if(SWR<120) return; +0x3E0A 0xDC43 RCALL _get_swr +0x3E0C 0x0E80 MOVLW 128 +0x3E0E 0x19B8 XORWF _SWR+1, 0, 1 +0x3E10 0x6E00 MOVWF R0 +0x3E12 0x0E80 MOVLW 128 +0x3E14 0x5C00 SUBWF R0, 0 +0x3E16 0xE102 BNZ L__tune532 +0x3E18 0x0E78 MOVLW 120 +0x3E1A 0x5DB7 SUBWF _SWR, 0, 1 +L__tune532: +0x3E1C 0xE201 BC L_tune108 +0x3E1E 0xD068 BRA L_end_tune +L_tune108: +;main.h,332 :: coarse_tune(); if(SWR==0) {atu_reset(); return;} +0x3E20 0xDDEB RCALL _coarse_tune +0x3E22 0x0E00 MOVLW 0 +0x3E24 0x0102 MOVLB 2 +0x3E26 0x19B8 XORWF _SWR+1, 0, 1 +0x3E28 0xE102 BNZ L__tune533 +0x3E2A 0x0E00 MOVLW 0 +0x3E2C 0x19B7 XORWF _SWR, 0, 1 +L__tune533: +0x3E2E 0xE103 BNZ L_tune109 +0x3E30 0xF016ECFB CALL _atu_reset, 0 +0x3E34 0xD05D BRA L_end_tune +L_tune109: +;main.h,333 :: get_swr(); if(SWR<120) return; +0x3E36 0xDC2D RCALL _get_swr +0x3E38 0x0E80 MOVLW 128 +0x3E3A 0x19B8 XORWF _SWR+1, 0, 1 +0x3E3C 0x6E00 MOVWF R0 +0x3E3E 0x0E80 MOVLW 128 +0x3E40 0x5C00 SUBWF R0, 0 +0x3E42 0xE102 BNZ L__tune534 +0x3E44 0x0E78 MOVLW 120 +0x3E46 0x5DB7 SUBWF _SWR, 0, 1 +L__tune534: +0x3E48 0xE201 BC L_tune110 +0x3E4A 0xD052 BRA L_end_tune +L_tune110: +;main.h,334 :: sharp_ind(); if(SWR==0) {atu_reset(); return;} +0x3E4C 0xDD39 RCALL _sharp_ind +0x3E4E 0x0E00 MOVLW 0 +0x3E50 0x0102 MOVLB 2 +0x3E52 0x19B8 XORWF _SWR+1, 0, 1 +0x3E54 0xE102 BNZ L__tune535 +0x3E56 0x0E00 MOVLW 0 +0x3E58 0x19B7 XORWF _SWR, 0, 1 +L__tune535: +0x3E5A 0xE103 BNZ L_tune111 +0x3E5C 0xF016ECFB CALL _atu_reset, 0 +0x3E60 0xD047 BRA L_end_tune +L_tune111: +;main.h,335 :: get_swr(); if(SWR<120) return; +0x3E62 0xDC17 RCALL _get_swr +0x3E64 0x0E80 MOVLW 128 +0x3E66 0x19B8 XORWF _SWR+1, 0, 1 +0x3E68 0x6E00 MOVWF R0 +0x3E6A 0x0E80 MOVLW 128 +0x3E6C 0x5C00 SUBWF R0, 0 +0x3E6E 0xE102 BNZ L__tune536 +0x3E70 0x0E78 MOVLW 120 +0x3E72 0x5DB7 SUBWF _SWR, 0, 1 +L__tune536: +0x3E74 0xE201 BC L_tune112 +0x3E76 0xD03C BRA L_end_tune +L_tune112: +;main.h,336 :: sharp_cap(); if(SWR==0) {atu_reset(); return;} +0x3E78 0xDE3D RCALL _sharp_cap +0x3E7A 0x0E00 MOVLW 0 +0x3E7C 0x0102 MOVLB 2 +0x3E7E 0x19B8 XORWF _SWR+1, 0, 1 +0x3E80 0xE102 BNZ L__tune537 +0x3E82 0x0E00 MOVLW 0 +0x3E84 0x19B7 XORWF _SWR, 0, 1 +L__tune537: +0x3E86 0xE103 BNZ L_tune113 +0x3E88 0xF016ECFB CALL _atu_reset, 0 +0x3E8C 0xD031 BRA L_end_tune +L_tune113: +;main.h,337 :: get_swr(); if(SWR<120) return; +0x3E8E 0xDC01 RCALL _get_swr +0x3E90 0x0E80 MOVLW 128 +0x3E92 0x19B8 XORWF _SWR+1, 0, 1 +0x3E94 0x6E00 MOVWF R0 +0x3E96 0x0E80 MOVLW 128 +0x3E98 0x5C00 SUBWF R0, 0 +0x3E9A 0xE102 BNZ L__tune538 +0x3E9C 0x0E78 MOVLW 120 +0x3E9E 0x5DB7 SUBWF _SWR, 0, 1 +L__tune538: +0x3EA0 0xE201 BC L_tune114 +0x3EA2 0xD026 BRA L_end_tune +L_tune114: +;main.h,339 :: if(SWR>swr_mem) { +0x3EA4 0x0E80 MOVLW 128 +0x3EA6 0x19D9 XORWF tune_swr_mem_L0+1, 0, 1 +0x3EA8 0x6E00 MOVWF R0 +0x3EAA 0x0E80 MOVLW 128 +0x3EAC 0x19B8 XORWF _SWR+1, 0, 1 +0x3EAE 0x5C00 SUBWF R0, 0 +0x3EB0 0xE102 BNZ L__tune539 +0x3EB2 0x51B7 MOVF _SWR, 0, 1 +0x3EB4 0x5DD8 SUBWF tune_swr_mem_L0, 0, 1 +L__tune539: +0x3EB6 0xE21B BC L_tune115 +;main.h,340 :: if(SW==1) SW = 0; else SW = 1; +0x3EB8 0x5105 MOVF main_SW, 0, 1 +0x3EBA 0x0A01 XORLW 1 +0x3EBC 0xE102 BNZ L_tune116 +0x3EBE 0x6B05 CLRF main_SW, 1 +0x3EC0 0xD002 BRA L_tune117 +L_tune116: +0x3EC2 0x0E01 MOVLW 1 +0x3EC4 0x6F05 MOVWF main_SW, 1 +L_tune117: +;main.h,341 :: set_sw(SW); +0x3EC6 0xF2EBC205 MOVFF main_SW, FARG_set_sw_SW +0x3ECA 0xF016ECEE CALL _set_sw, 0 +;main.h,342 :: ind = ind_mem; +0x3ECE 0xF1FEC2DA MOVFF tune_ind_mem_L0, main_ind +;main.h,343 :: cap = cap_mem; +0x3ED2 0xF1FFC2DC MOVFF tune_cap_mem_L0, main_cap +;main.h,344 :: set_ind(ind); +0x3ED6 0xF2F3C2DA MOVFF tune_ind_mem_L0, FARG_set_ind_Ind +0x3EDA 0xF010EC5F CALL _set_ind, 0 +;main.h,345 :: set_cap(cap); +0x3EDE 0xF2F3C1FF MOVFF main_cap, FARG_set_cap_Cap +0x3EE2 0xF011ECBE CALL _set_cap, 0 +;main.h,346 :: SWR = swr_mem; +0x3EE6 0xF2B7C2D8 MOVFF tune_swr_mem_L0, _SWR +0x3EEA 0xF2B8C2D9 MOVFF tune_swr_mem_L0+1, _SWR+1 +;main.h,347 :: } +L_tune115: +;main.h,349 :: asm CLRWDT; +0x3EEE 0x0004 CLRWDT +;main.h,350 :: return; +;main.h,351 :: } +L_end_tune: +0x3EF0 0x0012 RETURN 0 +; end of _tune +_oled_init: +;oled_control.c,64 :: void oled_init (void) { // OLED init +;oled_control.c,66 :: Soft_I2C_Start(); +0x3EF2 0xF000EC0E CALL _Soft_I2C_Start, 0 +;oled_control.c,67 :: Soft_I2C_Write(led_addr); // device addres +0x3EF6 0xF330C2B2 MOVFF oled_control_led_addr, FARG_Soft_I2C_Write_d +0x3EFA 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,68 :: Soft_I2C_Write(0); // 0 - continious mode, command; 64 - Co, data +0x3EFE 0x0103 MOVLB 3 +0x3F00 0x6B30 CLRF FARG_Soft_I2C_Write_d, 1 +0x3F02 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,69 :: Soft_I2C_Write (0xAE); // display OFF +0x3F06 0x0EAE MOVLW 174 +0x3F08 0x0103 MOVLB 3 +0x3F0A 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3F0C 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,71 :: if(led_type==2 | led_type==3) { // 128*32 OLED +0x3F10 0x0102 MOVLB 2 +0x3F12 0x51AB MOVF oled_control_led_type, 0, 1 +0x3F14 0x0A02 XORLW 2 +0x3F16 0x0E01 MOVLW 1 +0x3F18 0xA4D8 BTFSS STATUS, 2 +0x3F1A 0x0E00 MOVLW 0 +0x3F1C 0x6E01 MOVWF R1 +0x3F1E 0x51AB MOVF oled_control_led_type, 0, 1 +0x3F20 0x0A03 XORLW 3 +0x3F22 0x0E01 MOVLW 1 +0x3F24 0xA4D8 BTFSS STATUS, 2 +0x3F26 0x0E00 MOVLW 0 +0x3F28 0x6E00 MOVWF R0 +0x3F2A 0x5001 MOVF R1, 0 +0x3F2C 0x1200 IORWF R0, 1 +0x3F2E 0xB4D8 BTFSC STATUS, 2 +0x3F30 0xD097 BRA L_oled_init11 +;oled_control.c,72 :: Soft_I2C_Write (0xD5); // clock division +0x3F32 0x0ED5 MOVLW 213 +0x3F34 0x0103 MOVLB 3 +0x3F36 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3F38 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,73 :: Soft_I2C_Write (0x80); // ratio +0x3F3C 0x0E80 MOVLW 128 +0x3F3E 0x0103 MOVLB 3 +0x3F40 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3F42 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,75 :: Soft_I2C_Write (0xA8); // multiplexer +0x3F46 0x0EA8 MOVLW 168 +0x3F48 0x0103 MOVLB 3 +0x3F4A 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3F4C 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,76 :: Soft_I2C_Write (0x3f); // +0x3F50 0x0E3F MOVLW 63 +0x3F52 0x0103 MOVLB 3 +0x3F54 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3F56 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,78 :: Soft_I2C_Write (0xD3); // offset +0x3F5A 0x0ED3 MOVLW 211 +0x3F5C 0x0103 MOVLB 3 +0x3F5E 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3F60 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,79 :: if(led_type==2) Soft_I2C_Write (0 + shift_line); // column shift +0x3F64 0x0102 MOVLB 2 +0x3F66 0x51AB MOVF oled_control_led_type, 0, 1 +0x3F68 0x0A02 XORLW 2 +0x3F6A 0xE105 BNZ L_oled_init12 +0x3F6C 0xF330C2AC MOVFF oled_control_shift_line, FARG_Soft_I2C_Write_d +0x3F70 0xF000EC2B CALL _Soft_I2C_Write, 0 +0x3F74 0xD007 BRA L_oled_init13 +L_oled_init12: +;oled_control.c,80 :: else Soft_I2C_Write (31 + shift_line); // column shift +0x3F76 0x0102 MOVLB 2 +0x3F78 0x51AC MOVF oled_control_shift_line, 0, 1 +0x3F7A 0x0F1F ADDLW 31 +0x3F7C 0x0103 MOVLB 3 +0x3F7E 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3F80 0xF000EC2B CALL _Soft_I2C_Write, 0 +L_oled_init13: +;oled_control.c,82 :: Soft_I2C_Write (0x40); // set line, line = 0 +0x3F84 0x0E40 MOVLW 64 +0x3F86 0x0103 MOVLB 3 +0x3F88 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3F8A 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,84 :: Soft_I2C_Write (0x8D); // charge pump +0x3F8E 0x0E8D MOVLW 141 +0x3F90 0x0103 MOVLB 3 +0x3F92 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3F94 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,85 :: Soft_I2C_Write (0x14); // 0x10 - external, 0x14 - internal +0x3F98 0x0E14 MOVLW 20 +0x3F9A 0x0103 MOVLB 3 +0x3F9C 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3F9E 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,87 :: Soft_I2C_Write (0x81); // contrast +0x3FA2 0x0E81 MOVLW 129 +0x3FA4 0x0103 MOVLB 3 +0x3FA6 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3FA8 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,88 :: Soft_I2C_Write (180); // 0-255 +0x3FAC 0x0EB4 MOVLW 180 +0x3FAE 0x0103 MOVLB 3 +0x3FB0 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3FB2 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,90 :: Soft_I2C_Write (0xD9); // pre-charge +0x3FB6 0x0ED9 MOVLW 217 +0x3FB8 0x0103 MOVLB 3 +0x3FBA 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3FBC 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,91 :: Soft_I2C_Write (0x22); // 0x22 - external, 0xF1 - internal +0x3FC0 0x0E22 MOVLW 34 +0x3FC2 0x0103 MOVLB 3 +0x3FC4 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3FC6 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,93 :: Soft_I2C_Write (0x20); // memory addressing mode +0x3FCA 0x0E20 MOVLW 32 +0x3FCC 0x0103 MOVLB 3 +0x3FCE 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3FD0 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,94 :: Soft_I2C_Write (0x02); // page addressing mode +0x3FD4 0x0E02 MOVLW 2 +0x3FD6 0x0103 MOVLB 3 +0x3FD8 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3FDA 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,96 :: Soft_I2C_Write (0x21); // set column range +0x3FDE 0x0E21 MOVLW 33 +0x3FE0 0x0103 MOVLB 3 +0x3FE2 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3FE4 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,97 :: Soft_I2C_Write (0); // column start +0x3FE8 0x0103 MOVLB 3 +0x3FEA 0x6B30 CLRF FARG_Soft_I2C_Write_d, 1 +0x3FEC 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,98 :: Soft_I2C_Write (127); // column stop +0x3FF0 0x0E7F MOVLW 127 +0x3FF2 0x0103 MOVLB 3 +0x3FF4 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x3FF6 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,100 :: Soft_I2C_Write (0x2E); // stop scrolling +0x3FFA 0x0E2E MOVLW 46 +0x3FFC 0x0103 MOVLB 3 +0x3FFE 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4000 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,102 :: if(led_type==2) { +0x4004 0x0102 MOVLB 2 +0x4006 0x51AB MOVF oled_control_led_type, 0, 1 +0x4008 0x0A02 XORLW 2 +0x400A 0xE10B BNZ L_oled_init14 +;oled_control.c,103 :: Soft_I2C_Write (0xA0); // segment re-map, A0 - normal, A1 - remapped +0x400C 0x0EA0 MOVLW 160 +0x400E 0x0103 MOVLB 3 +0x4010 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4012 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,105 :: Soft_I2C_Write (0xC0); // scan direction, C0 - normal, C8 - remapped +0x4016 0x0EC0 MOVLW 192 +0x4018 0x0103 MOVLB 3 +0x401A 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x401C 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,106 :: } +0x4020 0xD00A BRA L_oled_init15 +L_oled_init14: +;oled_control.c,108 :: Soft_I2C_Write (0xA1); // segment re-map, A0 - normal, A1 - remapped +0x4022 0x0EA1 MOVLW 161 +0x4024 0x0103 MOVLB 3 +0x4026 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4028 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,110 :: Soft_I2C_Write (0xC8); // scan direction, C0 - normal, C8 - remapped +0x402C 0x0EC8 MOVLW 200 +0x402E 0x0103 MOVLB 3 +0x4030 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4032 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,111 :: } +L_oled_init15: +;oled_control.c,113 :: Soft_I2C_Write (0xDA); // COM pins configure +0x4036 0x0EDA MOVLW 218 +0x4038 0x0103 MOVLB 3 +0x403A 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x403C 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,114 :: Soft_I2C_Write (0x02); // 12 for x64 +0x4040 0x0E02 MOVLW 2 +0x4042 0x0103 MOVLB 3 +0x4044 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4046 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,116 :: Soft_I2C_Write (0xDB); // V-COM detect +0x404A 0x0EDB MOVLW 219 +0x404C 0x0103 MOVLB 3 +0x404E 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4050 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,117 :: Soft_I2C_Write (0x40); // +0x4054 0x0E40 MOVLW 64 +0x4056 0x0103 MOVLB 3 +0x4058 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x405A 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,119 :: } +0x405E 0xD08A BRA L_oled_init16 +L_oled_init11: +;oled_control.c,121 :: Soft_I2C_Write (0xD5); // clock division +0x4060 0x0ED5 MOVLW 213 +0x4062 0x0103 MOVLB 3 +0x4064 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4066 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,122 :: Soft_I2C_Write (0x80); // ratio +0x406A 0x0E80 MOVLW 128 +0x406C 0x0103 MOVLB 3 +0x406E 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4070 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,124 :: Soft_I2C_Write (0xA8); // multiplexer +0x4074 0x0EA8 MOVLW 168 +0x4076 0x0103 MOVLB 3 +0x4078 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x407A 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,125 :: Soft_I2C_Write (63); // +0x407E 0x0E3F MOVLW 63 +0x4080 0x0103 MOVLB 3 +0x4082 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4084 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,127 :: Soft_I2C_Write (0xD3); // offset +0x4088 0x0ED3 MOVLW 211 +0x408A 0x0103 MOVLB 3 +0x408C 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x408E 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,128 :: Soft_I2C_Write (shift_line); // no offset for x64 ! +0x4092 0xF330C2AC MOVFF oled_control_shift_line, FARG_Soft_I2C_Write_d +0x4096 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,130 :: Soft_I2C_Write (0x40); // set line, line = 0 +0x409A 0x0E40 MOVLW 64 +0x409C 0x0103 MOVLB 3 +0x409E 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x40A0 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,132 :: Soft_I2C_Write (0x8D); // charge pump +0x40A4 0x0E8D MOVLW 141 +0x40A6 0x0103 MOVLB 3 +0x40A8 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x40AA 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,133 :: Soft_I2C_Write (0x14); // 0x10 - external, 0x14 - internal +0x40AE 0x0E14 MOVLW 20 +0x40B0 0x0103 MOVLB 3 +0x40B2 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x40B4 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,135 :: Soft_I2C_Write (0x81); // contrast +0x40B8 0x0E81 MOVLW 129 +0x40BA 0x0103 MOVLB 3 +0x40BC 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x40BE 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,136 :: Soft_I2C_Write (255); // 0-255 +0x40C2 0x0EFF MOVLW 255 +0x40C4 0x0103 MOVLB 3 +0x40C6 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x40C8 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,138 :: Soft_I2C_Write (0xD9); // pre-charge +0x40CC 0x0ED9 MOVLW 217 +0x40CE 0x0103 MOVLB 3 +0x40D0 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x40D2 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,139 :: Soft_I2C_Write (0xf1); // 0x22 - external, 0xF1 - internal +0x40D6 0x0EF1 MOVLW 241 +0x40D8 0x0103 MOVLB 3 +0x40DA 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x40DC 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,141 :: Soft_I2C_Write (0x20); // memory addressing mode +0x40E0 0x0E20 MOVLW 32 +0x40E2 0x0103 MOVLB 3 +0x40E4 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x40E6 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,142 :: Soft_I2C_Write (0x02); // page addressing mode 02 +0x40EA 0x0E02 MOVLW 2 +0x40EC 0x0103 MOVLB 3 +0x40EE 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x40F0 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,144 :: Soft_I2C_Write (0x21); // set column range +0x40F4 0x0E21 MOVLW 33 +0x40F6 0x0103 MOVLB 3 +0x40F8 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x40FA 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,145 :: Soft_I2C_Write (0); // column start +0x40FE 0x0103 MOVLB 3 +0x4100 0x6B30 CLRF FARG_Soft_I2C_Write_d, 1 +0x4102 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,146 :: Soft_I2C_Write (127); // column stop +0x4106 0x0E7F MOVLW 127 +0x4108 0x0103 MOVLB 3 +0x410A 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x410C 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,148 :: Soft_I2C_Write (0x2E); // stop scrolling +0x4110 0x0E2E MOVLW 46 +0x4112 0x0103 MOVLB 3 +0x4114 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4116 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,150 :: if(led_type==4) { +0x411A 0x0102 MOVLB 2 +0x411C 0x51AB MOVF oled_control_led_type, 0, 1 +0x411E 0x0A04 XORLW 4 +0x4120 0xE10B BNZ L_oled_init17 +;oled_control.c,151 :: Soft_I2C_Write (0xA0); // segment re-map, A0 - normal, A1 - remapped +0x4122 0x0EA0 MOVLW 160 +0x4124 0x0103 MOVLB 3 +0x4126 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4128 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,153 :: Soft_I2C_Write (0xC0); // scan direction, C0 - normal, C8 - remapped +0x412C 0x0EC0 MOVLW 192 +0x412E 0x0103 MOVLB 3 +0x4130 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4132 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,154 :: } +0x4136 0xD00A BRA L_oled_init18 +L_oled_init17: +;oled_control.c,156 :: Soft_I2C_Write (0xA1); // segment re-map, A0 - normal, A1 - remapped +0x4138 0x0EA1 MOVLW 161 +0x413A 0x0103 MOVLB 3 +0x413C 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x413E 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,158 :: Soft_I2C_Write (0xC8); // scan direction, C0 - normal, C8 - remapped +0x4142 0x0EC8 MOVLW 200 +0x4144 0x0103 MOVLB 3 +0x4146 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4148 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,159 :: } +L_oled_init18: +;oled_control.c,161 :: Soft_I2C_Write (0xDA); // COM pins configure +0x414C 0x0EDA MOVLW 218 +0x414E 0x0103 MOVLB 3 +0x4150 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4152 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,162 :: Soft_I2C_Write (0x12); // 12 for x64 +0x4156 0x0E12 MOVLW 18 +0x4158 0x0103 MOVLB 3 +0x415A 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x415C 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,164 :: Soft_I2C_Write (0xDB); // V-COM detect +0x4160 0x0EDB MOVLW 219 +0x4162 0x0103 MOVLB 3 +0x4164 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4166 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,165 :: Soft_I2C_Write (0x40); // +0x416A 0x0E40 MOVLW 64 +0x416C 0x0103 MOVLB 3 +0x416E 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4170 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,166 :: } +L_oled_init16: +;oled_control.c,167 :: Soft_I2C_Write (0xA4); // display entire ON +0x4174 0x0EA4 MOVLW 164 +0x4176 0x0103 MOVLB 3 +0x4178 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x417A 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,169 :: Soft_I2C_Write (0xA6); // 0xA6 - normal, 0xA7 - inverse +0x417E 0x0EA6 MOVLW 166 +0x4180 0x0103 MOVLB 3 +0x4182 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x4184 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,171 :: Soft_I2C_Stop (); +0x4188 0xF000ECA5 CALL _Soft_I2C_Stop, 0 +;oled_control.c,175 :: Delay_ms(100); +0x418C 0x0E03 MOVLW 3 +0x418E 0x6E0B MOVWF R11, 0 +0x4190 0x0E08 MOVLW 8 +0x4192 0x6E0C MOVWF R12, 0 +0x4194 0x0E77 MOVLW 119 +0x4196 0x6E0D MOVWF R13, 0 +L_oled_init19: +0x4198 0x2E0D DECFSZ R13, 1, 0 +0x419A 0xD7FE BRA L_oled_init19 +0x419C 0x2E0C DECFSZ R12, 1, 0 +0x419E 0xD7FC BRA L_oled_init19 +0x41A0 0x2E0B DECFSZ R11, 1, 0 +0x41A2 0xD7FA BRA L_oled_init19 +;oled_control.c,176 :: Soft_I2C_Start(); +0x41A4 0xF000EC0E CALL _Soft_I2C_Start, 0 +;oled_control.c,177 :: Soft_I2C_Write(led_addr); // device addres +0x41A8 0xF330C2B2 MOVFF oled_control_led_addr, FARG_Soft_I2C_Write_d +0x41AC 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,178 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data +0x41B0 0x0E40 MOVLW 64 +0x41B2 0x0103 MOVLB 3 +0x41B4 0x6F30 MOVWF FARG_Soft_I2C_Write_d, 1 +0x41B6 0xF000EC2B CALL _Soft_I2C_Write, 0 +;oled_control.c,180 :: if(led_type==2 | led_type==3) { // 128*32 OLED +0x41BA 0x0102 MOVLB 2 +0x41BC 0x51AB MOVF oled_control_led_type, 0, 1 +0x41BE 0x0A02 XORLW 2 +0x41C0 0x0E01 MOVLW 1 +0x41C2 0xA4D8 BTFSS STATUS, 2 +0x41C4 0x0E00 MOVLW 0 +0x41C6 0x6E01 MOVWF R1 +0x41C8 0x51AB MOVF oled_control_led_type, 0, 1 +0x41CA 0x0A03 XORLW 3 +0x41CC 0x0E01 MOVLW 1 +0x41CE 0xA4D8 BTFSS STATUS, 2 +0x41D0 0x0E00 MOVLW 0 +0x41D2 0x6E00 MOVWF R0 +0x41D4 0x5001 MOVF R1, 0 +0x41D6 0x1200 IORWF R0, 1 +0x41D8 0xE01A BZ L_oled_init20 +;oled_control.c,181 :: for (r = 0; r <=3; r++) { +0x41DA 0x6BD7 CLRF oled_init_r_L0, 1 +L_oled_init21: +0x41DC 0x51D7 MOVF oled_init_r_L0, 0, 1 +0x41DE 0x0803 SUBLW 3 +0x41E0 0xE315 BNC L_oled_init22 +;oled_control.c,182 :: set_addressing (r, 0); // clear all 4 pages +0x41E2 0xF32BC2D7 MOVFF oled_init_r_L0, FARG_set_addressing_pagenum +0x41E6 0x0103 MOVLB 3 +0x41E8 0x6B2C CLRF FARG_set_addressing_c_start, 1 +0x41EA 0xF000EC62 CALL _set_addressing, 0 +;oled_control.c,183 :: for (i = 0; i < 128; i++, Soft_I2C_Write(0)); // clear one page pixels +0x41EE 0x0102 MOVLB 2 +0x41F0 0x6BD6 CLRF oled_init_i_L0, 1 +L_oled_init24: +0x41F2 0x0102 MOVLB 2 +0x41F4 0x0E80 MOVLW 128 +0x41F6 0x5DD6 SUBWF oled_init_i_L0, 0, 1 +0x41F8 0xE206 BC L_oled_init25 +0x41FA 0x2BD6 INCF oled_init_i_L0, 1, 1 +0x41FC 0x0103 MOVLB 3 +0x41FE 0x6B30 CLRF FARG_Soft_I2C_Write_d, 1 +0x4200 0xF000EC2B CALL _Soft_I2C_Write, 0 +0x4204 0xD7F6 BRA L_oled_init24 +L_oled_init25: +;oled_control.c,181 :: for (r = 0; r <=3; r++) { +0x4206 0x0102 MOVLB 2 +0x4208 0x2BD7 INCF oled_init_r_L0, 1, 1 +;oled_control.c,184 :: } +0x420A 0xD7E8 BRA L_oled_init21 +L_oled_init22: +;oled_control.c,185 :: } +0x420C 0xD019 BRA L_oled_init27 +L_oled_init20: +;oled_control.c,187 :: for (r = 0; r <=7; r++) { +0x420E 0x6BD7 CLRF oled_init_r_L0, 1 +L_oled_init28: +0x4210 0x51D7 MOVF oled_init_r_L0, 0, 1 +0x4212 0x0807 SUBLW 7 +0x4214 0xE315 BNC L_oled_init29 +;oled_control.c,188 :: set_addressing (r, 0); // clear all 8 pages +0x4216 0xF32BC2D7 MOVFF oled_init_r_L0, FARG_set_addressing_pagenum +0x421A 0x0103 MOVLB 3 +0x421C 0x6B2C CLRF FARG_set_addressing_c_start, 1 +0x421E 0xF000EC62 CALL _set_addressing, 0 +;oled_control.c,189 :: for (i = 0; i < 128; i++, Soft_I2C_Write(0x00)); // clear one page pixels +0x4222 0x0102 MOVLB 2 +0x4224 0x6BD6 CLRF oled_init_i_L0, 1 +L_oled_init31: +0x4226 0x0102 MOVLB 2 +0x4228 0x0E80 MOVLW 128 +0x422A 0x5DD6 SUBWF oled_init_i_L0, 0, 1 +0x422C 0xE206 BC L_oled_init32 +0x422E 0x2BD6 INCF oled_init_i_L0, 1, 1 +0x4230 0x0103 MOVLB 3 +0x4232 0x6B30 CLRF FARG_Soft_I2C_Write_d, 1 +0x4234 0xF000EC2B CALL _Soft_I2C_Write, 0 +0x4238 0xD7F6 BRA L_oled_init31 +L_oled_init32: +;oled_control.c,187 :: for (r = 0; r <=7; r++) { +0x423A 0x0102 MOVLB 2 +0x423C 0x2BD7 INCF oled_init_r_L0, 1, 1 +;oled_control.c,190 :: } +0x423E 0xD7E8 BRA L_oled_init28 +L_oled_init29: +;oled_control.c,192 :: } +L_oled_init27: +;oled_control.c,194 :: Soft_I2C_Stop (); +0x4240 0xF000ECA5 CALL _Soft_I2C_Stop, 0 +;oled_control.c,195 :: send_command (0xAF); // display ON +0x4244 0x0EAF MOVLW 175 +0x4246 0x6FFF MOVWF FARG_send_command_oled_command, 1 +0x4248 0xF008EC2A CALL _send_command, 0 +;oled_control.c,198 :: } +L_end_oled_init: +0x424C 0x0012 RETURN 0 +; end of _oled_init +_Div_8X8_U: +;__Lib_Math.c,77 :: +;__Lib_Math.c,84 :: +0x424E 0x6A08 CLRF R8, 0 +;__Lib_Math.c,85 :: +0x4250 0x0E08 MOVLW 8 +;__Lib_Math.c,86 :: +0x4252 0x6E0C MOVWF R12, 0 +;__Lib_Math.c,87 :: +0x4254 0x3400 RLCF R0, 0, 0 +;__Lib_Math.c,88 :: +0x4256 0x3608 RLCF R8, 1, 0 +;__Lib_Math.c,89 :: +0x4258 0x5004 MOVF R4, 0, 0 +;__Lib_Math.c,90 :: +0x425A 0x5E08 SUBWF R8, 1, 0 +;__Lib_Math.c,91 :: +0x425C 0xB0D8 BTFSC STATUS, 0, 0 +;__Lib_Math.c,92 :: +0x425E 0xD002 BRA $+6 +;__Lib_Math.c,93 :: +0x4260 0x2608 ADDWF R8, 1, 0 +;__Lib_Math.c,94 :: +0x4262 0x90D8 BCF STATUS, 0, 0 +;__Lib_Math.c,95 :: +0x4264 0x3600 RLCF R0, 1, 0 +;__Lib_Math.c,96 :: +0x4266 0x2E0C DECFSZ R12, 1, 0 +;__Lib_Math.c,97 :: +0x4268 0xD7F5 BRA $-20 +;__Lib_Math.c,99 :: +L_end_Div_8X8_U: +0x426A 0x0012 RETURN 0 +; end of _Div_8X8_U +_Bcd2Dec: +;__Lib_Conversions.c,368 :: +;__Lib_Conversions.c,369 :: +;__Lib_Conversions.c,371 :: +0x426C 0xF000C2D6 MOVFF FARG_Bcd2Dec_bcdnum, R0 +0x4270 0x3200 RRCF R0, 1 +0x4272 0x9E00 BCF R0, 7 +0x4274 0x3200 RRCF R0, 1 +0x4276 0x9E00 BCF R0, 7 +0x4278 0x3200 RRCF R0, 1 +0x427A 0x9E00 BCF R0, 7 +0x427C 0x3200 RRCF R0, 1 +0x427E 0x9E00 BCF R0, 7 +0x4280 0x0E0A MOVLW 10 +0x4282 0x0200 MULWF R0 +0x4284 0xF001CFF3 MOVFF PRODL, R1 +;__Lib_Conversions.c,372 :: +0x4288 0x0E0F MOVLW 15 +0x428A 0x0102 MOVLB 2 +0x428C 0x15D6 ANDWF FARG_Bcd2Dec_bcdnum, 0, 1 +0x428E 0x6E00 MOVWF R0 +0x4290 0x5001 MOVF R1, 0 +0x4292 0x2600 ADDWF R0, 1 +;__Lib_Conversions.c,373 :: +;__Lib_Conversions.c,374 :: +L_end_Bcd2Dec: +0x4294 0x0012 RETURN 0 +; end of _Bcd2Dec +_ADC_Init: +;__Lib_ADC_A_D.c,13 :: +;__Lib_ADC_A_D.c,14 :: +0x4296 0x0E94 MOVLW _ADC_Get_Sample +0x4298 0x0102 MOVLB 2 +0x429A 0x6FAD MOVWF _ADC_Get_Sample_Ptr, 1 +0x429C 0x0E0A MOVLW hi_addr(_ADC_Get_Sample) +0x429E 0x6FAE MOVWF _ADC_Get_Sample_Ptr+1, 1 +0x42A0 0x0E17 MOVLW FARG_ADC_Get_Sample_channel +0x42A2 0x6FAF MOVWF _ADC_Get_Sample_Ptr+2, 1 +0x42A4 0x0E03 MOVLW hi_addr(FARG_ADC_Get_Sample_channel) +0x42A6 0x6FB0 MOVWF _ADC_Get_Sample_Ptr+3, 1 +;__Lib_ADC_A_D.c,16 :: +0x42A8 0x6AC2 CLRF ADCON0 +;__Lib_ADC_A_D.c,17 :: +0x42AA 0x0101 MOVLB 1 +0x42AC 0x1D6A COMF _vref_mask, 0, 1 +0x42AE 0x6E00 MOVWF R0 +0x42B0 0x5000 MOVF R0, 0 +0x42B2 0x16C1 ANDWF ADCON1, 1 +;__Lib_ADC_A_D.c,18 :: +0x42B4 0x0E07 MOVLW 7 +0x42B6 0x12C0 IORWF ADCON2, 1 +;__Lib_ADC_A_D.c,19 :: +0x42B8 0x8EC0 BSF ADCON2, 7 +;__Lib_ADC_A_D.c,20 :: +0x42BA 0x80C2 BSF ADCON0, 0 +;__Lib_ADC_A_D.c,21 :: +L_end_ADC_Init: +0x42BC 0x0012 RETURN 0 +; end of _ADC_Init +_EEPROM_Read: +;__Lib_EEPROM_256.c,7 :: +;__Lib_EEPROM_256.c,9 :: +0x42BE 0x9CA6 BCF EECON1, 6 +;__Lib_EEPROM_256.c,10 :: +0x42C0 0xFFA9C2D6 MOVFF FARG_EEPROM_Read_address, EEADR +;__Lib_EEPROM_256.c,11 :: +0x42C4 0x9EA6 BCF EECON1, 7 +;__Lib_EEPROM_256.c,12 :: +0x42C6 0x80A6 BSF EECON1, 0 +;__Lib_EEPROM_256.c,14 :: +0x42C8 0xF000CFA8 MOVFF EEDATA, R0 +;__Lib_EEPROM_256.c,16 :: +L_end_EEPROM_Read: +0x42CC 0x0012 RETURN 0 +; end of _EEPROM_Read +_btn_push: +;main.c,341 :: void btn_push() { +;main.c,342 :: asm CLRWDT; +0x42CE 0x0004 CLRWDT +;main.c,343 :: if(type==4 | type==5) { // 128*64 OLED +0x42D0 0x0102 MOVLB 2 +0x42D2 0x51C2 MOVF _type, 0, 1 +0x42D4 0x0A04 XORLW 4 +0x42D6 0x0E01 MOVLW 1 +0x42D8 0xA4D8 BTFSS STATUS, 2 +0x42DA 0x0E00 MOVLW 0 +0x42DC 0x6E01 MOVWF R1 +0x42DE 0x51C2 MOVF _type, 0, 1 +0x42E0 0x0A05 XORLW 5 +0x42E2 0x0E01 MOVLW 1 +0x42E4 0xA4D8 BTFSS STATUS, 2 +0x42E6 0x0E00 MOVLW 0 +0x42E8 0x6E00 MOVWF R0 +0x42EA 0x5001 MOVF R1, 0 +0x42EC 0x1200 IORWF R0, 1 +0x42EE 0xE00E BZ L_btn_push236 +;main.c,344 :: led_wr_str (2, 16+12*4, "TUNE", 4); +0x42F0 0x0E02 MOVLW 2 +0x42F2 0x0103 MOVLB 3 +0x42F4 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x42F6 0x0E40 MOVLW 64 +0x42F8 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x42FA 0x0E5A MOVLW ?lstr26_main +0x42FC 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x42FE 0x0E00 MOVLW hi_addr(?lstr26_main) +0x4300 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4302 0x0E04 MOVLW 4 +0x4304 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4306 0xF007ECAF CALL _led_wr_str, 0 +;main.c,345 :: } +0x430A 0xD020 BRA L_btn_push237 +L_btn_push236: +;main.c,346 :: else if(type!=0 & type!=6) { // 1602 LCD & 128*32 OLED +0x430C 0x0102 MOVLB 2 +0x430E 0x51C2 MOVF _type, 0, 1 +0x4310 0x0A00 XORLW 0 +0x4312 0x0E00 MOVLW 0 +0x4314 0xA4D8 BTFSS STATUS, 2 +0x4316 0x0E01 MOVLW 1 +0x4318 0x6E01 MOVWF R1 +0x431A 0x51C2 MOVF _type, 0, 1 +0x431C 0x0A06 XORLW 6 +0x431E 0x0E00 MOVLW 0 +0x4320 0xA4D8 BTFSS STATUS, 2 +0x4322 0x0E01 MOVLW 1 +0x4324 0x6E00 MOVWF R0 +0x4326 0x5001 MOVF R1, 0 +0x4328 0x1600 ANDWF R0, 1 +0x432A 0xE00E BZ L_btn_push238 +;main.c,347 :: led_wr_str (1, 4, "TUNE", 4); +0x432C 0x0E01 MOVLW 1 +0x432E 0x0103 MOVLB 3 +0x4330 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x4332 0x0E04 MOVLW 4 +0x4334 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4336 0x0E73 MOVLW ?lstr27_main +0x4338 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x433A 0x0E00 MOVLW hi_addr(?lstr27_main) +0x433C 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x433E 0x0E04 MOVLW 4 +0x4340 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4342 0xF007ECAF CALL _led_wr_str, 0 +;main.c,348 :: } +0x4346 0xD002 BRA L_btn_push239 +L_btn_push238: +;main.c,350 :: LATB.B6 = 1; +0x4348 0x8C8A BSF LATB, 6 +;main.c,351 :: LATB.B7 = 1; +0x434A 0x8E8A BSF LATB, 7 +;main.c,352 :: } +L_btn_push239: +L_btn_push237: +;main.c,353 :: Low = 0; +0x434C 0x908B BCF LATC0_bit, BitPos(LATC0_bit+0) +;main.c,354 :: Mid = 0; +0x434E 0x9C8B BCF LATC6_bit, BitPos(LATC6_bit+0) +;main.c,355 :: High = 0; +0x4350 0x9E8B BCF LATC7_bit, BitPos(LATC7_bit+0) +;main.c,356 :: tune(); +0x4352 0xDC6C RCALL _tune +;main.c,357 :: if(type==0) { // real-time 2-colors led work +0x4354 0x0102 MOVLB 2 +0x4356 0x51C2 MOVF _type, 0, 1 +0x4358 0x0A00 XORLW 0 +0x435A 0xE11B BNZ L_btn_push240 +;main.c,358 :: if(swr<=150) { LATB.B6 = 0; LATB.B7 = 1; } // Green +0x435C 0x0E80 MOVLW 128 +0x435E 0x6E00 MOVWF R0 +0x4360 0x0E80 MOVLW 128 +0x4362 0x19B8 XORWF _SWR+1, 0, 1 +0x4364 0x5C00 SUBWF R0, 0 +0x4366 0xE102 BNZ L__btn_push564 +0x4368 0x51B7 MOVF _SWR, 0, 1 +0x436A 0x0896 SUBLW 150 +L__btn_push564: +0x436C 0xE303 BNC L_btn_push241 +0x436E 0x9C8A BCF LATB, 6 +0x4370 0x8E8A BSF LATB, 7 +0x4372 0xD00E BRA L_btn_push242 +L_btn_push241: +;main.c,359 :: else if(swr<=250) {PORTB.B6 = 0; PORTB.B7 = 0;} // Orange +0x4374 0x0E80 MOVLW 128 +0x4376 0x6E00 MOVWF R0 +0x4378 0x0E80 MOVLW 128 +0x437A 0x19B8 XORWF _SWR+1, 0, 1 +0x437C 0x5C00 SUBWF R0, 0 +0x437E 0xE102 BNZ L__btn_push565 +0x4380 0x51B7 MOVF _SWR, 0, 1 +0x4382 0x08FA SUBLW 250 +L__btn_push565: +0x4384 0xE303 BNC L_btn_push243 +0x4386 0x9C81 BCF PORTB, 6 +0x4388 0x9E81 BCF PORTB, 7 +0x438A 0xD002 BRA L_btn_push244 +L_btn_push243: +;main.c,360 :: else { PORTB.B6 = 1; PORTB.B7 = 0; } // Red +0x438C 0x8C81 BSF PORTB, 6 +0x438E 0x9E81 BCF PORTB, 7 +L_btn_push244: +L_btn_push242: +;main.c,361 :: } +0x4390 0xD02F BRA L_btn_push245 +L_btn_push240: +;main.c,362 :: else if(type==6){ +0x4392 0x51C2 MOVF _type, 0, 1 +0x4394 0x0A06 XORLW 6 +0x4396 0xE11B BNZ L_btn_push246 +;main.c,363 :: if(swr<=150) { LATB.B6 = 1; LATB.B7 = 0; } // Green +0x4398 0x0E80 MOVLW 128 +0x439A 0x6E00 MOVWF R0 +0x439C 0x0E80 MOVLW 128 +0x439E 0x19B8 XORWF _SWR+1, 0, 1 +0x43A0 0x5C00 SUBWF R0, 0 +0x43A2 0xE102 BNZ L__btn_push566 +0x43A4 0x51B7 MOVF _SWR, 0, 1 +0x43A6 0x0896 SUBLW 150 +L__btn_push566: +0x43A8 0xE303 BNC L_btn_push247 +0x43AA 0x8C8A BSF LATB, 6 +0x43AC 0x9E8A BCF LATB, 7 +0x43AE 0xD00E BRA L_btn_push248 +L_btn_push247: +;main.c,364 :: else if(swr<=250) {PORTB.B6 = 1; PORTB.B7 = 1;} // Orange +0x43B0 0x0E80 MOVLW 128 +0x43B2 0x6E00 MOVWF R0 +0x43B4 0x0E80 MOVLW 128 +0x43B6 0x19B8 XORWF _SWR+1, 0, 1 +0x43B8 0x5C00 SUBWF R0, 0 +0x43BA 0xE102 BNZ L__btn_push567 +0x43BC 0x51B7 MOVF _SWR, 0, 1 +0x43BE 0x08FA SUBLW 250 +L__btn_push567: +0x43C0 0xE303 BNC L_btn_push249 +0x43C2 0x8C81 BSF PORTB, 6 +0x43C4 0x8E81 BSF PORTB, 7 +0x43C6 0xD002 BRA L_btn_push250 +L_btn_push249: +;main.c,365 :: else { PORTB.B6 = 0; PORTB.B7 = 1; } // Red +0x43C8 0x9C81 BCF PORTB, 6 +0x43CA 0x8E81 BSF PORTB, 7 +L_btn_push250: +L_btn_push248: +;main.c,366 :: } +0x43CC 0xD011 BRA L_btn_push251 +L_btn_push246: +;main.c,367 :: else if(Loss_mode==0 | Loss_ind==0) lcd_ind(); +0x43CE 0x5104 MOVF _Loss_mode, 0, 1 +0x43D0 0x0A00 XORLW 0 +0x43D2 0x0E01 MOVLW 1 +0x43D4 0xA4D8 BTFSS STATUS, 2 +0x43D6 0x0E00 MOVLW 0 +0x43D8 0x6E01 MOVWF R1 +0x43DA 0x5049 MOVF main_Loss_ind, 0 +0x43DC 0x0A00 XORLW 0 +0x43DE 0x0E01 MOVLW 1 +0x43E0 0xA4D8 BTFSS STATUS, 2 +0x43E2 0x0E00 MOVLW 0 +0x43E4 0x6E00 MOVWF R0 +0x43E6 0x5001 MOVF R1, 0 +0x43E8 0x1200 IORWF R0, 1 +0x43EA 0xE002 BZ L_btn_push252 +0x43EC 0xF008EC3C CALL _lcd_ind, 0 +L_btn_push252: +L_btn_push251: +L_btn_push245: +;main.c,368 :: if(SWR<=150) Low = 1; +0x43F0 0x0E80 MOVLW 128 +0x43F2 0x6E00 MOVWF R0 +0x43F4 0x0E80 MOVLW 128 +0x43F6 0x0102 MOVLB 2 +0x43F8 0x19B8 XORWF _SWR+1, 0, 1 +0x43FA 0x5C00 SUBWF R0, 0 +0x43FC 0xE102 BNZ L__btn_push568 +0x43FE 0x51B7 MOVF _SWR, 0, 1 +0x4400 0x0896 SUBLW 150 +L__btn_push568: +0x4402 0xE302 BNC L_btn_push253 +0x4404 0x808B BSF LATC0_bit, BitPos(LATC0_bit+0) +0x4406 0xD00C BRA L_btn_push254 +L_btn_push253: +;main.c,369 :: else if(SWR<=250) Mid = 1; +0x4408 0x0E80 MOVLW 128 +0x440A 0x6E00 MOVWF R0 +0x440C 0x0E80 MOVLW 128 +0x440E 0x19B8 XORWF _SWR+1, 0, 1 +0x4410 0x5C00 SUBWF R0, 0 +0x4412 0xE102 BNZ L__btn_push569 +0x4414 0x51B7 MOVF _SWR, 0, 1 +0x4416 0x08FA SUBLW 250 +L__btn_push569: +0x4418 0xE302 BNC L_btn_push255 +0x441A 0x8C8B BSF LATC6_bit, BitPos(LATC6_bit+0) +0x441C 0xD001 BRA L_btn_push256 +L_btn_push255: +;main.c,370 :: else High = 1; +0x441E 0x8E8B BSF LATC7_bit, BitPos(LATC7_bit+0) +L_btn_push256: +L_btn_push254: +;main.c,371 :: EEPROM_Write(255, cap); +0x4420 0x0EFF MOVLW 255 +0x4422 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x4424 0xF2ECC1FF MOVFF main_cap, FARG_EEPROM_Write_data_ +0x4428 0xF016ECCF CALL _EEPROM_Write, 0 +;main.c,372 :: EEPROM_Write(254, ind); +0x442C 0x0EFE MOVLW 254 +0x442E 0x0102 MOVLB 2 +0x4430 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x4432 0xF2ECC1FE MOVFF main_ind, FARG_EEPROM_Write_data_ +0x4436 0xF016ECCF CALL _EEPROM_Write, 0 +;main.c,373 :: EEPROM_Write(253, SW); +0x443A 0x0EFD MOVLW 253 +0x443C 0x0102 MOVLB 2 +0x443E 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x4440 0xF2ECC205 MOVFF main_SW, FARG_EEPROM_Write_data_ +0x4444 0xF016ECCF CALL _EEPROM_Write, 0 +;main.c,374 :: EEPROM_Write(252, swr_a/256); +0x4448 0x0EFC MOVLW 252 +0x444A 0x0102 MOVLB 2 +0x444C 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x444E 0x0E00 MOVLW 0 +0x4450 0x6E04 MOVWF R4 +0x4452 0x0E01 MOVLW 1 +0x4454 0x6E05 MOVWF R5 +0x4456 0xF000C290 MOVFF _swr_a, R0 +0x445A 0xF001C291 MOVFF _swr_a+1, R1 +0x445E 0xF01AECE6 CALL _Div_16x16_S, 0 +0x4462 0xF2ECC000 MOVFF R0, FARG_EEPROM_Write_data_ +0x4466 0xF016ECCF CALL _EEPROM_Write, 0 +;main.c,375 :: EEPROM_Write(251, swr_a%256); +0x446A 0x0EFB MOVLW 251 +0x446C 0x0102 MOVLB 2 +0x446E 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x4470 0x0E00 MOVLW 0 +0x4472 0x6E04 MOVWF R4 +0x4474 0x0E01 MOVLW 1 +0x4476 0x6E05 MOVWF R5 +0x4478 0xF000C290 MOVFF _swr_a, R0 +0x447C 0xF001C291 MOVFF _swr_a+1, R1 +0x4480 0xF01AECE6 CALL _Div_16x16_S, 0 +0x4484 0xF000C008 MOVFF R8, R0 +0x4488 0xF001C009 MOVFF R9, R1 +0x448C 0xF2ECC000 MOVFF R0, FARG_EEPROM_Write_data_ +0x4490 0xF016ECCF CALL _EEPROM_Write, 0 +;main.c,376 :: SWR_old = 10000; +0x4494 0x0E10 MOVLW 16 +0x4496 0x0102 MOVLB 2 +0x4498 0x6F10 MOVWF _SWR_old, 1 +0x449A 0x0E27 MOVLW 39 +0x449C 0x6F11 MOVWF _SWR_old+1, 1 +;main.c,377 :: Power_old = 10000; +0x449E 0x0E10 MOVLW 16 +0x44A0 0x6F8C MOVWF _Power_old, 1 +0x44A2 0x0E27 MOVLW 39 +0x44A4 0x6F8D MOVWF _Power_old+1, 1 +;main.c,378 :: lcd_pwr(); +0x44A6 0xF017EC0D CALL _lcd_pwr, 0 +;main.c,379 :: SWR_fixed_old = SWR; +0x44AA 0xF201C2B7 MOVFF _SWR, _SWR_fixed_old +0x44AE 0xF202C2B8 MOVFF _SWR+1, _SWR_fixed_old+1 +;main.c,380 :: p_Tx = 0; +0x44B2 0x9E89 BCF LATA7_bit, BitPos(LATA7_bit+0) +;main.c,381 :: n_Tx = 1; +0x44B4 0x8689 BSF LATA3_bit, BitPos(LATA3_bit+0) +;main.c,382 :: asm CLRWDT; +0x44B6 0x0004 CLRWDT +;main.c,383 :: return; +;main.c,384 :: } +L_end_btn_push: +0x44B8 0x0012 RETURN 0 +; end of _btn_push +_lcd_prep: +;main.c,386 :: void lcd_prep() { +;main.c,387 :: asm CLRWDT; +0x44BA 0x0004 CLRWDT +;main.c,388 :: if(type==4 |type==5){ // 128*64 OLED +0x44BC 0x0102 MOVLB 2 +0x44BE 0x51C2 MOVF _type, 0, 1 +0x44C0 0x0A04 XORLW 4 +0x44C2 0x0E01 MOVLW 1 +0x44C4 0xA4D8 BTFSS STATUS, 2 +0x44C6 0x0E00 MOVLW 0 +0x44C8 0x6E01 MOVWF R1 +0x44CA 0x51C2 MOVF _type, 0, 1 +0x44CC 0x0A05 XORLW 5 +0x44CE 0x0E01 MOVLW 1 +0x44D0 0xA4D8 BTFSS STATUS, 2 +0x44D2 0x0E00 MOVLW 0 +0x44D4 0x6E00 MOVWF R0 +0x44D6 0x5001 MOVF R1, 0 +0x44D8 0x1200 IORWF R0, 1 +0x44DA 0xB4D8 BTFSC STATUS, 2 +0x44DC 0xD0C0 BRA L_lcd_prep257 +;main.c,389 :: if(lcd_prep_short==0) { +0x44DE 0x505F MOVF _lcd_prep_short, 0 +0x44E0 0x0A00 XORLW 0 +0x44E2 0xA4D8 BTFSS STATUS, 2 +0x44E4 0xD085 BRA L_lcd_prep258 +;main.c,390 :: led_wr_str (0, 22, "ATU-100", 7); +0x44E6 0x0103 MOVLB 3 +0x44E8 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x44EA 0x0E16 MOVLW 22 +0x44EC 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x44EE 0x0EC1 MOVLW ?lstr28_main +0x44F0 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x44F2 0x0E01 MOVLW hi_addr(?lstr28_main) +0x44F4 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x44F6 0x0E07 MOVLW 7 +0x44F8 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x44FA 0xF007ECAF CALL _led_wr_str, 0 +;main.c,391 :: led_wr_str (2, 4, "mini board", 10); +0x44FE 0x0E02 MOVLW 2 +0x4500 0x0103 MOVLB 3 +0x4502 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x4504 0x0E04 MOVLW 4 +0x4506 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4508 0x0E99 MOVLW ?lstr29_main +0x450A 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x450C 0x0E01 MOVLW hi_addr(?lstr29_main) +0x450E 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4510 0x0E0A MOVLW 10 +0x4512 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4514 0xF007ECAF CALL _led_wr_str, 0 +;main.c,392 :: led_wr_str (4, 16, "by N7DDC", 8); +0x4518 0x0E04 MOVLW 4 +0x451A 0x0103 MOVLB 3 +0x451C 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x451E 0x0E10 MOVLW 16 +0x4520 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4522 0x0E90 MOVLW ?lstr30_main +0x4524 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4526 0x0E01 MOVLW hi_addr(?lstr30_main) +0x4528 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x452A 0x0E08 MOVLW 8 +0x452C 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x452E 0xF007ECAF CALL _led_wr_str, 0 +;main.c,393 :: led_wr_str (6, 4, "FW ver 3.1", 10); +0x4532 0x0E06 MOVLW 6 +0x4534 0x0103 MOVLB 3 +0x4536 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x4538 0x0E04 MOVLW 4 +0x453A 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x453C 0x0E85 MOVLW ?lstr31_main +0x453E 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4540 0x0E01 MOVLW hi_addr(?lstr31_main) +0x4542 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4544 0x0E0A MOVLW 10 +0x4546 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4548 0xF007ECAF CALL _led_wr_str, 0 +;main.c,394 :: asm CLRWDT; +0x454C 0x0004 CLRWDT +;main.c,395 :: Delay_ms(600); +0x454E 0x0E0D MOVLW 13 +0x4550 0x6E0B MOVWF R11, 0 +0x4552 0x0E2D MOVLW 45 +0x4554 0x6E0C MOVWF R12, 0 +0x4556 0x0ED7 MOVLW 215 +0x4558 0x6E0D MOVWF R13, 0 +L_lcd_prep259: +0x455A 0x2E0D DECFSZ R13, 1, 0 +0x455C 0xD7FE BRA L_lcd_prep259 +0x455E 0x2E0C DECFSZ R12, 1, 0 +0x4560 0xD7FC BRA L_lcd_prep259 +0x4562 0x2E0B DECFSZ R11, 1, 0 +0x4564 0xD7FA BRA L_lcd_prep259 +0x4566 0x0000 NOP +0x4568 0x0000 NOP +;main.c,396 :: asm CLRWDT; +0x456A 0x0004 CLRWDT +;main.c,397 :: Delay_ms(500); +0x456C 0x0E0B MOVLW 11 +0x456E 0x6E0B MOVWF R11, 0 +0x4570 0x0E26 MOVLW 38 +0x4572 0x6E0C MOVWF R12, 0 +0x4574 0x0E5D MOVLW 93 +0x4576 0x6E0D MOVWF R13, 0 +L_lcd_prep260: +0x4578 0x2E0D DECFSZ R13, 1, 0 +0x457A 0xD7FE BRA L_lcd_prep260 +0x457C 0x2E0C DECFSZ R12, 1, 0 +0x457E 0xD7FC BRA L_lcd_prep260 +0x4580 0x2E0B DECFSZ R11, 1, 0 +0x4582 0xD7FA BRA L_lcd_prep260 +0x4584 0x0000 NOP +0x4586 0x0000 NOP +;main.c,398 :: asm CLRWDT; +0x4588 0x0004 CLRWDT +;main.c,399 :: led_wr_str (0, 16, " ", 8); +0x458A 0x0103 MOVLB 3 +0x458C 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x458E 0x0E10 MOVLW 16 +0x4590 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4592 0x0EB8 MOVLW ?lstr32_main +0x4594 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4596 0x0E01 MOVLW hi_addr(?lstr32_main) +0x4598 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x459A 0x0E08 MOVLW 8 +0x459C 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x459E 0xF007ECAF CALL _led_wr_str, 0 +;main.c,400 :: led_wr_str (2, 4, " ", 10); +0x45A2 0x0E02 MOVLW 2 +0x45A4 0x0103 MOVLB 3 +0x45A6 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x45A8 0x0E04 MOVLW 4 +0x45AA 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x45AC 0x0EAD MOVLW ?lstr33_main +0x45AE 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x45B0 0x0E01 MOVLW hi_addr(?lstr33_main) +0x45B2 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x45B4 0x0E0A MOVLW 10 +0x45B6 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x45B8 0xF007ECAF CALL _led_wr_str, 0 +;main.c,401 :: led_wr_str (4, 16, " ", 8); +0x45BC 0x0E04 MOVLW 4 +0x45BE 0x0103 MOVLB 3 +0x45C0 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x45C2 0x0E10 MOVLW 16 +0x45C4 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x45C6 0x0EA4 MOVLW ?lstr34_main +0x45C8 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x45CA 0x0E01 MOVLW hi_addr(?lstr34_main) +0x45CC 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x45CE 0x0E08 MOVLW 8 +0x45D0 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x45D2 0xF007ECAF CALL _led_wr_str, 0 +;main.c,402 :: led_wr_str (6, 4, " ", 10); +0x45D6 0x0E06 MOVLW 6 +0x45D8 0x0103 MOVLB 3 +0x45DA 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x45DC 0x0E04 MOVLW 4 +0x45DE 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x45E0 0x0E4A MOVLW ?lstr35_main +0x45E2 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x45E4 0x0E01 MOVLW hi_addr(?lstr35_main) +0x45E6 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x45E8 0x0E0A MOVLW 10 +0x45EA 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x45EC 0xF007ECAF CALL _led_wr_str, 0 +;main.c,403 :: } +L_lcd_prep258: +;main.c,404 :: Delay_ms(150); +0x45F0 0x0E04 MOVLW 4 +0x45F2 0x6E0B MOVWF R11, 0 +0x45F4 0x0E0C MOVLW 12 +0x45F6 0x6E0C MOVWF R12, 0 +0x45F8 0x0E33 MOVLW 51 +0x45FA 0x6E0D MOVWF R13, 0 +L_lcd_prep261: +0x45FC 0x2E0D DECFSZ R13, 1, 0 +0x45FE 0xD7FE BRA L_lcd_prep261 +0x4600 0x2E0C DECFSZ R12, 1, 0 +0x4602 0xD7FC BRA L_lcd_prep261 +0x4604 0x2E0B DECFSZ R11, 1, 0 +0x4606 0xD7FA BRA L_lcd_prep261 +0x4608 0x0000 NOP +0x460A 0x0000 NOP +;main.c,405 :: led_wr_str (0, 16, "PWR=0.0W", 8); +0x460C 0x0103 MOVLB 3 +0x460E 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4610 0x0E10 MOVLW 16 +0x4612 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4614 0x0E41 MOVLW ?lstr36_main +0x4616 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4618 0x0E01 MOVLW hi_addr(?lstr36_main) +0x461A 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x461C 0x0E08 MOVLW 8 +0x461E 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4620 0xF007ECAF CALL _led_wr_str, 0 +;main.c,406 :: led_wr_str (2, 16, "SWR=0.00", 8); +0x4624 0x0E02 MOVLW 2 +0x4626 0x0103 MOVLB 3 +0x4628 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x462A 0x0E10 MOVLW 16 +0x462C 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x462E 0x0E38 MOVLW ?lstr37_main +0x4630 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4632 0x0E01 MOVLW hi_addr(?lstr37_main) +0x4634 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4636 0x0E08 MOVLW 8 +0x4638 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x463A 0xF007ECAF CALL _led_wr_str, 0 +;main.c,407 :: if(Auto) led_wr_str (0, 16+8*12, ".", 1); +0x463E 0x0102 MOVLB 2 +0x4640 0x5357 MOVF _Auto, 1, 1 +0x4642 0xE00C BZ L_lcd_prep262 +0x4644 0x0103 MOVLB 3 +0x4646 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4648 0x0E70 MOVLW 112 +0x464A 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x464C 0x0E68 MOVLW ?lstr38_main +0x464E 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4650 0x0E01 MOVLW hi_addr(?lstr38_main) +0x4652 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4654 0x0E01 MOVLW 1 +0x4656 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4658 0xF007ECAF CALL _led_wr_str, 0 +L_lcd_prep262: +;main.c,408 :: } +0x465C 0xD0D0 BRA L_lcd_prep263 +L_lcd_prep257: +;main.c,409 :: else if(type!=0 & type!=6) { // 1602 LCD & 128*32 OLED +0x465E 0x0102 MOVLB 2 +0x4660 0x51C2 MOVF _type, 0, 1 +0x4662 0x0A00 XORLW 0 +0x4664 0x0E00 MOVLW 0 +0x4666 0xA4D8 BTFSS STATUS, 2 +0x4668 0x0E01 MOVLW 1 +0x466A 0x6E01 MOVWF R1 +0x466C 0x51C2 MOVF _type, 0, 1 +0x466E 0x0A06 XORLW 6 +0x4670 0x0E00 MOVLW 0 +0x4672 0xA4D8 BTFSS STATUS, 2 +0x4674 0x0E01 MOVLW 1 +0x4676 0x6E00 MOVWF R0 +0x4678 0x5001 MOVF R1, 0 +0x467A 0x1600 ANDWF R0, 1 +0x467C 0xB4D8 BTFSC STATUS, 2 +0x467E 0xD0BF BRA L_lcd_prep264 +;main.c,410 :: if(lcd_prep_short==0) { +0x4680 0x505F MOVF _lcd_prep_short, 0 +0x4682 0x0A00 XORLW 0 +0x4684 0xA4D8 BTFSS STATUS, 2 +0x4686 0xD087 BRA L_lcd_prep265 +;main.c,411 :: led_wr_str (0, 4, "ATU-100", 7); +0x4688 0x0103 MOVLB 3 +0x468A 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x468C 0x0E04 MOVLW 4 +0x468E 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4690 0x0E60 MOVLW ?lstr39_main +0x4692 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4694 0x0E01 MOVLW hi_addr(?lstr39_main) +0x4696 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4698 0x0E07 MOVLW 7 +0x469A 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x469C 0xF007ECAF CALL _led_wr_str, 0 +;main.c,412 :: led_wr_str (1, 3, "mini board", 10); +0x46A0 0x0E01 MOVLW 1 +0x46A2 0x0103 MOVLB 3 +0x46A4 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x46A6 0x0E03 MOVLW 3 +0x46A8 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x46AA 0x0E55 MOVLW ?lstr40_main +0x46AC 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x46AE 0x0E01 MOVLW hi_addr(?lstr40_main) +0x46B0 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x46B2 0x0E0A MOVLW 10 +0x46B4 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x46B6 0xF007ECAF CALL _led_wr_str, 0 +;main.c,413 :: asm CLRWDT; +0x46BA 0x0004 CLRWDT +;main.c,414 :: Delay_ms(700); +0x46BC 0x0E0F MOVLW 15 +0x46BE 0x6E0B MOVWF R11, 0 +0x46C0 0x0E35 MOVLW 53 +0x46C2 0x6E0C MOVWF R12, 0 +0x46C4 0x0E51 MOVLW 81 +0x46C6 0x6E0D MOVWF R13, 0 +L_lcd_prep266: +0x46C8 0x2E0D DECFSZ R13, 1, 0 +0x46CA 0xD7FE BRA L_lcd_prep266 +0x46CC 0x2E0C DECFSZ R12, 1, 0 +0x46CE 0xD7FC BRA L_lcd_prep266 +0x46D0 0x2E0B DECFSZ R11, 1, 0 +0x46D2 0xD7FA BRA L_lcd_prep266 +;main.c,415 :: asm CLRWDT; +0x46D4 0x0004 CLRWDT +;main.c,416 :: Delay_ms(500); +0x46D6 0x0E0B MOVLW 11 +0x46D8 0x6E0B MOVWF R11, 0 +0x46DA 0x0E26 MOVLW 38 +0x46DC 0x6E0C MOVWF R12, 0 +0x46DE 0x0E5D MOVLW 93 +0x46E0 0x6E0D MOVWF R13, 0 +L_lcd_prep267: +0x46E2 0x2E0D DECFSZ R13, 1, 0 +0x46E4 0xD7FE BRA L_lcd_prep267 +0x46E6 0x2E0C DECFSZ R12, 1, 0 +0x46E8 0xD7FC BRA L_lcd_prep267 +0x46EA 0x2E0B DECFSZ R11, 1, 0 +0x46EC 0xD7FA BRA L_lcd_prep267 +0x46EE 0x0000 NOP +0x46F0 0x0000 NOP +;main.c,417 :: asm CLRWDT; +0x46F2 0x0004 CLRWDT +;main.c,418 :: led_wr_str (0, 4, "by N7DDC", 8); +0x46F4 0x0103 MOVLB 3 +0x46F6 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x46F8 0x0E04 MOVLW 4 +0x46FA 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x46FC 0x0E2F MOVLW ?lstr41_main +0x46FE 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4700 0x0E01 MOVLW hi_addr(?lstr41_main) +0x4702 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4704 0x0E08 MOVLW 8 +0x4706 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4708 0xF007ECAF CALL _led_wr_str, 0 +;main.c,419 :: led_wr_str (1, 3, "FW ver 3.1", 10); +0x470C 0x0E01 MOVLW 1 +0x470E 0x0103 MOVLB 3 +0x4710 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x4712 0x0E03 MOVLW 3 +0x4714 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4716 0x0E10 MOVLW ?lstr42_main +0x4718 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x471A 0x0E01 MOVLW hi_addr(?lstr42_main) +0x471C 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x471E 0x0E0A MOVLW 10 +0x4720 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4722 0xF007ECAF CALL _led_wr_str, 0 +;main.c,420 :: asm CLRWDT; +0x4726 0x0004 CLRWDT +;main.c,421 :: Delay_ms(600); +0x4728 0x0E0D MOVLW 13 +0x472A 0x6E0B MOVWF R11, 0 +0x472C 0x0E2D MOVLW 45 +0x472E 0x6E0C MOVWF R12, 0 +0x4730 0x0ED7 MOVLW 215 +0x4732 0x6E0D MOVWF R13, 0 +L_lcd_prep268: +0x4734 0x2E0D DECFSZ R13, 1, 0 +0x4736 0xD7FE BRA L_lcd_prep268 +0x4738 0x2E0C DECFSZ R12, 1, 0 +0x473A 0xD7FC BRA L_lcd_prep268 +0x473C 0x2E0B DECFSZ R11, 1, 0 +0x473E 0xD7FA BRA L_lcd_prep268 +0x4740 0x0000 NOP +0x4742 0x0000 NOP +;main.c,422 :: asm CLRWDT; +0x4744 0x0004 CLRWDT +;main.c,423 :: Delay_ms(500); +0x4746 0x0E0B MOVLW 11 +0x4748 0x6E0B MOVWF R11, 0 +0x474A 0x0E26 MOVLW 38 +0x474C 0x6E0C MOVWF R12, 0 +0x474E 0x0E5D MOVLW 93 +0x4750 0x6E0D MOVWF R13, 0 +L_lcd_prep269: +0x4752 0x2E0D DECFSZ R13, 1, 0 +0x4754 0xD7FE BRA L_lcd_prep269 +0x4756 0x2E0C DECFSZ R12, 1, 0 +0x4758 0xD7FC BRA L_lcd_prep269 +0x475A 0x2E0B DECFSZ R11, 1, 0 +0x475C 0xD7FA BRA L_lcd_prep269 +0x475E 0x0000 NOP +0x4760 0x0000 NOP +;main.c,424 :: asm CLRWDT; +0x4762 0x0004 CLRWDT +;main.c,425 :: led_wr_str (0, 4, " ", 8); +0x4764 0x0103 MOVLB 3 +0x4766 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4768 0x0E04 MOVLW 4 +0x476A 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x476C 0x0E07 MOVLW ?lstr43_main +0x476E 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4770 0x0E01 MOVLW hi_addr(?lstr43_main) +0x4772 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4774 0x0E08 MOVLW 8 +0x4776 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4778 0xF007ECAF CALL _led_wr_str, 0 +;main.c,426 :: led_wr_str (1, 3, " ", 10); +0x477C 0x0E01 MOVLW 1 +0x477E 0x0103 MOVLB 3 +0x4780 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x4782 0x0E03 MOVLW 3 +0x4784 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4786 0x0EFC MOVLW ?lstr44_main +0x4788 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x478A 0x0E00 MOVLW hi_addr(?lstr44_main) +0x478C 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x478E 0x0E0A MOVLW 10 +0x4790 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4792 0xF007ECAF CALL _led_wr_str, 0 +;main.c,427 :: } +L_lcd_prep265: +;main.c,428 :: Delay_ms(150); +0x4796 0x0E04 MOVLW 4 +0x4798 0x6E0B MOVWF R11, 0 +0x479A 0x0E0C MOVLW 12 +0x479C 0x6E0C MOVWF R12, 0 +0x479E 0x0E33 MOVLW 51 +0x47A0 0x6E0D MOVWF R13, 0 +L_lcd_prep270: +0x47A2 0x2E0D DECFSZ R13, 1, 0 +0x47A4 0xD7FE BRA L_lcd_prep270 +0x47A6 0x2E0C DECFSZ R12, 1, 0 +0x47A8 0xD7FC BRA L_lcd_prep270 +0x47AA 0x2E0B DECFSZ R11, 1, 0 +0x47AC 0xD7FA BRA L_lcd_prep270 +0x47AE 0x0000 NOP +0x47B0 0x0000 NOP +;main.c,429 :: led_wr_str (0, 0, "PWR=0.0W", 8); +0x47B2 0x0103 MOVLB 3 +0x47B4 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x47B6 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x47B8 0x0E26 MOVLW ?lstr45_main +0x47BA 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x47BC 0x0E01 MOVLW hi_addr(?lstr45_main) +0x47BE 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x47C0 0x0E08 MOVLW 8 +0x47C2 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x47C4 0xF007ECAF CALL _led_wr_str, 0 +;main.c,430 :: led_wr_str (1, 0, "SWR=0.00", 8); +0x47C8 0x0E01 MOVLW 1 +0x47CA 0x0103 MOVLB 3 +0x47CC 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x47CE 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x47D0 0x0E1D MOVLW ?lstr46_main +0x47D2 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x47D4 0x0E01 MOVLW hi_addr(?lstr46_main) +0x47D6 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x47D8 0x0E08 MOVLW 8 +0x47DA 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x47DC 0xF007ECAF CALL _led_wr_str, 0 +;main.c,431 :: if(Auto) led_wr_str (0, 8, ".", 1); +0x47E0 0x0102 MOVLB 2 +0x47E2 0x5357 MOVF _Auto, 1, 1 +0x47E4 0xE00C BZ L_lcd_prep271 +0x47E6 0x0103 MOVLB 3 +0x47E8 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x47EA 0x0E08 MOVLW 8 +0x47EC 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x47EE 0x0E1B MOVLW ?lstr47_main +0x47F0 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x47F2 0x0E01 MOVLW hi_addr(?lstr47_main) +0x47F4 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x47F6 0x0E01 MOVLW 1 +0x47F8 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x47FA 0xF007ECAF CALL _led_wr_str, 0 +L_lcd_prep271: +;main.c,432 :: } +L_lcd_prep264: +L_lcd_prep263: +;main.c,433 :: asm CLRWDT; +0x47FE 0x0004 CLRWDT +;main.c,434 :: lcd_ind(); +0x4800 0xF008EC3C CALL _lcd_ind, 0 +;main.c,435 :: return; +;main.c,436 :: } +L_end_lcd_prep: +0x4804 0x0012 RETURN 0 +; end of _lcd_prep +_cells_init: +;main.c,818 :: void cells_init(void) { +;main.c,820 :: asm CLRWDT; +0x4806 0x0004 CLRWDT +;main.c,822 :: type = EEPROM_Read(1); // type of display +0x4808 0x0E01 MOVLW 1 +0x480A 0x0102 MOVLB 2 +0x480C 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x480E 0xDD57 RCALL _EEPROM_Read +0x4810 0xF2C2C000 MOVFF R0, _type +;main.c,823 :: if(EEPROM_Read(2) == 1) Auto = 1; +0x4814 0x0E02 MOVLW 2 +0x4816 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4818 0xDD52 RCALL _EEPROM_Read +0x481A 0x5000 MOVF R0, 0 +0x481C 0x0A01 XORLW 1 +0x481E 0xE102 BNZ L_cells_init438 +0x4820 0x0E01 MOVLW 1 +0x4822 0x6F57 MOVWF _Auto, 1 +L_cells_init438: +;main.c,824 :: Rel_Del = Bcd2Dec(EEPROM_Read(3)); // Relay's Delay +0x4824 0x0E03 MOVLW 3 +0x4826 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4828 0xDD4A RCALL _EEPROM_Read +0x482A 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x482E 0xDD1E RCALL _Bcd2Dec +0x4830 0xF2CAC000 MOVFF R0, main_Rel_Del +0x4834 0x0E00 MOVLW 0 +0x4836 0x6FCB MOVWF main_Rel_Del+1, 1 +;main.c,825 :: Auto_delta = Bcd2Dec(EEPROM_Read(4)) * 10; // Auto_delta +0x4838 0x0E04 MOVLW 4 +0x483A 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x483C 0xDD40 RCALL _EEPROM_Read +0x483E 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4842 0xDD14 RCALL _Bcd2Dec +0x4844 0x0E0A MOVLW 10 +0x4846 0x0200 MULWF R0 +0x4848 0xF2CECFF3 MOVFF PRODL, _Auto_delta +0x484C 0xF2CFCFF4 MOVFF PRODH, _Auto_delta+1 +;main.c,826 :: min_for_start = Bcd2Dec(EEPROM_Read(5)) * 10; // min_for_start +0x4850 0x0E05 MOVLW 5 +0x4852 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4854 0xDD34 RCALL _EEPROM_Read +0x4856 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x485A 0xDD08 RCALL _Bcd2Dec +0x485C 0x0E0A MOVLW 10 +0x485E 0x0200 MULWF R0 +0x4860 0xF2D0CFF3 MOVFF PRODL, main_min_for_start +0x4864 0xF2D1CFF4 MOVFF PRODH, main_min_for_start+1 +;main.c,827 :: max_for_start = Bcd2Dec(EEPROM_Read(6)) * 10; // max_for_start +0x4868 0x0E06 MOVLW 6 +0x486A 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x486C 0xDD28 RCALL _EEPROM_Read +0x486E 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4872 0xDCFC RCALL _Bcd2Dec +0x4874 0x0E0A MOVLW 10 +0x4876 0x0200 MULWF R0 +0x4878 0xF2D2CFF3 MOVFF PRODL, main_max_for_start +0x487C 0xF2D3CFF4 MOVFF PRODH, main_max_for_start+1 +;main.c,828 :: max_swr = Bcd2Dec(EEPROM_Read(9)) * 10; // Max SWR +0x4880 0x0E09 MOVLW 9 +0x4882 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4884 0xDD1C RCALL _EEPROM_Read +0x4886 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x488A 0xDCF0 RCALL _Bcd2Dec +0x488C 0x0E0A MOVLW 10 +0x488E 0x0200 MULWF R0 +0x4890 0xF292CFF3 MOVFF PRODL, main_max_swr +0x4894 0xF293CFF4 MOVFF PRODH, main_max_swr+1 +;main.c,829 :: K_Mult = Bcd2Dec(EEPROM_Read(10)); // Tandem Match rate +0x4898 0x0E0A MOVLW 10 +0x489A 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x489C 0xDD10 RCALL _EEPROM_Read +0x489E 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x48A2 0xDCE4 RCALL _Bcd2Dec +0x48A4 0xF09EC000 MOVFF R0, main_K_mult +;main.c,831 :: asm CLRWDT; +0x48A8 0x0004 CLRWDT +;main.c,832 :: Ind1 = Bcd2Dec(EEPROM_Read(16)) * 100 + Bcd2Dec(EEPROM_Read(17)); // Ind1 +0x48AA 0x0E10 MOVLW 16 +0x48AC 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x48AE 0xDD07 RCALL _EEPROM_Read +0x48B0 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x48B4 0xDCDB RCALL _Bcd2Dec +0x48B6 0x0E64 MOVLW 100 +0x48B8 0x0200 MULWF R0 +0x48BA 0xF2D4CFF3 MOVFF PRODL, FLOC__cells_init +0x48BE 0xF2D5CFF4 MOVFF PRODH, FLOC__cells_init+1 +0x48C2 0x0E11 MOVLW 17 +0x48C4 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x48C6 0xDCFB RCALL _EEPROM_Read +0x48C8 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x48CC 0xDCCF RCALL _Bcd2Dec +0x48CE 0x5000 MOVF R0, 0 +0x48D0 0x25D4 ADDWF FLOC__cells_init, 0, 1 +0x48D2 0x6F9B MOVWF _Ind1, 1 +0x48D4 0x0E00 MOVLW 0 +0x48D6 0x21D5 ADDWFC FLOC__cells_init+1, 0, 1 +0x48D8 0x6F9C MOVWF _Ind1+1, 1 +;main.c,833 :: Ind2 = Bcd2Dec(EEPROM_Read(18)) * 100 + Bcd2Dec(EEPROM_Read(19)); // Ind2 +0x48DA 0x0E12 MOVLW 18 +0x48DC 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x48DE 0xDCEF RCALL _EEPROM_Read +0x48E0 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x48E4 0xDCC3 RCALL _Bcd2Dec +0x48E6 0x0E64 MOVLW 100 +0x48E8 0x0200 MULWF R0 +0x48EA 0xF2D4CFF3 MOVFF PRODL, FLOC__cells_init +0x48EE 0xF2D5CFF4 MOVFF PRODH, FLOC__cells_init+1 +0x48F2 0x0E13 MOVLW 19 +0x48F4 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x48F6 0xDCE3 RCALL _EEPROM_Read +0x48F8 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x48FC 0xDCB7 RCALL _Bcd2Dec +0x48FE 0x5000 MOVF R0, 0 +0x4900 0x25D4 ADDWF FLOC__cells_init, 0, 1 +0x4902 0x6F99 MOVWF _Ind2, 1 +0x4904 0x0E00 MOVLW 0 +0x4906 0x21D5 ADDWFC FLOC__cells_init+1, 0, 1 +0x4908 0x6F9A MOVWF _Ind2+1, 1 +;main.c,834 :: Ind3 = Bcd2Dec(EEPROM_Read(20)) * 100 + Bcd2Dec(EEPROM_Read(21)); // Ind3 +0x490A 0x0E14 MOVLW 20 +0x490C 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x490E 0xDCD7 RCALL _EEPROM_Read +0x4910 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4914 0xDCAB RCALL _Bcd2Dec +0x4916 0x0E64 MOVLW 100 +0x4918 0x0200 MULWF R0 +0x491A 0xF2D4CFF3 MOVFF PRODL, FLOC__cells_init +0x491E 0xF2D5CFF4 MOVFF PRODH, FLOC__cells_init+1 +0x4922 0x0E15 MOVLW 21 +0x4924 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4926 0xDCCB RCALL _EEPROM_Read +0x4928 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x492C 0xDC9F RCALL _Bcd2Dec +0x492E 0x5000 MOVF R0, 0 +0x4930 0x25D4 ADDWF FLOC__cells_init, 0, 1 +0x4932 0x6F97 MOVWF _Ind3, 1 +0x4934 0x0E00 MOVLW 0 +0x4936 0x21D5 ADDWFC FLOC__cells_init+1, 0, 1 +0x4938 0x6F98 MOVWF _Ind3+1, 1 +;main.c,835 :: Ind4 = Bcd2Dec(EEPROM_Read(22)) * 100 + Bcd2Dec(EEPROM_Read(23)); // Ind4 +0x493A 0x0E16 MOVLW 22 +0x493C 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x493E 0xDCBF RCALL _EEPROM_Read +0x4940 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4944 0xDC93 RCALL _Bcd2Dec +0x4946 0x0E64 MOVLW 100 +0x4948 0x0200 MULWF R0 +0x494A 0xF2D4CFF3 MOVFF PRODL, FLOC__cells_init +0x494E 0xF2D5CFF4 MOVFF PRODH, FLOC__cells_init+1 +0x4952 0x0E17 MOVLW 23 +0x4954 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4956 0xDCB3 RCALL _EEPROM_Read +0x4958 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x495C 0xDC87 RCALL _Bcd2Dec +0x495E 0x5000 MOVF R0, 0 +0x4960 0x25D4 ADDWF FLOC__cells_init, 0, 1 +0x4962 0x6F9D MOVWF _Ind4, 1 +0x4964 0x0E00 MOVLW 0 +0x4966 0x21D5 ADDWFC FLOC__cells_init+1, 0, 1 +0x4968 0x6F9E MOVWF _Ind4+1, 1 +;main.c,836 :: Ind5 = Bcd2Dec(EEPROM_Read(24)) * 100 + Bcd2Dec(EEPROM_Read(25)); // Ind5 +0x496A 0x0E18 MOVLW 24 +0x496C 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x496E 0xDCA7 RCALL _EEPROM_Read +0x4970 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4974 0xDC7B RCALL _Bcd2Dec +0x4976 0x0E64 MOVLW 100 +0x4978 0x0200 MULWF R0 +0x497A 0xF2D4CFF3 MOVFF PRODL, FLOC__cells_init +0x497E 0xF2D5CFF4 MOVFF PRODH, FLOC__cells_init+1 +0x4982 0x0E19 MOVLW 25 +0x4984 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4986 0xDC9B RCALL _EEPROM_Read +0x4988 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x498C 0xDC6F RCALL _Bcd2Dec +0x498E 0x5000 MOVF R0, 0 +0x4990 0x25D4 ADDWF FLOC__cells_init, 0, 1 +0x4992 0x6FA9 MOVWF _Ind5, 1 +0x4994 0x0E00 MOVLW 0 +0x4996 0x21D5 ADDWFC FLOC__cells_init+1, 0, 1 +0x4998 0x6FAA MOVWF _Ind5+1, 1 +;main.c,838 :: Cap1 = Bcd2Dec(EEPROM_Read(32)) * 100 + Bcd2Dec(EEPROM_Read(33)); // Cap1 +0x499A 0x0E20 MOVLW 32 +0x499C 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x499E 0xDC8F RCALL _EEPROM_Read +0x49A0 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x49A4 0xDC63 RCALL _Bcd2Dec +0x49A6 0x0E64 MOVLW 100 +0x49A8 0x0200 MULWF R0 +0x49AA 0xF2D4CFF3 MOVFF PRODL, FLOC__cells_init +0x49AE 0xF2D5CFF4 MOVFF PRODH, FLOC__cells_init+1 +0x49B2 0x0E21 MOVLW 33 +0x49B4 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x49B6 0xDC83 RCALL _EEPROM_Read +0x49B8 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x49BC 0xDC57 RCALL _Bcd2Dec +0x49BE 0x5000 MOVF R0, 0 +0x49C0 0x25D4 ADDWF FLOC__cells_init, 0, 1 +0x49C2 0x6FA3 MOVWF _Cap1, 1 +0x49C4 0x0E00 MOVLW 0 +0x49C6 0x21D5 ADDWFC FLOC__cells_init+1, 0, 1 +0x49C8 0x6FA4 MOVWF _Cap1+1, 1 +;main.c,839 :: Cap2 = Bcd2Dec(EEPROM_Read(34)) * 100 + Bcd2Dec(EEPROM_Read(35)); // Cap2 +0x49CA 0x0E22 MOVLW 34 +0x49CC 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x49CE 0xDC77 RCALL _EEPROM_Read +0x49D0 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x49D4 0xDC4B RCALL _Bcd2Dec +0x49D6 0x0E64 MOVLW 100 +0x49D8 0x0200 MULWF R0 +0x49DA 0xF2D4CFF3 MOVFF PRODL, FLOC__cells_init +0x49DE 0xF2D5CFF4 MOVFF PRODH, FLOC__cells_init+1 +0x49E2 0x0E23 MOVLW 35 +0x49E4 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x49E6 0xDC6B RCALL _EEPROM_Read +0x49E8 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x49EC 0xDC3F RCALL _Bcd2Dec +0x49EE 0x5000 MOVF R0, 0 +0x49F0 0x25D4 ADDWF FLOC__cells_init, 0, 1 +0x49F2 0x6FA1 MOVWF _Cap2, 1 +0x49F4 0x0E00 MOVLW 0 +0x49F6 0x21D5 ADDWFC FLOC__cells_init+1, 0, 1 +0x49F8 0x6FA2 MOVWF _Cap2+1, 1 +;main.c,840 :: Cap3 = Bcd2Dec(EEPROM_Read(36)) * 100 + Bcd2Dec(EEPROM_Read(37)); // Cap3 +0x49FA 0x0E24 MOVLW 36 +0x49FC 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x49FE 0xDC5F RCALL _EEPROM_Read +0x4A00 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4A04 0xDC33 RCALL _Bcd2Dec +0x4A06 0x0E64 MOVLW 100 +0x4A08 0x0200 MULWF R0 +0x4A0A 0xF2D4CFF3 MOVFF PRODL, FLOC__cells_init +0x4A0E 0xF2D5CFF4 MOVFF PRODH, FLOC__cells_init+1 +0x4A12 0x0E25 MOVLW 37 +0x4A14 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4A16 0xDC53 RCALL _EEPROM_Read +0x4A18 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4A1C 0xDC27 RCALL _Bcd2Dec +0x4A1E 0x5000 MOVF R0, 0 +0x4A20 0x25D4 ADDWF FLOC__cells_init, 0, 1 +0x4A22 0x6F9F MOVWF _Cap3, 1 +0x4A24 0x0E00 MOVLW 0 +0x4A26 0x21D5 ADDWFC FLOC__cells_init+1, 0, 1 +0x4A28 0x6FA0 MOVWF _Cap3+1, 1 +;main.c,841 :: Cap4 = Bcd2Dec(EEPROM_Read(38)) * 100 + Bcd2Dec(EEPROM_Read(39)); // Cap4 +0x4A2A 0x0E26 MOVLW 38 +0x4A2C 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4A2E 0xDC47 RCALL _EEPROM_Read +0x4A30 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4A34 0xDC1B RCALL _Bcd2Dec +0x4A36 0x0E64 MOVLW 100 +0x4A38 0x0200 MULWF R0 +0x4A3A 0xF2D4CFF3 MOVFF PRODL, FLOC__cells_init +0x4A3E 0xF2D5CFF4 MOVFF PRODH, FLOC__cells_init+1 +0x4A42 0x0E27 MOVLW 39 +0x4A44 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4A46 0xDC3B RCALL _EEPROM_Read +0x4A48 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4A4C 0xDC0F RCALL _Bcd2Dec +0x4A4E 0x5000 MOVF R0, 0 +0x4A50 0x25D4 ADDWF FLOC__cells_init, 0, 1 +0x4A52 0x6FA7 MOVWF _Cap4, 1 +0x4A54 0x0E00 MOVLW 0 +0x4A56 0x21D5 ADDWFC FLOC__cells_init+1, 0, 1 +0x4A58 0x6FA8 MOVWF _Cap4+1, 1 +;main.c,842 :: Cap5 = Bcd2Dec(EEPROM_Read(40)) * 100 + Bcd2Dec(EEPROM_Read(41)); // Cap5 +0x4A5A 0x0E28 MOVLW 40 +0x4A5C 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4A5E 0xDC2F RCALL _EEPROM_Read +0x4A60 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4A64 0xDC03 RCALL _Bcd2Dec +0x4A66 0x0E64 MOVLW 100 +0x4A68 0x0200 MULWF R0 +0x4A6A 0xF2D4CFF3 MOVFF PRODL, FLOC__cells_init +0x4A6E 0xF2D5CFF4 MOVFF PRODH, FLOC__cells_init+1 +0x4A72 0x0E29 MOVLW 41 +0x4A74 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4A76 0xDC23 RCALL _EEPROM_Read +0x4A78 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4A7C 0xF021EC36 CALL _Bcd2Dec, 0 +0x4A80 0x5000 MOVF R0, 0 +0x4A82 0x25D4 ADDWF FLOC__cells_init, 0, 1 +0x4A84 0x6FA5 MOVWF _Cap5, 1 +0x4A86 0x0E00 MOVLW 0 +0x4A88 0x21D5 ADDWFC FLOC__cells_init+1, 0, 1 +0x4A8A 0x6FA6 MOVWF _Cap5+1, 1 +;main.c,844 :: Dysp_delay = Bcd2Dec(EEPROM_Read(0x30)); // Dysplay ON delay +0x4A8C 0x0E30 MOVLW 48 +0x4A8E 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4A90 0xDC16 RCALL _EEPROM_Read +0x4A92 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4A96 0xF021EC36 CALL _Bcd2Dec, 0 +0x4A9A 0xF21BC000 MOVFF R0, _Dysp_delay +;main.c,845 :: Loss_ind = EEPROM_Read(0x31); +0x4A9E 0x0E31 MOVLW 49 +0x4AA0 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4AA2 0xDC0D RCALL _EEPROM_Read +0x4AA4 0xF049C000 MOVFF R0, main_Loss_ind +;main.c,846 :: Fid_loss = Bcd2Dec(EEPROM_Read(0x32)); +0x4AA8 0x0E32 MOVLW 50 +0x4AAA 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x4AAC 0xDC08 RCALL _EEPROM_Read +0x4AAE 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x4AB2 0xF021EC36 CALL _Bcd2Dec, 0 +0x4AB6 0xF294C000 MOVFF R0, _Fid_loss +;main.c,847 :: asm CLRWDT; +0x4ABA 0x0004 CLRWDT +;main.c,848 :: } +L_end_cells_init: +0x4ABC 0x0012 RETURN 0 +; end of _cells_init +_dysp_off: +;oled_control.c,210 :: void dysp_off() { +;oled_control.c,211 :: if(led_type > 1) send_command(0xAE); // display OFF +0x4ABE 0x0102 MOVLB 2 +0x4AC0 0x51AB MOVF oled_control_led_type, 0, 1 +0x4AC2 0x0801 SUBLW 1 +0x4AC4 0xE205 BC L_dysp_off37 +0x4AC6 0x0EAE MOVLW 174 +0x4AC8 0x6FFF MOVWF FARG_send_command_oled_command, 1 +0x4ACA 0xF008EC2A CALL _send_command, 0 +0x4ACE 0xD00D BRA L_dysp_off38 +L_dysp_off37: +;oled_control.c,212 :: else if(led_type==1) { +0x4AD0 0x51AB MOVF oled_control_led_type, 0, 1 +0x4AD2 0x0A01 XORLW 1 +0x4AD4 0xE10A BNZ L_dysp_off39 +;oled_control.c,213 :: LED = 0; +0x4AD6 0x6BB5 CLRF oled_control_LED, 1 +;oled_control.c,214 :: RS = 0; +0x4AD8 0x6BB4 CLRF oled_control_RS, 1 +;oled_control.c,215 :: led_send(0); +0x4ADA 0x0103 MOVLB 3 +0x4ADC 0x6B21 CLRF FARG_led_send_nible, 1 +0x4ADE 0xF001EC90 CALL _led_send, 0 +;oled_control.c,216 :: led_send(0); +0x4AE2 0x0103 MOVLB 3 +0x4AE4 0x6B21 CLRF FARG_led_send_nible, 1 +0x4AE6 0xF001EC90 CALL _led_send, 0 +;oled_control.c,217 :: } +L_dysp_off39: +L_dysp_off38: +;oled_control.c,218 :: } +L_end_dysp_off: +0x4AEA 0x0012 RETURN 0 +; end of _dysp_off +_button_proc_test: +;main.c,142 :: void button_proc_test(void) { +;main.c,143 :: if(Button(&PORTB, 0, 50, 0)){ // Tune btn +0x4AEC 0x0E81 MOVLW PORTB +0x4AEE 0x0103 MOVLB 3 +0x4AF0 0x6F11 MOVWF FARG_Button_port, 1 +0x4AF2 0x0E0F MOVLW hi_addr(PORTB) +0x4AF4 0x6F12 MOVWF FARG_Button_port+1, 1 +0x4AF6 0x6B13 CLRF FARG_Button_pin, 1 +0x4AF8 0x0E32 MOVLW 50 +0x4AFA 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x4AFC 0x6B15 CLRF FARG_Button_active_state, 1 +0x4AFE 0xF00BEC22 CALL _Button, 0 +0x4B02 0x5200 MOVF R0, 1 +0x4B04 0xB4D8 BTFSC STATUS, 2 +0x4B06 0xD0AE BRA L_button_proc_test157 +;main.c,144 :: Delay_ms(250); +0x4B08 0x0E06 MOVLW 6 +0x4B0A 0x6E0B MOVWF R11, 0 +0x4B0C 0x0E13 MOVLW 19 +0x4B0E 0x6E0C MOVWF R12, 0 +0x4B10 0x0EAD MOVLW 173 +0x4B12 0x6E0D MOVWF R13, 0 +L_button_proc_test158: +0x4B14 0x2E0D DECFSZ R13, 1, 0 +0x4B16 0xD7FE BRA L_button_proc_test158 +0x4B18 0x2E0C DECFSZ R12, 1, 0 +0x4B1A 0xD7FC BRA L_button_proc_test158 +0x4B1C 0x2E0B DECFSZ R11, 1, 0 +0x4B1E 0xD7FA BRA L_button_proc_test158 +0x4B20 0x0000 NOP +0x4B22 0x0000 NOP +;main.c,145 :: asm CLRWDT; +0x4B24 0x0004 CLRWDT +;main.c,146 :: if(PORTB.B0==1) { // short press button +0x4B26 0xA081 BTFSS PORTB, 0 +0x4B28 0xD00F BRA L_button_proc_test159 +;main.c,147 :: if(SW==0) SW = 1; else SW = 0; +0x4B2A 0x0102 MOVLB 2 +0x4B2C 0x5105 MOVF main_SW, 0, 1 +0x4B2E 0x0A00 XORLW 0 +0x4B30 0xE103 BNZ L_button_proc_test160 +0x4B32 0x0E01 MOVLW 1 +0x4B34 0x6F05 MOVWF main_SW, 1 +0x4B36 0xD001 BRA L_button_proc_test161 +L_button_proc_test160: +0x4B38 0x6B05 CLRF main_SW, 1 +L_button_proc_test161: +;main.c,148 :: set_sw(SW); +0x4B3A 0xF2EBC205 MOVFF main_SW, FARG_set_sw_SW +0x4B3E 0xF016ECEE CALL _set_sw, 0 +;main.c,149 :: lcd_ind(); +0x4B42 0xF008EC3C CALL _lcd_ind, 0 +;main.c,150 :: } +0x4B46 0xD07D BRA L_button_proc_test162 +L_button_proc_test159: +;main.c,152 :: if(L==1) L = 0; else L = 1; +0x4B48 0x0102 MOVLB 2 +0x4B4A 0x516C MOVF _L, 0, 1 +0x4B4C 0x0A01 XORLW 1 +0x4B4E 0xE102 BNZ L_button_proc_test163 +0x4B50 0x6B6C CLRF _L, 1 +0x4B52 0xD002 BRA L_button_proc_test164 +L_button_proc_test163: +0x4B54 0x0E01 MOVLW 1 +0x4B56 0x6F6C MOVWF _L, 1 +L_button_proc_test164: +;main.c,153 :: if(L==1) { +0x4B58 0x516C MOVF _L, 0, 1 +0x4B5A 0x0A01 XORLW 1 +0x4B5C 0xE139 BNZ L_button_proc_test165 +;main.c,154 :: if(type==4 |type==5) // 128*64 OLED +0x4B5E 0x51C2 MOVF _type, 0, 1 +0x4B60 0x0A04 XORLW 4 +0x4B62 0x0E01 MOVLW 1 +0x4B64 0xA4D8 BTFSS STATUS, 2 +0x4B66 0x0E00 MOVLW 0 +0x4B68 0x6E01 MOVWF R1 +0x4B6A 0x51C2 MOVF _type, 0, 1 +0x4B6C 0x0A05 XORLW 5 +0x4B6E 0x0E01 MOVLW 1 +0x4B70 0xA4D8 BTFSS STATUS, 2 +0x4B72 0x0E00 MOVLW 0 +0x4B74 0x6E00 MOVWF R0 +0x4B76 0x5001 MOVF R1, 0 +0x4B78 0x1200 IORWF R0, 1 +0x4B7A 0xE00D BZ L_button_proc_test166 +;main.c,155 :: led_wr_str (0, 16+12*8, "l", 1); +0x4B7C 0x0103 MOVLB 3 +0x4B7E 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4B80 0x0E70 MOVLW 112 +0x4B82 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4B84 0x0E8E MOVLW ?lstr6_main +0x4B86 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4B88 0x0E02 MOVLW hi_addr(?lstr6_main) +0x4B8A 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4B8C 0x0E01 MOVLW 1 +0x4B8E 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4B90 0xF007ECAF CALL _led_wr_str, 0 +0x4B94 0xD01C BRA L_button_proc_test167 +L_button_proc_test166: +;main.c,156 :: else if(type!=0 & type!=6) // 1602 LCD & 128*32 OLED +0x4B96 0x0102 MOVLB 2 +0x4B98 0x51C2 MOVF _type, 0, 1 +0x4B9A 0x0A00 XORLW 0 +0x4B9C 0x0E00 MOVLW 0 +0x4B9E 0xA4D8 BTFSS STATUS, 2 +0x4BA0 0x0E01 MOVLW 1 +0x4BA2 0x6E01 MOVWF R1 +0x4BA4 0x51C2 MOVF _type, 0, 1 +0x4BA6 0x0A06 XORLW 6 +0x4BA8 0x0E00 MOVLW 0 +0x4BAA 0xA4D8 BTFSS STATUS, 2 +0x4BAC 0x0E01 MOVLW 1 +0x4BAE 0x6E00 MOVWF R0 +0x4BB0 0x5001 MOVF R1, 0 +0x4BB2 0x1600 ANDWF R0, 1 +0x4BB4 0xE00C BZ L_button_proc_test168 +;main.c,157 :: led_wr_str (0, 8, "l", 1); +0x4BB6 0x0103 MOVLB 3 +0x4BB8 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4BBA 0x0E08 MOVLW 8 +0x4BBC 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4BBE 0x0E6A MOVLW ?lstr7_main +0x4BC0 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4BC2 0x0E02 MOVLW hi_addr(?lstr7_main) +0x4BC4 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4BC6 0x0E01 MOVLW 1 +0x4BC8 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4BCA 0xF007ECAF CALL _led_wr_str, 0 +L_button_proc_test168: +L_button_proc_test167: +;main.c,158 :: } +0x4BCE 0xD039 BRA L_button_proc_test169 +L_button_proc_test165: +;main.c,160 :: if(type==4 |type==5) // 128*64 OLED +0x4BD0 0x0102 MOVLB 2 +0x4BD2 0x51C2 MOVF _type, 0, 1 +0x4BD4 0x0A04 XORLW 4 +0x4BD6 0x0E01 MOVLW 1 +0x4BD8 0xA4D8 BTFSS STATUS, 2 +0x4BDA 0x0E00 MOVLW 0 +0x4BDC 0x6E01 MOVWF R1 +0x4BDE 0x51C2 MOVF _type, 0, 1 +0x4BE0 0x0A05 XORLW 5 +0x4BE2 0x0E01 MOVLW 1 +0x4BE4 0xA4D8 BTFSS STATUS, 2 +0x4BE6 0x0E00 MOVLW 0 +0x4BE8 0x6E00 MOVWF R0 +0x4BEA 0x5001 MOVF R1, 0 +0x4BEC 0x1200 IORWF R0, 1 +0x4BEE 0xE00D BZ L_button_proc_test170 +;main.c,161 :: led_wr_str (0, 16+12*8, "c", 1); +0x4BF0 0x0103 MOVLB 3 +0x4BF2 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4BF4 0x0E70 MOVLW 112 +0x4BF6 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4BF8 0x0E21 MOVLW ?lstr8_main +0x4BFA 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4BFC 0x0E02 MOVLW hi_addr(?lstr8_main) +0x4BFE 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4C00 0x0E01 MOVLW 1 +0x4C02 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4C04 0xF007ECAF CALL _led_wr_str, 0 +0x4C08 0xD01C BRA L_button_proc_test171 +L_button_proc_test170: +;main.c,162 :: else if(type!=0 & type !=6) // 1602 LCD & 128*32 OLED +0x4C0A 0x0102 MOVLB 2 +0x4C0C 0x51C2 MOVF _type, 0, 1 +0x4C0E 0x0A00 XORLW 0 +0x4C10 0x0E00 MOVLW 0 +0x4C12 0xA4D8 BTFSS STATUS, 2 +0x4C14 0x0E01 MOVLW 1 +0x4C16 0x6E01 MOVWF R1 +0x4C18 0x51C2 MOVF _type, 0, 1 +0x4C1A 0x0A06 XORLW 6 +0x4C1C 0x0E00 MOVLW 0 +0x4C1E 0xA4D8 BTFSS STATUS, 2 +0x4C20 0x0E01 MOVLW 1 +0x4C22 0x6E00 MOVWF R0 +0x4C24 0x5001 MOVF R1, 0 +0x4C26 0x1600 ANDWF R0, 1 +0x4C28 0xE00C BZ L_button_proc_test172 +;main.c,163 :: led_wr_str (0, 8, "c", 1); +0x4C2A 0x0103 MOVLB 3 +0x4C2C 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4C2E 0x0E08 MOVLW 8 +0x4C30 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4C32 0x0E1F MOVLW ?lstr9_main +0x4C34 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4C36 0x0E02 MOVLW hi_addr(?lstr9_main) +0x4C38 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4C3A 0x0E01 MOVLW 1 +0x4C3C 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4C3E 0xF007ECAF CALL _led_wr_str, 0 +L_button_proc_test172: +L_button_proc_test171: +;main.c,164 :: } +L_button_proc_test169: +;main.c,165 :: } +L_button_proc_test162: +;main.c,166 :: while(Button(&PORTB, 0, 50, 0)) {lcd_pwr(); asm CLRWDT; } +L_button_proc_test173: +0x4C42 0x0E81 MOVLW PORTB +0x4C44 0x0103 MOVLB 3 +0x4C46 0x6F11 MOVWF FARG_Button_port, 1 +0x4C48 0x0E0F MOVLW hi_addr(PORTB) +0x4C4A 0x6F12 MOVWF FARG_Button_port+1, 1 +0x4C4C 0x6B13 CLRF FARG_Button_pin, 1 +0x4C4E 0x0E32 MOVLW 50 +0x4C50 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x4C52 0x6B15 CLRF FARG_Button_active_state, 1 +0x4C54 0xF00BEC22 CALL _Button, 0 +0x4C58 0x5200 MOVF R0, 1 +0x4C5A 0xE004 BZ L_button_proc_test174 +0x4C5C 0xF017EC0D CALL _lcd_pwr, 0 +0x4C60 0x0004 CLRWDT +0x4C62 0xD7EF BRA L_button_proc_test173 +L_button_proc_test174: +;main.c,167 :: } // END Tune btn +L_button_proc_test157: +;main.c,169 :: if(Button(&PORTB, 5, 50, 0)){ // BYP button +0x4C64 0x0E81 MOVLW PORTB +0x4C66 0x0103 MOVLB 3 +0x4C68 0x6F11 MOVWF FARG_Button_port, 1 +0x4C6A 0x0E0F MOVLW hi_addr(PORTB) +0x4C6C 0x6F12 MOVWF FARG_Button_port+1, 1 +0x4C6E 0x0E05 MOVLW 5 +0x4C70 0x6F13 MOVWF FARG_Button_pin, 1 +0x4C72 0x0E32 MOVLW 50 +0x4C74 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x4C76 0x6B15 CLRF FARG_Button_active_state, 1 +0x4C78 0xF00BEC22 CALL _Button, 0 +0x4C7C 0x5200 MOVF R0, 1 +0x4C7E 0xE038 BZ L_button_proc_test175 +;main.c,170 :: asm CLRWDT; +0x4C80 0x0004 CLRWDT +;main.c,171 :: while(PORTB.B5==0) { +L_button_proc_test176: +0x4C82 0xBA81 BTFSC PORTB, 5 +0x4C84 0xD035 BRA L_button_proc_test177 +;main.c,172 :: if(L & ind<31) { +0x4C86 0x0E1F MOVLW 31 +0x4C88 0x0101 MOVLB 1 +0x4C8A 0x5DFE SUBWF main_ind, 0, 1 +0x4C8C 0x0E01 MOVLW 1 +0x4C8E 0xB0D8 BTFSC STATUS, 0 +0x4C90 0x0E00 MOVLW 0 +0x4C92 0x6E00 MOVWF R0 +0x4C94 0x0102 MOVLB 2 +0x4C96 0x516C MOVF _L, 0, 1 +0x4C98 0x1600 ANDWF R0, 1 +0x4C9A 0xE007 BZ L_button_proc_test178 +;main.c,173 :: ind ++; +0x4C9C 0x0101 MOVLB 1 +0x4C9E 0x2BFE INCF main_ind, 1, 1 +;main.c,174 :: set_ind(ind); +0x4CA0 0xF2F3C1FE MOVFF main_ind, FARG_set_ind_Ind +0x4CA4 0xF010EC5F CALL _set_ind, 0 +;main.c,175 :: } +0x4CA8 0xD015 BRA L_button_proc_test179 +L_button_proc_test178: +;main.c,176 :: else if(!L & cap<31) { +0x4CAA 0x0102 MOVLB 2 +0x4CAC 0x536C MOVF _L, 1, 1 +0x4CAE 0x0E01 MOVLW 1 +0x4CB0 0xA4D8 BTFSS STATUS, 2 +0x4CB2 0x0E00 MOVLW 0 +0x4CB4 0x6E01 MOVWF R1 +0x4CB6 0x0E1F MOVLW 31 +0x4CB8 0x0101 MOVLB 1 +0x4CBA 0x5DFF SUBWF main_cap, 0, 1 +0x4CBC 0x0E01 MOVLW 1 +0x4CBE 0xB0D8 BTFSC STATUS, 0 +0x4CC0 0x0E00 MOVLW 0 +0x4CC2 0x6E00 MOVWF R0 +0x4CC4 0x5001 MOVF R1, 0 +0x4CC6 0x1600 ANDWF R0, 1 +0x4CC8 0xE005 BZ L_button_proc_test180 +;main.c,177 :: cap ++; +0x4CCA 0x2BFF INCF main_cap, 1, 1 +;main.c,178 :: set_cap(cap); +0x4CCC 0xF2F3C1FF MOVFF main_cap, FARG_set_cap_Cap +0x4CD0 0xF011ECBE CALL _set_cap, 0 +;main.c,179 :: } +L_button_proc_test180: +L_button_proc_test179: +;main.c,180 :: lcd_ind(); +0x4CD4 0xF008EC3C CALL _lcd_ind, 0 +;main.c,181 :: lcd_pwr(); +0x4CD8 0xF017EC0D CALL _lcd_pwr, 0 +;main.c,182 :: Delay_ms(30); +0x4CDC 0x0E9C MOVLW 156 +0x4CDE 0x6E0C MOVWF R12, 0 +0x4CE0 0x0ED7 MOVLW 215 +0x4CE2 0x6E0D MOVWF R13, 0 +L_button_proc_test181: +0x4CE4 0x2E0D DECFSZ R13, 1, 0 +0x4CE6 0xD7FE BRA L_button_proc_test181 +0x4CE8 0x2E0C DECFSZ R12, 1, 0 +0x4CEA 0xD7FC BRA L_button_proc_test181 +;main.c,183 :: asm CLRWDT; +0x4CEC 0x0004 CLRWDT +;main.c,184 :: } +0x4CEE 0xD7C9 BRA L_button_proc_test176 +L_button_proc_test177: +;main.c,185 :: } // end of BYP button +L_button_proc_test175: +;main.c,187 :: if(Button(&PORTB, 4, 50, 0) & Bypas==0){ // Auto button +0x4CF0 0x0E81 MOVLW PORTB +0x4CF2 0x0103 MOVLB 3 +0x4CF4 0x6F11 MOVWF FARG_Button_port, 1 +0x4CF6 0x0E0F MOVLW hi_addr(PORTB) +0x4CF8 0x6F12 MOVWF FARG_Button_port+1, 1 +0x4CFA 0x0E04 MOVLW 4 +0x4CFC 0x6F13 MOVWF FARG_Button_pin, 1 +0x4CFE 0x0E32 MOVLW 50 +0x4D00 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x4D02 0x6B15 CLRF FARG_Button_active_state, 1 +0x4D04 0xF00BEC22 CALL _Button, 0 +0x4D08 0x0102 MOVLB 2 +0x4D0A 0x5124 MOVF _bypas, 0, 1 +0x4D0C 0x0A00 XORLW 0 +0x4D0E 0x0E01 MOVLW 1 +0x4D10 0xA4D8 BTFSS STATUS, 2 +0x4D12 0x0E00 MOVLW 0 +0x4D14 0x6E01 MOVWF R1 +0x4D16 0x5001 MOVF R1, 0 +0x4D18 0x1600 ANDWF R0, 1 +0x4D1A 0xE038 BZ L_button_proc_test182 +;main.c,188 :: asm CLRWDT; +0x4D1C 0x0004 CLRWDT +;main.c,189 :: while(PORTB.B4==0) { +L_button_proc_test183: +0x4D1E 0xB881 BTFSC PORTB, 4 +0x4D20 0xD035 BRA L_button_proc_test184 +;main.c,190 :: if(L & ind>0) { +0x4D22 0x0101 MOVLB 1 +0x4D24 0x51FE MOVF main_ind, 0, 1 +0x4D26 0x0800 SUBLW 0 +0x4D28 0x0E01 MOVLW 1 +0x4D2A 0xB0D8 BTFSC STATUS, 0 +0x4D2C 0x0E00 MOVLW 0 +0x4D2E 0x6E00 MOVWF R0 +0x4D30 0x0102 MOVLB 2 +0x4D32 0x516C MOVF _L, 0, 1 +0x4D34 0x1600 ANDWF R0, 1 +0x4D36 0xE007 BZ L_button_proc_test185 +;main.c,191 :: ind --; +0x4D38 0x0101 MOVLB 1 +0x4D3A 0x07FE DECF main_ind, 1, 1 +;main.c,192 :: set_ind(ind); +0x4D3C 0xF2F3C1FE MOVFF main_ind, FARG_set_ind_Ind +0x4D40 0xF010EC5F CALL _set_ind, 0 +;main.c,193 :: } +0x4D44 0xD015 BRA L_button_proc_test186 +L_button_proc_test185: +;main.c,194 :: else if(!L & cap>0) { +0x4D46 0x0102 MOVLB 2 +0x4D48 0x536C MOVF _L, 1, 1 +0x4D4A 0x0E01 MOVLW 1 +0x4D4C 0xA4D8 BTFSS STATUS, 2 +0x4D4E 0x0E00 MOVLW 0 +0x4D50 0x6E01 MOVWF R1 +0x4D52 0x0101 MOVLB 1 +0x4D54 0x51FF MOVF main_cap, 0, 1 +0x4D56 0x0800 SUBLW 0 +0x4D58 0x0E01 MOVLW 1 +0x4D5A 0xB0D8 BTFSC STATUS, 0 +0x4D5C 0x0E00 MOVLW 0 +0x4D5E 0x6E00 MOVWF R0 +0x4D60 0x5001 MOVF R1, 0 +0x4D62 0x1600 ANDWF R0, 1 +0x4D64 0xE005 BZ L_button_proc_test187 +;main.c,195 :: cap --; +0x4D66 0x07FF DECF main_cap, 1, 1 +;main.c,196 :: set_cap(cap); +0x4D68 0xF2F3C1FF MOVFF main_cap, FARG_set_cap_Cap +0x4D6C 0xF011ECBE CALL _set_cap, 0 +;main.c,197 :: } +L_button_proc_test187: +L_button_proc_test186: +;main.c,198 :: lcd_ind(); +0x4D70 0xF008EC3C CALL _lcd_ind, 0 +;main.c,199 :: lcd_pwr(); +0x4D74 0xF017EC0D CALL _lcd_pwr, 0 +;main.c,200 :: Delay_ms(30); +0x4D78 0x0E9C MOVLW 156 +0x4D7A 0x6E0C MOVWF R12, 0 +0x4D7C 0x0ED7 MOVLW 215 +0x4D7E 0x6E0D MOVWF R13, 0 +L_button_proc_test188: +0x4D80 0x2E0D DECFSZ R13, 1, 0 +0x4D82 0xD7FE BRA L_button_proc_test188 +0x4D84 0x2E0C DECFSZ R12, 1, 0 +0x4D86 0xD7FC BRA L_button_proc_test188 +;main.c,201 :: asm CLRWDT; +0x4D88 0x0004 CLRWDT +;main.c,202 :: } +0x4D8A 0xD7C9 BRA L_button_proc_test183 +L_button_proc_test184: +;main.c,203 :: } +L_button_proc_test182: +;main.c,204 :: return; +;main.c,205 :: } +L_end_button_proc_test: +0x4D8C 0x0012 RETURN 0 +; end of _button_proc_test +___CC2DW: +;__Lib_System.c,21 :: +;__Lib_System.c,23 :: +_CC2DL_Loop1: +;__Lib_System.c,24 :: +0x4D8E 0x0009 TBLRD*+ +;__Lib_System.c,25 :: +0x4D90 0xFFE6CFF5 MOVFF TABLAT, POSTINC1 +;__Lib_System.c,26 :: +0x4D94 0x0600 DECF R0, 1, 0 +;__Lib_System.c,27 :: +0x4D96 0xE1FB BNZ _CC2DL_Loop1 +;__Lib_System.c,28 :: +0x4D98 0x0601 DECF R1, 1, 0 +;__Lib_System.c,29 :: +0x4D9A 0xE1F9 BNZ _CC2DL_Loop1 +;__Lib_System.c,31 :: +L_end___CC2DW: +0x4D9C 0x0012 RETURN 0 +; end of ___CC2DW +_pic_init: +;pic_init.c,6 :: void pic_init (void) { +;pic_init.c,7 :: CMCON = 0b00000111; // Comparator OFF +0x4D9E 0x0E07 MOVLW 7 +0x4DA0 0x6EB4 MOVWF CMCON +;pic_init.c,9 :: OSCCON = 0b01100000; // 4 MHz oscillator // 0b01110000 - 8 MHz +0x4DA2 0x0E60 MOVLW 96 +0x4DA4 0x6ED3 MOVWF OSCCON +;pic_init.c,10 :: PLLEN_bit = 1; //4xPLL enable 4 * 4 = 16 MHz +0x4DA6 0x8C9B BSF PLLEN_bit, BitPos(PLLEN_bit+0) +;pic_init.c,12 :: PORTA = 0; +0x4DA8 0x6A80 CLRF PORTA +;pic_init.c,13 :: PORTB = 0; +0x4DAA 0x6A81 CLRF PORTB +;pic_init.c,14 :: PORTC = 0; +0x4DAC 0x6A82 CLRF PORTC +;pic_init.c,15 :: LATA = 0b00001000; // PORT3 /Tx_req to 1 +0x4DAE 0x0E08 MOVLW 8 +0x4DB0 0x6E89 MOVWF LATA +;pic_init.c,16 :: LATB = 0; +0x4DB2 0x6A8A CLRF LATB +;pic_init.c,17 :: LATC = 0; +0x4DB4 0x6A8B CLRF LATC +;pic_init.c,18 :: TRISA = 0b00000011; +0x4DB6 0x0E03 MOVLW 3 +0x4DB8 0x6E92 MOVWF TRISA +;pic_init.c,19 :: TRISB = 0b11111001; +0x4DBA 0x0EF9 MOVLW 249 +0x4DBC 0x6E93 MOVWF TRISB +;pic_init.c,20 :: TRISC = 0b00000000; // +0x4DBE 0x6A94 CLRF TRISC +;pic_init.c,22 :: ADC_Init(); +0x4DC0 0xF021EC4B CALL _ADC_Init, 0 +;pic_init.c,25 :: ADCON1 = 0b00001101; // ADC ports conf +0x4DC4 0x0E0D MOVLW 13 +0x4DC6 0x6EC1 MOVWF ADCON1 +;pic_init.c,27 :: RBPU_bit = 0; +0x4DC8 0x9EF1 BCF RBPU_bit, BitPos(RBPU_bit+0) +;pic_init.c,30 :: GIE_bit = 0; +0x4DCA 0x9EF2 BCF GIE_bit, BitPos(GIE_bit+0) +;pic_init.c,31 :: } +L_end_pic_init: +0x4DCC 0x0012 RETURN 0 +; end of _pic_init +_Test_init: +;main.c,783 :: void Test_init(void) { // Test mode +;main.c,784 :: if(type==4 | type==5) // 128*64 OLED +0x4DCE 0x0102 MOVLB 2 +0x4DD0 0x51C2 MOVF _type, 0, 1 +0x4DD2 0x0A04 XORLW 4 +0x4DD4 0x0E01 MOVLW 1 +0x4DD6 0xA4D8 BTFSS STATUS, 2 +0x4DD8 0x0E00 MOVLW 0 +0x4DDA 0x6E01 MOVWF R1 +0x4DDC 0x51C2 MOVF _type, 0, 1 +0x4DDE 0x0A05 XORLW 5 +0x4DE0 0x0E01 MOVLW 1 +0x4DE2 0xA4D8 BTFSS STATUS, 2 +0x4DE4 0x0E00 MOVLW 0 +0x4DE6 0x6E00 MOVWF R0 +0x4DE8 0x5001 MOVF R1, 0 +0x4DEA 0x1200 IORWF R0, 1 +0x4DEC 0xE00D BZ L_Test_init425 +;main.c,785 :: led_wr_str (0, 10, "TEST MODE", 9); +0x4DEE 0x0103 MOVLB 3 +0x4DF0 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4DF2 0x0E0A MOVLW 10 +0x4DF4 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4DF6 0x0EDD MOVLW ?lstr84_main +0x4DF8 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4DFA 0x0E01 MOVLW hi_addr(?lstr84_main) +0x4DFC 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4DFE 0x0E09 MOVLW 9 +0x4E00 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4E02 0xF007ECAF CALL _led_wr_str, 0 +0x4E06 0xD01C BRA L_Test_init426 +L_Test_init425: +;main.c,786 :: else if(type!=0 & type!=6) // 1602 LCD or 128*32 OLED +0x4E08 0x0102 MOVLB 2 +0x4E0A 0x51C2 MOVF _type, 0, 1 +0x4E0C 0x0A00 XORLW 0 +0x4E0E 0x0E00 MOVLW 0 +0x4E10 0xA4D8 BTFSS STATUS, 2 +0x4E12 0x0E01 MOVLW 1 +0x4E14 0x6E01 MOVWF R1 +0x4E16 0x51C2 MOVF _type, 0, 1 +0x4E18 0x0A06 XORLW 6 +0x4E1A 0x0E00 MOVLW 0 +0x4E1C 0xA4D8 BTFSS STATUS, 2 +0x4E1E 0x0E01 MOVLW 1 +0x4E20 0x6E00 MOVWF R0 +0x4E22 0x5001 MOVF R1, 0 +0x4E24 0x1600 ANDWF R0, 1 +0x4E26 0xE00C BZ L_Test_init427 +;main.c,787 :: led_wr_str (0, 3, "TEST MODE", 9); +0x4E28 0x0103 MOVLB 3 +0x4E2A 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4E2C 0x0E03 MOVLW 3 +0x4E2E 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4E30 0x0ED3 MOVLW ?lstr85_main +0x4E32 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4E34 0x0E01 MOVLW hi_addr(?lstr85_main) +0x4E36 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4E38 0x0E09 MOVLW 9 +0x4E3A 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4E3C 0xF007ECAF CALL _led_wr_str, 0 +L_Test_init427: +L_Test_init426: +;main.c,788 :: asm CLRWDT; +0x4E40 0x0004 CLRWDT +;main.c,789 :: Delay_ms(500); +0x4E42 0x0E0B MOVLW 11 +0x4E44 0x6E0B MOVWF R11, 0 +0x4E46 0x0E26 MOVLW 38 +0x4E48 0x6E0C MOVWF R12, 0 +0x4E4A 0x0E5D MOVLW 93 +0x4E4C 0x6E0D MOVWF R13, 0 +L_Test_init428: +0x4E4E 0x2E0D DECFSZ R13, 1, 0 +0x4E50 0xD7FE BRA L_Test_init428 +0x4E52 0x2E0C DECFSZ R12, 1, 0 +0x4E54 0xD7FC BRA L_Test_init428 +0x4E56 0x2E0B DECFSZ R11, 1, 0 +0x4E58 0xD7FA BRA L_Test_init428 +0x4E5A 0x0000 NOP +0x4E5C 0x0000 NOP +;main.c,790 :: asm CLRWDT; +0x4E5E 0x0004 CLRWDT +;main.c,791 :: Delay_ms(500); +0x4E60 0x0E0B MOVLW 11 +0x4E62 0x6E0B MOVWF R11, 0 +0x4E64 0x0E26 MOVLW 38 +0x4E66 0x6E0C MOVWF R12, 0 +0x4E68 0x0E5D MOVLW 93 +0x4E6A 0x6E0D MOVWF R13, 0 +L_Test_init429: +0x4E6C 0x2E0D DECFSZ R13, 1, 0 +0x4E6E 0xD7FE BRA L_Test_init429 +0x4E70 0x2E0C DECFSZ R12, 1, 0 +0x4E72 0xD7FC BRA L_Test_init429 +0x4E74 0x2E0B DECFSZ R11, 1, 0 +0x4E76 0xD7FA BRA L_Test_init429 +0x4E78 0x0000 NOP +0x4E7A 0x0000 NOP +;main.c,792 :: asm CLRWDT; +0x4E7C 0x0004 CLRWDT +;main.c,793 :: Delay_ms(500); +0x4E7E 0x0E0B MOVLW 11 +0x4E80 0x6E0B MOVWF R11, 0 +0x4E82 0x0E26 MOVLW 38 +0x4E84 0x6E0C MOVWF R12, 0 +0x4E86 0x0E5D MOVLW 93 +0x4E88 0x6E0D MOVWF R13, 0 +L_Test_init430: +0x4E8A 0x2E0D DECFSZ R13, 1, 0 +0x4E8C 0xD7FE BRA L_Test_init430 +0x4E8E 0x2E0C DECFSZ R12, 1, 0 +0x4E90 0xD7FC BRA L_Test_init430 +0x4E92 0x2E0B DECFSZ R11, 1, 0 +0x4E94 0xD7FA BRA L_Test_init430 +0x4E96 0x0000 NOP +0x4E98 0x0000 NOP +;main.c,794 :: asm CLRWDT; +0x4E9A 0x0004 CLRWDT +;main.c,795 :: Delay_ms(500); +0x4E9C 0x0E0B MOVLW 11 +0x4E9E 0x6E0B MOVWF R11, 0 +0x4EA0 0x0E26 MOVLW 38 +0x4EA2 0x6E0C MOVWF R12, 0 +0x4EA4 0x0E5D MOVLW 93 +0x4EA6 0x6E0D MOVWF R13, 0 +L_Test_init431: +0x4EA8 0x2E0D DECFSZ R13, 1, 0 +0x4EAA 0xD7FE BRA L_Test_init431 +0x4EAC 0x2E0C DECFSZ R12, 1, 0 +0x4EAE 0xD7FC BRA L_Test_init431 +0x4EB0 0x2E0B DECFSZ R11, 1, 0 +0x4EB2 0xD7FA BRA L_Test_init431 +0x4EB4 0x0000 NOP +0x4EB6 0x0000 NOP +;main.c,796 :: asm CLRWDT; +0x4EB8 0x0004 CLRWDT +;main.c,797 :: if(type==4 | type==5) // 128*64 OLED +0x4EBA 0x0102 MOVLB 2 +0x4EBC 0x51C2 MOVF _type, 0, 1 +0x4EBE 0x0A04 XORLW 4 +0x4EC0 0x0E01 MOVLW 1 +0x4EC2 0xA4D8 BTFSS STATUS, 2 +0x4EC4 0x0E00 MOVLW 0 +0x4EC6 0x6E01 MOVWF R1 +0x4EC8 0x51C2 MOVF _type, 0, 1 +0x4ECA 0x0A05 XORLW 5 +0x4ECC 0x0E01 MOVLW 1 +0x4ECE 0xA4D8 BTFSS STATUS, 2 +0x4ED0 0x0E00 MOVLW 0 +0x4ED2 0x6E00 MOVWF R0 +0x4ED4 0x5001 MOVF R1, 0 +0x4ED6 0x1200 IORWF R0, 1 +0x4ED8 0xE00D BZ L_Test_init432 +;main.c,798 :: led_wr_str (0, 10, " ", 9); +0x4EDA 0x0103 MOVLB 3 +0x4EDC 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4EDE 0x0E0A MOVLW 10 +0x4EE0 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4EE2 0x0EC9 MOVLW ?lstr86_main +0x4EE4 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4EE6 0x0E01 MOVLW hi_addr(?lstr86_main) +0x4EE8 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4EEA 0x0E09 MOVLW 9 +0x4EEC 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4EEE 0xF007ECAF CALL _led_wr_str, 0 +0x4EF2 0xD01C BRA L_Test_init433 +L_Test_init432: +;main.c,799 :: else if(type!=0 & type!=6) // 1602 LCD or 128*32 OLED +0x4EF4 0x0102 MOVLB 2 +0x4EF6 0x51C2 MOVF _type, 0, 1 +0x4EF8 0x0A00 XORLW 0 +0x4EFA 0x0E00 MOVLW 0 +0x4EFC 0xA4D8 BTFSS STATUS, 2 +0x4EFE 0x0E01 MOVLW 1 +0x4F00 0x6E01 MOVWF R1 +0x4F02 0x51C2 MOVF _type, 0, 1 +0x4F04 0x0A06 XORLW 6 +0x4F06 0x0E00 MOVLW 0 +0x4F08 0xA4D8 BTFSS STATUS, 2 +0x4F0A 0x0E01 MOVLW 1 +0x4F0C 0x6E00 MOVWF R0 +0x4F0E 0x5001 MOVF R1, 0 +0x4F10 0x1600 ANDWF R0, 1 +0x4F12 0xE00C BZ L_Test_init434 +;main.c,800 :: led_wr_str (0, 3, " ", 9); +0x4F14 0x0103 MOVLB 3 +0x4F16 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4F18 0x0E03 MOVLW 3 +0x4F1A 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4F1C 0x0EEB MOVLW ?lstr87_main +0x4F1E 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4F20 0x0E01 MOVLW hi_addr(?lstr87_main) +0x4F22 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4F24 0x0E09 MOVLW 9 +0x4F26 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4F28 0xF007ECAF CALL _led_wr_str, 0 +L_Test_init434: +L_Test_init433: +;main.c,801 :: atu_reset(); +0x4F2C 0xF016ECFB CALL _atu_reset, 0 +;main.c,802 :: SW = 1; // C to OUT +0x4F30 0x0E01 MOVLW 1 +0x4F32 0x0102 MOVLB 2 +0x4F34 0x6F05 MOVWF main_SW, 1 +;main.c,803 :: set_sw(SW); +0x4F36 0x0E01 MOVLW 1 +0x4F38 0x6FEB MOVWF FARG_set_sw_SW, 1 +0x4F3A 0xF016ECEE CALL _set_sw, 0 +;main.c,804 :: EEPROM_Write(255, cap); +0x4F3E 0x0EFF MOVLW 255 +0x4F40 0x0102 MOVLB 2 +0x4F42 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x4F44 0xF2ECC1FF MOVFF main_cap, FARG_EEPROM_Write_data_ +0x4F48 0xF016ECCF CALL _EEPROM_Write, 0 +;main.c,805 :: EEPROM_Write(254, ind); +0x4F4C 0x0EFE MOVLW 254 +0x4F4E 0x0102 MOVLB 2 +0x4F50 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x4F52 0xF2ECC1FE MOVFF main_ind, FARG_EEPROM_Write_data_ +0x4F56 0xF016ECCF CALL _EEPROM_Write, 0 +;main.c,806 :: EEPROM_Write(253, SW); +0x4F5A 0x0EFD MOVLW 253 +0x4F5C 0x0102 MOVLB 2 +0x4F5E 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x4F60 0xF2ECC205 MOVFF main_SW, FARG_EEPROM_Write_data_ +0x4F64 0xF016ECCF CALL _EEPROM_Write, 0 +;main.c,808 :: if(type==4 | type==5) // 128*64 OLED +0x4F68 0x0102 MOVLB 2 +0x4F6A 0x51C2 MOVF _type, 0, 1 +0x4F6C 0x0A04 XORLW 4 +0x4F6E 0x0E01 MOVLW 1 +0x4F70 0xA4D8 BTFSS STATUS, 2 +0x4F72 0x0E00 MOVLW 0 +0x4F74 0x6E01 MOVWF R1 +0x4F76 0x51C2 MOVF _type, 0, 1 +0x4F78 0x0A05 XORLW 5 +0x4F7A 0x0E01 MOVLW 1 +0x4F7C 0xA4D8 BTFSS STATUS, 2 +0x4F7E 0x0E00 MOVLW 0 +0x4F80 0x6E00 MOVWF R0 +0x4F82 0x5001 MOVF R1, 0 +0x4F84 0x1200 IORWF R0, 1 +0x4F86 0xE00D BZ L_Test_init435 +;main.c,809 :: led_wr_str (0, 16+12*8, "l", 1); +0x4F88 0x0103 MOVLB 3 +0x4F8A 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4F8C 0x0E70 MOVLW 112 +0x4F8E 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4F90 0x0EE9 MOVLW ?lstr88_main +0x4F92 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4F94 0x0E01 MOVLW hi_addr(?lstr88_main) +0x4F96 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4F98 0x0E01 MOVLW 1 +0x4F9A 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4F9C 0xF007ECAF CALL _led_wr_str, 0 +0x4FA0 0xD01C BRA L_Test_init436 +L_Test_init435: +;main.c,810 :: else if(type!=0 & type!=6) // 1602 LCD or 128*32 OLED +0x4FA2 0x0102 MOVLB 2 +0x4FA4 0x51C2 MOVF _type, 0, 1 +0x4FA6 0x0A00 XORLW 0 +0x4FA8 0x0E00 MOVLW 0 +0x4FAA 0xA4D8 BTFSS STATUS, 2 +0x4FAC 0x0E01 MOVLW 1 +0x4FAE 0x6E01 MOVWF R1 +0x4FB0 0x51C2 MOVF _type, 0, 1 +0x4FB2 0x0A06 XORLW 6 +0x4FB4 0x0E00 MOVLW 0 +0x4FB6 0xA4D8 BTFSS STATUS, 2 +0x4FB8 0x0E01 MOVLW 1 +0x4FBA 0x6E00 MOVWF R0 +0x4FBC 0x5001 MOVF R1, 0 +0x4FBE 0x1600 ANDWF R0, 1 +0x4FC0 0xE00C BZ L_Test_init437 +;main.c,811 :: led_wr_str (0, 8, "l", 1); +0x4FC2 0x0103 MOVLB 3 +0x4FC4 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x4FC6 0x0E08 MOVLW 8 +0x4FC8 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x4FCA 0x0EE7 MOVLW ?lstr89_main +0x4FCC 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x4FCE 0x0E01 MOVLW hi_addr(?lstr89_main) +0x4FD0 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x4FD2 0x0E01 MOVLW 1 +0x4FD4 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x4FD6 0xF007ECAF CALL _led_wr_str, 0 +L_Test_init437: +L_Test_init436: +;main.c,813 :: lcd_prep_short = 1; +0x4FDA 0x0E01 MOVLW 1 +0x4FDC 0x6E5F MOVWF _lcd_prep_short +;main.c,814 :: lcd_prep(); +0x4FDE 0xF022EC5D CALL _lcd_prep, 0 +;main.c,815 :: return; +;main.c,816 :: } +L_end_Test_init: +0x4FE2 0x0012 RETURN 0 +; end of _Test_init +_show_loss: +;main.c,850 :: void show_loss(void) { +;main.c,851 :: IntToStr(Fid_loss, work_str); +0x4FE4 0xF317C294 MOVFF _Fid_loss, FARG_IntToStr_input +0x4FE8 0x0E00 MOVLW 0 +0x4FEA 0x0103 MOVLB 3 +0x4FEC 0x6F18 MOVWF FARG_IntToStr_input+1, 1 +0x4FEE 0x0EBB MOVLW _work_str +0x4FF0 0x6F19 MOVWF FARG_IntToStr_output, 1 +0x4FF2 0x0E02 MOVLW hi_addr(_work_str) +0x4FF4 0x6F1A MOVWF FARG_IntToStr_output+1, 1 +0x4FF6 0xF007EC41 CALL _IntToStr, 0 +;main.c,852 :: if(Fid_loss>=10) work_str_2[0] = work_str[4]; +0x4FFA 0x0E0A MOVLW 10 +0x4FFC 0x0102 MOVLB 2 +0x4FFE 0x5D94 SUBWF _Fid_loss, 0, 1 +0x5000 0xE303 BNC L_show_loss439 +0x5002 0xF2C3C2BF MOVFF _work_str+4, _work_str_2 +0x5006 0xD002 BRA L_show_loss440 +L_show_loss439: +;main.c,853 :: else work_str_2[0] = '0'; +0x5008 0x0E30 MOVLW 48 +0x500A 0x6FC3 MOVWF _work_str_2, 1 +L_show_loss440: +;main.c,854 :: work_str_2[1] = '.'; +0x500C 0x0E2E MOVLW 46 +0x500E 0x6FC4 MOVWF _work_str_2+1, 1 +;main.c,855 :: work_str_2[2] = work_str[5]; +0x5010 0xF2C5C2C0 MOVFF _work_str+5, _work_str_2+2 +;main.c,856 :: if(type==4 | type==5) led_wr_str (2, 6, work_str_2, 3); // 128*64 +0x5014 0x51C2 MOVF _type, 0, 1 +0x5016 0x0A04 XORLW 4 +0x5018 0x0E01 MOVLW 1 +0x501A 0xA4D8 BTFSS STATUS, 2 +0x501C 0x0E00 MOVLW 0 +0x501E 0x6E01 MOVWF R1 +0x5020 0x51C2 MOVF _type, 0, 1 +0x5022 0x0A05 XORLW 5 +0x5024 0x0E01 MOVLW 1 +0x5026 0xA4D8 BTFSS STATUS, 2 +0x5028 0x0E00 MOVLW 0 +0x502A 0x6E00 MOVWF R0 +0x502C 0x5001 MOVF R1, 0 +0x502E 0x1200 IORWF R0, 1 +0x5030 0xE00E BZ L_show_loss441 +0x5032 0x0E02 MOVLW 2 +0x5034 0x0103 MOVLB 3 +0x5036 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x5038 0x0E06 MOVLW 6 +0x503A 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x503C 0x0EC3 MOVLW _work_str_2 +0x503E 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x5040 0x0E02 MOVLW hi_addr(_work_str_2) +0x5042 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x5044 0x0E03 MOVLW 3 +0x5046 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x5048 0xF007ECAF CALL _led_wr_str, 0 +0x504C 0xD011 BRA L_show_loss442 +L_show_loss441: +;main.c,857 :: else if(type!=0) led_wr_str (1, 3, work_str_2, 3); // 1602 | 128*32 +0x504E 0x0102 MOVLB 2 +0x5050 0x51C2 MOVF _type, 0, 1 +0x5052 0x0A00 XORLW 0 +0x5054 0xE00D BZ L_show_loss443 +0x5056 0x0E01 MOVLW 1 +0x5058 0x0103 MOVLB 3 +0x505A 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x505C 0x0E03 MOVLW 3 +0x505E 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x5060 0x0EC3 MOVLW _work_str_2 +0x5062 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x5064 0x0E02 MOVLW hi_addr(_work_str_2) +0x5066 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x5068 0x0E03 MOVLW 3 +0x506A 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x506C 0xF007ECAF CALL _led_wr_str, 0 +L_show_loss443: +L_show_loss442: +;main.c,858 :: return; +;main.c,859 :: } +L_end_show_loss: +0x5070 0x0012 RETURN 0 +; end of _show_loss +_Dec2Bcd: +;__Lib_Conversions.c,353 :: +;__Lib_Conversions.c,354 :: +0x5072 0x0102 MOVLB 2 +0x5074 0x6BD5 CLRF Dec2Bcd_tmp_L0, 1 +;__Lib_Conversions.c,356 :: +0x5076 0x51D4 MOVF FARG_Dec2Bcd_decnum, 0, 1 +0x5078 0x0809 SUBLW 9 +0x507A 0xE21D BC L_Dec2Bcd78 +;__Lib_Conversions.c,357 :: +0x507C 0x0E0A MOVLW 10 +0x507E 0x6E04 MOVWF R4 +0x5080 0xF000C2D4 MOVFF FARG_Dec2Bcd_decnum, R0 +0x5084 0xF021EC27 CALL _Div_8X8_U, 0 +0x5088 0xF2D5C000 MOVFF R0, Dec2Bcd_tmp_L0 +;__Lib_Conversions.c,358 :: +0x508C 0xF2D5C000 MOVFF R0, Dec2Bcd_tmp_L0 +0x5090 0x37D5 RLCF Dec2Bcd_tmp_L0, 1, 1 +0x5092 0x91D5 BCF Dec2Bcd_tmp_L0, 0, 1 +0x5094 0x37D5 RLCF Dec2Bcd_tmp_L0, 1, 1 +0x5096 0x91D5 BCF Dec2Bcd_tmp_L0, 0, 1 +0x5098 0x37D5 RLCF Dec2Bcd_tmp_L0, 1, 1 +0x509A 0x91D5 BCF Dec2Bcd_tmp_L0, 0, 1 +0x509C 0x37D5 RLCF Dec2Bcd_tmp_L0, 1, 1 +0x509E 0x91D5 BCF Dec2Bcd_tmp_L0, 0, 1 +;__Lib_Conversions.c,359 :: +0x50A0 0x0E0A MOVLW 10 +0x50A2 0x6E04 MOVWF R4 +0x50A4 0xF000C2D4 MOVFF FARG_Dec2Bcd_decnum, R0 +0x50A8 0xF021EC27 CALL _Div_8X8_U, 0 +0x50AC 0xF000C008 MOVFF R8, R0 +0x50B0 0x5000 MOVF R0, 0 +0x50B2 0x13D5 IORWF Dec2Bcd_tmp_L0, 1, 1 +;__Lib_Conversions.c,360 :: +0x50B4 0xD002 BRA L_Dec2Bcd79 +L_Dec2Bcd78: +;__Lib_Conversions.c,361 :: +0x50B6 0xF2D5C2D4 MOVFF FARG_Dec2Bcd_decnum, Dec2Bcd_tmp_L0 +L_Dec2Bcd79: +;__Lib_Conversions.c,362 :: +0x50BA 0xF000C2D5 MOVFF Dec2Bcd_tmp_L0, R0 +;__Lib_Conversions.c,363 :: +L_end_Dec2Bcd: +0x50BE 0x0012 RETURN 0 +; end of _Dec2Bcd +_button_proc: +;main.c,208 :: void button_proc(void) { +;main.c,209 :: if(Button(&PORTB, 0, 50, 0) | Soft_tune){ +0x50C0 0x0E81 MOVLW PORTB +0x50C2 0x0103 MOVLB 3 +0x50C4 0x6F11 MOVWF FARG_Button_port, 1 +0x50C6 0x0E0F MOVLW hi_addr(PORTB) +0x50C8 0x6F12 MOVWF FARG_Button_port+1, 1 +0x50CA 0x6B13 CLRF FARG_Button_pin, 1 +0x50CC 0x0E32 MOVLW 50 +0x50CE 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x50D0 0x6B15 CLRF FARG_Button_active_state, 1 +0x50D2 0xF00BEC22 CALL _Button, 0 +0x50D6 0x0102 MOVLB 2 +0x50D8 0x5156 MOVF _Soft_tune, 0, 1 +0x50DA 0x1200 IORWF R0, 1 +0x50DC 0xE062 BZ L_button_proc189 +;main.c,210 :: dysp_on(); +0x50DE 0xF015ECA7 CALL _dysp_on, 0 +;main.c,211 :: dysp_cnt = Dysp_delay * dysp_cnt_mult; +0x50E2 0xF000C21B MOVFF _Dysp_delay, R0 +0x50E6 0xF00EEC8F CALL _byte2double, 0 +0x50EA 0xF004C225 MOVFF _dysp_cnt_mult, R4 +0x50EE 0xF005C226 MOVFF _dysp_cnt_mult+1, R5 +0x50F2 0xF006C227 MOVFF _dysp_cnt_mult+2, R6 +0x50F6 0xF007C228 MOVFF _dysp_cnt_mult+3, R7 +0x50FA 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x50FE 0xF004ECE1 CALL _double2int, 0 +0x5102 0xF21CC000 MOVFF R0, _dysp_cnt +0x5106 0xF21DC001 MOVFF R1, _dysp_cnt+1 +;main.c,212 :: Delay_ms(250); +0x510A 0x0E06 MOVLW 6 +0x510C 0x6E0B MOVWF R11, 0 +0x510E 0x0E13 MOVLW 19 +0x5110 0x6E0C MOVWF R12, 0 +0x5112 0x0EAD MOVLW 173 +0x5114 0x6E0D MOVWF R13, 0 +L_button_proc190: +0x5116 0x2E0D DECFSZ R13, 1, 0 +0x5118 0xD7FE BRA L_button_proc190 +0x511A 0x2E0C DECFSZ R12, 1, 0 +0x511C 0xD7FC BRA L_button_proc190 +0x511E 0x2E0B DECFSZ R11, 1, 0 +0x5120 0xD7FA BRA L_button_proc190 +0x5122 0x0000 NOP +0x5124 0x0000 NOP +;main.c,213 :: asm CLRWDT; +0x5126 0x0004 CLRWDT +;main.c,214 :: if(Soft_tune == 0 & PORTB.B0==1) { // short press button +0x5128 0x5156 MOVF _Soft_tune, 0, 1 +0x512A 0x0A00 XORLW 0 +0x512C 0x0E01 MOVLW 1 +0x512E 0xA4D8 BTFSS STATUS, 2 +0x5130 0x0E00 MOVLW 0 +0x5132 0x6E01 MOVWF R1 +0x5134 0xB081 BTFSC PORTB, 0 +0x5136 0xD002 BRA L__button_proc560 +0x5138 0x90D8 BCF STATUS, 0 +0x513A 0xD001 BRA L__button_proc561 +L__button_proc560: +0x513C 0x80D8 BSF STATUS, 0 +L__button_proc561: +0x513E 0x6A00 CLRF R0 +0x5140 0xB0D8 BTFSC STATUS, 0 +0x5142 0x2A00 INCF R0, 1 +0x5144 0x5001 MOVF R1, 0 +0x5146 0x1600 ANDWF R0, 1 +0x5148 0xE004 BZ L_button_proc191 +;main.c,215 :: show_reset(); +0x514A 0xF01AEC35 CALL _show_reset, 0 +;main.c,216 :: bypas =0; +0x514E 0x6B24 CLRF _bypas, 1 +;main.c,217 :: } +0x5150 0xD028 BRA L_button_proc192 +L_button_proc191: +;main.c,219 :: p_Tx = 1; // +0x5152 0x8E89 BSF LATA7_bit, BitPos(LATA7_bit+0) +;main.c,220 :: n_Tx = 0; // TX request +0x5154 0x9689 BCF LATA3_bit, BitPos(LATA3_bit+0) +;main.c,221 :: asm CLRWDT; +0x5156 0x0004 CLRWDT +;main.c,222 :: Delay_ms(250); // +0x5158 0x0E06 MOVLW 6 +0x515A 0x6E0B MOVWF R11, 0 +0x515C 0x0E13 MOVLW 19 +0x515E 0x6E0C MOVWF R12, 0 +0x5160 0x0EAD MOVLW 173 +0x5162 0x6E0D MOVWF R13, 0 +L_button_proc193: +0x5164 0x2E0D DECFSZ R13, 1, 0 +0x5166 0xD7FE BRA L_button_proc193 +0x5168 0x2E0C DECFSZ R12, 1, 0 +0x516A 0xD7FC BRA L_button_proc193 +0x516C 0x2E0B DECFSZ R11, 1, 0 +0x516E 0xD7FA BRA L_button_proc193 +0x5170 0x0000 NOP +0x5172 0x0000 NOP +;main.c,223 :: asm CLRWDT; +0x5174 0x0004 CLRWDT +;main.c,224 :: btn_push(); +0x5176 0xF021EC67 CALL _btn_push, 0 +;main.c,225 :: bypas = 0; +0x517A 0x6B24 CLRF _bypas, 1 +;main.c,226 :: while(Button(&PORTB, 0, 50, 0)) {lcd_pwr(); asm CLRWDT; } +L_button_proc194: +0x517C 0x0E81 MOVLW PORTB +0x517E 0x0103 MOVLB 3 +0x5180 0x6F11 MOVWF FARG_Button_port, 1 +0x5182 0x0E0F MOVLW hi_addr(PORTB) +0x5184 0x6F12 MOVWF FARG_Button_port+1, 1 +0x5186 0x6B13 CLRF FARG_Button_pin, 1 +0x5188 0x0E32 MOVLW 50 +0x518A 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x518C 0x6B15 CLRF FARG_Button_active_state, 1 +0x518E 0xF00BEC22 CALL _Button, 0 +0x5192 0x5200 MOVF R0, 1 +0x5194 0xE004 BZ L_button_proc195 +0x5196 0xF017EC0D CALL _lcd_pwr, 0 +0x519A 0x0004 CLRWDT +0x519C 0xD7EF BRA L_button_proc194 +L_button_proc195: +0x519E 0x0102 MOVLB 2 +;main.c,227 :: Soft_tune = 0; +0x51A0 0x6B56 CLRF _Soft_tune, 1 +;main.c,228 :: } +L_button_proc192: +;main.c,230 :: } +L_button_proc189: +;main.c,232 :: if(Button(&PORTB, 5, 50, 0)){ // BYP button +0x51A2 0x0E81 MOVLW PORTB +0x51A4 0x0103 MOVLB 3 +0x51A6 0x6F11 MOVWF FARG_Button_port, 1 +0x51A8 0x0E0F MOVLW hi_addr(PORTB) +0x51AA 0x6F12 MOVWF FARG_Button_port+1, 1 +0x51AC 0x0E05 MOVLW 5 +0x51AE 0x6F13 MOVWF FARG_Button_pin, 1 +0x51B0 0x0E32 MOVLW 50 +0x51B2 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x51B4 0x6B15 CLRF FARG_Button_active_state, 1 +0x51B6 0xF00BEC22 CALL _Button, 0 +0x51BA 0x5200 MOVF R0, 1 +0x51BC 0xB4D8 BTFSC STATUS, 2 +0x51BE 0xD0FA BRA L_button_proc196 +;main.c,233 :: dysp_on(); +0x51C0 0xF015ECA7 CALL _dysp_on, 0 +;main.c,234 :: dysp_cnt = Dysp_delay * dysp_cnt_mult; +0x51C4 0xF000C21B MOVFF _Dysp_delay, R0 +0x51C8 0xF00EEC8F CALL _byte2double, 0 +0x51CC 0xF004C225 MOVFF _dysp_cnt_mult, R4 +0x51D0 0xF005C226 MOVFF _dysp_cnt_mult+1, R5 +0x51D4 0xF006C227 MOVFF _dysp_cnt_mult+2, R6 +0x51D8 0xF007C228 MOVFF _dysp_cnt_mult+3, R7 +0x51DC 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x51E0 0xF004ECE1 CALL _double2int, 0 +0x51E4 0xF21CC000 MOVFF R0, _dysp_cnt +0x51E8 0xF21DC001 MOVFF R1, _dysp_cnt+1 +;main.c,235 :: asm CLRWDT; +0x51EC 0x0004 CLRWDT +;main.c,236 :: if(bypas == 0) { +0x51EE 0x5124 MOVF _bypas, 0, 1 +0x51F0 0x0A00 XORLW 0 +0x51F2 0xE124 BNZ L_button_proc197 +;main.c,237 :: bypas = 1; +0x51F4 0x0E01 MOVLW 1 +0x51F6 0x6F24 MOVWF _bypas, 1 +;main.c,238 :: cap_mem = cap; +0x51F8 0xF072C1FF MOVFF main_cap, _cap_mem +;main.c,239 :: ind_mem = ind; +0x51FC 0xF071C1FE MOVFF main_ind, _ind_mem +;main.c,240 :: SW_mem = SW; +0x5200 0xF17CC205 MOVFF main_SW, _SW_mem +;main.c,241 :: cap = 0; +0x5204 0x0101 MOVLB 1 +0x5206 0x6BFF CLRF main_cap, 1 +;main.c,242 :: ind = 0; +0x5208 0x6BFE CLRF main_ind, 1 +;main.c,243 :: SW = 1; +0x520A 0x0E01 MOVLW 1 +0x520C 0x0102 MOVLB 2 +0x520E 0x6F05 MOVWF main_SW, 1 +;main.c,244 :: set_ind(ind); +0x5210 0x6BF3 CLRF FARG_set_ind_Ind, 1 +0x5212 0xF010EC5F CALL _set_ind, 0 +;main.c,245 :: set_cap(cap); +0x5216 0xF2F3C1FF MOVFF main_cap, FARG_set_cap_Cap +0x521A 0xF011ECBE CALL _set_cap, 0 +;main.c,246 :: set_SW(SW); +0x521E 0xF2EBC205 MOVFF main_SW, FARG_set_sw_SW +0x5222 0xF016ECEE CALL _set_sw, 0 +;main.c,247 :: if(Loss_mode==0) lcd_ind(); +0x5226 0x0102 MOVLB 2 +0x5228 0x5104 MOVF _Loss_mode, 0, 1 +0x522A 0x0A00 XORLW 0 +0x522C 0xE102 BNZ L_button_proc198 +0x522E 0xF008EC3C CALL _lcd_ind, 0 +L_button_proc198: +;main.c,248 :: Auto_mem = Auto; +0x5232 0xF17BC257 MOVFF _Auto, _Auto_mem +;main.c,249 :: Auto = 0; +0x5236 0x0102 MOVLB 2 +0x5238 0x6B57 CLRF _Auto, 1 +;main.c,250 :: } +0x523A 0xD01B BRA L_button_proc199 +L_button_proc197: +;main.c,252 :: bypas = 0; +0x523C 0x6B24 CLRF _bypas, 1 +;main.c,253 :: cap = cap_mem; +0x523E 0xF1FFC072 MOVFF _cap_mem, main_cap +;main.c,254 :: ind = ind_mem; +0x5242 0xF1FEC071 MOVFF _ind_mem, main_ind +;main.c,255 :: SW = SW_mem; +0x5246 0xF205C17C MOVFF _SW_mem, main_SW +;main.c,256 :: set_cap(cap); +0x524A 0xF2F3C072 MOVFF _cap_mem, FARG_set_cap_Cap +0x524E 0xF011ECBE CALL _set_cap, 0 +;main.c,257 :: set_ind(ind); +0x5252 0xF2F3C1FE MOVFF main_ind, FARG_set_ind_Ind +0x5256 0xF010EC5F CALL _set_ind, 0 +;main.c,258 :: set_SW(SW); +0x525A 0xF2EBC205 MOVFF main_SW, FARG_set_sw_SW +0x525E 0xF016ECEE CALL _set_sw, 0 +;main.c,259 :: if(Loss_mode==0) lcd_ind(); +0x5262 0x0102 MOVLB 2 +0x5264 0x5104 MOVF _Loss_mode, 0, 1 +0x5266 0x0A00 XORLW 0 +0x5268 0xE102 BNZ L_button_proc200 +0x526A 0xF008EC3C CALL _lcd_ind, 0 +L_button_proc200: +;main.c,260 :: Auto = Auto_mem; +0x526E 0xF257C17B MOVFF _Auto_mem, _Auto +;main.c,261 :: } +L_button_proc199: +;main.c,262 :: if(type==4 | type==5) { // 128*64 OLED +0x5272 0x0102 MOVLB 2 +0x5274 0x51C2 MOVF _type, 0, 1 +0x5276 0x0A04 XORLW 4 +0x5278 0x0E01 MOVLW 1 +0x527A 0xA4D8 BTFSS STATUS, 2 +0x527C 0x0E00 MOVLW 0 +0x527E 0x6E01 MOVWF R1 +0x5280 0x51C2 MOVF _type, 0, 1 +0x5282 0x0A05 XORLW 5 +0x5284 0x0E01 MOVLW 1 +0x5286 0xA4D8 BTFSS STATUS, 2 +0x5288 0x0E00 MOVLW 0 +0x528A 0x6E00 MOVWF R0 +0x528C 0x5001 MOVF R1, 0 +0x528E 0x1200 IORWF R0, 1 +0x5290 0xE038 BZ L_button_proc201 +;main.c,263 :: if(Auto & !Bypas) led_wr_str (0, 16+8*12, ".", 1); +0x5292 0x5324 MOVF _bypas, 1, 1 +0x5294 0x0E01 MOVLW 1 +0x5296 0xA4D8 BTFSS STATUS, 2 +0x5298 0x0E00 MOVLW 0 +0x529A 0x6E00 MOVWF R0 +0x529C 0x5157 MOVF _Auto, 0, 1 +0x529E 0x1600 ANDWF R0, 1 +0x52A0 0xE00D BZ L_button_proc202 +0x52A2 0x0103 MOVLB 3 +0x52A4 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x52A6 0x0E70 MOVLW 112 +0x52A8 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x52AA 0x0E79 MOVLW ?lstr10_main +0x52AC 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x52AE 0x0E01 MOVLW hi_addr(?lstr10_main) +0x52B0 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x52B2 0x0E01 MOVLW 1 +0x52B4 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x52B6 0xF007ECAF CALL _led_wr_str, 0 +0x52BA 0xD022 BRA L_button_proc203 +L_button_proc202: +;main.c,264 :: else if(!Auto & Bypas) led_wr_str (0, 16+8*12, "_", 1); +0x52BC 0x0102 MOVLB 2 +0x52BE 0x5357 MOVF _Auto, 1, 1 +0x52C0 0x0E01 MOVLW 1 +0x52C2 0xA4D8 BTFSS STATUS, 2 +0x52C4 0x0E00 MOVLW 0 +0x52C6 0x6E00 MOVWF R0 +0x52C8 0x5124 MOVF _bypas, 0, 1 +0x52CA 0x1600 ANDWF R0, 1 +0x52CC 0xE00D BZ L_button_proc204 +0x52CE 0x0103 MOVLB 3 +0x52D0 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x52D2 0x0E70 MOVLW 112 +0x52D4 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x52D6 0x0E81 MOVLW ?lstr11_main +0x52D8 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x52DA 0x0E01 MOVLW hi_addr(?lstr11_main) +0x52DC 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x52DE 0x0E01 MOVLW 1 +0x52E0 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x52E2 0xF007ECAF CALL _led_wr_str, 0 +0x52E6 0xD00C BRA L_button_proc205 +L_button_proc204: +;main.c,265 :: else led_wr_str (0, 16+8*12, " ", 1); +0x52E8 0x0103 MOVLB 3 +0x52EA 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x52EC 0x0E70 MOVLW 112 +0x52EE 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x52F0 0x0E7F MOVLW ?lstr12_main +0x52F2 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x52F4 0x0E01 MOVLW hi_addr(?lstr12_main) +0x52F6 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x52F8 0x0E01 MOVLW 1 +0x52FA 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x52FC 0xF007ECAF CALL _led_wr_str, 0 +L_button_proc205: +L_button_proc203: +;main.c,266 :: } +0x5300 0xD047 BRA L_button_proc206 +L_button_proc201: +;main.c,267 :: else if(type!=0 & type!=6) { // 1602 LCD or 128*32 OLED +0x5302 0x0102 MOVLB 2 +0x5304 0x51C2 MOVF _type, 0, 1 +0x5306 0x0A00 XORLW 0 +0x5308 0x0E00 MOVLW 0 +0x530A 0xA4D8 BTFSS STATUS, 2 +0x530C 0x0E01 MOVLW 1 +0x530E 0x6E01 MOVWF R1 +0x5310 0x51C2 MOVF _type, 0, 1 +0x5312 0x0A06 XORLW 6 +0x5314 0x0E00 MOVLW 0 +0x5316 0xA4D8 BTFSS STATUS, 2 +0x5318 0x0E01 MOVLW 1 +0x531A 0x6E00 MOVWF R0 +0x531C 0x5001 MOVF R1, 0 +0x531E 0x1600 ANDWF R0, 1 +0x5320 0xE037 BZ L_button_proc207 +;main.c,268 :: if(Auto & !Bypas) led_wr_str (0, 8, ".", 1); +0x5322 0x5324 MOVF _bypas, 1, 1 +0x5324 0x0E01 MOVLW 1 +0x5326 0xA4D8 BTFSS STATUS, 2 +0x5328 0x0E00 MOVLW 0 +0x532A 0x6E00 MOVWF R0 +0x532C 0x5157 MOVF _Auto, 0, 1 +0x532E 0x1600 ANDWF R0, 1 +0x5330 0xE00D BZ L_button_proc208 +0x5332 0x0103 MOVLB 3 +0x5334 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x5336 0x0E08 MOVLW 8 +0x5338 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x533A 0x0E7D MOVLW ?lstr13_main +0x533C 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x533E 0x0E01 MOVLW hi_addr(?lstr13_main) +0x5340 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x5342 0x0E01 MOVLW 1 +0x5344 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x5346 0xF007ECAF CALL _led_wr_str, 0 +0x534A 0xD022 BRA L_button_proc209 +L_button_proc208: +;main.c,269 :: else if(!Auto & Bypas) led_wr_str (0, 8, "_", 1); +0x534C 0x0102 MOVLB 2 +0x534E 0x5357 MOVF _Auto, 1, 1 +0x5350 0x0E01 MOVLW 1 +0x5352 0xA4D8 BTFSS STATUS, 2 +0x5354 0x0E00 MOVLW 0 +0x5356 0x6E00 MOVWF R0 +0x5358 0x5124 MOVF _bypas, 0, 1 +0x535A 0x1600 ANDWF R0, 1 +0x535C 0xE00D BZ L_button_proc210 +0x535E 0x0103 MOVLB 3 +0x5360 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x5362 0x0E08 MOVLW 8 +0x5364 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x5366 0x0E77 MOVLW ?lstr14_main +0x5368 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x536A 0x0E01 MOVLW hi_addr(?lstr14_main) +0x536C 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x536E 0x0E01 MOVLW 1 +0x5370 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x5372 0xF007ECAF CALL _led_wr_str, 0 +0x5376 0xD00C BRA L_button_proc211 +L_button_proc210: +;main.c,270 :: else led_wr_str (0, 8, " ", 1); +0x5378 0x0103 MOVLB 3 +0x537A 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x537C 0x0E08 MOVLW 8 +0x537E 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x5380 0x0E6F MOVLW ?lstr15_main +0x5382 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x5384 0x0E01 MOVLW hi_addr(?lstr15_main) +0x5386 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x5388 0x0E01 MOVLW 1 +0x538A 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x538C 0xF007ECAF CALL _led_wr_str, 0 +L_button_proc211: +L_button_proc209: +;main.c,271 :: } +L_button_proc207: +L_button_proc206: +;main.c,272 :: while(Button(&PORTB, 5, 50, 0)) {lcd_pwr(); asm CLRWDT; } +L_button_proc212: +0x5390 0x0E81 MOVLW PORTB +0x5392 0x0103 MOVLB 3 +0x5394 0x6F11 MOVWF FARG_Button_port, 1 +0x5396 0x0E0F MOVLW hi_addr(PORTB) +0x5398 0x6F12 MOVWF FARG_Button_port+1, 1 +0x539A 0x0E05 MOVLW 5 +0x539C 0x6F13 MOVWF FARG_Button_pin, 1 +0x539E 0x0E32 MOVLW 50 +0x53A0 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x53A2 0x6B15 CLRF FARG_Button_active_state, 1 +0x53A4 0xF00BEC22 CALL _Button, 0 +0x53A8 0x5200 MOVF R0, 1 +0x53AA 0xE004 BZ L_button_proc213 +0x53AC 0xF017EC0D CALL _lcd_pwr, 0 +0x53B0 0x0004 CLRWDT +0x53B2 0xD7EE BRA L_button_proc212 +L_button_proc213: +;main.c,273 :: } +L_button_proc196: +;main.c,275 :: if(Button(&PORTB, 4, 50, 0) & Bypas==0){ // Auto button +0x53B4 0x0E81 MOVLW PORTB +0x53B6 0x0103 MOVLB 3 +0x53B8 0x6F11 MOVWF FARG_Button_port, 1 +0x53BA 0x0E0F MOVLW hi_addr(PORTB) +0x53BC 0x6F12 MOVWF FARG_Button_port+1, 1 +0x53BE 0x0E04 MOVLW 4 +0x53C0 0x6F13 MOVWF FARG_Button_pin, 1 +0x53C2 0x0E32 MOVLW 50 +0x53C4 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x53C6 0x6B15 CLRF FARG_Button_active_state, 1 +0x53C8 0xF00BEC22 CALL _Button, 0 +0x53CC 0x0102 MOVLB 2 +0x53CE 0x5124 MOVF _bypas, 0, 1 +0x53D0 0x0A00 XORLW 0 +0x53D2 0x0E01 MOVLW 1 +0x53D4 0xA4D8 BTFSS STATUS, 2 +0x53D6 0x0E00 MOVLW 0 +0x53D8 0x6E01 MOVWF R1 +0x53DA 0x5001 MOVF R1, 0 +0x53DC 0x1600 ANDWF R0, 1 +0x53DE 0xB4D8 BTFSC STATUS, 2 +0x53E0 0xD0C5 BRA L_button_proc214 +;main.c,276 :: dysp_on(); +0x53E2 0xF015ECA7 CALL _dysp_on, 0 +;main.c,277 :: dysp_cnt = Dysp_delay * dysp_cnt_mult; +0x53E6 0xF000C21B MOVFF _Dysp_delay, R0 +0x53EA 0xF00EEC8F CALL _byte2double, 0 +0x53EE 0xF004C225 MOVFF _dysp_cnt_mult, R4 +0x53F2 0xF005C226 MOVFF _dysp_cnt_mult+1, R5 +0x53F6 0xF006C227 MOVFF _dysp_cnt_mult+2, R6 +0x53FA 0xF007C228 MOVFF _dysp_cnt_mult+3, R7 +0x53FE 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x5402 0xF004ECE1 CALL _double2int, 0 +0x5406 0xF21CC000 MOVFF R0, _dysp_cnt +0x540A 0xF21DC001 MOVFF R1, _dysp_cnt+1 +;main.c,278 :: asm CLRWDT; +0x540E 0x0004 CLRWDT +;main.c,279 :: if(Auto == 0) Auto = 1; +0x5410 0x5157 MOVF _Auto, 0, 1 +0x5412 0x0A00 XORLW 0 +0x5414 0xE103 BNZ L_button_proc215 +0x5416 0x0E01 MOVLW 1 +0x5418 0x6F57 MOVWF _Auto, 1 +0x541A 0xD001 BRA L_button_proc216 +L_button_proc215: +;main.c,280 :: else Auto = 0; +0x541C 0x6B57 CLRF _Auto, 1 +L_button_proc216: +;main.c,281 :: EEPROM_Write(2, Auto); +0x541E 0x0E02 MOVLW 2 +0x5420 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x5422 0xF2ECC257 MOVFF _Auto, FARG_EEPROM_Write_data_ +0x5426 0xF016ECCF CALL _EEPROM_Write, 0 +;main.c,282 :: if(type==4 | type==5) { // 128*64 OLED +0x542A 0x0102 MOVLB 2 +0x542C 0x51C2 MOVF _type, 0, 1 +0x542E 0x0A04 XORLW 4 +0x5430 0x0E01 MOVLW 1 +0x5432 0xA4D8 BTFSS STATUS, 2 +0x5434 0x0E00 MOVLW 0 +0x5436 0x6E01 MOVWF R1 +0x5438 0x51C2 MOVF _type, 0, 1 +0x543A 0x0A05 XORLW 5 +0x543C 0x0E01 MOVLW 1 +0x543E 0xA4D8 BTFSS STATUS, 2 +0x5440 0x0E00 MOVLW 0 +0x5442 0x6E00 MOVWF R0 +0x5444 0x5001 MOVF R1, 0 +0x5446 0x1200 IORWF R0, 1 +0x5448 0xE038 BZ L_button_proc217 +;main.c,283 :: if(Auto & !Bypas) led_wr_str (0, 16+8*12, ".", 1); +0x544A 0x5324 MOVF _bypas, 1, 1 +0x544C 0x0E01 MOVLW 1 +0x544E 0xA4D8 BTFSS STATUS, 2 +0x5450 0x0E00 MOVLW 0 +0x5452 0x6E00 MOVWF R0 +0x5454 0x5157 MOVF _Auto, 0, 1 +0x5456 0x1600 ANDWF R0, 1 +0x5458 0xE00D BZ L_button_proc218 +0x545A 0x0103 MOVLB 3 +0x545C 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x545E 0x0E70 MOVLW 112 +0x5460 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x5462 0x0E6D MOVLW ?lstr16_main +0x5464 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x5466 0x0E01 MOVLW hi_addr(?lstr16_main) +0x5468 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x546A 0x0E01 MOVLW 1 +0x546C 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x546E 0xF007ECAF CALL _led_wr_str, 0 +0x5472 0xD022 BRA L_button_proc219 +L_button_proc218: +;main.c,284 :: else if(!Auto & Bypas) led_wr_str (0, 16+8*12, "_", 1); +0x5474 0x0102 MOVLB 2 +0x5476 0x5357 MOVF _Auto, 1, 1 +0x5478 0x0E01 MOVLW 1 +0x547A 0xA4D8 BTFSS STATUS, 2 +0x547C 0x0E00 MOVLW 0 +0x547E 0x6E00 MOVWF R0 +0x5480 0x5124 MOVF _bypas, 0, 1 +0x5482 0x1600 ANDWF R0, 1 +0x5484 0xE00D BZ L_button_proc220 +0x5486 0x0103 MOVLB 3 +0x5488 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x548A 0x0E70 MOVLW 112 +0x548C 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x548E 0x0E6B MOVLW ?lstr17_main +0x5490 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x5492 0x0E01 MOVLW hi_addr(?lstr17_main) +0x5494 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x5496 0x0E01 MOVLW 1 +0x5498 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x549A 0xF007ECAF CALL _led_wr_str, 0 +0x549E 0xD00C BRA L_button_proc221 +L_button_proc220: +;main.c,285 :: else led_wr_str (0, 16+8*12, " ", 1); +0x54A0 0x0103 MOVLB 3 +0x54A2 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x54A4 0x0E70 MOVLW 112 +0x54A6 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x54A8 0x0E75 MOVLW ?lstr18_main +0x54AA 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x54AC 0x0E01 MOVLW hi_addr(?lstr18_main) +0x54AE 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x54B0 0x0E01 MOVLW 1 +0x54B2 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x54B4 0xF007ECAF CALL _led_wr_str, 0 +L_button_proc221: +L_button_proc219: +;main.c,286 :: } +0x54B8 0xD047 BRA L_button_proc222 +L_button_proc217: +;main.c,287 :: else if(type!=0 & type!=6) { // 1602 LCD or 128*32 OLED +0x54BA 0x0102 MOVLB 2 +0x54BC 0x51C2 MOVF _type, 0, 1 +0x54BE 0x0A00 XORLW 0 +0x54C0 0x0E00 MOVLW 0 +0x54C2 0xA4D8 BTFSS STATUS, 2 +0x54C4 0x0E01 MOVLW 1 +0x54C6 0x6E01 MOVWF R1 +0x54C8 0x51C2 MOVF _type, 0, 1 +0x54CA 0x0A06 XORLW 6 +0x54CC 0x0E00 MOVLW 0 +0x54CE 0xA4D8 BTFSS STATUS, 2 +0x54D0 0x0E01 MOVLW 1 +0x54D2 0x6E00 MOVWF R0 +0x54D4 0x5001 MOVF R1, 0 +0x54D6 0x1600 ANDWF R0, 1 +0x54D8 0xE037 BZ L_button_proc223 +;main.c,288 :: if(Auto & !Bypas) led_wr_str (0, 8, ".", 1); +0x54DA 0x5324 MOVF _bypas, 1, 1 +0x54DC 0x0E01 MOVLW 1 +0x54DE 0xA4D8 BTFSS STATUS, 2 +0x54E0 0x0E00 MOVLW 0 +0x54E2 0x6E00 MOVWF R0 +0x54E4 0x5157 MOVF _Auto, 0, 1 +0x54E6 0x1600 ANDWF R0, 1 +0x54E8 0xE00D BZ L_button_proc224 +0x54EA 0x0103 MOVLB 3 +0x54EC 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x54EE 0x0E08 MOVLW 8 +0x54F0 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x54F2 0x0E73 MOVLW ?lstr19_main +0x54F4 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x54F6 0x0E01 MOVLW hi_addr(?lstr19_main) +0x54F8 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x54FA 0x0E01 MOVLW 1 +0x54FC 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x54FE 0xF007ECAF CALL _led_wr_str, 0 +0x5502 0xD022 BRA L_button_proc225 +L_button_proc224: +;main.c,289 :: else if(!Auto & Bypas) led_wr_str (0, 8, "_", 1); +0x5504 0x0102 MOVLB 2 +0x5506 0x5357 MOVF _Auto, 1, 1 +0x5508 0x0E01 MOVLW 1 +0x550A 0xA4D8 BTFSS STATUS, 2 +0x550C 0x0E00 MOVLW 0 +0x550E 0x6E00 MOVWF R0 +0x5510 0x5124 MOVF _bypas, 0, 1 +0x5512 0x1600 ANDWF R0, 1 +0x5514 0xE00D BZ L_button_proc226 +0x5516 0x0103 MOVLB 3 +0x5518 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x551A 0x0E08 MOVLW 8 +0x551C 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x551E 0x0E71 MOVLW ?lstr20_main +0x5520 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x5522 0x0E01 MOVLW hi_addr(?lstr20_main) +0x5524 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x5526 0x0E01 MOVLW 1 +0x5528 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x552A 0xF007ECAF CALL _led_wr_str, 0 +0x552E 0xD00C BRA L_button_proc227 +L_button_proc226: +;main.c,290 :: else led_wr_str (0, 8, " ", 1); +0x5530 0x0103 MOVLB 3 +0x5532 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x5534 0x0E08 MOVLW 8 +0x5536 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x5538 0x0E83 MOVLW ?lstr21_main +0x553A 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x553C 0x0E01 MOVLW hi_addr(?lstr21_main) +0x553E 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x5540 0x0E01 MOVLW 1 +0x5542 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x5544 0xF007ECAF CALL _led_wr_str, 0 +L_button_proc227: +L_button_proc225: +;main.c,291 :: } +L_button_proc223: +L_button_proc222: +;main.c,292 :: while(Button(&PORTB, 4, 50, 0)) {lcd_pwr(); asm CLRWDT; } +L_button_proc228: +0x5548 0x0E81 MOVLW PORTB +0x554A 0x0103 MOVLB 3 +0x554C 0x6F11 MOVWF FARG_Button_port, 1 +0x554E 0x0E0F MOVLW hi_addr(PORTB) +0x5550 0x6F12 MOVWF FARG_Button_port+1, 1 +0x5552 0x0E04 MOVLW 4 +0x5554 0x6F13 MOVWF FARG_Button_pin, 1 +0x5556 0x0E32 MOVLW 50 +0x5558 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x555A 0x6B15 CLRF FARG_Button_active_state, 1 +0x555C 0xF00BEC22 CALL _Button, 0 +0x5560 0x5200 MOVF R0, 1 +0x5562 0xE004 BZ L_button_proc229 +0x5564 0xF017EC0D CALL _lcd_pwr, 0 +0x5568 0x0004 CLRWDT +0x556A 0xD7EE BRA L_button_proc228 +L_button_proc229: +;main.c,293 :: } +L_button_proc214: +;main.c,294 :: return; +;main.c,295 :: } +L_end_button_proc: +0x556C 0x0012 RETURN 0 +; end of _button_proc +_Soft_I2C_Init: +;oled_control.c,344 :: void Soft_I2C_Init () { +;oled_control.c,345 :: led_addr = EEPROM_read(0); // 4E,7E for 1602 or 78, 7A for OLED +0x556E 0x0102 MOVLB 2 +0x5570 0x6BD6 CLRF FARG_EEPROM_Read_address, 1 +0x5572 0xF021EC5F CALL _EEPROM_Read, 0 +0x5576 0xF2B2C000 MOVFF R0, oled_control_led_addr +;oled_control.c,346 :: led_type = EEPROM_read(1); +0x557A 0x0E01 MOVLW 1 +0x557C 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x557E 0xF021EC5F CALL _EEPROM_Read, 0 +0x5582 0xF2ABC000 MOVFF R0, oled_control_led_type +;oled_control.c,348 :: if(led_type==0) { +0x5586 0x5000 MOVF R0, 0 +0x5588 0x0A00 XORLW 0 +0x558A 0xE105 BNZ L_Soft_I2C_Init71 +;oled_control.c,349 :: Soft_I2C_Scl_Direction = 0; +0x558C 0x9C93 BCF TRISB6_bit, BitPos(TRISB6_bit+0) +;oled_control.c,350 :: Soft_I2C_Sda_Direction = 0; +0x558E 0x9E93 BCF TRISB7_bit, BitPos(TRISB7_bit+0) +;oled_control.c,351 :: LATB.B6 = 1; +0x5590 0x8C8A BSF LATB, 6 +;oled_control.c,352 :: LATB.B7 = 1; +0x5592 0x8E8A BSF LATB, 7 +;oled_control.c,353 :: } +0x5594 0xD004 BRA L_Soft_I2C_Init72 +L_Soft_I2C_Init71: +;oled_control.c,355 :: Soft_I2C_Scl_Direction = 1; +0x5596 0x8C93 BSF TRISB6_bit, BitPos(TRISB6_bit+0) +;oled_control.c,356 :: Soft_I2C_Sda_Direction = 1; +0x5598 0x8E93 BSF TRISB7_bit, BitPos(TRISB7_bit+0) +;oled_control.c,357 :: Soft_I2C_Scl = 0; +0x559A 0x9C8A BCF LATB6_bit, BitPos(LATB6_bit+0) +;oled_control.c,358 :: Soft_I2C_Sda = 0; +0x559C 0x9E8A BCF LATB7_bit, BitPos(LATB7_bit+0) +;oled_control.c,359 :: } +L_Soft_I2C_Init72: +;oled_control.c,360 :: } +L_end_Soft_I2C_Init: +0x559E 0x0012 RETURN 0 +; end of _Soft_I2C_Init +_led_init: +;oled_control.c,30 :: void led_init (void) { +;oled_control.c,31 :: led_type = EEPROM_read(1); +0x55A0 0x0E01 MOVLW 1 +0x55A2 0x0102 MOVLB 2 +0x55A4 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x55A6 0xF021EC5F CALL _EEPROM_Read, 0 +0x55AA 0xF2ABC000 MOVFF R0, oled_control_led_type +;oled_control.c,32 :: shift_line = EEPROM_read(7); +0x55AE 0x0E07 MOVLW 7 +0x55B0 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x55B2 0xF021EC5F CALL _EEPROM_Read, 0 +0x55B6 0xF2ACC000 MOVFF R0, oled_control_shift_line +;oled_control.c,33 :: oled_shift = EEPROM_read(8); +0x55BA 0x0E08 MOVLW 8 +0x55BC 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x55BE 0xF021EC5F CALL _EEPROM_Read, 0 +0x55C2 0xF2B1C000 MOVFF R0, oled_control_oled_shift +;oled_control.c,34 :: if(led_type!=1) oled_init(); // OLED +0x55C6 0x51AB MOVF oled_control_led_type, 0, 1 +0x55C8 0x0A01 XORLW 1 +0x55CA 0xE003 BZ L_led_init6 +0x55CC 0xF01FEC79 CALL _oled_init, 0 +0x55D0 0xD060 BRA L_led_init7 +L_led_init6: +;oled_control.c,36 :: LED = 1; +0x55D2 0x0E01 MOVLW 1 +0x55D4 0x6FB5 MOVWF oled_control_LED, 1 +;oled_control.c,37 :: RS = 0; // Command +0x55D6 0x6BB4 CLRF oled_control_RS, 1 +;oled_control.c,39 :: led_send(3); +0x55D8 0x0E03 MOVLW 3 +0x55DA 0x0103 MOVLB 3 +0x55DC 0x6F21 MOVWF FARG_led_send_nible, 1 +0x55DE 0xF001EC90 CALL _led_send, 0 +;oled_control.c,40 :: delay_ms(5); +0x55E2 0x0E1A MOVLW 26 +0x55E4 0x6E0C MOVWF R12, 0 +0x55E6 0x0EF8 MOVLW 248 +0x55E8 0x6E0D MOVWF R13, 0 +L_led_init8: +0x55EA 0x2E0D DECFSZ R13, 1, 0 +0x55EC 0xD7FE BRA L_led_init8 +0x55EE 0x2E0C DECFSZ R12, 1, 0 +0x55F0 0xD7FC BRA L_led_init8 +0x55F2 0x0000 NOP +;oled_control.c,41 :: led_send(3); +0x55F4 0x0E03 MOVLW 3 +0x55F6 0x0103 MOVLB 3 +0x55F8 0x6F21 MOVWF FARG_led_send_nible, 1 +0x55FA 0xF001EC90 CALL _led_send, 0 +;oled_control.c,42 :: delay_ms(1); +0x55FE 0x0E06 MOVLW 6 +0x5600 0x6E0C MOVWF R12, 0 +0x5602 0x0E30 MOVLW 48 +0x5604 0x6E0D MOVWF R13, 0 +L_led_init9: +0x5606 0x2E0D DECFSZ R13, 1, 0 +0x5608 0xD7FE BRA L_led_init9 +0x560A 0x2E0C DECFSZ R12, 1, 0 +0x560C 0xD7FC BRA L_led_init9 +0x560E 0x0000 NOP +;oled_control.c,43 :: led_send(3); +0x5610 0x0E03 MOVLW 3 +0x5612 0x0103 MOVLB 3 +0x5614 0x6F21 MOVWF FARG_led_send_nible, 1 +0x5616 0xF001EC90 CALL _led_send, 0 +;oled_control.c,44 :: led_send(2); +0x561A 0x0E02 MOVLW 2 +0x561C 0x0103 MOVLB 3 +0x561E 0x6F21 MOVWF FARG_led_send_nible, 1 +0x5620 0xF001EC90 CALL _led_send, 0 +;oled_control.c,46 :: led_send(2); +0x5624 0x0E02 MOVLW 2 +0x5626 0x0103 MOVLB 3 +0x5628 0x6F21 MOVWF FARG_led_send_nible, 1 +0x562A 0xF001EC90 CALL _led_send, 0 +;oled_control.c,47 :: led_send(8); // +0x562E 0x0E08 MOVLW 8 +0x5630 0x0103 MOVLB 3 +0x5632 0x6F21 MOVWF FARG_led_send_nible, 1 +0x5634 0xF001EC90 CALL _led_send, 0 +;oled_control.c,49 :: led_send(0); +0x5638 0x0103 MOVLB 3 +0x563A 0x6B21 CLRF FARG_led_send_nible, 1 +0x563C 0xF001EC90 CALL _led_send, 0 +;oled_control.c,50 :: led_send(8); // LCD OFF +0x5640 0x0E08 MOVLW 8 +0x5642 0x0103 MOVLB 3 +0x5644 0x6F21 MOVWF FARG_led_send_nible, 1 +0x5646 0xF001EC90 CALL _led_send, 0 +;oled_control.c,52 :: led_send(0); +0x564A 0x0103 MOVLB 3 +0x564C 0x6B21 CLRF FARG_led_send_nible, 1 +0x564E 0xF001EC90 CALL _led_send, 0 +;oled_control.c,53 :: led_send(1); // LCD clear +0x5652 0x0E01 MOVLW 1 +0x5654 0x0103 MOVLB 3 +0x5656 0x6F21 MOVWF FARG_led_send_nible, 1 +0x5658 0xF001EC90 CALL _led_send, 0 +;oled_control.c,54 :: delay_ms(5); +0x565C 0x0E1A MOVLW 26 +0x565E 0x6E0C MOVWF R12, 0 +0x5660 0x0EF8 MOVLW 248 +0x5662 0x6E0D MOVWF R13, 0 +L_led_init10: +0x5664 0x2E0D DECFSZ R13, 1, 0 +0x5666 0xD7FE BRA L_led_init10 +0x5668 0x2E0C DECFSZ R12, 1, 0 +0x566A 0xD7FC BRA L_led_init10 +0x566C 0x0000 NOP +;oled_control.c,56 :: led_send(0); +0x566E 0x0103 MOVLB 3 +0x5670 0x6B21 CLRF FARG_led_send_nible, 1 +0x5672 0xF001EC90 CALL _led_send, 0 +;oled_control.c,57 :: led_send(4 + 2); // I/D, S +0x5676 0x0E06 MOVLW 6 +0x5678 0x0103 MOVLB 3 +0x567A 0x6F21 MOVWF FARG_led_send_nible, 1 +0x567C 0xF001EC90 CALL _led_send, 0 +;oled_control.c,59 :: led_send(0); +0x5680 0x0103 MOVLB 3 +0x5682 0x6B21 CLRF FARG_led_send_nible, 1 +0x5684 0xF001EC90 CALL _led_send, 0 +;oled_control.c,60 :: led_send(8 + 4 + 0 + 0); // LCD ON, Cursor, Blink Cursor +0x5688 0x0E0C MOVLW 12 +0x568A 0x0103 MOVLB 3 +0x568C 0x6F21 MOVWF FARG_led_send_nible, 1 +0x568E 0xF001EC90 CALL _led_send, 0 +;oled_control.c,61 :: } +L_led_init7: +;oled_control.c,62 :: } +L_end_led_init: +0x5692 0x0012 RETURN 0 +; end of _led_init +_main: +0x5694 0xF02FEC6B CALL 24278, 0 +;main.c,34 :: void main() { +;main.c,35 :: if(RCON.B3==0) Restart = 1; +0x5698 0xB6D0 BTFSC RCON, 3 +0x569A 0xD002 BRA L_main118 +0x569C 0x0E01 MOVLW 1 +0x569E 0x6E7E MOVWF _Restart +L_main118: +;main.c,36 :: pic_init(); +0x56A0 0xF026ECCF CALL _pic_init, 0 +;main.c,38 :: Delay_ms (300); +0x56A4 0x0E07 MOVLW 7 +0x56A6 0x6E0B MOVWF R11, 0 +0x56A8 0x0E17 MOVLW 23 +0x56AA 0x6E0C MOVWF R12, 0 +0x56AC 0x0E6A MOVLW 106 +0x56AE 0x6E0D MOVWF R13, 0 +L_main119: +0x56B0 0x2E0D DECFSZ R13, 1, 0 +0x56B2 0xD7FE BRA L_main119 +0x56B4 0x2E0C DECFSZ R12, 1, 0 +0x56B6 0xD7FC BRA L_main119 +0x56B8 0x2E0B DECFSZ R11, 1, 0 +0x56BA 0xD7FA BRA L_main119 +0x56BC 0x0000 NOP +;main.c,39 :: asm CLRWDT; +0x56BE 0x0004 CLRWDT +;main.c,40 :: cells_init(); +0x56C0 0xF024EC03 CALL _cells_init, 0 +;main.c,41 :: Soft_I2C_Init(); +0x56C4 0xDF54 RCALL _Soft_I2C_Init +;main.c,42 :: if(type==0) { // 2-colors led reset +0x56C6 0x51C2 MOVF _type, 0, 1 +0x56C8 0x0A00 XORLW 0 +0x56CA 0xE103 BNZ L_main120 +;main.c,43 :: LATB.B6 = 1; +0x56CC 0x8C8A BSF LATB, 6 +;main.c,44 :: LATB.B7 = 1; +0x56CE 0x8E8A BSF LATB, 7 +;main.c,45 :: } +0x56D0 0xD005 BRA L_main121 +L_main120: +;main.c,46 :: else if(type==6){ +0x56D2 0x51C2 MOVF _type, 0, 1 +0x56D4 0x0A06 XORLW 6 +0x56D6 0xE102 BNZ L_main122 +;main.c,47 :: LATB.B6 = 0; +0x56D8 0x9C8A BCF LATB, 6 +;main.c,48 :: LATB.B7 = 0; +0x56DA 0x9E8A BCF LATB, 7 +;main.c,49 :: } +L_main122: +L_main121: +;main.c,50 :: Low = 0; +0x56DC 0x908B BCF LATC0_bit, BitPos(LATC0_bit+0) +;main.c,51 :: Mid = 0; +0x56DE 0x9C8B BCF LATC6_bit, BitPos(LATC6_bit+0) +;main.c,52 :: High = 0; +0x56E0 0x9E8B BCF LATC7_bit, BitPos(LATC7_bit+0) +;main.c,53 :: dysp_cnt = Dysp_delay * dysp_cnt_mult; +0x56E2 0xF000C21B MOVFF _Dysp_delay, R0 +0x56E6 0xF00EEC8F CALL _byte2double, 0 +0x56EA 0xF004C225 MOVFF _dysp_cnt_mult, R4 +0x56EE 0xF005C226 MOVFF _dysp_cnt_mult+1, R5 +0x56F2 0xF006C227 MOVFF _dysp_cnt_mult+2, R6 +0x56F6 0xF007C228 MOVFF _dysp_cnt_mult+3, R7 +0x56FA 0xF005ECB5 CALL _Mul_32x32_FP, 0 +0x56FE 0xF004ECE1 CALL _double2int, 0 +0x5702 0xF21CC000 MOVFF R0, _dysp_cnt +0x5706 0xF21DC001 MOVFF R1, _dysp_cnt+1 +;main.c,55 :: Delay_ms(300); +0x570A 0x0E07 MOVLW 7 +0x570C 0x6E0B MOVWF R11, 0 +0x570E 0x0E17 MOVLW 23 +0x5710 0x6E0C MOVWF R12, 0 +0x5712 0x0E6A MOVLW 106 +0x5714 0x6E0D MOVWF R13, 0 +L_main123: +0x5716 0x2E0D DECFSZ R13, 1, 0 +0x5718 0xD7FE BRA L_main123 +0x571A 0x2E0C DECFSZ R12, 1, 0 +0x571C 0xD7FC BRA L_main123 +0x571E 0x2E0B DECFSZ R11, 1, 0 +0x5720 0xD7FA BRA L_main123 +0x5722 0x0000 NOP +;main.c,56 :: asm CLRWDT; +0x5724 0x0004 CLRWDT +;main.c,57 :: if(PORTB.B4==0 & PORTB.B5==0) { // Test mode +0x5726 0xB881 BTFSC PORTB, 4 +0x5728 0xD002 BRA L__main541 +0x572A 0x8004 BSF R4, 0 +0x572C 0xD001 BRA L__main542 +L__main541: +0x572E 0x9004 BCF R4, 0 +L__main542: +0x5730 0xBA81 BTFSC PORTB, 5 +0x5732 0xD002 BRA L__main543 +0x5734 0x80D8 BSF STATUS, 0 +0x5736 0xD001 BRA L__main544 +L__main543: +0x5738 0x90D8 BCF STATUS, 0 +L__main544: +0x573A 0xA004 BTFSS R4, 0 +0x573C 0xD003 BRA L__main545 +0x573E 0xE302 BNC L__main545 +0x5740 0x8004 BSF R4, 0 +0x5742 0xD001 BRA L__main546 +L__main545: +0x5744 0x9004 BCF R4, 0 +L__main546: +0x5746 0xA004 BTFSS R4, 0 +0x5748 0xD004 BRA L_main124 +;main.c,58 :: Test = 1; +0x574A 0x0102 MOVLB 2 +0x574C 0x0E01 MOVLW 1 +0x574E 0x6E53 MOVWF _Test +;main.c,59 :: Auto = 0; +0x5750 0x6B57 CLRF _Auto, 1 +;main.c,60 :: } +L_main124: +;main.c,62 :: Delay_ms(300); +0x5752 0x0E07 MOVLW 7 +0x5754 0x6E0B MOVWF R11, 0 +0x5756 0x0E17 MOVLW 23 +0x5758 0x6E0C MOVWF R12, 0 +0x575A 0x0E6A MOVLW 106 +0x575C 0x6E0D MOVWF R13, 0 +L_main125: +0x575E 0x2E0D DECFSZ R13, 1, 0 +0x5760 0xD7FE BRA L_main125 +0x5762 0x2E0C DECFSZ R12, 1, 0 +0x5764 0xD7FC BRA L_main125 +0x5766 0x2E0B DECFSZ R11, 1, 0 +0x5768 0xD7FA BRA L_main125 +0x576A 0x0000 NOP +;main.c,63 :: asm CLRWDT; +0x576C 0x0004 CLRWDT +;main.c,65 :: led_init(); +0x576E 0xDF18 RCALL _led_init +;main.c,66 :: if(PORTB.B4==0 & PORTB.B5==0 & PORTB.B0==0) { // Fast Test mode (loop) +0x5770 0xB881 BTFSC PORTB, 4 +0x5772 0xD002 BRA L__main547 +0x5774 0x8004 BSF R4, 0 +0x5776 0xD001 BRA L__main548 +L__main547: +0x5778 0x9004 BCF R4, 0 +L__main548: +0x577A 0xBA81 BTFSC PORTB, 5 +0x577C 0xD002 BRA L__main549 +0x577E 0x80D8 BSF STATUS, 0 +0x5780 0xD001 BRA L__main550 +L__main549: +0x5782 0x90D8 BCF STATUS, 0 +L__main550: +0x5784 0xA004 BTFSS R4, 0 +0x5786 0xD003 BRA L__main551 +0x5788 0xE302 BNC L__main551 +0x578A 0x8004 BSF R4, 0 +0x578C 0xD001 BRA L__main552 +L__main551: +0x578E 0x9004 BCF R4, 0 +L__main552: +0x5790 0xB081 BTFSC PORTB, 0 +0x5792 0xD002 BRA L__main553 +0x5794 0x80D8 BSF STATUS, 0 +0x5796 0xD001 BRA L__main554 +L__main553: +0x5798 0x90D8 BCF STATUS, 0 +L__main554: +0x579A 0xA004 BTFSS R4, 0 +0x579C 0xD003 BRA L__main555 +0x579E 0xE302 BNC L__main555 +0x57A0 0x8004 BSF R4, 0 +0x57A2 0xD001 BRA L__main556 +L__main555: +0x57A4 0x9004 BCF R4, 0 +L__main556: +0x57A6 0xA004 BTFSS R4, 0 +0x57A8 0xD04D BRA L_main126 +;main.c,67 :: if(type==4 | type==5) led_wr_str (0, 12, "FAST TEST", 9); // 128*64 +0x57AA 0x0102 MOVLB 2 +0x57AC 0x51C2 MOVF _type, 0, 1 +0x57AE 0x0A04 XORLW 4 +0x57B0 0x0E01 MOVLW 1 +0x57B2 0xA4D8 BTFSS STATUS, 2 +0x57B4 0x0E00 MOVLW 0 +0x57B6 0x6E01 MOVWF R1 +0x57B8 0x51C2 MOVF _type, 0, 1 +0x57BA 0x0A05 XORLW 5 +0x57BC 0x0E01 MOVLW 1 +0x57BE 0xA4D8 BTFSS STATUS, 2 +0x57C0 0x0E00 MOVLW 0 +0x57C2 0x6E00 MOVWF R0 +0x57C4 0x5001 MOVF R1, 0 +0x57C6 0x1200 IORWF R0, 1 +0x57C8 0xE00D BZ L_main127 +0x57CA 0x0103 MOVLB 3 +0x57CC 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x57CE 0x0E0C MOVLW 12 +0x57D0 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x57D2 0x0E94 MOVLW ?lstr1_main +0x57D4 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x57D6 0x0E00 MOVLW hi_addr(?lstr1_main) +0x57D8 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x57DA 0x0E09 MOVLW 9 +0x57DC 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x57DE 0xF007ECAF CALL _led_wr_str, 0 +0x57E2 0xD010 BRA L_main128 +L_main127: +;main.c,68 :: else if(type!=0) led_wr_str (0, 3, "FAST TEST", 9); // 1602 | 128*32 +0x57E4 0x0102 MOVLB 2 +0x57E6 0x51C2 MOVF _type, 0, 1 +0x57E8 0x0A00 XORLW 0 +0x57EA 0xE00C BZ L_main129 +0x57EC 0x0103 MOVLB 3 +0x57EE 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x57F0 0x0E03 MOVLW 3 +0x57F2 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x57F4 0x0E8A MOVLW ?lstr2_main +0x57F6 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x57F8 0x0E00 MOVLW hi_addr(?lstr2_main) +0x57FA 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x57FC 0x0E09 MOVLW 9 +0x57FE 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x5800 0xF007ECAF CALL _led_wr_str, 0 +L_main129: +L_main128: +;main.c,69 :: set_cap(255); +0x5804 0x0EFF MOVLW 255 +0x5806 0x0102 MOVLB 2 +0x5808 0x6FF3 MOVWF FARG_set_cap_Cap, 1 +0x580A 0xF011ECBE CALL _set_cap, 0 +;main.c,70 :: set_ind(255); +0x580E 0x0EFF MOVLW 255 +0x5810 0x0102 MOVLB 2 +0x5812 0x6FF3 MOVWF FARG_set_ind_Ind, 1 +0x5814 0xF010EC5F CALL _set_ind, 0 +;main.c,71 :: set_sw(1); +0x5818 0x0E01 MOVLW 1 +0x581A 0x0102 MOVLB 2 +0x581C 0x6FEB MOVWF FARG_set_sw_SW, 1 +0x581E 0xF016ECEE CALL _set_sw, 0 +;main.c,72 :: asm CLRWDT; +0x5822 0x0004 CLRWDT +;main.c,73 :: while(1) {Delay_ms(500);asm CLRWDT;} +L_main130: +0x5824 0x0E0B MOVLW 11 +0x5826 0x6E0B MOVWF R11, 0 +0x5828 0x0E26 MOVLW 38 +0x582A 0x6E0C MOVWF R12, 0 +0x582C 0x0E5D MOVLW 93 +0x582E 0x6E0D MOVWF R13, 0 +L_main132: +0x5830 0x2E0D DECFSZ R13, 1, 0 +0x5832 0xD7FE BRA L_main132 +0x5834 0x2E0C DECFSZ R12, 1, 0 +0x5836 0xD7FC BRA L_main132 +0x5838 0x2E0B DECFSZ R11, 1, 0 +0x583A 0xD7FA BRA L_main132 +0x583C 0x0000 NOP +0x583E 0x0000 NOP +0x5840 0x0004 CLRWDT +0x5842 0xD7F0 BRA L_main130 +;main.c,74 :: } +L_main126: +0x5844 0x0103 MOVLB 3 +;main.c,75 :: asm CLRWDT; +0x5846 0x0004 CLRWDT +;main.c,77 :: if(Button(&PORTB, 0, 100, 0)) { // Fider loss input +0x5848 0x0E81 MOVLW PORTB +0x584A 0x6F11 MOVWF FARG_Button_port, 1 +0x584C 0x0E0F MOVLW hi_addr(PORTB) +0x584E 0x6F12 MOVWF FARG_Button_port+1, 1 +0x5850 0x6B13 CLRF FARG_Button_pin, 1 +0x5852 0x0E64 MOVLW 100 +0x5854 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x5856 0x6B15 CLRF FARG_Button_active_state, 1 +0x5858 0xF00BEC22 CALL _Button, 0 +0x585C 0x5200 MOVF R0, 1 +0x585E 0xB4D8 BTFSC STATUS, 2 +0x5860 0xD0A5 BRA L_main133 +;main.c,78 :: if(type==4 | type==5) { led_wr_str (0, 6, "Fider Loss", 10); // 128*64 +0x5862 0x0102 MOVLB 2 +0x5864 0x51C2 MOVF _type, 0, 1 +0x5866 0x0A04 XORLW 4 +0x5868 0x0E01 MOVLW 1 +0x586A 0xA4D8 BTFSS STATUS, 2 +0x586C 0x0E00 MOVLW 0 +0x586E 0x6E01 MOVWF R1 +0x5870 0x51C2 MOVF _type, 0, 1 +0x5872 0x0A05 XORLW 5 +0x5874 0x0E01 MOVLW 1 +0x5876 0xA4D8 BTFSS STATUS, 2 +0x5878 0x0E00 MOVLW 0 +0x587A 0x6E00 MOVWF R0 +0x587C 0x5001 MOVF R1, 0 +0x587E 0x1200 IORWF R0, 1 +0x5880 0xE01A BZ L_main134 +0x5882 0x0103 MOVLB 3 +0x5884 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x5886 0x0E06 MOVLW 6 +0x5888 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x588A 0x0E7F MOVLW ?lstr3_main +0x588C 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x588E 0x0E00 MOVLW hi_addr(?lstr3_main) +0x5890 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x5892 0x0E0A MOVLW 10 +0x5894 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x5896 0xF007ECAF CALL _led_wr_str, 0 +;main.c,79 :: led_wr_str (1, 6, "input", 5); } +0x589A 0x0E01 MOVLW 1 +0x589C 0x0103 MOVLB 3 +0x589E 0x6F17 MOVWF FARG_led_wr_str_col, 1 +0x58A0 0x0E06 MOVLW 6 +0x58A2 0x6F18 MOVWF FARG_led_wr_str_pos, 1 +0x58A4 0x0E78 MOVLW ?lstr4_main +0x58A6 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x58A8 0x0E00 MOVLW hi_addr(?lstr4_main) +0x58AA 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x58AC 0x0E05 MOVLW 5 +0x58AE 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x58B0 0xF007ECAF CALL _led_wr_str, 0 +0x58B4 0xD00F BRA L_main135 +L_main134: +;main.c,80 :: else if(type!=0) led_wr_str (0, 0, "Fider Loss input", 16); // 1602 | 128*32 +0x58B6 0x0102 MOVLB 2 +0x58B8 0x51C2 MOVF _type, 0, 1 +0x58BA 0x0A00 XORLW 0 +0x58BC 0xE00B BZ L_main136 +0x58BE 0x0103 MOVLB 3 +0x58C0 0x6B17 CLRF FARG_led_wr_str_col, 1 +0x58C2 0x6B18 CLRF FARG_led_wr_str_pos, 1 +0x58C4 0x0E60 MOVLW ?lstr5_main +0x58C6 0x6F19 MOVWF FARG_led_wr_str_str, 1 +0x58C8 0x0E00 MOVLW hi_addr(?lstr5_main) +0x58CA 0x6F1A MOVWF FARG_led_wr_str_str+1, 1 +0x58CC 0x0E10 MOVLW 16 +0x58CE 0x6F1B MOVWF FARG_led_wr_str_leng, 1 +0x58D0 0xF007ECAF CALL _led_wr_str, 0 +L_main136: +L_main135: +;main.c,81 :: Fid_loss = Bcd2Dec(EEPROM_Read(0x32)); +0x58D4 0x0E32 MOVLW 50 +0x58D6 0x0102 MOVLB 2 +0x58D8 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x58DA 0xF021EC5F CALL _EEPROM_Read, 0 +0x58DE 0xF2D6C000 MOVFF R0, FARG_Bcd2Dec_bcdnum +0x58E2 0xF021EC36 CALL _Bcd2Dec, 0 +0x58E6 0xF294C000 MOVFF R0, _Fid_loss +;main.c,82 :: show_loss(); +0x58EA 0xF027ECF2 CALL _show_loss, 0 +;main.c,84 :: while(1) { +L_main137: +;main.c,85 :: if(Button(&PORTB, 5, 50, 0)){ // BYP button +0x58EE 0x0E81 MOVLW PORTB +0x58F0 0x0103 MOVLB 3 +0x58F2 0x6F11 MOVWF FARG_Button_port, 1 +0x58F4 0x0E0F MOVLW hi_addr(PORTB) +0x58F6 0x6F12 MOVWF FARG_Button_port+1, 1 +0x58F8 0x0E05 MOVLW 5 +0x58FA 0x6F13 MOVWF FARG_Button_pin, 1 +0x58FC 0x0E32 MOVLW 50 +0x58FE 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x5900 0x6B15 CLRF FARG_Button_active_state, 1 +0x5902 0xF00BEC22 CALL _Button, 0 +0x5906 0x5200 MOVF R0, 1 +0x5908 0xE021 BZ L_main139 +;main.c,86 :: if(Fid_loss<99) { +0x590A 0x0E63 MOVLW 99 +0x590C 0x0102 MOVLB 2 +0x590E 0x5D94 SUBWF _Fid_loss, 0, 1 +0x5910 0xE20D BC L_main140 +;main.c,87 :: Fid_loss ++; +0x5912 0x2B94 INCF _Fid_loss, 1, 1 +;main.c,88 :: show_loss(); +0x5914 0xF027ECF2 CALL _show_loss, 0 +;main.c,89 :: EEPROM_Write(0x32, Dec2Bcd(Fid_loss)); +0x5918 0xF2D4C294 MOVFF _Fid_loss, FARG_Dec2Bcd_decnum +0x591C 0xF028EC39 CALL _Dec2Bcd, 0 +0x5920 0xF2ECC000 MOVFF R0, FARG_EEPROM_Write_data_ +0x5924 0x0E32 MOVLW 50 +0x5926 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x5928 0xF016ECCF CALL _EEPROM_Write, 0 +;main.c,90 :: } +L_main140: +;main.c,91 :: while(Button(&PORTB, 5, 50, 0)) asm CLRWDT; +L_main141: +0x592C 0x0E81 MOVLW PORTB +0x592E 0x0103 MOVLB 3 +0x5930 0x6F11 MOVWF FARG_Button_port, 1 +0x5932 0x0E0F MOVLW hi_addr(PORTB) +0x5934 0x6F12 MOVWF FARG_Button_port+1, 1 +0x5936 0x0E05 MOVLW 5 +0x5938 0x6F13 MOVWF FARG_Button_pin, 1 +0x593A 0x0E32 MOVLW 50 +0x593C 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x593E 0x6B15 CLRF FARG_Button_active_state, 1 +0x5940 0xF00BEC22 CALL _Button, 0 +0x5944 0x5200 MOVF R0, 1 +0x5946 0xE002 BZ L_main142 +0x5948 0x0004 CLRWDT +0x594A 0xD7F0 BRA L_main141 +L_main142: +;main.c,92 :: } +L_main139: +;main.c,94 :: if(Button(&PORTB, 4, 50, 0)){ // AUTO button +0x594C 0x0E81 MOVLW PORTB +0x594E 0x6F11 MOVWF FARG_Button_port, 1 +0x5950 0x0E0F MOVLW hi_addr(PORTB) +0x5952 0x6F12 MOVWF FARG_Button_port+1, 1 +0x5954 0x0E04 MOVLW 4 +0x5956 0x6F13 MOVWF FARG_Button_pin, 1 +0x5958 0x0E32 MOVLW 50 +0x595A 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x595C 0x6B15 CLRF FARG_Button_active_state, 1 +0x595E 0xF00BEC22 CALL _Button, 0 +0x5962 0x5200 MOVF R0, 1 +0x5964 0xE021 BZ L_main143 +;main.c,95 :: if(Fid_loss>0) { +0x5966 0x0102 MOVLB 2 +0x5968 0x5194 MOVF _Fid_loss, 0, 1 +0x596A 0x0800 SUBLW 0 +0x596C 0xE20D BC L_main144 +;main.c,96 :: Fid_loss --; +0x596E 0x0794 DECF _Fid_loss, 1, 1 +;main.c,97 :: show_loss(); +0x5970 0xF027ECF2 CALL _show_loss, 0 +;main.c,98 :: EEPROM_Write(0x32, Dec2Bcd(Fid_loss)); +0x5974 0xF2D4C294 MOVFF _Fid_loss, FARG_Dec2Bcd_decnum +0x5978 0xF028EC39 CALL _Dec2Bcd, 0 +0x597C 0xF2ECC000 MOVFF R0, FARG_EEPROM_Write_data_ +0x5980 0x0E32 MOVLW 50 +0x5982 0x6FEB MOVWF FARG_EEPROM_Write_address, 1 +0x5984 0xF016ECCF CALL _EEPROM_Write, 0 +;main.c,99 :: } +L_main144: +;main.c,100 :: while(Button(&PORTB, 4, 50, 0)) asm CLRWDT; +L_main145: +0x5988 0x0E81 MOVLW PORTB +0x598A 0x0103 MOVLB 3 +0x598C 0x6F11 MOVWF FARG_Button_port, 1 +0x598E 0x0E0F MOVLW hi_addr(PORTB) +0x5990 0x6F12 MOVWF FARG_Button_port+1, 1 +0x5992 0x0E04 MOVLW 4 +0x5994 0x6F13 MOVWF FARG_Button_pin, 1 +0x5996 0x0E32 MOVLW 50 +0x5998 0x6F14 MOVWF FARG_Button_time_ms, 1 +0x599A 0x6B15 CLRF FARG_Button_active_state, 1 +0x599C 0xF00BEC22 CALL _Button, 0 +0x59A0 0x5200 MOVF R0, 1 +0x59A2 0xE002 BZ L_main146 +0x59A4 0x0004 CLRWDT +0x59A6 0xD7F0 BRA L_main145 +L_main146: +;main.c,101 :: } +L_main143: +;main.c,102 :: asm CLRWDT; +0x59A8 0x0004 CLRWDT +;main.c,103 :: } // while +0x59AA 0xD7A1 BRA L_main137 +;main.c,104 :: } // Fider loss input +L_main133: +;main.c,106 :: if(Test==0) { +0x59AC 0x5053 MOVF _Test, 0 +0x59AE 0x0A00 XORLW 0 +0x59B0 0xE136 BNZ L_main147 +;main.c,107 :: cap = EEPROM_Read(255); +0x59B2 0x0EFF MOVLW 255 +0x59B4 0x0102 MOVLB 2 +0x59B6 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x59B8 0xF021EC5F CALL _EEPROM_Read, 0 +0x59BC 0xF1FFC000 MOVFF R0, main_cap +;main.c,108 :: ind = EEPROM_Read(254); +0x59C0 0x0EFE MOVLW 254 +0x59C2 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x59C4 0xF021EC5F CALL _EEPROM_Read, 0 +0x59C8 0xF1FEC000 MOVFF R0, main_ind +;main.c,109 :: SW = EEPROM_Read(253); +0x59CC 0x0EFD MOVLW 253 +0x59CE 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x59D0 0xF021EC5F CALL _EEPROM_Read, 0 +0x59D4 0xF205C000 MOVFF R0, main_SW +;main.c,110 :: swr_a = EEPROM_Read(252) * 256; +0x59D8 0x0EFC MOVLW 252 +0x59DA 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x59DC 0xF021EC5F CALL _EEPROM_Read, 0 +0x59E0 0xF291C000 MOVFF R0, _swr_a+1 +0x59E4 0x6B90 CLRF _swr_a, 1 +;main.c,111 :: swr_a += EEPROM_Read(251); +0x59E6 0x0EFB MOVLW 251 +0x59E8 0x6FD6 MOVWF FARG_EEPROM_Read_address, 1 +0x59EA 0xF021EC5F CALL _EEPROM_Read, 0 +0x59EE 0x5000 MOVF R0, 0 +0x59F0 0x2790 ADDWF _swr_a, 1, 1 +0x59F2 0x0E00 MOVLW 0 +0x59F4 0x2391 ADDWFC _swr_a+1, 1, 1 +;main.c,112 :: set_ind(ind); +0x59F6 0xF2F3C1FE MOVFF main_ind, FARG_set_ind_Ind +0x59FA 0xF010EC5F CALL _set_ind, 0 +;main.c,113 :: set_cap(cap); +0x59FE 0xF2F3C1FF MOVFF main_cap, FARG_set_cap_Cap +0x5A02 0xF011ECBE CALL _set_cap, 0 +;main.c,114 :: set_sw(SW); +0x5A06 0xF2EBC205 MOVFF main_SW, FARG_set_sw_SW +0x5A0A 0xF016ECEE CALL _set_sw, 0 +;main.c,115 :: if(Restart==1 ) lcd_prep_short = 1; +0x5A0E 0x507E MOVF _Restart, 0 +0x5A10 0x0A01 XORLW 1 +0x5A12 0xE102 BNZ L_main148 +0x5A14 0x0E01 MOVLW 1 +0x5A16 0x6E5F MOVWF _lcd_prep_short +L_main148: +;main.c,116 :: lcd_prep(); +0x5A18 0xF022EC5D CALL _lcd_prep, 0 +;main.c,117 :: } +0x5A1C 0xD002 BRA L_main149 +L_main147: +;main.c,118 :: else Test_init(); +0x5A1E 0xF026ECE7 CALL _Test_init, 0 +L_main149: +;main.c,120 :: lcd_ind(); +0x5A22 0xF008EC3C CALL _lcd_ind, 0 +;main.c,124 :: while(1) { +L_main150: +;main.c,125 :: asm CLRWDT; +0x5A26 0x0004 CLRWDT +;main.c,126 :: lcd_pwr(); +0x5A28 0xF017EC0D CALL _lcd_pwr, 0 +;main.c,128 :: if(Test==0) button_proc(); +0x5A2C 0x5053 MOVF _Test, 0 +0x5A2E 0x0A00 XORLW 0 +0x5A30 0xE103 BNZ L_main152 +0x5A32 0xF028EC60 CALL _button_proc, 0 +0x5A36 0xD002 BRA L_main153 +L_main152: +;main.c,129 :: else button_proc_test(); +0x5A38 0xF025EC76 CALL _button_proc_test, 0 +L_main153: +;main.c,131 :: if(dysp_cnt!=0) dysp_cnt --; +0x5A3C 0x0E00 MOVLW 0 +0x5A3E 0x0102 MOVLB 2 +0x5A40 0x191D XORWF _dysp_cnt+1, 0, 1 +0x5A42 0xE102 BNZ L__main557 +0x5A44 0x0E00 MOVLW 0 +0x5A46 0x191C XORWF _dysp_cnt, 0, 1 +L__main557: +0x5A48 0xE005 BZ L_main154 +0x5A4A 0x0E01 MOVLW 1 +0x5A4C 0x5F1C SUBWF _dysp_cnt, 1, 1 +0x5A4E 0x0E00 MOVLW 0 +0x5A50 0x5B1D SUBWFB _dysp_cnt+1, 1, 1 +0x5A52 0xD011 BRA L_main155 +L_main154: +;main.c,132 :: else if(Test==0 & Dysp_delay!=0) dysp_off(); +0x5A54 0x5053 MOVF _Test, 0 +0x5A56 0x0A00 XORLW 0 +0x5A58 0x0E01 MOVLW 1 +0x5A5A 0xA4D8 BTFSS STATUS, 2 +0x5A5C 0x0E00 MOVLW 0 +0x5A5E 0x6E01 MOVWF R1 +0x5A60 0x511B MOVF _Dysp_delay, 0, 1 +0x5A62 0x0A00 XORLW 0 +0x5A64 0x0E00 MOVLW 0 +0x5A66 0xA4D8 BTFSS STATUS, 2 +0x5A68 0x0E01 MOVLW 1 +0x5A6A 0x6E00 MOVWF R0 +0x5A6C 0x5001 MOVF R1, 0 +0x5A6E 0x1600 ANDWF R0, 1 +0x5A70 0xE002 BZ L_main156 +0x5A72 0xF025EC5F CALL _dysp_off, 0 +L_main156: +L_main155: +;main.c,136 :: } +0x5A76 0xD7D7 BRA L_main150 +;main.c,137 :: } +L_end_main: +0x5A78 0xD7FF BRA $+0 +; end of _main +0x5ED6 0xF015EE10 LFSR 1, 21 +0x5EDA 0x0EEB MOVLW 235 +0x5EDC 0x6E00 MOVWF R0 +0x5EDE 0x0E02 MOVLW 2 +0x5EE0 0x6E01 MOVWF R1 +0x5EE2 0x0E7A MOVLW 122 +0x5EE4 0x6EF6 MOVWF TBLPTR +0x5EE6 0x0E5A MOVLW 90 +0x5EE8 0x6EF7 MOVWF TBLPTRH +0x5EEA 0x0E00 MOVLW 0 +0x5EEC 0x6EF8 MOVWF TBLPTRU +0x5EEE 0xF026ECC7 CALL 19854, 0 +0x5EF2 0xF001EE12 LFSR 1, 513 +0x5EF6 0x0E02 MOVLW 2 +0x5EF8 0x6E00 MOVWF R0 +0x5EFA 0x0E01 MOVLW 1 +0x5EFC 0x6E01 MOVWF R1 +0x5EFE 0x0ED2 MOVLW 210 +0x5F00 0x6EF6 MOVWF TBLPTR +0x5F02 0x0E5E MOVLW 94 +0x5F04 0x6EF7 MOVWF TBLPTRH +0x5F06 0x0E00 MOVLW 0 +0x5F08 0x6EF8 MOVWF TBLPTRU +0x5F0A 0xF026ECC7 CALL 19854, 0 +0x5F0E 0xF000EE12 LFSR 1, 512 +0x5F12 0x0E01 MOVLW 1 +0x5F14 0x6E00 MOVWF R0 +0x5F16 0x0E01 MOVLW 1 +0x5F18 0x6E01 MOVWF R1 +0x5F1A 0x0ED4 MOVLW 212 +0x5F1C 0x6EF6 MOVWF TBLPTR +0x5F1E 0x0E5E MOVLW 94 +0x5F20 0x6EF7 MOVWF TBLPTRH +0x5F22 0x0E00 MOVLW 0 +0x5F24 0x6EF8 MOVWF TBLPTRU +0x5F26 0xF026ECC7 CALL 19854, 0 +0x5F2A 0xF003EE12 LFSR 1, 515 +0x5F2E 0x0E8D MOVLW 141 +0x5F30 0x6E00 MOVWF R0 +0x5F32 0x0E01 MOVLW 1 +0x5F34 0x6E01 MOVWF R1 +0x5F36 0x0E45 MOVLW 69 +0x5F38 0x6EF6 MOVWF TBLPTR +0x5F3A 0x0E5E MOVLW 94 +0x5F3C 0x6EF7 MOVWF TBLPTRH +0x5F3E 0x0E00 MOVLW 0 +0x5F40 0x6EF8 MOVWF TBLPTRU +0x5F42 0xF026ECC7 CALL 19854, 0 +0x5F46 0x0012 RETURN 0 +;main.c,0 :: ?ICS?lstr52_main +0x5A7A 0x4E41 ;?ICS?lstr52_main+0 +0x5A7C 0x3D54 ;?ICS?lstr52_main+2 +0x5A7E 0x2E30 ;?ICS?lstr52_main+4 +0x5A80 0x5730 ;?ICS?lstr52_main+6 +0x5A82 0x00 ;?ICS?lstr52_main+8 +; end of ?ICS?lstr52_main +;main.c,0 :: ?ICS?lstr51_main +0x5A83 0x4645 ;?ICS?lstr51_main+0 +0x5A85 0x3D46 ;?ICS?lstr51_main+2 +0x5A87 0x2020 ;?ICS?lstr51_main+4 +0x5A89 0x2530 ;?ICS?lstr51_main+6 +0x5A8B 0x00 ;?ICS?lstr51_main+8 +; end of ?ICS?lstr51_main +;main.c,0 :: ?ICS?lstr50_main +0x5A8C 0x4E41 ;?ICS?lstr50_main+0 +0x5A8E 0x3D54 ;?ICS?lstr50_main+2 +0x5A90 0x2E30 ;?ICS?lstr50_main+4 +0x5A92 0x5730 ;?ICS?lstr50_main+6 +0x5A94 0x00 ;?ICS?lstr50_main+8 +; end of ?ICS?lstr50_main +;main.c,0 :: ?ICS?lstr55_main +0x5A95 0x4645 ;?ICS?lstr55_main+0 +0x5A97 0x3D46 ;?ICS?lstr55_main+2 +0x5A99 0x3020 ;?ICS?lstr55_main+4 +0x5A9B 0x0025 ;?ICS?lstr55_main+6 +; end of ?ICS?lstr55_main +;main.c,0 :: ?ICS?lstr54_main +0x5A9D 0x4E41 ;?ICS?lstr54_main+0 +0x5A9F 0x303D ;?ICS?lstr54_main+2 +0x5AA1 0x302E ;?ICS?lstr54_main+4 +0x5AA3 0x0057 ;?ICS?lstr54_main+6 +; end of ?ICS?lstr54_main +;main.c,0 :: ?ICS?lstr53_main +0x5AA5 0x4645 ;?ICS?lstr53_main+0 +0x5AA7 0x3D46 ;?ICS?lstr53_main+2 +0x5AA9 0x2020 ;?ICS?lstr53_main+4 +0x5AAB 0x2530 ;?ICS?lstr53_main+6 +0x5AAD 0x00 ;?ICS?lstr53_main+8 +; end of ?ICS?lstr53_main +;main.c,0 :: ?ICSmain_Loss_ind +0x5AAE 0x00 ;?ICSmain_Loss_ind+0 +; end of ?ICSmain_Loss_ind +;main.c,0 :: ?ICS?lstr81_main +0x5AAF 0x4670 ;?ICS?lstr81_main+0 +0x5AB1 0x00 ;?ICS?lstr81_main+2 +; end of ?ICS?lstr81_main +;main.c,0 :: ?ICS?lstr80_main +0x5AB2 0x3D43 ;?ICS?lstr80_main+0 +0x5AB4 0x00 ;?ICS?lstr80_main+2 +; end of ?ICS?lstr80_main +;main.c,0 :: ?ICS?lstr79_main +0x5AB5 0x4670 ;?ICS?lstr79_main+0 +0x5AB7 0x00 ;?ICS?lstr79_main+2 +; end of ?ICS?lstr79_main +;main.c,0 :: ?ICS_Test +0x5AB8 0x00 ;?ICS_Test+0 +; end of ?ICS_Test +;main.c,0 :: ?ICS?lstr83_main +0x5AB9 0x4670 ;?ICS?lstr83_main+0 +0x5ABB 0x00 ;?ICS?lstr83_main+2 +; end of ?ICS?lstr83_main +;main.c,0 :: ?ICS?lstr82_main +0x5ABC 0x3D43 ;?ICS?lstr82_main+0 +0x5ABE 0x00 ;?ICS?lstr82_main+2 +; end of ?ICS?lstr82_main +;main.c,0 :: ?ICS?lstr26_main +0x5ABF 0x5554 ;?ICS?lstr26_main+0 +0x5AC1 0x454E ;?ICS?lstr26_main+2 +0x5AC3 0x00 ;?ICS?lstr26_main+4 +; end of ?ICS?lstr26_main +;main.c,0 :: ?ICS_lcd_prep_short +0x5AC4 0x00 ;?ICS_lcd_prep_short+0 +; end of ?ICS_lcd_prep_short +;main.c,0 :: ?ICS?lstr5_main +0x5AC5 0x6946 ;?ICS?lstr5_main+0 +0x5AC7 0x6564 ;?ICS?lstr5_main+2 +0x5AC9 0x2072 ;?ICS?lstr5_main+4 +0x5ACB 0x6F4C ;?ICS?lstr5_main+6 +0x5ACD 0x7373 ;?ICS?lstr5_main+8 +0x5ACF 0x6920 ;?ICS?lstr5_main+10 +0x5AD1 0x706E ;?ICS?lstr5_main+12 +0x5AD3 0x7475 ;?ICS?lstr5_main+14 +0x5AD5 0x00 ;?ICS?lstr5_main+16 +; end of ?ICS?lstr5_main +;main.c,0 :: ?ICS_ind_mem +0x5AD6 0x00 ;?ICS_ind_mem+0 +; end of ?ICS_ind_mem +;main.c,0 :: ?ICS_cap_mem +0x5AD7 0x00 ;?ICS_cap_mem+0 +; end of ?ICS_cap_mem +;main.c,0 :: ?ICS?lstr27_main +0x5AD8 0x5554 ;?ICS?lstr27_main+0 +0x5ADA 0x454E ;?ICS?lstr27_main+2 +0x5ADC 0x00 ;?ICS?lstr27_main+4 +; end of ?ICS?lstr27_main +;main.c,0 :: ?ICS?lstr4_main +0x5ADD 0x6E69 ;?ICS?lstr4_main+0 +0x5ADF 0x7570 ;?ICS?lstr4_main+2 +0x5AE1 0x0074 ;?ICS?lstr4_main+4 +; end of ?ICS?lstr4_main +;main.c,0 :: ?ICS_Restart +0x5AE3 0x00 ;?ICS_Restart+0 +; end of ?ICS_Restart +;main.c,0 :: ?ICS?lstr3_main +0x5AE4 0x6946 ;?ICS?lstr3_main+0 +0x5AE6 0x6564 ;?ICS?lstr3_main+2 +0x5AE8 0x2072 ;?ICS?lstr3_main+4 +0x5AEA 0x6F4C ;?ICS?lstr3_main+6 +0x5AEC 0x7373 ;?ICS?lstr3_main+8 +0x5AEE 0x00 ;?ICS?lstr3_main+10 +; end of ?ICS?lstr3_main +;main.c,0 :: ?ICS?lstr2_main +0x5AEF 0x4146 ;?ICS?lstr2_main+0 +0x5AF1 0x5453 ;?ICS?lstr2_main+2 +0x5AF3 0x5420 ;?ICS?lstr2_main+4 +0x5AF5 0x5345 ;?ICS?lstr2_main+6 +0x5AF7 0x0054 ;?ICS?lstr2_main+8 +; end of ?ICS?lstr2_main +;main.c,0 :: ?ICS?lstr1_main +0x5AF9 0x4146 ;?ICS?lstr1_main+0 +0x5AFB 0x5453 ;?ICS?lstr1_main+2 +0x5AFD 0x5420 ;?ICS?lstr1_main+4 +0x5AFF 0x5345 ;?ICS?lstr1_main+6 +0x5B01 0x0054 ;?ICS?lstr1_main+8 +; end of ?ICS?lstr1_main +;main.c,0 :: ?ICSmain_K_mult +0x5B03 0x0A ;?ICSmain_K_mult+0 +; end of ?ICSmain_K_mult +;main.c,0 :: ?ICS?lstr71_main +0x5B04 0x5753 ;?ICS?lstr71_main+0 +0x5B06 0x3D52 ;?ICS?lstr71_main+2 +0x5B08 0x2020 ;?ICS?lstr71_main+4 +0x5B0A 0x2020 ;?ICS?lstr71_main+6 +0x5B0C 0x00 ;?ICS?lstr71_main+8 +; end of ?ICS?lstr71_main +;main.c,0 :: ?ICS?lstr70_main +0x5B0D 0x2020 ;?ICS?lstr70_main+0 +0x5B0F 0x2020 ;?ICS?lstr70_main+2 +0x5B11 0x2020 ;?ICS?lstr70_main+4 +0x5B13 0x2020 ;?ICS?lstr70_main+6 +0x5B15 0x00 ;?ICS?lstr70_main+8 +; end of ?ICS?lstr70_main +;main.c,0 :: ?ICS?lstr66_main +0x5B16 0x2020 ;?ICS?lstr66_main+0 +0x5B18 0x2020 ;?ICS?lstr66_main+2 +0x5B1A 0x2020 ;?ICS?lstr66_main+4 +0x5B1C 0x2020 ;?ICS?lstr66_main+6 +0x5B1E 0x00 ;?ICS?lstr66_main+8 +; end of ?ICS?lstr66_main +;main.c,0 :: ?ICS?lstr65_main +0x5B1F 0x564F ;?ICS?lstr65_main+0 +0x5B21 0x5245 ;?ICS?lstr65_main+2 +0x5B23 0x4F4C ;?ICS?lstr65_main+4 +0x5B25 0x4441 ;?ICS?lstr65_main+6 +0x5B27 0x00 ;?ICS?lstr65_main+8 +; end of ?ICS?lstr65_main +;main.c,0 :: ?ICS?lstr64_main +0x5B28 0x2020 ;?ICS?lstr64_main+0 +0x5B2A 0x2020 ;?ICS?lstr64_main+2 +0x5B2C 0x2020 ;?ICS?lstr64_main+4 +0x5B2E 0x2020 ;?ICS?lstr64_main+6 +0x5B30 0x00 ;?ICS?lstr64_main+8 +; end of ?ICS?lstr64_main +;main.c,0 :: ?ICS?lstr69_main +0x5B31 0x564F ;?ICS?lstr69_main+0 +0x5B33 0x5245 ;?ICS?lstr69_main+2 +0x5B35 0x4F4C ;?ICS?lstr69_main+4 +0x5B37 0x4441 ;?ICS?lstr69_main+6 +0x5B39 0x00 ;?ICS?lstr69_main+8 +; end of ?ICS?lstr69_main +;main.c,0 :: ?ICS?lstr68_main +0x5B3A 0x2020 ;?ICS?lstr68_main+0 +0x5B3C 0x2020 ;?ICS?lstr68_main+2 +0x5B3E 0x2020 ;?ICS?lstr68_main+4 +0x5B40 0x2020 ;?ICS?lstr68_main+6 +0x5B42 0x00 ;?ICS?lstr68_main+8 +; end of ?ICS?lstr68_main +;main.c,0 :: ?ICS?lstr67_main +0x5B43 0x564F ;?ICS?lstr67_main+0 +0x5B45 0x5245 ;?ICS?lstr67_main+2 +0x5B47 0x4F4C ;?ICS?lstr67_main+4 +0x5B49 0x4441 ;?ICS?lstr67_main+6 +0x5B4B 0x00 ;?ICS?lstr67_main+8 +; end of ?ICS?lstr67_main +;main.c,0 :: ?ICS?lstr78_main +0x5B4C 0x3D43 ;?ICS?lstr78_main+0 +0x5B4E 0x00 ;?ICS?lstr78_main+2 +; end of ?ICS?lstr78_main +;main.c,0 :: ?ICS?lstr77_main +0x5B4F 0x4875 ;?ICS?lstr77_main+0 +0x5B51 0x00 ;?ICS?lstr77_main+2 +; end of ?ICS?lstr77_main +;main.c,0 :: ?ICS?lstr73_main +0x5B52 0x4875 ;?ICS?lstr73_main+0 +0x5B54 0x00 ;?ICS?lstr73_main+2 +; end of ?ICS?lstr73_main +;main.c,0 :: ?ICS?lstr72_main +0x5B55 0x3D4C ;?ICS?lstr72_main+0 +0x5B57 0x00 ;?ICS?lstr72_main+2 +; end of ?ICS?lstr72_main +;main.c,0 :: ?ICS?lstr76_main +0x5B58 0x3D4C ;?ICS?lstr76_main+0 +0x5B5A 0x00 ;?ICS?lstr76_main+2 +; end of ?ICS?lstr76_main +;main.c,0 :: ?ICS?lstr75_main +0x5B5B 0x4875 ;?ICS?lstr75_main+0 +0x5B5D 0x00 ;?ICS?lstr75_main+2 +; end of ?ICS?lstr75_main +;main.c,0 :: ?ICS?lstr74_main +0x5B5E 0x3D4C ;?ICS?lstr74_main+0 +0x5B60 0x00 ;?ICS?lstr74_main+2 +; end of ?ICS?lstr74_main +;main.c,0 :: ?ICS?lstr44_main +0x5B61 0x2020 ;?ICS?lstr44_main+0 +0x5B63 0x2020 ;?ICS?lstr44_main+2 +0x5B65 0x2020 ;?ICS?lstr44_main+4 +0x5B67 0x2020 ;?ICS?lstr44_main+6 +0x5B69 0x2020 ;?ICS?lstr44_main+8 +0x5B6B 0x00 ;?ICS?lstr44_main+10 +; end of ?ICS?lstr44_main +;main.c,0 :: ?ICS?lstr43_main +0x5B6C 0x2020 ;?ICS?lstr43_main+0 +0x5B6E 0x2020 ;?ICS?lstr43_main+2 +0x5B70 0x2020 ;?ICS?lstr43_main+4 +0x5B72 0x2020 ;?ICS?lstr43_main+6 +0x5B74 0x00 ;?ICS?lstr43_main+8 +; end of ?ICS?lstr43_main +;main.c,0 :: ?ICS?lstr42_main +0x5B75 0x5746 ;?ICS?lstr42_main+0 +0x5B77 0x7620 ;?ICS?lstr42_main+2 +0x5B79 0x7265 ;?ICS?lstr42_main+4 +0x5B7B 0x3320 ;?ICS?lstr42_main+6 +0x5B7D 0x312E ;?ICS?lstr42_main+8 +0x5B7F 0x00 ;?ICS?lstr42_main+10 +; end of ?ICS?lstr42_main +;main.c,0 :: ?ICS?lstr47_main +0x5B80 0x002E ;?ICS?lstr47_main+0 +; end of ?ICS?lstr47_main +;main.c,0 :: ?ICS?lstr46_main +0x5B82 0x5753 ;?ICS?lstr46_main+0 +0x5B84 0x3D52 ;?ICS?lstr46_main+2 +0x5B86 0x2E30 ;?ICS?lstr46_main+4 +0x5B88 0x3030 ;?ICS?lstr46_main+6 +0x5B8A 0x00 ;?ICS?lstr46_main+8 +; end of ?ICS?lstr46_main +;main.c,0 :: ?ICS?lstr45_main +0x5B8B 0x5750 ;?ICS?lstr45_main+0 +0x5B8D 0x3D52 ;?ICS?lstr45_main+2 +0x5B8F 0x2E30 ;?ICS?lstr45_main+4 +0x5B91 0x5730 ;?ICS?lstr45_main+6 +0x5B93 0x00 ;?ICS?lstr45_main+8 +; end of ?ICS?lstr45_main +;main.c,0 :: ?ICS?lstr41_main +0x5B94 0x7962 ;?ICS?lstr41_main+0 +0x5B96 0x4E20 ;?ICS?lstr41_main+2 +0x5B98 0x4437 ;?ICS?lstr41_main+4 +0x5B9A 0x4344 ;?ICS?lstr41_main+6 +0x5B9C 0x00 ;?ICS?lstr41_main+8 +; end of ?ICS?lstr41_main +;main.c,0 :: ?ICS?lstr37_main +0x5B9D 0x5753 ;?ICS?lstr37_main+0 +0x5B9F 0x3D52 ;?ICS?lstr37_main+2 +0x5BA1 0x2E30 ;?ICS?lstr37_main+4 +0x5BA3 0x3030 ;?ICS?lstr37_main+6 +0x5BA5 0x00 ;?ICS?lstr37_main+8 +; end of ?ICS?lstr37_main +;main.c,0 :: ?ICS?lstr36_main +0x5BA6 0x5750 ;?ICS?lstr36_main+0 +0x5BA8 0x3D52 ;?ICS?lstr36_main+2 +0x5BAA 0x2E30 ;?ICS?lstr36_main+4 +0x5BAC 0x5730 ;?ICS?lstr36_main+6 +0x5BAE 0x00 ;?ICS?lstr36_main+8 +; end of ?ICS?lstr36_main +;main.c,0 :: ?ICS?lstr35_main +0x5BAF 0x2020 ;?ICS?lstr35_main+0 +0x5BB1 0x2020 ;?ICS?lstr35_main+2 +0x5BB3 0x2020 ;?ICS?lstr35_main+4 +0x5BB5 0x2020 ;?ICS?lstr35_main+6 +0x5BB7 0x2020 ;?ICS?lstr35_main+8 +0x5BB9 0x00 ;?ICS?lstr35_main+10 +; end of ?ICS?lstr35_main +;main.c,0 :: ?ICS?lstr40_main +0x5BBA 0x696D ;?ICS?lstr40_main+0 +0x5BBC 0x696E ;?ICS?lstr40_main+2 +0x5BBE 0x6220 ;?ICS?lstr40_main+4 +0x5BC0 0x616F ;?ICS?lstr40_main+6 +0x5BC2 0x6472 ;?ICS?lstr40_main+8 +0x5BC4 0x00 ;?ICS?lstr40_main+10 +; end of ?ICS?lstr40_main +;main.c,0 :: ?ICS?lstr39_main +0x5BC5 0x5441 ;?ICS?lstr39_main+0 +0x5BC7 0x2D55 ;?ICS?lstr39_main+2 +0x5BC9 0x3031 ;?ICS?lstr39_main+4 +0x5BCB 0x0030 ;?ICS?lstr39_main+6 +; end of ?ICS?lstr39_main +;main.c,0 :: ?ICS?lstr38_main +0x5BCD 0x002E ;?ICS?lstr38_main+0 +; end of ?ICS?lstr38_main +;__Lib_ADC_A_D.c,0 :: ?ICS_vref_mask +0x5BCF 0x30 ;?ICS_vref_mask+0 +; end of ?ICS_vref_mask +;main.c,0 :: ?ICS?lstr17_main +0x5BD0 0x005F ;?ICS?lstr17_main+0 +; end of ?ICS?lstr17_main +;main.c,0 :: ?ICS?lstr16_main +0x5BD2 0x002E ;?ICS?lstr16_main+0 +; end of ?ICS?lstr16_main +;main.c,0 :: ?ICS?lstr15_main +0x5BD4 0x0020 ;?ICS?lstr15_main+0 +; end of ?ICS?lstr15_main +;main.c,0 :: ?ICS?lstr20_main +0x5BD6 0x005F ;?ICS?lstr20_main+0 +; end of ?ICS?lstr20_main +;main.c,0 :: ?ICS?lstr19_main +0x5BD8 0x002E ;?ICS?lstr19_main+0 +; end of ?ICS?lstr19_main +;main.c,0 :: ?ICS?lstr18_main +0x5BDA 0x0020 ;?ICS?lstr18_main+0 +; end of ?ICS?lstr18_main +;main.c,0 :: ?ICS?lstr14_main +0x5BDC 0x005F ;?ICS?lstr14_main+0 +; end of ?ICS?lstr14_main +;main.c,0 :: ?ICS?lstr10_main +0x5BDE 0x002E ;?ICS?lstr10_main+0 +; end of ?ICS?lstr10_main +;main.c,0 :: ?ICS_Auto_mem +0x5BE0 0x00 ;?ICS_Auto_mem+0 +; end of ?ICS_Auto_mem +;main.c,0 :: ?ICS_SW_mem +0x5BE1 0x00 ;?ICS_SW_mem+0 +; end of ?ICS_SW_mem +;main.c,0 :: ?ICS?lstr13_main +0x5BE2 0x002E ;?ICS?lstr13_main+0 +; end of ?ICS?lstr13_main +;main.c,0 :: ?ICS?lstr12_main +0x5BE4 0x0020 ;?ICS?lstr12_main+0 +; end of ?ICS?lstr12_main +;main.c,0 :: ?ICS?lstr11_main +0x5BE6 0x005F ;?ICS?lstr11_main+0 +; end of ?ICS?lstr11_main +;main.c,0 :: ?ICS?lstr21_main +0x5BE8 0x0020 ;?ICS?lstr21_main+0 +; end of ?ICS?lstr21_main +;main.c,0 :: ?ICS?lstr31_main +0x5BEA 0x5746 ;?ICS?lstr31_main+0 +0x5BEC 0x7620 ;?ICS?lstr31_main+2 +0x5BEE 0x7265 ;?ICS?lstr31_main+4 +0x5BF0 0x3320 ;?ICS?lstr31_main+6 +0x5BF2 0x312E ;?ICS?lstr31_main+8 +0x5BF4 0x00 ;?ICS?lstr31_main+10 +; end of ?ICS?lstr31_main +;main.c,0 :: ?ICS?lstr30_main +0x5BF5 0x7962 ;?ICS?lstr30_main+0 +0x5BF7 0x4E20 ;?ICS?lstr30_main+2 +0x5BF9 0x4437 ;?ICS?lstr30_main+4 +0x5BFB 0x4344 ;?ICS?lstr30_main+6 +0x5BFD 0x00 ;?ICS?lstr30_main+8 +; end of ?ICS?lstr30_main +;main.c,0 :: ?ICS?lstr29_main +0x5BFE 0x696D ;?ICS?lstr29_main+0 +0x5C00 0x696E ;?ICS?lstr29_main+2 +0x5C02 0x6220 ;?ICS?lstr29_main+4 +0x5C04 0x616F ;?ICS?lstr29_main+6 +0x5C06 0x6472 ;?ICS?lstr29_main+8 +0x5C08 0x00 ;?ICS?lstr29_main+10 +; end of ?ICS?lstr29_main +;main.c,0 :: ?ICS?lstr34_main +0x5C09 0x2020 ;?ICS?lstr34_main+0 +0x5C0B 0x2020 ;?ICS?lstr34_main+2 +0x5C0D 0x2020 ;?ICS?lstr34_main+4 +0x5C0F 0x2020 ;?ICS?lstr34_main+6 +0x5C11 0x00 ;?ICS?lstr34_main+8 +; end of ?ICS?lstr34_main +;main.c,0 :: ?ICS?lstr33_main +0x5C12 0x2020 ;?ICS?lstr33_main+0 +0x5C14 0x2020 ;?ICS?lstr33_main+2 +0x5C16 0x2020 ;?ICS?lstr33_main+4 +0x5C18 0x2020 ;?ICS?lstr33_main+6 +0x5C1A 0x2020 ;?ICS?lstr33_main+8 +0x5C1C 0x00 ;?ICS?lstr33_main+10 +; end of ?ICS?lstr33_main +;main.c,0 :: ?ICS?lstr32_main +0x5C1D 0x2020 ;?ICS?lstr32_main+0 +0x5C1F 0x2020 ;?ICS?lstr32_main+2 +0x5C21 0x2020 ;?ICS?lstr32_main+4 +0x5C23 0x2020 ;?ICS?lstr32_main+6 +0x5C25 0x00 ;?ICS?lstr32_main+8 +; end of ?ICS?lstr32_main +;main.c,0 :: ?ICS?lstr28_main +0x5C26 0x5441 ;?ICS?lstr28_main+0 +0x5C28 0x2D55 ;?ICS?lstr28_main+2 +0x5C2A 0x3031 ;?ICS?lstr28_main+4 +0x5C2C 0x0030 ;?ICS?lstr28_main+6 +; end of ?ICS?lstr28_main +;main.c,0 :: ?ICS?lstr86_main +0x5C2E 0x2020 ;?ICS?lstr86_main+0 +0x5C30 0x2020 ;?ICS?lstr86_main+2 +0x5C32 0x2020 ;?ICS?lstr86_main+4 +0x5C34 0x2020 ;?ICS?lstr86_main+6 +0x5C36 0x0020 ;?ICS?lstr86_main+8 +; end of ?ICS?lstr86_main +;main.c,0 :: ?ICS?lstr85_main +0x5C38 0x4554 ;?ICS?lstr85_main+0 +0x5C3A 0x5453 ;?ICS?lstr85_main+2 +0x5C3C 0x4D20 ;?ICS?lstr85_main+4 +0x5C3E 0x444F ;?ICS?lstr85_main+6 +0x5C40 0x0045 ;?ICS?lstr85_main+8 +; end of ?ICS?lstr85_main +;main.c,0 :: ?ICS?lstr84_main +0x5C42 0x4554 ;?ICS?lstr84_main+0 +0x5C44 0x5453 ;?ICS?lstr84_main+2 +0x5C46 0x4D20 ;?ICS?lstr84_main+4 +0x5C48 0x444F ;?ICS?lstr84_main+6 +0x5C4A 0x0045 ;?ICS?lstr84_main+8 +; end of ?ICS?lstr84_main +;main.c,0 :: ?ICS?lstr89_main +0x5C4C 0x006C ;?ICS?lstr89_main+0 +; end of ?ICS?lstr89_main +;main.c,0 :: ?ICS?lstr88_main +0x5C4E 0x006C ;?ICS?lstr88_main+0 +; end of ?ICS?lstr88_main +;main.c,0 :: ?ICS?lstr87_main +0x5C50 0x2020 ;?ICS?lstr87_main+0 +0x5C52 0x2020 ;?ICS?lstr87_main+2 +0x5C54 0x2020 ;?ICS?lstr87_main+4 +0x5C56 0x2020 ;?ICS?lstr87_main+6 +0x5C58 0x0020 ;?ICS?lstr87_main+8 +; end of ?ICS?lstr87_main +;main.c,0 :: ?ICS?lstr63_main +0x5C5A 0x5753 ;?ICS?lstr63_main+0 +0x5C5C 0x3D52 ;?ICS?lstr63_main+2 +0x5C5E 0x2020 ;?ICS?lstr63_main+4 +0x5C60 0x2020 ;?ICS?lstr63_main+6 +0x5C62 0x00 ;?ICS?lstr63_main+8 +; end of ?ICS?lstr63_main +;main.c,0 :: ?ICSmain_ind +0x5C63 0x00 ;?ICSmain_ind+0 +; end of ?ICSmain_ind +;main.c,0 :: ?ICSmain_cap +0x5C64 0x00 ;?ICSmain_cap+0 +; end of ?ICSmain_cap +;oled_control.c,1 :: oled_control_font5x8 +0x5C65 0x0000 ;oled_control_font5x8+0 +0x5C67 0x0000 ;oled_control_font5x8+2 +0x5C69 0x0000 ;oled_control_font5x8+4 +0x5C6B 0x5F00 ;oled_control_font5x8+6 +0x5C6D 0x0000 ;oled_control_font5x8+8 +0x5C6F 0x0700 ;oled_control_font5x8+10 +0x5C71 0x0700 ;oled_control_font5x8+12 +0x5C73 0x1400 ;oled_control_font5x8+14 +0x5C75 0x147F ;oled_control_font5x8+16 +0x5C77 0x147F ;oled_control_font5x8+18 +0x5C79 0x2A24 ;oled_control_font5x8+20 +0x5C7B 0x2A7F ;oled_control_font5x8+22 +0x5C7D 0x2312 ;oled_control_font5x8+24 +0x5C7F 0x0813 ;oled_control_font5x8+26 +0x5C81 0x6264 ;oled_control_font5x8+28 +0x5C83 0x4936 ;oled_control_font5x8+30 +0x5C85 0x2255 ;oled_control_font5x8+32 +0x5C87 0x0050 ;oled_control_font5x8+34 +0x5C89 0x0305 ;oled_control_font5x8+36 +0x5C8B 0x0000 ;oled_control_font5x8+38 +0x5C8D 0x1C00 ;oled_control_font5x8+40 +0x5C8F 0x4122 ;oled_control_font5x8+42 +0x5C91 0x0000 ;oled_control_font5x8+44 +0x5C93 0x2241 ;oled_control_font5x8+46 +0x5C95 0x001C ;oled_control_font5x8+48 +0x5C97 0x2A08 ;oled_control_font5x8+50 +0x5C99 0x2A1C ;oled_control_font5x8+52 +0x5C9B 0x0808 ;oled_control_font5x8+54 +0x5C9D 0x3E08 ;oled_control_font5x8+56 +0x5C9F 0x0808 ;oled_control_font5x8+58 +0x5CA1 0x5000 ;oled_control_font5x8+60 +0x5CA3 0x0030 ;oled_control_font5x8+62 +0x5CA5 0x0800 ;oled_control_font5x8+64 +0x5CA7 0x0808 ;oled_control_font5x8+66 +0x5CA9 0x0808 ;oled_control_font5x8+68 +0x5CAB 0x3000 ;oled_control_font5x8+70 +0x5CAD 0x0030 ;oled_control_font5x8+72 +0x5CAF 0x2000 ;oled_control_font5x8+74 +0x5CB1 0x0810 ;oled_control_font5x8+76 +0x5CB3 0x0204 ;oled_control_font5x8+78 +0x5CB5 0x513E ;oled_control_font5x8+80 +0x5CB7 0x4549 ;oled_control_font5x8+82 +0x5CB9 0x003E ;oled_control_font5x8+84 +0x5CBB 0x7F42 ;oled_control_font5x8+86 +0x5CBD 0x0040 ;oled_control_font5x8+88 +0x5CBF 0x6142 ;oled_control_font5x8+90 +0x5CC1 0x4951 ;oled_control_font5x8+92 +0x5CC3 0x2146 ;oled_control_font5x8+94 +0x5CC5 0x4541 ;oled_control_font5x8+96 +0x5CC7 0x314B ;oled_control_font5x8+98 +0x5CC9 0x1418 ;oled_control_font5x8+100 +0x5CCB 0x7F12 ;oled_control_font5x8+102 +0x5CCD 0x2710 ;oled_control_font5x8+104 +0x5CCF 0x4545 ;oled_control_font5x8+106 +0x5CD1 0x3945 ;oled_control_font5x8+108 +0x5CD3 0x4A3C ;oled_control_font5x8+110 +0x5CD5 0x4949 ;oled_control_font5x8+112 +0x5CD7 0x0130 ;oled_control_font5x8+114 +0x5CD9 0x0971 ;oled_control_font5x8+116 +0x5CDB 0x0305 ;oled_control_font5x8+118 +0x5CDD 0x4936 ;oled_control_font5x8+120 +0x5CDF 0x4949 ;oled_control_font5x8+122 +0x5CE1 0x0636 ;oled_control_font5x8+124 +0x5CE3 0x4949 ;oled_control_font5x8+126 +0x5CE5 0x1E29 ;oled_control_font5x8+128 +0x5CE7 0x3600 ;oled_control_font5x8+130 +0x5CE9 0x0036 ;oled_control_font5x8+132 +0x5CEB 0x0000 ;oled_control_font5x8+134 +0x5CED 0x3656 ;oled_control_font5x8+136 +0x5CEF 0x0000 ;oled_control_font5x8+138 +0x5CF1 0x0800 ;oled_control_font5x8+140 +0x5CF3 0x2214 ;oled_control_font5x8+142 +0x5CF5 0x1441 ;oled_control_font5x8+144 +0x5CF7 0x1414 ;oled_control_font5x8+146 +0x5CF9 0x1414 ;oled_control_font5x8+148 +0x5CFB 0x2241 ;oled_control_font5x8+150 +0x5CFD 0x0814 ;oled_control_font5x8+152 +0x5CFF 0x0200 ;oled_control_font5x8+154 +0x5D01 0x5101 ;oled_control_font5x8+156 +0x5D03 0x0609 ;oled_control_font5x8+158 +0x5D05 0x4932 ;oled_control_font5x8+160 +0x5D07 0x4179 ;oled_control_font5x8+162 +0x5D09 0x7E3E ;oled_control_font5x8+164 +0x5D0B 0x1111 ;oled_control_font5x8+166 +0x5D0D 0x7E11 ;oled_control_font5x8+168 +0x5D0F 0x497F ;oled_control_font5x8+170 +0x5D11 0x4949 ;oled_control_font5x8+172 +0x5D13 0x3E36 ;oled_control_font5x8+174 +0x5D15 0x4141 ;oled_control_font5x8+176 +0x5D17 0x2241 ;oled_control_font5x8+178 +0x5D19 0x417F ;oled_control_font5x8+180 +0x5D1B 0x2241 ;oled_control_font5x8+182 +0x5D1D 0x7F1C ;oled_control_font5x8+184 +0x5D1F 0x4949 ;oled_control_font5x8+186 +0x5D21 0x4149 ;oled_control_font5x8+188 +0x5D23 0x097F ;oled_control_font5x8+190 +0x5D25 0x0109 ;oled_control_font5x8+192 +0x5D27 0x3E01 ;oled_control_font5x8+194 +0x5D29 0x4141 ;oled_control_font5x8+196 +0x5D2B 0x3251 ;oled_control_font5x8+198 +0x5D2D 0x087F ;oled_control_font5x8+200 +0x5D2F 0x0808 ;oled_control_font5x8+202 +0x5D31 0x007F ;oled_control_font5x8+204 +0x5D33 0x7F41 ;oled_control_font5x8+206 +0x5D35 0x0041 ;oled_control_font5x8+208 +0x5D37 0x4020 ;oled_control_font5x8+210 +0x5D39 0x3F41 ;oled_control_font5x8+212 +0x5D3B 0x7F01 ;oled_control_font5x8+214 +0x5D3D 0x1408 ;oled_control_font5x8+216 +0x5D3F 0x4122 ;oled_control_font5x8+218 +0x5D41 0x407F ;oled_control_font5x8+220 +0x5D43 0x4040 ;oled_control_font5x8+222 +0x5D45 0x7F40 ;oled_control_font5x8+224 +0x5D47 0x0402 ;oled_control_font5x8+226 +0x5D49 0x7F02 ;oled_control_font5x8+228 +0x5D4B 0x047F ;oled_control_font5x8+230 +0x5D4D 0x1008 ;oled_control_font5x8+232 +0x5D4F 0x3E7F ;oled_control_font5x8+234 +0x5D51 0x4141 ;oled_control_font5x8+236 +0x5D53 0x3E41 ;oled_control_font5x8+238 +0x5D55 0x097F ;oled_control_font5x8+240 +0x5D57 0x0909 ;oled_control_font5x8+242 +0x5D59 0x3E06 ;oled_control_font5x8+244 +0x5D5B 0x5141 ;oled_control_font5x8+246 +0x5D5D 0x5E21 ;oled_control_font5x8+248 +0x5D5F 0x097F ;oled_control_font5x8+250 +0x5D61 0x2919 ;oled_control_font5x8+252 +0x5D63 0x4646 ;oled_control_font5x8+254 +0x5D65 0x4949 ;oled_control_font5x8+256 +0x5D67 0x3149 ;oled_control_font5x8+258 +0x5D69 0x0101 ;oled_control_font5x8+260 +0x5D6B 0x017F ;oled_control_font5x8+262 +0x5D6D 0x3F01 ;oled_control_font5x8+264 +0x5D6F 0x4040 ;oled_control_font5x8+266 +0x5D71 0x3F40 ;oled_control_font5x8+268 +0x5D73 0x201F ;oled_control_font5x8+270 +0x5D75 0x2040 ;oled_control_font5x8+272 +0x5D77 0x7F1F ;oled_control_font5x8+274 +0x5D79 0x1820 ;oled_control_font5x8+276 +0x5D7B 0x7F20 ;oled_control_font5x8+278 +0x5D7D 0x1463 ;oled_control_font5x8+280 +0x5D7F 0x1408 ;oled_control_font5x8+282 +0x5D81 0x0363 ;oled_control_font5x8+284 +0x5D83 0x7804 ;oled_control_font5x8+286 +0x5D85 0x0304 ;oled_control_font5x8+288 +0x5D87 0x5161 ;oled_control_font5x8+290 +0x5D89 0x4549 ;oled_control_font5x8+292 +0x5D8B 0x0043 ;oled_control_font5x8+294 +0x5D8D 0x7F00 ;oled_control_font5x8+296 +0x5D8F 0x4141 ;oled_control_font5x8+298 +0x5D91 0x0402 ;oled_control_font5x8+300 +0x5D93 0x1008 ;oled_control_font5x8+302 +0x5D95 0x4120 ;oled_control_font5x8+304 +0x5D97 0x7F41 ;oled_control_font5x8+306 +0x5D99 0x0000 ;oled_control_font5x8+308 +0x5D9B 0x0204 ;oled_control_font5x8+310 +0x5D9D 0x0201 ;oled_control_font5x8+312 +0x5D9F 0x4004 ;oled_control_font5x8+314 +0x5DA1 0x4040 ;oled_control_font5x8+316 +0x5DA3 0x4040 ;oled_control_font5x8+318 +0x5DA5 0x0100 ;oled_control_font5x8+320 +0x5DA7 0x0402 ;oled_control_font5x8+322 +0x5DA9 0x2000 ;oled_control_font5x8+324 +0x5DAB 0x5454 ;oled_control_font5x8+326 +0x5DAD 0x7854 ;oled_control_font5x8+328 +0x5DAF 0x487F ;oled_control_font5x8+330 +0x5DB1 0x4444 ;oled_control_font5x8+332 +0x5DB3 0x3838 ;oled_control_font5x8+334 +0x5DB5 0x4444 ;oled_control_font5x8+336 +0x5DB7 0x2044 ;oled_control_font5x8+338 +0x5DB9 0x4438 ;oled_control_font5x8+340 +0x5DBB 0x4844 ;oled_control_font5x8+342 +0x5DBD 0x387F ;oled_control_font5x8+344 +0x5DBF 0x5454 ;oled_control_font5x8+346 +0x5DC1 0x1854 ;oled_control_font5x8+348 +0x5DC3 0x7E08 ;oled_control_font5x8+350 +0x5DC5 0x0109 ;oled_control_font5x8+352 +0x5DC7 0x0802 ;oled_control_font5x8+354 +0x5DC9 0x5414 ;oled_control_font5x8+356 +0x5DCB 0x3C54 ;oled_control_font5x8+358 +0x5DCD 0x087F ;oled_control_font5x8+360 +0x5DCF 0x0404 ;oled_control_font5x8+362 +0x5DD1 0x0078 ;oled_control_font5x8+364 +0x5DD3 0x7D44 ;oled_control_font5x8+366 +0x5DD5 0x0040 ;oled_control_font5x8+368 +0x5DD7 0x4020 ;oled_control_font5x8+370 +0x5DD9 0x3D44 ;oled_control_font5x8+372 +0x5DDB 0x0000 ;oled_control_font5x8+374 +0x5DDD 0x107F ;oled_control_font5x8+376 +0x5DDF 0x4428 ;oled_control_font5x8+378 +0x5DE1 0x4100 ;oled_control_font5x8+380 +0x5DE3 0x407F ;oled_control_font5x8+382 +0x5DE5 0x7C00 ;oled_control_font5x8+384 +0x5DE7 0x1804 ;oled_control_font5x8+386 +0x5DE9 0x7804 ;oled_control_font5x8+388 +0x5DEB 0x087C ;oled_control_font5x8+390 +0x5DED 0x0404 ;oled_control_font5x8+392 +0x5DEF 0x3878 ;oled_control_font5x8+394 +0x5DF1 0x4444 ;oled_control_font5x8+396 +0x5DF3 0x3844 ;oled_control_font5x8+398 +0x5DF5 0x147C ;oled_control_font5x8+400 +0x5DF7 0x1414 ;oled_control_font5x8+402 +0x5DF9 0x0808 ;oled_control_font5x8+404 +0x5DFB 0x1414 ;oled_control_font5x8+406 +0x5DFD 0x7C18 ;oled_control_font5x8+408 +0x5DFF 0x087C ;oled_control_font5x8+410 +0x5E01 0x0404 ;oled_control_font5x8+412 +0x5E03 0x4808 ;oled_control_font5x8+414 +0x5E05 0x5454 ;oled_control_font5x8+416 +0x5E07 0x2054 ;oled_control_font5x8+418 +0x5E09 0x3F04 ;oled_control_font5x8+420 +0x5E0B 0x4044 ;oled_control_font5x8+422 +0x5E0D 0x3C20 ;oled_control_font5x8+424 +0x5E0F 0x4040 ;oled_control_font5x8+426 +0x5E11 0x7C20 ;oled_control_font5x8+428 +0x5E13 0x201C ;oled_control_font5x8+430 +0x5E15 0x2040 ;oled_control_font5x8+432 +0x5E17 0x3C1C ;oled_control_font5x8+434 +0x5E19 0x3040 ;oled_control_font5x8+436 +0x5E1B 0x3C40 ;oled_control_font5x8+438 +0x5E1D 0x2844 ;oled_control_font5x8+440 +0x5E1F 0x2810 ;oled_control_font5x8+442 +0x5E21 0x0C44 ;oled_control_font5x8+444 +0x5E23 0x5050 ;oled_control_font5x8+446 +0x5E25 0x3C50 ;oled_control_font5x8+448 +0x5E27 0x6444 ;oled_control_font5x8+450 +0x5E29 0x4C54 ;oled_control_font5x8+452 +0x5E2B 0x0044 ;oled_control_font5x8+454 +0x5E2D 0x3608 ;oled_control_font5x8+456 +0x5E2F 0x0041 ;oled_control_font5x8+458 +0x5E31 0x0000 ;oled_control_font5x8+460 +0x5E33 0x007F ;oled_control_font5x8+462 +0x5E35 0x0000 ;oled_control_font5x8+464 +0x5E37 0x3641 ;oled_control_font5x8+466 +0x5E39 0x0008 ;oled_control_font5x8+468 +0x5E3B 0x0808 ;oled_control_font5x8+470 +0x5E3D 0x1C2A ;oled_control_font5x8+472 +0x5E3F 0x0808 ;oled_control_font5x8+474 +0x5E41 0x2A1C ;oled_control_font5x8+476 +0x5E43 0x0808 ;oled_control_font5x8+478 +; end of oled_control_font5x8 +;main.c,0 :: ?ICSmain_step_cap +0x5E45 0x00 ;?ICSmain_step_cap+0 +; end of ?ICSmain_step_cap +;main.c,0 :: ?ICS_Loss_mode +0x5E46 0x00 ;?ICS_Loss_mode+0 +; end of ?ICS_Loss_mode +;main.c,0 :: ?ICSmain_SW +0x5E47 0x00 ;?ICSmain_SW+0 +; end of ?ICSmain_SW +;main.c,0 :: ?ICS?lstr48_main +0x5E48 0x2E30 ;?ICS?lstr48_main+0 +0x5E4A 0x3030 ;?ICS?lstr48_main+2 +0x5E4C 0x00 ;?ICS?lstr48_main+4 +; end of ?ICS?lstr48_main +;main.c,0 :: ?ICS?lstr49_main +0x5E4D 0x2E30 ;?ICS?lstr49_main+0 +0x5E4F 0x3030 ;?ICS?lstr49_main+2 +0x5E51 0x00 ;?ICS?lstr49_main+4 +; end of ?ICS?lstr49_main +;main.c,0 :: ?ICS_SWR_old +0x5E52 0x2710 ;?ICS_SWR_old+0 +; end of ?ICS_SWR_old +;main.c,0 :: ?ICS?lstr22_main +0x5E54 0x4552 ;?ICS?lstr22_main+0 +0x5E56 0x4553 ;?ICS?lstr22_main+2 +0x5E58 0x2054 ;?ICS?lstr22_main+4 +0x5E5A 0x2020 ;?ICS?lstr22_main+6 +0x5E5C 0x00 ;?ICS?lstr22_main+8 +; end of ?ICS?lstr22_main +;main.c,0 :: ?ICS_Dysp_delay +0x5E5D 0x00 ;?ICS_Dysp_delay+0 +; end of ?ICS_Dysp_delay +;main.c,0 :: ?ICS_dysp_cnt +0x5E5E 0x0000 ;?ICS_dysp_cnt+0 +; end of ?ICS_dysp_cnt +;main.c,0 :: ?ICS_but +0x5E60 0x00 ;?ICS_but+0 +; end of ?ICS_but +;main.c,0 :: ?ICS?lstr9_main +0x5E61 0x0063 ;?ICS?lstr9_main+0 +; end of ?ICS?lstr9_main +;main.c,0 :: ?ICS?lstr8_main +0x5E63 0x0063 ;?ICS?lstr8_main+0 +; end of ?ICS?lstr8_main +;main.c,0 :: ?ICSmain_Overload +0x5E65 0x00 ;?ICSmain_Overload+0 +; end of ?ICSmain_Overload +;main.c,0 :: ?ICS_bypas +0x5E66 0x00 ;?ICS_bypas+0 +; end of ?ICS_bypas +;main.c,0 :: ?ICS_dysp_cnt_mult +0x5E67 0x3333 ;?ICS_dysp_cnt_mult+0 +0x5E69 0x8013 ;?ICS_dysp_cnt_mult+2 +; end of ?ICS_dysp_cnt_mult +;main.c,0 :: ?ICS?lstr60_main +0x5E6B 0x2020 ;?ICS?lstr60_main+0 +0x5E6D 0x2020 ;?ICS?lstr60_main+2 +0x5E6F 0x2020 ;?ICS?lstr60_main+4 +0x5E71 0x2020 ;?ICS?lstr60_main+6 +0x5E73 0x00 ;?ICS?lstr60_main+8 +; end of ?ICS?lstr60_main +;main.c,0 :: ?ICS?lstr59_main +0x5E74 0x564F ;?ICS?lstr59_main+0 +0x5E76 0x5245 ;?ICS?lstr59_main+2 +0x5E78 0x4F4C ;?ICS?lstr59_main+4 +0x5E7A 0x4441 ;?ICS?lstr59_main+6 +0x5E7C 0x00 ;?ICS?lstr59_main+8 +; end of ?ICS?lstr59_main +;main.c,0 :: ?ICS?lstr62_main +0x5E7D 0x2020 ;?ICS?lstr62_main+0 +0x5E7F 0x2020 ;?ICS?lstr62_main+2 +0x5E81 0x2020 ;?ICS?lstr62_main+4 +0x5E83 0x2020 ;?ICS?lstr62_main+6 +0x5E85 0x00 ;?ICS?lstr62_main+8 +; end of ?ICS?lstr62_main +;main.c,0 :: ?ICS?lstr61_main +0x5E86 0x564F ;?ICS?lstr61_main+0 +0x5E88 0x5245 ;?ICS?lstr61_main+2 +0x5E8A 0x4F4C ;?ICS?lstr61_main+4 +0x5E8C 0x4441 ;?ICS?lstr61_main+6 +0x5E8E 0x00 ;?ICS?lstr61_main+8 +; end of ?ICS?lstr61_main +;main.c,0 :: ?ICS?lstr58_main +0x5E8F 0x2020 ;?ICS?lstr58_main+0 +0x5E91 0x2020 ;?ICS?lstr58_main+2 +0x5E93 0x2020 ;?ICS?lstr58_main+4 +0x5E95 0x2020 ;?ICS?lstr58_main+6 +0x5E97 0x00 ;?ICS?lstr58_main+8 +; end of ?ICS?lstr58_main +;main.c,0 :: ?ICS_Soft_tune +0x5E98 0x00 ;?ICS_Soft_tune+0 +; end of ?ICS_Soft_tune +;main.c,0 :: ?ICS_Auto +0x5E99 0x00 ;?ICS_Auto+0 +; end of ?ICS_Auto +;main.c,0 :: ?ICS?lstr57_main +0x5E9A 0x564F ;?ICS?lstr57_main+0 +0x5E9C 0x5245 ;?ICS?lstr57_main+2 +0x5E9E 0x4F4C ;?ICS?lstr57_main+4 +0x5EA0 0x4441 ;?ICS?lstr57_main+6 +0x5EA2 0x00 ;?ICS?lstr57_main+8 +; end of ?ICS?lstr57_main +;main.c,0 :: ?ICS?lstr56_main +0x5EA3 0x2020 ;?ICS?lstr56_main+0 +0x5EA5 0x2020 ;?ICS?lstr56_main+2 +0x5EA7 0x2020 ;?ICS?lstr56_main+4 +0x5EA9 0x2020 ;?ICS?lstr56_main+6 +0x5EAB 0x00 ;?ICS?lstr56_main+8 +; end of ?ICS?lstr56_main +;main.c,0 :: ?ICS?lstr7_main +0x5EAC 0x006C ;?ICS?lstr7_main+0 +; end of ?ICS?lstr7_main +;main.c,0 :: ?ICS_L +0x5EAE 0x01 ;?ICS_L+0 +; end of ?ICS_L +;main.c,0 :: ?ICS_P_max +0x5EAF 0x0000 ;?ICS_P_max+0 +; end of ?ICS_P_max +;main.c,0 :: ?ICS_rready +0x5EB1 0x00 ;?ICS_rready+0 +; end of ?ICS_rready +;main.c,0 :: ?ICS_p_cnt +0x5EB2 0x00 ;?ICS_p_cnt+0 +; end of ?ICS_p_cnt +;main.c,0 :: ?ICS?lstr23_main +0x5EB3 0x5753 ;?ICS?lstr23_main+0 +0x5EB5 0x3D52 ;?ICS?lstr23_main+2 +0x5EB7 0x2E30 ;?ICS?lstr23_main+4 +0x5EB9 0x3030 ;?ICS?lstr23_main+6 +0x5EBB 0x00 ;?ICS?lstr23_main+8 +; end of ?ICS?lstr23_main +;main.c,0 :: ?ICS?lstr24_main +0x5EBC 0x4552 ;?ICS?lstr24_main+0 +0x5EBE 0x4553 ;?ICS?lstr24_main+2 +0x5EC0 0x2054 ;?ICS?lstr24_main+4 +0x5EC2 0x2020 ;?ICS?lstr24_main+6 +0x5EC4 0x00 ;?ICS?lstr24_main+8 +; end of ?ICS?lstr24_main +;main.c,0 :: ?ICS?lstr25_main +0x5EC5 0x5753 ;?ICS?lstr25_main+0 +0x5EC7 0x3D52 ;?ICS?lstr25_main+2 +0x5EC9 0x2E30 ;?ICS?lstr25_main+4 +0x5ECB 0x3030 ;?ICS?lstr25_main+6 +0x5ECD 0x00 ;?ICS?lstr25_main+8 +; end of ?ICS?lstr25_main +;main.c,0 :: ?ICS_Power_old +0x5ECE 0x2710 ;?ICS_Power_old+0 +; end of ?ICS_Power_old +;main.c,0 :: ?ICS?lstr6_main +0x5ED0 0x006C ;?ICS?lstr6_main+0 +; end of ?ICS?lstr6_main +;main.c,0 :: ?ICS_SWR_fixed_old +0x5ED2 0x0000 ;?ICS_SWR_fixed_old+0 +; end of ?ICS_SWR_fixed_old +;main.c,0 :: ?ICSmain_step_ind +0x5ED4 0x00 ;?ICSmain_step_ind+0 +; end of ?ICSmain_step_ind +Symbol List: +//** Routines locations ** +//ADDRESS SIZE PROCEDURE +//---------------------------------------------- +0x001C [58] _Soft_I2C_Start +0x0056 [110] _Soft_I2C_Write +0x00C4 [134] _set_addressing +0x014A [46] _Soft_I2C_Stop +0x0178 [26] _SETFUN32 +0x0192 [14] _RES032 +0x01A0 [54] _Div_16X16_U +0x01D6 [8] _FIXSIGN32 +0x01DE [146] _WordToStr +0x0270 [10] _Delay_22us +0x027A [114] _NRM3232 +0x02EC [28] _SETIOV3224 +0x0308 [24] _SETFOV32 +0x0320 [156] _led_send +0x03BC [798] _oled_wr_str +0x06DA [40] _word2double +0x0702 [80] _Mul_16X16_U +0x0752 [24] _COMFREM +0x076A [600] _SDIV3232L +0x09C2 [210] _double2int +0x0A94 [48] _ADC_Get_Sample +0x0AC4 [66] _int2double +0x0B06 [18] _Delay_500us +0x0B18 [82] _Mul_32x32_U +0x0B6A [294] _Mul_32x32_FP +0x0C90 [490] _NRM4032 +0x0E7A [8] _SETFDZ32 +0x0E82 [220] _IntToStr +0x0F5E [246] _led_wr_str +0x1054 [36] _send_command +0x1078 [1278] _lcd_ind +0x1576 [206] _Compare_Double +0x1644 [120] _Button +0x16BC [192] _VDelay_ms +0x177C [380] _Div_32x32_FP +0x18F8 [1062] _Add_32x32_FP +0x1D1E [30] _byte2double +0x1D3C [350] _Div_32x32_S +0x1E9A [430] _correction +0x2048 [40] _get_reverse +0x2070 [78] _get_forward +0x20BE [66] _set_ind +0x2100 [544] _get_pwr +0x2320 [92] _button_delay +0x237C [66] _set_cap +0x23BE [1936] _show_pwr +0x2B4E [48] _dysp_on +0x2B7E [544] _lcd_swr +0x2D9E [62] _EEPROM_Write +0x2DDC [26] _set_sw +0x2DF6 [36] _atu_reset +0x2E1A [1528] _lcd_pwr +0x3412 [88] _Div_16x16_S_L +0x346A [354] _show_reset +0x35CC [198] _Div_16x16_S +0x3692 [330] _get_swr +0x37DC [228] _coarse_cap +0x38C0 [312] _sharp_ind +0x39F8 [252] _coarse_tune +0x3AF4 [312] _sharp_cap +0x3C2C [710] _tune +0x3EF2 [860] _oled_init +0x424E [30] _Div_8X8_U +0x426C [42] _Bcd2Dec +0x4296 [40] _ADC_Init +0x42BE [16] _EEPROM_Read +0x42CE [492] _btn_push +0x44BA [844] _lcd_prep +0x4806 [696] _cells_init +0x4ABE [46] _dysp_off +0x4AEC [674] _button_proc_test +0x4D8E [16] ___CC2DW +0x4D9E [48] _pic_init +0x4DCE [534] _Test_init +0x4FE4 [142] _show_loss +0x5072 [78] _Dec2Bcd +0x50C0 [1198] _button_proc +0x556E [50] _Soft_I2C_Init +0x55A0 [244] _led_init +0x5694 [998] _main +//** Variables locations ** +//ADDRESS SIZE VARIABLE +//---------------------------------------------- +0x0000 [1] R0 +0x0000 [1] EEPROM_Write_SaveINTCON_L0 +0x0001 [1] Soft_I2C_Write_i_L0 +0x0001 [1] R1 +0x0002 [1] R2 +0x0003 [2] Ltrim_original_L0 +0x0003 [1] R3 +0x0004 [1] R4 +0x0005 [2] Ltrim_p_L0 +0x0005 [2] LongWordToHex_input_half_L0 +0x0005 [2] LongIntToHex_input_half_L0 +0x0005 [1] R5 +0x0006 [1] R6 +0x0007 [1] R7 +0x0008 [1] R8 +0x0009 [1] R9 +0x000A [1] R10 +0x000B [1] R11 +0x000C [1] R12 +0x000D [1] R13 +0x000E [1] R14 +0x000F [1] R15 +0x0010 [1] R16 +0x0011 [1] R17 +0x0012 [1] R18 +0x0013 [1] R19 +0x0014 [1] R20 +0x0015 [9] ?lstr52_main +0x001E [9] ?lstr51_main +0x0027 [9] ?lstr50_main +0x0030 [8] ?lstr55_main +0x0038 [8] ?lstr54_main +0x0040 [9] ?lstr53_main +0x0049 [1] main_Loss_ind +0x004A [3] ?lstr81_main +0x004D [3] ?lstr80_main +0x0050 [3] ?lstr79_main +0x0053 [1] _Test +0x0054 [3] ?lstr83_main +0x0057 [3] ?lstr82_main +0x005A [5] ?lstr26_main +0x005F [1] _lcd_prep_short +0x0060 [17] ?lstr5_main +0x0071 [1] _ind_mem +0x0072 [1] _cap_mem +0x0073 [5] ?lstr27_main +0x0078 [6] ?lstr4_main +0x007E [1] _Restart +0x007F [11] ?lstr3_main +0x008A [10] ?lstr2_main +0x0094 [10] ?lstr1_main +0x009E [1] main_K_mult +0x009F [9] ?lstr71_main +0x00A8 [9] ?lstr70_main +0x00B1 [9] ?lstr66_main +0x00BA [9] ?lstr65_main +0x00C3 [9] ?lstr64_main +0x00CC [9] ?lstr69_main +0x00D5 [9] ?lstr68_main +0x00DE [9] ?lstr67_main +0x00E7 [3] ?lstr78_main +0x00EA [3] ?lstr77_main +0x00ED [3] ?lstr73_main +0x00F0 [3] ?lstr72_main +0x00F3 [3] ?lstr76_main +0x00F6 [3] ?lstr75_main +0x00F9 [3] ?lstr74_main +0x00FC [11] ?lstr44_main +0x0107 [9] ?lstr43_main +0x0110 [11] ?lstr42_main +0x011B [2] ?lstr47_main +0x011D [9] ?lstr46_main +0x0126 [9] ?lstr45_main +0x012F [9] ?lstr41_main +0x0138 [9] ?lstr37_main +0x0141 [9] ?lstr36_main +0x014A [11] ?lstr35_main +0x0155 [11] ?lstr40_main +0x0160 [8] ?lstr39_main +0x0168 [2] ?lstr38_main +0x016A [1] _vref_mask +0x016B [2] ?lstr17_main +0x016D [2] ?lstr16_main +0x016F [2] ?lstr15_main +0x0171 [2] ?lstr20_main +0x0173 [2] ?lstr19_main +0x0175 [2] ?lstr18_main +0x0177 [2] ?lstr14_main +0x0179 [2] ?lstr10_main +0x017B [1] _Auto_mem +0x017C [1] _SW_mem +0x017D [2] ?lstr13_main +0x017F [2] ?lstr12_main +0x0181 [2] ?lstr11_main +0x0183 [2] ?lstr21_main +0x0185 [11] ?lstr31_main +0x0190 [9] ?lstr30_main +0x0199 [11] ?lstr29_main +0x01A4 [9] ?lstr34_main +0x01AD [11] ?lstr33_main +0x01B8 [9] ?lstr32_main +0x01C1 [8] ?lstr28_main +0x01C9 [10] ?lstr86_main +0x01D3 [10] ?lstr85_main +0x01DD [10] ?lstr84_main +0x01E7 [2] ?lstr89_main +0x01E9 [2] ?lstr88_main +0x01EB [10] ?lstr87_main +0x01F5 [9] ?lstr63_main +0x01FE [1] main_ind +0x01FF [1] main_cap +0x0200 [1] main_step_ind +0x0201 [2] _SWR_fixed_old +0x0203 [1] main_step_cap +0x0204 [1] _Loss_mode +0x0205 [1] main_SW +0x0206 [5] ?lstr48_main +0x020B [5] ?lstr49_main +0x0210 [2] _SWR_old +0x0212 [9] ?lstr22_main +0x021B [1] _Dysp_delay +0x021C [2] _dysp_cnt +0x021E [1] _but +0x021F [2] ?lstr9_main +0x0221 [2] ?lstr8_main +0x0223 [1] main_Overload +0x0224 [1] _bypas +0x0225 [4] _dysp_cnt_mult +0x0229 [9] ?lstr60_main +0x0232 [9] ?lstr59_main +0x023B [9] ?lstr62_main +0x0244 [9] ?lstr61_main +0x024D [9] ?lstr58_main +0x0256 [1] _Soft_tune +0x0257 [1] _Auto +0x0258 [9] ?lstr57_main +0x0261 [9] ?lstr56_main +0x026A [2] ?lstr7_main +0x026C [1] _L +0x026D [2] _P_max +0x026F [1] _rready +0x0270 [1] _p_cnt +0x0271 [9] ?lstr23_main +0x027A [9] ?lstr24_main +0x0283 [9] ?lstr25_main +0x028C [2] _Power_old +0x028E [2] ?lstr6_main +0x0290 [2] _swr_a +0x0292 [2] main_max_swr +0x0294 [1] _Fid_loss +0x0295 [2] _work_int +0x0297 [2] _Ind3 +0x0299 [2] _Ind2 +0x029B [2] _Ind1 +0x029D [2] _Ind4 +0x029F [2] _Cap3 +0x02A1 [2] _Cap2 +0x02A3 [2] _Cap1 +0x02A5 [2] _Cap5 +0x02A7 [2] _Cap4 +0x02A9 [2] _Ind5 +0x02AB [1] oled_control_led_type +0x02AC [1] oled_control_shift_line +0x02AD [4] _ADC_Get_Sample_Ptr +0x02B1 [1] oled_control_oled_shift +0x02B2 [1] oled_control_led_addr +0x02B3 [1] oled_control_RW +0x02B4 [1] oled_control_RS +0x02B5 [1] oled_control_LED +0x02B6 [1] oled_control_E +0x02B7 [2] _SWR +0x02B9 [2] _PWR +0x02BB [7] _work_str +0x02C2 [1] _type +0x02C3 [7] _work_str_2 +0x02CA [2] main_Rel_Del +0x02CC [2] _Power +0x02CE [2] _Auto_delta +0x02D0 [2] main_min_for_start +0x02D2 [2] main_max_for_start +0x02D4 [2] FLOC__cells_init +0x02D4 [1] FARG_Dec2Bcd_decnum +0x02D5 [1] Dec2Bcd_tmp_L0 +0x02D6 [1] FARG_EEPROM_Read_address +0x02D6 [1] FARG_Bcd2Dec_bcdnum +0x02D6 [1] oled_init_i_L0 +0x02D7 [1] oled_init_r_L0 +0x02D8 [2] tune_swr_mem_L0 +0x02DA [2] tune_ind_mem_L0 +0x02DC [2] tune_cap_mem_L0 +0x02DE [1] sharp_ind_range_L0 +0x02DE [1] sharp_cap_range_L0 +0x02DE [1] coarse_tune_count_L0 +0x02DF [1] sharp_ind_count_L0 +0x02DF [1] sharp_cap_count_L0 +0x02DF [1] coarse_tune_mem_cap_L0 +0x02E0 [1] coarse_tune_mem_step_cap_L0 +0x02E0 [1] sharp_cap_max_range_L0 +0x02E0 [1] sharp_ind_max_range_L0 +0x02E1 [1] sharp_cap_min_range_L0 +0x02E1 [2] coarse_tune_min_swr_L0 +0x02E1 [1] sharp_ind_min_range_L0 +0x02E2 [2] sharp_cap_min_swr_L0 +0x02E2 [2] sharp_ind_min_SWR_L0 +0x02E3 [1] coarse_tune_step_L0 +0x02E4 [1] coarse_cap_count_L0 +0x02E5 [2] coarse_cap_min_swr_L0 +0x02E7 [1] coarse_cap_step_L0 +0x02E8 [2] FLOC__coarse_cap +0x02EA [1] FLOC__get_swr +0x02EB [1] lcd_pwr_peak_cnt_L0 +0x02EB [1] FARG_set_sw_SW +0x02EB [1] FARG_EEPROM_Write_address +0x02EC [1] FARG_EEPROM_Write_data_ +0x02EC [2] lcd_pwr_delta_L0 +0x02EE [1] lcd_pwr_cnt_L0 +0x02EF [2] lcd_pwr_p_L0 +0x02F1 [2] lcd_pwr_SWR_fixed_L0 +0x02F3 [4] get_pwr_Forward_L0 +0x02F3 [2] FARG_show_pwr_Power +0x02F3 [2] FARG_lcd_swr_swr +0x02F3 [1] FARG_set_ind_Ind +0x02F3 [1] FLOC__button_delay +0x02F3 [1] FARG_set_cap_Cap +0x02F5 [2] FARG_show_pwr_SWR +0x02F7 [4] show_pwr_a_L0 +0x02F7 [4] get_pwr_Reverse_L0 +0x02FB [4] get_pwr_p_L0 +0x02FB [4] show_pwr_b_L0 +0x02FF [1] FARG_send_command_oled_command +0x02FF [1] Button_pMask_L0 +0x02FF [1] lcd_ind_column_L0 +0x0300 [1] Button_rslt_L0 +0x0301 [2] show_pwr_p_ant_L0 +0x0303 [2] show_pwr_eff_L0 +0x0305 [12] FLOC__show_pwr +0x0311 [2] get_forward_Forward_L0 +0x0311 [2] FARG_correction_input +0x0311 [2] FARG_VDelay_ms_Time_ms +0x0311 [2] FARG_Button_port +0x0313 [1] FARG_Button_pin +0x0313 [4] VDelay_ms_NumberOfCyc_L0 +0x0314 [1] FARG_Button_time_ms +0x0315 [1] FARG_Button_active_state +0x0317 [2] FARG_IntToStr_input +0x0317 [1] FARG_ADC_Get_Sample_channel +0x0317 [1] FARG_led_wr_str_col +0x0318 [1] FARG_led_wr_str_pos +0x0319 [2] FARG_led_wr_str_str +0x0319 [2] FARG_IntToStr_output +0x031B [1] FARG_led_wr_str_leng +0x031B [2] IntToStr_i_L0 +0x031C [1] led_wr_str_i_L0 +0x031D [2] IntToStr_negative_L0 +0x031F [2] IntToStr_inword_L0 +0x0321 [1] FARG_led_send_nible +0x0321 [1] FARG_oled_wr_str_col +0x0321 [2] FARG_WordToStr_input +0x0322 [1] led_send_sdata_L0 +0x0322 [1] FARG_oled_wr_str_page +0x0323 [2] FARG_oled_wr_str_str +0x0323 [2] FARG_WordToStr_output +0x0325 [1] WordToStr_len_L0 +0x0325 [1] FARG_oled_wr_str_leng +0x0326 [1] oled_wr_str_i_L0 +0x0326 [2] FLOC__WordToStr +0x0327 [1] oled_wr_str_h_L0 +0x0328 [1] oled_wr_str_g_L0 +0x0329 [1] oled_wr_str_w1_L0 +0x032A [1] oled_wr_str_w2_L0 +0x032B [1] FARG_set_addressing_pagenum +0x032C [1] FARG_set_addressing_c_start +0x032D [1] set_addressing_a_L0 +0x032E [1] set_addressing_b_L0 +0x032F [1] set_addressing_c_L0 +0x0330 [1] FARG_Soft_I2C_Write_d +0x0F80 [1] PORTA +0x0F81 [1] PORTB +0x0F82 [1] PORTC +0x0F89 [0] Cap_sw +0x0F89 [0] n_Tx +0x0F89 [0] p_Tx +0x0F89 [0] Ind_045 +0x0F89 [1] LATA +0x0F89 [0] Ind_22 +0x0F89 [0] Ind_1 +0x0F89 [0] LATA7_bit +0x0F89 [0] LATA2_bit +0x0F89 [0] LATA3_bit +0x0F89 [0] LATA6_bit +0x0F89 [0] LATA5_bit +0x0F89 [0] LATA4_bit +0x0F8A [0] LATB6_bit +0x0F8A [0] Ind_011 +0x0F8A [0] Ind_022 +0x0F8A [0] LATB7_bit +0x0F8A [0] Soft_I2C_Sda +0x0F8A [1] LATB +0x0F8A [0] Soft_I2C_Scl +0x0F8A [0] LATB2_bit +0x0F8A [0] LATB1_bit +0x0F8B [0] High +0x0F8B [0] Cap_10 +0x0F8B [0] Low +0x0F8B [0] Mid +0x0F8B [0] LATC5_bit +0x0F8B [0] LATC4_bit +0x0F8B [0] LATC3_bit +0x0F8B [1] LATC +0x0F8B [0] LATC7_bit +0x0F8B [0] LATC6_bit +0x0F8B [0] LATC2_bit +0x0F8B [0] Cap_100 +0x0F8B [0] Cap_47 +0x0F8B [0] Cap_22 +0x0F8B [0] LATC1_bit +0x0F8B [0] LATC0_bit +0x0F8B [0] Cap_220 +0x0F92 [1] TRISA +0x0F93 [0] Soft_I2C_Scl_Direction +0x0F93 [0] TRISB7_bit +0x0F93 [1] TRISB +0x0F93 [0] Soft_I2C_Sda_Direction +0x0F93 [0] TRISB6_bit +0x0F94 [1] TRISC +0x0F9B [0] PLLEN_bit +0x0FA1 [1] PIR2 +0x0FA6 [1] EECON1 +0x0FA7 [1] EECON2 +0x0FA8 [1] EEDATA +0x0FA9 [1] EEADR +0x0FB4 [1] CMCON +0x0FC0 [1] ADCON2 +0x0FC1 [1] ADCON1 +0x0FC2 [1] ADCON0 +0x0FC3 [1] ADRESL +0x0FC4 [1] ADRESH +0x0FD0 [1] RCON +0x0FD3 [1] OSCCON +0x0FD8 [1] STATUS +0x0FD9 [1] FSR2L +0x0FDA [1] FSR2H +0x0FDE [1] POSTINC2 +0x0FE0 [1] BSR +0x0FE1 [1] FSR1L +0x0FE2 [1] FSR1H +0x0FE4 [1] PREINC1 +0x0FE6 [1] POSTINC1 +0x0FE7 [1] INDF1 +0x0FE8 [1] WREG +0x0FE9 [1] FSR0L +0x0FEA [1] FSR0H +0x0FEE [1] POSTINC0 +0x0FF1 [0] RBPU_bit +0x0FF2 [1] INTCON +0x0FF2 [0] GIE_bit +0x0FF3 [1] PRODL +0x0FF4 [1] PRODH +0x0FF5 [1] TABLAT +0x0FF6 [3] TBLPTR +0x0FF6 [1] TBLPTRL +0x0FF7 [1] TBLPTRH +0x0FF8 [1] TBLPTRU +//** Constants locations ** +//ADDRESS SIZE CONSTANT +//---------------------------------------------- +0x5A7A [9] ?ICS?lstr52_main +0x5A83 [9] ?ICS?lstr51_main +0x5A8C [9] ?ICS?lstr50_main +0x5A95 [8] ?ICS?lstr55_main +0x5A9D [8] ?ICS?lstr54_main +0x5AA5 [9] ?ICS?lstr53_main +0x5AAE [1] ?ICSmain_Loss_ind +0x5AAF [3] ?ICS?lstr81_main +0x5AB2 [3] ?ICS?lstr80_main +0x5AB5 [3] ?ICS?lstr79_main +0x5AB8 [1] ?ICS_Test +0x5AB9 [3] ?ICS?lstr83_main +0x5ABC [3] ?ICS?lstr82_main +0x5ABF [5] ?ICS?lstr26_main +0x5AC4 [1] ?ICS_lcd_prep_short +0x5AC5 [17] ?ICS?lstr5_main +0x5AD6 [1] ?ICS_ind_mem +0x5AD7 [1] ?ICS_cap_mem +0x5AD8 [5] ?ICS?lstr27_main +0x5ADD [6] ?ICS?lstr4_main +0x5AE3 [1] ?ICS_Restart +0x5AE4 [11] ?ICS?lstr3_main +0x5AEF [10] ?ICS?lstr2_main +0x5AF9 [10] ?ICS?lstr1_main +0x5B03 [1] ?ICSmain_K_mult +0x5B04 [9] ?ICS?lstr71_main +0x5B0D [9] ?ICS?lstr70_main +0x5B16 [9] ?ICS?lstr66_main +0x5B1F [9] ?ICS?lstr65_main +0x5B28 [9] ?ICS?lstr64_main +0x5B31 [9] ?ICS?lstr69_main +0x5B3A [9] ?ICS?lstr68_main +0x5B43 [9] ?ICS?lstr67_main +0x5B4C [3] ?ICS?lstr78_main +0x5B4F [3] ?ICS?lstr77_main +0x5B52 [3] ?ICS?lstr73_main +0x5B55 [3] ?ICS?lstr72_main +0x5B58 [3] ?ICS?lstr76_main +0x5B5B [3] ?ICS?lstr75_main +0x5B5E [3] ?ICS?lstr74_main +0x5B61 [11] ?ICS?lstr44_main +0x5B6C [9] ?ICS?lstr43_main +0x5B75 [11] ?ICS?lstr42_main +0x5B80 [2] ?ICS?lstr47_main +0x5B82 [9] ?ICS?lstr46_main +0x5B8B [9] ?ICS?lstr45_main +0x5B94 [9] ?ICS?lstr41_main +0x5B9D [9] ?ICS?lstr37_main +0x5BA6 [9] ?ICS?lstr36_main +0x5BAF [11] ?ICS?lstr35_main +0x5BBA [11] ?ICS?lstr40_main +0x5BC5 [8] ?ICS?lstr39_main +0x5BCD [2] ?ICS?lstr38_main +0x5BCF [1] ?ICS_vref_mask +0x5BD0 [2] ?ICS?lstr17_main +0x5BD2 [2] ?ICS?lstr16_main +0x5BD4 [2] ?ICS?lstr15_main +0x5BD6 [2] ?ICS?lstr20_main +0x5BD8 [2] ?ICS?lstr19_main +0x5BDA [2] ?ICS?lstr18_main +0x5BDC [2] ?ICS?lstr14_main +0x5BDE [2] ?ICS?lstr10_main +0x5BE0 [1] ?ICS_Auto_mem +0x5BE1 [1] ?ICS_SW_mem +0x5BE2 [2] ?ICS?lstr13_main +0x5BE4 [2] ?ICS?lstr12_main +0x5BE6 [2] ?ICS?lstr11_main +0x5BE8 [2] ?ICS?lstr21_main +0x5BEA [11] ?ICS?lstr31_main +0x5BF5 [9] ?ICS?lstr30_main +0x5BFE [11] ?ICS?lstr29_main +0x5C09 [9] ?ICS?lstr34_main +0x5C12 [11] ?ICS?lstr33_main +0x5C1D [9] ?ICS?lstr32_main +0x5C26 [8] ?ICS?lstr28_main +0x5C2E [10] ?ICS?lstr86_main +0x5C38 [10] ?ICS?lstr85_main +0x5C42 [10] ?ICS?lstr84_main +0x5C4C [2] ?ICS?lstr89_main +0x5C4E [2] ?ICS?lstr88_main +0x5C50 [10] ?ICS?lstr87_main +0x5C5A [9] ?ICS?lstr63_main +0x5C63 [1] ?ICSmain_ind +0x5C64 [1] ?ICSmain_cap +0x5C65 [480] oled_control_font5x8 +0x5E45 [1] ?ICSmain_step_cap +0x5E46 [1] ?ICS_Loss_mode +0x5E47 [1] ?ICSmain_SW +0x5E48 [5] ?ICS?lstr48_main +0x5E4D [5] ?ICS?lstr49_main +0x5E52 [2] ?ICS_SWR_old +0x5E54 [9] ?ICS?lstr22_main +0x5E5D [1] ?ICS_Dysp_delay +0x5E5E [2] ?ICS_dysp_cnt +0x5E60 [1] ?ICS_but +0x5E61 [2] ?ICS?lstr9_main +0x5E63 [2] ?ICS?lstr8_main +0x5E65 [1] ?ICSmain_Overload +0x5E66 [1] ?ICS_bypas +0x5E67 [4] ?ICS_dysp_cnt_mult +0x5E6B [9] ?ICS?lstr60_main +0x5E74 [9] ?ICS?lstr59_main +0x5E7D [9] ?ICS?lstr62_main +0x5E86 [9] ?ICS?lstr61_main +0x5E8F [9] ?ICS?lstr58_main +0x5E98 [1] ?ICS_Soft_tune +0x5E99 [1] ?ICS_Auto +0x5E9A [9] ?ICS?lstr57_main +0x5EA3 [9] ?ICS?lstr56_main +0x5EAC [2] ?ICS?lstr7_main +0x5EAE [1] ?ICS_L +0x5EAF [2] ?ICS_P_max +0x5EB1 [1] ?ICS_rready +0x5EB2 [1] ?ICS_p_cnt +0x5EB3 [9] ?ICS?lstr23_main +0x5EBC [9] ?ICS?lstr24_main +0x5EC5 [9] ?ICS?lstr25_main +0x5ECE [2] ?ICS_Power_old +0x5ED0 [2] ?ICS?lstr6_main +0x5ED2 [2] ?ICS_SWR_fixed_old +0x5ED4 [1] ?ICSmain_step_ind diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.mcppi b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.mcppi new file mode 100644 index 0000000..e02231a --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.mcppi @@ -0,0 +1,68 @@ +[DEVICE] +Name=P18F2520 +Clock=16000000 +[MEMORY_MODEL] +Value=0 +[BUILD_TYPE] +Value=0 +[ACTIVE_TAB] +Value=main.c +[USE_EEPROM] +Value=1 +[EEPROM_DEFINITION] +Value= +[USE_HEAP] +Value=0 +[HEAP_SIZE] +Value=2000 +[FILES] +File0=pic_init.c +File1=oled_control.c +File2=main.c +Count=3 +[BINARIES] +Count=0 +[IMAGES] +Count=0 +ActiveImageIndex=-1 +[OPENED_FILES] +File0=main.h +File1=oled_control.c +File2=oled_control.h +File3=main.c +File4=pic_init.c +File5=pic_init.h +Count=6 +[EEPROM] +File0=atu_100_fw_00.ihex +Count=1 +[ACTIVE_COMMENTS_FILES] +Count=0 +[OTHER_FILES] +Count=0 +[SEARCH_PATH] +Count=0 +[HEADER_PATH] +Count=0 +[HEADERS] +File0=main.h +File1=oled_control.h +File2=pic_init.h +Count=3 +[PLDS] +Count=0 +[Useses] +File0=ADC +File1=Conversions +File2=Button +File3=EEPROM +Count=4 +[EXPANDED_NODES] +Count=0 +[LIB_EXPANDED_NODES] +0=mikroE Libraries +1=System Libraries +30=Conversions +126=EEPROM +162=FLASH +Count=6 diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.mcppi_callertable.txt b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.mcppi_callertable.txt new file mode 100644 index 0000000..ac12c82 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00.mcppi_callertable.txt @@ -0,0 +1,3048 @@ +main + __CC2DW + pic_init + ADC_Init + cells_init + EEPROM_Read + Bcd2Dec + Soft_I2C_Init + EEPROM_Read + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + led_init + EEPROM_Read + oled_init + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + set_addressing + Soft_I2C_Start + Soft_I2C_Write + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + set_cap + VDelay_ms + Mul_32x32_U + set_ind + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Read + lcd_prep + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + Test_init + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_prep + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + button_proc + Button + Delay_500us + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_reset + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + btn_push + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + tune + get_swr + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + Button + Delay_500us + show_reset + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + coarse_tune + Div_16x16_S + Div_16x16_S_L + set_ind + VDelay_ms + Mul_32x32_U + coarse_cap + set_cap + VDelay_ms + Mul_32x32_U + get_swr + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + Button + Delay_500us + show_reset + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + Div_16x16_S + Div_16x16_S_L + get_swr + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + Button + Delay_500us + show_reset + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + set_cap + VDelay_ms + Mul_32x32_U + sharp_ind + set_ind + VDelay_ms + Mul_32x32_U + get_swr + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + Button + Delay_500us + show_reset + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + sharp_cap + set_cap + VDelay_ms + Mul_32x32_U + get_swr + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + Button + Delay_500us + show_reset + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + set_sw + VDelay_ms + Mul_32x32_U + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + EEPROM_Write + Div_16x16_S + Div_16x16_S_L + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + EEPROM_Write + button_proc_test + Button + Delay_500us + set_sw + VDelay_ms + Mul_32x32_U + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + dysp_off + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00_callertable.txt b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00_callertable.txt new file mode 100644 index 0000000..f7fca6a --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/atu_100_fw_00_callertable.txt @@ -0,0 +1,3070 @@ +main + __CC2DW + pic_init + ADC_Init + cells_init + EEPROM_Read + Bcd2Dec + Soft_I2C_Init + EEPROM_Read + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + led_init + EEPROM_Read + oled_init + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + set_addressing + Soft_I2C_Start + Soft_I2C_Write + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + set_cap + VDelay_ms + Mul_32x32_U + set_ind + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + Button + Delay_500us + EEPROM_Read + Bcd2Dec + show_loss + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + Dec2Bcd + Div_8X8_U + EEPROM_Write + lcd_prep + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + Test_init + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_prep + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + button_proc + Button + Delay_500us + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_reset + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + btn_push + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + tune + get_swr + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + Button + Delay_500us + show_reset + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + coarse_tune + Div_16x16_S + Div_16x16_S_L + set_ind + VDelay_ms + Mul_32x32_U + coarse_cap + set_cap + VDelay_ms + Mul_32x32_U + get_swr + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + Button + Delay_500us + show_reset + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + Div_16x16_S + Div_16x16_S_L + get_swr + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + Button + Delay_500us + show_reset + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + set_cap + VDelay_ms + Mul_32x32_U + sharp_ind + set_ind + VDelay_ms + Mul_32x32_U + get_swr + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + Button + Delay_500us + show_reset + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + sharp_cap + set_cap + VDelay_ms + Mul_32x32_U + get_swr + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + Button + Delay_500us + show_reset + atu_reset + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + EEPROM_Write + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + set_sw + VDelay_ms + Mul_32x32_U + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + EEPROM_Write + Div_16x16_S + Div_16x16_S_L + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + set_sw + VDelay_ms + Mul_32x32_U + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + EEPROM_Write + button_proc_test + Button + Delay_500us + set_sw + VDelay_ms + Mul_32x32_U + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_pwr + button_delay + Button + Delay_500us + get_pwr + get_forward + ADC_Get_Sample + Delay_22us + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + get_reverse + ADC_Get_Sample + Delay_22us + word2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + correction + Mul_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Mul_32x32_U + Div_32x32_S + SDIV3232L + COMFREM + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + double2int + SETIOV3224 + lcd_swr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + dysp_on + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + double2int + SETIOV3224 + show_pwr + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + lcd_ind + IntToStr + WordToStr + Div_16X16_U + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + IntToStr + WordToStr + Div_16X16_U + int2double + NRM3232 + RES032 + SETFUN32 + FIXSIGN32 + Div_32x32_FP + SETFDZ32 + RES032 + SETFOV32 + SETFUN32 + Add_32x32_FP + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + SETFOV32 + byte2double + NRM4032 + SETFUN32 + FIXSIGN32 + SETFOV32 + RES032 + Mul_32x32_FP + RES032 + SETFOV32 + SETFUN32 + Compare_Double + double2int + SETIOV3224 + led_wr_str + oled_wr_str + Soft_I2C_Start + Soft_I2C_Write + set_addressing + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + set_ind + VDelay_ms + Mul_32x32_U + set_cap + VDelay_ms + Mul_32x32_U + dysp_off + send_command + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop + led_send + Soft_I2C_Start + Soft_I2C_Write + Soft_I2C_Stop diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/backup.c b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/backup.c new file mode 100644 index 0000000..99a8091 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/backup.c @@ -0,0 +1,2 @@ + + diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/backup.c.ini b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/backup.c.ini new file mode 100644 index 0000000..226e6ad --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/backup.c.ini @@ -0,0 +1,9 @@ +[Bookmarks] +Count=0 +[Position] +Line=3 +Column=1 +[BreakPoints] +Count=0 +[FoldedLines] +Count=0 diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/backup.mcl b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/backup.mcl new file mode 100644 index 0000000..48858cb Binary files /dev/null and b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/backup.mcl differ diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/font5x8.h b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/font5x8.h new file mode 100644 index 0000000..393b31c --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/font5x8.h @@ -0,0 +1,100 @@ + static const char font5x8[] = { +// +0x00, 0x00, 0x00, 0x00, 0x00,// (space) +0x00, 0x00, 0x5F, 0x00, 0x00,// ! +0x00, 0x07, 0x00, 0x07, 0x00,// " +0x14, 0x7F, 0x14, 0x7F, 0x14,// # +0x24, 0x2A, 0x7F, 0x2A, 0x12,// $ +0x23, 0x13, 0x08, 0x64, 0x62,// % +0x36, 0x49, 0x55, 0x22, 0x50,// & +0x00, 0x05, 0x03, 0x00, 0x00,// ' +0x00, 0x1C, 0x22, 0x41, 0x00,// ( +0x00, 0x41, 0x22, 0x1C, 0x00,// ) +0x08, 0x2A, 0x1C, 0x2A, 0x08,// * +0x08, 0x08, 0x3E, 0x08, 0x08,// + +0x00, 0x50, 0x30, 0x00, 0x00,// , +0x08, 0x08, 0x08, 0x08, 0x08,// - +0x00, 0x30, 0x30, 0x00, 0x00,// . +0x20, 0x10, 0x08, 0x04, 0x02,// / +0x3E, 0x51, 0x49, 0x45, 0x3E,// 0 +0x00, 0x42, 0x7F, 0x40, 0x00,// 1 +0x42, 0x61, 0x51, 0x49, 0x46,// 2 +0x21, 0x41, 0x45, 0x4B, 0x31,// 3 +0x18, 0x14, 0x12, 0x7F, 0x10,// 4 +0x27, 0x45, 0x45, 0x45, 0x39,// 5 +0x3C, 0x4A, 0x49, 0x49, 0x30,// 6 +0x01, 0x71, 0x09, 0x05, 0x03,// 7 +0x36, 0x49, 0x49, 0x49, 0x36,// 8 +0x06, 0x49, 0x49, 0x29, 0x1E,// 9 +0x00, 0x36, 0x36, 0x00, 0x00,// : +0x00, 0x56, 0x36, 0x00, 0x00,// ; +0x00, 0x08, 0x14, 0x22, 0x41,// < +0x14, 0x14, 0x14, 0x14, 0x14,// = +0x41, 0x22, 0x14, 0x08, 0x00,// > +0x02, 0x01, 0x51, 0x09, 0x06,// ? +0x32, 0x49, 0x79, 0x41, 0x3E,// @ +0x7E, 0x11, 0x11, 0x11, 0x7E,// A +0x7F, 0x49, 0x49, 0x49, 0x36,// B +0x3E, 0x41, 0x41, 0x41, 0x22,// C +0x7F, 0x41, 0x41, 0x22, 0x1C,// D +0x7F, 0x49, 0x49, 0x49, 0x41,// E +0x7F, 0x09, 0x09, 0x01, 0x01,// F +0x3E, 0x41, 0x41, 0x51, 0x32,// G +0x7F, 0x08, 0x08, 0x08, 0x7F,// H +0x00, 0x41, 0x7F, 0x41, 0x00,// I +0x20, 0x40, 0x41, 0x3F, 0x01,// J +0x7F, 0x08, 0x14, 0x22, 0x41,// K +0x7F, 0x40, 0x40, 0x40, 0x40,// L +0x7F, 0x02, 0x04, 0x02, 0x7F,// M +0x7F, 0x04, 0x08, 0x10, 0x7F,// N +0x3E, 0x41, 0x41, 0x41, 0x3E,// O +0x7F, 0x09, 0x09, 0x09, 0x06,// P +0x3E, 0x41, 0x51, 0x21, 0x5E,// Q +0x7F, 0x09, 0x19, 0x29, 0x46,// R +0x46, 0x49, 0x49, 0x49, 0x31,// S +0x01, 0x01, 0x7F, 0x01, 0x01,// T +0x3F, 0x40, 0x40, 0x40, 0x3F,// U +0x1F, 0x20, 0x40, 0x20, 0x1F,// V +0x7F, 0x20, 0x18, 0x20, 0x7F,// W +0x63, 0x14, 0x08, 0x14, 0x63,// X +0x03, 0x04, 0x78, 0x04, 0x03,// Y +0x61, 0x51, 0x49, 0x45, 0x43,// Z +0x00, 0x00, 0x7F, 0x41, 0x41,// [ +0x02, 0x04, 0x08, 0x10, 0x20,// "\" +0x41, 0x41, 0x7F, 0x00, 0x00,// ] +0x04, 0x02, 0x01, 0x02, 0x04,// ^ +0x40, 0x40, 0x40, 0x40, 0x40,// _ +0x00, 0x01, 0x02, 0x04, 0x00,// ` +0x20, 0x54, 0x54, 0x54, 0x78,// a +0x7F, 0x48, 0x44, 0x44, 0x38,// b +0x38, 0x44, 0x44, 0x44, 0x20,// c +0x38, 0x44, 0x44, 0x48, 0x7F,// d +0x38, 0x54, 0x54, 0x54, 0x18,// e +0x08, 0x7E, 0x09, 0x01, 0x02,// f +0x08, 0x14, 0x54, 0x54, 0x3C,// g +0x7F, 0x08, 0x04, 0x04, 0x78,// h +0x00, 0x44, 0x7D, 0x40, 0x00,// i +0x20, 0x40, 0x44, 0x3D, 0x00,// j +0x00, 0x7F, 0x10, 0x28, 0x44,// k +0x00, 0x41, 0x7F, 0x40, 0x00,// l +0x7C, 0x04, 0x18, 0x04, 0x78,// m +0x7C, 0x08, 0x04, 0x04, 0x78,// n +0x38, 0x44, 0x44, 0x44, 0x38,// o +0x7C, 0x14, 0x14, 0x14, 0x08,// p +0x08, 0x14, 0x14, 0x18, 0x7C,// q +0x7C, 0x08, 0x04, 0x04, 0x08,// r +0x48, 0x54, 0x54, 0x54, 0x20,// s +0x04, 0x3F, 0x44, 0x40, 0x20,// t +0x3C, 0x40, 0x40, 0x20, 0x7C,// u +0x1C, 0x20, 0x40, 0x20, 0x1C,// v +0x3C, 0x40, 0x30, 0x40, 0x3C,// w +0x44, 0x28, 0x10, 0x28, 0x44,// x +0x0C, 0x50, 0x50, 0x50, 0x3C,// y +0x44, 0x64, 0x54, 0x4C, 0x44,// z +0x00, 0x08, 0x36, 0x41, 0x00,// { +0x00, 0x00, 0x7F, 0x00, 0x00,// | +0x00, 0x41, 0x36, 0x08, 0x00,// } +0x08, 0x08, 0x2A, 0x1C, 0x08,// -> +0x08, 0x1C, 0x2A, 0x08, 0x08 // <- +}; +// diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/font5x8.h.ini b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/font5x8.h.ini new file mode 100644 index 0000000..2879890 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/font5x8.h.ini @@ -0,0 +1,9 @@ +[Bookmarks] +Count=0 +[Position] +Line=19 +Column=43 +[BreakPoints] +Count=0 +[FoldedLines] +Count=0 diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.asm b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.asm new file mode 100644 index 0000000..4142710 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.asm @@ -0,0 +1,8792 @@ + +_correction: + +;main.h,40 :: int correction(int input) { +;main.h,41 :: input *= 3; // Devider compensation + MOVF FARG_correction_input+0, 0 + MOVWF R0 + MOVF FARG_correction_input+1, 0 + MOVWF R1 + MOVLW 3 + MOVWF R4 + MOVLW 0 + MOVWF R5 + CALL _Mul_16X16_U+0, 0 + MOVF R0, 0 + MOVWF FARG_correction_input+0 + MOVF R1, 0 + MOVWF FARG_correction_input+1 +;main.h,43 :: if(input <= 80) return 0; + MOVLW 128 + MOVWF R2 + MOVLW 128 + XORWF R1, 0 + SUBWF R2, 0 + BTFSS STATUS+0, 2 + GOTO L__correction445 + MOVF R0, 0 + SUBLW 80 +L__correction445: + BTFSS STATUS+0, 0 + GOTO L_correction0 + CLRF R0 + CLRF R1 + GOTO L_end_correction +L_correction0: +;main.h,44 :: if(input <= 171) input += 244; + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF FARG_correction_input+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__correction446 + MOVF FARG_correction_input+0, 0 + SUBLW 171 +L__correction446: + BTFSS STATUS+0, 0 + GOTO L_correction1 + MOVLW 244 + ADDWF FARG_correction_input+0, 1 + MOVLW 0 + ADDWFC FARG_correction_input+1, 1 + GOTO L_correction2 +L_correction1: +;main.h,45 :: else if(input <= 328) input += 254; + MOVLW 128 + XORLW 1 + MOVWF R0 + MOVLW 128 + XORWF FARG_correction_input+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__correction447 + MOVF FARG_correction_input+0, 0 + SUBLW 72 +L__correction447: + BTFSS STATUS+0, 0 + GOTO L_correction3 + MOVLW 254 + ADDWF FARG_correction_input+0, 1 + MOVLW 0 + ADDWFC FARG_correction_input+1, 1 + GOTO L_correction4 +L_correction3: +;main.h,46 :: else if(input <= 582) input += 280; + MOVLW 128 + XORLW 2 + MOVWF R0 + MOVLW 128 + XORWF FARG_correction_input+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__correction448 + MOVF FARG_correction_input+0, 0 + SUBLW 70 +L__correction448: + BTFSS STATUS+0, 0 + GOTO L_correction5 + MOVLW 24 + ADDWF FARG_correction_input+0, 1 + MOVLW 1 + ADDWFC FARG_correction_input+1, 1 + GOTO L_correction6 +L_correction5: +;main.h,47 :: else if(input <= 820) input += 297; + MOVLW 128 + XORLW 3 + MOVWF R0 + MOVLW 128 + XORWF FARG_correction_input+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__correction449 + MOVF FARG_correction_input+0, 0 + SUBLW 52 +L__correction449: + BTFSS STATUS+0, 0 + GOTO L_correction7 + MOVLW 41 + ADDWF FARG_correction_input+0, 1 + MOVLW 1 + ADDWFC FARG_correction_input+1, 1 + GOTO L_correction8 +L_correction7: +;main.h,48 :: else if(input <= 1100) input += 310; + MOVLW 128 + XORLW 4 + MOVWF R0 + MOVLW 128 + XORWF FARG_correction_input+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__correction450 + MOVF FARG_correction_input+0, 0 + SUBLW 76 +L__correction450: + BTFSS STATUS+0, 0 + GOTO L_correction9 + MOVLW 54 + ADDWF FARG_correction_input+0, 1 + MOVLW 1 + ADDWFC FARG_correction_input+1, 1 + GOTO L_correction10 +L_correction9: +;main.h,49 :: else if(input <= 2181) input += 430; + MOVLW 128 + XORLW 8 + MOVWF R0 + MOVLW 128 + XORWF FARG_correction_input+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__correction451 + MOVF FARG_correction_input+0, 0 + SUBLW 133 +L__correction451: + BTFSS STATUS+0, 0 + GOTO L_correction11 + MOVLW 174 + ADDWF FARG_correction_input+0, 1 + MOVLW 1 + ADDWFC FARG_correction_input+1, 1 + GOTO L_correction12 +L_correction11: +;main.h,50 :: else if(input <= 3322) input += 484; + MOVLW 128 + XORLW 12 + MOVWF R0 + MOVLW 128 + XORWF FARG_correction_input+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__correction452 + MOVF FARG_correction_input+0, 0 + SUBLW 250 +L__correction452: + BTFSS STATUS+0, 0 + GOTO L_correction13 + MOVLW 228 + ADDWF FARG_correction_input+0, 1 + MOVLW 1 + ADDWFC FARG_correction_input+1, 1 + GOTO L_correction14 +L_correction13: +;main.h,51 :: else if(input <= 4623) input += 530; + MOVLW 128 + XORLW 18 + MOVWF R0 + MOVLW 128 + XORWF FARG_correction_input+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__correction453 + MOVF FARG_correction_input+0, 0 + SUBLW 15 +L__correction453: + BTFSS STATUS+0, 0 + GOTO L_correction15 + MOVLW 18 + ADDWF FARG_correction_input+0, 1 + MOVLW 2 + ADDWFC FARG_correction_input+1, 1 + GOTO L_correction16 +L_correction15: +;main.h,52 :: else if(input <= 5862) input += 648; + MOVLW 128 + XORLW 22 + MOVWF R0 + MOVLW 128 + XORWF FARG_correction_input+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__correction454 + MOVF FARG_correction_input+0, 0 + SUBLW 230 +L__correction454: + BTFSS STATUS+0, 0 + GOTO L_correction17 + MOVLW 136 + ADDWF FARG_correction_input+0, 1 + MOVLW 2 + ADDWFC FARG_correction_input+1, 1 + GOTO L_correction18 +L_correction17: +;main.h,53 :: else if(input <= 7146) input += 743; + MOVLW 128 + XORLW 27 + MOVWF R0 + MOVLW 128 + XORWF FARG_correction_input+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__correction455 + MOVF FARG_correction_input+0, 0 + SUBLW 234 +L__correction455: + BTFSS STATUS+0, 0 + GOTO L_correction19 + MOVLW 231 + ADDWF FARG_correction_input+0, 1 + MOVLW 2 + ADDWFC FARG_correction_input+1, 1 + GOTO L_correction20 +L_correction19: +;main.h,54 :: else if(input <= 8502) input += 820; + MOVLW 128 + XORLW 33 + MOVWF R0 + MOVLW 128 + XORWF FARG_correction_input+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__correction456 + MOVF FARG_correction_input+0, 0 + SUBLW 54 +L__correction456: + BTFSS STATUS+0, 0 + GOTO L_correction21 + MOVLW 52 + ADDWF FARG_correction_input+0, 1 + MOVLW 3 + ADDWFC FARG_correction_input+1, 1 + GOTO L_correction22 +L_correction21: +;main.h,55 :: else if(input <= 10500) input += 900; + MOVLW 128 + XORLW 41 + MOVWF R0 + MOVLW 128 + XORWF FARG_correction_input+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__correction457 + MOVF FARG_correction_input+0, 0 + SUBLW 4 +L__correction457: + BTFSS STATUS+0, 0 + GOTO L_correction23 + MOVLW 132 + ADDWF FARG_correction_input+0, 1 + MOVLW 3 + ADDWFC FARG_correction_input+1, 1 + GOTO L_correction24 +L_correction23: +;main.h,56 :: else input += 850; + MOVLW 82 + ADDWF FARG_correction_input+0, 1 + MOVLW 3 + ADDWFC FARG_correction_input+1, 1 +L_correction24: +L_correction22: +L_correction20: +L_correction18: +L_correction16: +L_correction14: +L_correction12: +L_correction10: +L_correction8: +L_correction6: +L_correction4: +L_correction2: +;main.h,59 :: return input; + MOVF FARG_correction_input+0, 0 + MOVWF R0 + MOVF FARG_correction_input+1, 0 + MOVWF R1 +;main.h,60 :: } +L_end_correction: + RETURN 0 +; end of _correction + +_get_reverse: + +;main.h,64 :: int get_reverse() { +;main.h,65 :: return ADC_Get_Sample(1) * 4.883; + MOVLW 1 + MOVWF FARG_ADC_Get_Sample_channel+0 + CALL _ADC_Get_Sample+0, 0 + CALL _word2double+0, 0 + MOVLW 137 + MOVWF R4 + MOVLW 65 + MOVWF R5 + MOVLW 28 + MOVWF R6 + MOVLW 129 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + CALL _double2int+0, 0 +;main.h,66 :: } +L_end_get_reverse: + RETURN 0 +; end of _get_reverse + +_get_forward: + +;main.h,69 :: int get_forward() { +;main.h,71 :: Forward = ADC_Get_Sample(0); + CLRF FARG_ADC_Get_Sample_channel+0 + CALL _ADC_Get_Sample+0, 0 + MOVF R0, 0 + MOVWF get_forward_Forward_L0+0 + MOVF R1, 0 + MOVWF get_forward_Forward_L0+1 +;main.h,72 :: if(Forward==1023) Overload = 1; + MOVF R1, 0 + XORLW 3 + BTFSS STATUS+0, 2 + GOTO L__get_forward460 + MOVLW 255 + XORWF R0, 0 +L__get_forward460: + BTFSS STATUS+0, 2 + GOTO L_get_forward25 + MOVLW 1 + MOVWF main_Overload+0 + GOTO L_get_forward26 +L_get_forward25: +;main.h,73 :: else Overload = 0; + CLRF main_Overload+0 +L_get_forward26: +;main.h,74 :: return Forward * 4.883; + MOVF get_forward_Forward_L0+0, 0 + MOVWF R0 + MOVF get_forward_Forward_L0+1, 0 + MOVWF R1 + CALL _int2double+0, 0 + MOVLW 137 + MOVWF R4 + MOVLW 65 + MOVWF R5 + MOVLW 28 + MOVWF R6 + MOVLW 129 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + CALL _double2int+0, 0 +;main.h,75 :: } +L_end_get_forward: + RETURN 0 +; end of _get_forward + +_get_pwr: + +;main.h,77 :: void get_pwr() { +;main.h,80 :: asm CLRWDT; + CLRWDT +;main.h,82 :: Forward = get_forward(); + CALL _get_forward+0, 0 + MOVF R0, 0 + MOVWF get_pwr_Forward_L0+0 + MOVF R1, 0 + MOVWF get_pwr_Forward_L0+1 + MOVLW 0 + BTFSC R1, 7 + MOVLW 255 + MOVWF get_pwr_Forward_L0+2 + MOVWF get_pwr_Forward_L0+3 +;main.h,83 :: Reverse = get_reverse(); + CALL _get_reverse+0, 0 + MOVF R0, 0 + MOVWF get_pwr_Reverse_L0+0 + MOVF R1, 0 + MOVWF get_pwr_Reverse_L0+1 + MOVLW 0 + BTFSC R1, 7 + MOVLW 255 + MOVWF get_pwr_Reverse_L0+2 + MOVWF get_pwr_Reverse_L0+3 +;main.h,84 :: p = correction(Forward); + MOVF get_pwr_Forward_L0+0, 0 + MOVWF FARG_correction_input+0 + MOVF get_pwr_Forward_L0+1, 0 + MOVWF FARG_correction_input+1 + CALL _correction+0, 0 + CALL _int2double+0, 0 + MOVF R0, 0 + MOVWF get_pwr_p_L0+0 + MOVF R1, 0 + MOVWF get_pwr_p_L0+1 + MOVF R2, 0 + MOVWF get_pwr_p_L0+2 + MOVF R3, 0 + MOVWF get_pwr_p_L0+3 +;main.h,86 :: if(Reverse >= Forward) + MOVLW 128 + XORWF get_pwr_Reverse_L0+3, 0 + MOVWF R0 + MOVLW 128 + XORWF get_pwr_Forward_L0+3, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__get_pwr462 + MOVF get_pwr_Forward_L0+2, 0 + SUBWF get_pwr_Reverse_L0+2, 0 + BTFSS STATUS+0, 2 + GOTO L__get_pwr462 + MOVF get_pwr_Forward_L0+1, 0 + SUBWF get_pwr_Reverse_L0+1, 0 + BTFSS STATUS+0, 2 + GOTO L__get_pwr462 + MOVF get_pwr_Forward_L0+0, 0 + SUBWF get_pwr_Reverse_L0+0, 0 +L__get_pwr462: + BTFSS STATUS+0, 0 + GOTO L_get_pwr27 +;main.h,87 :: Forward = 999; + MOVLW 231 + MOVWF get_pwr_Forward_L0+0 + MOVLW 3 + MOVWF get_pwr_Forward_L0+1 + MOVLW 0 + MOVWF get_pwr_Forward_L0+2 + MOVWF get_pwr_Forward_L0+3 + GOTO L_get_pwr28 +L_get_pwr27: +;main.h,89 :: Forward = ((Forward + Reverse) * 100) / (Forward - Reverse); + MOVF get_pwr_Reverse_L0+0, 0 + ADDWF get_pwr_Forward_L0+0, 0 + MOVWF R0 + MOVF get_pwr_Reverse_L0+1, 0 + ADDWFC get_pwr_Forward_L0+1, 0 + MOVWF R1 + MOVF get_pwr_Reverse_L0+2, 0 + ADDWFC get_pwr_Forward_L0+2, 0 + MOVWF R2 + MOVF get_pwr_Reverse_L0+3, 0 + ADDWFC get_pwr_Forward_L0+3, 0 + MOVWF R3 + MOVLW 100 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVWF R6 + MOVWF R7 + CALL _Mul_32x32_U+0, 0 + MOVF get_pwr_Forward_L0+0, 0 + MOVWF R4 + MOVF get_pwr_Forward_L0+1, 0 + MOVWF R5 + MOVF get_pwr_Forward_L0+2, 0 + MOVWF R6 + MOVF get_pwr_Forward_L0+3, 0 + MOVWF R7 + MOVF get_pwr_Reverse_L0+0, 0 + SUBWF R4, 1 + MOVF get_pwr_Reverse_L0+1, 0 + SUBWFB R5, 1 + MOVF get_pwr_Reverse_L0+2, 0 + SUBWFB R6, 1 + MOVF get_pwr_Reverse_L0+3, 0 + SUBWFB R7, 1 + CALL _Div_32x32_S+0, 0 + MOVF R0, 0 + MOVWF get_pwr_Forward_L0+0 + MOVF R1, 0 + MOVWF get_pwr_Forward_L0+1 + MOVF R2, 0 + MOVWF get_pwr_Forward_L0+2 + MOVF R3, 0 + MOVWF get_pwr_Forward_L0+3 +;main.h,90 :: if(Forward>999) Forward = 999; + MOVLW 128 + MOVWF R4 + MOVLW 128 + XORWF R3, 0 + SUBWF R4, 0 + BTFSS STATUS+0, 2 + GOTO L__get_pwr463 + MOVF R2, 0 + SUBLW 0 + BTFSS STATUS+0, 2 + GOTO L__get_pwr463 + MOVF R1, 0 + SUBLW 3 + BTFSS STATUS+0, 2 + GOTO L__get_pwr463 + MOVF R0, 0 + SUBLW 231 +L__get_pwr463: + BTFSC STATUS+0, 0 + GOTO L_get_pwr29 + MOVLW 231 + MOVWF get_pwr_Forward_L0+0 + MOVLW 3 + MOVWF get_pwr_Forward_L0+1 + MOVLW 0 + MOVWF get_pwr_Forward_L0+2 + MOVWF get_pwr_Forward_L0+3 +L_get_pwr29: +;main.h,91 :: } +L_get_pwr28: +;main.h,93 :: p = p * K_mult / 1000; // mV to Volts + MOVF main_K_mult+0, 0 + MOVWF R0 + CALL _byte2double+0, 0 + MOVF get_pwr_p_L0+0, 0 + MOVWF R4 + MOVF get_pwr_p_L0+1, 0 + MOVWF R5 + MOVF get_pwr_p_L0+2, 0 + MOVWF R6 + MOVF get_pwr_p_L0+3, 0 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + MOVLW 0 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVLW 122 + MOVWF R6 + MOVLW 136 + MOVWF R7 + CALL _Div_32x32_FP+0, 0 + MOVF R0, 0 + MOVWF get_pwr_p_L0+0 + MOVF R1, 0 + MOVWF get_pwr_p_L0+1 + MOVF R2, 0 + MOVWF get_pwr_p_L0+2 + MOVF R3, 0 + MOVWF get_pwr_p_L0+3 +;main.h,94 :: p = p / 1.414; + MOVLW 244 + MOVWF R4 + MOVLW 253 + MOVWF R5 + MOVLW 52 + MOVWF R6 + MOVLW 127 + MOVWF R7 + CALL _Div_32x32_FP+0, 0 + MOVF R0, 0 + MOVWF get_pwr_p_L0+0 + MOVF R1, 0 + MOVWF get_pwr_p_L0+1 + MOVF R2, 0 + MOVWF get_pwr_p_L0+2 + MOVF R3, 0 + MOVWF get_pwr_p_L0+3 +;main.h,95 :: p = p * p / 5; + MOVF R0, 0 + MOVWF R4 + MOVF R1, 0 + MOVWF R5 + MOVF R2, 0 + MOVWF R6 + MOVF R3, 0 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + MOVLW 0 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVLW 32 + MOVWF R6 + MOVLW 129 + MOVWF R7 + CALL _Div_32x32_FP+0, 0 + MOVF R0, 0 + MOVWF get_pwr_p_L0+0 + MOVF R1, 0 + MOVWF get_pwr_p_L0+1 + MOVF R2, 0 + MOVWF get_pwr_p_L0+2 + MOVF R3, 0 + MOVWF get_pwr_p_L0+3 +;main.h,96 :: p = p + 0.5; // rounding to 0.1 W + MOVLW 0 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVLW 0 + MOVWF R6 + MOVLW 126 + MOVWF R7 + CALL _Add_32x32_FP+0, 0 + MOVF R0, 0 + MOVWF get_pwr_p_L0+0 + MOVF R1, 0 + MOVWF get_pwr_p_L0+1 + MOVF R2, 0 + MOVWF get_pwr_p_L0+2 + MOVF R3, 0 + MOVWF get_pwr_p_L0+3 +;main.h,97 :: PWR = p; // 0 - 1510 (151.0 Watts) + CALL _double2int+0, 0 + MOVF R0, 0 + MOVWF _PWR+0 + MOVF R1, 0 + MOVWF _PWR+1 +;main.h,98 :: if(PWR<10) SWR = 1; + MOVLW 128 + XORWF R1, 0 + MOVWF R2 + MOVLW 128 + SUBWF R2, 0 + BTFSS STATUS+0, 2 + GOTO L__get_pwr464 + MOVLW 10 + SUBWF R0, 0 +L__get_pwr464: + BTFSC STATUS+0, 0 + GOTO L_get_pwr30 + MOVLW 1 + MOVWF _SWR+0 + MOVLW 0 + MOVWF _SWR+1 + GOTO L_get_pwr31 +L_get_pwr30: +;main.h,99 :: else if(Forward<100) SWR = 999; + MOVLW 128 + XORWF get_pwr_Forward_L0+3, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__get_pwr465 + MOVLW 0 + SUBWF get_pwr_Forward_L0+2, 0 + BTFSS STATUS+0, 2 + GOTO L__get_pwr465 + MOVLW 0 + SUBWF get_pwr_Forward_L0+1, 0 + BTFSS STATUS+0, 2 + GOTO L__get_pwr465 + MOVLW 100 + SUBWF get_pwr_Forward_L0+0, 0 +L__get_pwr465: + BTFSC STATUS+0, 0 + GOTO L_get_pwr32 + MOVLW 231 + MOVWF _SWR+0 + MOVLW 3 + MOVWF _SWR+1 + GOTO L_get_pwr33 +L_get_pwr32: +;main.h,100 :: else SWR = Forward; + MOVF get_pwr_Forward_L0+0, 0 + MOVWF _SWR+0 + MOVF get_pwr_Forward_L0+1, 0 + MOVWF _SWR+1 +L_get_pwr33: +L_get_pwr31: +;main.h,101 :: return; +;main.h,102 :: } +L_end_get_pwr: + RETURN 0 +; end of _get_pwr + +_get_swr: + +;main.h,104 :: int get_swr() { +;main.h,105 :: get_pwr(); + CALL _get_pwr+0, 0 +;main.h,106 :: if(p_cnt!=100) { + MOVF _p_cnt+0, 0 + XORLW 100 + BTFSC STATUS+0, 2 + GOTO L_get_swr34 +;main.h,107 :: p_cnt += 1; + INCF _p_cnt+0, 1 +;main.h,108 :: if(PWR>P_max) P_max = PWR; + MOVLW 128 + XORWF _P_max+1, 0 + MOVWF R0 + MOVLW 128 + XORWF _PWR+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__get_swr467 + MOVF _PWR+0, 0 + SUBWF _P_max+0, 0 +L__get_swr467: + BTFSC STATUS+0, 0 + GOTO L_get_swr35 + MOVF _PWR+0, 0 + MOVWF _P_max+0 + MOVF _PWR+1, 0 + MOVWF _P_max+1 +L_get_swr35: +;main.h,109 :: } + GOTO L_get_swr36 +L_get_swr34: +;main.h,111 :: p_cnt = 0; + CLRF _p_cnt+0 +;main.h,112 :: show_pwr(P_max, SWR); + MOVF _P_max+0, 0 + MOVWF FARG_show_pwr+0 + MOVF _P_max+1, 0 + MOVWF FARG_show_pwr+1 + MOVF _SWR+0, 0 + MOVWF FARG_show_pwr+0 + MOVF _SWR+1, 0 + MOVWF FARG_show_pwr+1 + CALL _show_pwr+0, 0 +;main.h,113 :: P_max = 0; + CLRF _P_max+0 + CLRF _P_max+1 +;main.h,114 :: } +L_get_swr36: +;main.h,116 :: while((PWR max_for_start & max_for_start>0))) { // waiting for good power +L_get_swr37: + MOVLW 128 + XORWF _PWR+1, 0 + MOVWF R2 + MOVLW 128 + XORWF main_min_for_start+1, 0 + SUBWF R2, 0 + BTFSS STATUS+0, 2 + GOTO L__get_swr468 + MOVF main_min_for_start+0, 0 + SUBWF _PWR+0, 0 +L__get_swr468: + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R2 + MOVLW 128 + XORWF main_max_for_start+1, 0 + MOVWF R1 + MOVLW 128 + XORWF _PWR+1, 0 + SUBWF R1, 0 + BTFSS STATUS+0, 2 + GOTO L__get_swr469 + MOVF _PWR+0, 0 + SUBWF main_max_for_start+0, 0 +L__get_swr469: + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R1 + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF main_max_for_start+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__get_swr470 + MOVF main_max_for_start+0, 0 + SUBLW 0 +L__get_swr470: + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + MOVF R2, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_get_swr38 +;main.h,117 :: asm CLRWDT; + CLRWDT +;main.h,118 :: get_pwr(); + CALL _get_pwr+0, 0 +;main.h,119 :: if(p_cnt!=100) { + MOVF _p_cnt+0, 0 + XORLW 100 + BTFSC STATUS+0, 2 + GOTO L_get_swr39 +;main.h,120 :: p_cnt += 1; + INCF _p_cnt+0, 1 +;main.h,121 :: if(PWR>P_max) P_max = PWR; + MOVLW 128 + XORWF _P_max+1, 0 + MOVWF R0 + MOVLW 128 + XORWF _PWR+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__get_swr471 + MOVF _PWR+0, 0 + SUBWF _P_max+0, 0 +L__get_swr471: + BTFSC STATUS+0, 0 + GOTO L_get_swr40 + MOVF _PWR+0, 0 + MOVWF _P_max+0 + MOVF _PWR+1, 0 + MOVWF _P_max+1 +L_get_swr40: +;main.h,122 :: } + GOTO L_get_swr41 +L_get_swr39: +;main.h,124 :: p_cnt = 0; + CLRF _p_cnt+0 +;main.h,125 :: show_pwr(P_max, SWR); + MOVF _P_max+0, 0 + MOVWF FARG_show_pwr+0 + MOVF _P_max+1, 0 + MOVWF FARG_show_pwr+1 + MOVF _SWR+0, 0 + MOVWF FARG_show_pwr+0 + MOVF _SWR+1, 0 + MOVWF FARG_show_pwr+1 + CALL _show_pwr+0, 0 +;main.h,126 :: P_max = 0; + CLRF _P_max+0 + CLRF _P_max+1 +;main.h,127 :: } +L_get_swr41: +;main.h,129 :: if(Button(&PORTB, 0, 5, 1)) rready = 1; + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + CLRF FARG_Button_pin+0 + MOVLW 5 + MOVWF FARG_Button_time_ms+0 + MOVLW 1 + MOVWF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_get_swr42 + MOVLW 1 + MOVWF _rready+0 +L_get_swr42: +;main.h,130 :: if(rready==1 & Button(&PORTB, 0, 5, 0)) { // press button Tune + MOVF _rready+0, 0 + XORLW 1 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF FLOC__get_swr+0 + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + CLRF FARG_Button_pin+0 + MOVLW 5 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF FLOC__get_swr+0, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_get_swr43 +;main.h,131 :: show_reset(); + CALL _show_reset+0, 0 +;main.h,132 :: SWR = 0; + CLRF _SWR+0 + CLRF _SWR+1 +;main.h,133 :: return SWR; + CLRF R0 + CLRF R1 + GOTO L_end_get_swr +;main.h,134 :: } +L_get_swr43: +;main.h,135 :: } // good power + GOTO L_get_swr37 +L_get_swr38: +;main.h,136 :: return SWR; + MOVF _SWR+0, 0 + MOVWF R0 + MOVF _SWR+1, 0 + MOVWF R1 +;main.h,137 :: } +L_end_get_swr: + RETURN 0 +; end of _get_swr + +_set_ind: + +;main.h,139 :: void set_ind(char Ind) { // 0 - 31 +;main.h,141 :: Ind_011 = Ind.B0; + BTFSC FARG_set_ind_Ind+0, 0 + GOTO L__set_ind473 + BCF LATB1_bit+0, BitPos(LATB1_bit+0) + GOTO L__set_ind474 +L__set_ind473: + BSF LATB1_bit+0, BitPos(LATB1_bit+0) +L__set_ind474: +;main.h,142 :: Ind_022 = Ind.B1; + BTFSC FARG_set_ind_Ind+0, 1 + GOTO L__set_ind475 + BCF LATB2_bit+0, BitPos(LATB2_bit+0) + GOTO L__set_ind476 +L__set_ind475: + BSF LATB2_bit+0, BitPos(LATB2_bit+0) +L__set_ind476: +;main.h,143 :: Ind_045 = Ind.B2; + BTFSC FARG_set_ind_Ind+0, 2 + GOTO L__set_ind477 + BCF LATA2_bit+0, BitPos(LATA2_bit+0) + GOTO L__set_ind478 +L__set_ind477: + BSF LATA2_bit+0, BitPos(LATA2_bit+0) +L__set_ind478: +;main.h,144 :: Ind_1 = Ind.B3; + BTFSC FARG_set_ind_Ind+0, 3 + GOTO L__set_ind479 + BCF LATA4_bit+0, BitPos(LATA4_bit+0) + GOTO L__set_ind480 +L__set_ind479: + BSF LATA4_bit+0, BitPos(LATA4_bit+0) +L__set_ind480: +;main.h,145 :: Ind_22 = Ind.B4; + BTFSC FARG_set_ind_Ind+0, 4 + GOTO L__set_ind481 + BCF LATA5_bit+0, BitPos(LATA5_bit+0) + GOTO L__set_ind482 +L__set_ind481: + BSF LATA5_bit+0, BitPos(LATA5_bit+0) +L__set_ind482: +;main.h,147 :: Vdelay_ms(Rel_Del); + MOVF main_Rel_Del+0, 0 + MOVWF FARG_VDelay_ms_Time_ms+0 + MOVF main_Rel_Del+1, 0 + MOVWF FARG_VDelay_ms_Time_ms+1 + CALL _VDelay_ms+0, 0 +;main.h,148 :: } +L_end_set_ind: + RETURN 0 +; end of _set_ind + +_set_cap: + +;main.h,150 :: void set_cap(char Cap) { // 0 - 31 +;main.h,151 :: Cap_10 = Cap.B0; + BTFSC FARG_set_cap_Cap+0, 0 + GOTO L__set_cap484 + BCF LATC1_bit+0, BitPos(LATC1_bit+0) + GOTO L__set_cap485 +L__set_cap484: + BSF LATC1_bit+0, BitPos(LATC1_bit+0) +L__set_cap485: +;main.h,152 :: Cap_22 = Cap.B1; + BTFSC FARG_set_cap_Cap+0, 1 + GOTO L__set_cap486 + BCF LATC2_bit+0, BitPos(LATC2_bit+0) + GOTO L__set_cap487 +L__set_cap486: + BSF LATC2_bit+0, BitPos(LATC2_bit+0) +L__set_cap487: +;main.h,153 :: Cap_47 = Cap.B2; + BTFSC FARG_set_cap_Cap+0, 2 + GOTO L__set_cap488 + BCF LATC3_bit+0, BitPos(LATC3_bit+0) + GOTO L__set_cap489 +L__set_cap488: + BSF LATC3_bit+0, BitPos(LATC3_bit+0) +L__set_cap489: +;main.h,154 :: Cap_100 = Cap.B3; + BTFSC FARG_set_cap_Cap+0, 3 + GOTO L__set_cap490 + BCF LATC4_bit+0, BitPos(LATC4_bit+0) + GOTO L__set_cap491 +L__set_cap490: + BSF LATC4_bit+0, BitPos(LATC4_bit+0) +L__set_cap491: +;main.h,155 :: Cap_220 = Cap.B4; + BTFSC FARG_set_cap_Cap+0, 4 + GOTO L__set_cap492 + BCF LATC5_bit+0, BitPos(LATC5_bit+0) + GOTO L__set_cap493 +L__set_cap492: + BSF LATC5_bit+0, BitPos(LATC5_bit+0) +L__set_cap493: +;main.h,157 :: Vdelay_ms(Rel_Del); + MOVF main_Rel_Del+0, 0 + MOVWF FARG_VDelay_ms_Time_ms+0 + MOVF main_Rel_Del+1, 0 + MOVWF FARG_VDelay_ms_Time_ms+1 + CALL _VDelay_ms+0, 0 +;main.h,158 :: } +L_end_set_cap: + RETURN 0 +; end of _set_cap + +_set_sw: + +;main.h,160 :: void set_sw(char SW) { // 0 - IN, 1 - OUT +;main.h,161 :: Cap_sw = SW; + BTFSC FARG_set_sw_SW+0, 0 + GOTO L__set_sw495 + BCF LATA6_bit+0, BitPos(LATA6_bit+0) + GOTO L__set_sw496 +L__set_sw495: + BSF LATA6_bit+0, BitPos(LATA6_bit+0) +L__set_sw496: +;main.h,162 :: Vdelay_ms(Rel_Del); + MOVF main_Rel_Del+0, 0 + MOVWF FARG_VDelay_ms_Time_ms+0 + MOVF main_Rel_Del+1, 0 + MOVWF FARG_VDelay_ms_Time_ms+1 + CALL _VDelay_ms+0, 0 +;main.h,163 :: } +L_end_set_sw: + RETURN 0 +; end of _set_sw + +_atu_reset: + +;main.h,165 :: void atu_reset() { +;main.h,166 :: ind = 0; + CLRF main_ind+0 +;main.h,167 :: cap = 0; + CLRF main_cap+0 +;main.h,168 :: set_ind(ind); + CLRF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.h,169 :: set_cap(cap); + MOVF main_cap+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.h,170 :: Vdelay_ms(Rel_Del); + MOVF main_Rel_Del+0, 0 + MOVWF FARG_VDelay_ms_Time_ms+0 + MOVF main_Rel_Del+1, 0 + MOVWF FARG_VDelay_ms_Time_ms+1 + CALL _VDelay_ms+0, 0 +;main.h,171 :: } +L_end_atu_reset: + RETURN 0 +; end of _atu_reset + +_coarse_cap: + +;main.h,173 :: void coarse_cap() { +;main.h,174 :: char step = 3; + MOVLW 3 + MOVWF coarse_cap_step_L0+0 +;main.h,178 :: cap = 0; + CLRF main_cap+0 +;main.h,179 :: set_cap(cap); + CLRF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.h,180 :: SWR = get_swr(); + CALL _get_swr+0, 0 + MOVF R0, 0 + MOVWF FLOC__coarse_cap+0 + MOVF R1, 0 + MOVWF FLOC__coarse_cap+1 + MOVF FLOC__coarse_cap+0, 0 + MOVWF _SWR+0 + MOVF FLOC__coarse_cap+1, 0 + MOVWF _SWR+1 +;main.h,181 :: min_swr = SWR + SWR/20; + MOVLW 20 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVF FLOC__coarse_cap+0, 0 + MOVWF R0 + MOVF FLOC__coarse_cap+1, 0 + MOVWF R1 + CALL _Div_16x16_S+0, 0 + MOVF R0, 0 + ADDWF FLOC__coarse_cap+0, 0 + MOVWF coarse_cap_min_swr_L0+0 + MOVF R1, 0 + ADDWFC FLOC__coarse_cap+1, 0 + MOVWF coarse_cap_min_swr_L0+1 +;main.h,182 :: for(count=step; count<=31;) { + MOVF coarse_cap_step_L0+0, 0 + MOVWF coarse_cap_count_L0+0 +L_coarse_cap44: + MOVF coarse_cap_count_L0+0, 0 + SUBLW 31 + BTFSS STATUS+0, 0 + GOTO L_coarse_cap45 +;main.h,183 :: set_cap(count); + MOVF coarse_cap_count_L0+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.h,184 :: SWR = get_swr(); + CALL _get_swr+0, 0 + MOVF R0, 0 + MOVWF _SWR+0 + MOVF R1, 0 + MOVWF _SWR+1 +;main.h,185 :: if(SWR < min_swr) { + MOVLW 128 + XORWF R1, 0 + MOVWF R2 + MOVLW 128 + XORWF coarse_cap_min_swr_L0+1, 0 + SUBWF R2, 0 + BTFSS STATUS+0, 2 + GOTO L__coarse_cap499 + MOVF coarse_cap_min_swr_L0+0, 0 + SUBWF R0, 0 +L__coarse_cap499: + BTFSC STATUS+0, 0 + GOTO L_coarse_cap47 +;main.h,186 :: min_swr = SWR + SWR/20; + MOVLW 20 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVF _SWR+0, 0 + MOVWF R0 + MOVF _SWR+1, 0 + MOVWF R1 + CALL _Div_16x16_S+0, 0 + MOVF R0, 0 + ADDWF _SWR+0, 0 + MOVWF coarse_cap_min_swr_L0+0 + MOVF R1, 0 + ADDWFC _SWR+1, 0 + MOVWF coarse_cap_min_swr_L0+1 +;main.h,187 :: cap = count; + MOVF coarse_cap_count_L0+0, 0 + MOVWF main_cap+0 +;main.h,188 :: step_cap = step; + MOVF coarse_cap_step_L0+0, 0 + MOVWF main_step_cap+0 +;main.h,189 :: if(SWR<120) break; + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__coarse_cap500 + MOVLW 120 + SUBWF _SWR+0, 0 +L__coarse_cap500: + BTFSC STATUS+0, 0 + GOTO L_coarse_cap48 + GOTO L_coarse_cap45 +L_coarse_cap48: +;main.h,190 :: count += step; + MOVF coarse_cap_step_L0+0, 0 + ADDWF coarse_cap_count_L0+0, 0 + MOVWF R1 + MOVF R1, 0 + MOVWF coarse_cap_count_L0+0 +;main.h,191 :: if(count==9) count = 8; + MOVF R1, 0 + XORLW 9 + BTFSS STATUS+0, 2 + GOTO L_coarse_cap49 + MOVLW 8 + MOVWF coarse_cap_count_L0+0 + GOTO L_coarse_cap50 +L_coarse_cap49: +;main.h,192 :: else if(count==17) {count = 16; step = 4;} + MOVF coarse_cap_count_L0+0, 0 + XORLW 17 + BTFSS STATUS+0, 2 + GOTO L_coarse_cap51 + MOVLW 16 + MOVWF coarse_cap_count_L0+0 + MOVLW 4 + MOVWF coarse_cap_step_L0+0 +L_coarse_cap51: +L_coarse_cap50: +;main.h,193 :: } + GOTO L_coarse_cap52 +L_coarse_cap47: +;main.h,194 :: else break; + GOTO L_coarse_cap45 +L_coarse_cap52: +;main.h,195 :: } + GOTO L_coarse_cap44 +L_coarse_cap45: +;main.h,196 :: set_cap(cap); + MOVF main_cap+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.h,197 :: return; +;main.h,198 :: } +L_end_coarse_cap: + RETURN 0 +; end of _coarse_cap + +_coarse_tune: + +;main.h,200 :: void coarse_tune() { +;main.h,201 :: char step = 3; + MOVLW 3 + MOVWF coarse_tune_step_L0+0 +;main.h,206 :: mem_cap = 0; + CLRF coarse_tune_mem_cap_L0+0 +;main.h,207 :: step_ind = step; + MOVF coarse_tune_step_L0+0, 0 + MOVWF main_step_ind+0 +;main.h,208 :: mem_step_cap = 3; + MOVLW 3 + MOVWF coarse_tune_mem_step_cap_L0+0 +;main.h,209 :: min_swr = SWR + SWR/20; + MOVLW 20 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVF _SWR+0, 0 + MOVWF R0 + MOVF _SWR+1, 0 + MOVWF R1 + CALL _Div_16x16_S+0, 0 + MOVF R0, 0 + ADDWF _SWR+0, 0 + MOVWF coarse_tune_min_swr_L0+0 + MOVF R1, 0 + ADDWFC _SWR+1, 0 + MOVWF coarse_tune_min_swr_L0+1 +;main.h,210 :: for(count=0; count<=31;) { + CLRF coarse_tune_count_L0+0 +L_coarse_tune53: + MOVF coarse_tune_count_L0+0, 0 + SUBLW 31 + BTFSS STATUS+0, 0 + GOTO L_coarse_tune54 +;main.h,211 :: set_ind(count); + MOVF coarse_tune_count_L0+0, 0 + MOVWF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.h,212 :: coarse_cap(); + CALL _coarse_cap+0, 0 +;main.h,213 :: SWR = get_swr(); + CALL _get_swr+0, 0 + MOVF R0, 0 + MOVWF _SWR+0 + MOVF R1, 0 + MOVWF _SWR+1 +;main.h,214 :: if(SWR < min_swr) { + MOVLW 128 + XORWF R1, 0 + MOVWF R2 + MOVLW 128 + XORWF coarse_tune_min_swr_L0+1, 0 + SUBWF R2, 0 + BTFSS STATUS+0, 2 + GOTO L__coarse_tune502 + MOVF coarse_tune_min_swr_L0+0, 0 + SUBWF R0, 0 +L__coarse_tune502: + BTFSC STATUS+0, 0 + GOTO L_coarse_tune56 +;main.h,215 :: min_swr = SWR + SWR/20; + MOVLW 20 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVF _SWR+0, 0 + MOVWF R0 + MOVF _SWR+1, 0 + MOVWF R1 + CALL _Div_16x16_S+0, 0 + MOVF R0, 0 + ADDWF _SWR+0, 0 + MOVWF coarse_tune_min_swr_L0+0 + MOVF R1, 0 + ADDWFC _SWR+1, 0 + MOVWF coarse_tune_min_swr_L0+1 +;main.h,216 :: ind = count; + MOVF coarse_tune_count_L0+0, 0 + MOVWF main_ind+0 +;main.h,217 :: mem_cap = cap; + MOVF main_cap+0, 0 + MOVWF coarse_tune_mem_cap_L0+0 +;main.h,218 :: step_ind = step; + MOVF coarse_tune_step_L0+0, 0 + MOVWF main_step_ind+0 +;main.h,219 :: mem_step_cap = step_cap; + MOVF main_step_cap+0, 0 + MOVWF coarse_tune_mem_step_cap_L0+0 +;main.h,220 :: if(SWR<120) break; + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__coarse_tune503 + MOVLW 120 + SUBWF _SWR+0, 0 +L__coarse_tune503: + BTFSC STATUS+0, 0 + GOTO L_coarse_tune57 + GOTO L_coarse_tune54 +L_coarse_tune57: +;main.h,221 :: count += step; + MOVF coarse_tune_step_L0+0, 0 + ADDWF coarse_tune_count_L0+0, 0 + MOVWF R1 + MOVF R1, 0 + MOVWF coarse_tune_count_L0+0 +;main.h,222 :: if(count==9) count = 8; + MOVF R1, 0 + XORLW 9 + BTFSS STATUS+0, 2 + GOTO L_coarse_tune58 + MOVLW 8 + MOVWF coarse_tune_count_L0+0 + GOTO L_coarse_tune59 +L_coarse_tune58: +;main.h,223 :: else if(count==17) {count = 16; step = 4;} + MOVF coarse_tune_count_L0+0, 0 + XORLW 17 + BTFSS STATUS+0, 2 + GOTO L_coarse_tune60 + MOVLW 16 + MOVWF coarse_tune_count_L0+0 + MOVLW 4 + MOVWF coarse_tune_step_L0+0 +L_coarse_tune60: +L_coarse_tune59: +;main.h,224 :: } + GOTO L_coarse_tune61 +L_coarse_tune56: +;main.h,225 :: else break; + GOTO L_coarse_tune54 +L_coarse_tune61: +;main.h,226 :: } + GOTO L_coarse_tune53 +L_coarse_tune54: +;main.h,227 :: cap = mem_cap; + MOVF coarse_tune_mem_cap_L0+0, 0 + MOVWF main_cap+0 +;main.h,228 :: set_ind(ind); + MOVF main_ind+0, 0 + MOVWF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.h,229 :: set_cap(cap); + MOVF main_cap+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.h,230 :: step_cap = mem_step_cap; + MOVF coarse_tune_mem_step_cap_L0+0, 0 + MOVWF main_step_cap+0 +;main.h,231 :: Delay_ms(10); + MOVLW 52 + MOVWF R12, 0 + MOVLW 241 + MOVWF R13, 0 +L_coarse_tune62: + DECFSZ R13, 1, 1 + BRA L_coarse_tune62 + DECFSZ R12, 1, 1 + BRA L_coarse_tune62 + NOP + NOP +;main.h,232 :: return; +;main.h,233 :: } +L_end_coarse_tune: + RETURN 0 +; end of _coarse_tune + +_sharp_cap: + +;main.h,236 :: void sharp_cap() { +;main.h,239 :: range = step_cap; + MOVF main_step_cap+0, 0 + MOVWF sharp_cap_range_L0+0 +;main.h,241 :: max_range = cap + range; + MOVF main_step_cap+0, 0 + ADDWF main_cap+0, 0 + MOVWF R1 + MOVF R1, 0 + MOVWF sharp_cap_max_range_L0+0 +;main.h,242 :: if(max_range>31) max_range = 31; + MOVF R1, 0 + SUBLW 31 + BTFSC STATUS+0, 0 + GOTO L_sharp_cap63 + MOVLW 31 + MOVWF sharp_cap_max_range_L0+0 +L_sharp_cap63: +;main.h,243 :: if(cap>range) min_range = cap - range; else min_range = 0; + MOVF main_cap+0, 0 + SUBWF sharp_cap_range_L0+0, 0 + BTFSC STATUS+0, 0 + GOTO L_sharp_cap64 + MOVF sharp_cap_range_L0+0, 0 + SUBWF main_cap+0, 0 + MOVWF sharp_cap_min_range_L0+0 + GOTO L_sharp_cap65 +L_sharp_cap64: + CLRF sharp_cap_min_range_L0+0 +L_sharp_cap65: +;main.h,244 :: cap = min_range; + MOVF sharp_cap_min_range_L0+0, 0 + MOVWF main_cap+0 +;main.h,245 :: set_cap(cap); + MOVF sharp_cap_min_range_L0+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.h,246 :: SWR = get_swr(); + CALL _get_swr+0, 0 + MOVF R0, 0 + MOVWF _SWR+0 + MOVF R1, 0 + MOVWF _SWR+1 +;main.h,247 :: if(SWR==0) return; + MOVLW 0 + XORWF R1, 0 + BTFSS STATUS+0, 2 + GOTO L__sharp_cap505 + MOVLW 0 + XORWF R0, 0 +L__sharp_cap505: + BTFSS STATUS+0, 2 + GOTO L_sharp_cap66 + GOTO L_end_sharp_cap +L_sharp_cap66: +;main.h,248 :: min_SWR = SWR; + MOVF _SWR+0, 0 + MOVWF sharp_cap_min_swr_L0+0 + MOVF _SWR+1, 0 + MOVWF sharp_cap_min_swr_L0+1 +;main.h,249 :: for(count=min_range+1; count<=max_range; count++) { + MOVF sharp_cap_min_range_L0+0, 0 + ADDLW 1 + MOVWF sharp_cap_count_L0+0 +L_sharp_cap67: + MOVF sharp_cap_count_L0+0, 0 + SUBWF sharp_cap_max_range_L0+0, 0 + BTFSS STATUS+0, 0 + GOTO L_sharp_cap68 +;main.h,250 :: set_cap(count); + MOVF sharp_cap_count_L0+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.h,251 :: SWR = get_swr(); + CALL _get_swr+0, 0 + MOVF R0, 0 + MOVWF _SWR+0 + MOVF R1, 0 + MOVWF _SWR+1 +;main.h,252 :: if(SWR==0) return; + MOVLW 0 + XORWF R1, 0 + BTFSS STATUS+0, 2 + GOTO L__sharp_cap506 + MOVLW 0 + XORWF R0, 0 +L__sharp_cap506: + BTFSS STATUS+0, 2 + GOTO L_sharp_cap70 + GOTO L_end_sharp_cap +L_sharp_cap70: +;main.h,253 :: if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + XORWF sharp_cap_min_swr_L0+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__sharp_cap507 + MOVF sharp_cap_min_swr_L0+0, 0 + SUBWF _SWR+0, 0 +L__sharp_cap507: + BTFSS STATUS+0, 0 + GOTO L_sharp_cap71 + MOVLW 52 + MOVWF R12, 0 + MOVLW 241 + MOVWF R13, 0 +L_sharp_cap72: + DECFSZ R13, 1, 1 + BRA L_sharp_cap72 + DECFSZ R12, 1, 1 + BRA L_sharp_cap72 + NOP + NOP + CALL _get_swr+0, 0 + MOVF R0, 0 + MOVWF _SWR+0 + MOVF R1, 0 + MOVWF _SWR+1 +L_sharp_cap71: +;main.h,254 :: if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + XORWF sharp_cap_min_swr_L0+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__sharp_cap508 + MOVF sharp_cap_min_swr_L0+0, 0 + SUBWF _SWR+0, 0 +L__sharp_cap508: + BTFSS STATUS+0, 0 + GOTO L_sharp_cap73 + MOVLW 52 + MOVWF R12, 0 + MOVLW 241 + MOVWF R13, 0 +L_sharp_cap74: + DECFSZ R13, 1, 1 + BRA L_sharp_cap74 + DECFSZ R12, 1, 1 + BRA L_sharp_cap74 + NOP + NOP + CALL _get_swr+0, 0 + MOVF R0, 0 + MOVWF _SWR+0 + MOVF R1, 0 + MOVWF _SWR+1 +L_sharp_cap73: +;main.h,255 :: if(SWR < min_SWR) { + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + XORWF sharp_cap_min_swr_L0+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__sharp_cap509 + MOVF sharp_cap_min_swr_L0+0, 0 + SUBWF _SWR+0, 0 +L__sharp_cap509: + BTFSC STATUS+0, 0 + GOTO L_sharp_cap75 +;main.h,256 :: min_SWR = SWR; + MOVF _SWR+0, 0 + MOVWF sharp_cap_min_swr_L0+0 + MOVF _SWR+1, 0 + MOVWF sharp_cap_min_swr_L0+1 +;main.h,257 :: cap = count; + MOVF sharp_cap_count_L0+0, 0 + MOVWF main_cap+0 +;main.h,258 :: if(SWR<120) break; + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__sharp_cap510 + MOVLW 120 + SUBWF _SWR+0, 0 +L__sharp_cap510: + BTFSC STATUS+0, 0 + GOTO L_sharp_cap76 + GOTO L_sharp_cap68 +L_sharp_cap76: +;main.h,259 :: } + GOTO L_sharp_cap77 +L_sharp_cap75: +;main.h,260 :: else break; + GOTO L_sharp_cap68 +L_sharp_cap77: +;main.h,249 :: for(count=min_range+1; count<=max_range; count++) { + INCF sharp_cap_count_L0+0, 1 +;main.h,261 :: } + GOTO L_sharp_cap67 +L_sharp_cap68: +;main.h,262 :: set_cap(cap); + MOVF main_cap+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.h,263 :: return; +;main.h,264 :: } +L_end_sharp_cap: + RETURN 0 +; end of _sharp_cap + +_sharp_ind: + +;main.h,266 :: void sharp_ind() { +;main.h,269 :: range = step_ind; + MOVF main_step_ind+0, 0 + MOVWF sharp_ind_range_L0+0 +;main.h,271 :: max_range = ind + range; + MOVF main_step_ind+0, 0 + ADDWF main_ind+0, 0 + MOVWF R1 + MOVF R1, 0 + MOVWF sharp_ind_max_range_L0+0 +;main.h,272 :: if(max_range>31) max_range = 31; + MOVF R1, 0 + SUBLW 31 + BTFSC STATUS+0, 0 + GOTO L_sharp_ind78 + MOVLW 31 + MOVWF sharp_ind_max_range_L0+0 +L_sharp_ind78: +;main.h,273 :: if(ind>range) min_range = ind - range; else min_range = 0; + MOVF main_ind+0, 0 + SUBWF sharp_ind_range_L0+0, 0 + BTFSC STATUS+0, 0 + GOTO L_sharp_ind79 + MOVF sharp_ind_range_L0+0, 0 + SUBWF main_ind+0, 0 + MOVWF sharp_ind_min_range_L0+0 + GOTO L_sharp_ind80 +L_sharp_ind79: + CLRF sharp_ind_min_range_L0+0 +L_sharp_ind80: +;main.h,274 :: ind = min_range; + MOVF sharp_ind_min_range_L0+0, 0 + MOVWF main_ind+0 +;main.h,275 :: set_ind(ind); + MOVF sharp_ind_min_range_L0+0, 0 + MOVWF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.h,276 :: SWR = get_swr(); + CALL _get_swr+0, 0 + MOVF R0, 0 + MOVWF _SWR+0 + MOVF R1, 0 + MOVWF _SWR+1 +;main.h,277 :: if(SWR==0) return; + MOVLW 0 + XORWF R1, 0 + BTFSS STATUS+0, 2 + GOTO L__sharp_ind512 + MOVLW 0 + XORWF R0, 0 +L__sharp_ind512: + BTFSS STATUS+0, 2 + GOTO L_sharp_ind81 + GOTO L_end_sharp_ind +L_sharp_ind81: +;main.h,278 :: min_SWR = SWR; + MOVF _SWR+0, 0 + MOVWF sharp_ind_min_SWR_L0+0 + MOVF _SWR+1, 0 + MOVWF sharp_ind_min_SWR_L0+1 +;main.h,279 :: for(count=min_range+1; count<=max_range; count++) { + MOVF sharp_ind_min_range_L0+0, 0 + ADDLW 1 + MOVWF sharp_ind_count_L0+0 +L_sharp_ind82: + MOVF sharp_ind_count_L0+0, 0 + SUBWF sharp_ind_max_range_L0+0, 0 + BTFSS STATUS+0, 0 + GOTO L_sharp_ind83 +;main.h,280 :: set_ind(count); + MOVF sharp_ind_count_L0+0, 0 + MOVWF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.h,281 :: SWR = get_swr(); + CALL _get_swr+0, 0 + MOVF R0, 0 + MOVWF _SWR+0 + MOVF R1, 0 + MOVWF _SWR+1 +;main.h,282 :: if(SWR==0) return; + MOVLW 0 + XORWF R1, 0 + BTFSS STATUS+0, 2 + GOTO L__sharp_ind513 + MOVLW 0 + XORWF R0, 0 +L__sharp_ind513: + BTFSS STATUS+0, 2 + GOTO L_sharp_ind85 + GOTO L_end_sharp_ind +L_sharp_ind85: +;main.h,283 :: if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + XORWF sharp_ind_min_SWR_L0+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__sharp_ind514 + MOVF sharp_ind_min_SWR_L0+0, 0 + SUBWF _SWR+0, 0 +L__sharp_ind514: + BTFSS STATUS+0, 0 + GOTO L_sharp_ind86 + MOVLW 52 + MOVWF R12, 0 + MOVLW 241 + MOVWF R13, 0 +L_sharp_ind87: + DECFSZ R13, 1, 1 + BRA L_sharp_ind87 + DECFSZ R12, 1, 1 + BRA L_sharp_ind87 + NOP + NOP + CALL _get_swr+0, 0 + MOVF R0, 0 + MOVWF _SWR+0 + MOVF R1, 0 + MOVWF _SWR+1 +L_sharp_ind86: +;main.h,284 :: if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + XORWF sharp_ind_min_SWR_L0+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__sharp_ind515 + MOVF sharp_ind_min_SWR_L0+0, 0 + SUBWF _SWR+0, 0 +L__sharp_ind515: + BTFSS STATUS+0, 0 + GOTO L_sharp_ind88 + MOVLW 52 + MOVWF R12, 0 + MOVLW 241 + MOVWF R13, 0 +L_sharp_ind89: + DECFSZ R13, 1, 1 + BRA L_sharp_ind89 + DECFSZ R12, 1, 1 + BRA L_sharp_ind89 + NOP + NOP + CALL _get_swr+0, 0 + MOVF R0, 0 + MOVWF _SWR+0 + MOVF R1, 0 + MOVWF _SWR+1 +L_sharp_ind88: +;main.h,285 :: if(SWR < min_SWR) { + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + XORWF sharp_ind_min_SWR_L0+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__sharp_ind516 + MOVF sharp_ind_min_SWR_L0+0, 0 + SUBWF _SWR+0, 0 +L__sharp_ind516: + BTFSC STATUS+0, 0 + GOTO L_sharp_ind90 +;main.h,286 :: min_SWR = SWR; + MOVF _SWR+0, 0 + MOVWF sharp_ind_min_SWR_L0+0 + MOVF _SWR+1, 0 + MOVWF sharp_ind_min_SWR_L0+1 +;main.h,287 :: ind = count; + MOVF sharp_ind_count_L0+0, 0 + MOVWF main_ind+0 +;main.h,288 :: if(SWR<120) break; + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__sharp_ind517 + MOVLW 120 + SUBWF _SWR+0, 0 +L__sharp_ind517: + BTFSC STATUS+0, 0 + GOTO L_sharp_ind91 + GOTO L_sharp_ind83 +L_sharp_ind91: +;main.h,289 :: } + GOTO L_sharp_ind92 +L_sharp_ind90: +;main.h,290 :: else break; + GOTO L_sharp_ind83 +L_sharp_ind92: +;main.h,279 :: for(count=min_range+1; count<=max_range; count++) { + INCF sharp_ind_count_L0+0, 1 +;main.h,291 :: } + GOTO L_sharp_ind82 +L_sharp_ind83: +;main.h,292 :: set_ind(ind); + MOVF main_ind+0, 0 + MOVWF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.h,293 :: return; +;main.h,294 :: } +L_end_sharp_ind: + RETURN 0 +; end of _sharp_ind + +_tune: + +;main.h,297 :: void tune() { +;main.h,299 :: asm CLRWDT; + CLRWDT +;main.h,300 :: rready = 0; + CLRF _rready+0 +;main.h,301 :: P_max = 0; + CLRF _P_max+0 + CLRF _P_max+1 +;main.h,302 :: p_cnt = 0; + CLRF _p_cnt+0 +;main.h,303 :: get_swr(); + CALL _get_swr+0, 0 +;main.h,304 :: if(SWR<110) return; + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune519 + MOVLW 110 + SUBWF _SWR+0, 0 +L__tune519: + BTFSC STATUS+0, 0 + GOTO L_tune93 + GOTO L_end_tune +L_tune93: +;main.h,305 :: atu_reset(); + CALL _atu_reset+0, 0 +;main.h,306 :: if(Loss_ind==0) lcd_ind(); + MOVF main_Loss_ind+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_tune94 + CALL _lcd_ind+0, 0 +L_tune94: +;main.h,307 :: Delay_ms(50); + MOVLW 2 + MOVWF R11, 0 + MOVLW 4 + MOVWF R12, 0 + MOVLW 186 + MOVWF R13, 0 +L_tune95: + DECFSZ R13, 1, 1 + BRA L_tune95 + DECFSZ R12, 1, 1 + BRA L_tune95 + DECFSZ R11, 1, 1 + BRA L_tune95 + NOP +;main.h,308 :: get_swr(); + CALL _get_swr+0, 0 +;main.h,309 :: swr_a = SWR; + MOVF _SWR+0, 0 + MOVWF _swr_a+0 + MOVF _SWR+1, 0 + MOVWF _swr_a+1 +;main.h,310 :: if(SWR<110) return; + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune520 + MOVLW 110 + SUBWF _SWR+0, 0 +L__tune520: + BTFSC STATUS+0, 0 + GOTO L_tune96 + GOTO L_end_tune +L_tune96: +;main.h,311 :: if(max_swr>110 & SWR>max_swr) return; + MOVLW 128 + MOVWF R1 + MOVLW 128 + XORWF main_max_swr+1, 0 + SUBWF R1, 0 + BTFSS STATUS+0, 2 + GOTO L__tune521 + MOVF main_max_swr+0, 0 + SUBLW 110 +L__tune521: + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R1 + MOVLW 128 + XORWF main_max_swr+1, 0 + MOVWF R0 + MOVLW 128 + XORWF _SWR+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune522 + MOVF _SWR+0, 0 + SUBWF main_max_swr+0, 0 +L__tune522: + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_tune97 + GOTO L_end_tune +L_tune97: +;main.h,313 :: swr_mem = SWR; + MOVF _SWR+0, 0 + MOVWF tune_swr_mem_L0+0 + MOVF _SWR+1, 0 + MOVWF tune_swr_mem_L0+1 +;main.h,314 :: coarse_tune(); if(SWR==0) {atu_reset(); return;} + CALL _coarse_tune+0, 0 + MOVLW 0 + XORWF _SWR+1, 0 + BTFSS STATUS+0, 2 + GOTO L__tune523 + MOVLW 0 + XORWF _SWR+0, 0 +L__tune523: + BTFSS STATUS+0, 2 + GOTO L_tune98 + CALL _atu_reset+0, 0 + GOTO L_end_tune +L_tune98: +;main.h,315 :: get_swr(); if(SWR<120) return; + CALL _get_swr+0, 0 + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune524 + MOVLW 120 + SUBWF _SWR+0, 0 +L__tune524: + BTFSC STATUS+0, 0 + GOTO L_tune99 + GOTO L_end_tune +L_tune99: +;main.h,316 :: sharp_ind(); if(SWR==0) {atu_reset(); return;} + CALL _sharp_ind+0, 0 + MOVLW 0 + XORWF _SWR+1, 0 + BTFSS STATUS+0, 2 + GOTO L__tune525 + MOVLW 0 + XORWF _SWR+0, 0 +L__tune525: + BTFSS STATUS+0, 2 + GOTO L_tune100 + CALL _atu_reset+0, 0 + GOTO L_end_tune +L_tune100: +;main.h,317 :: get_swr(); if(SWR<120) return; + CALL _get_swr+0, 0 + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune526 + MOVLW 120 + SUBWF _SWR+0, 0 +L__tune526: + BTFSC STATUS+0, 0 + GOTO L_tune101 + GOTO L_end_tune +L_tune101: +;main.h,318 :: sharp_cap(); if(SWR==0) {atu_reset(); return;} + CALL _sharp_cap+0, 0 + MOVLW 0 + XORWF _SWR+1, 0 + BTFSS STATUS+0, 2 + GOTO L__tune527 + MOVLW 0 + XORWF _SWR+0, 0 +L__tune527: + BTFSS STATUS+0, 2 + GOTO L_tune102 + CALL _atu_reset+0, 0 + GOTO L_end_tune +L_tune102: +;main.h,319 :: get_swr(); if(SWR<120) return; + CALL _get_swr+0, 0 + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune528 + MOVLW 120 + SUBWF _SWR+0, 0 +L__tune528: + BTFSC STATUS+0, 0 + GOTO L_tune103 + GOTO L_end_tune +L_tune103: +;main.h,321 :: if(SWR<200 & SWR100) return; + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R1 + MOVLW 128 + SUBWF R1, 0 + BTFSS STATUS+0, 2 + GOTO L__tune529 + MOVLW 200 + SUBWF _SWR+0, 0 +L__tune529: + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R1 + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + XORWF tune_swr_mem_L0+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune530 + MOVF tune_swr_mem_L0+0, 0 + SUBWF _SWR+0, 0 +L__tune530: + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R0 + MOVF R0, 0 + ANDWF R1, 0 + MOVWF R3 + MOVF _SWR+0, 0 + SUBWF tune_swr_mem_L0+0, 0 + MOVWF R1 + MOVF _SWR+1, 0 + SUBWFB tune_swr_mem_L0+1, 0 + MOVWF R2 + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF R2, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune531 + MOVF R1, 0 + SUBLW 100 +L__tune531: + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R0 + MOVF R3, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_tune104 + GOTO L_end_tune +L_tune104: +;main.h,322 :: swr_mem = SWR; + MOVF _SWR+0, 0 + MOVWF tune_swr_mem_L0+0 + MOVF _SWR+1, 0 + MOVWF tune_swr_mem_L0+1 +;main.h,323 :: ind_mem = ind; + MOVF main_ind+0, 0 + MOVWF tune_ind_mem_L0+0 + MOVLW 0 + MOVWF tune_ind_mem_L0+1 +;main.h,324 :: cap_mem = cap; + MOVF main_cap+0, 0 + MOVWF tune_cap_mem_L0+0 + MOVLW 0 + MOVWF tune_cap_mem_L0+1 +;main.h,326 :: if(SW==1) SW = 0; else SW = 1; + MOVF main_SW+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_tune105 + CLRF main_SW+0 + GOTO L_tune106 +L_tune105: + MOVLW 1 + MOVWF main_SW+0 +L_tune106: +;main.h,327 :: atu_reset(); + CALL _atu_reset+0, 0 +;main.h,328 :: set_sw(SW); + MOVF main_SW+0, 0 + MOVWF FARG_set_sw_SW+0 + CALL _set_sw+0, 0 +;main.h,329 :: Delay_ms(50); + MOVLW 2 + MOVWF R11, 0 + MOVLW 4 + MOVWF R12, 0 + MOVLW 186 + MOVWF R13, 0 +L_tune107: + DECFSZ R13, 1, 1 + BRA L_tune107 + DECFSZ R12, 1, 1 + BRA L_tune107 + DECFSZ R11, 1, 1 + BRA L_tune107 + NOP +;main.h,330 :: get_swr(); if(SWR<120) return; + CALL _get_swr+0, 0 + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune532 + MOVLW 120 + SUBWF _SWR+0, 0 +L__tune532: + BTFSC STATUS+0, 0 + GOTO L_tune108 + GOTO L_end_tune +L_tune108: +;main.h,332 :: coarse_tune(); if(SWR==0) {atu_reset(); return;} + CALL _coarse_tune+0, 0 + MOVLW 0 + XORWF _SWR+1, 0 + BTFSS STATUS+0, 2 + GOTO L__tune533 + MOVLW 0 + XORWF _SWR+0, 0 +L__tune533: + BTFSS STATUS+0, 2 + GOTO L_tune109 + CALL _atu_reset+0, 0 + GOTO L_end_tune +L_tune109: +;main.h,333 :: get_swr(); if(SWR<120) return; + CALL _get_swr+0, 0 + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune534 + MOVLW 120 + SUBWF _SWR+0, 0 +L__tune534: + BTFSC STATUS+0, 0 + GOTO L_tune110 + GOTO L_end_tune +L_tune110: +;main.h,334 :: sharp_ind(); if(SWR==0) {atu_reset(); return;} + CALL _sharp_ind+0, 0 + MOVLW 0 + XORWF _SWR+1, 0 + BTFSS STATUS+0, 2 + GOTO L__tune535 + MOVLW 0 + XORWF _SWR+0, 0 +L__tune535: + BTFSS STATUS+0, 2 + GOTO L_tune111 + CALL _atu_reset+0, 0 + GOTO L_end_tune +L_tune111: +;main.h,335 :: get_swr(); if(SWR<120) return; + CALL _get_swr+0, 0 + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune536 + MOVLW 120 + SUBWF _SWR+0, 0 +L__tune536: + BTFSC STATUS+0, 0 + GOTO L_tune112 + GOTO L_end_tune +L_tune112: +;main.h,336 :: sharp_cap(); if(SWR==0) {atu_reset(); return;} + CALL _sharp_cap+0, 0 + MOVLW 0 + XORWF _SWR+1, 0 + BTFSS STATUS+0, 2 + GOTO L__tune537 + MOVLW 0 + XORWF _SWR+0, 0 +L__tune537: + BTFSS STATUS+0, 2 + GOTO L_tune113 + CALL _atu_reset+0, 0 + GOTO L_end_tune +L_tune113: +;main.h,337 :: get_swr(); if(SWR<120) return; + CALL _get_swr+0, 0 + MOVLW 128 + XORWF _SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune538 + MOVLW 120 + SUBWF _SWR+0, 0 +L__tune538: + BTFSC STATUS+0, 0 + GOTO L_tune114 + GOTO L_end_tune +L_tune114: +;main.h,339 :: if(SWR>swr_mem) { + MOVLW 128 + XORWF tune_swr_mem_L0+1, 0 + MOVWF R0 + MOVLW 128 + XORWF _SWR+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__tune539 + MOVF _SWR+0, 0 + SUBWF tune_swr_mem_L0+0, 0 +L__tune539: + BTFSC STATUS+0, 0 + GOTO L_tune115 +;main.h,340 :: if(SW==1) SW = 0; else SW = 1; + MOVF main_SW+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_tune116 + CLRF main_SW+0 + GOTO L_tune117 +L_tune116: + MOVLW 1 + MOVWF main_SW+0 +L_tune117: +;main.h,341 :: set_sw(SW); + MOVF main_SW+0, 0 + MOVWF FARG_set_sw_SW+0 + CALL _set_sw+0, 0 +;main.h,342 :: ind = ind_mem; + MOVF tune_ind_mem_L0+0, 0 + MOVWF main_ind+0 +;main.h,343 :: cap = cap_mem; + MOVF tune_cap_mem_L0+0, 0 + MOVWF main_cap+0 +;main.h,344 :: set_ind(ind); + MOVF tune_ind_mem_L0+0, 0 + MOVWF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.h,345 :: set_cap(cap); + MOVF main_cap+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.h,346 :: SWR = swr_mem; + MOVF tune_swr_mem_L0+0, 0 + MOVWF _SWR+0 + MOVF tune_swr_mem_L0+1, 0 + MOVWF _SWR+1 +;main.h,347 :: } +L_tune115: +;main.h,349 :: asm CLRWDT; + CLRWDT +;main.h,350 :: return; +;main.h,351 :: } +L_end_tune: + RETURN 0 +; end of _tune + +_main: + +;main.c,34 :: void main() { +;main.c,35 :: if(RCON.B3==0) Restart = 1; + BTFSC RCON+0, 3 + GOTO L_main118 + MOVLW 1 + MOVWF _Restart+0 +L_main118: +;main.c,36 :: pic_init(); + CALL _pic_init+0, 0 +;main.c,38 :: Delay_ms (300); + MOVLW 7 + MOVWF R11, 0 + MOVLW 23 + MOVWF R12, 0 + MOVLW 106 + MOVWF R13, 0 +L_main119: + DECFSZ R13, 1, 1 + BRA L_main119 + DECFSZ R12, 1, 1 + BRA L_main119 + DECFSZ R11, 1, 1 + BRA L_main119 + NOP +;main.c,39 :: asm CLRWDT; + CLRWDT +;main.c,40 :: cells_init(); + CALL _cells_init+0, 0 +;main.c,41 :: Soft_I2C_Init(); + CALL _Soft_I2C_Init+0, 0 +;main.c,42 :: if(type==0) { // 2-colors led reset + MOVF _type+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_main120 +;main.c,43 :: LATB.B6 = 1; + BSF LATB+0, 6 +;main.c,44 :: LATB.B7 = 1; + BSF LATB+0, 7 +;main.c,45 :: } + GOTO L_main121 +L_main120: +;main.c,46 :: else if(type==6){ + MOVF _type+0, 0 + XORLW 6 + BTFSS STATUS+0, 2 + GOTO L_main122 +;main.c,47 :: LATB.B6 = 0; + BCF LATB+0, 6 +;main.c,48 :: LATB.B7 = 0; + BCF LATB+0, 7 +;main.c,49 :: } +L_main122: +L_main121: +;main.c,50 :: Low = 0; + BCF LATC0_bit+0, BitPos(LATC0_bit+0) +;main.c,51 :: Mid = 0; + BCF LATC6_bit+0, BitPos(LATC6_bit+0) +;main.c,52 :: High = 0; + BCF LATC7_bit+0, BitPos(LATC7_bit+0) +;main.c,53 :: dysp_cnt = Dysp_delay * dysp_cnt_mult; + MOVF _Dysp_delay+0, 0 + MOVWF R0 + CALL _byte2double+0, 0 + MOVF _dysp_cnt_mult+0, 0 + MOVWF R4 + MOVF _dysp_cnt_mult+1, 0 + MOVWF R5 + MOVF _dysp_cnt_mult+2, 0 + MOVWF R6 + MOVF _dysp_cnt_mult+3, 0 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + CALL _double2int+0, 0 + MOVF R0, 0 + MOVWF _dysp_cnt+0 + MOVF R1, 0 + MOVWF _dysp_cnt+1 +;main.c,55 :: Delay_ms(300); + MOVLW 7 + MOVWF R11, 0 + MOVLW 23 + MOVWF R12, 0 + MOVLW 106 + MOVWF R13, 0 +L_main123: + DECFSZ R13, 1, 1 + BRA L_main123 + DECFSZ R12, 1, 1 + BRA L_main123 + DECFSZ R11, 1, 1 + BRA L_main123 + NOP +;main.c,56 :: asm CLRWDT; + CLRWDT +;main.c,57 :: if(PORTB.B4==0 & PORTB.B5==0) { // Test mode + BTFSC PORTB+0, 4 + GOTO L__main541 + BSF R4, 0 + GOTO L__main542 +L__main541: + BCF R4, 0 +L__main542: + BTFSC PORTB+0, 5 + GOTO L__main543 + BSF STATUS+0, 0 + GOTO L__main544 +L__main543: + BCF STATUS+0, 0 +L__main544: + BTFSS R4, 0 + GOTO L__main545 + BTFSS STATUS+0, 0 + GOTO L__main545 + BSF R4, 0 + GOTO L__main546 +L__main545: + BCF R4, 0 +L__main546: + BTFSS R4, 0 + GOTO L_main124 +;main.c,58 :: Test = 1; + MOVLW 1 + MOVWF _Test+0 +;main.c,59 :: Auto = 0; + CLRF _Auto+0 +;main.c,60 :: } +L_main124: +;main.c,62 :: Delay_ms(300); + MOVLW 7 + MOVWF R11, 0 + MOVLW 23 + MOVWF R12, 0 + MOVLW 106 + MOVWF R13, 0 +L_main125: + DECFSZ R13, 1, 1 + BRA L_main125 + DECFSZ R12, 1, 1 + BRA L_main125 + DECFSZ R11, 1, 1 + BRA L_main125 + NOP +;main.c,63 :: asm CLRWDT; + CLRWDT +;main.c,65 :: led_init(); + CALL _led_init+0, 0 +;main.c,66 :: if(PORTB.B4==0 & PORTB.B5==0 & PORTB.B0==0) { // Fast Test mode (loop) + BTFSC PORTB+0, 4 + GOTO L__main547 + BSF R4, 0 + GOTO L__main548 +L__main547: + BCF R4, 0 +L__main548: + BTFSC PORTB+0, 5 + GOTO L__main549 + BSF STATUS+0, 0 + GOTO L__main550 +L__main549: + BCF STATUS+0, 0 +L__main550: + BTFSS R4, 0 + GOTO L__main551 + BTFSS STATUS+0, 0 + GOTO L__main551 + BSF R4, 0 + GOTO L__main552 +L__main551: + BCF R4, 0 +L__main552: + BTFSC PORTB+0, 0 + GOTO L__main553 + BSF STATUS+0, 0 + GOTO L__main554 +L__main553: + BCF STATUS+0, 0 +L__main554: + BTFSS R4, 0 + GOTO L__main555 + BTFSS STATUS+0, 0 + GOTO L__main555 + BSF R4, 0 + GOTO L__main556 +L__main555: + BCF R4, 0 +L__main556: + BTFSS R4, 0 + GOTO L_main126 +;main.c,67 :: if(type==4 | type==5) led_wr_str (0, 12, "FAST TEST", 9); // 128*64 + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_main127 + CLRF FARG_led_wr_str+0 + MOVLW 12 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr1_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr1_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_main128 +L_main127: +;main.c,68 :: else if(type!=0) led_wr_str (0, 3, "FAST TEST", 9); // 1602 | 128*32 + MOVF _type+0, 0 + XORLW 0 + BTFSC STATUS+0, 2 + GOTO L_main129 + CLRF FARG_led_wr_str+0 + MOVLW 3 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr2_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr2_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_main129: +L_main128: +;main.c,69 :: set_cap(255); + MOVLW 255 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.c,70 :: set_ind(255); + MOVLW 255 + MOVWF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.c,71 :: set_sw(1); + MOVLW 1 + MOVWF FARG_set_sw_SW+0 + CALL _set_sw+0, 0 +;main.c,72 :: asm CLRWDT; + CLRWDT +;main.c,73 :: while(1) {Delay_ms(500);asm CLRWDT;} +L_main130: + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_main132: + DECFSZ R13, 1, 1 + BRA L_main132 + DECFSZ R12, 1, 1 + BRA L_main132 + DECFSZ R11, 1, 1 + BRA L_main132 + NOP + NOP + CLRWDT + GOTO L_main130 +;main.c,74 :: } +L_main126: +;main.c,75 :: asm CLRWDT; + CLRWDT +;main.c,77 :: if(Button(&PORTB, 0, 100, 0)) { // Fider loss input + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + CLRF FARG_Button_pin+0 + MOVLW 100 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_main133 +;main.c,78 :: if(type==4 | type==5) { led_wr_str (0, 6, "Fider Loss", 10); // 128*64 + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_main134 + CLRF FARG_led_wr_str+0 + MOVLW 6 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr3_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr3_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 10 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,79 :: led_wr_str (1, 6, "input", 5); } + MOVLW 1 + MOVWF FARG_led_wr_str+0 + MOVLW 6 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr4_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr4_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 5 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_main135 +L_main134: +;main.c,80 :: else if(type!=0) led_wr_str (0, 0, "Fider Loss input", 16); // 1602 | 128*32 + MOVF _type+0, 0 + XORLW 0 + BTFSC STATUS+0, 2 + GOTO L_main136 + CLRF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr5_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr5_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_main136: +L_main135: +;main.c,81 :: Fid_loss = Bcd2Dec(EEPROM_Read(0x32)); + MOVLW 50 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + MOVWF _Fid_loss+0 +;main.c,82 :: show_loss(); + CALL _show_loss+0, 0 +;main.c,84 :: while(1) { +L_main137: +;main.c,85 :: if(Button(&PORTB, 5, 50, 0)){ // BYP button + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + MOVLW 5 + MOVWF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_main139 +;main.c,86 :: if(Fid_loss<99) { + MOVLW 99 + SUBWF _Fid_loss+0, 0 + BTFSC STATUS+0, 0 + GOTO L_main140 +;main.c,87 :: Fid_loss ++; + INCF _Fid_loss+0, 1 +;main.c,88 :: show_loss(); + CALL _show_loss+0, 0 +;main.c,89 :: EEPROM_Write(0x32, Dec2Bcd(Fid_loss)); + MOVF _Fid_loss+0, 0 + MOVWF FARG_Dec2Bcd_decnum+0 + CALL _Dec2Bcd+0, 0 + MOVF R0, 0 + MOVWF FARG_EEPROM_Write_data_+0 + MOVLW 50 + MOVWF FARG_EEPROM_Write_address+0 + CALL _EEPROM_Write+0, 0 +;main.c,90 :: } +L_main140: +;main.c,91 :: while(Button(&PORTB, 5, 50, 0)) asm CLRWDT; +L_main141: + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + MOVLW 5 + MOVWF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_main142 + CLRWDT + GOTO L_main141 +L_main142: +;main.c,92 :: } +L_main139: +;main.c,94 :: if(Button(&PORTB, 4, 50, 0)){ // AUTO button + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + MOVLW 4 + MOVWF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_main143 +;main.c,95 :: if(Fid_loss>0) { + MOVF _Fid_loss+0, 0 + SUBLW 0 + BTFSC STATUS+0, 0 + GOTO L_main144 +;main.c,96 :: Fid_loss --; + DECF _Fid_loss+0, 1 +;main.c,97 :: show_loss(); + CALL _show_loss+0, 0 +;main.c,98 :: EEPROM_Write(0x32, Dec2Bcd(Fid_loss)); + MOVF _Fid_loss+0, 0 + MOVWF FARG_Dec2Bcd_decnum+0 + CALL _Dec2Bcd+0, 0 + MOVF R0, 0 + MOVWF FARG_EEPROM_Write_data_+0 + MOVLW 50 + MOVWF FARG_EEPROM_Write_address+0 + CALL _EEPROM_Write+0, 0 +;main.c,99 :: } +L_main144: +;main.c,100 :: while(Button(&PORTB, 4, 50, 0)) asm CLRWDT; +L_main145: + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + MOVLW 4 + MOVWF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_main146 + CLRWDT + GOTO L_main145 +L_main146: +;main.c,101 :: } +L_main143: +;main.c,102 :: asm CLRWDT; + CLRWDT +;main.c,103 :: } // while + GOTO L_main137 +;main.c,104 :: } // Fider loss input +L_main133: +;main.c,106 :: if(Test==0) { + MOVF _Test+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_main147 +;main.c,107 :: cap = EEPROM_Read(255); + MOVLW 255 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF main_cap+0 +;main.c,108 :: ind = EEPROM_Read(254); + MOVLW 254 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF main_ind+0 +;main.c,109 :: SW = EEPROM_Read(253); + MOVLW 253 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF main_SW+0 +;main.c,110 :: swr_a = EEPROM_Read(252) * 256; + MOVLW 252 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF _swr_a+1 + CLRF _swr_a+0 +;main.c,111 :: swr_a += EEPROM_Read(251); + MOVLW 251 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + ADDWF _swr_a+0, 1 + MOVLW 0 + ADDWFC _swr_a+1, 1 +;main.c,112 :: set_ind(ind); + MOVF main_ind+0, 0 + MOVWF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.c,113 :: set_cap(cap); + MOVF main_cap+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.c,114 :: set_sw(SW); + MOVF main_SW+0, 0 + MOVWF FARG_set_sw_SW+0 + CALL _set_sw+0, 0 +;main.c,115 :: if(Restart==1 ) lcd_prep_short = 1; + MOVF _Restart+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_main148 + MOVLW 1 + MOVWF _lcd_prep_short+0 +L_main148: +;main.c,116 :: lcd_prep(); + CALL _lcd_prep+0, 0 +;main.c,117 :: } + GOTO L_main149 +L_main147: +;main.c,118 :: else Test_init(); + CALL _test_init+0, 0 +L_main149: +;main.c,120 :: lcd_ind(); + CALL _lcd_ind+0, 0 +;main.c,124 :: while(1) { +L_main150: +;main.c,125 :: asm CLRWDT; + CLRWDT +;main.c,126 :: lcd_pwr(); + CALL _lcd_pwr+0, 0 +;main.c,128 :: if(Test==0) button_proc(); + MOVF _Test+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_main152 + CALL _button_proc+0, 0 + GOTO L_main153 +L_main152: +;main.c,129 :: else button_proc_test(); + CALL _button_proc_test+0, 0 +L_main153: +;main.c,131 :: if(dysp_cnt!=0) dysp_cnt --; + MOVLW 0 + XORWF _dysp_cnt+1, 0 + BTFSS STATUS+0, 2 + GOTO L__main557 + MOVLW 0 + XORWF _dysp_cnt+0, 0 +L__main557: + BTFSC STATUS+0, 2 + GOTO L_main154 + MOVLW 1 + SUBWF _dysp_cnt+0, 1 + MOVLW 0 + SUBWFB _dysp_cnt+1, 1 + GOTO L_main155 +L_main154: +;main.c,132 :: else if(Test==0 & Dysp_delay!=0) dysp_off(); + MOVF _Test+0, 0 + XORLW 0 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _Dysp_delay+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_main156 + CALL _dysp_off+0, 0 +L_main156: +L_main155: +;main.c,136 :: } + GOTO L_main150 +;main.c,137 :: } +L_end_main: + GOTO $+0 +; end of _main + +_button_proc_test: + +;main.c,142 :: void button_proc_test(void) { +;main.c,143 :: if(Button(&PORTB, 0, 50, 0)){ // Tune btn + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + CLRF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc_test157 +;main.c,144 :: Delay_ms(250); + MOVLW 6 + MOVWF R11, 0 + MOVLW 19 + MOVWF R12, 0 + MOVLW 173 + MOVWF R13, 0 +L_button_proc_test158: + DECFSZ R13, 1, 1 + BRA L_button_proc_test158 + DECFSZ R12, 1, 1 + BRA L_button_proc_test158 + DECFSZ R11, 1, 1 + BRA L_button_proc_test158 + NOP + NOP +;main.c,145 :: asm CLRWDT; + CLRWDT +;main.c,146 :: if(PORTB.B0==1) { // short press button + BTFSS PORTB+0, 0 + GOTO L_button_proc_test159 +;main.c,147 :: if(SW==0) SW = 1; else SW = 0; + MOVF main_SW+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_button_proc_test160 + MOVLW 1 + MOVWF main_SW+0 + GOTO L_button_proc_test161 +L_button_proc_test160: + CLRF main_SW+0 +L_button_proc_test161: +;main.c,148 :: set_sw(SW); + MOVF main_SW+0, 0 + MOVWF FARG_set_sw_SW+0 + CALL _set_sw+0, 0 +;main.c,149 :: lcd_ind(); + CALL _lcd_ind+0, 0 +;main.c,150 :: } + GOTO L_button_proc_test162 +L_button_proc_test159: +;main.c,152 :: if(L==1) L = 0; else L = 1; + MOVF _L+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_button_proc_test163 + CLRF _L+0 + GOTO L_button_proc_test164 +L_button_proc_test163: + MOVLW 1 + MOVWF _L+0 +L_button_proc_test164: +;main.c,153 :: if(L==1) { + MOVF _L+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_button_proc_test165 +;main.c,154 :: if(type==4 |type==5) // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc_test166 +;main.c,155 :: led_wr_str (0, 16+12*8, "l", 1); + CLRF FARG_led_wr_str+0 + MOVLW 112 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr6_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr6_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_button_proc_test167 +L_button_proc_test166: +;main.c,156 :: else if(type!=0 & type!=6) // 1602 LCD & 128*32 OLED + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc_test168 +;main.c,157 :: led_wr_str (0, 8, "l", 1); + CLRF FARG_led_wr_str+0 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr7_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr7_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_button_proc_test168: +L_button_proc_test167: +;main.c,158 :: } + GOTO L_button_proc_test169 +L_button_proc_test165: +;main.c,160 :: if(type==4 |type==5) // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc_test170 +;main.c,161 :: led_wr_str (0, 16+12*8, "c", 1); + CLRF FARG_led_wr_str+0 + MOVLW 112 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr8_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr8_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_button_proc_test171 +L_button_proc_test170: +;main.c,162 :: else if(type!=0 & type !=6) // 1602 LCD & 128*32 OLED + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc_test172 +;main.c,163 :: led_wr_str (0, 8, "c", 1); + CLRF FARG_led_wr_str+0 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr9_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr9_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_button_proc_test172: +L_button_proc_test171: +;main.c,164 :: } +L_button_proc_test169: +;main.c,165 :: } +L_button_proc_test162: +;main.c,166 :: while(Button(&PORTB, 0, 50, 0)) {lcd_pwr(); asm CLRWDT; } +L_button_proc_test173: + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + CLRF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc_test174 + CALL _lcd_pwr+0, 0 + CLRWDT + GOTO L_button_proc_test173 +L_button_proc_test174: +;main.c,167 :: } // END Tune btn +L_button_proc_test157: +;main.c,169 :: if(Button(&PORTB, 5, 50, 0)){ // BYP button + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + MOVLW 5 + MOVWF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc_test175 +;main.c,170 :: asm CLRWDT; + CLRWDT +;main.c,171 :: while(PORTB.B5==0) { +L_button_proc_test176: + BTFSC PORTB+0, 5 + GOTO L_button_proc_test177 +;main.c,172 :: if(L & ind<31) { + MOVLW 31 + SUBWF main_ind+0, 0 + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R0 + MOVF _L+0, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc_test178 +;main.c,173 :: ind ++; + INCF main_ind+0, 1 +;main.c,174 :: set_ind(ind); + MOVF main_ind+0, 0 + MOVWF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.c,175 :: } + GOTO L_button_proc_test179 +L_button_proc_test178: +;main.c,176 :: else if(!L & cap<31) { + MOVF _L+0, 1 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVLW 31 + SUBWF main_cap+0, 0 + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc_test180 +;main.c,177 :: cap ++; + INCF main_cap+0, 1 +;main.c,178 :: set_cap(cap); + MOVF main_cap+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.c,179 :: } +L_button_proc_test180: +L_button_proc_test179: +;main.c,180 :: lcd_ind(); + CALL _lcd_ind+0, 0 +;main.c,181 :: lcd_pwr(); + CALL _lcd_pwr+0, 0 +;main.c,182 :: Delay_ms(30); + MOVLW 156 + MOVWF R12, 0 + MOVLW 215 + MOVWF R13, 0 +L_button_proc_test181: + DECFSZ R13, 1, 1 + BRA L_button_proc_test181 + DECFSZ R12, 1, 1 + BRA L_button_proc_test181 +;main.c,183 :: asm CLRWDT; + CLRWDT +;main.c,184 :: } + GOTO L_button_proc_test176 +L_button_proc_test177: +;main.c,185 :: } // end of BYP button +L_button_proc_test175: +;main.c,187 :: if(Button(&PORTB, 4, 50, 0) & Bypas==0){ // Auto button + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + MOVLW 4 + MOVWF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF _bypas+0, 0 + XORLW 0 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc_test182 +;main.c,188 :: asm CLRWDT; + CLRWDT +;main.c,189 :: while(PORTB.B4==0) { +L_button_proc_test183: + BTFSC PORTB+0, 4 + GOTO L_button_proc_test184 +;main.c,190 :: if(L & ind>0) { + MOVF main_ind+0, 0 + SUBLW 0 + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R0 + MOVF _L+0, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc_test185 +;main.c,191 :: ind --; + DECF main_ind+0, 1 +;main.c,192 :: set_ind(ind); + MOVF main_ind+0, 0 + MOVWF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.c,193 :: } + GOTO L_button_proc_test186 +L_button_proc_test185: +;main.c,194 :: else if(!L & cap>0) { + MOVF _L+0, 1 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF main_cap+0, 0 + SUBLW 0 + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc_test187 +;main.c,195 :: cap --; + DECF main_cap+0, 1 +;main.c,196 :: set_cap(cap); + MOVF main_cap+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.c,197 :: } +L_button_proc_test187: +L_button_proc_test186: +;main.c,198 :: lcd_ind(); + CALL _lcd_ind+0, 0 +;main.c,199 :: lcd_pwr(); + CALL _lcd_pwr+0, 0 +;main.c,200 :: Delay_ms(30); + MOVLW 156 + MOVWF R12, 0 + MOVLW 215 + MOVWF R13, 0 +L_button_proc_test188: + DECFSZ R13, 1, 1 + BRA L_button_proc_test188 + DECFSZ R12, 1, 1 + BRA L_button_proc_test188 +;main.c,201 :: asm CLRWDT; + CLRWDT +;main.c,202 :: } + GOTO L_button_proc_test183 +L_button_proc_test184: +;main.c,203 :: } +L_button_proc_test182: +;main.c,204 :: return; +;main.c,205 :: } +L_end_button_proc_test: + RETURN 0 +; end of _button_proc_test + +_button_proc: + +;main.c,208 :: void button_proc(void) { +;main.c,209 :: if(Button(&PORTB, 0, 50, 0) | Soft_tune){ + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + CLRF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF _Soft_tune+0, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc189 +;main.c,210 :: dysp_on(); + CALL _dysp_on+0, 0 +;main.c,211 :: dysp_cnt = Dysp_delay * dysp_cnt_mult; + MOVF _Dysp_delay+0, 0 + MOVWF R0 + CALL _byte2double+0, 0 + MOVF _dysp_cnt_mult+0, 0 + MOVWF R4 + MOVF _dysp_cnt_mult+1, 0 + MOVWF R5 + MOVF _dysp_cnt_mult+2, 0 + MOVWF R6 + MOVF _dysp_cnt_mult+3, 0 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + CALL _double2int+0, 0 + MOVF R0, 0 + MOVWF _dysp_cnt+0 + MOVF R1, 0 + MOVWF _dysp_cnt+1 +;main.c,212 :: Delay_ms(250); + MOVLW 6 + MOVWF R11, 0 + MOVLW 19 + MOVWF R12, 0 + MOVLW 173 + MOVWF R13, 0 +L_button_proc190: + DECFSZ R13, 1, 1 + BRA L_button_proc190 + DECFSZ R12, 1, 1 + BRA L_button_proc190 + DECFSZ R11, 1, 1 + BRA L_button_proc190 + NOP + NOP +;main.c,213 :: asm CLRWDT; + CLRWDT +;main.c,214 :: if(Soft_tune == 0 & PORTB.B0==1) { // short press button + MOVF _Soft_tune+0, 0 + XORLW 0 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + BTFSC PORTB+0, 0 + GOTO L__button_proc560 + BCF STATUS+0, 0 + GOTO L__button_proc561 +L__button_proc560: + BSF STATUS+0, 0 +L__button_proc561: + CLRF R0 + BTFSC STATUS+0, 0 + INCF R0, 1 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc191 +;main.c,215 :: show_reset(); + CALL _show_reset+0, 0 +;main.c,216 :: bypas =0; + CLRF _bypas+0 +;main.c,217 :: } + GOTO L_button_proc192 +L_button_proc191: +;main.c,219 :: p_Tx = 1; // + BSF LATA7_bit+0, BitPos(LATA7_bit+0) +;main.c,220 :: n_Tx = 0; // TX request + BCF LATA3_bit+0, BitPos(LATA3_bit+0) +;main.c,221 :: asm CLRWDT; + CLRWDT +;main.c,222 :: Delay_ms(250); // + MOVLW 6 + MOVWF R11, 0 + MOVLW 19 + MOVWF R12, 0 + MOVLW 173 + MOVWF R13, 0 +L_button_proc193: + DECFSZ R13, 1, 1 + BRA L_button_proc193 + DECFSZ R12, 1, 1 + BRA L_button_proc193 + DECFSZ R11, 1, 1 + BRA L_button_proc193 + NOP + NOP +;main.c,223 :: asm CLRWDT; + CLRWDT +;main.c,224 :: btn_push(); + CALL _btn_push+0, 0 +;main.c,225 :: bypas = 0; + CLRF _bypas+0 +;main.c,226 :: while(Button(&PORTB, 0, 50, 0)) {lcd_pwr(); asm CLRWDT; } +L_button_proc194: + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + CLRF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc195 + CALL _lcd_pwr+0, 0 + CLRWDT + GOTO L_button_proc194 +L_button_proc195: +;main.c,227 :: Soft_tune = 0; + CLRF _Soft_tune+0 +;main.c,228 :: } +L_button_proc192: +;main.c,230 :: } +L_button_proc189: +;main.c,232 :: if(Button(&PORTB, 5, 50, 0)){ // BYP button + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + MOVLW 5 + MOVWF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc196 +;main.c,233 :: dysp_on(); + CALL _dysp_on+0, 0 +;main.c,234 :: dysp_cnt = Dysp_delay * dysp_cnt_mult; + MOVF _Dysp_delay+0, 0 + MOVWF R0 + CALL _byte2double+0, 0 + MOVF _dysp_cnt_mult+0, 0 + MOVWF R4 + MOVF _dysp_cnt_mult+1, 0 + MOVWF R5 + MOVF _dysp_cnt_mult+2, 0 + MOVWF R6 + MOVF _dysp_cnt_mult+3, 0 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + CALL _double2int+0, 0 + MOVF R0, 0 + MOVWF _dysp_cnt+0 + MOVF R1, 0 + MOVWF _dysp_cnt+1 +;main.c,235 :: asm CLRWDT; + CLRWDT +;main.c,236 :: if(bypas == 0) { + MOVF _bypas+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_button_proc197 +;main.c,237 :: bypas = 1; + MOVLW 1 + MOVWF _bypas+0 +;main.c,238 :: cap_mem = cap; + MOVF main_cap+0, 0 + MOVWF _cap_mem+0 +;main.c,239 :: ind_mem = ind; + MOVF main_ind+0, 0 + MOVWF _ind_mem+0 +;main.c,240 :: SW_mem = SW; + MOVF main_SW+0, 0 + MOVWF _SW_mem+0 +;main.c,241 :: cap = 0; + CLRF main_cap+0 +;main.c,242 :: ind = 0; + CLRF main_ind+0 +;main.c,243 :: SW = 1; + MOVLW 1 + MOVWF main_SW+0 +;main.c,244 :: set_ind(ind); + CLRF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.c,245 :: set_cap(cap); + MOVF main_cap+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.c,246 :: set_SW(SW); + MOVF main_SW+0, 0 + MOVWF FARG_set_sw_SW+0 + CALL _set_sw+0, 0 +;main.c,247 :: if(Loss_mode==0) lcd_ind(); + MOVF _Loss_mode+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_button_proc198 + CALL _lcd_ind+0, 0 +L_button_proc198: +;main.c,248 :: Auto_mem = Auto; + MOVF _Auto+0, 0 + MOVWF _Auto_mem+0 +;main.c,249 :: Auto = 0; + CLRF _Auto+0 +;main.c,250 :: } + GOTO L_button_proc199 +L_button_proc197: +;main.c,252 :: bypas = 0; + CLRF _bypas+0 +;main.c,253 :: cap = cap_mem; + MOVF _cap_mem+0, 0 + MOVWF main_cap+0 +;main.c,254 :: ind = ind_mem; + MOVF _ind_mem+0, 0 + MOVWF main_ind+0 +;main.c,255 :: SW = SW_mem; + MOVF _SW_mem+0, 0 + MOVWF main_SW+0 +;main.c,256 :: set_cap(cap); + MOVF _cap_mem+0, 0 + MOVWF FARG_set_cap_Cap+0 + CALL _set_cap+0, 0 +;main.c,257 :: set_ind(ind); + MOVF main_ind+0, 0 + MOVWF FARG_set_ind_Ind+0 + CALL _set_ind+0, 0 +;main.c,258 :: set_SW(SW); + MOVF main_SW+0, 0 + MOVWF FARG_set_sw_SW+0 + CALL _set_sw+0, 0 +;main.c,259 :: if(Loss_mode==0) lcd_ind(); + MOVF _Loss_mode+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_button_proc200 + CALL _lcd_ind+0, 0 +L_button_proc200: +;main.c,260 :: Auto = Auto_mem; + MOVF _Auto_mem+0, 0 + MOVWF _Auto+0 +;main.c,261 :: } +L_button_proc199: +;main.c,262 :: if(type==4 | type==5) { // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc201 +;main.c,263 :: if(Auto & !Bypas) led_wr_str (0, 16+8*12, ".", 1); + MOVF _bypas+0, 1 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF _Auto+0, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc202 + CLRF FARG_led_wr_str+0 + MOVLW 112 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr10_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr10_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_button_proc203 +L_button_proc202: +;main.c,264 :: else if(!Auto & Bypas) led_wr_str (0, 16+8*12, "_", 1); + MOVF _Auto+0, 1 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF _bypas+0, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc204 + CLRF FARG_led_wr_str+0 + MOVLW 112 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr11_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr11_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_button_proc205 +L_button_proc204: +;main.c,265 :: else led_wr_str (0, 16+8*12, " ", 1); + CLRF FARG_led_wr_str+0 + MOVLW 112 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr12_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr12_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_button_proc205: +L_button_proc203: +;main.c,266 :: } + GOTO L_button_proc206 +L_button_proc201: +;main.c,267 :: else if(type!=0 & type!=6) { // 1602 LCD or 128*32 OLED + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc207 +;main.c,268 :: if(Auto & !Bypas) led_wr_str (0, 8, ".", 1); + MOVF _bypas+0, 1 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF _Auto+0, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc208 + CLRF FARG_led_wr_str+0 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr13_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr13_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_button_proc209 +L_button_proc208: +;main.c,269 :: else if(!Auto & Bypas) led_wr_str (0, 8, "_", 1); + MOVF _Auto+0, 1 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF _bypas+0, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc210 + CLRF FARG_led_wr_str+0 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr14_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr14_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_button_proc211 +L_button_proc210: +;main.c,270 :: else led_wr_str (0, 8, " ", 1); + CLRF FARG_led_wr_str+0 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr15_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr15_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_button_proc211: +L_button_proc209: +;main.c,271 :: } +L_button_proc207: +L_button_proc206: +;main.c,272 :: while(Button(&PORTB, 5, 50, 0)) {lcd_pwr(); asm CLRWDT; } +L_button_proc212: + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + MOVLW 5 + MOVWF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc213 + CALL _lcd_pwr+0, 0 + CLRWDT + GOTO L_button_proc212 +L_button_proc213: +;main.c,273 :: } +L_button_proc196: +;main.c,275 :: if(Button(&PORTB, 4, 50, 0) & Bypas==0){ // Auto button + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + MOVLW 4 + MOVWF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF _bypas+0, 0 + XORLW 0 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc214 +;main.c,276 :: dysp_on(); + CALL _dysp_on+0, 0 +;main.c,277 :: dysp_cnt = Dysp_delay * dysp_cnt_mult; + MOVF _Dysp_delay+0, 0 + MOVWF R0 + CALL _byte2double+0, 0 + MOVF _dysp_cnt_mult+0, 0 + MOVWF R4 + MOVF _dysp_cnt_mult+1, 0 + MOVWF R5 + MOVF _dysp_cnt_mult+2, 0 + MOVWF R6 + MOVF _dysp_cnt_mult+3, 0 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + CALL _double2int+0, 0 + MOVF R0, 0 + MOVWF _dysp_cnt+0 + MOVF R1, 0 + MOVWF _dysp_cnt+1 +;main.c,278 :: asm CLRWDT; + CLRWDT +;main.c,279 :: if(Auto == 0) Auto = 1; + MOVF _Auto+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_button_proc215 + MOVLW 1 + MOVWF _Auto+0 + GOTO L_button_proc216 +L_button_proc215: +;main.c,280 :: else Auto = 0; + CLRF _Auto+0 +L_button_proc216: +;main.c,281 :: EEPROM_Write(2, Auto); + MOVLW 2 + MOVWF FARG_EEPROM_Write_address+0 + MOVF _Auto+0, 0 + MOVWF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,282 :: if(type==4 | type==5) { // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc217 +;main.c,283 :: if(Auto & !Bypas) led_wr_str (0, 16+8*12, ".", 1); + MOVF _bypas+0, 1 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF _Auto+0, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc218 + CLRF FARG_led_wr_str+0 + MOVLW 112 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr16_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr16_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_button_proc219 +L_button_proc218: +;main.c,284 :: else if(!Auto & Bypas) led_wr_str (0, 16+8*12, "_", 1); + MOVF _Auto+0, 1 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF _bypas+0, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc220 + CLRF FARG_led_wr_str+0 + MOVLW 112 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr17_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr17_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_button_proc221 +L_button_proc220: +;main.c,285 :: else led_wr_str (0, 16+8*12, " ", 1); + CLRF FARG_led_wr_str+0 + MOVLW 112 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr18_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr18_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_button_proc221: +L_button_proc219: +;main.c,286 :: } + GOTO L_button_proc222 +L_button_proc217: +;main.c,287 :: else if(type!=0 & type!=6) { // 1602 LCD or 128*32 OLED + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc223 +;main.c,288 :: if(Auto & !Bypas) led_wr_str (0, 8, ".", 1); + MOVF _bypas+0, 1 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF _Auto+0, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc224 + CLRF FARG_led_wr_str+0 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr19_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr19_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_button_proc225 +L_button_proc224: +;main.c,289 :: else if(!Auto & Bypas) led_wr_str (0, 8, "_", 1); + MOVF _Auto+0, 1 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF _bypas+0, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc226 + CLRF FARG_led_wr_str+0 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr20_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr20_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_button_proc227 +L_button_proc226: +;main.c,290 :: else led_wr_str (0, 8, " ", 1); + CLRF FARG_led_wr_str+0 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr21_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr21_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_button_proc227: +L_button_proc225: +;main.c,291 :: } +L_button_proc223: +L_button_proc222: +;main.c,292 :: while(Button(&PORTB, 4, 50, 0)) {lcd_pwr(); asm CLRWDT; } +L_button_proc228: + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + MOVLW 4 + MOVWF FARG_Button_pin+0 + MOVLW 50 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_proc229 + CALL _lcd_pwr+0, 0 + CLRWDT + GOTO L_button_proc228 +L_button_proc229: +;main.c,293 :: } +L_button_proc214: +;main.c,294 :: return; +;main.c,295 :: } +L_end_button_proc: + RETURN 0 +; end of _button_proc + +_show_reset: + +;main.c,297 :: void show_reset() { +;main.c,298 :: asm CLRWDT; + CLRWDT +;main.c,299 :: atu_reset(); + CALL _atu_reset+0, 0 +;main.c,300 :: SW = 1; + MOVLW 1 + MOVWF main_SW+0 +;main.c,301 :: set_sw(SW); + MOVLW 1 + MOVWF FARG_set_sw_SW+0 + CALL _set_sw+0, 0 +;main.c,302 :: EEPROM_Write(255, 0); + MOVLW 255 + MOVWF FARG_EEPROM_Write_address+0 + CLRF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,303 :: EEPROM_Write(254, 0); + MOVLW 254 + MOVWF FARG_EEPROM_Write_address+0 + CLRF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,304 :: EEPROM_Write(253, 1); + MOVLW 253 + MOVWF FARG_EEPROM_Write_address+0 + MOVLW 1 + MOVWF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,305 :: EEPROM_Write(252, 0); + MOVLW 252 + MOVWF FARG_EEPROM_Write_address+0 + CLRF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,306 :: EEPROM_Write(251, 0); + MOVLW 251 + MOVWF FARG_EEPROM_Write_address+0 + CLRF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,307 :: lcd_ind(); + CALL _lcd_ind+0, 0 +;main.c,308 :: Loss_mode = 0; + CLRF _Loss_mode+0 +;main.c,309 :: p_Tx = 0; + BCF LATA7_bit+0, BitPos(LATA7_bit+0) +;main.c,310 :: n_Tx = 1; + BSF LATA3_bit+0, BitPos(LATA3_bit+0) +;main.c,311 :: SWR = 0; + CLRF _SWR+0 + CLRF _SWR+1 +;main.c,312 :: PWR = 0; + CLRF _PWR+0 + CLRF _PWR+1 +;main.c,313 :: SWR_fixed_old = 0; + CLRF _SWR_fixed_old+0 + CLRF _SWR_fixed_old+1 +;main.c,314 :: if(type==4 | type==5) { // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_reset230 +;main.c,315 :: led_wr_str (2, 16, "RESET ", 8); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr22_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr22_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,316 :: asm CLRWDT; + CLRWDT +;main.c,317 :: delay_ms(600); + MOVLW 13 + MOVWF R11, 0 + MOVLW 45 + MOVWF R12, 0 + MOVLW 215 + MOVWF R13, 0 +L_show_reset231: + DECFSZ R13, 1, 1 + BRA L_show_reset231 + DECFSZ R12, 1, 1 + BRA L_show_reset231 + DECFSZ R11, 1, 1 + BRA L_show_reset231 + NOP + NOP +;main.c,318 :: led_wr_str (2, 16, "SWR=0.00", 8); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr23_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr23_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,319 :: asm CLRWDT; + CLRWDT +;main.c,320 :: } + GOTO L_show_reset232 +L_show_reset230: +;main.c,321 :: else if(type!=0 & type!=6) {// 1602 LCD & 128*32 OLED + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_reset233 +;main.c,322 :: led_wr_str (1, 0, "RESET ", 8); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr24_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr24_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,323 :: asm CLRWDT; + CLRWDT +;main.c,324 :: delay_ms(600); + MOVLW 13 + MOVWF R11, 0 + MOVLW 45 + MOVWF R12, 0 + MOVLW 215 + MOVWF R13, 0 +L_show_reset234: + DECFSZ R13, 1, 1 + BRA L_show_reset234 + DECFSZ R12, 1, 1 + BRA L_show_reset234 + DECFSZ R11, 1, 1 + BRA L_show_reset234 + NOP + NOP +;main.c,325 :: led_wr_str (1, 0, "SWR=0.00", 8); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr25_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr25_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,326 :: asm CLRWDT; + CLRWDT +;main.c,327 :: } + GOTO L_show_reset235 +L_show_reset233: +;main.c,329 :: LATB.B6 = 1; + BSF LATB+0, 6 +;main.c,330 :: LATB.B7 = 1; + BSF LATB+0, 7 +;main.c,331 :: } +L_show_reset235: +L_show_reset232: +;main.c,332 :: Low = 0; + BCF LATC0_bit+0, BitPos(LATC0_bit+0) +;main.c,333 :: Mid = 0; + BCF LATC6_bit+0, BitPos(LATC6_bit+0) +;main.c,334 :: High = 0; + BCF LATC7_bit+0, BitPos(LATC7_bit+0) +;main.c,335 :: SWR_old = 10000; + MOVLW 16 + MOVWF _SWR_old+0 + MOVLW 39 + MOVWF _SWR_old+1 +;main.c,336 :: Power_old = 10000; + MOVLW 16 + MOVWF _Power_old+0 + MOVLW 39 + MOVWF _Power_old+1 +;main.c,337 :: lcd_pwr(); + CALL _lcd_pwr+0, 0 +;main.c,338 :: return; +;main.c,339 :: } +L_end_show_reset: + RETURN 0 +; end of _show_reset + +_btn_push: + +;main.c,341 :: void btn_push() { +;main.c,342 :: asm CLRWDT; + CLRWDT +;main.c,343 :: if(type==4 | type==5) { // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_btn_push236 +;main.c,344 :: led_wr_str (2, 16+12*4, "TUNE", 4); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 64 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr26_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr26_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,345 :: } + GOTO L_btn_push237 +L_btn_push236: +;main.c,346 :: else if(type!=0 & type!=6) { // 1602 LCD & 128*32 OLED + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_btn_push238 +;main.c,347 :: led_wr_str (1, 4, "TUNE", 4); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr27_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr27_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,348 :: } + GOTO L_btn_push239 +L_btn_push238: +;main.c,350 :: LATB.B6 = 1; + BSF LATB+0, 6 +;main.c,351 :: LATB.B7 = 1; + BSF LATB+0, 7 +;main.c,352 :: } +L_btn_push239: +L_btn_push237: +;main.c,353 :: Low = 0; + BCF LATC0_bit+0, BitPos(LATC0_bit+0) +;main.c,354 :: Mid = 0; + BCF LATC6_bit+0, BitPos(LATC6_bit+0) +;main.c,355 :: High = 0; + BCF LATC7_bit+0, BitPos(LATC7_bit+0) +;main.c,356 :: tune(); + CALL _tune+0, 0 +;main.c,357 :: if(type==0) { // real-time 2-colors led work + MOVF _type+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_btn_push240 +;main.c,358 :: if(swr<=150) { LATB.B6 = 0; LATB.B7 = 1; } // Green + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF _SWR+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__btn_push564 + MOVF _SWR+0, 0 + SUBLW 150 +L__btn_push564: + BTFSS STATUS+0, 0 + GOTO L_btn_push241 + BCF LATB+0, 6 + BSF LATB+0, 7 + GOTO L_btn_push242 +L_btn_push241: +;main.c,359 :: else if(swr<=250) {PORTB.B6 = 0; PORTB.B7 = 0;} // Orange + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF _SWR+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__btn_push565 + MOVF _SWR+0, 0 + SUBLW 250 +L__btn_push565: + BTFSS STATUS+0, 0 + GOTO L_btn_push243 + BCF PORTB+0, 6 + BCF PORTB+0, 7 + GOTO L_btn_push244 +L_btn_push243: +;main.c,360 :: else { PORTB.B6 = 1; PORTB.B7 = 0; } // Red + BSF PORTB+0, 6 + BCF PORTB+0, 7 +L_btn_push244: +L_btn_push242: +;main.c,361 :: } + GOTO L_btn_push245 +L_btn_push240: +;main.c,362 :: else if(type==6){ + MOVF _type+0, 0 + XORLW 6 + BTFSS STATUS+0, 2 + GOTO L_btn_push246 +;main.c,363 :: if(swr<=150) { LATB.B6 = 1; LATB.B7 = 0; } // Green + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF _SWR+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__btn_push566 + MOVF _SWR+0, 0 + SUBLW 150 +L__btn_push566: + BTFSS STATUS+0, 0 + GOTO L_btn_push247 + BSF LATB+0, 6 + BCF LATB+0, 7 + GOTO L_btn_push248 +L_btn_push247: +;main.c,364 :: else if(swr<=250) {PORTB.B6 = 1; PORTB.B7 = 1;} // Orange + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF _SWR+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__btn_push567 + MOVF _SWR+0, 0 + SUBLW 250 +L__btn_push567: + BTFSS STATUS+0, 0 + GOTO L_btn_push249 + BSF PORTB+0, 6 + BSF PORTB+0, 7 + GOTO L_btn_push250 +L_btn_push249: +;main.c,365 :: else { PORTB.B6 = 0; PORTB.B7 = 1; } // Red + BCF PORTB+0, 6 + BSF PORTB+0, 7 +L_btn_push250: +L_btn_push248: +;main.c,366 :: } + GOTO L_btn_push251 +L_btn_push246: +;main.c,367 :: else if(Loss_mode==0 | Loss_ind==0) lcd_ind(); + MOVF _Loss_mode+0, 0 + XORLW 0 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF main_Loss_ind+0, 0 + XORLW 0 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_btn_push252 + CALL _lcd_ind+0, 0 +L_btn_push252: +L_btn_push251: +L_btn_push245: +;main.c,368 :: if(SWR<=150) Low = 1; + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF _SWR+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__btn_push568 + MOVF _SWR+0, 0 + SUBLW 150 +L__btn_push568: + BTFSS STATUS+0, 0 + GOTO L_btn_push253 + BSF LATC0_bit+0, BitPos(LATC0_bit+0) + GOTO L_btn_push254 +L_btn_push253: +;main.c,369 :: else if(SWR<=250) Mid = 1; + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF _SWR+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__btn_push569 + MOVF _SWR+0, 0 + SUBLW 250 +L__btn_push569: + BTFSS STATUS+0, 0 + GOTO L_btn_push255 + BSF LATC6_bit+0, BitPos(LATC6_bit+0) + GOTO L_btn_push256 +L_btn_push255: +;main.c,370 :: else High = 1; + BSF LATC7_bit+0, BitPos(LATC7_bit+0) +L_btn_push256: +L_btn_push254: +;main.c,371 :: EEPROM_Write(255, cap); + MOVLW 255 + MOVWF FARG_EEPROM_Write_address+0 + MOVF main_cap+0, 0 + MOVWF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,372 :: EEPROM_Write(254, ind); + MOVLW 254 + MOVWF FARG_EEPROM_Write_address+0 + MOVF main_ind+0, 0 + MOVWF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,373 :: EEPROM_Write(253, SW); + MOVLW 253 + MOVWF FARG_EEPROM_Write_address+0 + MOVF main_SW+0, 0 + MOVWF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,374 :: EEPROM_Write(252, swr_a/256); + MOVLW 252 + MOVWF FARG_EEPROM_Write_address+0 + MOVLW 0 + MOVWF R4 + MOVLW 1 + MOVWF R5 + MOVF _swr_a+0, 0 + MOVWF R0 + MOVF _swr_a+1, 0 + MOVWF R1 + CALL _Div_16x16_S+0, 0 + MOVF R0, 0 + MOVWF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,375 :: EEPROM_Write(251, swr_a%256); + MOVLW 251 + MOVWF FARG_EEPROM_Write_address+0 + MOVLW 0 + MOVWF R4 + MOVLW 1 + MOVWF R5 + MOVF _swr_a+0, 0 + MOVWF R0 + MOVF _swr_a+1, 0 + MOVWF R1 + CALL _Div_16x16_S+0, 0 + MOVF R8, 0 + MOVWF R0 + MOVF R9, 0 + MOVWF R1 + MOVF R0, 0 + MOVWF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,376 :: SWR_old = 10000; + MOVLW 16 + MOVWF _SWR_old+0 + MOVLW 39 + MOVWF _SWR_old+1 +;main.c,377 :: Power_old = 10000; + MOVLW 16 + MOVWF _Power_old+0 + MOVLW 39 + MOVWF _Power_old+1 +;main.c,378 :: lcd_pwr(); + CALL _lcd_pwr+0, 0 +;main.c,379 :: SWR_fixed_old = SWR; + MOVF _SWR+0, 0 + MOVWF _SWR_fixed_old+0 + MOVF _SWR+1, 0 + MOVWF _SWR_fixed_old+1 +;main.c,380 :: p_Tx = 0; + BCF LATA7_bit+0, BitPos(LATA7_bit+0) +;main.c,381 :: n_Tx = 1; + BSF LATA3_bit+0, BitPos(LATA3_bit+0) +;main.c,382 :: asm CLRWDT; + CLRWDT +;main.c,383 :: return; +;main.c,384 :: } +L_end_btn_push: + RETURN 0 +; end of _btn_push + +_lcd_prep: + +;main.c,386 :: void lcd_prep() { +;main.c,387 :: asm CLRWDT; + CLRWDT +;main.c,388 :: if(type==4 |type==5){ // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_prep257 +;main.c,389 :: if(lcd_prep_short==0) { + MOVF _lcd_prep_short+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_lcd_prep258 +;main.c,390 :: led_wr_str (0, 22, "ATU-100", 7); + CLRF FARG_led_wr_str+0 + MOVLW 22 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr28_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr28_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 7 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,391 :: led_wr_str (2, 4, "mini board", 10); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr29_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr29_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 10 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,392 :: led_wr_str (4, 16, "by N7DDC", 8); + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr30_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr30_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,393 :: led_wr_str (6, 4, "FW ver 3.1", 10); + MOVLW 6 + MOVWF FARG_led_wr_str+0 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr31_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr31_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 10 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,394 :: asm CLRWDT; + CLRWDT +;main.c,395 :: Delay_ms(600); + MOVLW 13 + MOVWF R11, 0 + MOVLW 45 + MOVWF R12, 0 + MOVLW 215 + MOVWF R13, 0 +L_lcd_prep259: + DECFSZ R13, 1, 1 + BRA L_lcd_prep259 + DECFSZ R12, 1, 1 + BRA L_lcd_prep259 + DECFSZ R11, 1, 1 + BRA L_lcd_prep259 + NOP + NOP +;main.c,396 :: asm CLRWDT; + CLRWDT +;main.c,397 :: Delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_lcd_prep260: + DECFSZ R13, 1, 1 + BRA L_lcd_prep260 + DECFSZ R12, 1, 1 + BRA L_lcd_prep260 + DECFSZ R11, 1, 1 + BRA L_lcd_prep260 + NOP + NOP +;main.c,398 :: asm CLRWDT; + CLRWDT +;main.c,399 :: led_wr_str (0, 16, " ", 8); + CLRF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr32_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr32_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,400 :: led_wr_str (2, 4, " ", 10); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr33_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr33_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 10 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,401 :: led_wr_str (4, 16, " ", 8); + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr34_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr34_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,402 :: led_wr_str (6, 4, " ", 10); + MOVLW 6 + MOVWF FARG_led_wr_str+0 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr35_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr35_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 10 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,403 :: } +L_lcd_prep258: +;main.c,404 :: Delay_ms(150); + MOVLW 4 + MOVWF R11, 0 + MOVLW 12 + MOVWF R12, 0 + MOVLW 51 + MOVWF R13, 0 +L_lcd_prep261: + DECFSZ R13, 1, 1 + BRA L_lcd_prep261 + DECFSZ R12, 1, 1 + BRA L_lcd_prep261 + DECFSZ R11, 1, 1 + BRA L_lcd_prep261 + NOP + NOP +;main.c,405 :: led_wr_str (0, 16, "PWR=0.0W", 8); + CLRF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr36_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr36_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,406 :: led_wr_str (2, 16, "SWR=0.00", 8); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr37_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr37_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,407 :: if(Auto) led_wr_str (0, 16+8*12, ".", 1); + MOVF _Auto+0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_prep262 + CLRF FARG_led_wr_str+0 + MOVLW 112 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr38_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr38_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_lcd_prep262: +;main.c,408 :: } + GOTO L_lcd_prep263 +L_lcd_prep257: +;main.c,409 :: else if(type!=0 & type!=6) { // 1602 LCD & 128*32 OLED + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_prep264 +;main.c,410 :: if(lcd_prep_short==0) { + MOVF _lcd_prep_short+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_lcd_prep265 +;main.c,411 :: led_wr_str (0, 4, "ATU-100", 7); + CLRF FARG_led_wr_str+0 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr39_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr39_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 7 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,412 :: led_wr_str (1, 3, "mini board", 10); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + MOVLW 3 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr40_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr40_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 10 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,413 :: asm CLRWDT; + CLRWDT +;main.c,414 :: Delay_ms(700); + MOVLW 15 + MOVWF R11, 0 + MOVLW 53 + MOVWF R12, 0 + MOVLW 81 + MOVWF R13, 0 +L_lcd_prep266: + DECFSZ R13, 1, 1 + BRA L_lcd_prep266 + DECFSZ R12, 1, 1 + BRA L_lcd_prep266 + DECFSZ R11, 1, 1 + BRA L_lcd_prep266 +;main.c,415 :: asm CLRWDT; + CLRWDT +;main.c,416 :: Delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_lcd_prep267: + DECFSZ R13, 1, 1 + BRA L_lcd_prep267 + DECFSZ R12, 1, 1 + BRA L_lcd_prep267 + DECFSZ R11, 1, 1 + BRA L_lcd_prep267 + NOP + NOP +;main.c,417 :: asm CLRWDT; + CLRWDT +;main.c,418 :: led_wr_str (0, 4, "by N7DDC", 8); + CLRF FARG_led_wr_str+0 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr41_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr41_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,419 :: led_wr_str (1, 3, "FW ver 3.1", 10); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + MOVLW 3 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr42_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr42_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 10 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,420 :: asm CLRWDT; + CLRWDT +;main.c,421 :: Delay_ms(600); + MOVLW 13 + MOVWF R11, 0 + MOVLW 45 + MOVWF R12, 0 + MOVLW 215 + MOVWF R13, 0 +L_lcd_prep268: + DECFSZ R13, 1, 1 + BRA L_lcd_prep268 + DECFSZ R12, 1, 1 + BRA L_lcd_prep268 + DECFSZ R11, 1, 1 + BRA L_lcd_prep268 + NOP + NOP +;main.c,422 :: asm CLRWDT; + CLRWDT +;main.c,423 :: Delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_lcd_prep269: + DECFSZ R13, 1, 1 + BRA L_lcd_prep269 + DECFSZ R12, 1, 1 + BRA L_lcd_prep269 + DECFSZ R11, 1, 1 + BRA L_lcd_prep269 + NOP + NOP +;main.c,424 :: asm CLRWDT; + CLRWDT +;main.c,425 :: led_wr_str (0, 4, " ", 8); + CLRF FARG_led_wr_str+0 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr43_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr43_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,426 :: led_wr_str (1, 3, " ", 10); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + MOVLW 3 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr44_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr44_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 10 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,427 :: } +L_lcd_prep265: +;main.c,428 :: Delay_ms(150); + MOVLW 4 + MOVWF R11, 0 + MOVLW 12 + MOVWF R12, 0 + MOVLW 51 + MOVWF R13, 0 +L_lcd_prep270: + DECFSZ R13, 1, 1 + BRA L_lcd_prep270 + DECFSZ R12, 1, 1 + BRA L_lcd_prep270 + DECFSZ R11, 1, 1 + BRA L_lcd_prep270 + NOP + NOP +;main.c,429 :: led_wr_str (0, 0, "PWR=0.0W", 8); + CLRF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr45_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr45_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,430 :: led_wr_str (1, 0, "SWR=0.00", 8); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr46_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr46_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,431 :: if(Auto) led_wr_str (0, 8, ".", 1); + MOVF _Auto+0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_prep271 + CLRF FARG_led_wr_str+0 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr47_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr47_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_lcd_prep271: +;main.c,432 :: } +L_lcd_prep264: +L_lcd_prep263: +;main.c,433 :: asm CLRWDT; + CLRWDT +;main.c,434 :: lcd_ind(); + CALL _lcd_ind+0, 0 +;main.c,435 :: return; +;main.c,436 :: } +L_end_lcd_prep: + RETURN 0 +; end of _lcd_prep + +_lcd_swr: + +;main.c,439 :: void lcd_swr(int swr) { +;main.c,440 :: asm CLRWDT; + CLRWDT +;main.c,441 :: if(swr!=SWR_old) { + MOVF FARG_lcd_swr_swr+1, 0 + XORWF _SWR_old+1, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_swr572 + MOVF _SWR_old+0, 0 + XORWF FARG_lcd_swr_swr+0, 0 +L__lcd_swr572: + BTFSC STATUS+0, 2 + GOTO L_lcd_swr272 +;main.c,442 :: SWR_old = swr; + MOVF FARG_lcd_swr_swr+0, 0 + MOVWF _SWR_old+0 + MOVF FARG_lcd_swr_swr+1, 0 + MOVWF _SWR_old+1 +;main.c,443 :: if(swr==1) { // Low power + MOVLW 0 + XORWF FARG_lcd_swr_swr+1, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_swr573 + MOVLW 1 + XORWF FARG_lcd_swr_swr+0, 0 +L__lcd_swr573: + BTFSS STATUS+0, 2 + GOTO L_lcd_swr273 +;main.c,444 :: if(type==4 | type==5) led_wr_str (2, 16+4*12, "0.00", 4); // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_swr274 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 64 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr48_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr48_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_lcd_swr275 +L_lcd_swr274: +;main.c,445 :: else if(type!=0 & type!=6) led_wr_str (1, 4, "0.00", 4); // 1602 & 128*32 OLED + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_swr276 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr49_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr49_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_lcd_swr277 +L_lcd_swr276: +;main.c,446 :: else if(type==0) { // real-time 2-colors led work + MOVF _type+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_lcd_swr278 +;main.c,447 :: LATB.B6 = 1; + BSF LATB+0, 6 +;main.c,448 :: LATB.B7 = 1; + BSF LATB+0, 7 +;main.c,449 :: } + GOTO L_lcd_swr279 +L_lcd_swr278: +;main.c,450 :: else if(type==6){ + MOVF _type+0, 0 + XORLW 6 + BTFSS STATUS+0, 2 + GOTO L_lcd_swr280 +;main.c,451 :: LATB.B6 = 0; + BCF LATB+0, 6 +;main.c,452 :: LATB.B7 = 0; + BCF LATB+0, 7 +;main.c,453 :: } +L_lcd_swr280: +L_lcd_swr279: +L_lcd_swr277: +L_lcd_swr275: +;main.c,454 :: Low = 0; + BCF LATC0_bit+0, BitPos(LATC0_bit+0) +;main.c,455 :: Mid = 0; + BCF LATC6_bit+0, BitPos(LATC6_bit+0) +;main.c,456 :: High = 0; + BCF LATC7_bit+0, BitPos(LATC7_bit+0) +;main.c,457 :: SWR_old = 0; + CLRF _SWR_old+0 + CLRF _SWR_old+1 +;main.c,458 :: } + GOTO L_lcd_swr281 +L_lcd_swr273: +;main.c,460 :: SWR_old = swr; + MOVF FARG_lcd_swr_swr+0, 0 + MOVWF _SWR_old+0 + MOVF FARG_lcd_swr_swr+1, 0 + MOVWF _SWR_old+1 +;main.c,461 :: IntToStr(swr, work_str); + MOVF FARG_lcd_swr_swr+0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF FARG_lcd_swr_swr+1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,462 :: work_str_2[0] = work_str[3]; + MOVF _work_str+3, 0 + MOVWF _work_str_2+0 +;main.c,463 :: work_str_2[1] = '.'; + MOVLW 46 + MOVWF _work_str_2+1 +;main.c,464 :: work_str_2[2] = work_str[4]; + MOVF _work_str+4, 0 + MOVWF _work_str_2+2 +;main.c,465 :: work_str_2[3] = work_str[5]; + MOVF _work_str+5, 0 + MOVWF _work_str_2+3 +;main.c,466 :: if(type==4 | type==5) led_wr_str (2, 16+4*12, work_str_2, 4); // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_swr282 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 64 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_lcd_swr283 +L_lcd_swr282: +;main.c,467 :: else if(type!=0 & type!=6) led_wr_str (1, 4, work_str_2, 4); // 1602 & 128*32 + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_swr284 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_lcd_swr285 +L_lcd_swr284: +;main.c,468 :: else if(type==0) { // real-time 2-colors led work + MOVF _type+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_lcd_swr286 +;main.c,469 :: if(swr<=150) { LATB.B6 = 0; LATB.B7 = 1; } // Green + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF FARG_lcd_swr_swr+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_swr574 + MOVF FARG_lcd_swr_swr+0, 0 + SUBLW 150 +L__lcd_swr574: + BTFSS STATUS+0, 0 + GOTO L_lcd_swr287 + BCF LATB+0, 6 + BSF LATB+0, 7 + GOTO L_lcd_swr288 +L_lcd_swr287: +;main.c,470 :: else if(swr<=250) {PORTB.B6 = 0; PORTB.B7 = 0;} // Orange + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF FARG_lcd_swr_swr+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_swr575 + MOVF FARG_lcd_swr_swr+0, 0 + SUBLW 250 +L__lcd_swr575: + BTFSS STATUS+0, 0 + GOTO L_lcd_swr289 + BCF PORTB+0, 6 + BCF PORTB+0, 7 + GOTO L_lcd_swr290 +L_lcd_swr289: +;main.c,471 :: else { PORTB.B6 = 1; PORTB.B7 = 0; } // Red + BSF PORTB+0, 6 + BCF PORTB+0, 7 +L_lcd_swr290: +L_lcd_swr288: +;main.c,472 :: } + GOTO L_lcd_swr291 +L_lcd_swr286: +;main.c,473 :: else if(type==6){ + MOVF _type+0, 0 + XORLW 6 + BTFSS STATUS+0, 2 + GOTO L_lcd_swr292 +;main.c,474 :: if(swr<=150) { LATB.B6 = 1; LATB.B7 = 0; } // Green + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF FARG_lcd_swr_swr+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_swr576 + MOVF FARG_lcd_swr_swr+0, 0 + SUBLW 150 +L__lcd_swr576: + BTFSS STATUS+0, 0 + GOTO L_lcd_swr293 + BSF LATB+0, 6 + BCF LATB+0, 7 + GOTO L_lcd_swr294 +L_lcd_swr293: +;main.c,475 :: else if(swr<=250) {PORTB.B6 = 1; PORTB.B7 = 1;} // Orange + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF FARG_lcd_swr_swr+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_swr577 + MOVF FARG_lcd_swr_swr+0, 0 + SUBLW 250 +L__lcd_swr577: + BTFSS STATUS+0, 0 + GOTO L_lcd_swr295 + BSF PORTB+0, 6 + BSF PORTB+0, 7 + GOTO L_lcd_swr296 +L_lcd_swr295: +;main.c,476 :: else { PORTB.B6 = 0; PORTB.B7 = 1; } // Red + BCF PORTB+0, 6 + BSF PORTB+0, 7 +L_lcd_swr296: +L_lcd_swr294: +;main.c,477 :: } +L_lcd_swr292: +L_lcd_swr291: +L_lcd_swr285: +L_lcd_swr283: +;main.c,478 :: if(SWR<=150) {Low = 1; Mid = 0; High = 0;} + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF FARG_lcd_swr_swr+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_swr578 + MOVF FARG_lcd_swr_swr+0, 0 + SUBLW 150 +L__lcd_swr578: + BTFSS STATUS+0, 0 + GOTO L_lcd_swr297 + BSF LATC0_bit+0, BitPos(LATC0_bit+0) + BCF LATC6_bit+0, BitPos(LATC6_bit+0) + BCF LATC7_bit+0, BitPos(LATC7_bit+0) + GOTO L_lcd_swr298 +L_lcd_swr297: +;main.c,479 :: else if(SWR<=250) {Low = 0; Mid = 1; High = 0;} + MOVLW 128 + MOVWF R0 + MOVLW 128 + XORWF FARG_lcd_swr_swr+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_swr579 + MOVF FARG_lcd_swr_swr+0, 0 + SUBLW 250 +L__lcd_swr579: + BTFSS STATUS+0, 0 + GOTO L_lcd_swr299 + BCF LATC0_bit+0, BitPos(LATC0_bit+0) + BSF LATC6_bit+0, BitPos(LATC6_bit+0) + BCF LATC7_bit+0, BitPos(LATC7_bit+0) + GOTO L_lcd_swr300 +L_lcd_swr299: +;main.c,480 :: else {Low = 0; Mid = 0; High = 1; } + BCF LATC0_bit+0, BitPos(LATC0_bit+0) + BCF LATC6_bit+0, BitPos(LATC6_bit+0) + BSF LATC7_bit+0, BitPos(LATC7_bit+0) +L_lcd_swr300: +L_lcd_swr298: +;main.c,481 :: } +L_lcd_swr281: +;main.c,482 :: } +L_lcd_swr272: +;main.c,483 :: asm CLRWDT; + CLRWDT +;main.c,484 :: return; +;main.c,485 :: } +L_end_lcd_swr: + RETURN 0 +; end of _lcd_swr + +_button_delay: + +;main.c,488 :: void button_delay() { +;main.c,489 :: if((Button(&PORTB, 0, 25, 0)) | (Button(&PORTB, 1, 25, 0)) | (Button(&PORTB, 2, 25, 0))) { + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + CLRF FARG_Button_pin+0 + MOVLW 25 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 0 + MOVWF FLOC__button_delay+0 + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + MOVLW 1 + MOVWF FARG_Button_pin+0 + MOVLW 25 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF R0, 0 + IORWF FLOC__button_delay+0, 1 + MOVLW PORTB+0 + MOVWF FARG_Button_port+0 + MOVLW hi_addr(PORTB+0) + MOVWF FARG_Button_port+1 + MOVLW 2 + MOVWF FARG_Button_pin+0 + MOVLW 25 + MOVWF FARG_Button_time_ms+0 + CLRF FARG_Button_active_state+0 + CALL _Button+0, 0 + MOVF FLOC__button_delay+0, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_button_delay301 +;main.c,490 :: but = 1; + MOVLW 1 + MOVWF _but+0 +;main.c,491 :: } +L_button_delay301: +;main.c,492 :: return; +;main.c,493 :: } +L_end_button_delay: + RETURN 0 +; end of _button_delay + +_show_pwr: + +;main.c,495 :: void show_pwr(int Power, int SWR) { +;main.c,498 :: asm CLRWDT; + CLRWDT +;main.c,500 :: if(Test==0 & Loss_ind==1 & SWR>=100) { + MOVF _Test+0, 0 + XORLW 0 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF main_Loss_ind+0, 0 + XORLW 1 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R0, 0 + ANDWF R1, 1 + MOVLW 128 + XORWF FARG_show_pwr_SWR+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__show_pwr582 + MOVLW 100 + SUBWF FARG_show_pwr_SWR+0, 0 +L__show_pwr582: + MOVLW 0 + BTFSC STATUS+0, 0 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_pwr302 +;main.c,501 :: if(Loss_mode==0) { // prepare + MOVF _Loss_mode+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_show_pwr303 +;main.c,502 :: if(type==4 |type==5){ // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_pwr304 +;main.c,503 :: led_wr_str(4, 16, "ANT=0.0W", 8); + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr50_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr50_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,504 :: led_wr_str(6, 16, "EFF= 0%", 8); + MOVLW 6 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr51_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr51_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,505 :: } + GOTO L_show_pwr305 +L_show_pwr304: +;main.c,506 :: else if(type==2 | type==3) { // 128*32 OLED + MOVF _type+0, 0 + XORLW 2 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 3 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_pwr306 +;main.c,507 :: led_wr_str (0, 9, "ANT=0.0W", 8); + CLRF FARG_led_wr_str+0 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr52_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr52_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,508 :: led_wr_str (1, 9, "EFF= 0%", 8); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr53_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr53_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,509 :: } + GOTO L_show_pwr307 +L_show_pwr306: +;main.c,510 :: else if(type==1) { // 1602 LCD + MOVF _type+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_show_pwr308 +;main.c,511 :: led_wr_str (0, 9, "AN=0.0W", 7); + CLRF FARG_led_wr_str+0 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr54_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr54_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 7 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,512 :: led_wr_str (1, 9, "EFF= 0%", 7); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr55_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr55_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 7 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,513 :: } +L_show_pwr308: +L_show_pwr307: +L_show_pwr305: +;main.c,514 :: } +L_show_pwr303: +;main.c,515 :: Loss_mode = 1; + MOVLW 1 + MOVWF _Loss_mode+0 +;main.c,516 :: } + GOTO L_show_pwr309 +L_show_pwr302: +;main.c,518 :: if(Loss_mode==1) lcd_ind(); + MOVF _Loss_mode+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_show_pwr310 + CALL _lcd_ind+0, 0 +L_show_pwr310: +;main.c,519 :: Loss_mode = 0; + CLRF _Loss_mode+0 +;main.c,520 :: } +L_show_pwr309: +;main.c,521 :: asm CLRWDT; + CLRWDT +;main.c,522 :: if(Power != Power_old) { + MOVF FARG_show_pwr_Power+1, 0 + XORWF _Power_old+1, 0 + BTFSS STATUS+0, 2 + GOTO L__show_pwr583 + MOVF _Power_old+0, 0 + XORWF FARG_show_pwr_Power+0, 0 +L__show_pwr583: + BTFSC STATUS+0, 2 + GOTO L_show_pwr311 +;main.c,523 :: Power_old = Power; + MOVF FARG_show_pwr_Power+0, 0 + MOVWF _Power_old+0 + MOVF FARG_show_pwr_Power+1, 0 + MOVWF _Power_old+1 +;main.c,526 :: if(Power >= 100) { // > 10 W + MOVLW 128 + XORWF FARG_show_pwr_Power+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__show_pwr584 + MOVLW 100 + SUBWF FARG_show_pwr_Power+0, 0 +L__show_pwr584: + BTFSS STATUS+0, 0 + GOTO L_show_pwr313 +;main.c,527 :: Power += 5; // rounding to 1 W + MOVLW 5 + ADDWF FARG_show_pwr_Power+0, 0 + MOVWF R0 + MOVLW 0 + ADDWFC FARG_show_pwr_Power+1, 0 + MOVWF R1 + MOVF R0, 0 + MOVWF FARG_show_pwr_Power+0 + MOVF R1, 0 + MOVWF FARG_show_pwr_Power+1 +;main.c,528 :: IntToStr(Power, work_str); + MOVF R0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF R1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,529 :: work_str_2[0] = work_str[2]; + MOVF _work_str+2, 0 + MOVWF _work_str_2+0 +;main.c,530 :: work_str_2[1] = work_str[3]; + MOVF _work_str+3, 0 + MOVWF _work_str_2+1 +;main.c,531 :: work_str_2[2] = work_str[4]; + MOVF _work_str+4, 0 + MOVWF _work_str_2+2 +;main.c,532 :: work_str_2[3] = 'W'; + MOVLW 87 + MOVWF _work_str_2+3 +;main.c,533 :: } + GOTO L_show_pwr314 +L_show_pwr313: +;main.c,535 :: IntToStr(Power, work_str); + MOVF FARG_show_pwr_Power+0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF FARG_show_pwr_Power+1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,536 :: if(work_str[4] != ' ') work_str_2[0] = work_str[4]; else work_str_2[0] = '0'; + MOVF _work_str+4, 0 + XORLW 32 + BTFSC STATUS+0, 2 + GOTO L_show_pwr315 + MOVF _work_str+4, 0 + MOVWF _work_str_2+0 + GOTO L_show_pwr316 +L_show_pwr315: + MOVLW 48 + MOVWF _work_str_2+0 +L_show_pwr316: +;main.c,537 :: work_str_2[1] = '.'; + MOVLW 46 + MOVWF _work_str_2+1 +;main.c,538 :: if(work_str[5] != ' ') work_str_2[2] = work_str[5]; else work_str_2[2] = '0'; + MOVF _work_str+5, 0 + XORLW 32 + BTFSC STATUS+0, 2 + GOTO L_show_pwr317 + MOVF _work_str+5, 0 + MOVWF _work_str_2+2 + GOTO L_show_pwr318 +L_show_pwr317: + MOVLW 48 + MOVWF _work_str_2+2 +L_show_pwr318: +;main.c,539 :: work_str_2[3] = 'W'; + MOVLW 87 + MOVWF _work_str_2+3 +;main.c,540 :: } +L_show_pwr314: +;main.c,542 :: if(type==4 | type==5) led_wr_str (0, 16+4*12, work_str_2, 4); // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_pwr319 + CLRF FARG_led_wr_str+0 + MOVLW 64 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_show_pwr320 +L_show_pwr319: +;main.c,543 :: else if(type!=0 & type!=6) led_wr_str (0, 4, work_str_2, 4); // 1602 & 128*32 + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_pwr321 + CLRF FARG_led_wr_str+0 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_show_pwr321: +L_show_pwr320: +;main.c,546 :: if(Loss_mode==1) { + MOVF _Loss_mode+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_show_pwr322 +;main.c,547 :: if(ind==0 & cap==0) swr_a = SWR; + MOVF main_ind+0, 0 + XORLW 0 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF main_cap+0, 0 + XORLW 0 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_pwr323 + MOVF FARG_show_pwr_SWR+0, 0 + MOVWF _swr_a+0 + MOVF FARG_show_pwr_SWR+1, 0 + MOVWF _swr_a+1 +L_show_pwr323: +;main.c,548 :: a = 1.0 / ((swr_a/100.0 + 100.0/swr_a) * Fid_loss/10.0 * 0.115 + 1.0); // Fider loss + MOVF _swr_a+0, 0 + MOVWF R0 + MOVF _swr_a+1, 0 + MOVWF R1 + CALL _int2double+0, 0 + MOVF R0, 0 + MOVWF FLOC__show_pwr+4 + MOVF R1, 0 + MOVWF FLOC__show_pwr+5 + MOVF R2, 0 + MOVWF FLOC__show_pwr+6 + MOVF R3, 0 + MOVWF FLOC__show_pwr+7 + MOVLW 0 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVLW 72 + MOVWF R6 + MOVLW 133 + MOVWF R7 + MOVF FLOC__show_pwr+4, 0 + MOVWF R0 + MOVF FLOC__show_pwr+5, 0 + MOVWF R1 + MOVF FLOC__show_pwr+6, 0 + MOVWF R2 + MOVF FLOC__show_pwr+7, 0 + MOVWF R3 + CALL _Div_32x32_FP+0, 0 + MOVF R0, 0 + MOVWF FLOC__show_pwr+0 + MOVF R1, 0 + MOVWF FLOC__show_pwr+1 + MOVF R2, 0 + MOVWF FLOC__show_pwr+2 + MOVF R3, 0 + MOVWF FLOC__show_pwr+3 + MOVF FLOC__show_pwr+4, 0 + MOVWF R4 + MOVF FLOC__show_pwr+5, 0 + MOVWF R5 + MOVF FLOC__show_pwr+6, 0 + MOVWF R6 + MOVF FLOC__show_pwr+7, 0 + MOVWF R7 + MOVLW 0 + MOVWF R0 + MOVLW 0 + MOVWF R1 + MOVLW 72 + MOVWF R2 + MOVLW 133 + MOVWF R3 + CALL _Div_32x32_FP+0, 0 + MOVF FLOC__show_pwr+0, 0 + MOVWF R4 + MOVF FLOC__show_pwr+1, 0 + MOVWF R5 + MOVF FLOC__show_pwr+2, 0 + MOVWF R6 + MOVF FLOC__show_pwr+3, 0 + MOVWF R7 + CALL _Add_32x32_FP+0, 0 + MOVF R0, 0 + MOVWF FLOC__show_pwr+0 + MOVF R1, 0 + MOVWF FLOC__show_pwr+1 + MOVF R2, 0 + MOVWF FLOC__show_pwr+2 + MOVF R3, 0 + MOVWF FLOC__show_pwr+3 + MOVF _Fid_loss+0, 0 + MOVWF R0 + CALL _byte2double+0, 0 + MOVF FLOC__show_pwr+0, 0 + MOVWF R4 + MOVF FLOC__show_pwr+1, 0 + MOVWF R5 + MOVF FLOC__show_pwr+2, 0 + MOVWF R6 + MOVF FLOC__show_pwr+3, 0 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + MOVLW 0 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVLW 32 + MOVWF R6 + MOVLW 130 + MOVWF R7 + CALL _Div_32x32_FP+0, 0 + MOVLW 31 + MOVWF R4 + MOVLW 133 + MOVWF R5 + MOVLW 107 + MOVWF R6 + MOVLW 123 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + MOVLW 0 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVLW 0 + MOVWF R6 + MOVLW 127 + MOVWF R7 + CALL _Add_32x32_FP+0, 0 + MOVF R0, 0 + MOVWF R4 + MOVF R1, 0 + MOVWF R5 + MOVF R2, 0 + MOVWF R6 + MOVF R3, 0 + MOVWF R7 + MOVLW 0 + MOVWF R0 + MOVLW 0 + MOVWF R1 + MOVLW 0 + MOVWF R2 + MOVLW 127 + MOVWF R3 + CALL _Div_32x32_FP+0, 0 + MOVF R0, 0 + MOVWF FLOC__show_pwr+8 + MOVF R1, 0 + MOVWF FLOC__show_pwr+9 + MOVF R2, 0 + MOVWF FLOC__show_pwr+10 + MOVF R3, 0 + MOVWF FLOC__show_pwr+11 + MOVF FLOC__show_pwr+8, 0 + MOVWF show_pwr_a_L0+0 + MOVF FLOC__show_pwr+9, 0 + MOVWF show_pwr_a_L0+1 + MOVF FLOC__show_pwr+10, 0 + MOVWF show_pwr_a_L0+2 + MOVF FLOC__show_pwr+11, 0 + MOVWF show_pwr_a_L0+3 +;main.c,549 :: b = 4.0 / (2.0 + SWR/100.0 + 100.0/SWR); // SWR loss + MOVF FARG_show_pwr_SWR+0, 0 + MOVWF R0 + MOVF FARG_show_pwr_SWR+1, 0 + MOVWF R1 + CALL _int2double+0, 0 + MOVF R0, 0 + MOVWF FLOC__show_pwr+4 + MOVF R1, 0 + MOVWF FLOC__show_pwr+5 + MOVF R2, 0 + MOVWF FLOC__show_pwr+6 + MOVF R3, 0 + MOVWF FLOC__show_pwr+7 + MOVLW 0 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVLW 72 + MOVWF R6 + MOVLW 133 + MOVWF R7 + MOVF FLOC__show_pwr+4, 0 + MOVWF R0 + MOVF FLOC__show_pwr+5, 0 + MOVWF R1 + MOVF FLOC__show_pwr+6, 0 + MOVWF R2 + MOVF FLOC__show_pwr+7, 0 + MOVWF R3 + CALL _Div_32x32_FP+0, 0 + MOVLW 0 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVLW 0 + MOVWF R6 + MOVLW 128 + MOVWF R7 + CALL _Add_32x32_FP+0, 0 + MOVF R0, 0 + MOVWF FLOC__show_pwr+0 + MOVF R1, 0 + MOVWF FLOC__show_pwr+1 + MOVF R2, 0 + MOVWF FLOC__show_pwr+2 + MOVF R3, 0 + MOVWF FLOC__show_pwr+3 + MOVF FLOC__show_pwr+4, 0 + MOVWF R4 + MOVF FLOC__show_pwr+5, 0 + MOVWF R5 + MOVF FLOC__show_pwr+6, 0 + MOVWF R6 + MOVF FLOC__show_pwr+7, 0 + MOVWF R7 + MOVLW 0 + MOVWF R0 + MOVLW 0 + MOVWF R1 + MOVLW 72 + MOVWF R2 + MOVLW 133 + MOVWF R3 + CALL _Div_32x32_FP+0, 0 + MOVF FLOC__show_pwr+0, 0 + MOVWF R4 + MOVF FLOC__show_pwr+1, 0 + MOVWF R5 + MOVF FLOC__show_pwr+2, 0 + MOVWF R6 + MOVF FLOC__show_pwr+3, 0 + MOVWF R7 + CALL _Add_32x32_FP+0, 0 + MOVF R0, 0 + MOVWF R4 + MOVF R1, 0 + MOVWF R5 + MOVF R2, 0 + MOVWF R6 + MOVF R3, 0 + MOVWF R7 + MOVLW 0 + MOVWF R0 + MOVLW 0 + MOVWF R1 + MOVLW 0 + MOVWF R2 + MOVLW 129 + MOVWF R3 + CALL _Div_32x32_FP+0, 0 + MOVF R0, 0 + MOVWF show_pwr_b_L0+0 + MOVF R1, 0 + MOVWF show_pwr_b_L0+1 + MOVF R2, 0 + MOVWF show_pwr_b_L0+2 + MOVF R3, 0 + MOVWF show_pwr_b_L0+3 +;main.c,550 :: if(a>=1.0) a = 1.0; + MOVLW 0 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVLW 0 + MOVWF R6 + MOVLW 127 + MOVWF R7 + MOVF FLOC__show_pwr+8, 0 + MOVWF R0 + MOVF FLOC__show_pwr+9, 0 + MOVWF R1 + MOVF FLOC__show_pwr+10, 0 + MOVWF R2 + MOVF FLOC__show_pwr+11, 0 + MOVWF R3 + CALL _Compare_Double+0, 0 + MOVLW 0 + BTFSC STATUS+0, 0 + MOVLW 1 + MOVWF R0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_pwr324 + MOVLW 0 + MOVWF show_pwr_a_L0+0 + MOVLW 0 + MOVWF show_pwr_a_L0+1 + MOVLW 0 + MOVWF show_pwr_a_L0+2 + MOVLW 127 + MOVWF show_pwr_a_L0+3 +L_show_pwr324: +;main.c,551 :: if(b>=1.0) b = 1.0; + MOVLW 0 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVLW 0 + MOVWF R6 + MOVLW 127 + MOVWF R7 + MOVF show_pwr_b_L0+0, 0 + MOVWF R0 + MOVF show_pwr_b_L0+1, 0 + MOVWF R1 + MOVF show_pwr_b_L0+2, 0 + MOVWF R2 + MOVF show_pwr_b_L0+3, 0 + MOVWF R3 + CALL _Compare_Double+0, 0 + MOVLW 0 + BTFSC STATUS+0, 0 + MOVLW 1 + MOVWF R0 + MOVF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_pwr325 + MOVLW 0 + MOVWF show_pwr_b_L0+0 + MOVLW 0 + MOVWF show_pwr_b_L0+1 + MOVLW 0 + MOVWF show_pwr_b_L0+2 + MOVLW 127 + MOVWF show_pwr_b_L0+3 +L_show_pwr325: +;main.c,552 :: p_ant = Power * a * b; + MOVF FARG_show_pwr_Power+0, 0 + MOVWF R0 + MOVF FARG_show_pwr_Power+1, 0 + MOVWF R1 + CALL _int2double+0, 0 + MOVF show_pwr_a_L0+0, 0 + MOVWF R4 + MOVF show_pwr_a_L0+1, 0 + MOVWF R5 + MOVF show_pwr_a_L0+2, 0 + MOVWF R6 + MOVF show_pwr_a_L0+3, 0 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + MOVF show_pwr_b_L0+0, 0 + MOVWF R4 + MOVF show_pwr_b_L0+1, 0 + MOVWF R5 + MOVF show_pwr_b_L0+2, 0 + MOVWF R6 + MOVF show_pwr_b_L0+3, 0 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + CALL _double2int+0, 0 + MOVF R0, 0 + MOVWF show_pwr_p_ant_L0+0 + MOVF R1, 0 + MOVWF show_pwr_p_ant_L0+1 +;main.c,553 :: eff = a * b * 100; + MOVF show_pwr_a_L0+0, 0 + MOVWF R0 + MOVF show_pwr_a_L0+1, 0 + MOVWF R1 + MOVF show_pwr_a_L0+2, 0 + MOVWF R2 + MOVF show_pwr_a_L0+3, 0 + MOVWF R3 + MOVF show_pwr_b_L0+0, 0 + MOVWF R4 + MOVF show_pwr_b_L0+1, 0 + MOVWF R5 + MOVF show_pwr_b_L0+2, 0 + MOVWF R6 + MOVF show_pwr_b_L0+3, 0 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + MOVLW 0 + MOVWF R4 + MOVLW 0 + MOVWF R5 + MOVLW 72 + MOVWF R6 + MOVLW 133 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + CALL _double2int+0, 0 + MOVF R0, 0 + MOVWF show_pwr_eff_L0+0 + MOVF R1, 0 + MOVWF show_pwr_eff_L0+1 +;main.c,554 :: if(eff>=100) eff = 99; + MOVLW 128 + XORWF R1, 0 + MOVWF R2 + MOVLW 128 + SUBWF R2, 0 + BTFSS STATUS+0, 2 + GOTO L__show_pwr585 + MOVLW 100 + SUBWF R0, 0 +L__show_pwr585: + BTFSS STATUS+0, 0 + GOTO L_show_pwr326 + MOVLW 99 + MOVWF show_pwr_eff_L0+0 + MOVLW 0 + MOVWF show_pwr_eff_L0+1 +L_show_pwr326: +;main.c,557 :: if(p_ant >= 100) { // > 10 W + MOVLW 128 + XORWF show_pwr_p_ant_L0+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__show_pwr586 + MOVLW 100 + SUBWF show_pwr_p_ant_L0+0, 0 +L__show_pwr586: + BTFSS STATUS+0, 0 + GOTO L_show_pwr328 +;main.c,558 :: p_ant += 5; // rounding to 1 W + MOVLW 5 + ADDWF show_pwr_p_ant_L0+0, 0 + MOVWF R0 + MOVLW 0 + ADDWFC show_pwr_p_ant_L0+1, 0 + MOVWF R1 + MOVF R0, 0 + MOVWF show_pwr_p_ant_L0+0 + MOVF R1, 0 + MOVWF show_pwr_p_ant_L0+1 +;main.c,559 :: IntToStr(p_ant, work_str); + MOVF R0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF R1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,560 :: work_str_2[0] = work_str[2]; + MOVF _work_str+2, 0 + MOVWF _work_str_2+0 +;main.c,561 :: work_str_2[1] = work_str[3]; + MOVF _work_str+3, 0 + MOVWF _work_str_2+1 +;main.c,562 :: work_str_2[2] = work_str[4]; + MOVF _work_str+4, 0 + MOVWF _work_str_2+2 +;main.c,563 :: work_str_2[3] = 'W'; + MOVLW 87 + MOVWF _work_str_2+3 +;main.c,564 :: } + GOTO L_show_pwr329 +L_show_pwr328: +;main.c,566 :: IntToStr(p_ant, work_str); + MOVF show_pwr_p_ant_L0+0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF show_pwr_p_ant_L0+1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,567 :: if(work_str[4] != ' ') work_str_2[0] = work_str[4]; else work_str_2[0] = '0'; + MOVF _work_str+4, 0 + XORLW 32 + BTFSC STATUS+0, 2 + GOTO L_show_pwr330 + MOVF _work_str+4, 0 + MOVWF _work_str_2+0 + GOTO L_show_pwr331 +L_show_pwr330: + MOVLW 48 + MOVWF _work_str_2+0 +L_show_pwr331: +;main.c,568 :: work_str_2[1] = '.'; + MOVLW 46 + MOVWF _work_str_2+1 +;main.c,569 :: if(work_str[5] != ' ') work_str_2[2] = work_str[5]; else work_str_2[2] = '0'; + MOVF _work_str+5, 0 + XORLW 32 + BTFSC STATUS+0, 2 + GOTO L_show_pwr332 + MOVF _work_str+5, 0 + MOVWF _work_str_2+2 + GOTO L_show_pwr333 +L_show_pwr332: + MOVLW 48 + MOVWF _work_str_2+2 +L_show_pwr333: +;main.c,570 :: work_str_2[3] = 'W'; + MOVLW 87 + MOVWF _work_str_2+3 +;main.c,571 :: } +L_show_pwr329: +;main.c,573 :: if(type==4 | type==5) led_wr_str (4, 16+4*12, work_str_2, 4); // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_pwr334 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + MOVLW 64 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_show_pwr335 +L_show_pwr334: +;main.c,574 :: else if(type==2 | type==3) led_wr_str (0, 13, work_str_2, 4); // 128*32 + MOVF _type+0, 0 + XORLW 2 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 3 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_pwr336 + CLRF FARG_led_wr_str+0 + MOVLW 13 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_show_pwr337 +L_show_pwr336: +;main.c,575 :: else if(type==1) led_wr_str (0, 12, work_str_2, 4); // 1602 + MOVF _type+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_show_pwr338 + CLRF FARG_led_wr_str+0 + MOVLW 12 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_show_pwr338: +L_show_pwr337: +L_show_pwr335: +;main.c,577 :: IntToStr(eff, work_str); + MOVF show_pwr_eff_L0+0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF show_pwr_eff_L0+1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,578 :: work_str_2[0] = work_str[4]; + MOVF _work_str+4, 0 + MOVWF _work_str_2+0 +;main.c,579 :: work_str_2[1] = work_str[5]; + MOVF _work_str+5, 0 + MOVWF _work_str_2+1 +;main.c,580 :: if(type==4 | type==5) led_wr_str(6, 16+5*12, work_str_2, 2); + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_pwr339 + MOVLW 6 + MOVWF FARG_led_wr_str+0 + MOVLW 76 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_show_pwr340 +L_show_pwr339: +;main.c,581 :: else if(type==2 | type==3) led_wr_str(1, 14, work_str_2, 2); + MOVF _type+0, 0 + XORLW 2 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 3 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_pwr341 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + MOVLW 14 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_show_pwr342 +L_show_pwr341: +;main.c,582 :: else if(type==1) led_wr_str(1, 13, work_str_2, 2); + MOVF _type+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_show_pwr343 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + MOVLW 13 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_show_pwr343: +L_show_pwr342: +L_show_pwr340: +;main.c,583 :: } +L_show_pwr322: +;main.c,584 :: } +L_show_pwr311: +;main.c,585 :: asm CLRWDT; + CLRWDT +;main.c,586 :: return; +;main.c,587 :: } +L_end_show_pwr: + RETURN 0 +; end of _show_pwr + +_lcd_pwr: + +;main.c,590 :: void lcd_pwr() { +;main.c,591 :: int p = 0; + CLRF lcd_pwr_p_L0+0 + CLRF lcd_pwr_p_L0+1 +;main.c,593 :: int delta = Auto_delta - 100; + MOVLW 100 + SUBWF _Auto_delta+0, 0 + MOVWF lcd_pwr_delta_L0+0 + MOVLW 0 + SUBWFB _Auto_delta+1, 0 + MOVWF lcd_pwr_delta_L0+1 +;main.c,595 :: int SWR_fixed = 1; + MOVLW 1 + MOVWF lcd_pwr_SWR_fixed_L0+0 + MOVLW 0 + MOVWF lcd_pwr_SWR_fixed_L0+1 +;main.c,596 :: PWR = 0; + CLRF _PWR+0 + CLRF _PWR+1 +;main.c,597 :: asm CLRWDT; + CLRWDT +;main.c,599 :: cnt = 120; + MOVLW 120 + MOVWF lcd_pwr_cnt_L0+0 +;main.c,600 :: for(peak_cnt = 0; peak_cnt < cnt; peak_cnt++){ + CLRF lcd_pwr_peak_cnt_L0+0 +L_lcd_pwr344: + MOVF lcd_pwr_cnt_L0+0, 0 + SUBWF lcd_pwr_peak_cnt_L0+0, 0 + BTFSC STATUS+0, 0 + GOTO L_lcd_pwr345 +;main.c,601 :: if(PORTB.B4==0 | PORTB.B5==0 | PORTB.B0==0) {button_delay(); if(but==1) {but = 0; return;} } + BTFSC PORTB+0, 4 + GOTO L__lcd_pwr588 + BSF R6, 0 + GOTO L__lcd_pwr589 +L__lcd_pwr588: + BCF R6, 0 +L__lcd_pwr589: + BTFSC PORTB+0, 5 + GOTO L__lcd_pwr590 + BSF STATUS+0, 0 + GOTO L__lcd_pwr591 +L__lcd_pwr590: + BCF STATUS+0, 0 +L__lcd_pwr591: + BTFSC R6, 0 + GOTO L__lcd_pwr592 + BTFSC STATUS+0, 0 + GOTO L__lcd_pwr592 + BCF R6, 0 + GOTO L__lcd_pwr593 +L__lcd_pwr592: + BSF R6, 0 +L__lcd_pwr593: + BTFSC PORTB+0, 0 + GOTO L__lcd_pwr594 + BSF STATUS+0, 0 + GOTO L__lcd_pwr595 +L__lcd_pwr594: + BCF STATUS+0, 0 +L__lcd_pwr595: + BTFSC R6, 0 + GOTO L__lcd_pwr596 + BTFSC STATUS+0, 0 + GOTO L__lcd_pwr596 + BCF R6, 0 + GOTO L__lcd_pwr597 +L__lcd_pwr596: + BSF R6, 0 +L__lcd_pwr597: + BTFSS R6, 0 + GOTO L_lcd_pwr347 + CALL _button_delay+0, 0 + MOVF _but+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_pwr348 + CLRF _but+0 + GOTO L_end_lcd_pwr +L_lcd_pwr348: +L_lcd_pwr347: +;main.c,602 :: get_pwr(); + CALL _get_pwr+0, 0 +;main.c,603 :: if(PWR>p) {p = PWR; SWR_fixed = SWR;} + MOVLW 128 + XORWF lcd_pwr_p_L0+1, 0 + MOVWF R0 + MOVLW 128 + XORWF _PWR+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_pwr598 + MOVF _PWR+0, 0 + SUBWF lcd_pwr_p_L0+0, 0 +L__lcd_pwr598: + BTFSC STATUS+0, 0 + GOTO L_lcd_pwr349 + MOVF _PWR+0, 0 + MOVWF lcd_pwr_p_L0+0 + MOVF _PWR+1, 0 + MOVWF lcd_pwr_p_L0+1 + MOVF _SWR+0, 0 + MOVWF lcd_pwr_SWR_fixed_L0+0 + MOVF _SWR+1, 0 + MOVWF lcd_pwr_SWR_fixed_L0+1 +L_lcd_pwr349: +;main.c,604 :: Delay_ms(3); + MOVLW 16 + MOVWF R12, 0 + MOVLW 148 + MOVWF R13, 0 +L_lcd_pwr350: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr350 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr350 + NOP +;main.c,600 :: for(peak_cnt = 0; peak_cnt < cnt; peak_cnt++){ + INCF lcd_pwr_peak_cnt_L0+0, 1 +;main.c,605 :: } + GOTO L_lcd_pwr344 +L_lcd_pwr345: +;main.c,606 :: asm CLRWDT; + CLRWDT +;main.c,607 :: Power = p; + MOVF lcd_pwr_p_L0+0, 0 + MOVWF _Power+0 + MOVF lcd_pwr_p_L0+1, 0 + MOVWF _Power+1 +;main.c,608 :: lcd_swr(SWR_fixed); + MOVF lcd_pwr_SWR_fixed_L0+0, 0 + MOVWF FARG_lcd_swr_swr+0 + MOVF lcd_pwr_SWR_fixed_L0+1, 0 + MOVWF FARG_lcd_swr_swr+1 + CALL _lcd_swr+0, 0 +;main.c,609 :: if(SWR_fixed>=100) { + MOVLW 128 + XORWF lcd_pwr_SWR_fixed_L0+1, 0 + MOVWF R0 + MOVLW 128 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_pwr599 + MOVLW 100 + SUBWF lcd_pwr_SWR_fixed_L0+0, 0 +L__lcd_pwr599: + BTFSS STATUS+0, 0 + GOTO L_lcd_pwr351 +;main.c,610 :: dysp_on(); // dysplay ON + CALL _dysp_on+0, 0 +;main.c,611 :: dysp_cnt = Dysp_delay * dysp_cnt_mult; + MOVF _Dysp_delay+0, 0 + MOVWF R0 + CALL _byte2double+0, 0 + MOVF _dysp_cnt_mult+0, 0 + MOVWF R4 + MOVF _dysp_cnt_mult+1, 0 + MOVWF R5 + MOVF _dysp_cnt_mult+2, 0 + MOVWF R6 + MOVF _dysp_cnt_mult+3, 0 + MOVWF R7 + CALL _Mul_32x32_FP+0, 0 + CALL _double2int+0, 0 + MOVF R0, 0 + MOVWF _dysp_cnt+0 + MOVF R1, 0 + MOVWF _dysp_cnt+1 +;main.c,612 :: } +L_lcd_pwr351: +;main.c,614 :: if(Auto & SWR_fixed>=Auto_delta & ((SWR_fixed>SWR_fixed_old & (SWR_fixed-SWR_fixed_old)>delta) | (SWR_fixeddelta) | SWR_fixed_old==999)) + MOVLW 128 + XORWF lcd_pwr_SWR_fixed_L0+1, 0 + MOVWF R0 + MOVLW 128 + XORWF _Auto_delta+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_pwr600 + MOVF _Auto_delta+0, 0 + SUBWF lcd_pwr_SWR_fixed_L0+0, 0 +L__lcd_pwr600: + MOVLW 0 + BTFSC STATUS+0, 0 + MOVLW 1 + MOVWF R0 + MOVF R0, 0 + ANDWF _Auto+0, 0 + MOVWF R5 + MOVLW 128 + XORWF _SWR_fixed_old+1, 0 + MOVWF R3 + MOVLW 128 + XORWF lcd_pwr_SWR_fixed_L0+1, 0 + SUBWF R3, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_pwr601 + MOVF lcd_pwr_SWR_fixed_L0+0, 0 + SUBWF _SWR_fixed_old+0, 0 +L__lcd_pwr601: + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R3 + MOVF _SWR_fixed_old+0, 0 + SUBWF lcd_pwr_SWR_fixed_L0+0, 0 + MOVWF R1 + MOVF _SWR_fixed_old+1, 0 + SUBWFB lcd_pwr_SWR_fixed_L0+1, 0 + MOVWF R2 + MOVLW 128 + XORWF lcd_pwr_delta_L0+1, 0 + MOVWF R0 + MOVLW 128 + XORWF R2, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_pwr602 + MOVF R1, 0 + SUBWF lcd_pwr_delta_L0+0, 0 +L__lcd_pwr602: + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R0 + MOVF R0, 0 + ANDWF R3, 0 + MOVWF R4 + MOVLW 128 + XORWF lcd_pwr_SWR_fixed_L0+1, 0 + MOVWF R3 + MOVLW 128 + XORWF _SWR_fixed_old+1, 0 + SUBWF R3, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_pwr603 + MOVF _SWR_fixed_old+0, 0 + SUBWF lcd_pwr_SWR_fixed_L0+0, 0 +L__lcd_pwr603: + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R3 + MOVF lcd_pwr_SWR_fixed_L0+0, 0 + SUBWF _SWR_fixed_old+0, 0 + MOVWF R1 + MOVF lcd_pwr_SWR_fixed_L0+1, 0 + SUBWFB _SWR_fixed_old+1, 0 + MOVWF R2 + MOVLW 128 + XORWF lcd_pwr_delta_L0+1, 0 + MOVWF R0 + MOVLW 128 + XORWF R2, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_pwr604 + MOVF R1, 0 + SUBWF lcd_pwr_delta_L0+0, 0 +L__lcd_pwr604: + MOVLW 1 + BTFSC STATUS+0, 0 + MOVLW 0 + MOVWF R0 + MOVF R3, 0 + ANDWF R0, 1 + MOVF R0, 0 + IORWF R4, 0 + MOVWF R1 + MOVF _SWR_fixed_old+1, 0 + XORLW 3 + BTFSS STATUS+0, 2 + GOTO L__lcd_pwr605 + MOVLW 231 + XORWF _SWR_fixed_old+0, 0 +L__lcd_pwr605: + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + MOVF R5, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_pwr352 +;main.c,615 :: Soft_tune = 1; + MOVLW 1 + MOVWF _Soft_tune+0 +L_lcd_pwr352: +;main.c,617 :: if(PORTB.B4==0 | PORTB.B5==0 | PORTB.B0==0) {button_delay(); if(but==1) {but = 0; return;} } // Fast return if button pressed + BTFSC PORTB+0, 4 + GOTO L__lcd_pwr606 + BSF R6, 0 + GOTO L__lcd_pwr607 +L__lcd_pwr606: + BCF R6, 0 +L__lcd_pwr607: + BTFSC PORTB+0, 5 + GOTO L__lcd_pwr608 + BSF STATUS+0, 0 + GOTO L__lcd_pwr609 +L__lcd_pwr608: + BCF STATUS+0, 0 +L__lcd_pwr609: + BTFSC R6, 0 + GOTO L__lcd_pwr610 + BTFSC STATUS+0, 0 + GOTO L__lcd_pwr610 + BCF R6, 0 + GOTO L__lcd_pwr611 +L__lcd_pwr610: + BSF R6, 0 +L__lcd_pwr611: + BTFSC PORTB+0, 0 + GOTO L__lcd_pwr612 + BSF STATUS+0, 0 + GOTO L__lcd_pwr613 +L__lcd_pwr612: + BCF STATUS+0, 0 +L__lcd_pwr613: + BTFSC R6, 0 + GOTO L__lcd_pwr614 + BTFSC STATUS+0, 0 + GOTO L__lcd_pwr614 + BCF R6, 0 + GOTO L__lcd_pwr615 +L__lcd_pwr614: + BSF R6, 0 +L__lcd_pwr615: + BTFSS R6, 0 + GOTO L_lcd_pwr353 + CALL _button_delay+0, 0 + MOVF _but+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_pwr354 + CLRF _but+0 + GOTO L_end_lcd_pwr +L_lcd_pwr354: +L_lcd_pwr353: +;main.c,618 :: show_pwr(Power, SWR_fixed); + MOVF _Power+0, 0 + MOVWF FARG_show_pwr_Power+0 + MOVF _Power+1, 0 + MOVWF FARG_show_pwr_Power+1 + MOVF lcd_pwr_SWR_fixed_L0+0, 0 + MOVWF FARG_show_pwr_SWR+0 + MOVF lcd_pwr_SWR_fixed_L0+1, 0 + MOVWF FARG_show_pwr_SWR+1 + CALL _show_pwr+0, 0 +;main.c,620 :: if(PORTB.B4==0 | PORTB.B5==0 | PORTB.B0==0) {button_delay(); if(but==1) {but = 0; return;} } + BTFSC PORTB+0, 4 + GOTO L__lcd_pwr616 + BSF R6, 0 + GOTO L__lcd_pwr617 +L__lcd_pwr616: + BCF R6, 0 +L__lcd_pwr617: + BTFSC PORTB+0, 5 + GOTO L__lcd_pwr618 + BSF STATUS+0, 0 + GOTO L__lcd_pwr619 +L__lcd_pwr618: + BCF STATUS+0, 0 +L__lcd_pwr619: + BTFSC R6, 0 + GOTO L__lcd_pwr620 + BTFSC STATUS+0, 0 + GOTO L__lcd_pwr620 + BCF R6, 0 + GOTO L__lcd_pwr621 +L__lcd_pwr620: + BSF R6, 0 +L__lcd_pwr621: + BTFSC PORTB+0, 0 + GOTO L__lcd_pwr622 + BSF STATUS+0, 0 + GOTO L__lcd_pwr623 +L__lcd_pwr622: + BCF STATUS+0, 0 +L__lcd_pwr623: + BTFSC R6, 0 + GOTO L__lcd_pwr624 + BTFSC STATUS+0, 0 + GOTO L__lcd_pwr624 + BCF R6, 0 + GOTO L__lcd_pwr625 +L__lcd_pwr624: + BSF R6, 0 +L__lcd_pwr625: + BTFSS R6, 0 + GOTO L_lcd_pwr355 + CALL _button_delay+0, 0 + MOVF _but+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_pwr356 + CLRF _but+0 + GOTO L_end_lcd_pwr +L_lcd_pwr356: +L_lcd_pwr355: +;main.c,621 :: asm CLRWDT; + CLRWDT +;main.c,622 :: if(Overload==1) { + MOVF main_Overload+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_pwr357 +;main.c,623 :: if(type==4 | type==5) { // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_pwr358 +;main.c,624 :: led_wr_str (2, 16, " ", 8); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr56_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr56_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,625 :: delay_ms(100); + MOVLW 3 + MOVWF R11, 0 + MOVLW 8 + MOVWF R12, 0 + MOVLW 119 + MOVWF R13, 0 +L_lcd_pwr359: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr359 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr359 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr359 +;main.c,626 :: asm CLRWDT; + CLRWDT +;main.c,627 :: led_wr_str (2, 16, "OVERLOAD", 8); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr57_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr57_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,628 :: delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_lcd_pwr360: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr360 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr360 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr360 + NOP + NOP +;main.c,629 :: asm CLRWDT; + CLRWDT +;main.c,630 :: led_wr_str (2, 16, " ", 8); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr58_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr58_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,631 :: delay_ms(300); + MOVLW 7 + MOVWF R11, 0 + MOVLW 23 + MOVWF R12, 0 + MOVLW 106 + MOVWF R13, 0 +L_lcd_pwr361: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr361 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr361 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr361 + NOP +;main.c,632 :: asm CLRWDT; + CLRWDT +;main.c,633 :: led_wr_str (2, 16, "OVERLOAD", 8); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr59_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr59_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,634 :: delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_lcd_pwr362: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr362 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr362 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr362 + NOP + NOP +;main.c,635 :: asm CLRWDT; + CLRWDT +;main.c,636 :: led_wr_str (2, 16, " ", 8); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr60_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr60_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,637 :: delay_ms(300); + MOVLW 7 + MOVWF R11, 0 + MOVLW 23 + MOVWF R12, 0 + MOVLW 106 + MOVWF R13, 0 +L_lcd_pwr363: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr363 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr363 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr363 + NOP +;main.c,638 :: asm CLRWDT; + CLRWDT +;main.c,639 :: led_wr_str (2, 16, "OVERLOAD", 8); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr61_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr61_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,640 :: delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_lcd_pwr364: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr364 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr364 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr364 + NOP + NOP +;main.c,641 :: asm CLRWDT; + CLRWDT +;main.c,642 :: led_wr_str (2, 16, " ", 8); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr62_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr62_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,643 :: delay_ms(100); + MOVLW 3 + MOVWF R11, 0 + MOVLW 8 + MOVWF R12, 0 + MOVLW 119 + MOVWF R13, 0 +L_lcd_pwr365: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr365 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr365 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr365 +;main.c,644 :: led_wr_str (2, 16, "SWR= ", 8); + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr63_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr63_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,645 :: } + GOTO L_lcd_pwr366 +L_lcd_pwr358: +;main.c,646 :: else if(type!=0 & type!=6) { // 1602 & 128*32// 1602 + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_pwr367 +;main.c,647 :: led_wr_str (1, 0, " ", 8); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr64_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr64_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,648 :: delay_ms(100); + MOVLW 3 + MOVWF R11, 0 + MOVLW 8 + MOVWF R12, 0 + MOVLW 119 + MOVWF R13, 0 +L_lcd_pwr368: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr368 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr368 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr368 +;main.c,649 :: asm CLRWDT; + CLRWDT +;main.c,650 :: led_wr_str (1, 0, "OVERLOAD", 8); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr65_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr65_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,651 :: delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_lcd_pwr369: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr369 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr369 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr369 + NOP + NOP +;main.c,652 :: asm CLRWDT; + CLRWDT +;main.c,653 :: led_wr_str (1, 0, " ", 8); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr66_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr66_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,654 :: delay_ms(300); + MOVLW 7 + MOVWF R11, 0 + MOVLW 23 + MOVWF R12, 0 + MOVLW 106 + MOVWF R13, 0 +L_lcd_pwr370: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr370 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr370 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr370 + NOP +;main.c,655 :: asm CLRWDT; + CLRWDT +;main.c,656 :: led_wr_str (1, 0, "OVERLOAD", 8); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr67_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr67_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,657 :: delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_lcd_pwr371: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr371 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr371 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr371 + NOP + NOP +;main.c,658 :: asm CLRWDT; + CLRWDT +;main.c,659 :: led_wr_str (1, 0, " ", 8); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr68_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr68_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,660 :: delay_ms(300); + MOVLW 7 + MOVWF R11, 0 + MOVLW 23 + MOVWF R12, 0 + MOVLW 106 + MOVWF R13, 0 +L_lcd_pwr372: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr372 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr372 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr372 + NOP +;main.c,661 :: asm CLRWDT; + CLRWDT +;main.c,662 :: led_wr_str (1, 0, "OVERLOAD", 8); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr69_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr69_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,663 :: delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_lcd_pwr373: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr373 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr373 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr373 + NOP + NOP +;main.c,664 :: asm CLRWDT; + CLRWDT +;main.c,665 :: led_wr_str (1, 0, " ", 8); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr70_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr70_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,666 :: delay_ms(100); + MOVLW 3 + MOVWF R11, 0 + MOVLW 8 + MOVWF R12, 0 + MOVLW 119 + MOVWF R13, 0 +L_lcd_pwr374: + DECFSZ R13, 1, 1 + BRA L_lcd_pwr374 + DECFSZ R12, 1, 1 + BRA L_lcd_pwr374 + DECFSZ R11, 1, 1 + BRA L_lcd_pwr374 +;main.c,667 :: led_wr_str (1, 0, "SWR= ", 8); + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CLRF FARG_led_wr_str+0 + MOVLW ?lstr71_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr71_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,668 :: } +L_lcd_pwr367: +L_lcd_pwr366: +;main.c,669 :: asm CLRWDT; + CLRWDT +;main.c,670 :: SWR_old = 10000; + MOVLW 16 + MOVWF _SWR_old+0 + MOVLW 39 + MOVWF _SWR_old+1 +;main.c,671 :: lcd_swr(SWR_fixed); + MOVF lcd_pwr_SWR_fixed_L0+0, 0 + MOVWF FARG_lcd_swr_swr+0 + MOVF lcd_pwr_SWR_fixed_L0+1, 0 + MOVWF FARG_lcd_swr_swr+1 + CALL _lcd_swr+0, 0 +;main.c,672 :: } +L_lcd_pwr357: +;main.c,673 :: return; +;main.c,674 :: } +L_end_lcd_pwr: + RETURN 0 +; end of _lcd_pwr + +_lcd_ind: + +;main.c,676 :: void lcd_ind() { +;main.c,678 :: asm CLRWDT; + CLRWDT +;main.c,680 :: work_int = 0; + CLRF _work_int+0 + CLRF _work_int+1 +;main.c,681 :: if(ind.B0) work_int += Ind1; + BTFSS main_ind+0, 0 + GOTO L_lcd_ind376 + MOVF _Ind1+0, 0 + ADDWF _work_int+0, 1 + MOVF _Ind1+1, 0 + ADDWFC _work_int+1, 1 +L_lcd_ind376: +;main.c,682 :: if(ind.B1) work_int += Ind2; + BTFSS main_ind+0, 1 + GOTO L_lcd_ind377 + MOVF _Ind2+0, 0 + ADDWF _work_int+0, 1 + MOVF _Ind2+1, 0 + ADDWFC _work_int+1, 1 +L_lcd_ind377: +;main.c,683 :: if(ind.B2) work_int += Ind3; + BTFSS main_ind+0, 2 + GOTO L_lcd_ind378 + MOVF _Ind3+0, 0 + ADDWF _work_int+0, 1 + MOVF _Ind3+1, 0 + ADDWFC _work_int+1, 1 +L_lcd_ind378: +;main.c,684 :: if(ind.B3) work_int += Ind4; + BTFSS main_ind+0, 3 + GOTO L_lcd_ind379 + MOVF _Ind4+0, 0 + ADDWF _work_int+0, 1 + MOVF _Ind4+1, 0 + ADDWFC _work_int+1, 1 +L_lcd_ind379: +;main.c,685 :: if(ind.B4) work_int += Ind5; + BTFSS main_ind+0, 4 + GOTO L_lcd_ind380 + MOVF _Ind5+0, 0 + ADDWF _work_int+0, 1 + MOVF _Ind5+1, 0 + ADDWFC _work_int+1, 1 +L_lcd_ind380: +;main.c,686 :: if(type==1) { // 1602 LCD + MOVF _type+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_ind381 +;main.c,687 :: if(work_int>9999) { // more then 9999 nH + MOVLW 128 + XORLW 39 + MOVWF R0 + MOVLW 128 + XORWF _work_int+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_ind627 + MOVF _work_int+0, 0 + SUBLW 15 +L__lcd_ind627: + BTFSC STATUS+0, 0 + GOTO L_lcd_ind382 +;main.c,688 :: work_int += 500; // round + MOVLW 244 + ADDWF _work_int+0, 0 + MOVWF R0 + MOVLW 1 + ADDWFC _work_int+1, 0 + MOVWF R1 + MOVF R0, 0 + MOVWF _work_int+0 + MOVF R1, 0 + MOVWF _work_int+1 +;main.c,689 :: IntToStr(work_int, work_str); + MOVF R0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF R1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,690 :: work_str_2[0] = ' '; + MOVLW 32 + MOVWF _work_str_2+0 +;main.c,691 :: work_str_2[1] = work_str[1]; + MOVF _work_str+1, 0 + MOVWF _work_str_2+1 +;main.c,692 :: work_str_2[2] = work_str[2]; + MOVF _work_str+2, 0 + MOVWF _work_str_2+2 +;main.c,693 :: } + GOTO L_lcd_ind383 +L_lcd_ind382: +;main.c,695 :: work_int += 50; // Round + MOVLW 50 + ADDWF _work_int+0, 0 + MOVWF R0 + MOVLW 0 + ADDWFC _work_int+1, 0 + MOVWF R1 + MOVF R0, 0 + MOVWF _work_int+0 + MOVF R1, 0 + MOVWF _work_int+1 +;main.c,696 :: IntToStr(work_int, work_str); + MOVF R0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF R1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,697 :: if(work_str[2] != ' ') work_str_2[0] = work_str[2]; else work_str_2[0] = '0'; + MOVF _work_str+2, 0 + XORLW 32 + BTFSC STATUS+0, 2 + GOTO L_lcd_ind384 + MOVF _work_str+2, 0 + MOVWF _work_str_2+0 + GOTO L_lcd_ind385 +L_lcd_ind384: + MOVLW 48 + MOVWF _work_str_2+0 +L_lcd_ind385: +;main.c,698 :: work_str_2[1] = '.'; + MOVLW 46 + MOVWF _work_str_2+1 +;main.c,699 :: if(work_str[3] != ' ') work_str_2[2] = work_str[3]; else work_str_2[2] = '0'; + MOVF _work_str+3, 0 + XORLW 32 + BTFSC STATUS+0, 2 + GOTO L_lcd_ind386 + MOVF _work_str+3, 0 + MOVWF _work_str_2+2 + GOTO L_lcd_ind387 +L_lcd_ind386: + MOVLW 48 + MOVWF _work_str_2+2 +L_lcd_ind387: +;main.c,700 :: } +L_lcd_ind383: +;main.c,701 :: } + GOTO L_lcd_ind388 +L_lcd_ind381: +;main.c,702 :: else if(work_int>9999) {// more then 9999 nH + MOVLW 128 + XORLW 39 + MOVWF R0 + MOVLW 128 + XORWF _work_int+1, 0 + SUBWF R0, 0 + BTFSS STATUS+0, 2 + GOTO L__lcd_ind628 + MOVF _work_int+0, 0 + SUBLW 15 +L__lcd_ind628: + BTFSC STATUS+0, 0 + GOTO L_lcd_ind389 +;main.c,703 :: work_int += 50; // Round + MOVLW 50 + ADDWF _work_int+0, 0 + MOVWF R0 + MOVLW 0 + ADDWFC _work_int+1, 0 + MOVWF R1 + MOVF R0, 0 + MOVWF _work_int+0 + MOVF R1, 0 + MOVWF _work_int+1 +;main.c,704 :: IntToStr(work_int, work_str); + MOVF R0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF R1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,705 :: work_str_2[0] = work_str[1]; + MOVF _work_str+1, 0 + MOVWF _work_str_2+0 +;main.c,706 :: work_str_2[1] = work_str[2]; + MOVF _work_str+2, 0 + MOVWF _work_str_2+1 +;main.c,707 :: work_str_2[2] = '.'; + MOVLW 46 + MOVWF _work_str_2+2 +;main.c,708 :: work_str_2[3] = work_str[3]; + MOVF _work_str+3, 0 + MOVWF _work_str_2+3 +;main.c,709 :: } + GOTO L_lcd_ind390 +L_lcd_ind389: +;main.c,711 :: IntToStr(work_int, work_str); + MOVF _work_int+0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF _work_int+1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,712 :: if(work_str[2] != ' ') work_str_2[0] = work_str[2]; else work_str_2[0] = '0'; + MOVF _work_str+2, 0 + XORLW 32 + BTFSC STATUS+0, 2 + GOTO L_lcd_ind391 + MOVF _work_str+2, 0 + MOVWF _work_str_2+0 + GOTO L_lcd_ind392 +L_lcd_ind391: + MOVLW 48 + MOVWF _work_str_2+0 +L_lcd_ind392: +;main.c,713 :: work_str_2[1] = '.'; + MOVLW 46 + MOVWF _work_str_2+1 +;main.c,714 :: if(work_str[3] != ' ') work_str_2[2] = work_str[3]; else work_str_2[2] = '0'; + MOVF _work_str+3, 0 + XORLW 32 + BTFSC STATUS+0, 2 + GOTO L_lcd_ind393 + MOVF _work_str+3, 0 + MOVWF _work_str_2+2 + GOTO L_lcd_ind394 +L_lcd_ind393: + MOVLW 48 + MOVWF _work_str_2+2 +L_lcd_ind394: +;main.c,715 :: if(work_str[4] != ' ') work_str_2[3] = work_str[4]; else work_str_2[3] = '0'; + MOVF _work_str+4, 0 + XORLW 32 + BTFSC STATUS+0, 2 + GOTO L_lcd_ind395 + MOVF _work_str+4, 0 + MOVWF _work_str_2+3 + GOTO L_lcd_ind396 +L_lcd_ind395: + MOVLW 48 + MOVWF _work_str_2+3 +L_lcd_ind396: +;main.c,716 :: } +L_lcd_ind390: +L_lcd_ind388: +;main.c,718 :: if(type==1) { + MOVF _type+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_ind397 +;main.c,719 :: if(SW==1) column = 0; else column = 1; + MOVF main_SW+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_ind398 + CLRF lcd_ind_column_L0+0 + GOTO L_lcd_ind399 +L_lcd_ind398: + MOVLW 1 + MOVWF lcd_ind_column_L0+0 +L_lcd_ind399: +;main.c,720 :: led_wr_str (column, 9, "L=", 2); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr72_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr72_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,721 :: led_wr_str (column, 14, "uH", 2); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 14 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr73_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr73_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,722 :: led_wr_str (column, 11, work_str_2, 3); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 11 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 3 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,723 :: } + GOTO L_lcd_ind400 +L_lcd_ind397: +;main.c,724 :: else if(type==4 | type==5) { // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_ind401 +;main.c,725 :: if(SW==1) column = 4; else column = 6; + MOVF main_SW+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_ind402 + MOVLW 4 + MOVWF lcd_ind_column_L0+0 + GOTO L_lcd_ind403 +L_lcd_ind402: + MOVLW 6 + MOVWF lcd_ind_column_L0+0 +L_lcd_ind403: +;main.c,726 :: led_wr_str (column, 16, "L=", 2); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr74_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr74_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,727 :: led_wr_str (column, 16+6*12, "uH", 2); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 88 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr75_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr75_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,728 :: led_wr_str (column, 16+2*12, work_str_2, 4); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 40 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,729 :: } + GOTO L_lcd_ind404 +L_lcd_ind401: +;main.c,730 :: else if(type==2 | type==3) {// 128*32 OLED + MOVF _type+0, 0 + XORLW 2 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 3 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_ind405 +;main.c,731 :: if(SW==1) column = 0; else column = 1; + MOVF main_SW+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_ind406 + CLRF lcd_ind_column_L0+0 + GOTO L_lcd_ind407 +L_lcd_ind406: + MOVLW 1 + MOVWF lcd_ind_column_L0+0 +L_lcd_ind407: +;main.c,732 :: led_wr_str (column, 9, "L=", 2); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr76_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr76_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,733 :: led_wr_str (column, 15, "uH", 2); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 15 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr77_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr77_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,734 :: led_wr_str (column, 11, work_str_2, 4); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 11 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,735 :: } +L_lcd_ind405: +L_lcd_ind404: +L_lcd_ind400: +;main.c,737 :: asm CLRWDT; + CLRWDT +;main.c,739 :: work_int = 0; + CLRF _work_int+0 + CLRF _work_int+1 +;main.c,740 :: if(cap.B0) work_int += Cap1; + BTFSS main_cap+0, 0 + GOTO L_lcd_ind409 + MOVF _Cap1+0, 0 + ADDWF _work_int+0, 1 + MOVF _Cap1+1, 0 + ADDWFC _work_int+1, 1 +L_lcd_ind409: +;main.c,741 :: if(cap.B1) work_int += Cap2; + BTFSS main_cap+0, 1 + GOTO L_lcd_ind410 + MOVF _Cap2+0, 0 + ADDWF _work_int+0, 1 + MOVF _Cap2+1, 0 + ADDWFC _work_int+1, 1 +L_lcd_ind410: +;main.c,742 :: if(cap.B2) work_int += Cap3; + BTFSS main_cap+0, 2 + GOTO L_lcd_ind411 + MOVF _Cap3+0, 0 + ADDWF _work_int+0, 1 + MOVF _Cap3+1, 0 + ADDWFC _work_int+1, 1 +L_lcd_ind411: +;main.c,743 :: if(cap.B3) work_int += Cap4; + BTFSS main_cap+0, 3 + GOTO L_lcd_ind412 + MOVF _Cap4+0, 0 + ADDWF _work_int+0, 1 + MOVF _Cap4+1, 0 + ADDWFC _work_int+1, 1 +L_lcd_ind412: +;main.c,744 :: if(cap.B4) work_int += Cap5; + BTFSS main_cap+0, 4 + GOTO L_lcd_ind413 + MOVF _Cap5+0, 0 + ADDWF _work_int+0, 1 + MOVF _Cap5+1, 0 + ADDWFC _work_int+1, 1 +L_lcd_ind413: +;main.c,746 :: if(type==4 | type==5) { // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_ind414 +;main.c,747 :: IntToStr(work_int, work_str); + MOVF _work_int+0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF _work_int+1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,748 :: work_str_2[0] = work_str[2]; + MOVF _work_str+2, 0 + MOVWF _work_str_2+0 +;main.c,749 :: work_str_2[1] = work_str[3]; + MOVF _work_str+3, 0 + MOVWF _work_str_2+1 +;main.c,750 :: work_str_2[2] = work_str[4]; + MOVF _work_str+4, 0 + MOVWF _work_str_2+2 +;main.c,751 :: work_str_2[3] = work_str[5]; + MOVF _work_str+5, 0 + MOVWF _work_str_2+3 +;main.c,752 :: if(SW==1) column = 6; else column = 4; + MOVF main_SW+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_ind415 + MOVLW 6 + MOVWF lcd_ind_column_L0+0 + GOTO L_lcd_ind416 +L_lcd_ind415: + MOVLW 4 + MOVWF lcd_ind_column_L0+0 +L_lcd_ind416: +;main.c,753 :: led_wr_str (column, 16, "C=", 2); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 16 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr78_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr78_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,754 :: led_wr_str (column, 16+6*12, "pF", 2); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 88 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr79_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr79_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,755 :: led_wr_str (column, 16+2*12, work_str_2, 4); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 40 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,756 :: } + GOTO L_lcd_ind417 +L_lcd_ind414: +;main.c,757 :: else if(type==2 | type==3) {// 128*32 OLED + MOVF _type+0, 0 + XORLW 2 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 3 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_lcd_ind418 +;main.c,758 :: IntToStr(work_int, work_str); + MOVF _work_int+0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF _work_int+1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,759 :: work_str_2[0] = work_str[2]; + MOVF _work_str+2, 0 + MOVWF _work_str_2+0 +;main.c,760 :: work_str_2[1] = work_str[3]; + MOVF _work_str+3, 0 + MOVWF _work_str_2+1 +;main.c,761 :: work_str_2[2] = work_str[4]; + MOVF _work_str+4, 0 + MOVWF _work_str_2+2 +;main.c,762 :: work_str_2[3] = work_str[5]; + MOVF _work_str+5, 0 + MOVWF _work_str_2+3 +;main.c,763 :: if(SW==1) column = 1; else column = 0; + MOVF main_SW+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_ind419 + MOVLW 1 + MOVWF lcd_ind_column_L0+0 + GOTO L_lcd_ind420 +L_lcd_ind419: + CLRF lcd_ind_column_L0+0 +L_lcd_ind420: +;main.c,764 :: led_wr_str (column, 9, "C=", 2); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr80_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr80_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,765 :: led_wr_str (column, 15, "pF", 2); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 15 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr81_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr81_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,766 :: led_wr_str (column, 11, work_str_2, 4); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 11 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 4 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,767 :: } + GOTO L_lcd_ind421 +L_lcd_ind418: +;main.c,768 :: else if(type==1) { // 1602 LCD + MOVF _type+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_ind422 +;main.c,769 :: IntToStr(work_int, work_str); + MOVF _work_int+0, 0 + MOVWF FARG_IntToStr_input+0 + MOVF _work_int+1, 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,770 :: work_str_2[0] = work_str[3]; + MOVF _work_str+3, 0 + MOVWF _work_str_2+0 +;main.c,771 :: work_str_2[1] = work_str[4]; + MOVF _work_str+4, 0 + MOVWF _work_str_2+1 +;main.c,772 :: work_str_2[2] = work_str[5]; + MOVF _work_str+5, 0 + MOVWF _work_str_2+2 +;main.c,773 :: if(SW==1) column = 1; else column = 0; + MOVF main_SW+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_lcd_ind423 + MOVLW 1 + MOVWF lcd_ind_column_L0+0 + GOTO L_lcd_ind424 +L_lcd_ind423: + CLRF lcd_ind_column_L0+0 +L_lcd_ind424: +;main.c,774 :: led_wr_str (column, 9, "C=", 2); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr82_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr82_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,775 :: led_wr_str (column, 14, "pF", 2); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 14 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr83_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr83_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,776 :: led_wr_str (column, 11, work_str_2, 3); + MOVF lcd_ind_column_L0+0, 0 + MOVWF FARG_led_wr_str+0 + MOVLW 11 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 3 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +;main.c,777 :: } +L_lcd_ind422: +L_lcd_ind421: +L_lcd_ind417: +;main.c,779 :: asm CLRWDT; + CLRWDT +;main.c,780 :: return; +;main.c,781 :: } +L_end_lcd_ind: + RETURN 0 +; end of _lcd_ind + +_Test_init: + +;main.c,783 :: void Test_init(void) { // Test mode +;main.c,784 :: if(type==4 | type==5) // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_Test_init425 +;main.c,785 :: led_wr_str (0, 10, "TEST MODE", 9); + CLRF FARG_led_wr_str+0 + MOVLW 10 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr84_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr84_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_Test_init426 +L_Test_init425: +;main.c,786 :: else if(type!=0 & type!=6) // 1602 LCD or 128*32 OLED + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_Test_init427 +;main.c,787 :: led_wr_str (0, 3, "TEST MODE", 9); + CLRF FARG_led_wr_str+0 + MOVLW 3 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr85_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr85_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_Test_init427: +L_Test_init426: +;main.c,788 :: asm CLRWDT; + CLRWDT +;main.c,789 :: Delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_Test_init428: + DECFSZ R13, 1, 1 + BRA L_Test_init428 + DECFSZ R12, 1, 1 + BRA L_Test_init428 + DECFSZ R11, 1, 1 + BRA L_Test_init428 + NOP + NOP +;main.c,790 :: asm CLRWDT; + CLRWDT +;main.c,791 :: Delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_Test_init429: + DECFSZ R13, 1, 1 + BRA L_Test_init429 + DECFSZ R12, 1, 1 + BRA L_Test_init429 + DECFSZ R11, 1, 1 + BRA L_Test_init429 + NOP + NOP +;main.c,792 :: asm CLRWDT; + CLRWDT +;main.c,793 :: Delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_Test_init430: + DECFSZ R13, 1, 1 + BRA L_Test_init430 + DECFSZ R12, 1, 1 + BRA L_Test_init430 + DECFSZ R11, 1, 1 + BRA L_Test_init430 + NOP + NOP +;main.c,794 :: asm CLRWDT; + CLRWDT +;main.c,795 :: Delay_ms(500); + MOVLW 11 + MOVWF R11, 0 + MOVLW 38 + MOVWF R12, 0 + MOVLW 93 + MOVWF R13, 0 +L_Test_init431: + DECFSZ R13, 1, 1 + BRA L_Test_init431 + DECFSZ R12, 1, 1 + BRA L_Test_init431 + DECFSZ R11, 1, 1 + BRA L_Test_init431 + NOP + NOP +;main.c,796 :: asm CLRWDT; + CLRWDT +;main.c,797 :: if(type==4 | type==5) // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_Test_init432 +;main.c,798 :: led_wr_str (0, 10, " ", 9); + CLRF FARG_led_wr_str+0 + MOVLW 10 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr86_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr86_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_Test_init433 +L_Test_init432: +;main.c,799 :: else if(type!=0 & type!=6) // 1602 LCD or 128*32 OLED + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_Test_init434 +;main.c,800 :: led_wr_str (0, 3, " ", 9); + CLRF FARG_led_wr_str+0 + MOVLW 3 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr87_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr87_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 9 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_Test_init434: +L_Test_init433: +;main.c,801 :: atu_reset(); + CALL _atu_reset+0, 0 +;main.c,802 :: SW = 1; // C to OUT + MOVLW 1 + MOVWF main_SW+0 +;main.c,803 :: set_sw(SW); + MOVLW 1 + MOVWF FARG_set_sw_SW+0 + CALL _set_sw+0, 0 +;main.c,804 :: EEPROM_Write(255, cap); + MOVLW 255 + MOVWF FARG_EEPROM_Write_address+0 + MOVF main_cap+0, 0 + MOVWF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,805 :: EEPROM_Write(254, ind); + MOVLW 254 + MOVWF FARG_EEPROM_Write_address+0 + MOVF main_ind+0, 0 + MOVWF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,806 :: EEPROM_Write(253, SW); + MOVLW 253 + MOVWF FARG_EEPROM_Write_address+0 + MOVF main_SW+0, 0 + MOVWF FARG_EEPROM_Write_data_+0 + CALL _EEPROM_Write+0, 0 +;main.c,808 :: if(type==4 | type==5) // 128*64 OLED + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_Test_init435 +;main.c,809 :: led_wr_str (0, 16+12*8, "l", 1); + CLRF FARG_led_wr_str+0 + MOVLW 112 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr88_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr88_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_Test_init436 +L_Test_init435: +;main.c,810 :: else if(type!=0 & type!=6) // 1602 LCD or 128*32 OLED + MOVF _type+0, 0 + XORLW 0 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF _type+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_Test_init437 +;main.c,811 :: led_wr_str (0, 8, "l", 1); + CLRF FARG_led_wr_str+0 + MOVLW 8 + MOVWF FARG_led_wr_str+0 + MOVLW ?lstr89_main+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(?lstr89_main+0) + MOVWF FARG_led_wr_str+1 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_Test_init437: +L_Test_init436: +;main.c,813 :: lcd_prep_short = 1; + MOVLW 1 + MOVWF _lcd_prep_short+0 +;main.c,814 :: lcd_prep(); + CALL _lcd_prep+0, 0 +;main.c,815 :: return; +;main.c,816 :: } +L_end_Test_init: + RETURN 0 +; end of _Test_init + +_cells_init: + +;main.c,818 :: void cells_init(void) { +;main.c,820 :: asm CLRWDT; + CLRWDT +;main.c,822 :: type = EEPROM_Read(1); // type of display + MOVLW 1 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF _type+0 +;main.c,823 :: if(EEPROM_Read(2) == 1) Auto = 1; + MOVLW 2 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_cells_init438 + MOVLW 1 + MOVWF _Auto+0 +L_cells_init438: +;main.c,824 :: Rel_Del = Bcd2Dec(EEPROM_Read(3)); // Relay's Delay + MOVLW 3 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + MOVWF main_Rel_Del+0 + MOVLW 0 + MOVWF main_Rel_Del+1 +;main.c,825 :: Auto_delta = Bcd2Dec(EEPROM_Read(4)) * 10; // Auto_delta + MOVLW 4 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 10 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF _Auto_delta+0 + MOVF PRODH+0, 0 + MOVWF _Auto_delta+1 +;main.c,826 :: min_for_start = Bcd2Dec(EEPROM_Read(5)) * 10; // min_for_start + MOVLW 5 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 10 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF main_min_for_start+0 + MOVF PRODH+0, 0 + MOVWF main_min_for_start+1 +;main.c,827 :: max_for_start = Bcd2Dec(EEPROM_Read(6)) * 10; // max_for_start + MOVLW 6 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 10 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF main_max_for_start+0 + MOVF PRODH+0, 0 + MOVWF main_max_for_start+1 +;main.c,828 :: max_swr = Bcd2Dec(EEPROM_Read(9)) * 10; // Max SWR + MOVLW 9 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 10 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF main_max_swr+0 + MOVF PRODH+0, 0 + MOVWF main_max_swr+1 +;main.c,829 :: K_Mult = Bcd2Dec(EEPROM_Read(10)); // Tandem Match rate + MOVLW 10 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + MOVWF main_K_mult+0 +;main.c,831 :: asm CLRWDT; + CLRWDT +;main.c,832 :: Ind1 = Bcd2Dec(EEPROM_Read(16)) * 100 + Bcd2Dec(EEPROM_Read(17)); // Ind1 + MOVLW 16 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 100 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF FLOC__cells_init+0 + MOVF PRODH+0, 0 + MOVWF FLOC__cells_init+1 + MOVLW 17 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + ADDWF FLOC__cells_init+0, 0 + MOVWF _Ind1+0 + MOVLW 0 + ADDWFC FLOC__cells_init+1, 0 + MOVWF _Ind1+1 +;main.c,833 :: Ind2 = Bcd2Dec(EEPROM_Read(18)) * 100 + Bcd2Dec(EEPROM_Read(19)); // Ind2 + MOVLW 18 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 100 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF FLOC__cells_init+0 + MOVF PRODH+0, 0 + MOVWF FLOC__cells_init+1 + MOVLW 19 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + ADDWF FLOC__cells_init+0, 0 + MOVWF _Ind2+0 + MOVLW 0 + ADDWFC FLOC__cells_init+1, 0 + MOVWF _Ind2+1 +;main.c,834 :: Ind3 = Bcd2Dec(EEPROM_Read(20)) * 100 + Bcd2Dec(EEPROM_Read(21)); // Ind3 + MOVLW 20 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 100 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF FLOC__cells_init+0 + MOVF PRODH+0, 0 + MOVWF FLOC__cells_init+1 + MOVLW 21 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + ADDWF FLOC__cells_init+0, 0 + MOVWF _Ind3+0 + MOVLW 0 + ADDWFC FLOC__cells_init+1, 0 + MOVWF _Ind3+1 +;main.c,835 :: Ind4 = Bcd2Dec(EEPROM_Read(22)) * 100 + Bcd2Dec(EEPROM_Read(23)); // Ind4 + MOVLW 22 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 100 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF FLOC__cells_init+0 + MOVF PRODH+0, 0 + MOVWF FLOC__cells_init+1 + MOVLW 23 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + ADDWF FLOC__cells_init+0, 0 + MOVWF _Ind4+0 + MOVLW 0 + ADDWFC FLOC__cells_init+1, 0 + MOVWF _Ind4+1 +;main.c,836 :: Ind5 = Bcd2Dec(EEPROM_Read(24)) * 100 + Bcd2Dec(EEPROM_Read(25)); // Ind5 + MOVLW 24 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 100 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF FLOC__cells_init+0 + MOVF PRODH+0, 0 + MOVWF FLOC__cells_init+1 + MOVLW 25 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + ADDWF FLOC__cells_init+0, 0 + MOVWF _Ind5+0 + MOVLW 0 + ADDWFC FLOC__cells_init+1, 0 + MOVWF _Ind5+1 +;main.c,838 :: Cap1 = Bcd2Dec(EEPROM_Read(32)) * 100 + Bcd2Dec(EEPROM_Read(33)); // Cap1 + MOVLW 32 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 100 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF FLOC__cells_init+0 + MOVF PRODH+0, 0 + MOVWF FLOC__cells_init+1 + MOVLW 33 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + ADDWF FLOC__cells_init+0, 0 + MOVWF _Cap1+0 + MOVLW 0 + ADDWFC FLOC__cells_init+1, 0 + MOVWF _Cap1+1 +;main.c,839 :: Cap2 = Bcd2Dec(EEPROM_Read(34)) * 100 + Bcd2Dec(EEPROM_Read(35)); // Cap2 + MOVLW 34 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 100 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF FLOC__cells_init+0 + MOVF PRODH+0, 0 + MOVWF FLOC__cells_init+1 + MOVLW 35 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + ADDWF FLOC__cells_init+0, 0 + MOVWF _Cap2+0 + MOVLW 0 + ADDWFC FLOC__cells_init+1, 0 + MOVWF _Cap2+1 +;main.c,840 :: Cap3 = Bcd2Dec(EEPROM_Read(36)) * 100 + Bcd2Dec(EEPROM_Read(37)); // Cap3 + MOVLW 36 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 100 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF FLOC__cells_init+0 + MOVF PRODH+0, 0 + MOVWF FLOC__cells_init+1 + MOVLW 37 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + ADDWF FLOC__cells_init+0, 0 + MOVWF _Cap3+0 + MOVLW 0 + ADDWFC FLOC__cells_init+1, 0 + MOVWF _Cap3+1 +;main.c,841 :: Cap4 = Bcd2Dec(EEPROM_Read(38)) * 100 + Bcd2Dec(EEPROM_Read(39)); // Cap4 + MOVLW 38 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 100 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF FLOC__cells_init+0 + MOVF PRODH+0, 0 + MOVWF FLOC__cells_init+1 + MOVLW 39 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + ADDWF FLOC__cells_init+0, 0 + MOVWF _Cap4+0 + MOVLW 0 + ADDWFC FLOC__cells_init+1, 0 + MOVWF _Cap4+1 +;main.c,842 :: Cap5 = Bcd2Dec(EEPROM_Read(40)) * 100 + Bcd2Dec(EEPROM_Read(41)); // Cap5 + MOVLW 40 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVLW 100 + MULWF R0 + MOVF PRODL+0, 0 + MOVWF FLOC__cells_init+0 + MOVF PRODH+0, 0 + MOVWF FLOC__cells_init+1 + MOVLW 41 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + ADDWF FLOC__cells_init+0, 0 + MOVWF _Cap5+0 + MOVLW 0 + ADDWFC FLOC__cells_init+1, 0 + MOVWF _Cap5+1 +;main.c,844 :: Dysp_delay = Bcd2Dec(EEPROM_Read(0x30)); // Dysplay ON delay + MOVLW 48 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + MOVWF _Dysp_delay+0 +;main.c,845 :: Loss_ind = EEPROM_Read(0x31); + MOVLW 49 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF main_Loss_ind+0 +;main.c,846 :: Fid_loss = Bcd2Dec(EEPROM_Read(0x32)); + MOVLW 50 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF FARG_Bcd2Dec_bcdnum+0 + CALL _Bcd2Dec+0, 0 + MOVF R0, 0 + MOVWF _Fid_loss+0 +;main.c,847 :: asm CLRWDT; + CLRWDT +;main.c,848 :: } +L_end_cells_init: + RETURN 0 +; end of _cells_init + +_show_loss: + +;main.c,850 :: void show_loss(void) { +;main.c,851 :: IntToStr(Fid_loss, work_str); + MOVF _Fid_loss+0, 0 + MOVWF FARG_IntToStr_input+0 + MOVLW 0 + MOVWF FARG_IntToStr_input+1 + MOVLW _work_str+0 + MOVWF FARG_IntToStr_output+0 + MOVLW hi_addr(_work_str+0) + MOVWF FARG_IntToStr_output+1 + CALL _IntToStr+0, 0 +;main.c,852 :: if(Fid_loss>=10) work_str_2[0] = work_str[4]; + MOVLW 10 + SUBWF _Fid_loss+0, 0 + BTFSS STATUS+0, 0 + GOTO L_show_loss439 + MOVF _work_str+4, 0 + MOVWF _work_str_2+0 + GOTO L_show_loss440 +L_show_loss439: +;main.c,853 :: else work_str_2[0] = '0'; + MOVLW 48 + MOVWF _work_str_2+0 +L_show_loss440: +;main.c,854 :: work_str_2[1] = '.'; + MOVLW 46 + MOVWF _work_str_2+1 +;main.c,855 :: work_str_2[2] = work_str[5]; + MOVF _work_str+5, 0 + MOVWF _work_str_2+2 +;main.c,856 :: if(type==4 | type==5) led_wr_str (2, 6, work_str_2, 3); // 128*64 + MOVF _type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF _type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_show_loss441 + MOVLW 2 + MOVWF FARG_led_wr_str+0 + MOVLW 6 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 3 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 + GOTO L_show_loss442 +L_show_loss441: +;main.c,857 :: else if(type!=0) led_wr_str (1, 3, work_str_2, 3); // 1602 | 128*32 + MOVF _type+0, 0 + XORLW 0 + BTFSC STATUS+0, 2 + GOTO L_show_loss443 + MOVLW 1 + MOVWF FARG_led_wr_str+0 + MOVLW 3 + MOVWF FARG_led_wr_str+0 + MOVLW _work_str_2+0 + MOVWF FARG_led_wr_str+0 + MOVLW hi_addr(_work_str_2+0) + MOVWF FARG_led_wr_str+1 + MOVLW 3 + MOVWF FARG_led_wr_str+0 + CALL _led_wr_str+0, 0 +L_show_loss443: +L_show_loss442: +;main.c,858 :: return; +;main.c,859 :: } +L_end_show_loss: + RETURN 0 +; end of _show_loss diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.c b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.c new file mode 100644 index 0000000..d565e4d --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.c @@ -0,0 +1,860 @@ + // ATU-100 project + // David Fainitski + // 2016 + +#include "oled_control.h" +#include "pic_init.h" +#include "main.h" + + +// Variables + int SWR_fixed = 0, SWR_fixed_old = 0, Power, work_int; + char work_char, work_str[7], work_str_2[7]; + float Forward; + int Power_old = 10000; + int SWR_old = 10000; + char m_nibble = 0, l_nibble = 0; + char type, Soft_tune = 0, Auto = 0, Track = 0; + char bypas = 0, cap_mem = 0, ind_mem = 0, SW_mem = 0, Auto_mem = 0; + int Auto_delta; + char Restart = 0, Test = 0, lcd_prep_short = 0; + char L = 1, but = 0; + int Cap1, Cap2, Cap3, Cap4, Cap5; + int Ind1, Ind2, Ind3, Ind4, Ind5; + char Dysp_delay = 0; + int dysp_cnt = 0; + float dysp_cnt_mult = 2.3; + char Loss_mode = 0, Fid_loss; + + /* +void interrupt () { +} + */ + +void main() { + if(RCON.B3==0) Restart = 1; + pic_init(); + // + Delay_ms (300); + asm CLRWDT; + cells_init(); + Soft_I2C_Init(); + if(type==0) { // 2-colors led reset + LATB.B6 = 1; + LATB.B7 = 1; + } + else if(type==6){ + LATB.B6 = 0; + LATB.B7 = 0; + } + Low = 0; + Mid = 0; + High = 0; + dysp_cnt = Dysp_delay * dysp_cnt_mult; + // + Delay_ms(300); + asm CLRWDT; + if(PORTB.B4==0 & PORTB.B5==0) { // Test mode + Test = 1; + Auto = 0; + } + + Delay_ms(300); + asm CLRWDT; + + led_init(); + if(PORTB.B4==0 & PORTB.B5==0 & PORTB.B0==0) { // Fast Test mode (loop) + if(type==4 | type==5) led_wr_str (0, 12, "FAST TEST", 9); // 128*64 + else if(type!=0) led_wr_str (0, 3, "FAST TEST", 9); // 1602 | 128*32 + set_cap(255); + set_ind(255); + set_sw(1); + asm CLRWDT; + while(1) {Delay_ms(500);asm CLRWDT;} + } + asm CLRWDT; + // + if(Button(&PORTB, 0, 100, 0)) { // Fider loss input + if(type==4 | type==5) { led_wr_str (0, 6, "Fider Loss", 10); // 128*64 + led_wr_str (1, 6, "input", 5); } + else if(type!=0) led_wr_str (0, 0, "Fider Loss input", 16); // 1602 | 128*32 + Fid_loss = Bcd2Dec(EEPROM_Read(0x32)); + show_loss(); + // + while(1) { + if(Button(&PORTB, 5, 50, 0)){ // BYP button + if(Fid_loss<99) { + Fid_loss ++; + show_loss(); + EEPROM_Write(0x32, Dec2Bcd(Fid_loss)); + } + while(Button(&PORTB, 5, 50, 0)) asm CLRWDT; + } + // + if(Button(&PORTB, 4, 50, 0)){ // AUTO button + if(Fid_loss>0) { + Fid_loss --; + show_loss(); + EEPROM_Write(0x32, Dec2Bcd(Fid_loss)); + } + while(Button(&PORTB, 4, 50, 0)) asm CLRWDT; + } + asm CLRWDT; + } // while + } // Fider loss input + // + if(Test==0) { + cap = EEPROM_Read(255); + ind = EEPROM_Read(254); + SW = EEPROM_Read(253); + swr_a = EEPROM_Read(252) * 256; + swr_a += EEPROM_Read(251); + set_ind(ind); + set_cap(cap); + set_sw(SW); + if(Restart==1 ) lcd_prep_short = 1; + lcd_prep(); + } + else Test_init(); + + lcd_ind(); + + //******************************* + + while(1) { + asm CLRWDT; + lcd_pwr(); + // + if(Test==0) button_proc(); + else button_proc_test(); + // + if(dysp_cnt!=0) dysp_cnt --; + else if(Test==0 & Dysp_delay!=0) dysp_off(); + + // next While code + + } +} + + +//***************** Routines ***************** + + void button_proc_test(void) { + if(Button(&PORTB, 0, 50, 0)){ // Tune btn + Delay_ms(250); + asm CLRWDT; + if(PORTB.B0==1) { // short press button + if(SW==0) SW = 1; else SW = 0; + set_sw(SW); + lcd_ind(); + } + else { // long press button + if(L==1) L = 0; else L = 1; + if(L==1) { + if(type==4 |type==5) // 128*64 OLED + led_wr_str (0, 16+12*8, "l", 1); + else if(type!=0 & type!=6) // 1602 LCD & 128*32 OLED + led_wr_str (0, 8, "l", 1); + } + else { + if(type==4 |type==5) // 128*64 OLED + led_wr_str (0, 16+12*8, "c", 1); + else if(type!=0 & type !=6) // 1602 LCD & 128*32 OLED + led_wr_str (0, 8, "c", 1); + } + } + while(Button(&PORTB, 0, 50, 0)) {lcd_pwr(); asm CLRWDT; } + } // END Tune btn + // + if(Button(&PORTB, 5, 50, 0)){ // BYP button + asm CLRWDT; + while(PORTB.B5==0) { + if(L & ind<31) { + ind ++; + set_ind(ind); + } + else if(!L & cap<31) { + cap ++; + set_cap(cap); + } + lcd_ind(); + lcd_pwr(); + Delay_ms(30); + asm CLRWDT; + } + } // end of BYP button + // + if(Button(&PORTB, 4, 50, 0) & Bypas==0){ // Auto button + asm CLRWDT; + while(PORTB.B4==0) { + if(L & ind>0) { + ind --; + set_ind(ind); + } + else if(!L & cap>0) { + cap --; + set_cap(cap); + } + lcd_ind(); + lcd_pwr(); + Delay_ms(30); + asm CLRWDT; + } + } + return; +} + + +void button_proc(void) { + if(Button(&PORTB, 0, 50, 0) | Soft_tune){ + dysp_on(); + dysp_cnt = Dysp_delay * dysp_cnt_mult; + Delay_ms(250); + asm CLRWDT; + if(Soft_tune == 0 & PORTB.B0==1) { // short press button + show_reset(); + bypas =0; + } + else { // long press button + p_Tx = 1; // + n_Tx = 0; // TX request + asm CLRWDT; + Delay_ms(250); // + asm CLRWDT; + btn_push(); + bypas = 0; + while(Button(&PORTB, 0, 50, 0)) {lcd_pwr(); asm CLRWDT; } + Soft_tune = 0; + } + //if(Loss_ind==0) lcd_ind(); + } + // + if(Button(&PORTB, 5, 50, 0)){ // BYP button + dysp_on(); + dysp_cnt = Dysp_delay * dysp_cnt_mult; + asm CLRWDT; + if(bypas == 0) { + bypas = 1; + cap_mem = cap; + ind_mem = ind; + SW_mem = SW; + cap = 0; + ind = 0; + SW = 1; + set_ind(ind); + set_cap(cap); + set_SW(SW); + if(Loss_mode==0) lcd_ind(); + Auto_mem = Auto; + Auto = 0; + } + else { + bypas = 0; + cap = cap_mem; + ind = ind_mem; + SW = SW_mem; + set_cap(cap); + set_ind(ind); + set_SW(SW); + if(Loss_mode==0) lcd_ind(); + Auto = Auto_mem; + } + if(type==4 | type==5) { // 128*64 OLED + if(Auto & !Bypas) led_wr_str (0, 16+8*12, ".", 1); + else if(!Auto & Bypas) led_wr_str (0, 16+8*12, "_", 1); + else led_wr_str (0, 16+8*12, " ", 1); + } + else if(type!=0 & type!=6) { // 1602 LCD or 128*32 OLED + if(Auto & !Bypas) led_wr_str (0, 8, ".", 1); + else if(!Auto & Bypas) led_wr_str (0, 8, "_", 1); + else led_wr_str (0, 8, " ", 1); + } + while(Button(&PORTB, 5, 50, 0)) {lcd_pwr(); asm CLRWDT; } + } + // + if(Button(&PORTB, 4, 50, 0) & Bypas==0){ // Auto button + dysp_on(); + dysp_cnt = Dysp_delay * dysp_cnt_mult; + asm CLRWDT; + if(Auto == 0) Auto = 1; + else Auto = 0; + EEPROM_Write(2, Auto); + if(type==4 | type==5) { // 128*64 OLED + if(Auto & !Bypas) led_wr_str (0, 16+8*12, ".", 1); + else if(!Auto & Bypas) led_wr_str (0, 16+8*12, "_", 1); + else led_wr_str (0, 16+8*12, " ", 1); + } + else if(type!=0 & type!=6) { // 1602 LCD or 128*32 OLED + if(Auto & !Bypas) led_wr_str (0, 8, ".", 1); + else if(!Auto & Bypas) led_wr_str (0, 8, "_", 1); + else led_wr_str (0, 8, " ", 1); + } + while(Button(&PORTB, 4, 50, 0)) {lcd_pwr(); asm CLRWDT; } + } + return; +} + +void show_reset() { + asm CLRWDT; + atu_reset(); + SW = 1; + set_sw(SW); + EEPROM_Write(255, 0); + EEPROM_Write(254, 0); + EEPROM_Write(253, 1); + EEPROM_Write(252, 0); + EEPROM_Write(251, 0); + lcd_ind(); + Loss_mode = 0; + p_Tx = 0; + n_Tx = 1; + SWR = 0; + PWR = 0; + SWR_fixed_old = 0; + if(type==4 | type==5) { // 128*64 OLED + led_wr_str (2, 16, "RESET ", 8); + asm CLRWDT; + delay_ms(600); + led_wr_str (2, 16, "SWR=0.00", 8); + asm CLRWDT; + } + else if(type!=0 & type!=6) {// 1602 LCD & 128*32 OLED + led_wr_str (1, 0, "RESET ", 8); + asm CLRWDT; + delay_ms(600); + led_wr_str (1, 0, "SWR=0.00", 8); + asm CLRWDT; + } + else { + LATB.B6 = 1; + LATB.B7 = 1; + } + Low = 0; + Mid = 0; + High = 0; + SWR_old = 10000; + Power_old = 10000; + lcd_pwr(); + return; +} + +void btn_push() { + asm CLRWDT; + if(type==4 | type==5) { // 128*64 OLED + led_wr_str (2, 16+12*4, "TUNE", 4); + } + else if(type!=0 & type!=6) { // 1602 LCD & 128*32 OLED + led_wr_str (1, 4, "TUNE", 4); + } + else { + LATB.B6 = 1; + LATB.B7 = 1; + } + Low = 0; + Mid = 0; + High = 0; + tune(); + if(type==0) { // real-time 2-colors led work + if(swr<=150) { LATB.B6 = 0; LATB.B7 = 1; } // Green + else if(swr<=250) {PORTB.B6 = 0; PORTB.B7 = 0;} // Orange + else { PORTB.B6 = 1; PORTB.B7 = 0; } // Red + } + else if(type==6){ + if(swr<=150) { LATB.B6 = 1; LATB.B7 = 0; } // Green + else if(swr<=250) {PORTB.B6 = 1; PORTB.B7 = 1;} // Orange + else { PORTB.B6 = 0; PORTB.B7 = 1; } // Red + } + else if(Loss_mode==0 | Loss_ind==0) lcd_ind(); + if(SWR<=150) Low = 1; + else if(SWR<=250) Mid = 1; + else High = 1; + EEPROM_Write(255, cap); + EEPROM_Write(254, ind); + EEPROM_Write(253, SW); + EEPROM_Write(252, swr_a/256); + EEPROM_Write(251, swr_a%256); + SWR_old = 10000; + Power_old = 10000; + lcd_pwr(); + SWR_fixed_old = SWR; + p_Tx = 0; + n_Tx = 1; + asm CLRWDT; + return; +} + + void lcd_prep() { + asm CLRWDT; + if(type==4 |type==5){ // 128*64 OLED + if(lcd_prep_short==0) { + led_wr_str (0, 22, "ATU-100", 7); + led_wr_str (2, 4, "mini board", 10); + led_wr_str (4, 16, "by N7DDC", 8); + led_wr_str (6, 4, "FW ver 3.1", 10); + asm CLRWDT; + Delay_ms(600); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + led_wr_str (0, 16, " ", 8); + led_wr_str (2, 4, " ", 10); + led_wr_str (4, 16, " ", 8); + led_wr_str (6, 4, " ", 10); + } + Delay_ms(150); + led_wr_str (0, 16, "PWR=0.0W", 8); + led_wr_str (2, 16, "SWR=0.00", 8); + if(Auto) led_wr_str (0, 16+8*12, ".", 1); + } + else if(type!=0 & type!=6) { // 1602 LCD & 128*32 OLED + if(lcd_prep_short==0) { + led_wr_str (0, 4, "ATU-100", 7); + led_wr_str (1, 3, "mini board", 10); + asm CLRWDT; + Delay_ms(700); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + led_wr_str (0, 4, "by N7DDC", 8); + led_wr_str (1, 3, "FW ver 3.1", 10); + asm CLRWDT; + Delay_ms(600); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + led_wr_str (0, 4, " ", 8); + led_wr_str (1, 3, " ", 10); + } + Delay_ms(150); + led_wr_str (0, 0, "PWR=0.0W", 8); + led_wr_str (1, 0, "SWR=0.00", 8); + if(Auto) led_wr_str (0, 8, ".", 1); + } + asm CLRWDT; + lcd_ind(); + return; +} + + +void lcd_swr(int swr) { + asm CLRWDT; + if(swr!=SWR_old) { + SWR_old = swr; + if(swr==1) { // Low power + if(type==4 | type==5) led_wr_str (2, 16+4*12, "0.00", 4); // 128*64 OLED + else if(type!=0 & type!=6) led_wr_str (1, 4, "0.00", 4); // 1602 & 128*32 OLED + else if(type==0) { // real-time 2-colors led work + LATB.B6 = 1; + LATB.B7 = 1; + } + else if(type==6){ + LATB.B6 = 0; + LATB.B7 = 0; + } + Low = 0; + Mid = 0; + High = 0; + SWR_old = 0; + } + else { + SWR_old = swr; + IntToStr(swr, work_str); + work_str_2[0] = work_str[3]; + work_str_2[1] = '.'; + work_str_2[2] = work_str[4]; + work_str_2[3] = work_str[5]; + if(type==4 | type==5) led_wr_str (2, 16+4*12, work_str_2, 4); // 128*64 OLED + else if(type!=0 & type!=6) led_wr_str (1, 4, work_str_2, 4); // 1602 & 128*32 + else if(type==0) { // real-time 2-colors led work + if(swr<=150) { LATB.B6 = 0; LATB.B7 = 1; } // Green + else if(swr<=250) {PORTB.B6 = 0; PORTB.B7 = 0;} // Orange + else { PORTB.B6 = 1; PORTB.B7 = 0; } // Red + } + else if(type==6){ + if(swr<=150) { LATB.B6 = 1; LATB.B7 = 0; } // Green + else if(swr<=250) {PORTB.B6 = 1; PORTB.B7 = 1;} // Orange + else { PORTB.B6 = 0; PORTB.B7 = 1; } // Red + } + if(SWR<=150) {Low = 1; Mid = 0; High = 0;} + else if(SWR<=250) {Low = 0; Mid = 1; High = 0;} + else {Low = 0; Mid = 0; High = 1; } + } + } + asm CLRWDT; + return; +} + + +void button_delay() { + if((Button(&PORTB, 0, 25, 0)) | (Button(&PORTB, 1, 25, 0)) | (Button(&PORTB, 2, 25, 0))) { + but = 1; + } + return; +} + +void show_pwr(int Power, int SWR) { + float a, b; + int p_ant, eff; + asm CLRWDT; + // + if(Test==0 & Loss_ind==1 & SWR>=100) { + if(Loss_mode==0) { // prepare + if(type==4 |type==5){ // 128*64 OLED + led_wr_str(4, 16, "ANT=0.0W", 8); + led_wr_str(6, 16, "EFF= 0%", 8); + } + else if(type==2 | type==3) { // 128*32 OLED + led_wr_str (0, 9, "ANT=0.0W", 8); + led_wr_str (1, 9, "EFF= 0%", 8); + } + else if(type==1) { // 1602 LCD + led_wr_str (0, 9, "AN=0.0W", 7); + led_wr_str (1, 9, "EFF= 0%", 7); + } + } + Loss_mode = 1; + } + else { + if(Loss_mode==1) lcd_ind(); + Loss_mode = 0; + } + asm CLRWDT; + if(Power != Power_old) { + Power_old = Power; + // + if(1) { + if(Power >= 100) { // > 10 W + Power += 5; // rounding to 1 W + IntToStr(Power, work_str); + work_str_2[0] = work_str[2]; + work_str_2[1] = work_str[3]; + work_str_2[2] = work_str[4]; + work_str_2[3] = 'W'; + } + else { + IntToStr(Power, work_str); + if(work_str[4] != ' ') work_str_2[0] = work_str[4]; else work_str_2[0] = '0'; + work_str_2[1] = '.'; + if(work_str[5] != ' ') work_str_2[2] = work_str[5]; else work_str_2[2] = '0'; + work_str_2[3] = 'W'; + } + } + if(type==4 | type==5) led_wr_str (0, 16+4*12, work_str_2, 4); // 128*64 OLED + else if(type!=0 & type!=6) led_wr_str (0, 4, work_str_2, 4); // 1602 & 128*32 + // + // Loss indication + if(Loss_mode==1) { + if(ind==0 & cap==0) swr_a = SWR; + a = 1.0 / ((swr_a/100.0 + 100.0/swr_a) * Fid_loss/10.0 * 0.115 + 1.0); // Fider loss + b = 4.0 / (2.0 + SWR/100.0 + 100.0/SWR); // SWR loss + if(a>=1.0) a = 1.0; + if(b>=1.0) b = 1.0; + p_ant = Power * a * b; + eff = a * b * 100; + if(eff>=100) eff = 99; + // + if(1) { + if(p_ant >= 100) { // > 10 W + p_ant += 5; // rounding to 1 W + IntToStr(p_ant, work_str); + work_str_2[0] = work_str[2]; + work_str_2[1] = work_str[3]; + work_str_2[2] = work_str[4]; + work_str_2[3] = 'W'; + } + else { + IntToStr(p_ant, work_str); + if(work_str[4] != ' ') work_str_2[0] = work_str[4]; else work_str_2[0] = '0'; + work_str_2[1] = '.'; + if(work_str[5] != ' ') work_str_2[2] = work_str[5]; else work_str_2[2] = '0'; + work_str_2[3] = 'W'; + } + } + if(type==4 | type==5) led_wr_str (4, 16+4*12, work_str_2, 4); // 128*64 OLED + else if(type==2 | type==3) led_wr_str (0, 13, work_str_2, 4); // 128*32 + else if(type==1) led_wr_str (0, 12, work_str_2, 4); // 1602 + // + IntToStr(eff, work_str); + work_str_2[0] = work_str[4]; + work_str_2[1] = work_str[5]; + if(type==4 | type==5) led_wr_str(6, 16+5*12, work_str_2, 2); + else if(type==2 | type==3) led_wr_str(1, 14, work_str_2, 2); + else if(type==1) led_wr_str(1, 13, work_str_2, 2); + } + } + asm CLRWDT; + return; +} + + +void lcd_pwr() { + int p = 0; + char peak_cnt; + int delta = Auto_delta - 100; + char cnt; + int SWR_fixed = 1; + PWR = 0; + asm CLRWDT; + // peak detector + cnt = 120; + for(peak_cnt = 0; peak_cnt < cnt; peak_cnt++){ + if(PORTB.B4==0 | PORTB.B5==0 | PORTB.B0==0) {button_delay(); if(but==1) {but = 0; return;} } + get_pwr(); + if(PWR>p) {p = PWR; SWR_fixed = SWR;} + Delay_ms(3); + } + asm CLRWDT; + Power = p; + lcd_swr(SWR_fixed); + if(SWR_fixed>=100) { + dysp_on(); // dysplay ON + dysp_cnt = Dysp_delay * dysp_cnt_mult; + } + // + if(Auto & SWR_fixed>=Auto_delta & ((SWR_fixed>SWR_fixed_old & (SWR_fixed-SWR_fixed_old)>delta) | (SWR_fixeddelta) | SWR_fixed_old==999)) + Soft_tune = 1; + // + if(PORTB.B4==0 | PORTB.B5==0 | PORTB.B0==0) {button_delay(); if(but==1) {but = 0; return;} } // Fast return if button pressed + show_pwr(Power, SWR_fixed); + // + if(PORTB.B4==0 | PORTB.B5==0 | PORTB.B0==0) {button_delay(); if(but==1) {but = 0; return;} } + asm CLRWDT; + if(Overload==1) { + if(type==4 | type==5) { // 128*64 OLED + led_wr_str (2, 16, " ", 8); + delay_ms(100); + asm CLRWDT; + led_wr_str (2, 16, "OVERLOAD", 8); + delay_ms(500); + asm CLRWDT; + led_wr_str (2, 16, " ", 8); + delay_ms(300); + asm CLRWDT; + led_wr_str (2, 16, "OVERLOAD", 8); + delay_ms(500); + asm CLRWDT; + led_wr_str (2, 16, " ", 8); + delay_ms(300); + asm CLRWDT; + led_wr_str (2, 16, "OVERLOAD", 8); + delay_ms(500); + asm CLRWDT; + led_wr_str (2, 16, " ", 8); + delay_ms(100); + led_wr_str (2, 16, "SWR= ", 8); + } + else if(type!=0 & type!=6) { // 1602 & 128*32// 1602 + led_wr_str (1, 0, " ", 8); + delay_ms(100); + asm CLRWDT; + led_wr_str (1, 0, "OVERLOAD", 8); + delay_ms(500); + asm CLRWDT; + led_wr_str (1, 0, " ", 8); + delay_ms(300); + asm CLRWDT; + led_wr_str (1, 0, "OVERLOAD", 8); + delay_ms(500); + asm CLRWDT; + led_wr_str (1, 0, " ", 8); + delay_ms(300); + asm CLRWDT; + led_wr_str (1, 0, "OVERLOAD", 8); + delay_ms(500); + asm CLRWDT; + led_wr_str (1, 0, " ", 8); + delay_ms(100); + led_wr_str (1, 0, "SWR= ", 8); + } + asm CLRWDT; + SWR_old = 10000; + lcd_swr(SWR_fixed); + } + return; +} + +void lcd_ind() { + char column; + asm CLRWDT; + if(1) { + work_int = 0; + if(ind.B0) work_int += Ind1; + if(ind.B1) work_int += Ind2; + if(ind.B2) work_int += Ind3; + if(ind.B3) work_int += Ind4; + if(ind.B4) work_int += Ind5; + if(type==1) { // 1602 LCD + if(work_int>9999) { // more then 9999 nH + work_int += 500; // round + IntToStr(work_int, work_str); + work_str_2[0] = ' '; + work_str_2[1] = work_str[1]; + work_str_2[2] = work_str[2]; + } + else { + work_int += 50; // Round + IntToStr(work_int, work_str); + if(work_str[2] != ' ') work_str_2[0] = work_str[2]; else work_str_2[0] = '0'; + work_str_2[1] = '.'; + if(work_str[3] != ' ') work_str_2[2] = work_str[3]; else work_str_2[2] = '0'; + } + } + else if(work_int>9999) {// more then 9999 nH + work_int += 50; // Round + IntToStr(work_int, work_str); + work_str_2[0] = work_str[1]; + work_str_2[1] = work_str[2]; + work_str_2[2] = '.'; + work_str_2[3] = work_str[3]; + } + else { + IntToStr(work_int, work_str); + if(work_str[2] != ' ') work_str_2[0] = work_str[2]; else work_str_2[0] = '0'; + work_str_2[1] = '.'; + if(work_str[3] != ' ') work_str_2[2] = work_str[3]; else work_str_2[2] = '0'; + if(work_str[4] != ' ') work_str_2[3] = work_str[4]; else work_str_2[3] = '0'; + } + // + if(type==1) { + if(SW==1) column = 0; else column = 1; + led_wr_str (column, 9, "L=", 2); + led_wr_str (column, 14, "uH", 2); + led_wr_str (column, 11, work_str_2, 3); + } + else if(type==4 | type==5) { // 128*64 OLED + if(SW==1) column = 4; else column = 6; + led_wr_str (column, 16, "L=", 2); + led_wr_str (column, 16+6*12, "uH", 2); + led_wr_str (column, 16+2*12, work_str_2, 4); + } + else if(type==2 | type==3) {// 128*32 OLED + if(SW==1) column = 0; else column = 1; + led_wr_str (column, 9, "L=", 2); + led_wr_str (column, 15, "uH", 2); + led_wr_str (column, 11, work_str_2, 4); + } + } + asm CLRWDT; + if(1) { + work_int = 0; + if(cap.B0) work_int += Cap1; + if(cap.B1) work_int += Cap2; + if(cap.B2) work_int += Cap3; + if(cap.B3) work_int += Cap4; + if(cap.B4) work_int += Cap5; + // + if(type==4 | type==5) { // 128*64 OLED + IntToStr(work_int, work_str); + work_str_2[0] = work_str[2]; + work_str_2[1] = work_str[3]; + work_str_2[2] = work_str[4]; + work_str_2[3] = work_str[5]; + if(SW==1) column = 6; else column = 4; + led_wr_str (column, 16, "C=", 2); + led_wr_str (column, 16+6*12, "pF", 2); + led_wr_str (column, 16+2*12, work_str_2, 4); + } + else if(type==2 | type==3) {// 128*32 OLED + IntToStr(work_int, work_str); + work_str_2[0] = work_str[2]; + work_str_2[1] = work_str[3]; + work_str_2[2] = work_str[4]; + work_str_2[3] = work_str[5]; + if(SW==1) column = 1; else column = 0; + led_wr_str (column, 9, "C=", 2); + led_wr_str (column, 15, "pF", 2); + led_wr_str (column, 11, work_str_2, 4); + } + else if(type==1) { // 1602 LCD + IntToStr(work_int, work_str); + work_str_2[0] = work_str[3]; + work_str_2[1] = work_str[4]; + work_str_2[2] = work_str[5]; + if(SW==1) column = 1; else column = 0; + led_wr_str (column, 9, "C=", 2); + led_wr_str (column, 14, "pF", 2); + led_wr_str (column, 11, work_str_2, 3); + } + } + asm CLRWDT; + return; +} + +void Test_init(void) { // Test mode + if(type==4 | type==5) // 128*64 OLED + led_wr_str (0, 10, "TEST MODE", 9); + else if(type!=0 & type!=6) // 1602 LCD or 128*32 OLED + led_wr_str (0, 3, "TEST MODE", 9); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + if(type==4 | type==5) // 128*64 OLED + led_wr_str (0, 10, " ", 9); + else if(type!=0 & type!=6) // 1602 LCD or 128*32 OLED + led_wr_str (0, 3, " ", 9); + atu_reset(); + SW = 1; // C to OUT + set_sw(SW); + EEPROM_Write(255, cap); + EEPROM_Write(254, ind); + EEPROM_Write(253, SW); + // + if(type==4 | type==5) // 128*64 OLED + led_wr_str (0, 16+12*8, "l", 1); + else if(type!=0 & type!=6) // 1602 LCD or 128*32 OLED + led_wr_str (0, 8, "l", 1); + // + lcd_prep_short = 1; + lcd_prep(); + return; +} + +void cells_init(void) { + // Cells init + asm CLRWDT; + //oled_addr = EEPROM_Read(0); // address + type = EEPROM_Read(1); // type of display + if(EEPROM_Read(2) == 1) Auto = 1; + Rel_Del = Bcd2Dec(EEPROM_Read(3)); // Relay's Delay + Auto_delta = Bcd2Dec(EEPROM_Read(4)) * 10; // Auto_delta + min_for_start = Bcd2Dec(EEPROM_Read(5)) * 10; // min_for_start + max_for_start = Bcd2Dec(EEPROM_Read(6)) * 10; // max_for_start + max_swr = Bcd2Dec(EEPROM_Read(9)) * 10; // Max SWR + K_Mult = Bcd2Dec(EEPROM_Read(10)); // Tandem Match rate + // + asm CLRWDT; + Ind1 = Bcd2Dec(EEPROM_Read(16)) * 100 + Bcd2Dec(EEPROM_Read(17)); // Ind1 + Ind2 = Bcd2Dec(EEPROM_Read(18)) * 100 + Bcd2Dec(EEPROM_Read(19)); // Ind2 + Ind3 = Bcd2Dec(EEPROM_Read(20)) * 100 + Bcd2Dec(EEPROM_Read(21)); // Ind3 + Ind4 = Bcd2Dec(EEPROM_Read(22)) * 100 + Bcd2Dec(EEPROM_Read(23)); // Ind4 + Ind5 = Bcd2Dec(EEPROM_Read(24)) * 100 + Bcd2Dec(EEPROM_Read(25)); // Ind5 + // + Cap1 = Bcd2Dec(EEPROM_Read(32)) * 100 + Bcd2Dec(EEPROM_Read(33)); // Cap1 + Cap2 = Bcd2Dec(EEPROM_Read(34)) * 100 + Bcd2Dec(EEPROM_Read(35)); // Cap2 + Cap3 = Bcd2Dec(EEPROM_Read(36)) * 100 + Bcd2Dec(EEPROM_Read(37)); // Cap3 + Cap4 = Bcd2Dec(EEPROM_Read(38)) * 100 + Bcd2Dec(EEPROM_Read(39)); // Cap4 + Cap5 = Bcd2Dec(EEPROM_Read(40)) * 100 + Bcd2Dec(EEPROM_Read(41)); // Cap5 + // + Dysp_delay = Bcd2Dec(EEPROM_Read(0x30)); // Dysplay ON delay + Loss_ind = EEPROM_Read(0x31); + Fid_loss = Bcd2Dec(EEPROM_Read(0x32)); + asm CLRWDT; +} + +void show_loss(void) { + IntToStr(Fid_loss, work_str); + if(Fid_loss>=10) work_str_2[0] = work_str[4]; + else work_str_2[0] = '0'; + work_str_2[1] = '.'; + work_str_2[2] = work_str[5]; + if(type==4 | type==5) led_wr_str (2, 6, work_str_2, 3); // 128*64 + else if(type!=0) led_wr_str (1, 3, work_str_2, 3); // 1602 | 128*32 + return; +} + diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.c.ini b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.c.ini new file mode 100644 index 0000000..7db33ff --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.c.ini @@ -0,0 +1,9 @@ +[Bookmarks] +Count=0 +[Position] +Line=845 +Column=1 +[BreakPoints] +Count=0 +[FoldedLines] +Count=0 diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.cp b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.cp new file mode 100644 index 0000000..e9dd477 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.cp @@ -0,0 +1,1257 @@ +#line 1 "E:/ATU-100/fw_mini/2550_mini_board_sources_V_3.1/main.c" +#line 1 "e:/atu-100/fw_mini/2550_mini_board_sources_v_3.1/oled_control.h" + + +sbit Soft_I2C_Scl at LATB6_bit; +sbit Soft_I2C_Sda at LATB7_bit; +sbit Soft_I2C_Scl_Direction at TRISB6_bit; +sbit Soft_I2C_Sda_Direction at TRISB7_bit; + +static char RS, RW, E, LED, nible; + +static char led_addr; +static char led_type; +static char shift_line; + +static char oled_shift; + +void set_addressing (char, char); +void led_send (char); +void led_init (void); +void oled_init (void); +void dysp_on (void); +void dysp_off (void); +void send_command (char); +void set_addressing (char, char); +void led_wr_str (char, char, char*, char); +void oled_wr_str (char, char, char*, char); + + +void Soft_I2C_Init (void); +void Soft_I2C_Start (void); +void Soft_I2C_Write (char); +void Soft_I2C_Stop (void); +#line 1 "e:/atu-100/fw_mini/2550_mini_board_sources_v_3.1/pic_init.h" + + +sbit Low at LATC0_bit; +sbit Mid at LATC6_bit; +sbit High at LATC7_bit; +sbit n_Tx at LATA3_bit; +sbit p_Tx at LATA7_bit; + + + + + +sbit Cap_10 at LATC1_bit; +sbit Cap_22 at LATC2_bit; +sbit Cap_47 at LATC3_bit; +sbit Cap_100 at LATC4_bit; +sbit Cap_220 at LATC5_bit; +sbit Cap_sw at LATA6_bit; + +sbit Ind_011 at LATB1_bit; +sbit Ind_022 at LATB2_bit; +sbit Ind_045 at LATA2_bit; +sbit Ind_1 at LATA4_bit; +sbit Ind_22 at LATA5_bit; + +void pic_init (void); +#line 1 "e:/atu-100/fw_mini/2550_mini_board_sources_v_3.1/main.h" + + + + + +static char ind = 0, cap = 0, SW = 0, step_cap = 0, step_ind = 0, Overload = 0, Loss_ind = 0, K_mult = 10; +static int Rel_Del, min_for_start, max_for_start, max_swr; +int SWR, PWR, P_max = 0, swr_a; +char rready = 0, p_cnt = 0; + +void btn_push(void); +void lcd_prep(void); +void lcd_swr(int); +void lcd_pwr(void); +void lcd_ind(void); +void crypto(void); +void show_reset(void); +void show_pwr(int, int); +void cells_init(void); +void test_init(void); +void button_proc(void); +void button_proc_test(void); +void button_delay(void); +void show_loss(void); + +void atu_reset(void); +int get_reverse(void); +int get_forward(void); +int correction(int); +int get_swr(void); +void get_pwr(void); +void set_sw(char); +void coarse_cap(); +void sharp_cap(); +void sharp_ind(); +void coarse_tune(); +void tune(void); + + +int correction(int input) { + input *= 3; + + if(input <= 80) return 0; + if(input <= 171) input += 244; + else if(input <= 328) input += 254; + else if(input <= 582) input += 280; + else if(input <= 820) input += 297; + else if(input <= 1100) input += 310; + else if(input <= 2181) input += 430; + else if(input <= 3322) input += 484; + else if(input <= 4623) input += 530; + else if(input <= 5862) input += 648; + else if(input <= 7146) input += 743; + else if(input <= 8502) input += 820; + else if(input <= 10500) input += 900; + else input += 850; + + + return input; +} + + + + int get_reverse() { + return ADC_Get_Sample(1) * 4.883; +} + + +int get_forward() { + int Forward; + Forward = ADC_Get_Sample(0); + if(Forward==1023) Overload = 1; + else Overload = 0; + return Forward * 4.883; +} + +void get_pwr() { + long Forward, Reverse; + float p; + asm CLRWDT; + + Forward = get_forward(); + Reverse = get_reverse(); + p = correction(Forward); + + if(Reverse >= Forward) + Forward = 999; + else { + Forward = ((Forward + Reverse) * 100) / (Forward - Reverse); + if(Forward>999) Forward = 999; + } + + p = p * K_mult / 1000; + p = p / 1.414; + p = p * p / 5; + p = p + 0.5; + PWR = p; + if(PWR<10) SWR = 1; + else if(Forward<100) SWR = 999; + else SWR = Forward; + return; +} + +int get_swr() { + get_pwr(); + if(p_cnt!=100) { + p_cnt += 1; + if(PWR>P_max) P_max = PWR; + } + else { + p_cnt = 0; + show_pwr(P_max, SWR); + P_max = 0; + } + + while((PWR max_for_start & max_for_start>0))) { + asm CLRWDT; + get_pwr(); + if(p_cnt!=100) { + p_cnt += 1; + if(PWR>P_max) P_max = PWR; + } + else { + p_cnt = 0; + show_pwr(P_max, SWR); + P_max = 0; + } + + if(Button(&PORTB, 0, 5, 1)) rready = 1; + if(rready==1 & Button(&PORTB, 0, 5, 0)) { + show_reset(); + SWR = 0; + return SWR; + } + } + return SWR; +} + +void set_ind(char Ind) { + + Ind_011 = Ind.B0; + Ind_022 = Ind.B1; + Ind_045 = Ind.B2; + Ind_1 = Ind.B3; + Ind_22 = Ind.B4; + + Vdelay_ms(Rel_Del); +} + +void set_cap(char Cap) { + Cap_10 = Cap.B0; + Cap_22 = Cap.B1; + Cap_47 = Cap.B2; + Cap_100 = Cap.B3; + Cap_220 = Cap.B4; + + Vdelay_ms(Rel_Del); +} + +void set_sw(char SW) { + Cap_sw = SW; + Vdelay_ms(Rel_Del); +} + +void atu_reset() { + ind = 0; + cap = 0; + set_ind(ind); + set_cap(cap); + Vdelay_ms(Rel_Del); +} + +void coarse_cap() { + char step = 3; + char count; + int min_swr; + + cap = 0; + set_cap(cap); + SWR = get_swr(); + min_swr = SWR + SWR/20; + for(count=step; count<=31;) { + set_cap(count); + SWR = get_swr(); + if(SWR < min_swr) { + min_swr = SWR + SWR/20; + cap = count; + step_cap = step; + if(SWR<120) break; + count += step; + if(count==9) count = 8; + else if(count==17) {count = 16; step = 4;} + } + else break; + } + set_cap(cap); + return; +} + +void coarse_tune() { + char step = 3; + char count; + char mem_cap, mem_step_cap; + int min_swr; + + mem_cap = 0; + step_ind = step; + mem_step_cap = 3; + min_swr = SWR + SWR/20; + for(count=0; count<=31;) { + set_ind(count); + coarse_cap(); + SWR = get_swr(); + if(SWR < min_swr) { + min_swr = SWR + SWR/20; + ind = count; + mem_cap = cap; + step_ind = step; + mem_step_cap = step_cap; + if(SWR<120) break; + count += step; + if(count==9) count = 8; + else if(count==17) {count = 16; step = 4;} + } + else break; + } + cap = mem_cap; + set_ind(ind); + set_cap(cap); + step_cap = mem_step_cap; + Delay_ms(10); + return; +} + + +void sharp_cap() { + char range, count, max_range, min_range; + int min_swr; + range = step_cap; + + max_range = cap + range; + if(max_range>31) max_range = 31; + if(cap>range) min_range = cap - range; else min_range = 0; + cap = min_range; + set_cap(cap); + SWR = get_swr(); + if(SWR==0) return; + min_SWR = SWR; + for(count=min_range+1; count<=max_range; count++) { + set_cap(count); + SWR = get_swr(); + if(SWR==0) return; + if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } + if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } + if(SWR < min_SWR) { + min_SWR = SWR; + cap = count; + if(SWR<120) break; + } + else break; + } + set_cap(cap); + return; +} + +void sharp_ind() { + char range, count, max_range, min_range; + int min_SWR; + range = step_ind; + + max_range = ind + range; + if(max_range>31) max_range = 31; + if(ind>range) min_range = ind - range; else min_range = 0; + ind = min_range; + set_ind(ind); + SWR = get_swr(); + if(SWR==0) return; + min_SWR = SWR; + for(count=min_range+1; count<=max_range; count++) { + set_ind(count); + SWR = get_swr(); + if(SWR==0) return; + if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } + if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } + if(SWR < min_SWR) { + min_SWR = SWR; + ind = count; + if(SWR<120) break; + } + else break; + } + set_ind(ind); + return; +} + + +void tune() { + int swr_mem, ind_mem, cap_mem; + asm CLRWDT; + rready = 0; + P_max = 0; + p_cnt = 0; + get_swr(); + if(SWR<110) return; + atu_reset(); + if(Loss_ind==0) lcd_ind(); + Delay_ms(50); + get_swr(); + swr_a = SWR; + if(SWR<110) return; + if(max_swr>110 & SWR>max_swr) return; + + swr_mem = SWR; + coarse_tune(); if(SWR==0) {atu_reset(); return;} + get_swr(); if(SWR<120) return; + sharp_ind(); if(SWR==0) {atu_reset(); return;} + get_swr(); if(SWR<120) return; + sharp_cap(); if(SWR==0) {atu_reset(); return;} + get_swr(); if(SWR<120) return; + + if(SWR<200 & SWR100) return; + swr_mem = SWR; + ind_mem = ind; + cap_mem = cap; + + if(SW==1) SW = 0; else SW = 1; + atu_reset(); + set_sw(SW); + Delay_ms(50); + get_swr(); if(SWR<120) return; + + coarse_tune(); if(SWR==0) {atu_reset(); return;} + get_swr(); if(SWR<120) return; + sharp_ind(); if(SWR==0) {atu_reset(); return;} + get_swr(); if(SWR<120) return; + sharp_cap(); if(SWR==0) {atu_reset(); return;} + get_swr(); if(SWR<120) return; + + if(SWR>swr_mem) { + if(SW==1) SW = 0; else SW = 1; + set_sw(SW); + ind = ind_mem; + cap = cap_mem; + set_ind(ind); + set_cap(cap); + SWR = swr_mem; + } + + asm CLRWDT; + return; +} +#line 11 "E:/ATU-100/fw_mini/2550_mini_board_sources_V_3.1/main.c" + int SWR_fixed = 0, SWR_fixed_old = 0, Power, work_int; + char work_char, work_str[7], work_str_2[7]; + float Forward; + int Power_old = 10000; + int SWR_old = 10000; + char m_nibble = 0, l_nibble = 0; + char type, Soft_tune = 0, Auto = 0, Track = 0; + char bypas = 0, cap_mem = 0, ind_mem = 0, SW_mem = 0, Auto_mem = 0; + int Auto_delta; + char Restart = 0, Test = 0, lcd_prep_short = 0; + char L = 1, but = 0; + int Cap1, Cap2, Cap3, Cap4, Cap5; + int Ind1, Ind2, Ind3, Ind4, Ind5; + char Dysp_delay = 0; + int dysp_cnt = 0; + float dysp_cnt_mult = 2.3; + char Loss_mode = 0, Fid_loss; +#line 34 "E:/ATU-100/fw_mini/2550_mini_board_sources_V_3.1/main.c" +void main() { + if(RCON.B3==0) Restart = 1; + pic_init(); + + Delay_ms (300); + asm CLRWDT; + cells_init(); + Soft_I2C_Init(); + if(type==0) { + LATB.B6 = 1; + LATB.B7 = 1; + } + else if(type==6){ + LATB.B6 = 0; + LATB.B7 = 0; + } + Low = 0; + Mid = 0; + High = 0; + dysp_cnt = Dysp_delay * dysp_cnt_mult; + + Delay_ms(300); + asm CLRWDT; + if(PORTB.B4==0 & PORTB.B5==0) { + Test = 1; + Auto = 0; + } + + Delay_ms(300); + asm CLRWDT; + + led_init(); + if(PORTB.B4==0 & PORTB.B5==0 & PORTB.B0==0) { + if(type==4 | type==5) led_wr_str (0, 12, "FAST TEST", 9); + else if(type!=0) led_wr_str (0, 3, "FAST TEST", 9); + set_cap(255); + set_ind(255); + set_sw(1); + asm CLRWDT; + while(1) {Delay_ms(500);asm CLRWDT;} + } + asm CLRWDT; + + if(Button(&PORTB, 0, 100, 0)) { + if(type==4 | type==5) { led_wr_str (0, 6, "Fider Loss", 10); + led_wr_str (1, 6, "input", 5); } + else if(type!=0) led_wr_str (0, 0, "Fider Loss input", 16); + Fid_loss = Bcd2Dec(EEPROM_Read(0x32)); + show_loss(); + + while(1) { + if(Button(&PORTB, 5, 50, 0)){ + if(Fid_loss<99) { + Fid_loss ++; + show_loss(); + EEPROM_Write(0x32, Dec2Bcd(Fid_loss)); + } + while(Button(&PORTB, 5, 50, 0)) asm CLRWDT; + } + + if(Button(&PORTB, 4, 50, 0)){ + if(Fid_loss>0) { + Fid_loss --; + show_loss(); + EEPROM_Write(0x32, Dec2Bcd(Fid_loss)); + } + while(Button(&PORTB, 4, 50, 0)) asm CLRWDT; + } + asm CLRWDT; + } + } + + if(Test==0) { + cap = EEPROM_Read(255); + ind = EEPROM_Read(254); + SW = EEPROM_Read(253); + swr_a = EEPROM_Read(252) * 256; + swr_a += EEPROM_Read(251); + set_ind(ind); + set_cap(cap); + set_sw(SW); + if(Restart==1 ) lcd_prep_short = 1; + lcd_prep(); + } + else Test_init(); + + lcd_ind(); + + + + while(1) { + asm CLRWDT; + lcd_pwr(); + + if(Test==0) button_proc(); + else button_proc_test(); + + if(dysp_cnt!=0) dysp_cnt --; + else if(Test==0 & Dysp_delay!=0) dysp_off(); + + + + } +} + + + + + void button_proc_test(void) { + if(Button(&PORTB, 0, 50, 0)){ + Delay_ms(250); + asm CLRWDT; + if(PORTB.B0==1) { + if(SW==0) SW = 1; else SW = 0; + set_sw(SW); + lcd_ind(); + } + else { + if(L==1) L = 0; else L = 1; + if(L==1) { + if(type==4 |type==5) + led_wr_str (0, 16+12*8, "l", 1); + else if(type!=0 & type!=6) + led_wr_str (0, 8, "l", 1); + } + else { + if(type==4 |type==5) + led_wr_str (0, 16+12*8, "c", 1); + else if(type!=0 & type !=6) + led_wr_str (0, 8, "c", 1); + } + } + while(Button(&PORTB, 0, 50, 0)) {lcd_pwr(); asm CLRWDT; } + } + + if(Button(&PORTB, 5, 50, 0)){ + asm CLRWDT; + while(PORTB.B5==0) { + if(L & ind<31) { + ind ++; + set_ind(ind); + } + else if(!L & cap<31) { + cap ++; + set_cap(cap); + } + lcd_ind(); + lcd_pwr(); + Delay_ms(30); + asm CLRWDT; + } + } + + if(Button(&PORTB, 4, 50, 0) & Bypas==0){ + asm CLRWDT; + while(PORTB.B4==0) { + if(L & ind>0) { + ind --; + set_ind(ind); + } + else if(!L & cap>0) { + cap --; + set_cap(cap); + } + lcd_ind(); + lcd_pwr(); + Delay_ms(30); + asm CLRWDT; + } + } + return; +} + + +void button_proc(void) { + if(Button(&PORTB, 0, 50, 0) | Soft_tune){ + dysp_on(); + dysp_cnt = Dysp_delay * dysp_cnt_mult; + Delay_ms(250); + asm CLRWDT; + if(Soft_tune == 0 & PORTB.B0==1) { + show_reset(); + bypas =0; + } + else { + p_Tx = 1; + n_Tx = 0; + asm CLRWDT; + Delay_ms(250); + asm CLRWDT; + btn_push(); + bypas = 0; + while(Button(&PORTB, 0, 50, 0)) {lcd_pwr(); asm CLRWDT; } + Soft_tune = 0; + } + + } + + if(Button(&PORTB, 5, 50, 0)){ + dysp_on(); + dysp_cnt = Dysp_delay * dysp_cnt_mult; + asm CLRWDT; + if(bypas == 0) { + bypas = 1; + cap_mem = cap; + ind_mem = ind; + SW_mem = SW; + cap = 0; + ind = 0; + SW = 1; + set_ind(ind); + set_cap(cap); + set_SW(SW); + if(Loss_mode==0) lcd_ind(); + Auto_mem = Auto; + Auto = 0; + } + else { + bypas = 0; + cap = cap_mem; + ind = ind_mem; + SW = SW_mem; + set_cap(cap); + set_ind(ind); + set_SW(SW); + if(Loss_mode==0) lcd_ind(); + Auto = Auto_mem; + } + if(type==4 | type==5) { + if(Auto & !Bypas) led_wr_str (0, 16+8*12, ".", 1); + else if(!Auto & Bypas) led_wr_str (0, 16+8*12, "_", 1); + else led_wr_str (0, 16+8*12, " ", 1); + } + else if(type!=0 & type!=6) { + if(Auto & !Bypas) led_wr_str (0, 8, ".", 1); + else if(!Auto & Bypas) led_wr_str (0, 8, "_", 1); + else led_wr_str (0, 8, " ", 1); + } + while(Button(&PORTB, 5, 50, 0)) {lcd_pwr(); asm CLRWDT; } + } + + if(Button(&PORTB, 4, 50, 0) & Bypas==0){ + dysp_on(); + dysp_cnt = Dysp_delay * dysp_cnt_mult; + asm CLRWDT; + if(Auto == 0) Auto = 1; + else Auto = 0; + EEPROM_Write(2, Auto); + if(type==4 | type==5) { + if(Auto & !Bypas) led_wr_str (0, 16+8*12, ".", 1); + else if(!Auto & Bypas) led_wr_str (0, 16+8*12, "_", 1); + else led_wr_str (0, 16+8*12, " ", 1); + } + else if(type!=0 & type!=6) { + if(Auto & !Bypas) led_wr_str (0, 8, ".", 1); + else if(!Auto & Bypas) led_wr_str (0, 8, "_", 1); + else led_wr_str (0, 8, " ", 1); + } + while(Button(&PORTB, 4, 50, 0)) {lcd_pwr(); asm CLRWDT; } + } + return; +} + +void show_reset() { + asm CLRWDT; + atu_reset(); + SW = 1; + set_sw(SW); + EEPROM_Write(255, 0); + EEPROM_Write(254, 0); + EEPROM_Write(253, 1); + EEPROM_Write(252, 0); + EEPROM_Write(251, 0); + lcd_ind(); + Loss_mode = 0; + p_Tx = 0; + n_Tx = 1; + SWR = 0; + PWR = 0; + SWR_fixed_old = 0; + if(type==4 | type==5) { + led_wr_str (2, 16, "RESET ", 8); + asm CLRWDT; + delay_ms(600); + led_wr_str (2, 16, "SWR=0.00", 8); + asm CLRWDT; + } + else if(type!=0 & type!=6) { + led_wr_str (1, 0, "RESET ", 8); + asm CLRWDT; + delay_ms(600); + led_wr_str (1, 0, "SWR=0.00", 8); + asm CLRWDT; + } + else { + LATB.B6 = 1; + LATB.B7 = 1; + } + Low = 0; + Mid = 0; + High = 0; + SWR_old = 10000; + Power_old = 10000; + lcd_pwr(); + return; +} + +void btn_push() { + asm CLRWDT; + if(type==4 | type==5) { + led_wr_str (2, 16+12*4, "TUNE", 4); + } + else if(type!=0 & type!=6) { + led_wr_str (1, 4, "TUNE", 4); + } + else { + LATB.B6 = 1; + LATB.B7 = 1; + } + Low = 0; + Mid = 0; + High = 0; + tune(); + if(type==0) { + if(swr<=150) { LATB.B6 = 0; LATB.B7 = 1; } + else if(swr<=250) {PORTB.B6 = 0; PORTB.B7 = 0;} + else { PORTB.B6 = 1; PORTB.B7 = 0; } + } + else if(type==6){ + if(swr<=150) { LATB.B6 = 1; LATB.B7 = 0; } + else if(swr<=250) {PORTB.B6 = 1; PORTB.B7 = 1;} + else { PORTB.B6 = 0; PORTB.B7 = 1; } + } + else if(Loss_mode==0 | Loss_ind==0) lcd_ind(); + if(SWR<=150) Low = 1; + else if(SWR<=250) Mid = 1; + else High = 1; + EEPROM_Write(255, cap); + EEPROM_Write(254, ind); + EEPROM_Write(253, SW); + EEPROM_Write(252, swr_a/256); + EEPROM_Write(251, swr_a%256); + SWR_old = 10000; + Power_old = 10000; + lcd_pwr(); + SWR_fixed_old = SWR; + p_Tx = 0; + n_Tx = 1; + asm CLRWDT; + return; +} + + void lcd_prep() { + asm CLRWDT; + if(type==4 |type==5){ + if(lcd_prep_short==0) { + led_wr_str (0, 22, "ATU-100", 7); + led_wr_str (2, 4, "mini board", 10); + led_wr_str (4, 16, "by N7DDC", 8); + led_wr_str (6, 4, "FW ver 3.1", 10); + asm CLRWDT; + Delay_ms(600); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + led_wr_str (0, 16, " ", 8); + led_wr_str (2, 4, " ", 10); + led_wr_str (4, 16, " ", 8); + led_wr_str (6, 4, " ", 10); + } + Delay_ms(150); + led_wr_str (0, 16, "PWR=0.0W", 8); + led_wr_str (2, 16, "SWR=0.00", 8); + if(Auto) led_wr_str (0, 16+8*12, ".", 1); + } + else if(type!=0 & type!=6) { + if(lcd_prep_short==0) { + led_wr_str (0, 4, "ATU-100", 7); + led_wr_str (1, 3, "mini board", 10); + asm CLRWDT; + Delay_ms(700); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + led_wr_str (0, 4, "by N7DDC", 8); + led_wr_str (1, 3, "FW ver 3.1", 10); + asm CLRWDT; + Delay_ms(600); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + led_wr_str (0, 4, " ", 8); + led_wr_str (1, 3, " ", 10); + } + Delay_ms(150); + led_wr_str (0, 0, "PWR=0.0W", 8); + led_wr_str (1, 0, "SWR=0.00", 8); + if(Auto) led_wr_str (0, 8, ".", 1); + } + asm CLRWDT; + lcd_ind(); + return; +} + + +void lcd_swr(int swr) { + asm CLRWDT; + if(swr!=SWR_old) { + SWR_old = swr; + if(swr==1) { + if(type==4 | type==5) led_wr_str (2, 16+4*12, "0.00", 4); + else if(type!=0 & type!=6) led_wr_str (1, 4, "0.00", 4); + else if(type==0) { + LATB.B6 = 1; + LATB.B7 = 1; + } + else if(type==6){ + LATB.B6 = 0; + LATB.B7 = 0; + } + Low = 0; + Mid = 0; + High = 0; + SWR_old = 0; + } + else { + SWR_old = swr; + IntToStr(swr, work_str); + work_str_2[0] = work_str[3]; + work_str_2[1] = '.'; + work_str_2[2] = work_str[4]; + work_str_2[3] = work_str[5]; + if(type==4 | type==5) led_wr_str (2, 16+4*12, work_str_2, 4); + else if(type!=0 & type!=6) led_wr_str (1, 4, work_str_2, 4); + else if(type==0) { + if(swr<=150) { LATB.B6 = 0; LATB.B7 = 1; } + else if(swr<=250) {PORTB.B6 = 0; PORTB.B7 = 0;} + else { PORTB.B6 = 1; PORTB.B7 = 0; } + } + else if(type==6){ + if(swr<=150) { LATB.B6 = 1; LATB.B7 = 0; } + else if(swr<=250) {PORTB.B6 = 1; PORTB.B7 = 1;} + else { PORTB.B6 = 0; PORTB.B7 = 1; } + } + if(SWR<=150) {Low = 1; Mid = 0; High = 0;} + else if(SWR<=250) {Low = 0; Mid = 1; High = 0;} + else {Low = 0; Mid = 0; High = 1; } + } + } + asm CLRWDT; + return; +} + + +void button_delay() { + if((Button(&PORTB, 0, 25, 0)) | (Button(&PORTB, 1, 25, 0)) | (Button(&PORTB, 2, 25, 0))) { + but = 1; + } + return; +} + +void show_pwr(int Power, int SWR) { + float a, b; + int p_ant, eff; + asm CLRWDT; + + if(Test==0 & Loss_ind==1 & SWR>=100) { + if(Loss_mode==0) { + if(type==4 |type==5){ + led_wr_str(4, 16, "ANT=0.0W", 8); + led_wr_str(6, 16, "EFF= 0%", 8); + } + else if(type==2 | type==3) { + led_wr_str (0, 9, "ANT=0.0W", 8); + led_wr_str (1, 9, "EFF= 0%", 8); + } + else if(type==1) { + led_wr_str (0, 9, "AN=0.0W", 7); + led_wr_str (1, 9, "EFF= 0%", 7); + } + } + Loss_mode = 1; + } + else { + if(Loss_mode==1) lcd_ind(); + Loss_mode = 0; + } + asm CLRWDT; + if(Power != Power_old) { + Power_old = Power; + + if(1) { + if(Power >= 100) { + Power += 5; + IntToStr(Power, work_str); + work_str_2[0] = work_str[2]; + work_str_2[1] = work_str[3]; + work_str_2[2] = work_str[4]; + work_str_2[3] = 'W'; + } + else { + IntToStr(Power, work_str); + if(work_str[4] != ' ') work_str_2[0] = work_str[4]; else work_str_2[0] = '0'; + work_str_2[1] = '.'; + if(work_str[5] != ' ') work_str_2[2] = work_str[5]; else work_str_2[2] = '0'; + work_str_2[3] = 'W'; + } + } + if(type==4 | type==5) led_wr_str (0, 16+4*12, work_str_2, 4); + else if(type!=0 & type!=6) led_wr_str (0, 4, work_str_2, 4); + + + if(Loss_mode==1) { + if(ind==0 & cap==0) swr_a = SWR; + a = 1.0 / ((swr_a/100.0 + 100.0/swr_a) * Fid_loss/10.0 * 0.115 + 1.0); + b = 4.0 / (2.0 + SWR/100.0 + 100.0/SWR); + if(a>=1.0) a = 1.0; + if(b>=1.0) b = 1.0; + p_ant = Power * a * b; + eff = a * b * 100; + if(eff>=100) eff = 99; + + if(1) { + if(p_ant >= 100) { + p_ant += 5; + IntToStr(p_ant, work_str); + work_str_2[0] = work_str[2]; + work_str_2[1] = work_str[3]; + work_str_2[2] = work_str[4]; + work_str_2[3] = 'W'; + } + else { + IntToStr(p_ant, work_str); + if(work_str[4] != ' ') work_str_2[0] = work_str[4]; else work_str_2[0] = '0'; + work_str_2[1] = '.'; + if(work_str[5] != ' ') work_str_2[2] = work_str[5]; else work_str_2[2] = '0'; + work_str_2[3] = 'W'; + } + } + if(type==4 | type==5) led_wr_str (4, 16+4*12, work_str_2, 4); + else if(type==2 | type==3) led_wr_str (0, 13, work_str_2, 4); + else if(type==1) led_wr_str (0, 12, work_str_2, 4); + + IntToStr(eff, work_str); + work_str_2[0] = work_str[4]; + work_str_2[1] = work_str[5]; + if(type==4 | type==5) led_wr_str(6, 16+5*12, work_str_2, 2); + else if(type==2 | type==3) led_wr_str(1, 14, work_str_2, 2); + else if(type==1) led_wr_str(1, 13, work_str_2, 2); + } + } + asm CLRWDT; + return; +} + + +void lcd_pwr() { + int p = 0; + char peak_cnt; + int delta = Auto_delta - 100; + char cnt; + int SWR_fixed = 1; + PWR = 0; + asm CLRWDT; + + cnt = 120; + for(peak_cnt = 0; peak_cnt < cnt; peak_cnt++){ + if(PORTB.B4==0 | PORTB.B5==0 | PORTB.B0==0) {button_delay(); if(but==1) {but = 0; return;} } + get_pwr(); + if(PWR>p) {p = PWR; SWR_fixed = SWR;} + Delay_ms(3); + } + asm CLRWDT; + Power = p; + lcd_swr(SWR_fixed); + if(SWR_fixed>=100) { + dysp_on(); + dysp_cnt = Dysp_delay * dysp_cnt_mult; + } + + if(Auto & SWR_fixed>=Auto_delta & ((SWR_fixed>SWR_fixed_old & (SWR_fixed-SWR_fixed_old)>delta) | (SWR_fixeddelta) | SWR_fixed_old==999)) + Soft_tune = 1; + + if(PORTB.B4==0 | PORTB.B5==0 | PORTB.B0==0) {button_delay(); if(but==1) {but = 0; return;} } + show_pwr(Power, SWR_fixed); + + if(PORTB.B4==0 | PORTB.B5==0 | PORTB.B0==0) {button_delay(); if(but==1) {but = 0; return;} } + asm CLRWDT; + if(Overload==1) { + if(type==4 | type==5) { + led_wr_str (2, 16, " ", 8); + delay_ms(100); + asm CLRWDT; + led_wr_str (2, 16, "OVERLOAD", 8); + delay_ms(500); + asm CLRWDT; + led_wr_str (2, 16, " ", 8); + delay_ms(300); + asm CLRWDT; + led_wr_str (2, 16, "OVERLOAD", 8); + delay_ms(500); + asm CLRWDT; + led_wr_str (2, 16, " ", 8); + delay_ms(300); + asm CLRWDT; + led_wr_str (2, 16, "OVERLOAD", 8); + delay_ms(500); + asm CLRWDT; + led_wr_str (2, 16, " ", 8); + delay_ms(100); + led_wr_str (2, 16, "SWR= ", 8); + } + else if(type!=0 & type!=6) { + led_wr_str (1, 0, " ", 8); + delay_ms(100); + asm CLRWDT; + led_wr_str (1, 0, "OVERLOAD", 8); + delay_ms(500); + asm CLRWDT; + led_wr_str (1, 0, " ", 8); + delay_ms(300); + asm CLRWDT; + led_wr_str (1, 0, "OVERLOAD", 8); + delay_ms(500); + asm CLRWDT; + led_wr_str (1, 0, " ", 8); + delay_ms(300); + asm CLRWDT; + led_wr_str (1, 0, "OVERLOAD", 8); + delay_ms(500); + asm CLRWDT; + led_wr_str (1, 0, " ", 8); + delay_ms(100); + led_wr_str (1, 0, "SWR= ", 8); + } + asm CLRWDT; + SWR_old = 10000; + lcd_swr(SWR_fixed); + } + return; +} + +void lcd_ind() { + char column; + asm CLRWDT; + if(1) { + work_int = 0; + if(ind.B0) work_int += Ind1; + if(ind.B1) work_int += Ind2; + if(ind.B2) work_int += Ind3; + if(ind.B3) work_int += Ind4; + if(ind.B4) work_int += Ind5; + if(type==1) { + if(work_int>9999) { + work_int += 500; + IntToStr(work_int, work_str); + work_str_2[0] = ' '; + work_str_2[1] = work_str[1]; + work_str_2[2] = work_str[2]; + } + else { + work_int += 50; + IntToStr(work_int, work_str); + if(work_str[2] != ' ') work_str_2[0] = work_str[2]; else work_str_2[0] = '0'; + work_str_2[1] = '.'; + if(work_str[3] != ' ') work_str_2[2] = work_str[3]; else work_str_2[2] = '0'; + } + } + else if(work_int>9999) { + work_int += 50; + IntToStr(work_int, work_str); + work_str_2[0] = work_str[1]; + work_str_2[1] = work_str[2]; + work_str_2[2] = '.'; + work_str_2[3] = work_str[3]; + } + else { + IntToStr(work_int, work_str); + if(work_str[2] != ' ') work_str_2[0] = work_str[2]; else work_str_2[0] = '0'; + work_str_2[1] = '.'; + if(work_str[3] != ' ') work_str_2[2] = work_str[3]; else work_str_2[2] = '0'; + if(work_str[4] != ' ') work_str_2[3] = work_str[4]; else work_str_2[3] = '0'; + } + + if(type==1) { + if(SW==1) column = 0; else column = 1; + led_wr_str (column, 9, "L=", 2); + led_wr_str (column, 14, "uH", 2); + led_wr_str (column, 11, work_str_2, 3); + } + else if(type==4 | type==5) { + if(SW==1) column = 4; else column = 6; + led_wr_str (column, 16, "L=", 2); + led_wr_str (column, 16+6*12, "uH", 2); + led_wr_str (column, 16+2*12, work_str_2, 4); + } + else if(type==2 | type==3) { + if(SW==1) column = 0; else column = 1; + led_wr_str (column, 9, "L=", 2); + led_wr_str (column, 15, "uH", 2); + led_wr_str (column, 11, work_str_2, 4); + } + } + asm CLRWDT; + if(1) { + work_int = 0; + if(cap.B0) work_int += Cap1; + if(cap.B1) work_int += Cap2; + if(cap.B2) work_int += Cap3; + if(cap.B3) work_int += Cap4; + if(cap.B4) work_int += Cap5; + + if(type==4 | type==5) { + IntToStr(work_int, work_str); + work_str_2[0] = work_str[2]; + work_str_2[1] = work_str[3]; + work_str_2[2] = work_str[4]; + work_str_2[3] = work_str[5]; + if(SW==1) column = 6; else column = 4; + led_wr_str (column, 16, "C=", 2); + led_wr_str (column, 16+6*12, "pF", 2); + led_wr_str (column, 16+2*12, work_str_2, 4); + } + else if(type==2 | type==3) { + IntToStr(work_int, work_str); + work_str_2[0] = work_str[2]; + work_str_2[1] = work_str[3]; + work_str_2[2] = work_str[4]; + work_str_2[3] = work_str[5]; + if(SW==1) column = 1; else column = 0; + led_wr_str (column, 9, "C=", 2); + led_wr_str (column, 15, "pF", 2); + led_wr_str (column, 11, work_str_2, 4); + } + else if(type==1) { + IntToStr(work_int, work_str); + work_str_2[0] = work_str[3]; + work_str_2[1] = work_str[4]; + work_str_2[2] = work_str[5]; + if(SW==1) column = 1; else column = 0; + led_wr_str (column, 9, "C=", 2); + led_wr_str (column, 14, "pF", 2); + led_wr_str (column, 11, work_str_2, 3); + } + } + asm CLRWDT; + return; +} + +void Test_init(void) { + if(type==4 | type==5) + led_wr_str (0, 10, "TEST MODE", 9); + else if(type!=0 & type!=6) + led_wr_str (0, 3, "TEST MODE", 9); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + Delay_ms(500); + asm CLRWDT; + if(type==4 | type==5) + led_wr_str (0, 10, " ", 9); + else if(type!=0 & type!=6) + led_wr_str (0, 3, " ", 9); + atu_reset(); + SW = 1; + set_sw(SW); + EEPROM_Write(255, cap); + EEPROM_Write(254, ind); + EEPROM_Write(253, SW); + + if(type==4 | type==5) + led_wr_str (0, 16+12*8, "l", 1); + else if(type!=0 & type!=6) + led_wr_str (0, 8, "l", 1); + + lcd_prep_short = 1; + lcd_prep(); + return; +} + +void cells_init(void) { + + asm CLRWDT; + + type = EEPROM_Read(1); + if(EEPROM_Read(2) == 1) Auto = 1; + Rel_Del = Bcd2Dec(EEPROM_Read(3)); + Auto_delta = Bcd2Dec(EEPROM_Read(4)) * 10; + min_for_start = Bcd2Dec(EEPROM_Read(5)) * 10; + max_for_start = Bcd2Dec(EEPROM_Read(6)) * 10; + max_swr = Bcd2Dec(EEPROM_Read(9)) * 10; + K_Mult = Bcd2Dec(EEPROM_Read(10)); + + asm CLRWDT; + Ind1 = Bcd2Dec(EEPROM_Read(16)) * 100 + Bcd2Dec(EEPROM_Read(17)); + Ind2 = Bcd2Dec(EEPROM_Read(18)) * 100 + Bcd2Dec(EEPROM_Read(19)); + Ind3 = Bcd2Dec(EEPROM_Read(20)) * 100 + Bcd2Dec(EEPROM_Read(21)); + Ind4 = Bcd2Dec(EEPROM_Read(22)) * 100 + Bcd2Dec(EEPROM_Read(23)); + Ind5 = Bcd2Dec(EEPROM_Read(24)) * 100 + Bcd2Dec(EEPROM_Read(25)); + + Cap1 = Bcd2Dec(EEPROM_Read(32)) * 100 + Bcd2Dec(EEPROM_Read(33)); + Cap2 = Bcd2Dec(EEPROM_Read(34)) * 100 + Bcd2Dec(EEPROM_Read(35)); + Cap3 = Bcd2Dec(EEPROM_Read(36)) * 100 + Bcd2Dec(EEPROM_Read(37)); + Cap4 = Bcd2Dec(EEPROM_Read(38)) * 100 + Bcd2Dec(EEPROM_Read(39)); + Cap5 = Bcd2Dec(EEPROM_Read(40)) * 100 + Bcd2Dec(EEPROM_Read(41)); + + Dysp_delay = Bcd2Dec(EEPROM_Read(0x30)); + Loss_ind = EEPROM_Read(0x31); + Fid_loss = Bcd2Dec(EEPROM_Read(0x32)); + asm CLRWDT; +} + +void show_loss(void) { + IntToStr(Fid_loss, work_str); + if(Fid_loss>=10) work_str_2[0] = work_str[4]; + else work_str_2[0] = '0'; + work_str_2[1] = '.'; + work_str_2[2] = work_str[5]; + if(type==4 | type==5) led_wr_str (2, 6, work_str_2, 3); + else if(type!=0) led_wr_str (1, 3, work_str_2, 3); + return; +} diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.h b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.h new file mode 100644 index 0000000..9f82a4d --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.h @@ -0,0 +1,351 @@ +// Main.h +// David Fainitski +// ATU-100 project 2016 + +// +static char ind = 0, cap = 0, SW = 0, step_cap = 0, step_ind = 0, Overload = 0, Loss_ind = 0, K_mult = 10; +static int Rel_Del, min_for_start, max_for_start, max_swr; +int SWR, PWR, P_max = 0, swr_a; +char rready = 0, p_cnt = 0; +// +void btn_push(void); +void lcd_prep(void); +void lcd_swr(int); +void lcd_pwr(void); +void lcd_ind(void); +void crypto(void); +void show_reset(void); +void show_pwr(int, int); +void cells_init(void); +void test_init(void); +void button_proc(void); +void button_proc_test(void); +void button_delay(void); +void show_loss(void); +// +void atu_reset(void); +int get_reverse(void); +int get_forward(void); +int correction(int); +int get_swr(void); +void get_pwr(void); +void set_sw(char); +void coarse_cap(); +void sharp_cap(); +void sharp_ind(); +void coarse_tune(); +void tune(void); +// + +int correction(int input) { + input *= 3; // Devider compensation + // + if(input <= 80) return 0; + if(input <= 171) input += 244; + else if(input <= 328) input += 254; + else if(input <= 582) input += 280; + else if(input <= 820) input += 297; + else if(input <= 1100) input += 310; + else if(input <= 2181) input += 430; + else if(input <= 3322) input += 484; + else if(input <= 4623) input += 530; + else if(input <= 5862) input += 648; + else if(input <= 7146) input += 743; + else if(input <= 8502) input += 820; + else if(input <= 10500) input += 900; + else input += 850; + // + + return input; +} + +// + + int get_reverse() { + return ADC_Get_Sample(1) * 4.883; +} +// + +int get_forward() { + int Forward; + Forward = ADC_Get_Sample(0); + if(Forward==1023) Overload = 1; + else Overload = 0; + return Forward * 4.883; +} + +void get_pwr() { + long Forward, Reverse; + float p; + asm CLRWDT; + // + Forward = get_forward(); + Reverse = get_reverse(); + p = correction(Forward); + // + if(Reverse >= Forward) + Forward = 999; + else { + Forward = ((Forward + Reverse) * 100) / (Forward - Reverse); + if(Forward>999) Forward = 999; + } + // + p = p * K_mult / 1000; // mV to Volts + p = p / 1.414; + p = p * p / 5; + p = p + 0.5; // rounding to 0.1 W + PWR = p; // 0 - 1510 (151.0 Watts) + if(PWR<10) SWR = 1; + else if(Forward<100) SWR = 999; + else SWR = Forward; + return; +} + +int get_swr() { + get_pwr(); + if(p_cnt!=100) { + p_cnt += 1; + if(PWR>P_max) P_max = PWR; + } + else { + p_cnt = 0; + show_pwr(P_max, SWR); + P_max = 0; + } + // + while((PWR max_for_start & max_for_start>0))) { // waiting for good power + asm CLRWDT; + get_pwr(); + if(p_cnt!=100) { + p_cnt += 1; + if(PWR>P_max) P_max = PWR; + } + else { + p_cnt = 0; + show_pwr(P_max, SWR); + P_max = 0; + } + // + if(Button(&PORTB, 0, 5, 1)) rready = 1; + if(rready==1 & Button(&PORTB, 0, 5, 0)) { // press button Tune + show_reset(); + SWR = 0; + return SWR; + } + } // good power + return SWR; +} + +void set_ind(char Ind) { // 0 - 31 + // + Ind_011 = Ind.B0; + Ind_022 = Ind.B1; + Ind_045 = Ind.B2; + Ind_1 = Ind.B3; + Ind_22 = Ind.B4; + // + Vdelay_ms(Rel_Del); +} + +void set_cap(char Cap) { // 0 - 31 + Cap_10 = Cap.B0; + Cap_22 = Cap.B1; + Cap_47 = Cap.B2; + Cap_100 = Cap.B3; + Cap_220 = Cap.B4; + // + Vdelay_ms(Rel_Del); +} + +void set_sw(char SW) { // 0 - IN, 1 - OUT + Cap_sw = SW; + Vdelay_ms(Rel_Del); +} + +void atu_reset() { + ind = 0; + cap = 0; + set_ind(ind); + set_cap(cap); + Vdelay_ms(Rel_Del); +} + +void coarse_cap() { + char step = 3; + char count; + int min_swr; + + cap = 0; + set_cap(cap); + SWR = get_swr(); + min_swr = SWR + SWR/20; + for(count=step; count<=31;) { + set_cap(count); + SWR = get_swr(); + if(SWR < min_swr) { + min_swr = SWR + SWR/20; + cap = count; + step_cap = step; + if(SWR<120) break; + count += step; + if(count==9) count = 8; + else if(count==17) {count = 16; step = 4;} + } + else break; + } + set_cap(cap); + return; +} + +void coarse_tune() { + char step = 3; + char count; + char mem_cap, mem_step_cap; + int min_swr; + + mem_cap = 0; + step_ind = step; + mem_step_cap = 3; + min_swr = SWR + SWR/20; + for(count=0; count<=31;) { + set_ind(count); + coarse_cap(); + SWR = get_swr(); + if(SWR < min_swr) { + min_swr = SWR + SWR/20; + ind = count; + mem_cap = cap; + step_ind = step; + mem_step_cap = step_cap; + if(SWR<120) break; + count += step; + if(count==9) count = 8; + else if(count==17) {count = 16; step = 4;} + } + else break; + } + cap = mem_cap; + set_ind(ind); + set_cap(cap); + step_cap = mem_step_cap; + Delay_ms(10); + return; +} + + +void sharp_cap() { + char range, count, max_range, min_range; + int min_swr; + range = step_cap; + // + max_range = cap + range; + if(max_range>31) max_range = 31; + if(cap>range) min_range = cap - range; else min_range = 0; + cap = min_range; + set_cap(cap); + SWR = get_swr(); + if(SWR==0) return; + min_SWR = SWR; + for(count=min_range+1; count<=max_range; count++) { + set_cap(count); + SWR = get_swr(); + if(SWR==0) return; + if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } + if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } + if(SWR < min_SWR) { + min_SWR = SWR; + cap = count; + if(SWR<120) break; + } + else break; + } + set_cap(cap); + return; +} + +void sharp_ind() { + char range, count, max_range, min_range; + int min_SWR; + range = step_ind; + // + max_range = ind + range; + if(max_range>31) max_range = 31; + if(ind>range) min_range = ind - range; else min_range = 0; + ind = min_range; + set_ind(ind); + SWR = get_swr(); + if(SWR==0) return; + min_SWR = SWR; + for(count=min_range+1; count<=max_range; count++) { + set_ind(count); + SWR = get_swr(); + if(SWR==0) return; + if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } + if(SWR>=min_SWR) { Delay_ms(10); SWR = get_swr(); } + if(SWR < min_SWR) { + min_SWR = SWR; + ind = count; + if(SWR<120) break; + } + else break; + } + set_ind(ind); + return; +} + + +void tune() { + int swr_mem, ind_mem, cap_mem; + asm CLRWDT; + rready = 0; + P_max = 0; + p_cnt = 0; + get_swr(); + if(SWR<110) return; + atu_reset(); + if(Loss_ind==0) lcd_ind(); + Delay_ms(50); + get_swr(); + swr_a = SWR; + if(SWR<110) return; + if(max_swr>110 & SWR>max_swr) return; + // + swr_mem = SWR; + coarse_tune(); if(SWR==0) {atu_reset(); return;} + get_swr(); if(SWR<120) return; + sharp_ind(); if(SWR==0) {atu_reset(); return;} + get_swr(); if(SWR<120) return; + sharp_cap(); if(SWR==0) {atu_reset(); return;} + get_swr(); if(SWR<120) return; + // + if(SWR<200 & SWR100) return; + swr_mem = SWR; + ind_mem = ind; + cap_mem = cap; + // + if(SW==1) SW = 0; else SW = 1; + atu_reset(); + set_sw(SW); + Delay_ms(50); + get_swr(); if(SWR<120) return; + // + coarse_tune(); if(SWR==0) {atu_reset(); return;} + get_swr(); if(SWR<120) return; + sharp_ind(); if(SWR==0) {atu_reset(); return;} + get_swr(); if(SWR<120) return; + sharp_cap(); if(SWR==0) {atu_reset(); return;} + get_swr(); if(SWR<120) return; + // + if(SWR>swr_mem) { + if(SW==1) SW = 0; else SW = 1; + set_sw(SW); + ind = ind_mem; + cap = cap_mem; + set_ind(ind); + set_cap(cap); + SWR = swr_mem; + } + // + asm CLRWDT; + return; +} \ No newline at end of file diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.h.ini b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.h.ini new file mode 100644 index 0000000..95f23cf --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.h.ini @@ -0,0 +1,9 @@ +[Bookmarks] +Count=0 +[Position] +Line=24 +Column=22 +[BreakPoints] +Count=0 +[FoldedLines] +Count=0 diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.ini b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.ini new file mode 100644 index 0000000..f98081c --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.ini @@ -0,0 +1,9 @@ +[Bookmarks] +Count=0 +[Position] +Line=42 +Column=34 +[BreakPoints] +Count=0 +[FoldedLines] +Count=0 diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.mcl b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.mcl new file mode 100644 index 0000000..9c66a9f Binary files /dev/null and b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/main.mcl differ diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.asm b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.asm new file mode 100644 index 0000000..7337f22 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.asm @@ -0,0 +1,1726 @@ + +_led_send: + +;oled_control.c,6 :: void led_send (char nible) { +;oled_control.c,8 :: sdata = 0; + CLRF led_send_sdata_L0+0 +;oled_control.c,9 :: RW = 0; E = 1; + CLRF oled_control_RW+0 + MOVLW 1 + MOVWF oled_control_E+0 +;oled_control.c,10 :: sdata = sdata + nible; + MOVF FARG_led_send_nible+0, 0 + MOVWF led_send_sdata_L0+0 +;oled_control.c,11 :: sdata = sdata << 4; + RLCF led_send_sdata_L0+0, 1 + BCF led_send_sdata_L0+0, 0 + RLCF led_send_sdata_L0+0, 1 + BCF led_send_sdata_L0+0, 0 + RLCF led_send_sdata_L0+0, 1 + BCF led_send_sdata_L0+0, 0 + RLCF led_send_sdata_L0+0, 1 + BCF led_send_sdata_L0+0, 0 +;oled_control.c,12 :: if(LED) sdata = sdata + 8; + MOVF oled_control_LED+0, 1 + BTFSC STATUS+0, 2 + GOTO L_led_send0 + MOVLW 8 + ADDWF led_send_sdata_L0+0, 1 +L_led_send0: +;oled_control.c,13 :: if(E) sdata = sdata + 4; + MOVF oled_control_E+0, 1 + BTFSC STATUS+0, 2 + GOTO L_led_send1 + MOVLW 4 + ADDWF led_send_sdata_L0+0, 1 +L_led_send1: +;oled_control.c,14 :: if(RW) sdata = sdata + 2; + MOVF oled_control_RW+0, 1 + BTFSC STATUS+0, 2 + GOTO L_led_send2 + MOVLW 2 + ADDWF led_send_sdata_L0+0, 1 +L_led_send2: +;oled_control.c,15 :: if(RS) sdata = sdata + 1; + MOVF oled_control_RS+0, 1 + BTFSC STATUS+0, 2 + GOTO L_led_send3 + INCF led_send_sdata_L0+0, 1 +L_led_send3: +;oled_control.c,17 :: Soft_I2C_Start(); + CALL _Soft_I2C_Start+0, 0 +;oled_control.c,18 :: Soft_I2C_Write(led_addr); // device addres + MOVF oled_control_led_addr+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,19 :: Soft_I2C_Write(sdata); // + MOVF led_send_sdata_L0+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,20 :: Soft_I2C_Stop(); + CALL _Soft_I2C_Stop+0, 0 +;oled_control.c,21 :: delay_ms(1); + MOVLW 6 + MOVWF R12, 0 + MOVLW 48 + MOVWF R13, 0 +L_led_send4: + DECFSZ R13, 1, 1 + BRA L_led_send4 + DECFSZ R12, 1, 1 + BRA L_led_send4 + NOP +;oled_control.c,22 :: sdata = sdata - 4; // E = 0 + MOVLW 4 + SUBWF led_send_sdata_L0+0, 1 +;oled_control.c,23 :: Soft_I2C_Start(); + CALL _Soft_I2C_Start+0, 0 +;oled_control.c,24 :: Soft_I2C_Write(led_addr); // device addres + MOVF oled_control_led_addr+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,25 :: Soft_I2C_Write(sdata); // + MOVF led_send_sdata_L0+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,26 :: Soft_I2C_Stop(); + CALL _Soft_I2C_Stop+0, 0 +;oled_control.c,27 :: delay_ms(1); + MOVLW 6 + MOVWF R12, 0 + MOVLW 48 + MOVWF R13, 0 +L_led_send5: + DECFSZ R13, 1, 1 + BRA L_led_send5 + DECFSZ R12, 1, 1 + BRA L_led_send5 + NOP +;oled_control.c,28 :: } +L_end_led_send: + RETURN 0 +; end of _led_send + +_led_init: + +;oled_control.c,30 :: void led_init (void) { +;oled_control.c,31 :: led_type = EEPROM_read(1); + MOVLW 1 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF oled_control_led_type+0 +;oled_control.c,32 :: shift_line = EEPROM_read(7); + MOVLW 7 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF oled_control_shift_line+0 +;oled_control.c,33 :: oled_shift = EEPROM_read(8); + MOVLW 8 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF oled_control_oled_shift+0 +;oled_control.c,34 :: if(led_type!=1) oled_init(); // OLED + MOVF oled_control_led_type+0, 0 + XORLW 1 + BTFSC STATUS+0, 2 + GOTO L_led_init6 + CALL _oled_init+0, 0 + GOTO L_led_init7 +L_led_init6: +;oled_control.c,36 :: LED = 1; + MOVLW 1 + MOVWF oled_control_LED+0 +;oled_control.c,37 :: RS = 0; // Command + CLRF oled_control_RS+0 +;oled_control.c,39 :: led_send(3); + MOVLW 3 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,40 :: delay_ms(5); + MOVLW 26 + MOVWF R12, 0 + MOVLW 248 + MOVWF R13, 0 +L_led_init8: + DECFSZ R13, 1, 1 + BRA L_led_init8 + DECFSZ R12, 1, 1 + BRA L_led_init8 + NOP +;oled_control.c,41 :: led_send(3); + MOVLW 3 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,42 :: delay_ms(1); + MOVLW 6 + MOVWF R12, 0 + MOVLW 48 + MOVWF R13, 0 +L_led_init9: + DECFSZ R13, 1, 1 + BRA L_led_init9 + DECFSZ R12, 1, 1 + BRA L_led_init9 + NOP +;oled_control.c,43 :: led_send(3); + MOVLW 3 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,44 :: led_send(2); + MOVLW 2 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,46 :: led_send(2); + MOVLW 2 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,47 :: led_send(8); // + MOVLW 8 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,49 :: led_send(0); + CLRF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,50 :: led_send(8); // LCD OFF + MOVLW 8 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,52 :: led_send(0); + CLRF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,53 :: led_send(1); // LCD clear + MOVLW 1 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,54 :: delay_ms(5); + MOVLW 26 + MOVWF R12, 0 + MOVLW 248 + MOVWF R13, 0 +L_led_init10: + DECFSZ R13, 1, 1 + BRA L_led_init10 + DECFSZ R12, 1, 1 + BRA L_led_init10 + NOP +;oled_control.c,56 :: led_send(0); + CLRF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,57 :: led_send(4 + 2); // I/D, S + MOVLW 6 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,59 :: led_send(0); + CLRF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,60 :: led_send(8 + 4 + 0 + 0); // LCD ON, Cursor, Blink Cursor + MOVLW 12 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,61 :: } +L_led_init7: +;oled_control.c,62 :: } +L_end_led_init: + RETURN 0 +; end of _led_init + +_oled_init: + +;oled_control.c,64 :: void oled_init (void) { // OLED init +;oled_control.c,66 :: Soft_I2C_Start(); + CALL _Soft_I2C_Start+0, 0 +;oled_control.c,67 :: Soft_I2C_Write(led_addr); // device addres + MOVF oled_control_led_addr+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,68 :: Soft_I2C_Write(0); // 0 - continious mode, command; 64 - Co, data + CLRF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,69 :: Soft_I2C_Write (0xAE); // display OFF + MOVLW 174 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,71 :: if(led_type==2 | led_type==3) { // 128*32 OLED + MOVF oled_control_led_type+0, 0 + XORLW 2 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF oled_control_led_type+0, 0 + XORLW 3 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_oled_init11 +;oled_control.c,72 :: Soft_I2C_Write (0xD5); // clock division + MOVLW 213 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,73 :: Soft_I2C_Write (0x80); // ratio + MOVLW 128 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,75 :: Soft_I2C_Write (0xA8); // multiplexer + MOVLW 168 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,76 :: Soft_I2C_Write (0x3f); // + MOVLW 63 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,78 :: Soft_I2C_Write (0xD3); // offset + MOVLW 211 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,79 :: if(led_type==2) Soft_I2C_Write (0 + shift_line); // column shift + MOVF oled_control_led_type+0, 0 + XORLW 2 + BTFSS STATUS+0, 2 + GOTO L_oled_init12 + MOVF oled_control_shift_line+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 + GOTO L_oled_init13 +L_oled_init12: +;oled_control.c,80 :: else Soft_I2C_Write (31 + shift_line); // column shift + MOVF oled_control_shift_line+0, 0 + ADDLW 31 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +L_oled_init13: +;oled_control.c,82 :: Soft_I2C_Write (0x40); // set line, line = 0 + MOVLW 64 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,84 :: Soft_I2C_Write (0x8D); // charge pump + MOVLW 141 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,85 :: Soft_I2C_Write (0x14); // 0x10 - external, 0x14 - internal + MOVLW 20 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,87 :: Soft_I2C_Write (0x81); // contrast + MOVLW 129 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,88 :: Soft_I2C_Write (180); // 0-255 + MOVLW 180 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,90 :: Soft_I2C_Write (0xD9); // pre-charge + MOVLW 217 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,91 :: Soft_I2C_Write (0x22); // 0x22 - external, 0xF1 - internal + MOVLW 34 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,93 :: Soft_I2C_Write (0x20); // memory addressing mode + MOVLW 32 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,94 :: Soft_I2C_Write (0x02); // page addressing mode + MOVLW 2 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,96 :: Soft_I2C_Write (0x21); // set column range + MOVLW 33 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,97 :: Soft_I2C_Write (0); // column start + CLRF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,98 :: Soft_I2C_Write (127); // column stop + MOVLW 127 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,100 :: Soft_I2C_Write (0x2E); // stop scrolling + MOVLW 46 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,102 :: if(led_type==2) { + MOVF oled_control_led_type+0, 0 + XORLW 2 + BTFSS STATUS+0, 2 + GOTO L_oled_init14 +;oled_control.c,103 :: Soft_I2C_Write (0xA0); // segment re-map, A0 - normal, A1 - remapped + MOVLW 160 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,105 :: Soft_I2C_Write (0xC0); // scan direction, C0 - normal, C8 - remapped + MOVLW 192 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,106 :: } + GOTO L_oled_init15 +L_oled_init14: +;oled_control.c,108 :: Soft_I2C_Write (0xA1); // segment re-map, A0 - normal, A1 - remapped + MOVLW 161 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,110 :: Soft_I2C_Write (0xC8); // scan direction, C0 - normal, C8 - remapped + MOVLW 200 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,111 :: } +L_oled_init15: +;oled_control.c,113 :: Soft_I2C_Write (0xDA); // COM pins configure + MOVLW 218 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,114 :: Soft_I2C_Write (0x02); // 12 for x64 + MOVLW 2 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,116 :: Soft_I2C_Write (0xDB); // V-COM detect + MOVLW 219 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,117 :: Soft_I2C_Write (0x40); // + MOVLW 64 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,119 :: } + GOTO L_oled_init16 +L_oled_init11: +;oled_control.c,121 :: Soft_I2C_Write (0xD5); // clock division + MOVLW 213 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,122 :: Soft_I2C_Write (0x80); // ratio + MOVLW 128 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,124 :: Soft_I2C_Write (0xA8); // multiplexer + MOVLW 168 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,125 :: Soft_I2C_Write (63); // + MOVLW 63 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,127 :: Soft_I2C_Write (0xD3); // offset + MOVLW 211 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,128 :: Soft_I2C_Write (shift_line); // no offset for x64 ! + MOVF oled_control_shift_line+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,130 :: Soft_I2C_Write (0x40); // set line, line = 0 + MOVLW 64 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,132 :: Soft_I2C_Write (0x8D); // charge pump + MOVLW 141 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,133 :: Soft_I2C_Write (0x14); // 0x10 - external, 0x14 - internal + MOVLW 20 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,135 :: Soft_I2C_Write (0x81); // contrast + MOVLW 129 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,136 :: Soft_I2C_Write (255); // 0-255 + MOVLW 255 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,138 :: Soft_I2C_Write (0xD9); // pre-charge + MOVLW 217 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,139 :: Soft_I2C_Write (0xf1); // 0x22 - external, 0xF1 - internal + MOVLW 241 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,141 :: Soft_I2C_Write (0x20); // memory addressing mode + MOVLW 32 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,142 :: Soft_I2C_Write (0x02); // page addressing mode 02 + MOVLW 2 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,144 :: Soft_I2C_Write (0x21); // set column range + MOVLW 33 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,145 :: Soft_I2C_Write (0); // column start + CLRF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,146 :: Soft_I2C_Write (127); // column stop + MOVLW 127 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,148 :: Soft_I2C_Write (0x2E); // stop scrolling + MOVLW 46 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,150 :: if(led_type==4) { + MOVF oled_control_led_type+0, 0 + XORLW 4 + BTFSS STATUS+0, 2 + GOTO L_oled_init17 +;oled_control.c,151 :: Soft_I2C_Write (0xA0); // segment re-map, A0 - normal, A1 - remapped + MOVLW 160 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,153 :: Soft_I2C_Write (0xC0); // scan direction, C0 - normal, C8 - remapped + MOVLW 192 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,154 :: } + GOTO L_oled_init18 +L_oled_init17: +;oled_control.c,156 :: Soft_I2C_Write (0xA1); // segment re-map, A0 - normal, A1 - remapped + MOVLW 161 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,158 :: Soft_I2C_Write (0xC8); // scan direction, C0 - normal, C8 - remapped + MOVLW 200 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,159 :: } +L_oled_init18: +;oled_control.c,161 :: Soft_I2C_Write (0xDA); // COM pins configure + MOVLW 218 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,162 :: Soft_I2C_Write (0x12); // 12 for x64 + MOVLW 18 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,164 :: Soft_I2C_Write (0xDB); // V-COM detect + MOVLW 219 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,165 :: Soft_I2C_Write (0x40); // + MOVLW 64 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,166 :: } +L_oled_init16: +;oled_control.c,167 :: Soft_I2C_Write (0xA4); // display entire ON + MOVLW 164 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,169 :: Soft_I2C_Write (0xA6); // 0xA6 - normal, 0xA7 - inverse + MOVLW 166 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,171 :: Soft_I2C_Stop (); + CALL _Soft_I2C_Stop+0, 0 +;oled_control.c,175 :: Delay_ms(100); + MOVLW 3 + MOVWF R11, 0 + MOVLW 8 + MOVWF R12, 0 + MOVLW 119 + MOVWF R13, 0 +L_oled_init19: + DECFSZ R13, 1, 1 + BRA L_oled_init19 + DECFSZ R12, 1, 1 + BRA L_oled_init19 + DECFSZ R11, 1, 1 + BRA L_oled_init19 +;oled_control.c,176 :: Soft_I2C_Start(); + CALL _Soft_I2C_Start+0, 0 +;oled_control.c,177 :: Soft_I2C_Write(led_addr); // device addres + MOVF oled_control_led_addr+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,178 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data + MOVLW 64 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,180 :: if(led_type==2 | led_type==3) { // 128*32 OLED + MOVF oled_control_led_type+0, 0 + XORLW 2 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF oled_control_led_type+0, 0 + XORLW 3 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_oled_init20 +;oled_control.c,181 :: for (r = 0; r <=3; r++) { + CLRF oled_init_r_L0+0 +L_oled_init21: + MOVF oled_init_r_L0+0, 0 + SUBLW 3 + BTFSS STATUS+0, 0 + GOTO L_oled_init22 +;oled_control.c,182 :: set_addressing (r, 0); // clear all 4 pages + MOVF oled_init_r_L0+0, 0 + MOVWF FARG_set_addressing+0 + CLRF FARG_set_addressing+0 + CALL _set_addressing+0, 0 +;oled_control.c,183 :: for (i = 0; i < 128; i++, Soft_I2C_Write(0)); // clear one page pixels + CLRF oled_init_i_L0+0 +L_oled_init24: + MOVLW 128 + SUBWF oled_init_i_L0+0, 0 + BTFSC STATUS+0, 0 + GOTO L_oled_init25 + INCF oled_init_i_L0+0, 1 + CLRF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 + GOTO L_oled_init24 +L_oled_init25: +;oled_control.c,181 :: for (r = 0; r <=3; r++) { + INCF oled_init_r_L0+0, 1 +;oled_control.c,184 :: } + GOTO L_oled_init21 +L_oled_init22: +;oled_control.c,185 :: } + GOTO L_oled_init27 +L_oled_init20: +;oled_control.c,187 :: for (r = 0; r <=7; r++) { + CLRF oled_init_r_L0+0 +L_oled_init28: + MOVF oled_init_r_L0+0, 0 + SUBLW 7 + BTFSS STATUS+0, 0 + GOTO L_oled_init29 +;oled_control.c,188 :: set_addressing (r, 0); // clear all 8 pages + MOVF oled_init_r_L0+0, 0 + MOVWF FARG_set_addressing+0 + CLRF FARG_set_addressing+0 + CALL _set_addressing+0, 0 +;oled_control.c,189 :: for (i = 0; i < 128; i++, Soft_I2C_Write(0x00)); // clear one page pixels + CLRF oled_init_i_L0+0 +L_oled_init31: + MOVLW 128 + SUBWF oled_init_i_L0+0, 0 + BTFSC STATUS+0, 0 + GOTO L_oled_init32 + INCF oled_init_i_L0+0, 1 + CLRF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 + GOTO L_oled_init31 +L_oled_init32: +;oled_control.c,187 :: for (r = 0; r <=7; r++) { + INCF oled_init_r_L0+0, 1 +;oled_control.c,190 :: } + GOTO L_oled_init28 +L_oled_init29: +;oled_control.c,192 :: } +L_oled_init27: +;oled_control.c,194 :: Soft_I2C_Stop (); + CALL _Soft_I2C_Stop+0, 0 +;oled_control.c,195 :: send_command (0xAF); // display ON + MOVLW 175 + MOVWF FARG_send_command+0 + CALL _send_command+0, 0 +;oled_control.c,198 :: } +L_end_oled_init: + RETURN 0 +; end of _oled_init + +_dysp_on: + +;oled_control.c,200 :: void dysp_on() { +;oled_control.c,201 :: if(led_type > 1) send_command(0xAF); // display ON + MOVF oled_control_led_type+0, 0 + SUBLW 1 + BTFSC STATUS+0, 0 + GOTO L_dysp_on34 + MOVLW 175 + MOVWF FARG_send_command+0 + CALL _send_command+0, 0 + GOTO L_dysp_on35 +L_dysp_on34: +;oled_control.c,202 :: else if(led_type==1) { + MOVF oled_control_led_type+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_dysp_on36 +;oled_control.c,203 :: LED = 1; + MOVLW 1 + MOVWF oled_control_LED+0 +;oled_control.c,204 :: RS = 0; + CLRF oled_control_RS+0 +;oled_control.c,205 :: led_send(0); + CLRF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,206 :: led_send(0); + CLRF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,207 :: } +L_dysp_on36: +L_dysp_on35: +;oled_control.c,208 :: } +L_end_dysp_on: + RETURN 0 +; end of _dysp_on + +_dysp_off: + +;oled_control.c,210 :: void dysp_off() { +;oled_control.c,211 :: if(led_type > 1) send_command(0xAE); // display OFF + MOVF oled_control_led_type+0, 0 + SUBLW 1 + BTFSC STATUS+0, 0 + GOTO L_dysp_off37 + MOVLW 174 + MOVWF FARG_send_command+0 + CALL _send_command+0, 0 + GOTO L_dysp_off38 +L_dysp_off37: +;oled_control.c,212 :: else if(led_type==1) { + MOVF oled_control_led_type+0, 0 + XORLW 1 + BTFSS STATUS+0, 2 + GOTO L_dysp_off39 +;oled_control.c,213 :: LED = 0; + CLRF oled_control_LED+0 +;oled_control.c,214 :: RS = 0; + CLRF oled_control_RS+0 +;oled_control.c,215 :: led_send(0); + CLRF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,216 :: led_send(0); + CLRF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,217 :: } +L_dysp_off39: +L_dysp_off38: +;oled_control.c,218 :: } +L_end_dysp_off: + RETURN 0 +; end of _dysp_off + +_send_command: + +;oled_control.c,221 :: void send_command (char oled_command) { +;oled_control.c,222 :: Soft_I2C_Start(); + CALL _Soft_I2C_Start+0, 0 +;oled_control.c,223 :: Soft_I2C_Write(led_addr); // device addres + MOVF oled_control_led_addr+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,224 :: Soft_I2C_Write(128); // 128 - command, 192 - data + MOVLW 128 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,225 :: Soft_I2C_Write(oled_command); + MOVF FARG_send_command_oled_command+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,226 :: Soft_I2C_Stop(); + CALL _Soft_I2C_Stop+0, 0 +;oled_control.c,227 :: } +L_end_send_command: + RETURN 0 +; end of _send_command + +_set_addressing: + +;oled_control.c,229 :: void set_addressing (char pagenum, char c_start) { +;oled_control.c,231 :: c = c_start + oled_shift; + MOVF oled_control_oled_shift+0, 0 + ADDWF FARG_set_addressing_c_start+0, 0 + MOVWF set_addressing_c_L0+0 +;oled_control.c,232 :: Soft_I2C_Start(); + CALL _Soft_I2C_Start+0, 0 +;oled_control.c,233 :: Soft_I2C_Write(led_addr); // device addres + MOVF oled_control_led_addr+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,234 :: Soft_I2C_Write(0); // 0 - continious mode, command; 64 - Co, data + CLRF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,235 :: Soft_I2C_Write(0xB0 + pagenum); // set page number + MOVF FARG_set_addressing_pagenum+0, 0 + ADDLW 176 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,237 :: if (c <= 15) { a = c; b = 0; } + MOVF set_addressing_c_L0+0, 0 + SUBLW 15 + BTFSS STATUS+0, 0 + GOTO L_set_addressing40 + MOVF set_addressing_c_L0+0, 0 + MOVWF set_addressing_a_L0+0 + CLRF set_addressing_b_L0+0 + GOTO L_set_addressing41 +L_set_addressing40: +;oled_control.c,238 :: else { b = c / 16; a = c - b * 16; } + MOVF set_addressing_c_L0+0, 0 + MOVWF R2 + RRCF R2, 1 + BCF R2, 7 + RRCF R2, 1 + BCF R2, 7 + RRCF R2, 1 + BCF R2, 7 + RRCF R2, 1 + BCF R2, 7 + MOVF R2, 0 + MOVWF set_addressing_b_L0+0 + MOVF R2, 0 + MOVWF R0 + RLCF R0, 1 + BCF R0, 0 + RLCF R0, 1 + BCF R0, 0 + RLCF R0, 1 + BCF R0, 0 + RLCF R0, 1 + BCF R0, 0 + MOVF R0, 0 + SUBWF set_addressing_c_L0+0, 0 + MOVWF set_addressing_a_L0+0 +L_set_addressing41: +;oled_control.c,239 :: Soft_I2C_Write (a); // set lower nibble of start address + MOVF set_addressing_a_L0+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,240 :: Soft_I2C_Write (0x10 + b); // set higher nibble of start address + MOVF set_addressing_b_L0+0, 0 + ADDLW 16 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,242 :: Soft_I2C_Start(); + CALL _Soft_I2C_Start+0, 0 +;oled_control.c,243 :: Soft_I2C_Write(led_addr); // device addres + MOVF oled_control_led_addr+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,244 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data + MOVLW 64 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,245 :: } +L_end_set_addressing: + RETURN 0 +; end of _set_addressing + +_led_wr_str: + +;oled_control.c,249 :: void led_wr_str (char col, char pos, char str[], char leng ) { // +;oled_control.c,251 :: if(led_type==4 | led_type==5) oled_wr_str(pos, col, str, leng); // 128*64 OLED display + MOVF oled_control_led_type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF oled_control_led_type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_led_wr_str42 + MOVF FARG_led_wr_str_pos+0, 0 + MOVWF FARG_oled_wr_str+0 + MOVF FARG_led_wr_str_col+0, 0 + MOVWF FARG_oled_wr_str+0 + MOVF FARG_led_wr_str_str+0, 0 + MOVWF FARG_oled_wr_str+0 + MOVF FARG_led_wr_str_str+1, 0 + MOVWF FARG_oled_wr_str+1 + MOVF FARG_led_wr_str_leng+0, 0 + MOVWF FARG_oled_wr_str+0 + CALL _oled_wr_str+0, 0 + GOTO L_led_wr_str43 +L_led_wr_str42: +;oled_control.c,252 :: else if(led_type==2 | led_type==3) oled_wr_str(7*pos+4, col*2, str, leng); // 128*32 OLED display + MOVF oled_control_led_type+0, 0 + XORLW 2 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF oled_control_led_type+0, 0 + XORLW 3 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_led_wr_str44 + MOVLW 7 + MULWF FARG_led_wr_str_pos+0 + MOVF PRODL+0, 0 + MOVWF FARG_oled_wr_str+0 + MOVLW 4 + ADDWF FARG_oled_wr_str+0, 1 + MOVF FARG_led_wr_str_col+0, 0 + MOVWF FARG_oled_wr_str+0 + RLCF FARG_oled_wr_str+0, 1 + BCF FARG_oled_wr_str+0, 0 + MOVF FARG_led_wr_str_str+0, 0 + MOVWF FARG_oled_wr_str+0 + MOVF FARG_led_wr_str_str+1, 0 + MOVWF FARG_oled_wr_str+1 + MOVF FARG_led_wr_str_leng+0, 0 + MOVWF FARG_oled_wr_str+0 + CALL _oled_wr_str+0, 0 + GOTO L_led_wr_str45 +L_led_wr_str44: +;oled_control.c,255 :: RS = 0; + CLRF oled_control_RS+0 +;oled_control.c,256 :: led_send(8 + col*4); + MOVF FARG_led_wr_str_col+0, 0 + MOVWF R0 + RLCF R0, 1 + BCF R0, 0 + RLCF R0, 1 + BCF R0, 0 + MOVF R0, 0 + ADDLW 8 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,257 :: led_send(pos); + MOVF FARG_led_wr_str_pos+0, 0 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,259 :: RS = 1; + MOVLW 1 + MOVWF oled_control_RS+0 +;oled_control.c,260 :: for (i = 0; i < leng; i++) { // write string + CLRF led_wr_str_i_L0+0 +L_led_wr_str46: + MOVF FARG_led_wr_str_leng+0, 0 + SUBWF led_wr_str_i_L0+0, 0 + BTFSC STATUS+0, 0 + GOTO L_led_wr_str47 +;oled_control.c,262 :: led_send(str[i] >> 4); + MOVF led_wr_str_i_L0+0, 0 + ADDWF FARG_led_wr_str_str+0, 0 + MOVWF FSR0L+0 + MOVLW 0 + ADDWFC FARG_led_wr_str_str+1, 0 + MOVWF FSR0L+1 + MOVF POSTINC0+0, 0 + MOVWF R1 + MOVF R1, 0 + MOVWF FARG_led_send_nible+0 + RRCF FARG_led_send_nible+0, 1 + BCF FARG_led_send_nible+0, 7 + RRCF FARG_led_send_nible+0, 1 + BCF FARG_led_send_nible+0, 7 + RRCF FARG_led_send_nible+0, 1 + BCF FARG_led_send_nible+0, 7 + RRCF FARG_led_send_nible+0, 1 + BCF FARG_led_send_nible+0, 7 + CALL _led_send+0, 0 +;oled_control.c,263 :: led_send(str[i]); + MOVF led_wr_str_i_L0+0, 0 + ADDWF FARG_led_wr_str_str+0, 0 + MOVWF FSR0L+0 + MOVLW 0 + ADDWFC FARG_led_wr_str_str+1, 0 + MOVWF FSR0L+1 + MOVF POSTINC0+0, 0 + MOVWF FARG_led_send_nible+0 + CALL _led_send+0, 0 +;oled_control.c,260 :: for (i = 0; i < leng; i++) { // write string + INCF led_wr_str_i_L0+0, 1 +;oled_control.c,264 :: } + GOTO L_led_wr_str46 +L_led_wr_str47: +;oled_control.c,266 :: } +L_led_wr_str45: +L_led_wr_str43: +;oled_control.c,267 :: } +L_end_led_wr_str: + RETURN 0 +; end of _led_wr_str + +_oled_wr_str: + +;oled_control.c,270 :: void oled_wr_str (char col, char page, char str[], char leng ) { // 128*32 or 128*64 OLED +;oled_control.c,272 :: Soft_I2C_Start(); + CALL _Soft_I2C_Start+0, 0 +;oled_control.c,273 :: Soft_I2C_Write(led_addr); // device addres + MOVF oled_control_led_addr+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,274 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data + MOVLW 64 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,276 :: set_addressing (page, col); + MOVF FARG_oled_wr_str_page+0, 0 + MOVWF FARG_set_addressing_pagenum+0 + MOVF FARG_oled_wr_str_col+0, 0 + MOVWF FARG_set_addressing_c_start+0 + CALL _set_addressing+0, 0 +;oled_control.c,278 :: for (i = 0; i < leng; i++) { // write string + CLRF oled_wr_str_i_L0+0 +L_oled_wr_str49: + MOVF FARG_oled_wr_str_leng+0, 0 + SUBWF oled_wr_str_i_L0+0, 0 + BTFSC STATUS+0, 0 + GOTO L_oled_wr_str50 +;oled_control.c,279 :: if (str[i] == 0) g = 0; else g = str[i] - 32; // NULL detection + MOVF oled_wr_str_i_L0+0, 0 + ADDWF FARG_oled_wr_str_str+0, 0 + MOVWF FSR0L+0 + MOVLW 0 + ADDWFC FARG_oled_wr_str_str+1, 0 + MOVWF FSR0L+1 + MOVF POSTINC0+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_oled_wr_str52 + CLRF oled_wr_str_g_L0+0 + GOTO L_oled_wr_str53 +L_oled_wr_str52: + MOVF oled_wr_str_i_L0+0, 0 + ADDWF FARG_oled_wr_str_str+0, 0 + MOVWF FSR0L+0 + MOVLW 0 + ADDWFC FARG_oled_wr_str_str+1, 0 + MOVWF FSR0L+1 + MOVLW 32 + SUBWF POSTINC0+0, 0 + MOVWF oled_wr_str_g_L0+0 +L_oled_wr_str53: +;oled_control.c,280 :: for (h = 0; h <= 4; h++) { // write letter + CLRF oled_wr_str_h_L0+0 +L_oled_wr_str54: + MOVF oled_wr_str_h_L0+0, 0 + SUBLW 4 + BTFSS STATUS+0, 0 + GOTO L_oled_wr_str55 +;oled_control.c,281 :: w1 = font5x8[g*5+h]; + MOVLW 5 + MULWF oled_wr_str_g_L0+0 + MOVF PRODL+0, 0 + MOVWF R0 + MOVF PRODH+0, 0 + MOVWF R1 + MOVF oled_wr_str_h_L0+0, 0 + ADDWF R0, 1 + MOVLW 0 + ADDWFC R1, 1 + MOVLW oled_control_font5x8+0 + ADDWF R0, 0 + MOVWF TBLPTR+0 + MOVLW hi_addr(oled_control_font5x8+0) + ADDWFC R1, 0 + MOVWF TBLPTR+1 + MOVLW higher_addr(oled_control_font5x8+0) + MOVWF TBLPTR+2 + MOVLW 0 + BTFSC R1, 7 + MOVLW 255 + ADDWFC TBLPTR+2, 1 + TBLRD*+ + MOVFF TABLAT+0, oled_wr_str_w1_L0+0 +;oled_control.c,282 :: if(page!=2 & page!=4 & page!=6) { + MOVF FARG_oled_wr_str_page+0, 0 + XORLW 2 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF FARG_oled_wr_str_page+0, 0 + XORLW 4 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R0, 0 + ANDWF R1, 1 + MOVF FARG_oled_wr_str_page+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_oled_wr_str57 +;oled_control.c,283 :: w2.B7 = w1.B3; + BTFSC oled_wr_str_w1_L0+0, 3 + GOTO L__oled_wr_str103 + BCF oled_wr_str_w2_L0+0, 7 + GOTO L__oled_wr_str104 +L__oled_wr_str103: + BSF oled_wr_str_w2_L0+0, 7 +L__oled_wr_str104: +;oled_control.c,284 :: w2.B6 = w1.B3; + BTFSC oled_wr_str_w1_L0+0, 3 + GOTO L__oled_wr_str105 + BCF oled_wr_str_w2_L0+0, 6 + GOTO L__oled_wr_str106 +L__oled_wr_str105: + BSF oled_wr_str_w2_L0+0, 6 +L__oled_wr_str106: +;oled_control.c,285 :: w2.B5 = w1.B2; + BTFSC oled_wr_str_w1_L0+0, 2 + GOTO L__oled_wr_str107 + BCF oled_wr_str_w2_L0+0, 5 + GOTO L__oled_wr_str108 +L__oled_wr_str107: + BSF oled_wr_str_w2_L0+0, 5 +L__oled_wr_str108: +;oled_control.c,286 :: w2.B4 = w1.B2; + BTFSC oled_wr_str_w1_L0+0, 2 + GOTO L__oled_wr_str109 + BCF oled_wr_str_w2_L0+0, 4 + GOTO L__oled_wr_str110 +L__oled_wr_str109: + BSF oled_wr_str_w2_L0+0, 4 +L__oled_wr_str110: +;oled_control.c,287 :: w2.B3 = w1.B1; + BTFSC oled_wr_str_w1_L0+0, 1 + GOTO L__oled_wr_str111 + BCF oled_wr_str_w2_L0+0, 3 + GOTO L__oled_wr_str112 +L__oled_wr_str111: + BSF oled_wr_str_w2_L0+0, 3 +L__oled_wr_str112: +;oled_control.c,288 :: w2.B2 = w1.B1; + BTFSC oled_wr_str_w1_L0+0, 1 + GOTO L__oled_wr_str113 + BCF oled_wr_str_w2_L0+0, 2 + GOTO L__oled_wr_str114 +L__oled_wr_str113: + BSF oled_wr_str_w2_L0+0, 2 +L__oled_wr_str114: +;oled_control.c,289 :: w2.B1 = w1.B0; + BTFSC oled_wr_str_w1_L0+0, 0 + GOTO L__oled_wr_str115 + BCF oled_wr_str_w2_L0+0, 1 + GOTO L__oled_wr_str116 +L__oled_wr_str115: + BSF oled_wr_str_w2_L0+0, 1 +L__oled_wr_str116: +;oled_control.c,290 :: w2.B0 = w1.B0; } + BTFSC oled_wr_str_w1_L0+0, 0 + GOTO L__oled_wr_str117 + BCF oled_wr_str_w2_L0+0, 0 + GOTO L__oled_wr_str118 +L__oled_wr_str117: + BSF oled_wr_str_w2_L0+0, 0 +L__oled_wr_str118: + GOTO L_oled_wr_str58 +L_oled_wr_str57: +;oled_control.c,292 :: w2.B7 = w1.B2; + BTFSC oled_wr_str_w1_L0+0, 2 + GOTO L__oled_wr_str119 + BCF oled_wr_str_w2_L0+0, 7 + GOTO L__oled_wr_str120 +L__oled_wr_str119: + BSF oled_wr_str_w2_L0+0, 7 +L__oled_wr_str120: +;oled_control.c,293 :: w2.B6 = w1.B2; + BTFSC oled_wr_str_w1_L0+0, 2 + GOTO L__oled_wr_str121 + BCF oled_wr_str_w2_L0+0, 6 + GOTO L__oled_wr_str122 +L__oled_wr_str121: + BSF oled_wr_str_w2_L0+0, 6 +L__oled_wr_str122: +;oled_control.c,294 :: w2.B5 = w1.B1; + BTFSC oled_wr_str_w1_L0+0, 1 + GOTO L__oled_wr_str123 + BCF oled_wr_str_w2_L0+0, 5 + GOTO L__oled_wr_str124 +L__oled_wr_str123: + BSF oled_wr_str_w2_L0+0, 5 +L__oled_wr_str124: +;oled_control.c,295 :: w2.B4 = w1.B1; + BTFSC oled_wr_str_w1_L0+0, 1 + GOTO L__oled_wr_str125 + BCF oled_wr_str_w2_L0+0, 4 + GOTO L__oled_wr_str126 +L__oled_wr_str125: + BSF oled_wr_str_w2_L0+0, 4 +L__oled_wr_str126: +;oled_control.c,296 :: w2.B3 = w1.B0; + BTFSC oled_wr_str_w1_L0+0, 0 + GOTO L__oled_wr_str127 + BCF oled_wr_str_w2_L0+0, 3 + GOTO L__oled_wr_str128 +L__oled_wr_str127: + BSF oled_wr_str_w2_L0+0, 3 +L__oled_wr_str128: +;oled_control.c,297 :: w2.B2 = w1.B0; + BTFSC oled_wr_str_w1_L0+0, 0 + GOTO L__oled_wr_str129 + BCF oled_wr_str_w2_L0+0, 2 + GOTO L__oled_wr_str130 +L__oled_wr_str129: + BSF oled_wr_str_w2_L0+0, 2 +L__oled_wr_str130: +;oled_control.c,298 :: w2.B1 = 0; + BCF oled_wr_str_w2_L0+0, 1 +;oled_control.c,299 :: w2.B0 = 0; + BCF oled_wr_str_w2_L0+0, 0 +;oled_control.c,300 :: } +L_oled_wr_str58: +;oled_control.c,301 :: Soft_I2C_Write(w2); + MOVF oled_wr_str_w2_L0+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,302 :: if(led_type==4 | led_type==5) Soft_I2C_Write(w2); // 128*64 + MOVF oled_control_led_type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF oled_control_led_type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_oled_wr_str59 + MOVF oled_wr_str_w2_L0+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +L_oled_wr_str59: +;oled_control.c,280 :: for (h = 0; h <= 4; h++) { // write letter + INCF oled_wr_str_h_L0+0, 1 +;oled_control.c,303 :: } + GOTO L_oled_wr_str54 +L_oled_wr_str55: +;oled_control.c,304 :: Soft_I2C_Write (0); + CLRF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,305 :: Soft_I2C_Write (0); + CLRF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,278 :: for (i = 0; i < leng; i++) { // write string + INCF oled_wr_str_i_L0+0, 1 +;oled_control.c,307 :: } + GOTO L_oled_wr_str49 +L_oled_wr_str50: +;oled_control.c,308 :: set_addressing (page+1, col); + MOVF FARG_oled_wr_str_page+0, 0 + ADDLW 1 + MOVWF FARG_set_addressing_pagenum+0 + MOVF FARG_oled_wr_str_col+0, 0 + MOVWF FARG_set_addressing_c_start+0 + CALL _set_addressing+0, 0 +;oled_control.c,310 :: for (i = 0; i < leng; i++) { // write string + CLRF oled_wr_str_i_L0+0 +L_oled_wr_str60: + MOVF FARG_oled_wr_str_leng+0, 0 + SUBWF oled_wr_str_i_L0+0, 0 + BTFSC STATUS+0, 0 + GOTO L_oled_wr_str61 +;oled_control.c,311 :: if (str[i] == 0) g = 0; else g = str[i] - 32; // NULL detection + MOVF oled_wr_str_i_L0+0, 0 + ADDWF FARG_oled_wr_str_str+0, 0 + MOVWF FSR0L+0 + MOVLW 0 + ADDWFC FARG_oled_wr_str_str+1, 0 + MOVWF FSR0L+1 + MOVF POSTINC0+0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_oled_wr_str63 + CLRF oled_wr_str_g_L0+0 + GOTO L_oled_wr_str64 +L_oled_wr_str63: + MOVF oled_wr_str_i_L0+0, 0 + ADDWF FARG_oled_wr_str_str+0, 0 + MOVWF FSR0L+0 + MOVLW 0 + ADDWFC FARG_oled_wr_str_str+1, 0 + MOVWF FSR0L+1 + MOVLW 32 + SUBWF POSTINC0+0, 0 + MOVWF oled_wr_str_g_L0+0 +L_oled_wr_str64: +;oled_control.c,312 :: for (h = 0; h <= 4; h++) { // write letter + CLRF oled_wr_str_h_L0+0 +L_oled_wr_str65: + MOVF oled_wr_str_h_L0+0, 0 + SUBLW 4 + BTFSS STATUS+0, 0 + GOTO L_oled_wr_str66 +;oled_control.c,313 :: w1 = font5x8[g*5+h]; + MOVLW 5 + MULWF oled_wr_str_g_L0+0 + MOVF PRODL+0, 0 + MOVWF R0 + MOVF PRODH+0, 0 + MOVWF R1 + MOVF oled_wr_str_h_L0+0, 0 + ADDWF R0, 1 + MOVLW 0 + ADDWFC R1, 1 + MOVLW oled_control_font5x8+0 + ADDWF R0, 0 + MOVWF TBLPTR+0 + MOVLW hi_addr(oled_control_font5x8+0) + ADDWFC R1, 0 + MOVWF TBLPTR+1 + MOVLW higher_addr(oled_control_font5x8+0) + MOVWF TBLPTR+2 + MOVLW 0 + BTFSC R1, 7 + MOVLW 255 + ADDWFC TBLPTR+2, 1 + TBLRD*+ + MOVFF TABLAT+0, oled_wr_str_w1_L0+0 +;oled_control.c,314 :: if(page!=2 & page!=4 & page!=6) { + MOVF FARG_oled_wr_str_page+0, 0 + XORLW 2 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R1 + MOVF FARG_oled_wr_str_page+0, 0 + XORLW 4 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R0, 0 + ANDWF R1, 1 + MOVF FARG_oled_wr_str_page+0, 0 + XORLW 6 + MOVLW 0 + BTFSS STATUS+0, 2 + MOVLW 1 + MOVWF R0 + MOVF R1, 0 + ANDWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_oled_wr_str68 +;oled_control.c,315 :: w2.B7 = w1.B7; + BTFSC oled_wr_str_w1_L0+0, 7 + GOTO L__oled_wr_str131 + BCF oled_wr_str_w2_L0+0, 7 + GOTO L__oled_wr_str132 +L__oled_wr_str131: + BSF oled_wr_str_w2_L0+0, 7 +L__oled_wr_str132: +;oled_control.c,316 :: w2.B6 = w1.B7; + BTFSC oled_wr_str_w1_L0+0, 7 + GOTO L__oled_wr_str133 + BCF oled_wr_str_w2_L0+0, 6 + GOTO L__oled_wr_str134 +L__oled_wr_str133: + BSF oled_wr_str_w2_L0+0, 6 +L__oled_wr_str134: +;oled_control.c,317 :: w2.B5 = w1.B6; + BTFSC oled_wr_str_w1_L0+0, 6 + GOTO L__oled_wr_str135 + BCF oled_wr_str_w2_L0+0, 5 + GOTO L__oled_wr_str136 +L__oled_wr_str135: + BSF oled_wr_str_w2_L0+0, 5 +L__oled_wr_str136: +;oled_control.c,318 :: w2.B4 = w1.B6; + BTFSC oled_wr_str_w1_L0+0, 6 + GOTO L__oled_wr_str137 + BCF oled_wr_str_w2_L0+0, 4 + GOTO L__oled_wr_str138 +L__oled_wr_str137: + BSF oled_wr_str_w2_L0+0, 4 +L__oled_wr_str138: +;oled_control.c,319 :: w2.B3 = w1.B5; + BTFSC oled_wr_str_w1_L0+0, 5 + GOTO L__oled_wr_str139 + BCF oled_wr_str_w2_L0+0, 3 + GOTO L__oled_wr_str140 +L__oled_wr_str139: + BSF oled_wr_str_w2_L0+0, 3 +L__oled_wr_str140: +;oled_control.c,320 :: w2.B2 = w1.B5; + BTFSC oled_wr_str_w1_L0+0, 5 + GOTO L__oled_wr_str141 + BCF oled_wr_str_w2_L0+0, 2 + GOTO L__oled_wr_str142 +L__oled_wr_str141: + BSF oled_wr_str_w2_L0+0, 2 +L__oled_wr_str142: +;oled_control.c,321 :: w2.B1 = w1.B4; + BTFSC oled_wr_str_w1_L0+0, 4 + GOTO L__oled_wr_str143 + BCF oled_wr_str_w2_L0+0, 1 + GOTO L__oled_wr_str144 +L__oled_wr_str143: + BSF oled_wr_str_w2_L0+0, 1 +L__oled_wr_str144: +;oled_control.c,322 :: w2.B0 = w1.B4; } + BTFSC oled_wr_str_w1_L0+0, 4 + GOTO L__oled_wr_str145 + BCF oled_wr_str_w2_L0+0, 0 + GOTO L__oled_wr_str146 +L__oled_wr_str145: + BSF oled_wr_str_w2_L0+0, 0 +L__oled_wr_str146: + GOTO L_oled_wr_str69 +L_oled_wr_str68: +;oled_control.c,324 :: w2.B7 = w1.B6; + BTFSC oled_wr_str_w1_L0+0, 6 + GOTO L__oled_wr_str147 + BCF oled_wr_str_w2_L0+0, 7 + GOTO L__oled_wr_str148 +L__oled_wr_str147: + BSF oled_wr_str_w2_L0+0, 7 +L__oled_wr_str148: +;oled_control.c,325 :: w2.B6 = w1.B6; + BTFSC oled_wr_str_w1_L0+0, 6 + GOTO L__oled_wr_str149 + BCF oled_wr_str_w2_L0+0, 6 + GOTO L__oled_wr_str150 +L__oled_wr_str149: + BSF oled_wr_str_w2_L0+0, 6 +L__oled_wr_str150: +;oled_control.c,326 :: w2.B5 = w1.B5; + BTFSC oled_wr_str_w1_L0+0, 5 + GOTO L__oled_wr_str151 + BCF oled_wr_str_w2_L0+0, 5 + GOTO L__oled_wr_str152 +L__oled_wr_str151: + BSF oled_wr_str_w2_L0+0, 5 +L__oled_wr_str152: +;oled_control.c,327 :: w2.B4 = w1.B5; + BTFSC oled_wr_str_w1_L0+0, 5 + GOTO L__oled_wr_str153 + BCF oled_wr_str_w2_L0+0, 4 + GOTO L__oled_wr_str154 +L__oled_wr_str153: + BSF oled_wr_str_w2_L0+0, 4 +L__oled_wr_str154: +;oled_control.c,328 :: w2.B3 = w1.B4; + BTFSC oled_wr_str_w1_L0+0, 4 + GOTO L__oled_wr_str155 + BCF oled_wr_str_w2_L0+0, 3 + GOTO L__oled_wr_str156 +L__oled_wr_str155: + BSF oled_wr_str_w2_L0+0, 3 +L__oled_wr_str156: +;oled_control.c,329 :: w2.B2 = w1.B4; + BTFSC oled_wr_str_w1_L0+0, 4 + GOTO L__oled_wr_str157 + BCF oled_wr_str_w2_L0+0, 2 + GOTO L__oled_wr_str158 +L__oled_wr_str157: + BSF oled_wr_str_w2_L0+0, 2 +L__oled_wr_str158: +;oled_control.c,330 :: w2.B1 = w1.B3; + BTFSC oled_wr_str_w1_L0+0, 3 + GOTO L__oled_wr_str159 + BCF oled_wr_str_w2_L0+0, 1 + GOTO L__oled_wr_str160 +L__oled_wr_str159: + BSF oled_wr_str_w2_L0+0, 1 +L__oled_wr_str160: +;oled_control.c,331 :: w2.B0 = w1.B3; + BTFSC oled_wr_str_w1_L0+0, 3 + GOTO L__oled_wr_str161 + BCF oled_wr_str_w2_L0+0, 0 + GOTO L__oled_wr_str162 +L__oled_wr_str161: + BSF oled_wr_str_w2_L0+0, 0 +L__oled_wr_str162: +;oled_control.c,332 :: } +L_oled_wr_str69: +;oled_control.c,333 :: Soft_I2C_Write(w2); + MOVF oled_wr_str_w2_L0+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,334 :: if(led_type==4 | led_type==5) Soft_I2C_Write(w2); // 128*64 + MOVF oled_control_led_type+0, 0 + XORLW 4 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R1 + MOVF oled_control_led_type+0, 0 + XORLW 5 + MOVLW 1 + BTFSS STATUS+0, 2 + MOVLW 0 + MOVWF R0 + MOVF R1, 0 + IORWF R0, 1 + BTFSC STATUS+0, 2 + GOTO L_oled_wr_str70 + MOVF oled_wr_str_w2_L0+0, 0 + MOVWF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +L_oled_wr_str70: +;oled_control.c,312 :: for (h = 0; h <= 4; h++) { // write letter + INCF oled_wr_str_h_L0+0, 1 +;oled_control.c,335 :: } + GOTO L_oled_wr_str65 +L_oled_wr_str66: +;oled_control.c,336 :: Soft_I2C_Write (0); + CLRF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,337 :: Soft_I2C_Write (0); + CLRF FARG_Soft_I2C_Write+0 + CALL _Soft_I2C_Write+0, 0 +;oled_control.c,310 :: for (i = 0; i < leng; i++) { // write string + INCF oled_wr_str_i_L0+0, 1 +;oled_control.c,339 :: } + GOTO L_oled_wr_str60 +L_oled_wr_str61: +;oled_control.c,340 :: Soft_I2C_Stop (); + CALL _Soft_I2C_Stop+0, 0 +;oled_control.c,341 :: } +L_end_oled_wr_str: + RETURN 0 +; end of _oled_wr_str + +_Soft_I2C_Init: + +;oled_control.c,344 :: void Soft_I2C_Init () { +;oled_control.c,345 :: led_addr = EEPROM_read(0); // 4E,7E for 1602 or 78, 7A for OLED + CLRF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF oled_control_led_addr+0 +;oled_control.c,346 :: led_type = EEPROM_read(1); + MOVLW 1 + MOVWF FARG_EEPROM_Read_address+0 + CALL _EEPROM_Read+0, 0 + MOVF R0, 0 + MOVWF oled_control_led_type+0 +;oled_control.c,348 :: if(led_type==0) { + MOVF R0, 0 + XORLW 0 + BTFSS STATUS+0, 2 + GOTO L_Soft_I2C_Init71 +;oled_control.c,349 :: Soft_I2C_Scl_Direction = 0; + BCF TRISB6_bit+0, BitPos(TRISB6_bit+0) +;oled_control.c,350 :: Soft_I2C_Sda_Direction = 0; + BCF TRISB7_bit+0, BitPos(TRISB7_bit+0) +;oled_control.c,351 :: LATB.B6 = 1; + BSF LATB+0, 6 +;oled_control.c,352 :: LATB.B7 = 1; + BSF LATB+0, 7 +;oled_control.c,353 :: } + GOTO L_Soft_I2C_Init72 +L_Soft_I2C_Init71: +;oled_control.c,355 :: Soft_I2C_Scl_Direction = 1; + BSF TRISB6_bit+0, BitPos(TRISB6_bit+0) +;oled_control.c,356 :: Soft_I2C_Sda_Direction = 1; + BSF TRISB7_bit+0, BitPos(TRISB7_bit+0) +;oled_control.c,357 :: Soft_I2C_Scl = 0; + BCF LATB6_bit+0, BitPos(LATB6_bit+0) +;oled_control.c,358 :: Soft_I2C_Sda = 0; + BCF LATB7_bit+0, BitPos(LATB7_bit+0) +;oled_control.c,359 :: } +L_Soft_I2C_Init72: +;oled_control.c,360 :: } +L_end_Soft_I2C_Init: + RETURN 0 +; end of _Soft_I2C_Init + +_Soft_I2C_Start: + +;oled_control.c,362 :: void Soft_I2C_Start () { +;oled_control.c,363 :: if(led_type!=0) { + MOVF oled_control_led_type+0, 0 + XORLW 0 + BTFSC STATUS+0, 2 + GOTO L_Soft_I2C_Start73 +;oled_control.c,364 :: Soft_I2C_Scl_Direction = 1; + BSF TRISB6_bit+0, BitPos(TRISB6_bit+0) +;oled_control.c,365 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Start74: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Start74 + NOP +;oled_control.c,366 :: Soft_I2C_Sda_Direction = 1; + BSF TRISB7_bit+0, BitPos(TRISB7_bit+0) +;oled_control.c,367 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Start75: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Start75 + NOP +;oled_control.c,368 :: Soft_I2C_Sda_Direction = 0; + BCF TRISB7_bit+0, BitPos(TRISB7_bit+0) +;oled_control.c,369 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Start76: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Start76 + NOP +;oled_control.c,370 :: Soft_I2C_Scl_Direction = 0; + BCF TRISB6_bit+0, BitPos(TRISB6_bit+0) +;oled_control.c,371 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Start77: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Start77 + NOP +;oled_control.c,372 :: } +L_Soft_I2C_Start73: +;oled_control.c,373 :: } +L_end_Soft_I2C_Start: + RETURN 0 +; end of _Soft_I2C_Start + +_Soft_I2C_Write: + +;oled_control.c,375 :: void Soft_I2C_Write (char d) { +;oled_control.c,377 :: if(led_type!=0) { + MOVF oled_control_led_type+0, 0 + XORLW 0 + BTFSC STATUS+0, 2 + GOTO L_Soft_I2C_Write78 +;oled_control.c,378 :: for(i=0; i<=7; i++) { + CLRF R1 +L_Soft_I2C_Write79: + MOVF R1, 0 + SUBLW 7 + BTFSS STATUS+0, 0 + GOTO L_Soft_I2C_Write80 +;oled_control.c,379 :: if(d.B7==0) Soft_I2C_Sda_Direction = 0; else Soft_I2C_Sda_Direction = 1; + BTFSC FARG_Soft_I2C_Write_d+0, 7 + GOTO L_Soft_I2C_Write82 + BCF TRISB7_bit+0, BitPos(TRISB7_bit+0) + GOTO L_Soft_I2C_Write83 +L_Soft_I2C_Write82: + BSF TRISB7_bit+0, BitPos(TRISB7_bit+0) +L_Soft_I2C_Write83: +;oled_control.c,380 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Write84: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Write84 + NOP +;oled_control.c,381 :: Soft_I2C_Scl_Direction = 1; + BSF TRISB6_bit+0, BitPos(TRISB6_bit+0) +;oled_control.c,382 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Write85: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Write85 + NOP +;oled_control.c,383 :: Soft_I2C_Scl_Direction = 0; + BCF TRISB6_bit+0, BitPos(TRISB6_bit+0) +;oled_control.c,384 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Write86: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Write86 + NOP +;oled_control.c,385 :: d = d << 1; + RLCF FARG_Soft_I2C_Write_d+0, 1 + BCF FARG_Soft_I2C_Write_d+0, 0 +;oled_control.c,378 :: for(i=0; i<=7; i++) { + INCF R1, 1 +;oled_control.c,386 :: } + GOTO L_Soft_I2C_Write79 +L_Soft_I2C_Write80: +;oled_control.c,388 :: Soft_I2C_Sda_Direction = 1; //ACK + BSF TRISB7_bit+0, BitPos(TRISB7_bit+0) +;oled_control.c,389 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Write87: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Write87 + NOP +;oled_control.c,390 :: Soft_I2C_Scl_Direction = 1; + BSF TRISB6_bit+0, BitPos(TRISB6_bit+0) +;oled_control.c,391 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Write88: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Write88 + NOP +;oled_control.c,392 :: Soft_I2C_Scl_Direction = 0; + BCF TRISB6_bit+0, BitPos(TRISB6_bit+0) +;oled_control.c,393 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Write89: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Write89 + NOP +;oled_control.c,394 :: } +L_Soft_I2C_Write78: +;oled_control.c,395 :: } +L_end_Soft_I2C_Write: + RETURN 0 +; end of _Soft_I2C_Write + +_Soft_I2C_Stop: + +;oled_control.c,397 :: void Soft_I2C_Stop () { +;oled_control.c,398 :: if(led_type!=0) { + MOVF oled_control_led_type+0, 0 + XORLW 0 + BTFSC STATUS+0, 2 + GOTO L_Soft_I2C_Stop90 +;oled_control.c,399 :: Soft_I2C_Sda_Direction = 0; + BCF TRISB7_bit+0, BitPos(TRISB7_bit+0) +;oled_control.c,400 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Stop91: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Stop91 + NOP +;oled_control.c,401 :: Soft_I2C_Scl_Direction = 1; + BSF TRISB6_bit+0, BitPos(TRISB6_bit+0) +;oled_control.c,402 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Stop92: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Stop92 + NOP +;oled_control.c,403 :: Soft_I2C_Sda_Direction = 1; + BSF TRISB7_bit+0, BitPos(TRISB7_bit+0) +;oled_control.c,404 :: Delay_us(5); + MOVLW 6 + MOVWF R13, 0 +L_Soft_I2C_Stop93: + DECFSZ R13, 1, 1 + BRA L_Soft_I2C_Stop93 + NOP +;oled_control.c,405 :: } +L_Soft_I2C_Stop90: +;oled_control.c,406 :: } +L_end_Soft_I2C_Stop: + RETURN 0 +; end of _Soft_I2C_Stop diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.c b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.c new file mode 100644 index 0000000..7f51db9 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.c @@ -0,0 +1,406 @@ + +#include "oled_control.h" +#include "font5x8.h" +// + +void led_send (char nible) { + char sdata; + sdata = 0; + RW = 0; E = 1; + sdata = sdata + nible; + sdata = sdata << 4; + if(LED) sdata = sdata + 8; + if(E) sdata = sdata + 4; + if(RW) sdata = sdata + 2; + if(RS) sdata = sdata + 1; + // + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); // device addres + Soft_I2C_Write(sdata); // + Soft_I2C_Stop(); + delay_ms(1); + sdata = sdata - 4; // E = 0 + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); // device addres + Soft_I2C_Write(sdata); // + Soft_I2C_Stop(); + delay_ms(1); +} +// +void led_init (void) { + led_type = EEPROM_read(1); + shift_line = EEPROM_read(7); + oled_shift = EEPROM_read(8); + if(led_type!=1) oled_init(); // OLED + else{ // 1602 LCD display init + LED = 1; + RS = 0; // Command + // + led_send(3); + delay_ms(5); + led_send(3); + delay_ms(1); + led_send(3); + led_send(2); + // + led_send(2); + led_send(8); // + // + led_send(0); + led_send(8); // LCD OFF + // + led_send(0); + led_send(1); // LCD clear + delay_ms(5); + // + led_send(0); + led_send(4 + 2); // I/D, S + // + led_send(0); + led_send(8 + 4 + 0 + 0); // LCD ON, Cursor, Blink Cursor + } +} + + void oled_init (void) { // OLED init + char i, r; + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); // device addres + Soft_I2C_Write(0); // 0 - continious mode, command; 64 - Co, data + Soft_I2C_Write (0xAE); // display OFF + // + if(led_type==2 | led_type==3) { // 128*32 OLED + Soft_I2C_Write (0xD5); // clock division + Soft_I2C_Write (0x80); // ratio + // + Soft_I2C_Write (0xA8); // multiplexer + Soft_I2C_Write (0x3f); // + // + Soft_I2C_Write (0xD3); // offset + if(led_type==2) Soft_I2C_Write (0 + shift_line); // column shift + else Soft_I2C_Write (31 + shift_line); // column shift + // + Soft_I2C_Write (0x40); // set line, line = 0 + // + Soft_I2C_Write (0x8D); // charge pump + Soft_I2C_Write (0x14); // 0x10 - external, 0x14 - internal + // + Soft_I2C_Write (0x81); // contrast + Soft_I2C_Write (180); // 0-255 + // + Soft_I2C_Write (0xD9); // pre-charge + Soft_I2C_Write (0x22); // 0x22 - external, 0xF1 - internal + // + Soft_I2C_Write (0x20); // memory addressing mode + Soft_I2C_Write (0x02); // page addressing mode + // + Soft_I2C_Write (0x21); // set column range + Soft_I2C_Write (0); // column start + Soft_I2C_Write (127); // column stop + // + Soft_I2C_Write (0x2E); // stop scrolling + // + if(led_type==2) { + Soft_I2C_Write (0xA0); // segment re-map, A0 - normal, A1 - remapped + // + Soft_I2C_Write (0xC0); // scan direction, C0 - normal, C8 - remapped + } + else { + Soft_I2C_Write (0xA1); // segment re-map, A0 - normal, A1 - remapped + // + Soft_I2C_Write (0xC8); // scan direction, C0 - normal, C8 - remapped + } + // + Soft_I2C_Write (0xDA); // COM pins configure + Soft_I2C_Write (0x02); // 12 for x64 + // + Soft_I2C_Write (0xDB); // V-COM detect + Soft_I2C_Write (0x40); // + // + } + else { // 128*64 OLED + Soft_I2C_Write (0xD5); // clock division + Soft_I2C_Write (0x80); // ratio + // + Soft_I2C_Write (0xA8); // multiplexer + Soft_I2C_Write (63); // + // + Soft_I2C_Write (0xD3); // offset + Soft_I2C_Write (shift_line); // no offset for x64 ! + // + Soft_I2C_Write (0x40); // set line, line = 0 + // + Soft_I2C_Write (0x8D); // charge pump + Soft_I2C_Write (0x14); // 0x10 - external, 0x14 - internal + // + Soft_I2C_Write (0x81); // contrast + Soft_I2C_Write (255); // 0-255 + // + Soft_I2C_Write (0xD9); // pre-charge + Soft_I2C_Write (0xf1); // 0x22 - external, 0xF1 - internal + // + Soft_I2C_Write (0x20); // memory addressing mode + Soft_I2C_Write (0x02); // page addressing mode 02 + // + Soft_I2C_Write (0x21); // set column range + Soft_I2C_Write (0); // column start + Soft_I2C_Write (127); // column stop + // + Soft_I2C_Write (0x2E); // stop scrolling + // + if(led_type==4) { + Soft_I2C_Write (0xA0); // segment re-map, A0 - normal, A1 - remapped + // + Soft_I2C_Write (0xC0); // scan direction, C0 - normal, C8 - remapped + } + else { + Soft_I2C_Write (0xA1); // segment re-map, A0 - normal, A1 - remapped + // + Soft_I2C_Write (0xC8); // scan direction, C0 - normal, C8 - remapped + } + // + Soft_I2C_Write (0xDA); // COM pins configure + Soft_I2C_Write (0x12); // 12 for x64 + // + Soft_I2C_Write (0xDB); // V-COM detect + Soft_I2C_Write (0x40); // + } + Soft_I2C_Write (0xA4); // display entire ON + // + Soft_I2C_Write (0xA6); // 0xA6 - normal, 0xA7 - inverse + // + Soft_I2C_Stop (); + // + // ********clear OLED*********** + // + Delay_ms(100); + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); // device addres + Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data + // + if(led_type==2 | led_type==3) { // 128*32 OLED + for (r = 0; r <=3; r++) { + set_addressing (r, 0); // clear all 4 pages + for (i = 0; i < 128; i++, Soft_I2C_Write(0)); // clear one page pixels + } + } + else { // 128*64 OLED + for (r = 0; r <=7; r++) { + set_addressing (r, 0); // clear all 8 pages + for (i = 0; i < 128; i++, Soft_I2C_Write(0x00)); // clear one page pixels + } + + } + // + Soft_I2C_Stop (); + send_command (0xAF); // display ON + // + +} + +void dysp_on() { + if(led_type > 1) send_command(0xAF); // display ON + else if(led_type==1) { + LED = 1; + RS = 0; + led_send(0); + led_send(0); + } +} + +void dysp_off() { + if(led_type > 1) send_command(0xAE); // display OFF + else if(led_type==1) { + LED = 0; + RS = 0; + led_send(0); + led_send(0); + } +} + + +void send_command (char oled_command) { + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); // device addres + Soft_I2C_Write(128); // 128 - command, 192 - data + Soft_I2C_Write(oled_command); + Soft_I2C_Stop(); +} + +void set_addressing (char pagenum, char c_start) { + char a, b, c; + c = c_start + oled_shift; + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); // device addres + Soft_I2C_Write(0); // 0 - continious mode, command; 64 - Co, data + Soft_I2C_Write(0xB0 + pagenum); // set page number + // + if (c <= 15) { a = c; b = 0; } + else { b = c / 16; a = c - b * 16; } + Soft_I2C_Write (a); // set lower nibble of start address + Soft_I2C_Write (0x10 + b); // set higher nibble of start address + // + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); // device addres + Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data + } +// + + +void led_wr_str (char col, char pos, char str[], char leng ) { // + char i; + if(led_type==4 | led_type==5) oled_wr_str(pos, col, str, leng); // 128*64 OLED display + else if(led_type==2 | led_type==3) oled_wr_str(7*pos+4, col*2, str, leng); // 128*32 OLED display + else { // 1602 LCD + // Set address + RS = 0; + led_send(8 + col*4); + led_send(pos); + // + RS = 1; + for (i = 0; i < leng; i++) { // write string + // write letter + led_send(str[i] >> 4); + led_send(str[i]); + } + + } +} +// + +void oled_wr_str (char col, char page, char str[], char leng ) { // 128*32 or 128*64 OLED + char i, h, g, w1, w2; + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); // device addres + Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data + // + set_addressing (page, col); + // + for (i = 0; i < leng; i++) { // write string + if (str[i] == 0) g = 0; else g = str[i] - 32; // NULL detection + for (h = 0; h <= 4; h++) { // write letter + w1 = font5x8[g*5+h]; + if(page!=2 & page!=4 & page!=6) { + w2.B7 = w1.B3; + w2.B6 = w1.B3; + w2.B5 = w1.B2; + w2.B4 = w1.B2; + w2.B3 = w1.B1; + w2.B2 = w1.B1; + w2.B1 = w1.B0; + w2.B0 = w1.B0; } + else { + w2.B7 = w1.B2; + w2.B6 = w1.B2; + w2.B5 = w1.B1; + w2.B4 = w1.B1; + w2.B3 = w1.B0; + w2.B2 = w1.B0; + w2.B1 = 0; + w2.B0 = 0; + } + Soft_I2C_Write(w2); + if(led_type==4 | led_type==5) Soft_I2C_Write(w2); // 128*64 + } + Soft_I2C_Write (0); + Soft_I2C_Write (0); + //if(led_type==2 | led_type==3) Soft_I2C_Write (0); // 128*32 + } + set_addressing (page+1, col); + // + for (i = 0; i < leng; i++) { // write string + if (str[i] == 0) g = 0; else g = str[i] - 32; // NULL detection + for (h = 0; h <= 4; h++) { // write letter + w1 = font5x8[g*5+h]; + if(page!=2 & page!=4 & page!=6) { + w2.B7 = w1.B7; + w2.B6 = w1.B7; + w2.B5 = w1.B6; + w2.B4 = w1.B6; + w2.B3 = w1.B5; + w2.B2 = w1.B5; + w2.B1 = w1.B4; + w2.B0 = w1.B4; } + else { + w2.B7 = w1.B6; + w2.B6 = w1.B6; + w2.B5 = w1.B5; + w2.B4 = w1.B5; + w2.B3 = w1.B4; + w2.B2 = w1.B4; + w2.B1 = w1.B3; + w2.B0 = w1.B3; + } + Soft_I2C_Write(w2); + if(led_type==4 | led_type==5) Soft_I2C_Write(w2); // 128*64 + } + Soft_I2C_Write (0); + Soft_I2C_Write (0); + //if(led_type==2 | led_type==3) Soft_I2C_Write (0); // 128*32 + } + Soft_I2C_Stop (); +} + + + void Soft_I2C_Init () { + led_addr = EEPROM_read(0); // 4E,7E for 1602 or 78, 7A for OLED + led_type = EEPROM_read(1); + //led = EEPROM_read(1); + if(led_type==0) { + Soft_I2C_Scl_Direction = 0; + Soft_I2C_Sda_Direction = 0; + LATB.B6 = 1; + LATB.B7 = 1; + } + else { + Soft_I2C_Scl_Direction = 1; + Soft_I2C_Sda_Direction = 1; + Soft_I2C_Scl = 0; + Soft_I2C_Sda = 0; + } + } + + void Soft_I2C_Start () { + if(led_type!=0) { + Soft_I2C_Scl_Direction = 1; + Delay_us(5); + Soft_I2C_Sda_Direction = 1; + Delay_us(5); + Soft_I2C_Sda_Direction = 0; + Delay_us(5); + Soft_I2C_Scl_Direction = 0; + Delay_us(5); + } + } + +void Soft_I2C_Write (char d) { + char i; + if(led_type!=0) { + for(i=0; i<=7; i++) { + if(d.B7==0) Soft_I2C_Sda_Direction = 0; else Soft_I2C_Sda_Direction = 1; + Delay_us(5); + Soft_I2C_Scl_Direction = 1; + Delay_us(5); + Soft_I2C_Scl_Direction = 0; + Delay_us(5); + d = d << 1; + } + // + Soft_I2C_Sda_Direction = 1; //ACK + Delay_us(5); + Soft_I2C_Scl_Direction = 1; + Delay_us(5); + Soft_I2C_Scl_Direction = 0; + Delay_us(5); + } +} + +void Soft_I2C_Stop () { + if(led_type!=0) { + Soft_I2C_Sda_Direction = 0; + Delay_us(5); + Soft_I2C_Scl_Direction = 1; + Delay_us(5); + Soft_I2C_Sda_Direction = 1; + Delay_us(5); + } +} \ No newline at end of file diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.c.ini b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.c.ini new file mode 100644 index 0000000..9b3eb12 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.c.ini @@ -0,0 +1,9 @@ +[Bookmarks] +Count=0 +[Position] +Line=218 +Column=2 +[BreakPoints] +Count=0 +[FoldedLines] +Count=0 diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.cp b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.cp new file mode 100644 index 0000000..a6585fe --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.cp @@ -0,0 +1,535 @@ +#line 1 "E:/ATU-100/fw_mini/2550_mini_board_sources_V_3.1/oled_control.c" +#line 1 "e:/atu-100/fw_mini/2550_mini_board_sources_v_3.1/oled_control.h" + + +sbit Soft_I2C_Scl at LATB6_bit; +sbit Soft_I2C_Sda at LATB7_bit; +sbit Soft_I2C_Scl_Direction at TRISB6_bit; +sbit Soft_I2C_Sda_Direction at TRISB7_bit; + +static char RS, RW, E, LED, nible; + +static char led_addr; +static char led_type; +static char shift_line; + +static char oled_shift; + +void set_addressing (char, char); +void led_send (char); +void led_init (void); +void oled_init (void); +void dysp_on (void); +void dysp_off (void); +void send_command (char); +void set_addressing (char, char); +void led_wr_str (char, char, char*, char); +void oled_wr_str (char, char, char*, char); + + +void Soft_I2C_Init (void); +void Soft_I2C_Start (void); +void Soft_I2C_Write (char); +void Soft_I2C_Stop (void); +#line 1 "e:/atu-100/fw_mini/2550_mini_board_sources_v_3.1/font5x8.h" + static const char font5x8[] = { + +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x00, 0x00, +0x00, 0x07, 0x00, 0x07, 0x00, +0x14, 0x7F, 0x14, 0x7F, 0x14, +0x24, 0x2A, 0x7F, 0x2A, 0x12, +0x23, 0x13, 0x08, 0x64, 0x62, +0x36, 0x49, 0x55, 0x22, 0x50, +0x00, 0x05, 0x03, 0x00, 0x00, +0x00, 0x1C, 0x22, 0x41, 0x00, +0x00, 0x41, 0x22, 0x1C, 0x00, +0x08, 0x2A, 0x1C, 0x2A, 0x08, +0x08, 0x08, 0x3E, 0x08, 0x08, +0x00, 0x50, 0x30, 0x00, 0x00, +0x08, 0x08, 0x08, 0x08, 0x08, +0x00, 0x30, 0x30, 0x00, 0x00, +0x20, 0x10, 0x08, 0x04, 0x02, +0x3E, 0x51, 0x49, 0x45, 0x3E, +0x00, 0x42, 0x7F, 0x40, 0x00, +0x42, 0x61, 0x51, 0x49, 0x46, +0x21, 0x41, 0x45, 0x4B, 0x31, +0x18, 0x14, 0x12, 0x7F, 0x10, +0x27, 0x45, 0x45, 0x45, 0x39, +0x3C, 0x4A, 0x49, 0x49, 0x30, +0x01, 0x71, 0x09, 0x05, 0x03, +0x36, 0x49, 0x49, 0x49, 0x36, +0x06, 0x49, 0x49, 0x29, 0x1E, +0x00, 0x36, 0x36, 0x00, 0x00, +0x00, 0x56, 0x36, 0x00, 0x00, +0x00, 0x08, 0x14, 0x22, 0x41, +0x14, 0x14, 0x14, 0x14, 0x14, +0x41, 0x22, 0x14, 0x08, 0x00, +0x02, 0x01, 0x51, 0x09, 0x06, +0x32, 0x49, 0x79, 0x41, 0x3E, +0x7E, 0x11, 0x11, 0x11, 0x7E, +0x7F, 0x49, 0x49, 0x49, 0x36, +0x3E, 0x41, 0x41, 0x41, 0x22, +0x7F, 0x41, 0x41, 0x22, 0x1C, +0x7F, 0x49, 0x49, 0x49, 0x41, +0x7F, 0x09, 0x09, 0x01, 0x01, +0x3E, 0x41, 0x41, 0x51, 0x32, +0x7F, 0x08, 0x08, 0x08, 0x7F, +0x00, 0x41, 0x7F, 0x41, 0x00, +0x20, 0x40, 0x41, 0x3F, 0x01, +0x7F, 0x08, 0x14, 0x22, 0x41, +0x7F, 0x40, 0x40, 0x40, 0x40, +0x7F, 0x02, 0x04, 0x02, 0x7F, +0x7F, 0x04, 0x08, 0x10, 0x7F, +0x3E, 0x41, 0x41, 0x41, 0x3E, +0x7F, 0x09, 0x09, 0x09, 0x06, +0x3E, 0x41, 0x51, 0x21, 0x5E, +0x7F, 0x09, 0x19, 0x29, 0x46, +0x46, 0x49, 0x49, 0x49, 0x31, +0x01, 0x01, 0x7F, 0x01, 0x01, +0x3F, 0x40, 0x40, 0x40, 0x3F, +0x1F, 0x20, 0x40, 0x20, 0x1F, +0x7F, 0x20, 0x18, 0x20, 0x7F, +0x63, 0x14, 0x08, 0x14, 0x63, +0x03, 0x04, 0x78, 0x04, 0x03, +0x61, 0x51, 0x49, 0x45, 0x43, +0x00, 0x00, 0x7F, 0x41, 0x41, +0x02, 0x04, 0x08, 0x10, 0x20, +0x41, 0x41, 0x7F, 0x00, 0x00, +0x04, 0x02, 0x01, 0x02, 0x04, +0x40, 0x40, 0x40, 0x40, 0x40, +0x00, 0x01, 0x02, 0x04, 0x00, +0x20, 0x54, 0x54, 0x54, 0x78, +0x7F, 0x48, 0x44, 0x44, 0x38, +0x38, 0x44, 0x44, 0x44, 0x20, +0x38, 0x44, 0x44, 0x48, 0x7F, +0x38, 0x54, 0x54, 0x54, 0x18, +0x08, 0x7E, 0x09, 0x01, 0x02, +0x08, 0x14, 0x54, 0x54, 0x3C, +0x7F, 0x08, 0x04, 0x04, 0x78, +0x00, 0x44, 0x7D, 0x40, 0x00, +0x20, 0x40, 0x44, 0x3D, 0x00, +0x00, 0x7F, 0x10, 0x28, 0x44, +0x00, 0x41, 0x7F, 0x40, 0x00, +0x7C, 0x04, 0x18, 0x04, 0x78, +0x7C, 0x08, 0x04, 0x04, 0x78, +0x38, 0x44, 0x44, 0x44, 0x38, +0x7C, 0x14, 0x14, 0x14, 0x08, +0x08, 0x14, 0x14, 0x18, 0x7C, +0x7C, 0x08, 0x04, 0x04, 0x08, +0x48, 0x54, 0x54, 0x54, 0x20, +0x04, 0x3F, 0x44, 0x40, 0x20, +0x3C, 0x40, 0x40, 0x20, 0x7C, +0x1C, 0x20, 0x40, 0x20, 0x1C, +0x3C, 0x40, 0x30, 0x40, 0x3C, +0x44, 0x28, 0x10, 0x28, 0x44, +0x0C, 0x50, 0x50, 0x50, 0x3C, +0x44, 0x64, 0x54, 0x4C, 0x44, +0x00, 0x08, 0x36, 0x41, 0x00, +0x00, 0x00, 0x7F, 0x00, 0x00, +0x00, 0x41, 0x36, 0x08, 0x00, +0x08, 0x08, 0x2A, 0x1C, 0x08, +0x08, 0x1C, 0x2A, 0x08, 0x08 +}; +#line 6 "E:/ATU-100/fw_mini/2550_mini_board_sources_V_3.1/oled_control.c" +void led_send (char nible) { + char sdata; + sdata = 0; + RW = 0; E = 1; + sdata = sdata + nible; + sdata = sdata << 4; + if(LED) sdata = sdata + 8; + if(E) sdata = sdata + 4; + if(RW) sdata = sdata + 2; + if(RS) sdata = sdata + 1; + + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); + Soft_I2C_Write(sdata); + Soft_I2C_Stop(); + delay_ms(1); + sdata = sdata - 4; + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); + Soft_I2C_Write(sdata); + Soft_I2C_Stop(); + delay_ms(1); +} + +void led_init (void) { + led_type = EEPROM_read(1); + shift_line = EEPROM_read(7); + oled_shift = EEPROM_read(8); + if(led_type!=1) oled_init(); + else{ + LED = 1; + RS = 0; + + led_send(3); + delay_ms(5); + led_send(3); + delay_ms(1); + led_send(3); + led_send(2); + + led_send(2); + led_send(8); + + led_send(0); + led_send(8); + + led_send(0); + led_send(1); + delay_ms(5); + + led_send(0); + led_send(4 + 2); + + led_send(0); + led_send(8 + 4 + 0 + 0); + } +} + + void oled_init (void) { + char i, r; + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); + Soft_I2C_Write(0); + Soft_I2C_Write (0xAE); + + if(led_type==2 | led_type==3) { + Soft_I2C_Write (0xD5); + Soft_I2C_Write (0x80); + + Soft_I2C_Write (0xA8); + Soft_I2C_Write (0x3f); + + Soft_I2C_Write (0xD3); + if(led_type==2) Soft_I2C_Write (0 + shift_line); + else Soft_I2C_Write (31 + shift_line); + + Soft_I2C_Write (0x40); + + Soft_I2C_Write (0x8D); + Soft_I2C_Write (0x14); + + Soft_I2C_Write (0x81); + Soft_I2C_Write (180); + + Soft_I2C_Write (0xD9); + Soft_I2C_Write (0x22); + + Soft_I2C_Write (0x20); + Soft_I2C_Write (0x02); + + Soft_I2C_Write (0x21); + Soft_I2C_Write (0); + Soft_I2C_Write (127); + + Soft_I2C_Write (0x2E); + + if(led_type==2) { + Soft_I2C_Write (0xA0); + + Soft_I2C_Write (0xC0); + } + else { + Soft_I2C_Write (0xA1); + + Soft_I2C_Write (0xC8); + } + + Soft_I2C_Write (0xDA); + Soft_I2C_Write (0x02); + + Soft_I2C_Write (0xDB); + Soft_I2C_Write (0x40); + + } + else { + Soft_I2C_Write (0xD5); + Soft_I2C_Write (0x80); + + Soft_I2C_Write (0xA8); + Soft_I2C_Write (63); + + Soft_I2C_Write (0xD3); + Soft_I2C_Write (shift_line); + + Soft_I2C_Write (0x40); + + Soft_I2C_Write (0x8D); + Soft_I2C_Write (0x14); + + Soft_I2C_Write (0x81); + Soft_I2C_Write (255); + + Soft_I2C_Write (0xD9); + Soft_I2C_Write (0xf1); + + Soft_I2C_Write (0x20); + Soft_I2C_Write (0x02); + + Soft_I2C_Write (0x21); + Soft_I2C_Write (0); + Soft_I2C_Write (127); + + Soft_I2C_Write (0x2E); + + if(led_type==4) { + Soft_I2C_Write (0xA0); + + Soft_I2C_Write (0xC0); + } + else { + Soft_I2C_Write (0xA1); + + Soft_I2C_Write (0xC8); + } + + Soft_I2C_Write (0xDA); + Soft_I2C_Write (0x12); + + Soft_I2C_Write (0xDB); + Soft_I2C_Write (0x40); + } + Soft_I2C_Write (0xA4); + + Soft_I2C_Write (0xA6); + + Soft_I2C_Stop (); + + + + Delay_ms(100); + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); + Soft_I2C_Write(64); + + if(led_type==2 | led_type==3) { + for (r = 0; r <=3; r++) { + set_addressing (r, 0); + for (i = 0; i < 128; i++, Soft_I2C_Write(0)); + } + } + else { + for (r = 0; r <=7; r++) { + set_addressing (r, 0); + for (i = 0; i < 128; i++, Soft_I2C_Write(0x00)); + } + + } + + Soft_I2C_Stop (); + send_command (0xAF); + + +} + +void dysp_on() { + if(led_type > 1) send_command(0xAF); + else if(led_type==1) { + LED = 1; + RS = 0; + led_send(0); + led_send(0); + } +} + +void dysp_off() { + if(led_type > 1) send_command(0xAE); + else if(led_type==1) { + LED = 0; + RS = 0; + led_send(0); + led_send(0); + } +} + + +void send_command (char oled_command) { + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); + Soft_I2C_Write(128); + Soft_I2C_Write(oled_command); + Soft_I2C_Stop(); +} + +void set_addressing (char pagenum, char c_start) { + char a, b, c; + c = c_start + oled_shift; + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); + Soft_I2C_Write(0); + Soft_I2C_Write(0xB0 + pagenum); + + if (c <= 15) { a = c; b = 0; } + else { b = c / 16; a = c - b * 16; } + Soft_I2C_Write (a); + Soft_I2C_Write (0x10 + b); + + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); + Soft_I2C_Write(64); + } + + + +void led_wr_str (char col, char pos, char str[], char leng ) { + char i; + if(led_type==4 | led_type==5) oled_wr_str(pos, col, str, leng); + else if(led_type==2 | led_type==3) oled_wr_str(7*pos+4, col*2, str, leng); + else { + + RS = 0; + led_send(8 + col*4); + led_send(pos); + + RS = 1; + for (i = 0; i < leng; i++) { + + led_send(str[i] >> 4); + led_send(str[i]); + } + + } +} + + +void oled_wr_str (char col, char page, char str[], char leng ) { + char i, h, g, w1, w2; + Soft_I2C_Start(); + Soft_I2C_Write(led_addr); + Soft_I2C_Write(64); + + set_addressing (page, col); + + for (i = 0; i < leng; i++) { + if (str[i] == 0) g = 0; else g = str[i] - 32; + for (h = 0; h <= 4; h++) { + w1 = font5x8[g*5+h]; + if(page!=2 & page!=4 & page!=6) { + w2.B7 = w1.B3; + w2.B6 = w1.B3; + w2.B5 = w1.B2; + w2.B4 = w1.B2; + w2.B3 = w1.B1; + w2.B2 = w1.B1; + w2.B1 = w1.B0; + w2.B0 = w1.B0; } + else { + w2.B7 = w1.B2; + w2.B6 = w1.B2; + w2.B5 = w1.B1; + w2.B4 = w1.B1; + w2.B3 = w1.B0; + w2.B2 = w1.B0; + w2.B1 = 0; + w2.B0 = 0; + } + Soft_I2C_Write(w2); + if(led_type==4 | led_type==5) Soft_I2C_Write(w2); + } + Soft_I2C_Write (0); + Soft_I2C_Write (0); + + } + set_addressing (page+1, col); + + for (i = 0; i < leng; i++) { + if (str[i] == 0) g = 0; else g = str[i] - 32; + for (h = 0; h <= 4; h++) { + w1 = font5x8[g*5+h]; + if(page!=2 & page!=4 & page!=6) { + w2.B7 = w1.B7; + w2.B6 = w1.B7; + w2.B5 = w1.B6; + w2.B4 = w1.B6; + w2.B3 = w1.B5; + w2.B2 = w1.B5; + w2.B1 = w1.B4; + w2.B0 = w1.B4; } + else { + w2.B7 = w1.B6; + w2.B6 = w1.B6; + w2.B5 = w1.B5; + w2.B4 = w1.B5; + w2.B3 = w1.B4; + w2.B2 = w1.B4; + w2.B1 = w1.B3; + w2.B0 = w1.B3; + } + Soft_I2C_Write(w2); + if(led_type==4 | led_type==5) Soft_I2C_Write(w2); + } + Soft_I2C_Write (0); + Soft_I2C_Write (0); + + } + Soft_I2C_Stop (); +} + + + void Soft_I2C_Init () { + led_addr = EEPROM_read(0); + led_type = EEPROM_read(1); + + if(led_type==0) { + Soft_I2C_Scl_Direction = 0; + Soft_I2C_Sda_Direction = 0; + LATB.B6 = 1; + LATB.B7 = 1; + } + else { + Soft_I2C_Scl_Direction = 1; + Soft_I2C_Sda_Direction = 1; + Soft_I2C_Scl = 0; + Soft_I2C_Sda = 0; + } + } + + void Soft_I2C_Start () { + if(led_type!=0) { + Soft_I2C_Scl_Direction = 1; + Delay_us(5); + Soft_I2C_Sda_Direction = 1; + Delay_us(5); + Soft_I2C_Sda_Direction = 0; + Delay_us(5); + Soft_I2C_Scl_Direction = 0; + Delay_us(5); + } + } + +void Soft_I2C_Write (char d) { + char i; + if(led_type!=0) { + for(i=0; i<=7; i++) { + if(d.B7==0) Soft_I2C_Sda_Direction = 0; else Soft_I2C_Sda_Direction = 1; + Delay_us(5); + Soft_I2C_Scl_Direction = 1; + Delay_us(5); + Soft_I2C_Scl_Direction = 0; + Delay_us(5); + d = d << 1; + } + + Soft_I2C_Sda_Direction = 1; + Delay_us(5); + Soft_I2C_Scl_Direction = 1; + Delay_us(5); + Soft_I2C_Scl_Direction = 0; + Delay_us(5); + } +} + +void Soft_I2C_Stop () { + if(led_type!=0) { + Soft_I2C_Sda_Direction = 0; + Delay_us(5); + Soft_I2C_Scl_Direction = 1; + Delay_us(5); + Soft_I2C_Sda_Direction = 1; + Delay_us(5); + } +} diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.h b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.h new file mode 100644 index 0000000..60762e0 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.h @@ -0,0 +1,31 @@ +// Software I2C connections +// +sbit Soft_I2C_Scl at LATB6_bit; +sbit Soft_I2C_Sda at LATB7_bit; +sbit Soft_I2C_Scl_Direction at TRISB6_bit; +sbit Soft_I2C_Sda_Direction at TRISB7_bit; +// +static char RS, RW, E, LED, nible; + +static char led_addr; +static char led_type; +static char shift_line; + +static char oled_shift; +// +void set_addressing (char, char); +void led_send (char); +void led_init (void); +void oled_init (void); +void dysp_on (void); +void dysp_off (void); +void send_command (char); +void set_addressing (char, char); +void led_wr_str (char, char, char*, char); +void oled_wr_str (char, char, char*, char); +// + +void Soft_I2C_Init (void); +void Soft_I2C_Start (void); +void Soft_I2C_Write (char); +void Soft_I2C_Stop (void); \ No newline at end of file diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.h.ini b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.h.ini new file mode 100644 index 0000000..3c84e93 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.h.ini @@ -0,0 +1,9 @@ +[Bookmarks] +Count=0 +[Position] +Line=21 +Column=8 +[BreakPoints] +Count=0 +[FoldedLines] +Count=0 diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.mcl b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.mcl new file mode 100644 index 0000000..e978bc6 Binary files /dev/null and b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/oled_control.mcl differ diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.asm b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.asm new file mode 100644 index 0000000..d55fd09 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.asm @@ -0,0 +1,46 @@ + +_pic_init: + +;pic_init.c,6 :: void pic_init (void) { +;pic_init.c,7 :: CMCON = 0b00000111; // Comparator OFF + MOVLW 7 + MOVWF CMCON+0 +;pic_init.c,9 :: OSCCON = 0b01100000; // 4 MHz oscillator // 0b01110000 - 8 MHz + MOVLW 96 + MOVWF OSCCON+0 +;pic_init.c,10 :: PLLEN_bit = 1; //4xPLL enable 4 * 4 = 16 MHz + BSF PLLEN_bit+0, BitPos(PLLEN_bit+0) +;pic_init.c,12 :: PORTA = 0; + CLRF PORTA+0 +;pic_init.c,13 :: PORTB = 0; + CLRF PORTB+0 +;pic_init.c,14 :: PORTC = 0; + CLRF PORTC+0 +;pic_init.c,15 :: LATA = 0b00001000; // PORT3 /Tx_req to 1 + MOVLW 8 + MOVWF LATA+0 +;pic_init.c,16 :: LATB = 0; + CLRF LATB+0 +;pic_init.c,17 :: LATC = 0; + CLRF LATC+0 +;pic_init.c,18 :: TRISA = 0b00000011; + MOVLW 3 + MOVWF TRISA+0 +;pic_init.c,19 :: TRISB = 0b11111001; + MOVLW 249 + MOVWF TRISB+0 +;pic_init.c,20 :: TRISC = 0b00000000; // + CLRF TRISC+0 +;pic_init.c,22 :: ADC_Init(); + CALL _ADC_Init+0, 0 +;pic_init.c,25 :: ADCON1 = 0b00001101; // ADC ports conf + MOVLW 13 + MOVWF ADCON1+0 +;pic_init.c,27 :: RBPU_bit = 0; + BCF RBPU_bit+0, BitPos(RBPU_bit+0) +;pic_init.c,30 :: GIE_bit = 0; + BCF GIE_bit+0, BitPos(GIE_bit+0) +;pic_init.c,31 :: } +L_end_pic_init: + RETURN 0 +; end of _pic_init diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.c b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.c new file mode 100644 index 0000000..1ccbbf7 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.c @@ -0,0 +1,31 @@ +// pic_init unit for Micro C PRO +// David Fainitski for ATU-100 project +// PIC18F2520 Microchip + + +void pic_init (void) { + CMCON = 0b00000111; // Comparator OFF + + OSCCON = 0b01100000; // 4 MHz oscillator // 0b01110000 - 8 MHz + PLLEN_bit = 1; //4xPLL enable 4 * 4 = 16 MHz + + PORTA = 0; + PORTB = 0; + PORTC = 0; + LATA = 0b00001000; // PORT3 /Tx_req to 1 + LATB = 0; + LATC = 0; + TRISA = 0b00000011; + TRISB = 0b11111001; + TRISC = 0b00000000; // + // + ADC_Init(); + // + + ADCON1 = 0b00001101; // ADC ports conf + // + RBPU_bit = 0; + + //interrupt setting + GIE_bit = 0; +} \ No newline at end of file diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.c.ini b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.c.ini new file mode 100644 index 0000000..de4f4fc --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.c.ini @@ -0,0 +1,9 @@ +[Bookmarks] +Count=0 +[Position] +Line=31 +Column=2 +[BreakPoints] +Count=0 +[FoldedLines] +Count=0 diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.cp b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.cp new file mode 100644 index 0000000..6caca3d --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.cp @@ -0,0 +1,32 @@ +#line 1 "E:/ATU-100/fw_mini/2550_mini_board_sources_V_3.1/pic_init.c" + + + + + +void pic_init (void) { + CMCON = 0b00000111; + + OSCCON = 0b01100000; + PLLEN_bit = 1; + + PORTA = 0; + PORTB = 0; + PORTC = 0; + LATA = 0b00001000; + LATB = 0; + LATC = 0; + TRISA = 0b00000011; + TRISB = 0b11111001; + TRISC = 0b00000000; + + ADC_Init(); + + + ADCON1 = 0b00001101; + + RBPU_bit = 0; + + + GIE_bit = 0; +} diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.h b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.h new file mode 100644 index 0000000..46ab715 --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.h @@ -0,0 +1,26 @@ +// Connections +// +sbit Low at LATC0_bit; +sbit Mid at LATC6_bit; +sbit High at LATC7_bit; +sbit n_Tx at LATA3_bit; +sbit p_Tx at LATA7_bit; +// +//sbit Button at RB0_bit; +//sbit BYP_button at RB5_bit; +//sbit Auto_button at RB4_bit; +// +sbit Cap_10 at LATC1_bit; +sbit Cap_22 at LATC2_bit; +sbit Cap_47 at LATC3_bit; +sbit Cap_100 at LATC4_bit; +sbit Cap_220 at LATC5_bit; +sbit Cap_sw at LATA6_bit; +// +sbit Ind_011 at LATB1_bit; +sbit Ind_022 at LATB2_bit; +sbit Ind_045 at LATA2_bit; +sbit Ind_1 at LATA4_bit; +sbit Ind_22 at LATA5_bit; +// +void pic_init (void); \ No newline at end of file diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.h.ini b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.h.ini new file mode 100644 index 0000000..7bd884e --- /dev/null +++ b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.h.ini @@ -0,0 +1,9 @@ +[Bookmarks] +Count=0 +[Position] +Line=26 +Column=22 +[BreakPoints] +Count=0 +[FoldedLines] +Count=0 diff --git a/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.mcl b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.mcl new file mode 100644 index 0000000..1985516 Binary files /dev/null and b/ATU_100_mini_board/FirmWare_PIC18F2520/2550_mini_board_sources_V_3.1/pic_init.mcl differ