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