diff --git a/Firmware/ATU-10_FW_13/ATU-10.bmk b/Firmware/ATU-10_FW_13/ATU-10.bmk
new file mode 100644
index 0000000..5179cc3
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/ATU-10.bmk
@@ -0,0 +1 @@
+
diff --git a/Firmware/ATU-10_FW_13/ATU-10.brk b/Firmware/ATU-10_FW_13/ATU-10.brk
new file mode 100644
index 0000000..7d476df
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/ATU-10.brk
@@ -0,0 +1 @@
+
diff --git a/Firmware/ATU-10_FW_13/ATU-10.cfg b/Firmware/ATU-10_FW_13/ATU-10.cfg
new file mode 100644
index 0000000..9d9073e
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/ATU-10.cfg
@@ -0,0 +1,24 @@
+
+
+
+ P16LF18877
+
+ 5
+
+ $008007:$2904
+
+
+ $008008:$3E21
+
+
+ $008009:$3F1F
+
+
+ $00800A:$3003
+
+
+ $00800B:$0003
+
+
+
+
diff --git a/Firmware/ATU-10_FW_13/ATU-10.dbg b/Firmware/ATU-10_FW_13/ATU-10.dbg
new file mode 100644
index 0000000..a9a778e
Binary files /dev/null and b/Firmware/ATU-10_FW_13/ATU-10.dbg differ
diff --git a/Firmware/ATU-10_FW_13/ATU-10.dct b/Firmware/ATU-10_FW_13/ATU-10.dct
new file mode 100644
index 0000000..a6e6cf8
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/ATU-10.dct
@@ -0,0 +1,6491 @@
+____doifc
+__ca2a
+__ca2aw
+__cc2d
+__cc2dw
+__cs2s
+__flash_size
+__fzins
+__math_tempb
+__math_tempbd
+_adc_external_ref
+_adc_external_vrefh
+_adc_external_vrefl
+_adc_internal_fvrh1
+_adc_internal_fvrh2
+_adc_internal_fvrh4
+_adc_internal_ref
+_adc_internal_vrefh
+_adc_internal_vrefl
+abden
+abden_bit
+abdovf
+abdovf_bit
+acc0
+acc0_bit
+acc1
+acc1_bit
+acc10
+acc10_bit
+acc11
+acc11_bit
+acc12
+acc12_bit
+acc13
+acc13_bit
+acc14
+acc14_bit
+acc15
+acc15_bit
+acc2
+acc2_bit
+acc3
+acc3_bit
+acc4
+acc4_bit
+acc5
+acc5_bit
+acc6
+acc6_bit
+acc7
+acc7_bit
+acc8
+acc8_bit
+acc9
+acc9_bit
+accm
+accm_bit
+ackdt1
+ackdt1_bit
+ackdt2
+ackdt2_bit
+acken1
+acken1_bit
+acken2
+acken2_bit
+ackstat1
+ackstat1_bit
+ackstat2
+ackstat2_bit
+adacc
+adacc0
+adacc0_bit
+adacc1
+adacc1_bit
+adacc10
+adacc10_bit
+adacc11
+adacc11_bit
+adacc12
+adacc12_bit
+adacc13
+adacc13_bit
+adacc14
+adacc14_bit
+adacc15
+adacc15_bit
+adacc2
+adacc2_bit
+adacc3
+adacc3_bit
+adacc4
+adacc4_bit
+adacc5
+adacc5_bit
+adacc6
+adacc6_bit
+adacc7
+adacc7_bit
+adacc8
+adacc8_bit
+adacc9
+adacc9_bit
+adacch
+adaccl
+adaclr
+adaclr_bit
+adacq
+adacq0
+adacq0_bit
+adacq1
+adacq1_bit
+adacq2
+adacq2_bit
+adacq3
+adacq3_bit
+adacq4
+adacq4_bit
+adacq5
+adacq5_bit
+adacq6
+adacq6_bit
+adacq7
+adacq7_bit
+adact
+adact0
+adact0_bit
+adact1
+adact1_bit
+adact2
+adact2_bit
+adact3
+adact3_bit
+adact4
+adact4_bit
+adaov
+adaov_bit
+adc_get_sample
+adc_get_sample_ptr
+adc_init
+adc_init_advanced
+adc_read
+adcactpps
+adcactpps0
+adcactpps0_bit
+adcactpps1
+adcactpps1_bit
+adcactpps2
+adcactpps2_bit
+adcactpps3
+adcactpps3_bit
+adcactpps4
+adcactpps4_bit
+adcalc0
+adcalc0_bit
+adcalc1
+adcalc1_bit
+adcalc2
+adcalc2_bit
+adcap
+adcap0
+adcap0_bit
+adcap1
+adcap1_bit
+adcap2
+adcap2_bit
+adcap3
+adcap3_bit
+adcap4
+adcap4_bit
+adccs0
+adccs0_bit
+adccs1
+adccs1_bit
+adccs2
+adccs2_bit
+adccs3
+adccs3_bit
+adccs4
+adccs4_bit
+adccs5
+adccs5_bit
+adclk
+adcmd
+adcmd_bit
+adcnt
+adcnt0
+adcnt0_bit
+adcnt1
+adcnt1_bit
+adcnt2
+adcnt2_bit
+adcnt3
+adcnt3_bit
+adcnt4
+adcnt4_bit
+adcnt5
+adcnt5_bit
+adcnt6
+adcnt6_bit
+adcnt7
+adcnt7_bit
+adcon0
+adcon1
+adcon2
+adcon3
+adcont
+adcont_bit
+adcrs0
+adcrs0_bit
+adcrs1
+adcrs1_bit
+adcrs2
+adcrs2_bit
+adcs
+adcs_bit
+add_32x32_fp
+adden
+adden_bit
+addsen
+addsen_bit
+aderr
+aderr0
+aderr0_bit
+aderr1
+aderr1_bit
+aderr10
+aderr10_bit
+aderr11
+aderr11_bit
+aderr12
+aderr12_bit
+aderr13
+aderr13_bit
+aderr14
+aderr14_bit
+aderr15
+aderr15_bit
+aderr2
+aderr2_bit
+aderr3
+aderr3_bit
+aderr4
+aderr4_bit
+aderr5
+aderr5_bit
+aderr6
+aderr6_bit
+aderr7
+aderr7_bit
+aderr8
+aderr8_bit
+aderr9
+aderr9_bit
+aderrh
+aderrl
+adfltr
+adfltr0
+adfltr0_bit
+adfltr1
+adfltr1_bit
+adfltr10
+adfltr10_bit
+adfltr11
+adfltr11_bit
+adfltr12
+adfltr12_bit
+adfltr13
+adfltr13_bit
+adfltr14
+adfltr14_bit
+adfltr15
+adfltr15_bit
+adfltr2
+adfltr2_bit
+adfltr3
+adfltr3_bit
+adfltr4
+adfltr4_bit
+adfltr5
+adfltr5_bit
+adfltr6
+adfltr6_bit
+adfltr7
+adfltr7_bit
+adfltr8
+adfltr8_bit
+adfltr9
+adfltr9_bit
+adfltrh
+adfltrl
+adfm0
+adfm0_bit
+adfrm0
+adfrm0_bit
+adfvr0
+adfvr0_bit
+adfvr1
+adfvr1_bit
+adgo
+adgo_bit
+adgpol
+adgpol_bit
+adie
+adie_bit
+adif
+adif_bit
+adipen
+adipen_bit
+adlth
+adlth0
+adlth0_bit
+adlth1
+adlth1_bit
+adlth10
+adlth10_bit
+adlth11
+adlth11_bit
+adlth12
+adlth12_bit
+adlth13
+adlth13_bit
+adlth14
+adlth14_bit
+adlth15
+adlth15_bit
+adlth2
+adlth2_bit
+adlth3
+adlth3_bit
+adlth4
+adlth4_bit
+adlth5
+adlth5_bit
+adlth6
+adlth6_bit
+adlth7
+adlth7_bit
+adlth8
+adlth8_bit
+adlth9
+adlth9_bit
+adlthh
+adlthl
+adlthr
+adlthr_bit
+admact
+admact_bit
+admath
+admath_bit
+admd0
+admd0_bit
+admd1
+admd1_bit
+admd2
+admd2_bit
+admsk11
+admsk11_bit
+admsk12
+admsk12_bit
+admsk21
+admsk21_bit
+admsk22
+admsk22_bit
+admsk31
+admsk31_bit
+admsk32
+admsk32_bit
+admsk41
+admsk41_bit
+admsk42
+admsk42_bit
+admsk51
+admsk51_bit
+admsk52
+admsk52_bit
+adnref
+adnref_bit
+adoen
+adoen_bit
+adon
+adon_bit
+ador
+ador_bit
+adpch
+adpch0
+adpch0_bit
+adpch1
+adpch1_bit
+adpch2
+adpch2_bit
+adpch3
+adpch3_bit
+adpch4
+adpch4_bit
+adpch5
+adpch5_bit
+adppol
+adppol_bit
+adpre
+adpre0
+adpre0_bit
+adpre1
+adpre1_bit
+adpre2
+adpre2_bit
+adpre3
+adpre3_bit
+adpre4
+adpre4_bit
+adpre5
+adpre5_bit
+adpre6
+adpre6_bit
+adpre7
+adpre7_bit
+adpref0
+adpref0_bit
+adpref1
+adpref1_bit
+adprev
+adprev0
+adprev0_bit
+adprev1
+adprev1_bit
+adprev10
+adprev10_bit
+adprev11
+adprev11_bit
+adprev12
+adprev12_bit
+adprev13
+adprev13_bit
+adprev14
+adprev14_bit
+adprev15
+adprev15_bit
+adprev2
+adprev2_bit
+adprev3
+adprev3_bit
+adprev4
+adprev4_bit
+adprev5
+adprev5_bit
+adprev6
+adprev6_bit
+adprev7
+adprev7_bit
+adprev8
+adprev8_bit
+adprev9
+adprev9_bit
+adprevh
+adprevl
+adpsis
+adpsis_bit
+adref
+adres
+adresh
+adresl
+adrpt
+adrpt0
+adrpt0_bit
+adrpt1
+adrpt1_bit
+adrpt2
+adrpt2_bit
+adrpt3
+adrpt3_bit
+adrpt4
+adrpt4_bit
+adrpt5
+adrpt5_bit
+adrpt6
+adrpt6_bit
+adrpt7
+adrpt7_bit
+adsoi
+adsoi_bit
+adstat
+adstat0
+adstat0_bit
+adstat1
+adstat1_bit
+adstat2
+adstat2_bit
+adstpt
+adstpt0
+adstpt0_bit
+adstpt1
+adstpt1_bit
+adstpt10
+adstpt10_bit
+adstpt11
+adstpt11_bit
+adstpt12
+adstpt12_bit
+adstpt13
+adstpt13_bit
+adstpt14
+adstpt14_bit
+adstpt15
+adstpt15_bit
+adstpt2
+adstpt2_bit
+adstpt3
+adstpt3_bit
+adstpt4
+adstpt4_bit
+adstpt5
+adstpt5_bit
+adstpt6
+adstpt6_bit
+adstpt7
+adstpt7_bit
+adstpt8
+adstpt8_bit
+adstpt9
+adstpt9_bit
+adstpth
+adstptl
+adtie
+adtie_bit
+adtif
+adtif_bit
+adtmd0
+adtmd0_bit
+adtmd1
+adtmd1_bit
+adtmd2
+adtmd2_bit
+aduth
+aduth0
+aduth0_bit
+aduth1
+aduth1_bit
+aduth10
+aduth10_bit
+aduth11
+aduth11_bit
+aduth12
+aduth12_bit
+aduth13
+aduth13_bit
+aduth14
+aduth14_bit
+aduth15
+aduth15_bit
+aduth2
+aduth2_bit
+aduth3
+aduth3_bit
+aduth4
+aduth4_bit
+aduth5
+aduth5_bit
+aduth6
+aduth6_bit
+aduth7
+aduth7_bit
+aduth8
+aduth8_bit
+aduth9
+aduth9_bit
+aduthh
+aduthl
+aduthr
+aduthr_bit
+ansa0
+ansa0_bit
+ansa1
+ansa1_bit
+ansa2
+ansa2_bit
+ansa3
+ansa3_bit
+ansa4
+ansa4_bit
+ansa5
+ansa5_bit
+ansa6
+ansa6_bit
+ansa7
+ansa7_bit
+ansb0
+ansb0_bit
+ansb1
+ansb1_bit
+ansb2
+ansb2_bit
+ansb3
+ansb3_bit
+ansb4
+ansb4_bit
+ansb5
+ansb5_bit
+ansb6
+ansb6_bit
+ansb7
+ansb7_bit
+ansc0
+ansc0_bit
+ansc1
+ansc1_bit
+ansc2
+ansc2_bit
+ansc3
+ansc3_bit
+ansc4
+ansc4_bit
+ansc5
+ansc5_bit
+ansc6
+ansc6_bit
+ansc7
+ansc7_bit
+ansd0
+ansd0_bit
+ansd1
+ansd1_bit
+ansd2
+ansd2_bit
+ansd3
+ansd3_bit
+ansd4
+ansd4_bit
+ansd5
+ansd5_bit
+ansd6
+ansd6_bit
+ansd7
+ansd7_bit
+anse0
+anse0_bit
+anse1
+anse1_bit
+anse2
+anse2_bit
+ansela
+anselb
+anselc
+anseld
+ansele
+atu_reset
+auto_delta
+b_long
+b_short
+b_xlong
+b0
+b1
+b2
+b3
+b4
+b5
+b6
+b7
+baud1con
+baudcon
+baudcon1
+baudctl
+baudctl1
+bcd2dec
+bcd2dec16
+bcl1ie
+bcl1ie_bit
+bcl1if
+bcl1if_bit
+bcl2ie
+bcl2ie_bit
+bcl2if
+bcl2if_bit
+bf1
+bf1_bit
+bf2
+bf2_bit
+boot16_delay_5ms
+borcon
+borrdy
+borrdy_bit
+brg16
+brg16_bit
+brgh
+brgh_bit
+bsr
+bsr_shad
+bsr0
+bsr0_bit
+bsr1
+bsr1_bit
+bsr2
+bsr2_bit
+bsr3
+bsr3_bit
+bsr4
+bsr4_bit
+bsr5
+bsr5_bit
+btn_1_cnt
+btn_2_cnt
+btn_cnt
+btn_long
+btn_short
+btn_xlong
+button
+byte2double
+bytetohex
+bytetostr
+bytetostrwithzeros
+c
+c_100
+c_1000
+c_22
+c_220
+c_2200
+c_47
+c_470
+c_bit
+c_linear
+c_shad
+c_shad_bit
+c_sw
+c1hys
+c1hys_bit
+c1ie
+c1ie_bit
+c1if
+c1if_bit
+c1intn
+c1intn_bit
+c1intp
+c1intp_bit
+c1nch0
+c1nch0_bit
+c1nch1
+c1nch1_bit
+c1nch2
+c1nch2_bit
+c1on
+c1on_bit
+c1pch0
+c1pch0_bit
+c1pch1
+c1pch1_bit
+c1pch2
+c1pch2_bit
+c1pol
+c1pol_bit
+c1sp
+c1sp_bit
+c1sync
+c1sync_bit
+c1tsel0
+c1tsel0_bit
+c1tsel1
+c1tsel1_bit
+c2hys
+c2hys_bit
+c2ie
+c2ie_bit
+c2if
+c2if_bit
+c2intn
+c2intn_bit
+c2intp
+c2intp_bit
+c2nch0
+c2nch0_bit
+c2nch1
+c2nch1_bit
+c2nch2
+c2nch2_bit
+c2on
+c2on_bit
+c2pch0
+c2pch0_bit
+c2pch1
+c2pch1_bit
+c2pch2
+c2pch2_bit
+c2pol
+c2pol_bit
+c2sp
+c2sp_bit
+c2sync
+c2sync_bit
+c2tsel0
+c2tsel0_bit
+c2tsel1
+c2tsel1_bit
+c3tsel0
+c3tsel0_bit
+c3tsel1
+c3tsel1_bit
+c4tsel0
+c4tsel0_bit
+c4tsel1
+c4tsel1_bit
+c5tsel0
+c5tsel0_bit
+c5tsel1
+c5tsel1_bit
+cal01
+cal01_bit
+cal03
+cal03_bit
+cal05
+cal05_bit
+cal11
+cal11_bit
+cal13
+cal13_bit
+cal15
+cal15_bit
+cal21
+cal21_bit
+cal23
+cal23_bit
+cal25
+cal25_bit
+cal31
+cal31_bit
+cal33
+cal33_bit
+cal35
+cal35_bit
+cal41
+cal41_bit
+cal43
+cal43_bit
+cal45
+cal45_bit
+cal51
+cal51_bit
+cal53
+cal53_bit
+cal55
+cal55_bit
+cal61
+cal61_bit
+cal63
+cal63_bit
+cal65
+cal65_bit
+cal71
+cal71_bit
+cal73
+cal73_bit
+cal75
+cal75_bit
+cap
+carry
+carry_bit
+ccdcon
+ccden
+ccden_bit
+ccdna
+ccdna0
+ccdna0_bit
+ccdna1
+ccdna1_bit
+ccdna2
+ccdna2_bit
+ccdna3
+ccdna3_bit
+ccdna4
+ccdna4_bit
+ccdna5
+ccdna5_bit
+ccdna6
+ccdna6_bit
+ccdna7
+ccdna7_bit
+ccdnb
+ccdnb0
+ccdnb0_bit
+ccdnb1
+ccdnb1_bit
+ccdnb2
+ccdnb2_bit
+ccdnb3
+ccdnb3_bit
+ccdnb4
+ccdnb4_bit
+ccdnb5
+ccdnb5_bit
+ccdnb6
+ccdnb6_bit
+ccdnb7
+ccdnb7_bit
+ccdnc
+ccdnc0
+ccdnc0_bit
+ccdnc1
+ccdnc1_bit
+ccdnc2
+ccdnc2_bit
+ccdnc3
+ccdnc3_bit
+ccdnc4
+ccdnc4_bit
+ccdnc5
+ccdnc5_bit
+ccdnc6
+ccdnc6_bit
+ccdnc7
+ccdnc7_bit
+ccdnd
+ccdnd0
+ccdnd0_bit
+ccdnd1
+ccdnd1_bit
+ccdnd2
+ccdnd2_bit
+ccdnd3
+ccdnd3_bit
+ccdnd4
+ccdnd4_bit
+ccdnd5
+ccdnd5_bit
+ccdnd6
+ccdnd6_bit
+ccdnd7
+ccdnd7_bit
+ccdne
+ccdne0
+ccdne0_bit
+ccdne1
+ccdne1_bit
+ccdne2
+ccdne2_bit
+ccdpa
+ccdpa0
+ccdpa0_bit
+ccdpa1
+ccdpa1_bit
+ccdpa2
+ccdpa2_bit
+ccdpa3
+ccdpa3_bit
+ccdpa4
+ccdpa4_bit
+ccdpa5
+ccdpa5_bit
+ccdpa6
+ccdpa6_bit
+ccdpa7
+ccdpa7_bit
+ccdpb
+ccdpb0
+ccdpb0_bit
+ccdpb1
+ccdpb1_bit
+ccdpb2
+ccdpb2_bit
+ccdpb3
+ccdpb3_bit
+ccdpb4
+ccdpb4_bit
+ccdpb5
+ccdpb5_bit
+ccdpb6
+ccdpb6_bit
+ccdpb7
+ccdpb7_bit
+ccdpc
+ccdpc0
+ccdpc0_bit
+ccdpc1
+ccdpc1_bit
+ccdpc2
+ccdpc2_bit
+ccdpc3
+ccdpc3_bit
+ccdpc4
+ccdpc4_bit
+ccdpc5
+ccdpc5_bit
+ccdpc6
+ccdpc6_bit
+ccdpc7
+ccdpc7_bit
+ccdpd
+ccdpd0
+ccdpd0_bit
+ccdpd1
+ccdpd1_bit
+ccdpd2
+ccdpd2_bit
+ccdpd3
+ccdpd3_bit
+ccdpd4
+ccdpd4_bit
+ccdpd5
+ccdpd5_bit
+ccdpd6
+ccdpd6_bit
+ccdpd7
+ccdpd7_bit
+ccdpe
+ccdpe0
+ccdpe0_bit
+ccdpe1
+ccdpe1_bit
+ccdpe2
+ccdpe2_bit
+ccds0
+ccds0_bit
+ccds1
+ccds1_bit
+ccp1cap
+ccp1con
+ccp1cts0
+ccp1cts0_bit
+ccp1cts1
+ccp1cts1_bit
+ccp1cts2
+ccp1cts2_bit
+ccp1en
+ccp1en_bit
+ccp1fmt
+ccp1fmt_bit
+ccp1ie
+ccp1ie_bit
+ccp1if
+ccp1if_bit
+ccp1md
+ccp1md_bit
+ccp1mode0
+ccp1mode0_bit
+ccp1mode1
+ccp1mode1_bit
+ccp1mode2
+ccp1mode2_bit
+ccp1mode3
+ccp1mode3_bit
+ccp1oe
+ccp1oe_bit
+ccp1out
+ccp1out_bit
+ccp1pps
+ccp1pps0
+ccp1pps0_bit
+ccp1pps1
+ccp1pps1_bit
+ccp1pps2
+ccp1pps2_bit
+ccp1pps3
+ccp1pps3_bit
+ccp1pps4
+ccp1pps4_bit
+ccp2cap
+ccp2con
+ccp2cts0
+ccp2cts0_bit
+ccp2cts1
+ccp2cts1_bit
+ccp2cts2
+ccp2cts2_bit
+ccp2en
+ccp2en_bit
+ccp2fmt
+ccp2fmt_bit
+ccp2ie
+ccp2ie_bit
+ccp2if
+ccp2if_bit
+ccp2md
+ccp2md_bit
+ccp2mode0
+ccp2mode0_bit
+ccp2mode1
+ccp2mode1_bit
+ccp2mode2
+ccp2mode2_bit
+ccp2mode3
+ccp2mode3_bit
+ccp2oe
+ccp2oe_bit
+ccp2out
+ccp2out_bit
+ccp2pps
+ccp2pps0
+ccp2pps0_bit
+ccp2pps1
+ccp2pps1_bit
+ccp2pps2
+ccp2pps2_bit
+ccp2pps3
+ccp2pps3_bit
+ccp2pps4
+ccp2pps4_bit
+ccp3cap
+ccp3con
+ccp3cts0
+ccp3cts0_bit
+ccp3cts1
+ccp3cts1_bit
+ccp3cts2
+ccp3cts2_bit
+ccp3en
+ccp3en_bit
+ccp3fmt
+ccp3fmt_bit
+ccp3ie
+ccp3ie_bit
+ccp3if
+ccp3if_bit
+ccp3md
+ccp3md_bit
+ccp3mode0
+ccp3mode0_bit
+ccp3mode1
+ccp3mode1_bit
+ccp3mode2
+ccp3mode2_bit
+ccp3mode3
+ccp3mode3_bit
+ccp3oe
+ccp3oe_bit
+ccp3out
+ccp3out_bit
+ccp3pps
+ccp3pps0
+ccp3pps0_bit
+ccp3pps1
+ccp3pps1_bit
+ccp3pps2
+ccp3pps2_bit
+ccp3pps3
+ccp3pps3_bit
+ccp3pps4
+ccp3pps4_bit
+ccp4cap
+ccp4con
+ccp4cts0
+ccp4cts0_bit
+ccp4cts1
+ccp4cts1_bit
+ccp4cts2
+ccp4cts2_bit
+ccp4en
+ccp4en_bit
+ccp4fmt
+ccp4fmt_bit
+ccp4ie
+ccp4ie_bit
+ccp4if
+ccp4if_bit
+ccp4md
+ccp4md_bit
+ccp4mode0
+ccp4mode0_bit
+ccp4mode1
+ccp4mode1_bit
+ccp4mode2
+ccp4mode2_bit
+ccp4mode3
+ccp4mode3_bit
+ccp4oe
+ccp4oe_bit
+ccp4out
+ccp4out_bit
+ccp4pps
+ccp4pps0
+ccp4pps0_bit
+ccp4pps1
+ccp4pps1_bit
+ccp4pps2
+ccp4pps2_bit
+ccp4pps3
+ccp4pps3_bit
+ccp4pps4
+ccp4pps4_bit
+ccp5cap
+ccp5con
+ccp5cts0
+ccp5cts0_bit
+ccp5cts1
+ccp5cts1_bit
+ccp5cts2
+ccp5cts2_bit
+ccp5en
+ccp5en_bit
+ccp5fmt
+ccp5fmt_bit
+ccp5ie
+ccp5ie_bit
+ccp5if
+ccp5if_bit
+ccp5md
+ccp5md_bit
+ccp5mode0
+ccp5mode0_bit
+ccp5mode1
+ccp5mode1_bit
+ccp5mode2
+ccp5mode2_bit
+ccp5mode3
+ccp5mode3_bit
+ccp5oe
+ccp5oe_bit
+ccp5out
+ccp5out_bit
+ccp5pps
+ccp5pps0
+ccp5pps0_bit
+ccp5pps1
+ccp5pps1_bit
+ccp5pps2
+ccp5pps2_bit
+ccp5pps3
+ccp5pps3_bit
+ccp5pps4
+ccp5pps4_bit
+ccp5pps5
+ccp5pps5_bit
+ccpr1
+ccpr1h
+ccpr1l
+ccpr2
+ccpr2h
+ccpr2l
+ccpr3
+ccpr3h
+ccpr3l
+ccpr4
+ccpr4h
+ccpr4l
+ccpr5
+ccpr5h
+ccpr5l
+ccptmrs0
+ccptmrs1
+cdafvr0
+cdafvr0_bit
+cdafvr1
+cdafvr1_bit
+cdiv0
+cdiv0_bit
+cdiv1
+cdiv1_bit
+cdiv2
+cdiv2_bit
+cdiv3
+cdiv3_bit
+check_reset_flags
+cke1
+cke1_bit
+cke2
+cke2_bit
+ckp1
+ckp1_bit
+ckp2
+ckp2_bit
+clc1con
+clc1gls0
+clc1gls1
+clc1gls2
+clc1gls3
+clc1ie
+clc1ie_bit
+clc1if
+clc1if_bit
+clc1md
+clc1md_bit
+clc1pol
+clc1sel0
+clc1sel1
+clc1sel2
+clc1sel3
+clc2con
+clc2gls0
+clc2gls1
+clc2gls2
+clc2gls3
+clc2ie
+clc2ie_bit
+clc2if
+clc2if_bit
+clc2md
+clc2md_bit
+clc2pol
+clc2sel0
+clc2sel1
+clc2sel2
+clc2sel3
+clc3con
+clc3gls0
+clc3gls1
+clc3gls2
+clc3gls3
+clc3ie
+clc3ie_bit
+clc3if
+clc3if_bit
+clc3md
+clc3md_bit
+clc3pol
+clc3sel0
+clc3sel1
+clc3sel2
+clc3sel3
+clc4con
+clc4gls0
+clc4gls1
+clc4gls2
+clc4gls3
+clc4ie
+clc4ie_bit
+clc4if
+clc4if_bit
+clc4md
+clc4md_bit
+clc4pol
+clc4sel0
+clc4sel1
+clc4sel2
+clc4sel3
+clcdata
+clcin0pps
+clcin0pps0
+clcin0pps0_bit
+clcin0pps1
+clcin0pps1_bit
+clcin0pps2
+clcin0pps2_bit
+clcin0pps3
+clcin0pps3_bit
+clcin0pps4
+clcin0pps4_bit
+clcin1pps
+clcin1pps0
+clcin1pps0_bit
+clcin1pps1
+clcin1pps1_bit
+clcin1pps2
+clcin1pps2_bit
+clcin1pps3
+clcin1pps3_bit
+clcin1pps4
+clcin1pps4_bit
+clcin2pps
+clcin2pps0
+clcin2pps0_bit
+clcin2pps1
+clcin2pps1_bit
+clcin2pps2
+clcin2pps2_bit
+clcin2pps3
+clcin2pps3_bit
+clcin2pps4
+clcin2pps4_bit
+clcin3pps
+clcin3pps0
+clcin3pps0_bit
+clcin3pps1
+clcin3pps1_bit
+clcin3pps2
+clcin3pps2_bit
+clcin3pps3
+clcin3pps3_bit
+clcin3pps4
+clcin3pps4_bit
+clkrclk
+clkrclk0
+clkrclk0_bit
+clkrclk1
+clkrclk1_bit
+clkrclk2
+clkrclk2_bit
+clkrclk3
+clkrclk3_bit
+clkrcon
+clkrdc0
+clkrdc0_bit
+clkrdc1
+clkrdc1_bit
+clkrdiv0
+clkrdiv0_bit
+clkrdiv1
+clkrdiv1_bit
+clkrdiv2
+clkrdiv2_bit
+clkren
+clkren_bit
+clkrmd
+clkrmd_bit
+cm1con0
+cm1con1
+cm1nsel
+cm1psel
+cm2con0
+cm2con1
+cm2nsel
+cm2psel
+cmout
+cmp1md
+cmp1md_bit
+cmp2md
+cmp2md_bit
+cmstat
+coarse_cap
+coarse_tune
+comfrem
+compare_double
+correction
+cosc0
+cosc0_bit
+cosc1
+cosc1_bit
+cosc2
+cosc2_bit
+cpudoze
+crcacc
+crcacch
+crcaccl
+crccon0
+crccon1
+crcdata
+crcdath
+crcdatl
+crcen
+crcen_bit
+crcgo
+crcgo_bit
+crcie
+crcie_bit
+crcif
+crcif_bit
+crcmd
+crcmd_bit
+crcshft
+crcshifth
+crcshiftl
+crcxor
+crcxorh
+crcxorl
+cren
+cren_bit
+csrc
+csrc_bit
+cswhold
+cswhold_bit
+cswie
+cswie_bit
+cswif
+cswif_bit
+cwg1as0
+cwg1as1
+cwg1clkcon
+cwg1con0
+cwg1con1
+cwg1cs
+cwg1cs_bit
+cwg1dbf
+cwg1dbf0
+cwg1dbf0_bit
+cwg1dbf1
+cwg1dbf1_bit
+cwg1dbf2
+cwg1dbf2_bit
+cwg1dbf3
+cwg1dbf3_bit
+cwg1dbf4
+cwg1dbf4_bit
+cwg1dbf5
+cwg1dbf5_bit
+cwg1dbr
+cwg1dbr0
+cwg1dbr0_bit
+cwg1dbr1
+cwg1dbr1_bit
+cwg1dbr2
+cwg1dbr2_bit
+cwg1dbr3
+cwg1dbr3_bit
+cwg1dbr4
+cwg1dbr4_bit
+cwg1dbr5
+cwg1dbr5_bit
+cwg1en
+cwg1en_bit
+cwg1ie
+cwg1ie_bit
+cwg1if
+cwg1if_bit
+cwg1in
+cwg1in_bit
+cwg1ism
+cwg1ism0
+cwg1ism0_bit
+cwg1ism1
+cwg1ism1_bit
+cwg1ism2
+cwg1ism2_bit
+cwg1ism3
+cwg1ism3_bit
+cwg1ld
+cwg1ld_bit
+cwg1lsac0
+cwg1lsac0_bit
+cwg1lsac1
+cwg1lsac1_bit
+cwg1lsbd0
+cwg1lsbd0_bit
+cwg1lsbd1
+cwg1lsbd1_bit
+cwg1md
+cwg1md_bit
+cwg1mode0
+cwg1mode0_bit
+cwg1mode1
+cwg1mode1_bit
+cwg1mode2
+cwg1mode2_bit
+cwg1ovra
+cwg1ovra_bit
+cwg1ovrb
+cwg1ovrb_bit
+cwg1ovrc
+cwg1ovrc_bit
+cwg1ovrd
+cwg1ovrd_bit
+cwg1pola
+cwg1pola_bit
+cwg1polb
+cwg1polb_bit
+cwg1polc
+cwg1polc_bit
+cwg1pold
+cwg1pold_bit
+cwg1pps
+cwg1pps0
+cwg1pps0_bit
+cwg1pps1
+cwg1pps1_bit
+cwg1pps2
+cwg1pps2_bit
+cwg1pps3
+cwg1pps3_bit
+cwg1pps4
+cwg1pps4_bit
+cwg1ren
+cwg1ren_bit
+cwg1shutdown
+cwg1shutdown_bit
+cwg1str
+cwg1stra
+cwg1stra_bit
+cwg1strb
+cwg1strb_bit
+cwg1strc
+cwg1strc_bit
+cwg1strd
+cwg1strd_bit
+cwg2as0
+cwg2as1
+cwg2clkcon
+cwg2con0
+cwg2con1
+cwg2cs
+cwg2cs_bit
+cwg2dbf
+cwg2dbf0
+cwg2dbf0_bit
+cwg2dbf1
+cwg2dbf1_bit
+cwg2dbf2
+cwg2dbf2_bit
+cwg2dbf3
+cwg2dbf3_bit
+cwg2dbf4
+cwg2dbf4_bit
+cwg2dbf5
+cwg2dbf5_bit
+cwg2dbr
+cwg2dbr0
+cwg2dbr0_bit
+cwg2dbr1
+cwg2dbr1_bit
+cwg2dbr2
+cwg2dbr2_bit
+cwg2dbr3
+cwg2dbr3_bit
+cwg2dbr4
+cwg2dbr4_bit
+cwg2dbr5
+cwg2dbr5_bit
+cwg2en
+cwg2en_bit
+cwg2ie
+cwg2ie_bit
+cwg2if
+cwg2if_bit
+cwg2in
+cwg2in_bit
+cwg2ism
+cwg2ism0
+cwg2ism0_bit
+cwg2ism1
+cwg2ism1_bit
+cwg2ism2
+cwg2ism2_bit
+cwg2ism3
+cwg2ism3_bit
+cwg2ld
+cwg2ld_bit
+cwg2lsac0
+cwg2lsac0_bit
+cwg2lsac1
+cwg2lsac1_bit
+cwg2lsbd0
+cwg2lsbd0_bit
+cwg2lsbd1
+cwg2lsbd1_bit
+cwg2md
+cwg2md_bit
+cwg2mode0
+cwg2mode0_bit
+cwg2mode1
+cwg2mode1_bit
+cwg2mode2
+cwg2mode2_bit
+cwg2ovra
+cwg2ovra_bit
+cwg2ovrb
+cwg2ovrb_bit
+cwg2ovrc
+cwg2ovrc_bit
+cwg2ovrd
+cwg2ovrd_bit
+cwg2pola
+cwg2pola_bit
+cwg2polb
+cwg2polb_bit
+cwg2polc
+cwg2polc_bit
+cwg2pold
+cwg2pold_bit
+cwg2pps
+cwg2pps0
+cwg2pps0_bit
+cwg2pps1
+cwg2pps1_bit
+cwg2pps2
+cwg2pps2_bit
+cwg2pps3
+cwg2pps3_bit
+cwg2pps4
+cwg2pps4_bit
+cwg2ren
+cwg2ren_bit
+cwg2shutdown
+cwg2shutdown_bit
+cwg2str
+cwg2stra
+cwg2stra_bit
+cwg2strb
+cwg2strb_bit
+cwg2strc
+cwg2strc_bit
+cwg2strd
+cwg2strd_bit
+cwg3as0
+cwg3as1
+cwg3clkcon
+cwg3con0
+cwg3con1
+cwg3cs
+cwg3cs_bit
+cwg3dbf
+cwg3dbf0
+cwg3dbf0_bit
+cwg3dbf1
+cwg3dbf1_bit
+cwg3dbf2
+cwg3dbf2_bit
+cwg3dbf3
+cwg3dbf3_bit
+cwg3dbf4
+cwg3dbf4_bit
+cwg3dbf5
+cwg3dbf5_bit
+cwg3dbr
+cwg3dbr0
+cwg3dbr0_bit
+cwg3dbr1
+cwg3dbr1_bit
+cwg3dbr2
+cwg3dbr2_bit
+cwg3dbr3
+cwg3dbr3_bit
+cwg3dbr4
+cwg3dbr4_bit
+cwg3dbr5
+cwg3dbr5_bit
+cwg3en
+cwg3en_bit
+cwg3ie
+cwg3ie_bit
+cwg3if
+cwg3if_bit
+cwg3in
+cwg3in_bit
+cwg3ism
+cwg3ism0
+cwg3ism0_bit
+cwg3ism1
+cwg3ism1_bit
+cwg3ism2
+cwg3ism2_bit
+cwg3ism3
+cwg3ism3_bit
+cwg3ld
+cwg3ld_bit
+cwg3lsac0
+cwg3lsac0_bit
+cwg3lsac1
+cwg3lsac1_bit
+cwg3lsbd0
+cwg3lsbd0_bit
+cwg3lsbd1
+cwg3lsbd1_bit
+cwg3md
+cwg3md_bit
+cwg3mode0
+cwg3mode0_bit
+cwg3mode1
+cwg3mode1_bit
+cwg3mode2
+cwg3mode2_bit
+cwg3ovra
+cwg3ovra_bit
+cwg3ovrb
+cwg3ovrb_bit
+cwg3ovrc
+cwg3ovrc_bit
+cwg3ovrd
+cwg3ovrd_bit
+cwg3pola
+cwg3pola_bit
+cwg3polb
+cwg3polb_bit
+cwg3polc
+cwg3polc_bit
+cwg3pold
+cwg3pold_bit
+cwg3pps
+cwg3pps0
+cwg3pps0_bit
+cwg3pps1
+cwg3pps1_bit
+cwg3pps2
+cwg3pps2_bit
+cwg3pps3
+cwg3pps3_bit
+cwg3pps4
+cwg3pps4_bit
+cwg3ren
+cwg3ren_bit
+cwg3shutdown
+cwg3shutdown_bit
+cwg3str
+cwg3stra
+cwg3stra_bit
+cwg3strb
+cwg3strb_bit
+cwg3strc
+cwg3strc_bit
+cwg3strd
+cwg3strd_bit
+d_a1
+d_a1_bit
+d_a2
+d_a2_bit
+d_na1
+d_na1_bit
+d_na2
+d_na2_bit
+da1
+da1_bit
+da2
+da2_bit
+dabort
+dabort_bit
+dac1con0
+dac1con1
+dac1en
+dac1en_bit
+dac1nss
+dac1nss_bit
+dac1oe1
+dac1oe1_bit
+dac1oe2
+dac1oe2_bit
+dac1pss0
+dac1pss0_bit
+dac1pss1
+dac1pss1_bit
+dac1r0
+dac1r0_bit
+dac1r1
+dac1r1_bit
+dac1r2
+dac1r2_bit
+dac1r3
+dac1r3_bit
+dac1r4
+dac1r4_bit
+dacmd
+dacmd_bit
+data_address1
+data_address1_bit
+data_address2
+data_address2_bit
+data0
+data0_bit
+data1
+data1_bit
+data10
+data10_bit
+data11
+data11_bit
+data12
+data12_bit
+data13
+data13_bit
+data14
+data14_bit
+data15
+data15_bit
+data2
+data2_bit
+data3
+data3_bit
+data4
+data4_bit
+data5
+data5_bit
+data6
+data6_bit
+data7
+data7_bit
+data8
+data8_bit
+data9
+data9_bit
+dc
+dc_bit
+dc_shad
+dc_shad_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
+disp_cnt
+disp_time
+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
+dlen0
+dlen0_bit
+dlen1
+dlen1_bit
+dlen2
+dlen2_bit
+dlen3
+dlen3_bit
+doe
+doe_bit
+done
+done_bit
+double2byte
+double2int
+double2longint
+double2longword
+double2word
+doze0
+doze0_bit
+doze1
+doze1_bit
+doze2
+doze2_bit
+dozen
+dozen_bit
+draw_power
+draw_swr
+dsmmd
+dsmmd_bit
+e_long
+e_short
+equals_double
+ext_long
+extoen
+extoen_bit
+extor
+extor_bit
+f
+ferr
+ferr_bit
+fixsign32
+floattostr
+floattostr_fixlen
+free
+free_bit
+fsr0
+fsr0h
+fsr0h_shad
+fsr0l
+fsr0l_shad
+fsr0ptr
+fsr1
+fsr1h
+fsr1h_shad
+fsr1l
+fsr1l_shad
+fsr1ptr
+full
+full_bit
+fvrcon
+fvren
+fvren_bit
+fvrmd
+fvrmd_bit
+fvrrdy
+fvrrdy_bit
+g1en
+g1en_bit
+g2en
+g2en_bit
+g3en
+g3en_bit
+gcen1
+gcen1_bit
+gcen2
+gcen2_bit
+get_batt
+get_forward
+get_fosc_khz
+get_pwr
+get_reverse
+get_swr
+gie
+gie_bit
+go_ndone
+go_ndone_bit
+go_not_done
+go_not_done_bit
+gre
+greating
+green
+hadr0
+hadr0_bit
+hadr1
+hadr1_bit
+hadr10
+hadr10_bit
+hadr11
+hadr11_bit
+hadr12
+hadr12_bit
+hadr13
+hadr13_bit
+hadr14
+hadr14_bit
+hadr15
+hadr15_bit
+hadr2
+hadr2_bit
+hadr3
+hadr3_bit
+hadr4
+hadr4_bit
+hadr5
+hadr5_bit
+hadr6
+hadr6_bit
+hadr7
+hadr7_bit
+hadr8
+hadr8_bit
+hadr9
+hadr9_bit
+hextobyte
+hextoint
+hextolong
+hextolongint
+hextoshort
+hextoword
+hffrq0
+hffrq0_bit
+hffrq1
+hffrq1_bit
+hffrq2
+hffrq2_bit
+hfoen
+hfoen_bit
+hfor
+hfor_bit
+hftun0
+hftun0_bit
+hftun1
+hftun1_bit
+hftun2
+hftun2_bit
+hftun3
+hftun3_bit
+hftun4
+hftun4_bit
+hftun5
+hftun5_bit
+i2c_dat1
+i2c_dat1_bit
+i2c_dat2
+i2c_dat2_bit
+i2c_read1
+i2c_read1_bit
+i2c_read2
+i2c_read2_bit
+i2c_start1
+i2c_start1_bit
+i2c_start2
+i2c_start2_bit
+ics_auto
+ics_off
+idlen
+idlen_bit
+ind
+indf0
+indf1
+inlvla
+inlvla0
+inlvla0_bit
+inlvla1
+inlvla1_bit
+inlvla2
+inlvla2_bit
+inlvla3
+inlvla3_bit
+inlvla4
+inlvla4_bit
+inlvla5
+inlvla5_bit
+inlvla6
+inlvla6_bit
+inlvla7
+inlvla7_bit
+inlvlb
+inlvlb0
+inlvlb0_bit
+inlvlb1
+inlvlb1_bit
+inlvlb2
+inlvlb2_bit
+inlvlb3
+inlvlb3_bit
+inlvlb4
+inlvlb4_bit
+inlvlb5
+inlvlb5_bit
+inlvlb6
+inlvlb6_bit
+inlvlb7
+inlvlb7_bit
+inlvlc
+inlvlc0
+inlvlc0_bit
+inlvlc1
+inlvlc1_bit
+inlvlc2
+inlvlc2_bit
+inlvlc3
+inlvlc3_bit
+inlvlc4
+inlvlc4_bit
+inlvlc5
+inlvlc5_bit
+inlvlc6
+inlvlc6_bit
+inlvlc7
+inlvlc7_bit
+inlvld
+inlvld0
+inlvld0_bit
+inlvld1
+inlvld1_bit
+inlvld2
+inlvld2_bit
+inlvld3
+inlvld3_bit
+inlvld4
+inlvld4_bit
+inlvld5
+inlvld5_bit
+inlvld6
+inlvld6_bit
+inlvld7
+inlvld7_bit
+inlvle
+inlvle0
+inlvle0_bit
+inlvle1
+inlvle1_bit
+inlvle2
+inlvle2_bit
+inlvle3
+inlvle3_bit
+int2double
+intcon
+inte
+inte_bit
+intedg
+intedg_bit
+interupt
+intf
+intf_bit
+intm
+intm_bit
+intpps
+intpps0
+intpps0_bit
+intpps1
+intpps1_bit
+intpps2
+intpps2_bit
+intpps3
+intpps3_bit
+inttohex
+inttostr
+inttostrwithzeros
+invalid
+invalid_bit
+iocaf
+iocaf0
+iocaf0_bit
+iocaf1
+iocaf1_bit
+iocaf2
+iocaf2_bit
+iocaf3
+iocaf3_bit
+iocaf4
+iocaf4_bit
+iocaf5
+iocaf5_bit
+iocaf6
+iocaf6_bit
+iocaf7
+iocaf7_bit
+iocan
+iocan0
+iocan0_bit
+iocan1
+iocan1_bit
+iocan2
+iocan2_bit
+iocan3
+iocan3_bit
+iocan4
+iocan4_bit
+iocan5
+iocan5_bit
+iocan6
+iocan6_bit
+iocan7
+iocan7_bit
+iocap
+iocap0
+iocap0_bit
+iocap1
+iocap1_bit
+iocap2
+iocap2_bit
+iocap3
+iocap3_bit
+iocap4
+iocap4_bit
+iocap5
+iocap5_bit
+iocap6
+iocap6_bit
+iocap7
+iocap7_bit
+iocbf
+iocbf0
+iocbf0_bit
+iocbf1
+iocbf1_bit
+iocbf2
+iocbf2_bit
+iocbf3
+iocbf3_bit
+iocbf4
+iocbf4_bit
+iocbf5
+iocbf5_bit
+iocbf6
+iocbf6_bit
+iocbf7
+iocbf7_bit
+iocbn
+iocbn0
+iocbn0_bit
+iocbn1
+iocbn1_bit
+iocbn2
+iocbn2_bit
+iocbn3
+iocbn3_bit
+iocbn4
+iocbn4_bit
+iocbn5
+iocbn5_bit
+iocbn6
+iocbn6_bit
+iocbn7
+iocbn7_bit
+iocbp
+iocbp0
+iocbp0_bit
+iocbp1
+iocbp1_bit
+iocbp2
+iocbp2_bit
+iocbp3
+iocbp3_bit
+iocbp4
+iocbp4_bit
+iocbp5
+iocbp5_bit
+iocbp6
+iocbp6_bit
+iocbp7
+iocbp7_bit
+ioccf
+ioccf0
+ioccf0_bit
+ioccf1
+ioccf1_bit
+ioccf2
+ioccf2_bit
+ioccf3
+ioccf3_bit
+ioccf4
+ioccf4_bit
+ioccf5
+ioccf5_bit
+ioccf6
+ioccf6_bit
+ioccf7
+ioccf7_bit
+ioccn
+ioccn0
+ioccn0_bit
+ioccn1
+ioccn1_bit
+ioccn2
+ioccn2_bit
+ioccn3
+ioccn3_bit
+ioccn4
+ioccn4_bit
+ioccn5
+ioccn5_bit
+ioccn6
+ioccn6_bit
+ioccn7
+ioccn7_bit
+ioccp
+ioccp0
+ioccp0_bit
+ioccp1
+ioccp1_bit
+ioccp2
+ioccp2_bit
+ioccp3
+ioccp3_bit
+ioccp4
+ioccp4_bit
+ioccp5
+ioccp5_bit
+ioccp6
+ioccp6_bit
+ioccp7
+ioccp7_bit
+iocef
+iocef3
+iocef3_bit
+iocen
+iocen3
+iocen3_bit
+iocep
+iocep3
+iocep3_bit
+iocie
+iocie_bit
+iocif
+iocif_bit
+iocmd
+iocmd_bit
+l_010
+l_022
+l_045
+l_100
+l_1000
+l_220
+l_450
+l_linear
+ladr0
+ladr0_bit
+ladr1
+ladr1_bit
+ladr10
+ladr10_bit
+ladr11
+ladr11_bit
+ladr12
+ladr12_bit
+ladr13
+ladr13_bit
+ladr14
+ladr14_bit
+ladr15
+ladr15_bit
+ladr2
+ladr2_bit
+ladr3
+ladr3_bit
+ladr4
+ladr4_bit
+ladr5
+ladr5_bit
+ladr6
+ladr6_bit
+ladr7
+ladr7_bit
+ladr8
+ladr8_bit
+ladr9
+ladr9_bit
+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
+latd
+latd0
+latd0_bit
+latd1
+latd1_bit
+latd2
+latd2_bit
+latd3
+latd3_bit
+latd4
+latd4_bit
+latd5
+latd5_bit
+latd6
+latd6_bit
+latd7
+latd7_bit
+late
+late0
+late0_bit
+late1
+late1_bit
+late2
+late2_bit
+lc1d1s0
+lc1d1s0_bit
+lc1d1s1
+lc1d1s1_bit
+lc1d1s2
+lc1d1s2_bit
+lc1d1s3
+lc1d1s3_bit
+lc1d1s4
+lc1d1s4_bit
+lc1d1s5
+lc1d1s5_bit
+lc1d1s6
+lc1d1s6_bit
+lc1d1s7
+lc1d1s7_bit
+lc1d2s0
+lc1d2s0_bit
+lc1d2s1
+lc1d2s1_bit
+lc1d2s2
+lc1d2s2_bit
+lc1d2s3
+lc1d2s3_bit
+lc1d2s4
+lc1d2s4_bit
+lc1d2s5
+lc1d2s5_bit
+lc1d2s6
+lc1d2s6_bit
+lc1d2s7
+lc1d2s7_bit
+lc1d3s0
+lc1d3s0_bit
+lc1d3s1
+lc1d3s1_bit
+lc1d3s2
+lc1d3s2_bit
+lc1d3s3
+lc1d3s3_bit
+lc1d3s4
+lc1d3s4_bit
+lc1d3s5
+lc1d3s5_bit
+lc1d3s6
+lc1d3s6_bit
+lc1d3s7
+lc1d3s7_bit
+lc1d4s0
+lc1d4s0_bit
+lc1d4s1
+lc1d4s1_bit
+lc1d4s2
+lc1d4s2_bit
+lc1d4s3
+lc1d4s3_bit
+lc1d4s4
+lc1d4s4_bit
+lc1d4s5
+lc1d4s5_bit
+lc1d4s6
+lc1d4s6_bit
+lc1d4s7
+lc1d4s7_bit
+lc1en
+lc1en_bit
+lc1g1d1n
+lc1g1d1n_bit
+lc1g1d1t
+lc1g1d1t_bit
+lc1g1d2n
+lc1g1d2n_bit
+lc1g1d2t
+lc1g1d2t_bit
+lc1g1d3n
+lc1g1d3n_bit
+lc1g1d3t
+lc1g1d3t_bit
+lc1g1d4n
+lc1g1d4n_bit
+lc1g1d4t
+lc1g1d4t_bit
+lc1g1pol
+lc1g1pol_bit
+lc1g2d1n
+lc1g2d1n_bit
+lc1g2d1t
+lc1g2d1t_bit
+lc1g2d2n
+lc1g2d2n_bit
+lc1g2d2t
+lc1g2d2t_bit
+lc1g2d3n
+lc1g2d3n_bit
+lc1g2d3t
+lc1g2d3t_bit
+lc1g2d4n
+lc1g2d4n_bit
+lc1g2d4t
+lc1g2d4t_bit
+lc1g2pol
+lc1g2pol_bit
+lc1g3d1n
+lc1g3d1n_bit
+lc1g3d1t
+lc1g3d1t_bit
+lc1g3d2n
+lc1g3d2n_bit
+lc1g3d2t
+lc1g3d2t_bit
+lc1g3d3n
+lc1g3d3n_bit
+lc1g3d3t
+lc1g3d3t_bit
+lc1g3d4n
+lc1g3d4n_bit
+lc1g3d4t
+lc1g3d4t_bit
+lc1g3pol
+lc1g3pol_bit
+lc1g4d1n
+lc1g4d1n_bit
+lc1g4d1t
+lc1g4d1t_bit
+lc1g4d2n
+lc1g4d2n_bit
+lc1g4d2t
+lc1g4d2t_bit
+lc1g4d3n
+lc1g4d3n_bit
+lc1g4d3t
+lc1g4d3t_bit
+lc1g4d4n
+lc1g4d4n_bit
+lc1g4d4t
+lc1g4d4t_bit
+lc1g4pol
+lc1g4pol_bit
+lc1intn
+lc1intn_bit
+lc1intp
+lc1intp_bit
+lc1mode0
+lc1mode0_bit
+lc1mode1
+lc1mode1_bit
+lc1mode2
+lc1mode2_bit
+lc1out
+lc1out_bit
+lc1pol
+lc1pol_bit
+lc2d1s0
+lc2d1s0_bit
+lc2d1s1
+lc2d1s1_bit
+lc2d1s2
+lc2d1s2_bit
+lc2d1s3
+lc2d1s3_bit
+lc2d1s4
+lc2d1s4_bit
+lc2d1s5
+lc2d1s5_bit
+lc2d1s6
+lc2d1s6_bit
+lc2d1s7
+lc2d1s7_bit
+lc2d2s0
+lc2d2s0_bit
+lc2d2s1
+lc2d2s1_bit
+lc2d2s2
+lc2d2s2_bit
+lc2d2s3
+lc2d2s3_bit
+lc2d2s4
+lc2d2s4_bit
+lc2d2s5
+lc2d2s5_bit
+lc2d2s6
+lc2d2s6_bit
+lc2d2s7
+lc2d2s7_bit
+lc2d3s0
+lc2d3s0_bit
+lc2d3s1
+lc2d3s1_bit
+lc2d3s2
+lc2d3s2_bit
+lc2d3s3
+lc2d3s3_bit
+lc2d3s4
+lc2d3s4_bit
+lc2d3s5
+lc2d3s5_bit
+lc2d3s6
+lc2d3s6_bit
+lc2d3s7
+lc2d3s7_bit
+lc2d4s0
+lc2d4s0_bit
+lc2d4s1
+lc2d4s1_bit
+lc2d4s2
+lc2d4s2_bit
+lc2d4s3
+lc2d4s3_bit
+lc2d4s4
+lc2d4s4_bit
+lc2d4s5
+lc2d4s5_bit
+lc2d4s6
+lc2d4s6_bit
+lc2d4s7
+lc2d4s7_bit
+lc2en
+lc2en_bit
+lc2g1d1n
+lc2g1d1n_bit
+lc2g1d1t
+lc2g1d1t_bit
+lc2g1d2n
+lc2g1d2n_bit
+lc2g1d2t
+lc2g1d2t_bit
+lc2g1d3n
+lc2g1d3n_bit
+lc2g1d3t
+lc2g1d3t_bit
+lc2g1d4n
+lc2g1d4n_bit
+lc2g1d4t
+lc2g1d4t_bit
+lc2g1pol
+lc2g1pol_bit
+lc2g2d1n
+lc2g2d1n_bit
+lc2g2d1t
+lc2g2d1t_bit
+lc2g2d2n
+lc2g2d2n_bit
+lc2g2d2t
+lc2g2d2t_bit
+lc2g2d3n
+lc2g2d3n_bit
+lc2g2d3t
+lc2g2d3t_bit
+lc2g2d4n
+lc2g2d4n_bit
+lc2g2d4t
+lc2g2d4t_bit
+lc2g2pol
+lc2g2pol_bit
+lc2g3d1n
+lc2g3d1n_bit
+lc2g3d1t
+lc2g3d1t_bit
+lc2g3d2n
+lc2g3d2n_bit
+lc2g3d2t
+lc2g3d2t_bit
+lc2g3d3n
+lc2g3d3n_bit
+lc2g3d3t
+lc2g3d3t_bit
+lc2g3d4n
+lc2g3d4n_bit
+lc2g3d4t
+lc2g3d4t_bit
+lc2g3pol
+lc2g3pol_bit
+lc2g4d1n
+lc2g4d1n_bit
+lc2g4d1t
+lc2g4d1t_bit
+lc2g4d2n
+lc2g4d2n_bit
+lc2g4d2t
+lc2g4d2t_bit
+lc2g4d3n
+lc2g4d3n_bit
+lc2g4d3t
+lc2g4d3t_bit
+lc2g4d4n
+lc2g4d4n_bit
+lc2g4d4t
+lc2g4d4t_bit
+lc2g4pol
+lc2g4pol_bit
+lc2intn
+lc2intn_bit
+lc2intp
+lc2intp_bit
+lc2mode0
+lc2mode0_bit
+lc2mode1
+lc2mode1_bit
+lc2mode2
+lc2mode2_bit
+lc2out
+lc2out_bit
+lc2pol
+lc2pol_bit
+lc3d1s0
+lc3d1s0_bit
+lc3d1s1
+lc3d1s1_bit
+lc3d1s2
+lc3d1s2_bit
+lc3d1s3
+lc3d1s3_bit
+lc3d1s4
+lc3d1s4_bit
+lc3d1s5
+lc3d1s5_bit
+lc3d1s6
+lc3d1s6_bit
+lc3d1s7
+lc3d1s7_bit
+lc3d2s0
+lc3d2s0_bit
+lc3d2s1
+lc3d2s1_bit
+lc3d2s2
+lc3d2s2_bit
+lc3d2s3
+lc3d2s3_bit
+lc3d2s4
+lc3d2s4_bit
+lc3d2s5
+lc3d2s5_bit
+lc3d2s6
+lc3d2s6_bit
+lc3d2s7
+lc3d2s7_bit
+lc3d3s0
+lc3d3s0_bit
+lc3d3s1
+lc3d3s1_bit
+lc3d3s2
+lc3d3s2_bit
+lc3d3s3
+lc3d3s3_bit
+lc3d3s4
+lc3d3s4_bit
+lc3d3s5
+lc3d3s5_bit
+lc3d3s6
+lc3d3s6_bit
+lc3d3s7
+lc3d3s7_bit
+lc3d4s0
+lc3d4s0_bit
+lc3d4s1
+lc3d4s1_bit
+lc3d4s2
+lc3d4s2_bit
+lc3d4s3
+lc3d4s3_bit
+lc3d4s4
+lc3d4s4_bit
+lc3d4s5
+lc3d4s5_bit
+lc3d4s6
+lc3d4s6_bit
+lc3d4s7
+lc3d4s7_bit
+lc3en
+lc3en_bit
+lc3g1d1n
+lc3g1d1n_bit
+lc3g1d1t
+lc3g1d1t_bit
+lc3g1d2n
+lc3g1d2n_bit
+lc3g1d2t
+lc3g1d2t_bit
+lc3g1d3n
+lc3g1d3n_bit
+lc3g1d3t
+lc3g1d3t_bit
+lc3g1d4n
+lc3g1d4n_bit
+lc3g1d4t
+lc3g1d4t_bit
+lc3g1pol
+lc3g1pol_bit
+lc3g2d1n
+lc3g2d1n_bit
+lc3g2d1t
+lc3g2d1t_bit
+lc3g2d2n
+lc3g2d2n_bit
+lc3g2d2t
+lc3g2d2t_bit
+lc3g2d3n
+lc3g2d3n_bit
+lc3g2d3t
+lc3g2d3t_bit
+lc3g2d4n
+lc3g2d4n_bit
+lc3g2d4t
+lc3g2d4t_bit
+lc3g2pol
+lc3g2pol_bit
+lc3g3d1n
+lc3g3d1n_bit
+lc3g3d1t
+lc3g3d1t_bit
+lc3g3d2n
+lc3g3d2n_bit
+lc3g3d2t
+lc3g3d2t_bit
+lc3g3d3n
+lc3g3d3n_bit
+lc3g3d3t
+lc3g3d3t_bit
+lc3g3d4n
+lc3g3d4n_bit
+lc3g3d4t
+lc3g3d4t_bit
+lc3g3pol
+lc3g3pol_bit
+lc3g4d1n
+lc3g4d1n_bit
+lc3g4d1t
+lc3g4d1t_bit
+lc3g4d2n
+lc3g4d2n_bit
+lc3g4d2t
+lc3g4d2t_bit
+lc3g4d3n
+lc3g4d3n_bit
+lc3g4d3t
+lc3g4d3t_bit
+lc3g4d4n
+lc3g4d4n_bit
+lc3g4d4t
+lc3g4d4t_bit
+lc3g4pol
+lc3g4pol_bit
+lc3intn
+lc3intn_bit
+lc3intp
+lc3intp_bit
+lc3mode0
+lc3mode0_bit
+lc3mode1
+lc3mode1_bit
+lc3mode2
+lc3mode2_bit
+lc3out
+lc3out_bit
+lc3pol
+lc3pol_bit
+lc4d1s0
+lc4d1s0_bit
+lc4d1s1
+lc4d1s1_bit
+lc4d1s2
+lc4d1s2_bit
+lc4d1s3
+lc4d1s3_bit
+lc4d1s4
+lc4d1s4_bit
+lc4d1s5
+lc4d1s5_bit
+lc4d1s6
+lc4d1s6_bit
+lc4d1s7
+lc4d1s7_bit
+lc4d2s0
+lc4d2s0_bit
+lc4d2s1
+lc4d2s1_bit
+lc4d2s2
+lc4d2s2_bit
+lc4d2s3
+lc4d2s3_bit
+lc4d2s4
+lc4d2s4_bit
+lc4d2s5
+lc4d2s5_bit
+lc4d2s6
+lc4d2s6_bit
+lc4d2s7
+lc4d2s7_bit
+lc4d3s0
+lc4d3s0_bit
+lc4d3s1
+lc4d3s1_bit
+lc4d3s2
+lc4d3s2_bit
+lc4d3s3
+lc4d3s3_bit
+lc4d3s4
+lc4d3s4_bit
+lc4d3s5
+lc4d3s5_bit
+lc4d3s6
+lc4d3s6_bit
+lc4d3s7
+lc4d3s7_bit
+lc4d4s0
+lc4d4s0_bit
+lc4d4s1
+lc4d4s1_bit
+lc4d4s2
+lc4d4s2_bit
+lc4d4s3
+lc4d4s3_bit
+lc4d4s4
+lc4d4s4_bit
+lc4d4s5
+lc4d4s5_bit
+lc4d4s6
+lc4d4s6_bit
+lc4d4s7
+lc4d4s7_bit
+lc4en
+lc4en_bit
+lc4g1d1n
+lc4g1d1n_bit
+lc4g1d1t
+lc4g1d1t_bit
+lc4g1d2n
+lc4g1d2n_bit
+lc4g1d2t
+lc4g1d2t_bit
+lc4g1d3n
+lc4g1d3n_bit
+lc4g1d3t
+lc4g1d3t_bit
+lc4g1d4n
+lc4g1d4n_bit
+lc4g1d4t
+lc4g1d4t_bit
+lc4g1pol
+lc4g1pol_bit
+lc4g2d1n
+lc4g2d1n_bit
+lc4g2d1t
+lc4g2d1t_bit
+lc4g2d2n
+lc4g2d2n_bit
+lc4g2d2t
+lc4g2d2t_bit
+lc4g2d3n
+lc4g2d3n_bit
+lc4g2d3t
+lc4g2d3t_bit
+lc4g2d4n
+lc4g2d4n_bit
+lc4g2d4t
+lc4g2d4t_bit
+lc4g2pol
+lc4g2pol_bit
+lc4g3d1n
+lc4g3d1n_bit
+lc4g3d1t
+lc4g3d1t_bit
+lc4g3d2n
+lc4g3d2n_bit
+lc4g3d2t
+lc4g3d2t_bit
+lc4g3d3n
+lc4g3d3n_bit
+lc4g3d3t
+lc4g3d3t_bit
+lc4g3d4n
+lc4g3d4n_bit
+lc4g3d4t
+lc4g3d4t_bit
+lc4g3pol
+lc4g3pol_bit
+lc4g4d1n
+lc4g4d1n_bit
+lc4g4d1t
+lc4g4d1t_bit
+lc4g4d2n
+lc4g4d2n_bit
+lc4g4d2t
+lc4g4d2t_bit
+lc4g4d3n
+lc4g4d3n_bit
+lc4g4d3t
+lc4g4d3t_bit
+lc4g4d4n
+lc4g4d4n_bit
+lc4g4d4t
+lc4g4d4t_bit
+lc4g4pol
+lc4g4pol_bit
+lc4intn
+lc4intn_bit
+lc4intp
+lc4intp_bit
+lc4mode0
+lc4mode0_bit
+lc4mode1
+lc4mode1_bit
+lc4mode2
+lc4mode2_bit
+lc4out
+lc4out_bit
+lc4pol
+lc4pol_bit
+lfoen
+lfoen_bit
+lfor
+lfor_bit
+longint2double
+longinttohex
+longinttostrwithzeros
+longtostr
+longword2double
+longwordtohex
+longwordtostr
+longwordtostrwithzeros
+ltrim
+lwlo
+lwlo_bit
+main
+max_for_start
+mc1out
+mc1out_bit
+mc2out
+mc2out_bit
+mdbit
+mdbit_bit
+mdcarh
+mdcarhpps
+mdcarhpps0
+mdcarhpps0_bit
+mdcarhpps1
+mdcarhpps1_bit
+mdcarhpps2
+mdcarhpps2_bit
+mdcarhpps3
+mdcarhpps3_bit
+mdcarhpps4
+mdcarhpps4_bit
+mdcarl
+mdcarlpps
+mdcarlpps0
+mdcarlpps0_bit
+mdcarlpps1
+mdcarlpps1_bit
+mdcarlpps2
+mdcarlpps2_bit
+mdcarlpps3
+mdcarlpps3_bit
+mdcarlpps4
+mdcarlpps4_bit
+mdch0
+mdch0_bit
+mdch1
+mdch1_bit
+mdch2
+mdch2_bit
+mdch3
+mdch3_bit
+mdchpol
+mdchpol_bit
+mdchsync
+mdchsync_bit
+mdcl0
+mdcl0_bit
+mdcl1
+mdcl1_bit
+mdcl2
+mdcl2_bit
+mdcl3
+mdcl3_bit
+mdclpol
+mdclpol_bit
+mdclsync
+mdclsync_bit
+mdcon0
+mdcon1
+mden
+mden_bit
+mdms0
+mdms0_bit
+mdms1
+mdms1_bit
+mdms2
+mdms2_bit
+mdms3
+mdms3_bit
+mdms4
+mdms4_bit
+mdopol
+mdopol_bit
+mdout
+mdout_bit
+mdsrc
+mdsrcpps
+mdsrcpps0
+mdsrcpps0_bit
+mdsrcpps1
+mdsrcpps1_bit
+mdsrcpps2
+mdsrcpps2_bit
+mdsrcpps3
+mdsrcpps3_bit
+mdsrcpps4
+mdsrcpps4_bit
+mfoen
+mfoen_bit
+mfor
+mfor_bit
+min_for_start
+mlc1out
+mlc1out_bit
+mlc2out
+mlc2out_bit
+mlc3out
+mlc3out_bit
+mlc4out
+mlc4out_bit
+msk01
+msk01_bit
+msk02
+msk02_bit
+msk11
+msk11_bit
+msk12
+msk12_bit
+msk21
+msk21_bit
+msk22
+msk22_bit
+msk31
+msk31_bit
+msk32
+msk32_bit
+msk41
+msk41_bit
+msk42
+msk42_bit
+msk51
+msk51_bit
+msk52
+msk52_bit
+msk61
+msk61_bit
+msk62
+msk62_bit
+msk71
+msk71_bit
+msk72
+msk72_bit
+mssp1md
+mssp1md_bit
+mssp2md
+mssp2md_bit
+mul_16x16_s
+mul_16x16_u
+mul_32x32_fp
+mul_32x32_s
+mul_32x32_u
+mul_8x8_s
+mul_8x8_u
+mult_mask
+mult_shift
+n1cks0
+n1cks0_bit
+n1cks1
+n1cks1_bit
+n1cks2
+n1cks2_bit
+n1en
+n1en_bit
+n1out
+n1out_bit
+n1pfm
+n1pfm_bit
+n1pol
+n1pol_bit
+n1pws0
+n1pws0_bit
+n1pws1
+n1pws1_bit
+n1pws2
+n1pws2_bit
+naddress1
+naddress1_bit
+naddress2
+naddress2_bit
+nbor
+nbor_bit
+nco1acc0
+nco1acc0_bit
+nco1acc1
+nco1acc1_bit
+nco1acc10
+nco1acc10_bit
+nco1acc11
+nco1acc11_bit
+nco1acc12
+nco1acc12_bit
+nco1acc13
+nco1acc13_bit
+nco1acc14
+nco1acc14_bit
+nco1acc15
+nco1acc15_bit
+nco1acc16
+nco1acc16_bit
+nco1acc17
+nco1acc17_bit
+nco1acc18
+nco1acc18_bit
+nco1acc19
+nco1acc19_bit
+nco1acc2
+nco1acc2_bit
+nco1acc3
+nco1acc3_bit
+nco1acc4
+nco1acc4_bit
+nco1acc5
+nco1acc5_bit
+nco1acc6
+nco1acc6_bit
+nco1acc7
+nco1acc7_bit
+nco1acc8
+nco1acc8_bit
+nco1acc9
+nco1acc9_bit
+nco1acch
+nco1accl
+nco1accu
+nco1clk
+nco1con
+nco1ie
+nco1ie_bit
+nco1if
+nco1if_bit
+nco1inc0
+nco1inc0_bit
+nco1inc1
+nco1inc1_bit
+nco1inc10
+nco1inc10_bit
+nco1inc11
+nco1inc11_bit
+nco1inc12
+nco1inc12_bit
+nco1inc13
+nco1inc13_bit
+nco1inc14
+nco1inc14_bit
+nco1inc15
+nco1inc15_bit
+nco1inc16
+nco1inc16_bit
+nco1inc17
+nco1inc17_bit
+nco1inc18
+nco1inc18_bit
+nco1inc19
+nco1inc19_bit
+nco1inc2
+nco1inc2_bit
+nco1inc3
+nco1inc3_bit
+nco1inc4
+nco1inc4_bit
+nco1inc5
+nco1inc5_bit
+nco1inc6
+nco1inc6_bit
+nco1inc7
+nco1inc7_bit
+nco1inc8
+nco1inc8_bit
+nco1inc9
+nco1inc9_bit
+nco1inch
+nco1incl
+nco1incu
+nco1md
+nco1md_bit
+ncoie
+ncoie_bit
+ncoif
+ncoif_bit
+ncomd
+ncomd_bit
+ndiv0
+ndiv0_bit
+ndiv1
+ndiv1_bit
+ndiv2
+ndiv2_bit
+ndiv3
+ndiv3_bit
+ndone
+ndone_bit
+nosc0
+nosc0_bit
+nosc1
+nosc1_bit
+nosc2
+nosc2_bit
+noscr
+noscr_bit
+npd
+npd_bit
+npor
+npor_bit
+nri
+nri_bit
+nrm3232
+nrm4032
+nrmclr
+nrmclr_bit
+nrwdt
+nrwdt_bit
+nss
+nss_bit
+nt1sync
+nt1sync_bit
+nt3sync
+nt3sync_bit
+nt5sync
+nt5sync_bit
+nto
+nto_bit
+nvmadr0
+nvmadr0_bit
+nvmadr1
+nvmadr1_bit
+nvmadr10
+nvmadr10_bit
+nvmadr11
+nvmadr11_bit
+nvmadr12
+nvmadr12_bit
+nvmadr13
+nvmadr13_bit
+nvmadr14
+nvmadr14_bit
+nvmadr2
+nvmadr2_bit
+nvmadr3
+nvmadr3_bit
+nvmadr4
+nvmadr4_bit
+nvmadr5
+nvmadr5_bit
+nvmadr6
+nvmadr6_bit
+nvmadr7
+nvmadr7_bit
+nvmadr8
+nvmadr8_bit
+nvmadr9
+nvmadr9_bit
+nvmadrh
+nvmadrl
+nvmcon1
+nvmcon2
+nvmdat0
+nvmdat0_bit
+nvmdat1
+nvmdat1_bit
+nvmdat10
+nvmdat10_bit
+nvmdat11
+nvmdat11_bit
+nvmdat12
+nvmdat12_bit
+nvmdat13
+nvmdat13_bit
+nvmdat2
+nvmdat2_bit
+nvmdat3
+nvmdat3_bit
+nvmdat4
+nvmdat4_bit
+nvmdat5
+nvmdat5_bit
+nvmdat6
+nvmdat6_bit
+nvmdat7
+nvmdat7_bit
+nvmdat8
+nvmdat8_bit
+nvmdat9
+nvmdat9_bit
+nvmdath
+nvmdatl
+nvmie
+nvmie_bit
+nvmif
+nvmif_bit
+nvmmd
+nvmmd_bit
+nvmregs
+nvmregs_bit
+nwdtwv
+nwdtwv_bit
+nwrite1
+nwrite1_bit
+nwrite2
+nwrite2_bit
+odca0
+odca0_bit
+odca1
+odca1_bit
+odca2
+odca2_bit
+odca3
+odca3_bit
+odca4
+odca4_bit
+odca5
+odca5_bit
+odca6
+odca6_bit
+odca7
+odca7_bit
+odcb0
+odcb0_bit
+odcb1
+odcb1_bit
+odcb2
+odcb2_bit
+odcb3
+odcb3_bit
+odcb4
+odcb4_bit
+odcb5
+odcb5_bit
+odcb6
+odcb6_bit
+odcb7
+odcb7_bit
+odcc0
+odcc0_bit
+odcc1
+odcc1_bit
+odcc2
+odcc2_bit
+odcc3
+odcc3_bit
+odcc4
+odcc4_bit
+odcc5
+odcc5_bit
+odcc6
+odcc6_bit
+odcc7
+odcc7_bit
+odcd0
+odcd0_bit
+odcd1
+odcd1_bit
+odcd2
+odcd2_bit
+odcd3
+odcd3_bit
+odcd4
+odcd4_bit
+odcd5
+odcd5_bit
+odcd6
+odcd6_bit
+odcd7
+odcd7_bit
+odce0
+odce0_bit
+odce1
+odce1_bit
+odce2
+odce2_bit
+odcona
+odconb
+odconc
+odcond
+odcone
+oe1
+oe1_bit
+oe2
+oe2_bit
+oerr
+oerr_bit
+off_cnt
+off_time
+oled_bat
+oled_clear
+oled_disp_off
+oled_disp_on
+oled_init
+oled_pwd
+oled_start
+oled_voltage
+oled_wr_str
+oled_wr_str_s
+ordy
+ordy_bit
+osccon1
+osccon2
+osccon3
+oscen
+oscfrq
+oscstat
+osctune
+osfie
+osfie_bit
+osfif
+osfif_bit
+overflow
+p1m0
+p1m0_bit
+p1m1
+p1m1_bit
+p2m0
+p2m0_bit
+p2m1
+p2m1_bit
+p3m0
+p3m0_bit
+p3m1
+p3m1_bit
+p4m0
+p4m0_bit
+p4m1
+p4m1_bit
+p5m0
+p5m0_bit
+p5m1
+p5m1_bit
+p6tsel0
+p6tsel0_bit
+p6tsel1
+p6tsel1_bit
+p7tsel0
+p7tsel0_bit
+p7tsel1
+p7tsel1_bit
+pcl
+pclath
+pclath_shad
+pcon0
+peie
+peie_bit
+pen1
+pen1_bit
+pen2
+pen2_bit
+pic_init
+pie0
+pie1
+pie2
+pie3
+pie4
+pie5
+pie6
+pie7
+pie8
+pir0
+pir1
+pir2
+pir3
+pir4
+pir5
+pir6
+pir7
+pir8
+plen0
+plen0_bit
+plen1
+plen1_bit
+plen2
+plen2_bit
+plen3
+plen3_bit
+pllr
+pllr_bit
+pmd0
+pmd1
+pmd2
+pmd3
+pmd4
+pmd5
+port_to_tris_offset
+porta
+portb
+portc
+portd
+porte
+power_off
+ppslock
+ppslocked
+ppslocked_bit
+pr0
+pr1
+pr2
+pr3
+pr4
+pr5
+pr6
+pscnt0
+pscnt0_bit
+pscnt1
+pscnt1_bit
+pscnt10
+pscnt10_bit
+pscnt11
+pscnt11_bit
+pscnt12
+pscnt12_bit
+pscnt13
+pscnt13_bit
+pscnt14
+pscnt14_bit
+pscnt15
+pscnt15_bit
+pscnt16
+pscnt16_bit
+pscnt17
+pscnt17_bit
+pscnt2
+pscnt2_bit
+pscnt3
+pscnt3_bit
+pscnt4
+pscnt4_bit
+pscnt5
+pscnt5_bit
+pscnt6
+pscnt6_bit
+pscnt7
+pscnt7_bit
+pscnt8
+pscnt8_bit
+pscnt9
+pscnt9_bit
+pss0
+pss0_bit
+pss1
+pss1_bit
+pwm6con
+pwm6dc
+pwm6dc0
+pwm6dc0_bit
+pwm6dc1
+pwm6dc1_bit
+pwm6dc2
+pwm6dc2_bit
+pwm6dc3
+pwm6dc3_bit
+pwm6dc4
+pwm6dc4_bit
+pwm6dc5
+pwm6dc5_bit
+pwm6dc6
+pwm6dc6_bit
+pwm6dc7
+pwm6dc7_bit
+pwm6dc8
+pwm6dc8_bit
+pwm6dc9
+pwm6dc9_bit
+pwm6dch
+pwm6dcl
+pwm6en
+pwm6en_bit
+pwm6md
+pwm6md_bit
+pwm6out
+pwm6out_bit
+pwm6pol
+pwm6pol_bit
+pwm7con
+pwm7dc
+pwm7dc0
+pwm7dc0_bit
+pwm7dc1
+pwm7dc1_bit
+pwm7dc2
+pwm7dc2_bit
+pwm7dc3
+pwm7dc3_bit
+pwm7dc4
+pwm7dc4_bit
+pwm7dc5
+pwm7dc5_bit
+pwm7dc6
+pwm7dc6_bit
+pwm7dc7
+pwm7dc7_bit
+pwm7dc8
+pwm7dc8_bit
+pwm7dc9
+pwm7dc9_bit
+pwm7dch
+pwm7dcl
+pwm7en
+pwm7en_bit
+pwm7md
+pwm7md_bit
+pwm7out
+pwm7out_bit
+pwm7pol
+pwm7pol_bit
+pwr
+pwr_fixed_old
+r_nw1
+r_nw1_bit
+r_nw2
+r_nw2_bit
+r_w1
+r_w1_bit
+r_w2
+r_w2_bit
+r0
+r1
+r10
+r11
+r12
+r13
+r14
+r15
+r2
+r3
+r4
+r5
+r6
+r7
+r8
+r9
+ra0
+ra0_bit
+ra0pps
+ra0pps0
+ra0pps0_bit
+ra0pps1
+ra0pps1_bit
+ra0pps2
+ra0pps2_bit
+ra0pps3
+ra0pps3_bit
+ra0pps4
+ra0pps4_bit
+ra0pps5
+ra0pps5_bit
+ra1
+ra1_bit
+ra1pps
+ra1pps0
+ra1pps0_bit
+ra1pps1
+ra1pps1_bit
+ra1pps2
+ra1pps2_bit
+ra1pps3
+ra1pps3_bit
+ra1pps4
+ra1pps4_bit
+ra1pps5
+ra1pps5_bit
+ra2
+ra2_bit
+ra2pps
+ra2pps0
+ra2pps0_bit
+ra2pps1
+ra2pps1_bit
+ra2pps2
+ra2pps2_bit
+ra2pps3
+ra2pps3_bit
+ra2pps4
+ra2pps4_bit
+ra2pps5
+ra2pps5_bit
+ra3
+ra3_bit
+ra3pps
+ra3pps0
+ra3pps0_bit
+ra3pps1
+ra3pps1_bit
+ra3pps2
+ra3pps2_bit
+ra3pps3
+ra3pps3_bit
+ra3pps4
+ra3pps4_bit
+ra3pps5
+ra3pps5_bit
+ra4
+ra4_bit
+ra4pps
+ra4pps0
+ra4pps0_bit
+ra4pps1
+ra4pps1_bit
+ra4pps2
+ra4pps2_bit
+ra4pps3
+ra4pps3_bit
+ra4pps4
+ra4pps4_bit
+ra4pps5
+ra4pps5_bit
+ra5
+ra5_bit
+ra5pps
+ra5pps0
+ra5pps0_bit
+ra5pps1
+ra5pps1_bit
+ra5pps2
+ra5pps2_bit
+ra5pps3
+ra5pps3_bit
+ra5pps4
+ra5pps4_bit
+ra5pps5
+ra5pps5_bit
+ra6
+ra6_bit
+ra6pps
+ra6pps0
+ra6pps0_bit
+ra6pps1
+ra6pps1_bit
+ra6pps2
+ra6pps2_bit
+ra6pps3
+ra6pps3_bit
+ra6pps4
+ra6pps4_bit
+ra6pps5
+ra6pps5_bit
+ra7
+ra7_bit
+ra7pps
+ra7pps0
+ra7pps0_bit
+ra7pps1
+ra7pps1_bit
+ra7pps2
+ra7pps2_bit
+ra7pps3
+ra7pps3_bit
+ra7pps4
+ra7pps4_bit
+ra7pps5
+ra7pps5_bit
+rb0
+rb0_bit
+rb0pps
+rb0pps0
+rb0pps0_bit
+rb0pps1
+rb0pps1_bit
+rb0pps2
+rb0pps2_bit
+rb0pps3
+rb0pps3_bit
+rb0pps4
+rb0pps4_bit
+rb0pps5
+rb0pps5_bit
+rb1
+rb1_bit
+rb1pps
+rb1pps0
+rb1pps0_bit
+rb1pps1
+rb1pps1_bit
+rb1pps2
+rb1pps2_bit
+rb1pps3
+rb1pps3_bit
+rb1pps4
+rb1pps4_bit
+rb1pps5
+rb1pps5_bit
+rb2
+rb2_bit
+rb2pps
+rb2pps0
+rb2pps0_bit
+rb2pps1
+rb2pps1_bit
+rb2pps2
+rb2pps2_bit
+rb2pps3
+rb2pps3_bit
+rb2pps4
+rb2pps4_bit
+rb2pps5
+rb2pps5_bit
+rb3
+rb3_bit
+rb3pps
+rb3pps0
+rb3pps0_bit
+rb3pps1
+rb3pps1_bit
+rb3pps2
+rb3pps2_bit
+rb3pps3
+rb3pps3_bit
+rb3pps4
+rb3pps4_bit
+rb3pps5
+rb3pps5_bit
+rb4
+rb4_bit
+rb4pps
+rb4pps0
+rb4pps0_bit
+rb4pps1
+rb4pps1_bit
+rb4pps2
+rb4pps2_bit
+rb4pps3
+rb4pps3_bit
+rb4pps4
+rb4pps4_bit
+rb4pps5
+rb4pps5_bit
+rb5
+rb5_bit
+rb5pps
+rb5pps0
+rb5pps0_bit
+rb5pps1
+rb5pps1_bit
+rb5pps2
+rb5pps2_bit
+rb5pps3
+rb5pps3_bit
+rb5pps4
+rb5pps4_bit
+rb5pps5
+rb5pps5_bit
+rb6
+rb6_bit
+rb6pps
+rb6pps0
+rb6pps0_bit
+rb6pps1
+rb6pps1_bit
+rb6pps2
+rb6pps2_bit
+rb6pps3
+rb6pps3_bit
+rb6pps4
+rb6pps4_bit
+rb6pps5
+rb6pps5_bit
+rb7
+rb7_bit
+rb7pps
+rb7pps0
+rb7pps0_bit
+rb7pps1
+rb7pps1_bit
+rb7pps2
+rb7pps2_bit
+rb7pps3
+rb7pps3_bit
+rb7pps4
+rb7pps4_bit
+rb7pps5
+rb7pps5_bit
+rc0
+rc0_bit
+rc0pps
+rc0pps0
+rc0pps0_bit
+rc0pps1
+rc0pps1_bit
+rc0pps2
+rc0pps2_bit
+rc0pps3
+rc0pps3_bit
+rc0pps4
+rc0pps4_bit
+rc0pps5
+rc0pps5_bit
+rc1
+rc1_bit
+rc1pps
+rc1pps0
+rc1pps0_bit
+rc1pps1
+rc1pps1_bit
+rc1pps2
+rc1pps2_bit
+rc1pps3
+rc1pps3_bit
+rc1pps4
+rc1pps4_bit
+rc1pps5
+rc1pps5_bit
+rc1reg
+rc1sta
+rc2
+rc2_bit
+rc2pps
+rc2pps0
+rc2pps0_bit
+rc2pps1
+rc2pps1_bit
+rc2pps2
+rc2pps2_bit
+rc2pps3
+rc2pps3_bit
+rc2pps4
+rc2pps4_bit
+rc2pps5
+rc2pps5_bit
+rc3
+rc3_bit
+rc3pps
+rc3pps0
+rc3pps0_bit
+rc3pps1
+rc3pps1_bit
+rc3pps2
+rc3pps2_bit
+rc3pps3
+rc3pps3_bit
+rc3pps4
+rc3pps4_bit
+rc3pps5
+rc3pps5_bit
+rc4
+rc4_bit
+rc4pps
+rc4pps0
+rc4pps0_bit
+rc4pps1
+rc4pps1_bit
+rc4pps2
+rc4pps2_bit
+rc4pps3
+rc4pps3_bit
+rc4pps4
+rc4pps4_bit
+rc4pps5
+rc4pps5_bit
+rc5
+rc5_bit
+rc5pps
+rc5pps0
+rc5pps0_bit
+rc5pps1
+rc5pps1_bit
+rc5pps2
+rc5pps2_bit
+rc5pps3
+rc5pps3_bit
+rc5pps4
+rc5pps4_bit
+rc5pps5
+rc5pps5_bit
+rc6
+rc6_bit
+rc6pps
+rc6pps0
+rc6pps0_bit
+rc6pps1
+rc6pps1_bit
+rc6pps2
+rc6pps2_bit
+rc6pps3
+rc6pps3_bit
+rc6pps4
+rc6pps4_bit
+rc6pps5
+rc6pps5_bit
+rc7
+rc7_bit
+rc7pps
+rc7pps0
+rc7pps0_bit
+rc7pps1
+rc7pps1_bit
+rc7pps2
+rc7pps2_bit
+rc7pps3
+rc7pps3_bit
+rc7pps4
+rc7pps4_bit
+rc7pps5
+rc7pps5_bit
+rcen1
+rcen1_bit
+rcen2
+rcen2_bit
+rcidl
+rcidl_bit
+rcie
+rcie_bit
+rcif
+rcif_bit
+rcreg
+rcreg1
+rcsta
+rcsta1
+rd
+rd_bit
+rd0
+rd0_bit
+rd0pps
+rd0pps0
+rd0pps0_bit
+rd0pps1
+rd0pps1_bit
+rd0pps2
+rd0pps2_bit
+rd0pps3
+rd0pps3_bit
+rd0pps4
+rd0pps4_bit
+rd0pps5
+rd0pps5_bit
+rd1
+rd1_bit
+rd161
+rd161_bit
+rd163
+rd163_bit
+rd165
+rd165_bit
+rd1pps
+rd1pps0
+rd1pps0_bit
+rd1pps1
+rd1pps1_bit
+rd1pps2
+rd1pps2_bit
+rd1pps3
+rd1pps3_bit
+rd1pps4
+rd1pps4_bit
+rd1pps5
+rd1pps5_bit
+rd2
+rd2_bit
+rd2pps
+rd2pps0
+rd2pps0_bit
+rd2pps1
+rd2pps1_bit
+rd2pps2
+rd2pps2_bit
+rd2pps3
+rd2pps3_bit
+rd2pps4
+rd2pps4_bit
+rd2pps5
+rd2pps5_bit
+rd3
+rd3_bit
+rd3pps
+rd3pps0
+rd3pps0_bit
+rd3pps1
+rd3pps1_bit
+rd3pps2
+rd3pps2_bit
+rd3pps3
+rd3pps3_bit
+rd3pps4
+rd3pps4_bit
+rd3pps5
+rd3pps5_bit
+rd4
+rd4_bit
+rd4pps
+rd4pps0
+rd4pps0_bit
+rd4pps1
+rd4pps1_bit
+rd4pps2
+rd4pps2_bit
+rd4pps3
+rd4pps3_bit
+rd4pps4
+rd4pps4_bit
+rd4pps5
+rd4pps5_bit
+rd5
+rd5_bit
+rd5pps
+rd5pps0
+rd5pps0_bit
+rd5pps1
+rd5pps1_bit
+rd5pps2
+rd5pps2_bit
+rd5pps3
+rd5pps3_bit
+rd5pps4
+rd5pps4_bit
+rd5pps5
+rd5pps5_bit
+rd6
+rd6_bit
+rd6pps
+rd6pps0
+rd6pps0_bit
+rd6pps1
+rd6pps1_bit
+rd6pps2
+rd6pps2_bit
+rd6pps3
+rd6pps3_bit
+rd6pps4
+rd6pps4_bit
+rd6pps5
+rd6pps5_bit
+rd7
+rd7_bit
+rd7pps
+rd7pps0
+rd7pps0_bit
+rd7pps1
+rd7pps1_bit
+rd7pps2
+rd7pps2_bit
+rd7pps3
+rd7pps3_bit
+rd7pps4
+rd7pps4_bit
+rd7pps5
+rd7pps5_bit
+re0
+re0_bit
+re0pps
+re0pps0
+re0pps0_bit
+re0pps1
+re0pps1_bit
+re0pps2
+re0pps2_bit
+re0pps3
+re0pps3_bit
+re0pps4
+re0pps4_bit
+re0pps5
+re0pps5_bit
+re1
+re1_bit
+re1pps
+re1pps0
+re1pps0_bit
+re1pps1
+re1pps1_bit
+re1pps2
+re1pps2_bit
+re1pps3
+re1pps3_bit
+re1pps4
+re1pps4_bit
+re1pps5
+re1pps5_bit
+re2
+re2_bit
+re2pps
+re2pps0
+re2pps0_bit
+re2pps1
+re2pps1_bit
+re2pps2
+re2pps2_bit
+re2pps3
+re2pps3_bit
+re2pps4
+re2pps4_bit
+re2pps5
+re2pps5_bit
+re3
+re3_bit
+read_write1
+read_write1_bit
+read_write2
+read_write2_bit
+red
+rel_del
+rel_to_gnd
+rel_to_plus_n
+relay_set
+res032
+rldl
+roi
+roi_bit
+rsen1
+rsen1_bit
+rsen2
+rsen2_bit
+rtrim
+rw1
+rw1_bit
+rw2
+rw2_bit
+rx9
+rx9_bit
+rx9d
+rx9d_bit
+rxpps
+rxpps0
+rxpps0_bit
+rxpps1
+rxpps1_bit
+rxpps2
+rxpps2_bit
+rxpps3
+rxpps3_bit
+rxpps4
+rxpps4_bit
+sboren
+sboren_bit
+scanbusy
+scanbusy_bit
+scancon0
+scanen
+scanen_bit
+scango
+scango_bit
+scanhadr0
+scanhadr0_bit
+scanhadr1
+scanhadr1_bit
+scanhadr10
+scanhadr10_bit
+scanhadr11
+scanhadr11_bit
+scanhadr12
+scanhadr12_bit
+scanhadr13
+scanhadr13_bit
+scanhadr14
+scanhadr14_bit
+scanhadr15
+scanhadr15_bit
+scanhadr2
+scanhadr2_bit
+scanhadr3
+scanhadr3_bit
+scanhadr4
+scanhadr4_bit
+scanhadr5
+scanhadr5_bit
+scanhadr6
+scanhadr6_bit
+scanhadr7
+scanhadr7_bit
+scanhadr8
+scanhadr8_bit
+scanhadr9
+scanhadr9_bit
+scanhadrh
+scanhadrl
+scanie
+scanie_bit
+scanif
+scanif_bit
+scanintm
+scanintm_bit
+scaninvalid
+scaninvalid_bit
+scanladr0
+scanladr0_bit
+scanladr1
+scanladr1_bit
+scanladr10
+scanladr10_bit
+scanladr11
+scanladr11_bit
+scanladr12
+scanladr12_bit
+scanladr13
+scanladr13_bit
+scanladr14
+scanladr14_bit
+scanladr15
+scanladr15_bit
+scanladr2
+scanladr2_bit
+scanladr3
+scanladr3_bit
+scanladr4
+scanladr4_bit
+scanladr5
+scanladr5_bit
+scanladr6
+scanladr6_bit
+scanladr7
+scanladr7_bit
+scanladr8
+scanladr8_bit
+scanladr9
+scanladr9_bit
+scanladrh
+scanladrl
+scanmd
+scanmd_bit
+scanmode0
+scanmode0_bit
+scanmode1
+scanmode1_bit
+scantrig
+scantsel0
+scantsel0_bit
+scantsel1
+scantsel1_bit
+scantsel2
+scantsel2_bit
+scantsel3
+scantsel3_bit
+sckp
+sckp_bit
+sdiv3232l
+sen1
+sen1_bit
+sen2
+sen2_bit
+send_command
+sendb
+sendb_bit
+set_addressing
+setfdz32
+setfov32
+setfun32
+setiov3224
+sharp_cap
+sharp_ind
+shft0
+shft0_bit
+shft1
+shft1_bit
+shft10
+shft10_bit
+shft11
+shft11_bit
+shft12
+shft12_bit
+shft13
+shft13_bit
+shft14
+shft14_bit
+shft15
+shft15_bit
+shft2
+shft2_bit
+shft3
+shft3_bit
+shft4
+shft4_bit
+shft5
+shft5_bit
+shft6
+shft6_bit
+shft7
+shft7_bit
+shft8
+shft8_bit
+shft9
+shft9_bit
+shiftm
+shiftm_bit
+shorttohex
+shorttostr
+shorttostrwithzeros
+slra0
+slra0_bit
+slra1
+slra1_bit
+slra2
+slra2_bit
+slra3
+slra3_bit
+slra4
+slra4_bit
+slra5
+slra5_bit
+slra6
+slra6_bit
+slra7
+slra7_bit
+slrb0
+slrb0_bit
+slrb1
+slrb1_bit
+slrb2
+slrb2_bit
+slrb3
+slrb3_bit
+slrb4
+slrb4_bit
+slrb5
+slrb5_bit
+slrb6
+slrb6_bit
+slrb7
+slrb7_bit
+slrc0
+slrc0_bit
+slrc1
+slrc1_bit
+slrc2
+slrc2_bit
+slrc3
+slrc3_bit
+slrc4
+slrc4_bit
+slrc5
+slrc5_bit
+slrc6
+slrc6_bit
+slrc7
+slrc7_bit
+slrcona
+slrconb
+slrconc
+slrcond
+slrcone
+slrd0
+slrd0_bit
+slrd1
+slrd1_bit
+slrd2
+slrd2_bit
+slrd3
+slrd3_bit
+slrd4
+slrd4_bit
+slrd5
+slrd5_bit
+slrd6
+slrd6_bit
+slrd7
+slrd7_bit
+slre0
+slre0_bit
+slre1
+slre1_bit
+slre2
+slre2_bit
+smp1
+smp1_bit
+smp2
+smp2_bit
+smt1as
+smt1as_bit
+smt1clk
+smt1con0
+smt1con1
+smt1cpol
+smt1cpol_bit
+smt1cpr0
+smt1cpr0_bit
+smt1cpr1
+smt1cpr1_bit
+smt1cpr10
+smt1cpr10_bit
+smt1cpr11
+smt1cpr11_bit
+smt1cpr12
+smt1cpr12_bit
+smt1cpr13
+smt1cpr13_bit
+smt1cpr14
+smt1cpr14_bit
+smt1cpr15
+smt1cpr15_bit
+smt1cpr16
+smt1cpr16_bit
+smt1cpr17
+smt1cpr17_bit
+smt1cpr18
+smt1cpr18_bit
+smt1cpr19
+smt1cpr19_bit
+smt1cpr2
+smt1cpr2_bit
+smt1cpr20
+smt1cpr20_bit
+smt1cpr21
+smt1cpr21_bit
+smt1cpr22
+smt1cpr22_bit
+smt1cpr23
+smt1cpr23_bit
+smt1cpr3
+smt1cpr3_bit
+smt1cpr4
+smt1cpr4_bit
+smt1cpr5
+smt1cpr5_bit
+smt1cpr6
+smt1cpr6_bit
+smt1cpr7
+smt1cpr7_bit
+smt1cpr8
+smt1cpr8_bit
+smt1cpr9
+smt1cpr9_bit
+smt1cprh
+smt1cprl
+smt1cpru
+smt1cprup
+smt1cprup_bit
+smt1cpw0
+smt1cpw0_bit
+smt1cpw1
+smt1cpw1_bit
+smt1cpw10
+smt1cpw10_bit
+smt1cpw11
+smt1cpw11_bit
+smt1cpw12
+smt1cpw12_bit
+smt1cpw13
+smt1cpw13_bit
+smt1cpw14
+smt1cpw14_bit
+smt1cpw15
+smt1cpw15_bit
+smt1cpw16
+smt1cpw16_bit
+smt1cpw17
+smt1cpw17_bit
+smt1cpw18
+smt1cpw18_bit
+smt1cpw19
+smt1cpw19_bit
+smt1cpw2
+smt1cpw2_bit
+smt1cpw20
+smt1cpw20_bit
+smt1cpw21
+smt1cpw21_bit
+smt1cpw22
+smt1cpw22_bit
+smt1cpw23
+smt1cpw23_bit
+smt1cpw3
+smt1cpw3_bit
+smt1cpw4
+smt1cpw4_bit
+smt1cpw5
+smt1cpw5_bit
+smt1cpw6
+smt1cpw6_bit
+smt1cpw7
+smt1cpw7_bit
+smt1cpw8
+smt1cpw8_bit
+smt1cpw9
+smt1cpw9_bit
+smt1cpwh
+smt1cpwl
+smt1cpwu
+smt1cpwup
+smt1cpwup_bit
+smt1csel0
+smt1csel0_bit
+smt1csel1
+smt1csel1_bit
+smt1csel2
+smt1csel2_bit
+smt1en
+smt1en_bit
+smt1go
+smt1go_bit
+smt1ie
+smt1ie_bit
+smt1if
+smt1if_bit
+smt1md
+smt1md_bit
+smt1pr0
+smt1pr0_bit
+smt1pr1
+smt1pr1_bit
+smt1pr10
+smt1pr10_bit
+smt1pr11
+smt1pr11_bit
+smt1pr12
+smt1pr12_bit
+smt1pr13
+smt1pr13_bit
+smt1pr14
+smt1pr14_bit
+smt1pr15
+smt1pr15_bit
+smt1pr16
+smt1pr16_bit
+smt1pr17
+smt1pr17_bit
+smt1pr18
+smt1pr18_bit
+smt1pr19
+smt1pr19_bit
+smt1pr2
+smt1pr2_bit
+smt1pr20
+smt1pr20_bit
+smt1pr21
+smt1pr21_bit
+smt1pr22
+smt1pr22_bit
+smt1pr23
+smt1pr23_bit
+smt1pr3
+smt1pr3_bit
+smt1pr4
+smt1pr4_bit
+smt1pr5
+smt1pr5_bit
+smt1pr6
+smt1pr6_bit
+smt1pr7
+smt1pr7_bit
+smt1pr8
+smt1pr8_bit
+smt1pr9
+smt1pr9_bit
+smt1praie
+smt1praie_bit
+smt1praif
+smt1praif_bit
+smt1prh
+smt1prl
+smt1pru
+smt1ps0
+smt1ps0_bit
+smt1ps1
+smt1ps1_bit
+smt1pwaie
+smt1pwaie_bit
+smt1pwaif
+smt1pwaif_bit
+smt1repeat
+smt1repeat_bit
+smt1reset
+smt1reset_bit
+smt1rst
+smt1rst_bit
+smt1sig
+smt1sigpps
+smt1spol
+smt1spol_bit
+smt1ssel0
+smt1ssel0_bit
+smt1ssel1
+smt1ssel1_bit
+smt1ssel2
+smt1ssel2_bit
+smt1ssel3
+smt1ssel3_bit
+smt1ssel4
+smt1ssel4_bit
+smt1stat
+smt1stp
+smt1stp_bit
+smt1tmr0
+smt1tmr0_bit
+smt1tmr1
+smt1tmr1_bit
+smt1tmr10
+smt1tmr10_bit
+smt1tmr11
+smt1tmr11_bit
+smt1tmr12
+smt1tmr12_bit
+smt1tmr13
+smt1tmr13_bit
+smt1tmr14
+smt1tmr14_bit
+smt1tmr15
+smt1tmr15_bit
+smt1tmr16
+smt1tmr16_bit
+smt1tmr17
+smt1tmr17_bit
+smt1tmr18
+smt1tmr18_bit
+smt1tmr19
+smt1tmr19_bit
+smt1tmr2
+smt1tmr2_bit
+smt1tmr20
+smt1tmr20_bit
+smt1tmr21
+smt1tmr21_bit
+smt1tmr22
+smt1tmr22_bit
+smt1tmr23
+smt1tmr23_bit
+smt1tmr3
+smt1tmr3_bit
+smt1tmr4
+smt1tmr4_bit
+smt1tmr5
+smt1tmr5_bit
+smt1tmr6
+smt1tmr6_bit
+smt1tmr7
+smt1tmr7_bit
+smt1tmr8
+smt1tmr8_bit
+smt1tmr9
+smt1tmr9_bit
+smt1tmrh
+smt1tmrl
+smt1tmru
+smt1ts
+smt1ts_bit
+smt1win
+smt1winpps
+smt1wol
+smt1wol_bit
+smt1ws
+smt1ws_bit
+smt1wsel0
+smt1wsel0_bit
+smt1wsel1
+smt1wsel1_bit
+smt1wsel2
+smt1wsel2_bit
+smt1wsel3
+smt1wsel3_bit
+smt1wsel4
+smt1wsel4_bit
+smt2as
+smt2as_bit
+smt2clk
+smt2con0
+smt2con1
+smt2cpol
+smt2cpol_bit
+smt2cpr0
+smt2cpr0_bit
+smt2cpr1
+smt2cpr1_bit
+smt2cpr10
+smt2cpr10_bit
+smt2cpr11
+smt2cpr11_bit
+smt2cpr12
+smt2cpr12_bit
+smt2cpr13
+smt2cpr13_bit
+smt2cpr14
+smt2cpr14_bit
+smt2cpr15
+smt2cpr15_bit
+smt2cpr16
+smt2cpr16_bit
+smt2cpr17
+smt2cpr17_bit
+smt2cpr18
+smt2cpr18_bit
+smt2cpr19
+smt2cpr19_bit
+smt2cpr2
+smt2cpr2_bit
+smt2cpr20
+smt2cpr20_bit
+smt2cpr21
+smt2cpr21_bit
+smt2cpr22
+smt2cpr22_bit
+smt2cpr23
+smt2cpr23_bit
+smt2cpr3
+smt2cpr3_bit
+smt2cpr4
+smt2cpr4_bit
+smt2cpr5
+smt2cpr5_bit
+smt2cpr6
+smt2cpr6_bit
+smt2cpr7
+smt2cpr7_bit
+smt2cpr8
+smt2cpr8_bit
+smt2cpr9
+smt2cpr9_bit
+smt2cprh
+smt2cprl
+smt2cpru
+smt2cprup
+smt2cprup_bit
+smt2cpw0
+smt2cpw0_bit
+smt2cpw1
+smt2cpw1_bit
+smt2cpw10
+smt2cpw10_bit
+smt2cpw11
+smt2cpw11_bit
+smt2cpw12
+smt2cpw12_bit
+smt2cpw13
+smt2cpw13_bit
+smt2cpw14
+smt2cpw14_bit
+smt2cpw15
+smt2cpw15_bit
+smt2cpw16
+smt2cpw16_bit
+smt2cpw17
+smt2cpw17_bit
+smt2cpw18
+smt2cpw18_bit
+smt2cpw19
+smt2cpw19_bit
+smt2cpw2
+smt2cpw2_bit
+smt2cpw20
+smt2cpw20_bit
+smt2cpw21
+smt2cpw21_bit
+smt2cpw22
+smt2cpw22_bit
+smt2cpw23
+smt2cpw23_bit
+smt2cpw3
+smt2cpw3_bit
+smt2cpw4
+smt2cpw4_bit
+smt2cpw5
+smt2cpw5_bit
+smt2cpw6
+smt2cpw6_bit
+smt2cpw7
+smt2cpw7_bit
+smt2cpw8
+smt2cpw8_bit
+smt2cpw9
+smt2cpw9_bit
+smt2cpwh
+smt2cpwl
+smt2cpwu
+smt2cpwup
+smt2cpwup_bit
+smt2csel0
+smt2csel0_bit
+smt2csel1
+smt2csel1_bit
+smt2csel2
+smt2csel2_bit
+smt2en
+smt2en_bit
+smt2go
+smt2go_bit
+smt2ie
+smt2ie_bit
+smt2if
+smt2if_bit
+smt2md
+smt2md_bit
+smt2pr0
+smt2pr0_bit
+smt2pr1
+smt2pr1_bit
+smt2pr10
+smt2pr10_bit
+smt2pr11
+smt2pr11_bit
+smt2pr12
+smt2pr12_bit
+smt2pr13
+smt2pr13_bit
+smt2pr14
+smt2pr14_bit
+smt2pr15
+smt2pr15_bit
+smt2pr16
+smt2pr16_bit
+smt2pr17
+smt2pr17_bit
+smt2pr18
+smt2pr18_bit
+smt2pr19
+smt2pr19_bit
+smt2pr2
+smt2pr2_bit
+smt2pr20
+smt2pr20_bit
+smt2pr21
+smt2pr21_bit
+smt2pr22
+smt2pr22_bit
+smt2pr23
+smt2pr23_bit
+smt2pr3
+smt2pr3_bit
+smt2pr4
+smt2pr4_bit
+smt2pr5
+smt2pr5_bit
+smt2pr6
+smt2pr6_bit
+smt2pr7
+smt2pr7_bit
+smt2pr8
+smt2pr8_bit
+smt2pr9
+smt2pr9_bit
+smt2praie
+smt2praie_bit
+smt2praif
+smt2praif_bit
+smt2prh
+smt2prl
+smt2pru
+smt2ps0
+smt2ps0_bit
+smt2ps1
+smt2ps1_bit
+smt2pwaie
+smt2pwaie_bit
+smt2pwaif
+smt2pwaif_bit
+smt2repeat
+smt2repeat_bit
+smt2reset
+smt2reset_bit
+smt2rst
+smt2rst_bit
+smt2sig
+smt2sigpps
+smt2spol
+smt2spol_bit
+smt2ssel0
+smt2ssel0_bit
+smt2ssel1
+smt2ssel1_bit
+smt2ssel2
+smt2ssel2_bit
+smt2ssel3
+smt2ssel3_bit
+smt2ssel4
+smt2ssel4_bit
+smt2stat
+smt2stp
+smt2stp_bit
+smt2tmr0
+smt2tmr0_bit
+smt2tmr1
+smt2tmr1_bit
+smt2tmr10
+smt2tmr10_bit
+smt2tmr11
+smt2tmr11_bit
+smt2tmr12
+smt2tmr12_bit
+smt2tmr13
+smt2tmr13_bit
+smt2tmr14
+smt2tmr14_bit
+smt2tmr15
+smt2tmr15_bit
+smt2tmr16
+smt2tmr16_bit
+smt2tmr17
+smt2tmr17_bit
+smt2tmr18
+smt2tmr18_bit
+smt2tmr19
+smt2tmr19_bit
+smt2tmr2
+smt2tmr2_bit
+smt2tmr20
+smt2tmr20_bit
+smt2tmr21
+smt2tmr21_bit
+smt2tmr22
+smt2tmr22_bit
+smt2tmr23
+smt2tmr23_bit
+smt2tmr3
+smt2tmr3_bit
+smt2tmr4
+smt2tmr4_bit
+smt2tmr5
+smt2tmr5_bit
+smt2tmr6
+smt2tmr6_bit
+smt2tmr7
+smt2tmr7_bit
+smt2tmr8
+smt2tmr8_bit
+smt2tmr9
+smt2tmr9_bit
+smt2tmrh
+smt2tmrl
+smt2tmru
+smt2ts
+smt2ts_bit
+smt2win
+smt2winpps
+smt2wol
+smt2wol_bit
+smt2ws
+smt2ws_bit
+smt2wsel0
+smt2wsel0_bit
+smt2wsel1
+smt2wsel1_bit
+smt2wsel2
+smt2wsel2_bit
+smt2wsel3
+smt2wsel3_bit
+smt2wsel4
+smt2wsel4_bit
+smu1sigpps0
+smu1sigpps0_bit
+smu1sigpps1
+smu1sigpps1_bit
+smu1sigpps2
+smu1sigpps2_bit
+smu1sigpps3
+smu1sigpps3_bit
+smu1sigpps4
+smu1sigpps4_bit
+smu1winpps0
+smu1winpps0_bit
+smu1winpps1
+smu1winpps1_bit
+smu1winpps2
+smu1winpps2_bit
+smu1winpps3
+smu1winpps3_bit
+smu1winpps4
+smu1winpps4_bit
+smu2sigpps0
+smu2sigpps0_bit
+smu2sigpps1
+smu2sigpps1_bit
+smu2sigpps2
+smu2sigpps2_bit
+smu2sigpps3
+smu2sigpps3_bit
+smu2sigpps4
+smu2sigpps4_bit
+smu2winpps0
+smu2winpps0_bit
+smu2winpps1
+smu2winpps1_bit
+smu2winpps2
+smu2winpps2_bit
+smu2winpps3
+smu2winpps3_bit
+smu2winpps4
+smu2winpps4_bit
+soft_i2c_ack
+soft_i2c_init
+soft_i2c_nack
+soft_i2c_read
+soft_i2c_start
+soft_i2c_stop
+soft_i2c_write
+sor
+sor_bit
+soscen
+soscen_bit
+soscpwr
+soscpwr_bit
+sp1brg
+sp1brgh
+sp1brgl
+spbrg
+spbrg1
+spbrgh
+spbrgh1
+spbrgl
+spen
+spen_bit
+sren
+sren_bit
+ssp1add
+ssp1buf
+ssp1clkpps
+ssp1clkpps0
+ssp1clkpps0_bit
+ssp1clkpps1
+ssp1clkpps1_bit
+ssp1clkpps2
+ssp1clkpps2_bit
+ssp1clkpps3
+ssp1clkpps3_bit
+ssp1clkpps4
+ssp1clkpps4_bit
+ssp1con1
+ssp1con2
+ssp1con3
+ssp1datpps
+ssp1datpps0
+ssp1datpps0_bit
+ssp1datpps1
+ssp1datpps1_bit
+ssp1datpps2
+ssp1datpps2_bit
+ssp1datpps3
+ssp1datpps3_bit
+ssp1datpps4
+ssp1datpps4_bit
+ssp1ie
+ssp1ie_bit
+ssp1if
+ssp1if_bit
+ssp1msk
+ssp1sspps
+ssp1sspps0
+ssp1sspps0_bit
+ssp1sspps1
+ssp1sspps1_bit
+ssp1sspps2
+ssp1sspps2_bit
+ssp1sspps3
+ssp1sspps3_bit
+ssp1sspps4
+ssp1sspps4_bit
+ssp1stat
+ssp2add
+ssp2buf
+ssp2clkpps
+ssp2clkpps0
+ssp2clkpps0_bit
+ssp2clkpps1
+ssp2clkpps1_bit
+ssp2clkpps2
+ssp2clkpps2_bit
+ssp2clkpps3
+ssp2clkpps3_bit
+ssp2clkpps4
+ssp2clkpps4_bit
+ssp2con1
+ssp2con2
+ssp2con3
+ssp2datpps
+ssp2datpps0
+ssp2datpps0_bit
+ssp2datpps1
+ssp2datpps1_bit
+ssp2datpps2
+ssp2datpps2_bit
+ssp2datpps3
+ssp2datpps3_bit
+ssp2datpps4
+ssp2datpps4_bit
+ssp2ie
+ssp2ie_bit
+ssp2if
+ssp2if_bit
+ssp2msk
+ssp2sspps
+ssp2sspps0
+ssp2sspps0_bit
+ssp2sspps1
+ssp2sspps1_bit
+ssp2sspps2
+ssp2sspps2_bit
+ssp2sspps3
+ssp2sspps3_bit
+ssp2sspps4
+ssp2sspps4_bit
+ssp2stat
+sspen1
+sspen1_bit
+sspen2
+sspen2_bit
+sspm01
+sspm01_bit
+sspm02
+sspm02_bit
+sspm11
+sspm11_bit
+sspm12
+sspm12_bit
+sspm21
+sspm21_bit
+sspm22
+sspm22_bit
+sspm31
+sspm31_bit
+sspm32
+sspm32_bit
+sspov1
+sspov1_bit
+sspov2
+sspov2_bit
+start1
+start1_bit
+start2
+start2_bit
+state
+state_bit
+status
+status_shad
+step_cap
+step_ind
+stkovf
+stkovf_bit
+stkptr
+stkunf
+stkunf_bit
+stop1
+stop1_bit
+stop2
+stop2_bit
+strtobyte
+strtofloat
+strtoint
+strtolong
+strtolongint
+strtoshort
+strtoword
+sub_32x32_fp
+sw
+swap
+swdten
+swdten_bit
+swr
+swr_fixed_old
+swr_ind
+syscmd
+syscmd_bit
+t016bit
+t016bit_bit
+t0async
+t0async_bit
+t0ckipps
+t0ckipps0
+t0ckipps0_bit
+t0ckipps1
+t0ckipps1_bit
+t0ckipps2
+t0ckipps2_bit
+t0ckipps3
+t0ckipps3_bit
+t0ckps0
+t0ckps0_bit
+t0ckps1
+t0ckps1_bit
+t0ckps2
+t0ckps2_bit
+t0ckps3
+t0ckps3_bit
+t0con0
+t0con1
+t0cs0
+t0cs0_bit
+t0cs1
+t0cs1_bit
+t0cs2
+t0cs2_bit
+t0en
+t0en_bit
+t0out
+t0out_bit
+t0outps0
+t0outps0_bit
+t0outps1
+t0outps1_bit
+t0outps2
+t0outps2_bit
+t0outps3
+t0outps3_bit
+t0pr0
+t0pr0_bit
+t0pr1
+t0pr1_bit
+t0pr2
+t0pr2_bit
+t0pr3
+t0pr3_bit
+t0pr4
+t0pr4_bit
+t0pr5
+t0pr5_bit
+t0pr6
+t0pr6_bit
+t0pr7
+t0pr7_bit
+t0ps0
+t0ps0_bit
+t0ps1
+t0ps1_bit
+t0ps2
+t0ps2_bit
+t0ps3
+t0ps3_bit
+t1ckipps
+t1ckipps0
+t1ckipps0_bit
+t1ckipps1
+t1ckipps1_bit
+t1ckipps2
+t1ckipps2_bit
+t1ckipps3
+t1ckipps3_bit
+t1ckipps4
+t1ckipps4_bit
+t1ckps0
+t1ckps0_bit
+t1ckps1
+t1ckps1_bit
+t1clk
+t1con
+t1cs0
+t1cs0_bit
+t1cs1
+t1cs1_bit
+t1cs2
+t1cs2_bit
+t1cs3
+t1cs3_bit
+t1gate
+t1gcon
+t1ge
+t1ge_bit
+t1ggo
+t1ggo_bit
+t1ggo_ndone
+t1ggo_ndone_bit
+t1gpol
+t1gpol_bit
+t1gpps
+t1gpps0
+t1gpps0_bit
+t1gpps1
+t1gpps1_bit
+t1gpps2
+t1gpps2_bit
+t1gpps3
+t1gpps3_bit
+t1gpps4
+t1gpps4_bit
+t1gspm
+t1gspm_bit
+t1gss0
+t1gss0_bit
+t1gss1
+t1gss1_bit
+t1gss2
+t1gss2_bit
+t1gss3
+t1gss3_bit
+t1gss4
+t1gss4_bit
+t1gtm
+t1gtm_bit
+t1gval
+t1gval_bit
+t1rd16
+t1rd16_bit
+t2ainpps
+t2ainpps0
+t2ainpps0_bit
+t2ainpps1
+t2ainpps1_bit
+t2ainpps2
+t2ainpps2_bit
+t2ainpps3
+t2ainpps3_bit
+t2ainpps4
+t2ainpps4_bit
+t2ckpol
+t2ckpol_bit
+t2ckps0
+t2ckps0_bit
+t2ckps1
+t2ckps1_bit
+t2ckps2
+t2ckps2_bit
+t2cksync
+t2cksync_bit
+t2clk
+t2clkcon
+t2con
+t2cs0
+t2cs0_bit
+t2cs1
+t2cs1_bit
+t2cs2
+t2cs2_bit
+t2cs3
+t2cs3_bit
+t2hlt
+t2mode0
+t2mode0_bit
+t2mode1
+t2mode1_bit
+t2mode2
+t2mode2_bit
+t2mode3
+t2mode3_bit
+t2mode4
+t2mode4_bit
+t2on
+t2on_bit
+t2outps0
+t2outps0_bit
+t2outps1
+t2outps1_bit
+t2outps2
+t2outps2_bit
+t2outps3
+t2outps3_bit
+t2pr
+t2psync
+t2psync_bit
+t2rsel0
+t2rsel0_bit
+t2rsel1
+t2rsel1_bit
+t2rsel2
+t2rsel2_bit
+t2rsel3
+t2rsel3_bit
+t2rsel4
+t2rsel4_bit
+t2rst
+t2tmr
+t3ckipps
+t3ckipps0
+t3ckipps0_bit
+t3ckipps1
+t3ckipps1_bit
+t3ckipps2
+t3ckipps2_bit
+t3ckipps3
+t3ckipps3_bit
+t3ckipps4
+t3ckipps4_bit
+t3ckps0
+t3ckps0_bit
+t3ckps1
+t3ckps1_bit
+t3clk
+t3con
+t3cs0
+t3cs0_bit
+t3cs1
+t3cs1_bit
+t3cs2
+t3cs2_bit
+t3cs3
+t3cs3_bit
+t3gate
+t3gcon
+t3ge
+t3ge_bit
+t3ggo
+t3ggo_bit
+t3ggo_ndone
+t3ggo_ndone_bit
+t3gpol
+t3gpol_bit
+t3gpps
+t3gpps0
+t3gpps0_bit
+t3gpps1
+t3gpps1_bit
+t3gpps2
+t3gpps2_bit
+t3gpps3
+t3gpps3_bit
+t3gpps4
+t3gpps4_bit
+t3gspm
+t3gspm_bit
+t3gss0
+t3gss0_bit
+t3gss1
+t3gss1_bit
+t3gss2
+t3gss2_bit
+t3gss3
+t3gss3_bit
+t3gss4
+t3gss4_bit
+t3gtm
+t3gtm_bit
+t3gval
+t3gval_bit
+t3rd16
+t3rd16_bit
+t4ainpps
+t4ainpps0
+t4ainpps0_bit
+t4ainpps1
+t4ainpps1_bit
+t4ainpps2
+t4ainpps2_bit
+t4ainpps3
+t4ainpps3_bit
+t4ainpps4
+t4ainpps4_bit
+t4ckpol
+t4ckpol_bit
+t4ckps0
+t4ckps0_bit
+t4ckps1
+t4ckps1_bit
+t4ckps2
+t4ckps2_bit
+t4cksync
+t4cksync_bit
+t4clk
+t4clkcon
+t4con
+t4cs0
+t4cs0_bit
+t4cs1
+t4cs1_bit
+t4cs2
+t4cs2_bit
+t4cs3
+t4cs3_bit
+t4hlt
+t4mode0
+t4mode0_bit
+t4mode1
+t4mode1_bit
+t4mode2
+t4mode2_bit
+t4mode3
+t4mode3_bit
+t4mode4
+t4mode4_bit
+t4on
+t4on_bit
+t4outps0
+t4outps0_bit
+t4outps1
+t4outps1_bit
+t4outps2
+t4outps2_bit
+t4outps3
+t4outps3_bit
+t4pr
+t4psync
+t4psync_bit
+t4rsel0
+t4rsel0_bit
+t4rsel1
+t4rsel1_bit
+t4rsel2
+t4rsel2_bit
+t4rsel3
+t4rsel3_bit
+t4rsel4
+t4rsel4_bit
+t4rst
+t4tmr
+t5ckipps
+t5ckipps0
+t5ckipps0_bit
+t5ckipps1
+t5ckipps1_bit
+t5ckipps2
+t5ckipps2_bit
+t5ckipps3
+t5ckipps3_bit
+t5ckipps4
+t5ckipps4_bit
+t5ckps0
+t5ckps0_bit
+t5ckps1
+t5ckps1_bit
+t5clk
+t5con
+t5cs0
+t5cs0_bit
+t5cs1
+t5cs1_bit
+t5cs2
+t5cs2_bit
+t5cs3
+t5cs3_bit
+t5gate
+t5gcon
+t5ge
+t5ge_bit
+t5ggo
+t5ggo_bit
+t5ggo_ndone
+t5ggo_ndone_bit
+t5gpol
+t5gpol_bit
+t5gpps
+t5gpps0
+t5gpps0_bit
+t5gpps1
+t5gpps1_bit
+t5gpps2
+t5gpps2_bit
+t5gpps3
+t5gpps3_bit
+t5gpps4
+t5gpps4_bit
+t5gspm
+t5gspm_bit
+t5gss0
+t5gss0_bit
+t5gss1
+t5gss1_bit
+t5gss2
+t5gss2_bit
+t5gss3
+t5gss3_bit
+t5gss4
+t5gss4_bit
+t5gtm
+t5gtm_bit
+t5gval
+t5gval_bit
+t5rd16
+t5rd16_bit
+t6ainpps
+t6ainpps0
+t6ainpps0_bit
+t6ainpps1
+t6ainpps1_bit
+t6ainpps2
+t6ainpps2_bit
+t6ainpps3
+t6ainpps3_bit
+t6ainpps4
+t6ainpps4_bit
+t6ckpol
+t6ckpol_bit
+t6ckps0
+t6ckps0_bit
+t6ckps1
+t6ckps1_bit
+t6ckps2
+t6ckps2_bit
+t6cksync
+t6cksync_bit
+t6clk
+t6clkcon
+t6con
+t6cs0
+t6cs0_bit
+t6cs1
+t6cs1_bit
+t6cs2
+t6cs2_bit
+t6cs3
+t6cs3_bit
+t6hlt
+t6mode0
+t6mode0_bit
+t6mode1
+t6mode1_bit
+t6mode2
+t6mode2_bit
+t6mode3
+t6mode3_bit
+t6mode4
+t6mode4_bit
+t6on
+t6on_bit
+t6outps0
+t6outps0_bit
+t6outps1
+t6outps1_bit
+t6outps2
+t6outps2_bit
+t6outps3
+t6outps3_bit
+t6pr
+t6psync
+t6psync_bit
+t6rsel0
+t6rsel0_bit
+t6rsel1
+t6rsel1_bit
+t6rsel2
+t6rsel2_bit
+t6rsel3
+t6rsel3_bit
+t6rsel4
+t6rsel4_bit
+t6rst
+t6tmr
+tick
+tmr0
+tmr0h
+tmr0h0
+tmr0h0_bit
+tmr0h1
+tmr0h1_bit
+tmr0h2
+tmr0h2_bit
+tmr0h3
+tmr0h3_bit
+tmr0h4
+tmr0h4_bit
+tmr0h5
+tmr0h5_bit
+tmr0h6
+tmr0h6_bit
+tmr0h7
+tmr0h7_bit
+tmr0ie
+tmr0ie_bit
+tmr0if
+tmr0if_bit
+tmr0l
+tmr0l0
+tmr0l0_bit
+tmr0l1
+tmr0l1_bit
+tmr0l2
+tmr0l2_bit
+tmr0l3
+tmr0l3_bit
+tmr0l4
+tmr0l4_bit
+tmr0l5
+tmr0l5_bit
+tmr0l6
+tmr0l6_bit
+tmr0l7
+tmr0l7_bit
+tmr0md
+tmr0md_bit
+tmr1
+tmr110
+tmr110_bit
+tmr111
+tmr111_bit
+tmr112
+tmr112_bit
+tmr113
+tmr113_bit
+tmr114
+tmr114_bit
+tmr115
+tmr115_bit
+tmr1clk
+tmr1gate
+tmr1gie
+tmr1gie_bit
+tmr1gif
+tmr1gif_bit
+tmr1h
+tmr1h0
+tmr1h0_bit
+tmr1h1
+tmr1h1_bit
+tmr1h2
+tmr1h2_bit
+tmr1h3
+tmr1h3_bit
+tmr1h4
+tmr1h4_bit
+tmr1h5
+tmr1h5_bit
+tmr1h6
+tmr1h6_bit
+tmr1h7
+tmr1h7_bit
+tmr1ie
+tmr1ie_bit
+tmr1if
+tmr1if_bit
+tmr1l
+tmr1l0
+tmr1l0_bit
+tmr1l1
+tmr1l1_bit
+tmr1l2
+tmr1l2_bit
+tmr1l3
+tmr1l3_bit
+tmr1l4
+tmr1l4_bit
+tmr1l5
+tmr1l5_bit
+tmr1l6
+tmr1l6_bit
+tmr1l7
+tmr1l7_bit
+tmr1md
+tmr1md_bit
+tmr1on
+tmr1on_bit
+tmr2
+tmr2ie
+tmr2ie_bit
+tmr2if
+tmr2if_bit
+tmr2md
+tmr2md_bit
+tmr2on
+tmr2on_bit
+tmr3
+tmr30
+tmr30_bit
+tmr31
+tmr31_bit
+tmr310
+tmr310_bit
+tmr311
+tmr311_bit
+tmr312
+tmr312_bit
+tmr313
+tmr313_bit
+tmr314
+tmr314_bit
+tmr315
+tmr315_bit
+tmr32
+tmr32_bit
+tmr33
+tmr33_bit
+tmr34
+tmr34_bit
+tmr35
+tmr35_bit
+tmr36
+tmr36_bit
+tmr37
+tmr37_bit
+tmr38
+tmr38_bit
+tmr39
+tmr39_bit
+tmr3clk
+tmr3gate
+tmr3gie
+tmr3gie_bit
+tmr3gif
+tmr3gif_bit
+tmr3h
+tmr3h0
+tmr3h0_bit
+tmr3h1
+tmr3h1_bit
+tmr3h2
+tmr3h2_bit
+tmr3h3
+tmr3h3_bit
+tmr3h4
+tmr3h4_bit
+tmr3h5
+tmr3h5_bit
+tmr3h6
+tmr3h6_bit
+tmr3h7
+tmr3h7_bit
+tmr3ie
+tmr3ie_bit
+tmr3if
+tmr3if_bit
+tmr3l
+tmr3l0
+tmr3l0_bit
+tmr3l1
+tmr3l1_bit
+tmr3l2
+tmr3l2_bit
+tmr3l3
+tmr3l3_bit
+tmr3l4
+tmr3l4_bit
+tmr3l5
+tmr3l5_bit
+tmr3l6
+tmr3l6_bit
+tmr3l7
+tmr3l7_bit
+tmr3md
+tmr3md_bit
+tmr3on
+tmr3on_bit
+tmr4
+tmr4ie
+tmr4ie_bit
+tmr4if
+tmr4if_bit
+tmr4md
+tmr4md_bit
+tmr4on
+tmr4on_bit
+tmr5
+tmr50
+tmr50_bit
+tmr51
+tmr51_bit
+tmr510
+tmr510_bit
+tmr511
+tmr511_bit
+tmr512
+tmr512_bit
+tmr513
+tmr513_bit
+tmr514
+tmr514_bit
+tmr515
+tmr515_bit
+tmr52
+tmr52_bit
+tmr53
+tmr53_bit
+tmr54
+tmr54_bit
+tmr55
+tmr55_bit
+tmr56
+tmr56_bit
+tmr57
+tmr57_bit
+tmr58
+tmr58_bit
+tmr59
+tmr59_bit
+tmr5clk
+tmr5gate
+tmr5gie
+tmr5gie_bit
+tmr5gif
+tmr5gif_bit
+tmr5h
+tmr5h0
+tmr5h0_bit
+tmr5h1
+tmr5h1_bit
+tmr5h2
+tmr5h2_bit
+tmr5h3
+tmr5h3_bit
+tmr5h4
+tmr5h4_bit
+tmr5h5
+tmr5h5_bit
+tmr5h6
+tmr5h6_bit
+tmr5h7
+tmr5h7_bit
+tmr5ie
+tmr5ie_bit
+tmr5if
+tmr5if_bit
+tmr5l
+tmr5l0
+tmr5l0_bit
+tmr5l1
+tmr5l1_bit
+tmr5l2
+tmr5l2_bit
+tmr5l3
+tmr5l3_bit
+tmr5l4
+tmr5l4_bit
+tmr5l5
+tmr5l5_bit
+tmr5l6
+tmr5l6_bit
+tmr5l7
+tmr5l7_bit
+tmr5md
+tmr5md_bit
+tmr5on
+tmr5on_bit
+tmr6
+tmr6ie
+tmr6ie_bit
+tmr6if
+tmr6if_bit
+tmr6md
+tmr6md_bit
+tmr6on
+tmr6on_bit
+tosh
+tosl
+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
+trisd
+trisd0
+trisd0_bit
+trisd1
+trisd1_bit
+trisd2
+trisd2_bit
+trisd3
+trisd3_bit
+trisd4
+trisd4_bit
+trisd5
+trisd5_bit
+trisd6
+trisd6_bit
+trisd7
+trisd7_bit
+trise
+trise0
+trise0_bit
+trise1
+trise1_bit
+trise2
+trise2_bit
+trmt
+trmt_bit
+tsel0
+tsel0_bit
+tsel1
+tsel1_bit
+tsel2
+tsel2_bit
+tsel3
+tsel3_bit
+tsen
+tsen_bit
+tsrng
+tsrng_bit
+tune
+tx1reg
+tx1sta
+tx9
+tx9_bit
+tx9d
+tx9d_bit
+txen
+txen_bit
+txie
+txie_bit
+txif
+txif_bit
+txpps
+txpps0
+txpps0_bit
+txpps1
+txpps1_bit
+txpps2
+txpps2_bit
+txpps3
+txpps3_bit
+txpps4
+txpps4_bit
+txreg
+txreg1
+txsta
+txsta1
+txt
+txt_2
+ua1
+ua1_bit
+ua2
+ua2_bit
+uart1md
+uart1md_bit
+vdelay_advanced_ms
+vdelay_ms
+volt_cnt
+voltage
+voltage_old
+voltage_show
+vref_mask
+w
+watch_cnt
+watch_swr
+wcol1
+wcol1_bit
+wcol2
+wcol2_bit
+wdtcon0
+wdtcon1
+wdtcs0
+wdtcs0_bit
+wdtcs1
+wdtcs1_bit
+wdtcs2
+wdtcs2_bit
+wdtps0
+wdtps0_bit
+wdtps1
+wdtps1_bit
+wdtps2
+wdtps2_bit
+wdtps3
+wdtps3_bit
+wdtps4
+wdtps4_bit
+wdtpscnt0
+wdtpscnt0_bit
+wdtpscnt1
+wdtpscnt1_bit
+wdtpscnt10
+wdtpscnt10_bit
+wdtpscnt11
+wdtpscnt11_bit
+wdtpscnt12
+wdtpscnt12_bit
+wdtpscnt13
+wdtpscnt13_bit
+wdtpscnt14
+wdtpscnt14_bit
+wdtpscnt15
+wdtpscnt15_bit
+wdtpscnt16
+wdtpscnt16_bit
+wdtpscnt17
+wdtpscnt17_bit
+wdtpscnt2
+wdtpscnt2_bit
+wdtpscnt3
+wdtpscnt3_bit
+wdtpscnt4
+wdtpscnt4_bit
+wdtpscnt5
+wdtpscnt5_bit
+wdtpscnt6
+wdtpscnt6_bit
+wdtpscnt7
+wdtpscnt7_bit
+wdtpscnt8
+wdtpscnt8_bit
+wdtpscnt9
+wdtpscnt9_bit
+wdtpsh
+wdtpsl
+wdtsen
+wdtsen_bit
+wdtstate
+wdtstate_bit
+wdttmr
+wdttmr0
+wdttmr0_bit
+wdttmr1
+wdttmr1_bit
+wdttmr2
+wdttmr2_bit
+wdttmr3
+wdttmr3_bit
+wdtwindow0
+wdtwindow0_bit
+wdtwindow1
+wdtwindow1_bit
+wdtwindow2
+wdtwindow2_bit
+window0
+window0_bit
+window1
+window1_bit
+window2
+window2_bit
+word2double
+wordtohex
+wordtostr
+wordtostrwithzeros
+wpua
+wpua0
+wpua0_bit
+wpua1
+wpua1_bit
+wpua2
+wpua2_bit
+wpua3
+wpua3_bit
+wpua4
+wpua4_bit
+wpua5
+wpua5_bit
+wpua6
+wpua6_bit
+wpua7
+wpua7_bit
+wpub
+wpub0
+wpub0_bit
+wpub1
+wpub1_bit
+wpub2
+wpub2_bit
+wpub3
+wpub3_bit
+wpub4
+wpub4_bit
+wpub5
+wpub5_bit
+wpub6
+wpub6_bit
+wpub7
+wpub7_bit
+wpuc
+wpuc0
+wpuc0_bit
+wpuc1
+wpuc1_bit
+wpuc2
+wpuc2_bit
+wpuc3
+wpuc3_bit
+wpuc4
+wpuc4_bit
+wpuc5
+wpuc5_bit
+wpuc6
+wpuc6_bit
+wpuc7
+wpuc7_bit
+wpud
+wpud0
+wpud0_bit
+wpud1
+wpud1_bit
+wpud2
+wpud2_bit
+wpud3
+wpud3_bit
+wpud4
+wpud4_bit
+wpud5
+wpud5_bit
+wpud6
+wpud6_bit
+wpud7
+wpud7_bit
+wpue
+wpue0
+wpue0_bit
+wpue1
+wpue1_bit
+wpue2
+wpue2_bit
+wpue3
+wpue3_bit
+wr
+wr_bit
+wreg
+wreg_shad
+wren
+wren_bit
+wrerr
+wrerr_bit
+wue
+wue_bit
+x1
+x1_bit
+x10
+x10_bit
+x11
+x11_bit
+x12
+x12_bit
+x13
+x13_bit
+x14
+x14_bit
+x15
+x15_bit
+x2
+x2_bit
+x3
+x3_bit
+x4
+x4_bit
+x5
+x5_bit
+x6
+x6_bit
+x7
+x7_bit
+x8
+x8_bit
+x9
+x9_bit
+z
+z_bit
+z_shad
+z_shad_bit
+zcdcon
+zcdie
+zcdie_bit
+zcdif
+zcdif_bit
+zcdintn
+zcdintn_bit
+zcdintp
+zcdintp_bit
+zcdmd
+zcdmd_bit
+zcdout
+zcdout_bit
+zcdpol
+zcdpol_bit
+zcdsen
+zcdsen_bit
+zero
+zero_bit
diff --git a/Firmware/ATU-10_FW_13/ATU-10.dlt b/Firmware/ATU-10_FW_13/ATU-10.dlt
new file mode 100644
index 0000000..f33c27e
Binary files /dev/null and b/Firmware/ATU-10_FW_13/ATU-10.dlt differ
diff --git a/Firmware/ATU-10_FW_13/ATU-10.hex b/Firmware/ATU-10_FW_13/ATU-10.hex
new file mode 100644
index 0000000..e06f974
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/ATU-10.hex
@@ -0,0 +1,1133 @@
+:040000009831F82C0F
+:1000080070084001AE007108AD007208AC007308BA
+:10001800AB007408AA007508A9007608A80077083C
+:10002800A7007808A6007908A5007A08A4007B082C
+:10003800A3007C08A20080314E018C1E30288C124F
+:1000480001304201CC070030CD3DCE3DCF3DC03020
+:1000580040019C00E0309D0042013E084F02031D14
+:100068003F283D084E02031D3F283C084D02031D52
+:100078003F283B084C02031C0E290A30BB070030FE
+:10008800BC3DBD3DBE3D40018D1A4C2874144D2821
+:1000980074108F1851280314522803107418582804
+:1000A80003185828741059287414741C9C2840018B
+:1000B8005308F0005408F1005508F2005608F30000
+:1000C800E830F4000330F500F601F701BE217008AE
+:1000D80042014C074301BD00710842014D3D4301F7
+:1000E800BE00720842014E3D4301BF007308420141
+:1000F8004F3D4301C00040015708F0005808F10087
+:100108005908F2005A08F300E830F4000330F5000B
+:10011800F601F701BE21700842014C07EC00710896
+:100128004D3DED0072084E3DEE0073084F3DEF0067
+:1001380040018D1AA1280314A2280310031CC1280A
+:100148004001FA3064020318AA28E40A6408193A3C
+:10015800031DB0284301A01640016408FA3A013093
+:10016800031D0030F100F001161AF00A7108F005BD
+:100178000319C02843012016D82840016408023C0E
+:10018800013003180030F1001930640201300318FF
+:100198000030F0007108F0050319D7284301201733
+:1001A8004001E401D828E40140018F18DD28031438
+:1001B800DE280310031CF7281930410146020318F2
+:1001C800E628C60A4608143A0130031D0030F1003B
+:1001D800F00140010F19F00A7108F0050319F6281B
+:1001E8004301A0140E2941014608013C01300318BF
+:1001F8000030F1000A304602013003180030F000E8
+:100208007108F00503190D29430120144101C601A5
+:100218000E29C60140012E08F0002D08F1002C0817
+:10022800F2002B08F3002A08F4002908F500280832
+:10023800F6002708F7002608F8002508F900240822
+:0C024800FA002308FB002208FC0009005B
+:10025400F10108307102031849294401B41B3529FE
+:10026400400116113729400116152730FD00FD0BFA
+:1002740039290000000096152730FD00FD0B4029A8
+:100284000000000096114401B435F10A2B29400105
+:1002940016152730FD00FD0B4D29000000009615B2
+:1002A40000300C190130F2002730FD00FD0B5829F5
+:1002B4000000000096112730FD00FD0B5F290000AF
+:0802C40000007208F0000800C0
+:1002CC004001F801F9011030FC00710DF80DF90D29
+:1002DC007408F8027508031C750FF90203187D29C0
+:1002EC007408F80775080318750FF9070310F00D5B
+:0802FC00F10DFC0B6B29080059
+:10030400400196152730FD00FD0B862900000000F2
+:1003140016152730FD00FD0B8D2900000000161175
+:100324002730FD00FD0B94290000000096112730B2
+:0C033400FD00FD0B9B29000000000800EC
+:0C0340003A30FD00FD0BA229000008006F
+:10034C0040017008F100F0010830FC007108F40C59
+:10035C000318B429FC0BAD29F10100340310B929A1
+:10036C00F40C0318F107F10CF00CFC0BB629080087
+:10037C0040012230FC00F801F901FA01FB01FC03F9
+:10038C000319F3290310FB0CFA0CF90CF80CF30C01
+:10039C00F20CF10CF00C031CC529FC030319E52924
+:1003AC007408F80775080318750FF9077608031811
+:1003BC00760FFA0777080318770FFB07C92974081B
+:1003CC00F80775080318750FF90776080318760FE8
+:0C03DC00FA0777080318770FFB070800EA
+:1003E800400116112730FD00FD0BF8290000000020
+:1003F80096152730FD00FD0BFF290000000016159B
+:0E0408002730FD00FD0B062A00000000080052
+:1004160040016F0844012E07B100822141014708BF
+:100426004401B4002A214401B4012A2144012D08C3
+:10043600B03EB4002A21440131080F3C031C272A90
+:100446003108AF00B001382A3108F200F236F23630
+:10045600F236F2367208B0007208F000F035F03568
+:10046600F035F03570083102AF002F08B4002A21AC
+:1004760044013008103EB4002A2182214101470878
+:100486004401B4002A2140304401B4002A21080066
+:100496004401B1010530310203185B2A31082F07E8
+:1004A60086000030303D870020308100B10A4D2A99
+:1004B60031082F0786000030303D87008101B103E7
+:1004C60031082F07B2000030303DB3000A30F40087
+:1004D600F5012D08F0002E08F10066217808F000DD
+:1004E6007908F1003030F0074401320886003308FD
+:1004F6008700700881000A30F400F5012D08F0002D
+:100506002E08F100662170084401AD007108AE00A6
+:1005160000307106031D912A00307006031D942ACF
+:08052600962AB103632A0800C4
+:10052E006C304301A1000330A2002330A30002303F
+:10053E00A40041019301940195019601EC309A05B6
+:10054E00133044012305F000700841019A04C030B5
+:10055E0044012305F0000319CA2AC0302305F20016
+:10056E000630F1007208F00071080319C12AF03646
+:10057E00FF3EBC2A700852018C008C170C1BC92A36
+:10058E000000C52ACD2A5201FC308C0541011316FC
+:06059E001315931708007D
+:1005A4004001FB01FA01F9018030F800F10CF00C74
+:1005B400031CE52A7408F90775080318750FFA0770
+:1005C4000318FB0A0310F01FED2A7408FA077508D4
+:1005D4000318750FFB07FB0CFA0CF90CF80C031C41
+:1005E400D82A7B08F3007A08F2007908F100780829
+:0405F400F00008000B
+:0805F800FA1FF21300300800A5
+:1006000040304401A5001F30A600A701A8014030DA
+:10061000F0001F30F1000030F2000030F30023083A
+:10062000F4002408F500F601F701BE21700844012A
+:10063000A5007108A6007208A7007308A800003082
+:100640007302031D2D2B00307202031D2D2B02306F
+:100650007102031D2D2BB23070020318302B5F2B5B
+:10066000B230A5020230A63B0030A73BA83B0530C4
+:10067000F00070080319422BA836A70CA60CA50C95
+:10068000FF3E3A2B2508F0002608F1002708F2006B
+:100690002808F3000130A5020030A63BA73BA83B89
+:1006A000700871047204730403195F2B00000000CA
+:1006B000000000000000000000000000422B0800C5
+:1006C0007B15FB1F6A2B0130F300F201F101F001F1
+:0806D000FA0DF20CFF300800E6
+:1006D8003F304401230541019E00A021131400006E
+:1006E800131C772B742B0C08F0000D08F100080080
+:1006F80044012308AD002408AE000B224401A801E0
+:10070800270828020318B12B280825078400003081
+:10071800263D850020300002AA00A90105302902E3
+:100728000318AC2B2A08F0000530F400A621440178
+:100738002908F0070030F13DFF30700784009D3034
+:10074800713D85000008B4002A214401A90A922BB2
+:0E075800B4012A214401A80A842BF4210800D0
+:100766004401A901AA012308AB002408AC0080308B
+:100776002406F00080307002031DC32B00302302D4
+:100786000318D12B0130A9000030AA002308003C31
+:10079600AB002408031C013EAC01AC022B08AD00E3
+:1007A6002C08AE002508AF002608B0004B22063004
+:1007B600A7000030A8002808003C031DE42B2708EA
+:1007C600003C0318FF2B2708250786002808263D2E
+:1007D600870001302702F0000030283BF100700846
+:1007E600250784007108263D850000088100013038
+:1007F600A7020030A83BDE2B2508860026088700C6
+:100806002030810029082A040319252CA701A801F4
+:100816002708250784002808263D85000008203A79
+:10082600031D192CA70A0319A80A0B2C0130A702CD
+:100836000030A83B2708250786002808263D8700A4
+:060846002D3081000800C6
+:0E084C00F201F101F001F801F30100300800A3
+:10085A008221410147084401B4002A218030440121
+:10086A00B4002A2144012308B4002A21F4210800F3
+:10087A00FB14FB1F472CFF30F300F200F100F000DD
+:08088A00FA0DF20CFF3008002A
+:100892008221410147084401B4002A214030440129
+:1008A200B4002A214401A4012408073C031C6B2C38
+:1008B2002408AD00AE010B224401A30144018030A3
+:1008C20023020318682CA30AB4012A215F2C4401D5
+:0808D200A40A552CF4210800D2
+:1008DA008221410147084401B4002A2140304401E1
+:1008EA00B4002A2144012308AD002408AE000B22DB
+:1008FA004401A8012708280203180E2D28082507F5
+:10090A0084000030263D85000008003A031D8F2C24
+:10091A00AA01982C2808250784000030263D850066
+:10092A0020300002AA00A9012908043C031C062D54
+:10093A002A08F0000530F400A62144012908F0072E
+:10094A000030F13DFF30700784009D30713D850015
+:10095A000008AB002308023A0319DC2CAB19B72CA8
+:10096A00AC13B82CAC17AB19BC2C2C13BD2C2C1700
+:10097A002B19C12CAC12C22CAC162B19C62C2C125A
+:10098A00C72C2C16AB18CB2CAC11CC2CAC15AB1835
+:10099A00D02C2C11D12C2C152B18D52CAC10D62CD4
+:1009AA00AC142B18DA2C2C10DB2C2C14FC2C2B1945
+:1009BA00E02CAC13E12CAC172B19E52C2C13E62CEC
+:1009CA002C17AB18EA2CAC12EB2CAC16AB18EF2C8C
+:1009DA002C12F02C2C162B18F42CAC11F52CAC156F
+:1009EA002B18F92C2C11FA2C2C15AC102C102C08C5
+:1009FA00B4002A2144012C08B4002A214401A90A7E
+:100A0A00992CB4012A214401B4012A214401A80ADB
+:100A1A007F2C230AAD002408AE000B224401A80152
+:100A2A00270828020318AC2D28082507840000305F
+:100A3A00263D85000008003A031D252DAA012E2D0A
+:100A4A002808250784000030263D85002030000252
+:100A5A00AA00A9012908043C031CA42D2A08F000B5
+:100A6A000530F400A62144012908F0070030F13DC1
+:100A7A00FF30700784009D30713D85000008AB008F
+:100A8A002308023A0319722DAB1B4D2DAC134E2DC0
+:100A9A00AC17AB1B522D2C13532D2C172B1B572D78
+:100AAA00AC12582DAC162B1B5C2D2C125D2D2C165E
+:100ABA00AB1A612DAC11622DAC15AB1A662D2C1137
+:100ACA00672D2C152B1A6B2DAC106C2DAC142B1A10
+:100ADA00702D2C10712D2C149A2D2B1B762DAC13E6
+:100AEA00772DAC172B1B7B2D2C137C2D2C17AB1AB7
+:100AFA00802DAC12812DAC16AB1A852D2C12862DA9
+:100B0A002C162B1A8A2DAC118B2DAC152B1A8F2D66
+:100B1A002C11902D2C15AB19942DAC10952DAC14CD
+:100B2A00AB19992D2C109A2D2C142C08B4002A21BB
+:100B3A0044012C08B4002A214401A90A2F2DB4012A
+:100B4A002A214401B4012A214401A80A152DF421BD
+:020B5A00080091
+:100B5C0040019711492401304401A300A401333012
+:100B6C00A5000030A6001230A7007C2303304401FE
+:100B7C00A300A4014630A5000030A6000C30A7004D
+:100B8C007C2303304401A3005430A4005B30A50047
+:100B9C000030A6000330A7007C237A30FB00C13064
+:100BAC00FC008130FD00FD0BD92DFC0BD92DFB0B6E
+:100BBC00D92D000000008D1AE52D0314E62D03102D
+:0C0BCC00031CEA2D0000E12D9715080025
+:100BD8008221410147084401B4002A2140304401E0
+:100BE800B4002A214401A1012108033C031C1F2E43
+:100BF8002108AD007330AE000B224401A00120088B
+:100C08000A3C031C1D2E2108F0000B30F400A6211D
+:100C180044012008F0070030F13D2D3070078400B2
+:100C2800A030713D85000008B4002A214401A00AC3
+:0A0C3800032EA10AF82DF421080094
+:100C420044012018272E40019917292E400199139B
+:100C52004401A0182F2E40011917312E40011913FB
+:100C620044012019372E40019916392E400199125C
+:100C72004401A0193F2E40011916412E40011912BC
+:100C82004401201A472E40019817492E400198131B
+:100C92004401A01A4F2E40011817512E400118137B
+:100CA2004401201B572E40019816592E40019812DC
+:100CB200440121185F2E40019616612E40019612C2
+:100CC2004401A118672E40019A14692E40019A101E
+:100CD200440121196F2E40019617712E400196137F
+:100CE2004401A119772E40011617792E40011613DF
+:100CF2004401211A7F2E40011814812E4001181040
+:100D02004401A11A872E40019814892E400198109F
+:100D12004401211B8F2E40011815912E40011811FC
+:100D220044012218972E40011A10992E40011A14DC
+:100D32009915430125084401A300430126084401F3
+:100D4200A4000023400199111A30FD00FD0BA72ECB
+:100D520000001812430125084401A300430126089C
+:100D62004401A40000234001181643012508440150
+:100D7200A300430126084401A40000234001991363
+:100D820019139912191298131813981296129A108D
+:0E0D9200961316131810981018111A10080056
+:040DA000F421080032
+:100DA400003044012106031DD92E00302006031D06
+:100DB400E72E0230A3003C30A4002A30A500013005
+:100DC400A6000430A7006D24062F44012008A300C8
+:100DD4002108A400AB30A5000130A600B3234301D1
+:100DE4002E08B3002E30B4002F08B5003008B6002A
+:100DF40002304401A3003C30A400B330A50001300C
+:0A0E0400A6000430A7006D240800CA
+:100E0E0043304401A30097220230FC000830FD005D
+:100E1E00FD0B0F2FFC0B0F2F000009304401A30018
+:100E2E006C230B30F4000030F500D2227008430121
+:080E3E00A9007108AA000800D8
+:060E4600FB15FF3008005F
+:100E4C007C185C2FFC182D2F7C197B2F262FA101D1
+:100E5C007208031D4D2F7108F2007008F10078081C
+:100E6C00F000F801A1157208031D4D2F7108F20056
+:100E7C007008F100F001A11121167208031D4D2F0D
+:100E8C007108F200F101A115720803196F2F2108E6
+:100E9C00F302031D031C732F0310F21B5C2FF80DC0
+:100EAC00F00DF10DF20DF30B532F732F7B1B701CF8
+:100EBC00772FF81F772FF00A0319F10A0319F20A9A
+:100ECC00031D772FF20CF10CF00CF30A03197B2F96
+:100EDC00772F0130FC0026247E2F0230FC0060238B
+:100EEC007E2F0430FC00FC227E2F0830FC003D24B9
+:040EFC0000000800EA
+:100F00007B14FB1F8B2FF201FA1FFF30F200F10060
+:0A0F1000F000FA0DF20CFF300800AB
+:100F1A00FB09FA09F909F809F80A0319F90A031980
+:080F2A00FA0A0319FB0A080092
+:100F3200A1017208031DAE2F7108F2007008F100C2
+:100F4200F001A1157208031DAE2F7108F200F10124
+:100F5200A111211672080319BC2F2108F302031DE7
+:100F6200031CC02F0310F21BC42FF00DF10DF20D64
+:100F7200F30BB42FC02F0130FC002624C72F023000
+:0E0F8200FC006023C72F0430FC00FC22080096
+:100F90004201BF014101EF01EE014401A001A101A5
+:060FA000A2012126080059
+:100FA60040017008F8007108F000F101F201F30148
+:100FB600FB01FC019630F300FA01F01FE82FF80957
+:100FC600F009F80A0319F00AFA177008F100780810
+:0A0FD600F000F801F201992708006D
+:100FE00012001E00F003031DF02FF103031DF02F6C
+:020FF0000800F7
+:101000007408F8027508031C750FF9027608031CB2
+:10101000760FFA027708031C770FFB02F30D0730F7
+:10102000FC00730DF80DF90DFA0DFB0D7408731C1F
+:101030002728F8027508031C750FF9027608031CAF
+:10104000760FFA027708031C770FFB023428F807A3
+:1010500075080318750FF90776080318760FFA0755
+:1010600077080318770FFB07F30DFC0B1128720D9F
+:10107000F80DF90DFA0DFB0D7408731C4D28F802DC
+:101080007508031C750FF9027608031C760FFA0227
+:101090007708031C770FFB025A28F8077508031816
+:1010A000750FF90776080318760FFA077708031803
+:1010B000770FFB07F20D0730FC00720DF80DF90DEC
+:1010C000FA0DFB0D7408721C7328F8027508031CD6
+:1010D000750FF9027608031C760FFA027708031CD5
+:1010E000770FFB028028F80775080318750FF907BA
+:1010F00076080318760FFA0777080318770FFB07AF
+:10110000F20DFC0B5D28710DF80DF90DFA0DFB0DBC
+:101110007408721C9928F8027508031C750FF902EF
+:101120007608031C760FFA027708031C770FFB0280
+:10113000A628F80775080318750FF907760803182D
+:10114000760FFA0777080318770FFB07F10D0730C2
+:10115000FC00710DF80DF90DFA0DFB0D7408711CF2
+:10116000BF28F8027508031C750FF9027608031CE6
+:10117000760FFA027708031C770FFB02CC28F807DA
+:1011800075080318750FF90776080318760FFA0724
+:1011900077080318770FFB07F10DFC0BA928700DDA
+:1011A000F80DF90DFA0DFB0D7408711CE528F80215
+:1011B0007508031C750FF9027608031C760FFA02F6
+:1011C0007708031C770FFB02F228F807750803184D
+:1011D000750FF90776080318760FFA0777080318D2
+:1011E000770FFB07F00D0730FC00700DF80DF90DBF
+:1011F000FA0DFB0D7408701C0B29F8027508031C0E
+:10120000750FF9027608031C760FFA027708031CA3
+:10121000770FFB021829F80775080318750FF907EF
+:1012200076080318760FFA0777080318770FFB077D
+:10123000F00DFC0BF52870182B297408F8077508B9
+:101240000318750FF90776080318760FFA07770861
+:081250000318770FFB070800EB
+:101258004401A0010A302002031855298031822157
+:101268008831410147084401B40080312A2188317E
+:101278007008003A031D412955298031F42188312D
+:101288000D30FB002D30FC00D730FD00FD0B4A2946
+:10129800FC0B4A29FB0B4A29000000004401A00A64
+:1012A8002E294401B40180312A218831AE3044010D
+:1012B800B40080312A218831D5304401B40080310E
+:1012C8002A21883180304401B40080312A218831B4
+:1012D800A8304401B40080312A2188313F304401CC
+:1012E800B40080312A218831D3304401B4008031E0
+:1012F8002A218831410149084401B40080312A215A
+:10130800883140304401B40080312A2188318D3041
+:101318004401B40080312A21883114304401B400DA
+:1013280080312A21883181304401B40080312A215A
+:101338008831FF304401B40080312A218831D93006
+:101348004401B40080312A218831F1304401B400CD
+:1013580080312A21883120304401B40080312A218B
+:10136800883102304401B40080312A21883121308B
+:101378004401B40080312A2188314401B40180310C
+:101388002A2188317F304401B40080312A218831F4
+:101398002E304401B40080312A21883141014A08A5
+:1013A8000319E329A0304401B40080312A2188318F
+:1013B800C0304401B40080312A218831EF29A1309E
+:1013C8004401B40080312A218831C8304401B40076
+:1013D80080312A218831DA304401B40080312A2151
+:1013E800883102304401B40080312A218831DB3051
+:1013F8004401B40080312A21883140304401B400CE
+:1014080080312A218831A4304401B40080312A2156
+:101418008831A6304401B40080312A2188318031D6
+:10142800F4218831803149248831AF304401A30048
+:0814380080312D2488310800E9
+:101440007408003A031D392A7508003A031D392A29
+:101450007608003A031D392A7708003A031D392A15
+:10146000FF30F000FF30F100FF30F2007F30F3007A
+:10147000D32A4001FC01F71BFC0AFD01FB01FA0124
+:10148000F901F80173087204710470040319CC2A7D
+:1014900073087706A000A01BFD09F71F5A2AF4095C
+:1014A000F509F609F709F40A0319F50A0319F60A0A
+:1014B0000319F70AF31F672AF009F109F209F30982
+:1014C000F00A0319F10A0319F20A0319F30A73085F
+:1014D0007704A000A01B882A0020FC1BA52AFD1F62
+:1014E000CC2AF009F109F209F309F00A0319F10A0B
+:1014F0000319F20A0319F30AF809F909FA09FB09B1
+:10150000F80A0319F90A0319FA0A0319FB0ACC2A83
+:10151000F71F9F2AF31B992A7308FB007208FA0031
+:101520007108F9007008F800F301F201F101F0010F
+:101530006F2AF301F201F101F001F00A0034F3091E
+:10154000F209F109F009FC176C2AF80A0319F90AE3
+:101550000319FA0A0319FB0A74087802031D6F2A9B
+:1015600075087902031D6F2A76087A02031D6F2A17
+:1015700077087B02031D6F2AFB01FA01F901F801CC
+:10158000F00A0319F10A0319F20A0319F30AF31F07
+:101590006F2AA0012016FF34A0017C1CD22A8031C2
+:0815A0008D278831003E080090
+:1015A800400116160930FB001E30FC00E430FD0037
+:1015B800FD0BDC2AFC0BDC2AFB0BDC2A000080314B
+:1015C800D02688316830FC00E430FD00FD0BEA2AA3
+:1015D800FC0BEA2A00002C214301A01DFB2A8031C4
+:1015E800AE2588314301A011803149248831440156
+:1015F800A301A4016030A5000130A6000930A700AE
+:1016080080316D2488318031EC25883102304401E5
+:10161800A300A4015630A5000130A6000930A70098
+:1016280080316D2488314401A3012A30A40054304C
+:10163800A5000130A6000130A70080316D24883153
+:1016480002304401A3002A30A4006A30A50001300A
+:10165800A6000130A70080316D2488310F30420187
+:10166800C8002730C9006430CA000030CB000F30F2
+:10167800C6002730C700C001C1014401A001A10173
+:101688008031D2268831013042014C07C200003037
+:101698004D3DC30000304E3DC40000304F3DC500F5
+:1016A8004C08D0004D08D1004E08D2004F08D30096
+:1016B80043012013A012201240015308F0005408DF
+:1016C800F1005508F2005608F300E830F400033042
+:1016D800F500F601F7018031BE218831700842011A
+:1016E8004C074301BD00710842014D3D4301BE0056
+:1016F800720842014E3D4301BF00730842014F3D4D
+:101708004301C00040015708F0005808F10059088B
+:10171800F2005A08F300E830F4000330F500F6014F
+:10172800F7018031BE218831700842014C07EC0076
+:1017380071084D3DED0072084E3DEE0073084F3DB7
+:04174800EF000800A6
+:10174C004001FB0173080319E22B7208FA00F2172F
+:10175C008E30F302F31FE52BF309F30A0830730202
+:10176C00031CC82BF300F10D7208F100F2010830D4
+:10177C007302031CC82BF300F10DF1017308031D58
+:10178C000310D02B73080319D02B0310F20CF10C9F
+:10179C00F30BCB2B7B1B711CDA2B031CDA2BF10A02
+:1017AC000319F20AF21BF12BFA1FF42BF209F109BF
+:1017BC00F10A0319F20AF42BF201F101F42B7B1458
+:1017CC00FB1FF72BF201FA1FF72BFF30F200F10091
+:1017DC00FA0DF20CF72B0130FC00F92B0030FC0059
+:1017EC00F92BFF30FC00FC080319FF2B80318027FC
+:0C17FC0088317108F0007208F10008004C
+:10180800400172087606A100F801F9017308770211
+:10181800031C262C7708FD007308F7007D08F300E9
+:101828007608FD007208F6007D08F2007508FD00D4
+:101838007108F5007D08F1007408FD007008F400D7
+:101848007D08F00077080319A72C7208FA00F21730
+:10185800F61777087302F7000319592C0830770236
+:10186800031C4F2CF7007408F9007508F40076087B
+:10187800F500F60108307702031C4F2CF7007408B6
+:10188800F9007508F400F50108307702031C4F2CA5
+:101898007A08F200A72C77080319592C0310F60CC4
+:1018A800F50CF40CF90CF70B522CA11F662CF90956
+:1018B800F409F509F609F90A0319F40A0319F50AEE
+:1018C8000319F60A7908F80774080318740FF00763
+:1018D80075080318750FF10776080318760FF207D5
+:1018E800A11B7F2C031C8F2CF20CF10CF00CF80CB4
+:1018F800F30F8F2CA12C0318952CF809F009F10986
+:10190800F209F80A0319F00A0319F10A0319F20A8D
+:101918008030FA069B2C0130FC0080312627883164
+:10192800A92C0230FC00803126278831A92C0430EC
+:10193800FC00803199278831A92C0830FC008031BF
+:0E1948003D248831A92C0030FC00000008006E
+:1019560043304401A3008031972288310230FC00D5
+:101966000830FD00FD0BB52CFC0BB52C0000083033
+:101976004401A30080316C23883170084301EE00D6
+:101986007108EF007108033A031DCB2CFF30700677
+:10199600031DE92C83304401A3008031972288314E
+:1019A6000230FC000830FD00FD0BD72CFC0BD72CB9
+:1019B600000008304401A30080316C238831700890
+:1019C6004301EE007108EF00EE35EF0D6F08073AA0
+:1019D600031DEF2CFE306E06031D402D4401A301AE
+:1019E6008031972288310230FC000830FD00FD0B63
+:1019F600FA2CFC0BFA2C000008304401A3008031BD
+:101A06006C23883170084301EE007108EF007108FD
+:101A1600033A031D102DFF307006031D132D2015EC
+:101A26008031072788316E08F4006F08F500F6014B
+:101A3600F7012908F0002A08F1000030F11BFF30F9
+:101A4600F200F3008031BE2188310A30F8007008B8
+:101A5600F4007108F5007208F6007308F7007808BC
+:101A660003193B2DF736F60CF50CF40CFF3E332D1F
+:101A760074084301EE007508EF006E08F0006F0869
+:041A8600F100080063
+:101A8A004001FB017308031D770803199B2D720897
+:101A9A007606FA007708F3077E30031C582DF30206
+:101AAA000318A02D5B2DF302031CA52D7208F80064
+:101ABA007108FC007008FD00F817F6170310F20110
+:101ACA00F101F0011830A1007D1C752D7408F00792
+:101ADA0075080318750FF10776080318760FF207D1
+:101AEA00F20CF10CF00CF80CFC0CFD0C0310A10B21
+:101AFA00692DF21B852DF80DF00DF10DF20DF30392
+:101B0A007B1B701C972DF81F972DF00A0319F10AF9
+:101B1A000319F20A031D972DF20CF10CF00CF30ACB
+:101B2A000319A02DFA1FF2130030A92D01308031BC
+:101B3A0026248831A92D023080313D248831A92DEF
+:0C1B4A0004308031602388310000080066
+:101B56007408003A031DC42D7508003A031DC42DF0
+:101B66007608003A031DC42D7708003A031DC42DDC
+:101B7600FF30F000FF30F1007F30F200FF30F3005D
+:101B8600662E400177080319522E73080319572E43
+:101B9600720876068039FA00F217F617A101720864
+:101BA600F8007108FC007008FD007408FD02750855
+:101BB600031C750FFC027608031C760FF802F80169
+:101BC600FC01FD01031CEE2D0310F20CF10CF00CD0
+:101BD600F80C0130A1007708F302031CF82D7E30C3
+:101BE6002107F30703185C2EFD2D7E302107F3072E
+:101BF600031C612E1830FA07FD0DFC0DF80DF00DD3
+:101C0600F10DF20DA10D7408F0027508031C750F95
+:101C1600F1027608031C760FF202760DA104211C50
+:101C2600162E7D14212E7408F00775080318750FFB
+:101C3600F10776080318760AF2077D10FA031F30BB
+:101C46007A05031DFF2D7B1B7D1C482E0310F00D0E
+:101C5600F10DF20DA10D7408F0027508031C750F45
+:101C6600F1027608031C760FF202760D2104013983
+:101C7600FD070318FC0A0319F80A031D482EF80C81
+:101C8600FC0CFD0CF30A03195C2EFA1FF8137808F6
+:101C9600F2007C08F1007D08F0000030652E01306E
+:101CA600803123278831652E023080312624883101
+:101CB600652E043080313D248831652E0830803110
+:081CC6006023883100000800D2
+:101CCE0043304401A3008031972288310230FC005A
+:101CDE000830FD00FD0B712EFC0B712E00000A303A
+:101CEE004401A30080316C23883170084301EE005B
+:101CFE007108EF007108033A031D872EFF3070063E
+:101D0E00031DA52E83304401A30080319722883114
+:101D1E000230FC000830FD00FD0B932EFC0B932EC1
+:101D2E0000000A304401A30080316C238831700812
+:101D3E004301EE007108EF00EE35EF0D6F08073A24
+:101D4E00031DAB2EFE306E06031DFC2E4401A301B7
+:101D5E008031972288310230FC000830FD00FD0BE7
+:101D6E00B62EFC0BB62E00000A304401A3008031C3
+:101D7E006C23883170084301EE007108EF00710882
+:101D8E00033A031DCC2EFF307006031DCF2E2015F7
+:101D9E008031072788316E08F4006F08F500F601D0
+:101DAE00F7012908F0002A08F1000030F11BFF307E
+:101DBE00F200F3008031BE2188310A30F80070083D
+:101DCE00F4007108F5007208F6007308F700780841
+:101DDE000319F72EF736F60CF50CF40CFF3EEF2E2A
+:101DEE0074084301EE007508EF006E08F0006F08EE
+:041DFE00F1000800E8
+:101E020043016E08F1006F08F200F135F20D71081E
+:101E1200EE007208EF008030023AF0008030720665
+:101E22007002031D162F71081F3C031C1D2F00306A
+:101E3200EE070130EF3D872F8030033AF00080300B
+:101E42006F067002031D272F6E08173C031C2E2FEE
+:101E52001230EE070130EF3D872F8030043AF00058
+:101E620080306F067002031D382F6E08C93C031CB8
+:101E72003F2F2030EE070130EF3D872F8030073AA9
+:101E8200F00080306F067002031D492F6E08C73CB8
+:101E9200031C502F1E30EE070130EF3D872F80309C
+:101EA2000A3AF00080306F067002031D5A2F6E0846
+:101EB200CE3C031C612F2030EE070130EF3D872F0F
+:101EC20080300F3AF00080306F067002031D6B2FD6
+:101ED2006E08823C031C722F0430EE070130EF3D86
+:101EE200872F8030133AF00080306F067002031D96
+:101EF2007C2F6E08EC3C031C832FFA30EE07003077
+:101F0200EF3D872FF030EE070030EF3D6E08F00016
+:061F12006F08F100080059
+:101F1800710DF80DF90D7408F8027508031C750F9A
+:101F2800F902F00DF10D0F30FC00710DF80DF90DEF
+:101F38007408701CA52FF8027508031C750FF902A8
+:101F4800AA2FF80775080318750FF907F00DF10D9A
+:101F5800FC0B992F7018B62F7408F807750803182A
+:081F6800750FF90700000800E5
+:101F7000430120124201BB01BC01BD01BE01803101
+:101F80004924883101304401A300A4012F30A50069
+:101F90000130A6000B30A70080316D24883152300B
+:101FA000FB002B30FC000030FD00FD0BD52FFC0B9F
+:101FB000D52FFB0BD52F00009831822188310800E6
+:101FC00040019711161690319D25883143013B0839
+:101FD0004201C00043013C084201C1004001971585
+:061FE0004301A0100800FF
+:10200000400197118031C827903102304401A3006C
+:10201000A4016530A5000030A6000930A70080317A
+:102020006D2490311930FB005A30FC00B130FD00B6
+:10203000FD0B1828FC0B1828FB0B182800000000CB
+:1020400002304401A300A401A030A5000030A60086
+:102050000530A70080316D24903102304401A30087
+:102060002A30A400A630A5000030A6000130A70049
+:1020700080316D24903102304401A3003C30A40033
+:102080005F30A5000030A6000430A70080316D2429
+:10209000903164304201CA000030CB000D30FB00AB
+:1020A0002D30FC00D730FD00FD0B5428FC0B5428CC
+:1020B000FB0B54280000000040019715430120133A
+:1020C00020104001E40142014C08C2004D08C30049
+:1020D0004E08C4004F08C5004C08D0004D08D10080
+:0A20E0004E08D2004F08D30008009C
+:1020EA00003043016706031D7C2800306606031D85
+:1020FA008C284401A3013C30A4002F30A5000030F5
+:10210A00A6000330A70080316D249031F3280030F7
+:10211A0043016702031D93280A3066020318AB289D
+:10212A0066084401A300430167084401A400AB30D8
+:10213A00A5000130A6008031B3239031303043012D
+:10214A00B3002E30B4003008B500E628003067022C
+:10215A00031DB128643066020318C92866084401C1
+:10216A00A300430167084401A400AB30A500013075
+:10217A00A6008031B323903143012F08B3002E30DB
+:10218A00B4003008B500E62805306607F0000030D4
+:10219A00673DF1007008E6007108E7007008440125
+:1021AA00A3007108A400AB30A5000130A60080315D
+:1021BA00B323903120304301B3002E08B4002F0816
+:1021CA00B5004401A3013C30A400B330A50001309E
+:0E21DA00A6000330A70080316D24903108006C
+:1021E8008831AB2490317008E6007108E7000030B0
+:1021F800E71BFF30E800E900883167269031700856
+:10220800EA007108EB000030EB1BFF30EC00ED003A
+:102218006608EE006708EF008831012790318031A9
+:10222800D32790310030F4000030F5002030F6005C
+:102238008130F7008831452590310030F4000030B6
+:10224800F5007A30F6008830F7008831AB259031F8
+:10225800F430F400FD30F5003430F6007F30F7003C
+:102268008831AB2590317008F4007108F5007208C8
+:10227800F6007308F7008831452590310030F400E6
+:102288000030F5002030F6008130F7008831AB25AA
+:1022980090310030F4000030F5000030F6007E3058
+:1022A800F7008831042490318831A62390317008D2
+:1022B8004301A7007108A8008030F2008030710641
+:1022C8007202031D69297008003C0318B6294001F1
+:1022D800161EB3295308F0005408F1005508F200FF
+:1022E8005608F300E830F4000330F500F601F70172
+:1022F8008031BE219031700842014C074301BD0076
+:10230800710842014D3D4301BE00720842014E3D35
+:102318004301BF00730842014F3D4301C000400123
+:102328005708F0005808F1005908F2005A08F3005D
+:10233800E830F4000330F500F601F7018031BE21E2
+:102348009031700842014C07EC0071084D3DED00DA
+:1023580072084E3DEE0073084F3DEF00B6298831F4
+:10236800D4229031803043016D06F0008030690638
+:102378007002031DC92968086C02031DC929670872
+:102388006B02031DC92966086A02031CD229E730BB
+:10239800E6000330E700E801E9011C2A6A0866073D
+:1023A800F0006B08673DF1006C08683DF2006D08AD
+:1023B800693DF3006430F400F501F601F70180315E
+:1023C800BE21903143016608F4006708F5006808EB
+:1023D800F6006908F7006A08F4026B08F53B6C0818
+:1023E800F63B6D08F73B8831202290317008430195
+:1023F800E6007108E7007208E8007308E900803019
+:10240800F400803073067402031D142A7208003C1D
+:10241800031D142A7108033C031D142A7008E73CA5
+:1024280003181C2AE730E6000330E700E801E90159
+:0A2438006608BB006708BC0008003E
+:102442002C304301E2000130E300E401E501F42015
+:1024520080302806F0008030410143067002031DDF
+:10246200352A420843012702031C472A80304101D2
+:102472002906F0008030430128067002031D442A19
+:10248200270841012802031C472A842A4301201FEE
+:102492004F2A00204301BB01BC01842A201E542A7A
+:1024A200BB01BC01842AF4206308003C031D5B2AA3
+:1024B2006208003C03186E2A0130E2020030E33B5E
+:1024C20028086502031D672A2708640203186D2A7B
+:1024D2002708E4002808E500832A6408E600650866
+:1024E200E70075204301E401E5012C30E2000130F0
+:1024F200E3000B30FC006230FD00FD0B7E2AFC0B7A
+:082502007E2A0000292A0800CE
+:10250A007408003A031D922A7508003A031D922A9C
+:10251A00FF30F0007F30F100EC2A4001FD01F901A3
+:10252A00F801710870040319003471087506FA007D
+:10253A00FA1BFD09FB01F51FA72AF409F509F40A9C
+:10254A000319F50AF11FAE2AF009F109F00A031975
+:10255A00F10A71087504FA00FA1BC32A88318C271C
+:10256A0090317B18D82AFD1F0034F009F109F00ACE
+:10257A000319F10AF809F909F80A0319F90A0034E2
+:10258A00F51FD42AF11BD02A7108F9007008F80047
+:10259A00F101F001B82AF101F001F00A0034F10961
+:1025AA00F009FB0AB52AF80A0319F90A740878022D
+:1025BA00031DB82A75087902031DB82AF901F80122
+:1025CA00F00A0319F10AF11FB82A0000FF340800C3
+:1025DA0003304301E1004101EF0142013F08440198
+:1025EA00A000A10141016E084401A2008031212608
+:1025FA00903121221430F4000030F50043013B08E9
+:10260A00F0003C08F1008522700843013B07DF0017
+:10261A0071083C3DE0006108DE005E081F3C031CB7
+:10262A006E2B42013F084401A00043015E084401A9
+:10263A00A10041016E084401A20080312126903197
+:10264A002122803043013C06F0008030600670028F
+:10265A00031D312B5F083B0203186C2B1430F40066
+:10266A000030F5003B08F0003C08F10085227008B4
+:10267A0043013B07DF0071083C3DE0005E08410171
+:10268A00EF00430161084101ED00803043013C063F
+:10269A00F00080307002031D542B78303B0203187F
+:1026AA00572B6E2B61085E07F1007108DE00710876
+:1026BA00093A031D632B0830DE006B2B5E08113AC2
+:1026CA00031D6B2B1030DE000430E1006D2B6E2BE6
+:1026DA00122B42013F084401A00041016F08440146
+:1026EA00A10041016E084401A200803121269031E7
+:0226FA000800D6
+:1026FC0041016D084301D80041016D086F07F100DD
+:10270C0071084301DA0071081F3C03188F2B1F302E
+:10271C00DA0041016F084301580203189B2B58083B
+:10272C0041016F024301DB009C2BDB015B08410183
+:10273C00EF0042013F084401A00043015B08440143
+:10274C00A10041016E084401A20080312126903184
+:10275C002122003043013C06031DB62B00303B0602
+:10276C00031DB92B3E2C3B08DC003C08DD005B0A4A
+:10277C00D90059085A02031C2F2C42013F0844016E
+:10278C00A000430159084401A10041016E08440115
+:10279C00A2008031212690312122003043013C06D9
+:1027AC00031DDA2B00303B06031DDD2B3E2C803045
+:1027BC003C06F00080305D067002031DE72B5C08C0
+:1027CC003B02031CF32B6830FC00E430FD00FD0BD6
+:1027DC00ED2BFC0BED2B00002122803043013C063D
+:1027EC00F00080305D067002031DFE2B5C083B027E
+:1027FC00031C0A2C6830FC00E430FD00FD0B042C9B
+:10280C00FC0B042C00002122803043013C06F0001C
+:10281C0080305D067002031D152C5C083B0203180A
+:10282C002C2C3B08DC003C08DD0059084101EF0072
+:10283C00803043013C06F00080307002031D282CD0
+:10284C0078303B0203182B2C2F2C2D2C2F2CD90A33
+:10285C00BF2B42013F084401A00041016F08440115
+:10286C00A10041016E084401A20080312126903163
+:02287C00080052
+:10287E0003304301DD00D9015D084101EC00033056
+:10288E004301DA001430F4000030F5003B08F0008C
+:10289E003C08F1008522700843013B07DB007108FC
+:1028AE003C3DDC005D08D80058081F3C031CBC2CC6
+:1028BE0058084401A00041016F084401A1004101E4
+:1028CE006E084401A200803121269031ED22212292
+:1028DE00803043013C06F00080305C067002031D20
+:1028EE007A2C5B083B020318BA2C1430F40000302B
+:1028FE00F5003B08F0003C08F1008522700843010A
+:10290E003B07DB0071083C3DDC0058084201BF006C
+:10291E0041016F084301D9005D084101EC006D08CB
+:10292E004301DA0080303C06F00080307002031D57
+:10293E00A22C78303B020318A52CBC2C5D0858073E
+:10294E00F1007108D8007108093A031DB12C083046
+:10295E00D800B92C5808113A031DB92C1030D800E4
+:10296E000430DD00BB2CBC2C5B2C59084101EF0060
+:10297E0042013F084401A000430159084401A1004F
+:10298E0041016E084401A20080312126903143019D
+:10299E005A084101ED006830FC00E430FD00FD0BEB
+:0A29AE00D62CFC0BD62C000008000C
+:1029B80041016C084301D80041016C0842013F07FE
+:1029C800F10071084301DA0071081F3C0318EE2C6E
+:1029D8001F30DA0042013F08430158020318FA2C5D
+:1029E800580842013F024301DB00FB2CDB015B0876
+:1029F8004201BF0043015B084401A00041016F0888
+:102A08004401A10041016E084401A2008031212641
+:102A180090312122003043013C06031D152D003062
+:102A28003B06031D182D9C2D3B08DC003C08DD00EF
+:102A38005B0AD90059085A02031C8D2D5908440114
+:102A4800A00041016F084401A10041016E08440142
+:102A5800A2008031212690312122003043013C061A
+:102A6800031D382D00303B06031D3B2D9C2D803067
+:102A78003C06F00080305D067002031D452D5C08A1
+:102A88003B02031C512D6830FC00E430FD00FD0BB7
+:102A98004B2DFC0B4B2D00002122803043013C06BE
+:102AA800F00080305D067002031D5C2D5C083B025F
+:102AB800031C682D6830FC00E430FD00FD0B622D1E
+:102AC800FC0B622D00002122803043013C06F000FF
+:102AD80080305D067002031D732D5C083B020318ED
+:102AE8008A2D3B08DC003C08DD0059084201BF0084
+:102AF800803043013C06F00080307002031D862DB3
+:102B080078303B020318892D8D2D8B2D8D2DD90AF8
+:102B18001E2D42013F084401A00041016F084401F5
+:102B2800A10041016E084401A200803121269031A4
+:022B3800080093
+:102B3A006400400119110530FB000F30FC00F13030
+:102B4A00FD00FD0BA62DFC0BA62DFB0BA62D2122AD
+:102B5A00803043013C06F00080307002031DB72D1F
+:102B6A006E303B020318BC2D400119154A2F8031E3
+:102B7A00C82790310330FB000830FC007730FD0095
+:102B8A00FD0BC52DFC0BC52DFB0BC52D212280305D
+:102B9A0043013C06F00080307002031DD62D6E30D2
+:102BAA003B020318DB2D400119154A2F43013B084C
+:102BBA00D2003C08D3003F24003043013C06031DE9
+:102BCA00E82D00303B06031DEF2D8031C8279031D8
+:102BDA0019154A2F2122803043013C06F00080302B
+:102BEA007002031DFA2D78303B020318FF2D4001B5
+:102BFA0019154A2FDC24003043013C06031D072E19
+:102C0A0000303B06031D0E2E8031C827903119155E
+:102C1A004A2F2122803043013C06F00080307002A6
+:102C2A00031D192E78303B0203181E2E4001191578
+:102C3A004A2F7E23003043013C06031D262E003016
+:102C4A003B06031D2D2E8031C827903119154A2FB6
+:102C5A002122803043013C06F00080307002031DBF
+:102C6A00382E78303B0203183D2E400119154A2FA1
+:102C7A00803043013C06F10080307102031D472E6B
+:102C8A00C8303B02013003180030F10080303C06A6
+:102C9A00F000803053067002031D552E52083B0285
+:102CAA00013003180030F00070087105F3003B088A
+:102CBA005202F1003C08533BF2008030F0008030B1
+:102CCA0072067002031D6B2E7108643C01300318F2
+:102CDA000030F0007308F0050319762E400119152B
+:102CEA004A2F43013B08D2003C08D30042013F0867
+:102CFA004301D400D50141016F084301D600D70131
+:102D0A0041016E08013A031D8C2EEE018E2E013010
+:102D1A00EE008031C827903142013F084401A000EB
+:102D2A0041016F084401A10041016E084401A2005B
+:102D3A008031212690310330FB000830FC007730C7
+:102D4A00FD00FD0BA62EFC0BA62EFB0BA62E2122A8
+:102D5A00803043013C06F00080307002031DB72E1C
+:102D6A0078303B020318BC2E400119154A2F3F2424
+:102D7A00003043013C06031DC42E00303B06031DF0
+:102D8A00CB2E8031C827903119154A2F2122803045
+:102D9A0043013C06F00080307002031DD62E7830C5
+:102DAA003B020318DB2E400119154A2FDC240030A0
+:102DBA0043013C06031DE32E00303B06031DEA2EA9
+:102DCA008031C827903119154A2F212280304301BA
+:102DDA003C06F00080307002031DF52E78303B026D
+:102DEA000318FA2E400119154A2F7E230030430199
+:102DFA003C06031D022F00303B06031D092F8031BC
+:102E0A00C827903119154A2F2122803043013C06E8
+:102E1A00F00080307002031D142F78303B02031833
+:102E2A00192F400119154A2F803043015306F0002B
+:102E3A0080303C067002031D242F3B0852020318FF
+:102E4A00462F41016E08013A031D2D2FEE012F2F47
+:102E5A000130EE00430154084201BF004301560805
+:102E6A004101EF00430154084401A0004301560800
+:102E7A004401A10041016E084401A20080312126CB
+:0C2E8A009031640021224001191508005D
+:102E96004001971102304401A300A401D530A500DA
+:102EA6000030A6000930A70080316D2490319D25A1
+:102EB60043013B084201C00043013C084201C100F6
+:102EC60043013B084201CA0043013C084201CB00D2
+:102ED60002304401A300A401DF30A5000030A600A3
+:102EE6000430A70080316D24903102304401A300E4
+:102EF6002A30A400E430A5000030A6000130A70067
+:102F060080316D249031420140084401A000420105
+:102F160041084401A1008031D22690319715430122
+:102F2600A012A0104001E40142014C08C2004D0865
+:102F3600C3004E08C4004F08C5004C08D0004D0819
+:0C2F4600D1004E08D2004F08D300080054
+:102F52006C304301A1000330A2002330A3000230F1
+:102F6200A40041019301940195019601EC309A0568
+:082F7200131613159317080054
+:10300000803182219831410147084401B400803168
+:103010002A21983140304401B40080312A2198316E
+:103020000A30F4000030F50043014908F0004A0876
+:10303000F10090318522983170084301C900710870
+:10304000CA0080307106F2008030013A7202031D1E
+:103050002B282C307002031832282C30C900013084
+:10306000CA0042288030013AF00080304A067002DF
+:10307000031D3C284908A43C03184228A430C90079
+:103080000130CA002C304902F30001304A3BF40001
+:103090007308C9007408CA000530F2007308F00014
+:1030A0007408F100720803195928F035F10DFF3E3C
+:1030B00053287008C9007108CA007830F400003045
+:1030C000F50090318522983170084301CC00193009
+:1030D0007002031C752818304C02CD000830CE0059
+:1030E0000830CF000830D000932811304C02031C68
+:1030F0008228CD0110304C02CE000830CF000830BD
+:10310000D000932809304C02031C8E28CD01CE013B
+:1031100008304C02CF000830D0009328CD01CE01FA
+:10312000CF014C08D0008030D10001304D02F000BA
+:10313000F1010030F13B7008F1005108F000710816
+:103140000319A528F036FF3EA0287008FF3CD100E7
+:10315000D10A0330D1044401AD017730AE00803193
+:103160000B229831430151084401B40080312A21D7
+:103170009831430151084401B40080312A2198312B
+:10318000430151084401B40080312A2198311F3095
+:103190004301D1044401AD017530AE0080310B22F2
+:1031A0009831430151084401B40080312A219831FB
+:1031B000430151084401B40080312A21983144016F
+:1031C000AD017A30AE0080310B22983143015108B5
+:1031D0004401B40080312A2198314301510844014F
+:1031E000B40080312A21983180304301D100013070
+:1031F0004E02F000F1010030F13B7008F10051087F
+:10320000F000710803190729F036FF3E0229700803
+:10321000FF3CD100D10A01304401AD007530AE0051
+:1032200080310B2298314301CB014B08063C031C33
+:10323000222951084401B40080312A2198314301E8
+:10324000CB0A15298030D10001304F02F000F10186
+:103250000030F13B7008F1005108F00071080319CB
+:103260003429F036FF3E2F297008FF3CD100D10AE7
+:1032700002304401AD007530AE0080310B22983130
+:103280004301CB014B08063C031C4F295108440164
+:10329000B40080312A2198314301CB0A4229803081
+:1032A000D10001305002F000F1010030F13B700814
+:1032B000F1005108F000710803196129F036FF3E52
+:1032C0005C297008FF3CD100D10AC030D104033022
+:1032D0004401AD007530AE0080310B2298314301BE
+:1032E000CB014B08063C031C7E2951084401B40065
+:1032F00080312A2198314301CB0A71298031F42190
+:0433000098310800F8
+:103304008B1340019E134E018C1216167E01CA12B5
+:10331400C91640011612171697151A104F01961761
+:103324004301C9014908003A031DA7290530FB00E0
+:103334000F30FC00F130FD00FD0B9E29FC0B9E2993
+:10334400FB0B9E297E01CA12630000000530FB00BE
+:103354000F30FC00F130FD00FD0BAE29FC0BAE2953
+:10336400FB0BAE2940018D1AB9290314BA290310A5
+:10337400031CBF294301C90AC1294301C9014908E2
+:103384000F3C0318C629C72994294F0196134E01EF
+:1033940016127E01C912CA1240019E178B174301EF
+:1033A400A0158831D422983140018D1ADB290314E9
+:1033B400DC290310031CE0290000D6294301201353
+:1033C400A0122012A0104001E40142014C08430164
+:0433D400C900080024
+:1033D800643041016A024301C300003041016B3B84
+:1033E8004301C4000330FB000830FC007730FD00C7
+:1033F800FD0BFC29FC0BFC29FB0BFC295830C200F7
+:10340800C501C601C701C801C1014208410203182C
+:103418002F2A9031F420983180304606F000803011
+:1034280028067002031D1A2A270845020318242AB1
+:103438002708C5002808C6003B08C7003C08C80084
+:103448000B30FC006230FD00FD0B282AFC0B282AFB
+:103458000000C10A092A8030F00080304606700258
+:10346800031D382A4508003C0318852A4001161E0A
+:10347800822A5308F0005408F1005508F200560853
+:10348800F300E830F4000330F500F601F70180316D
+:10349800BE219831700842014C074301BD007108F4
+:1034A80042014D3D4301BE00720842014E3D4301B9
+:1034B800BF00730842014F3D4301C0004001570857
+:1034C800F0005808F1005908F2005A08F300E830F3
+:1034D800F4000330F500F601F7018031BE21983180
+:1034E800700842014C07EC0071084D3DED00720870
+:1034F8004E3DEE0073084F3DEF00852A8831D422F7
+:1035080098314301460842014706031D8E2A4608A2
+:10351800430145060319BE2A4301201DA12A44017F
+:10352800A3012A30A400E630A5000030A60001302F
+:10353800A70080316D249831AE2A4401A3012A30B6
+:10354800A400E830A5000030A6000130A7008031B3
+:103558006D249831430145084201C60043014608DD
+:103568004201C70043014508E6004608E7009031DC
+:1035780075209831803043014606F0008030700293
+:10358800031DC82A0A3045020318D82AC701C801F2
+:10359800420140084401A000420141084401A10041
+:1035A8008031D2269831122C4301201D4F2B033035
+:1035B800C2004208003A0319192B02304401A30043
+:1035C8000630A4002030A5000130A6000930A7006D
+:1035D80080316D2498311530FB004B30FC00BE3033
+:1035E800FD00FD0BF52AFC0BF52AFB0BF52A000064
+:1035F80002304401A300A401CB30A5000030A6008E
+:103608000930A70080316D2498311530FB004B300C
+:10361800FC00BE30FD00FD0B0F2BFC0B0F2BFB0B32
+:103628000F2B00004301C203DD2A02304401A3002E
+:10363800A401B630A5000030A6000930A7008031EB
+:103648006D24983102304401A3002A30A400C03010
+:10365800A5000030A6000130A70080316D24983104
+:10366800430147084401A000430148084401A10060
+:103678008031D22698311530FB004B30FC00BE302B
+:10368800FD00FD0B452BFC0B452BFB0B452B0000D0
+:1036980043012011E92B80304606F00080304101BB
+:1036A80043067002031D5B2B420843014502031CBD
+:1036B8007C2B430180304606F0008030410129060A
+:1036C8007002031D6A2B28084301450203187C2B4E
+:1036D800430180304806F000803041016B067002DB
+:1036E800031D792B6A0843014702031C7C2B8A2B94
+:1036F80043018030033AF000803048067002031D11
+:10370800872B4708843C031C8A2BE92B8030420115
+:103718004B06F0008030430148067002031D972BCA
+:10372800470842014A020318B02B42014A084301E4
+:103738004702F10042014B084301483BF200803048
+:103748004406F000803072067002031DAD2B71082C
+:1037580043020318B02BE52B430180304806F000E4
+:10376800803042014B067002031DBD2B4A084301FD
+:1037780047020318D72B4301470842014A02F100C8
+:103788004301480842014B3BF200803043014406A4
+:10379800F000803072067002031DD42B71084302BA
+:1037A8000318D72BE52B43018030033AF000803013
+:1037B80048067002031DE22B4708843C031CE52BD6
+:1037C800E92B90314B279831122C8030F000803053
+:1037D800430148067002031DF32B4708633C031896
+:1037E800122C480842014106031DFD2B40084301E5
+:1037F80047060319122C430147084201C000430140
+:1038080048084201C100430147084401A0004301A0
+:0E38180048084401A1008031D22698310800F2
+:103826008031072798312A0842014906031D1E2CBC
+:1038360048084301290603192E2C43012908420191
+:10384600C80043012A084201C90043012908C900EA
+:103856002A08CA00002080300E3AF000803043016A
+:103866002A067002031D392C2908743C03184D2CB6
+:103876004001971117160230FB003830FC00AD30BE
+:10388600FD00FD0B442CFC0B442CFB0B442C971524
+:1038960017167D2C80300E3AF000803043012A0640
+:1038A6007002031D582C2908063C03186C2C400195
+:1038B600971117120230FB003830FC00AD30FD00C6
+:1038C600FD0B632CFC0B632CFB0B632C9715171657
+:1038D6007D2C4001171297150230FB003830FC0092
+:1038E600AD30FD00FD0B752CFC0B752CFB0B752C00
+:1038F60017169715803043012A06F00080300D3ADE
+:103906007002031D882C483029020318A92C803127
+:103916004924983101304401A300A401AA30A5002E
+:103926000030A6000B30A70080316D24983152304C
+:10393600FB002B30FC000030FD00FD0BA02CFC0B27
+:0E394600A02CFB0BA02C000016128221080002
+:103954007E01B801C3014314C3144315CE01E4012D
+:10396400D90153019013941340018C018D018E01F0
+:103974008F0190019601970110309800063099004C
+:103984009A019101273092009301940195017E01DF
+:103994003A15BA15DB145B1540019F121F179F13CC
+:1039A4001E16C0309C00E0309D004E018C12400178
+:1039B4009E174E0196161E304F019600FE3097005A
+:1039C400473098007F30990077309A00DF309B00B1
+:1039D4008B170530FB000F30FC00F130FD00FD0BB0
+:0C39E400F12CFC0BF12CFB0BF12C08006B
+:1039F000A031A4209831AA244001171619154301BB
+:103A0000A0158831D42298319031A92798314301EB
+:103A100020112013A01220122010A01040015308E2
+:103A2000F0005408F1005508F2005608F300E830A1
+:103A3000F4000330F500F601F7018031BE21983122
+:103A4000700842014C074301BD00710842014D3D21
+:103A50004301BE00720842014E3D4301BF0073089E
+:103A600042014F3D4301C00040015708F000580893
+:103A7000F1005908F2005A08F300E830F40003306E
+:103A8000F500F601F7018031BE219831700842013E
+:103A90004C07EC0071084D3DED0072084E3DEE0004
+:103AA00073084F3DEF00410144084301A500410167
+:103AB00045084301A600420145084F02031D6A2D37
+:103AC00044084E02031D6A2D43084D02031D6A2D52
+:103AD00042084C02031C742DB830C2070B30C33DA2
+:103AE0000030C43DC53D1324420153084F02031D5D
+:103AF000832D52084E02031D832D51084D02031DD4
+:103B0000832D50084C02031C8D2D2C30D007013022
+:103B1000D13D0030D23DD33DEC214301400842016C
+:103B20004F02031DA32D43013F0842014E02031D16
+:103B3000A32D43013E0842014D02031DA32D430165
+:103B40003D0842014C02031CA72D40011612420100
+:103B50006F084F02031DB62D6E084E02031DB62DD1
+:103B60006D084D02031DB62D6C084C02031CB92DC7
+:103B700082214301201FC62D4001161EC32D903106
+:103B800000209831C62D8831D42298314301A01EDF
+:103B9000D32D4001161ED02D90314B279831D32DB7
+:103BA0008831D42298314301201EE02D4001161E99
+:103BB000DD2D8831B8279831E02D8831D422983115
+:103BC0004301201CEC2D4001161AE92D8831D42226
+:103BD00098319031002098314301A01CFC2D400108
+:103BE000161AF92D8831E02798318831D42298317E
+:0C3BF000FC2D90314B2798315B2DFD2DF2
+:10414800BD308400973085004030F0000130F10028
+:104158002F308600003087008031F027A031593099
+:104168008400A03085002630F0000130F100A03036
+:104178008600003087008031F027A03103308400AA
+:10418800803085000130F0000130F1006F3086008A
+:10419800003087008031F027A0317F308400A030C4
+:1041A80085002430F0000130F100C6308600003070
+:1041B80087008031F027A031DF3084009F308500F0
+:1041C8000A30F0000130F10020308600013087000D
+:1041D8008031F027A031FD3084009730850002300F
+:1041E800F0000130F100EA308600003087008031AD
+:1041F800F027A031F9308400873085000530F000C1
+:104208000130F1002A308600013087008031F02724
+:10421800A031FF308400973085000130F000013074
+:10422800F100EC308600003087008031F027A031A3
+:10423800F33084008F3085000C30F0000130F1003D
+:104248002F308600013087008031F027A031FF3001
+:1042580084008F3085000130F0000130F100ED302E
+:104268008600003087008031F027A031E9308400D3
+:104278009F3085000430F0000130F1003B308600AB
+:10428800013087008031F027A031FE30840087306C
+:1042980085000230F0000130F100EE308600003079
+:1042A80087008031F027A03100308400A0308500DD
+:1042B8002D30F0000130F1003F30860001308700DA
+:0842C8008031F027A03108004D
+:020006000234C2
+:0A0FF20030342E3430343034003433
+:020FFC000034BF
+:020FFE000034BD
+:101FE600203450344F3457344534523420344F342F
+:081FF600463446342034003467
+:021FFE000034AD
+:082F7A0030342E3430340034F1
+:102F82002034443445345334493447344E34453480
+:102F9200443420344234593420344E3437344434A7
+:062FA20044344334003406
+:102FA800203446345734203456344534523453345C
+:0A2FB80049344F344E342034003405
+:082FC2002C340134003400340A
+:082FCA00083407340034003420
+:082FD20031342E343334003495
+:0A2FDA0030342E343034303400342B
+:022FE4000034B7
+:102FE6005234453453344534543420342034203458
+:042FF600203400344F
+:042FFA0082340034E9
+:022FFE0000349D
+:103BFE0000340034003400340034003400345F34B8
+:103C0E0000340034003407340034073400341434E4
+:103C1E007F3414347F34143424342A347F342A34D9
+:103C2E001234233413340834643462343634493451
+:103C3E005534223450340034053403340034003407
+:103C4E0000341C34223441340034003441342234E4
+:103C5E001C34003408342A341C342A340834083412
+:103C6E0008343E34083408340034503430340034D0
+:103C7E00003408340834083408340834003430343E
+:103C8E003034003400342034103408340434023418
+:103C9E003E345134493445343E34003442347F345A
+:103CAE004034003442346134513449344634213482
+:103CBE00413445344B3431341834143412347F3497
+:103CCE001034273445344534453439343C344A3481
+:103CDE0049344934303401347134093405340334F1
+:103CEE003634493449344934363406344934493447
+:103CFE0029341E3400343634363400340034003463
+:103D0E00563436340034003400340834143422343B
+:103D1E0041341434143414341434143441342234ED
+:103D2E001434083400340234013451340934063466
+:103D3E0032344934793441343E347E3411341134C2
+:103D4E0011347E347F3449344934493436343E3468
+:103D5E0041344134413422347F34413441342234AD
+:103D6E001C347F3449344934493441347F34093466
+:103D7E000934013401343E34413441345134323447
+:103D8E007F340834083408347F34003441347F34AF
+:103D9E00413400342034403441343F3401347F34D4
+:103DAE0008341434223441347F34403440344034A7
+:103DBE0040347F340234043402347F347F3404348C
+:103DCE00083410347F343E344134413441343E346F
+:103DDE007F3409340934093406343E3441345134C5
+:103DEE0021345E347F340934193429344634463450
+:103DFE004934493449343134013401347F34013487
+:103E0E0001343F344034403440343F341F34203486
+:103E1E00403420341F347F342034183420347F341F
+:103E2E00633414340834143463340334043478346F
+:103E3E00043403346134513449344534433400344A
+:103E4E0000347F34413441340234043408341034A5
+:103E5E002034413441347F3400340034043402348D
+:103E6E00013402340434403440344034403440345D
+:103E7E0000340134023404340034203454345434C5
+:103E8E00543478347F3448344434443438343834F9
+:103E9E004434443444342034383444344434483480
+:103EAE007F343834543454345434183408347E3413
+:103EBE0009340134023408341434543454343C3448
+:103ECE007F340834043404347834003444347D347C
+:103EDE00403400342034403444343D340034003413
+:103EEE007F34103428344434003441347F34403429
+:103EFE0000347C3404341834043478347C3408347C
+:103F0E000434043478343834443444344434383447
+:103F1E007C34143414341434083408341434143403
+:103F2E0018347C347C340834043404340834483473
+:103F3E00543454345434203404343F3444344034F0
+:103F4E0020343C344034403420347C341C3420340F
+:103F5E00403420341C343C344034303440343C340F
+:103F6E00443428341034283444340C34503450340F
+:103F7E0050343C344434643454344C34443400347B
+:103F8E000834363441340034003400347F34003485
+:103F9E0000340034413436340834003408340834E4
+:103FAE002A341C34083408341C342A3408340834B7
+:103FBE004F345634453452344C344F3441344434F7
+:043FCE002034003467
+:083FD200003400340034003417
+:0240000000348A
+:044002000034003452
+:084006000034003400340034E2
+:04400E000F34273410
+:044012000034003442
+:0440160064340034DA
+:08401A000034003400340034CE
+:084022000034003400340034C6
+:04402A003D340034ED
+:10402E005334573452342034203420342034203446
+:04403E0020340034F6
+:104042005034573452342034203420342034203435
+:0440520057340034AB
+:044056003D340034C1
+:10405A00F834F8341F341F340334033403341F3460
+:10406A001F34F834F834FF34FF3400340034003499
+:10407A000034003400340034FF34FF34FF34FF349A
+:10408A000034003400340034003400340034FF3487
+:10409A00FF34FF34FF34C034C034C034C034C034B9
+:0840AA00C034C034FF34FF34C0
+:0C40B2005334573452342034203400348E
+:0440BE003D34003459
+:0440C20096340034FC
+:1040C600203420344C344F34573420344234413475
+:0840D60054345434203400344A
+:1040DE005334573452342034203420342034203496
+:0440EE002034003446
+:0440F2003D34003425
+:0440F6000A34003454
+:0440FA000734003453
+:0240FE0000348C
+:0441000078340034DB
+:02410400403445
+:02410600013482
+:104108002034203420342034203420342034203407
+:04411800203400341B
+:10411C00543455344E344534203420342034203437
+:04412C002034003407
+:0A4130005334573452342034003465
+:04413A003D340034DC
+:04413E003E340034D7
+:044142003D340034D4
+:020000040001F9
+:0A000E000429213E1F3F03300300C8
+:00000001FF
diff --git a/Firmware/ATU-10_FW_13/ATU-10.log b/Firmware/ATU-10_FW_13/ATU-10.log
new file mode 100644
index 0000000..d5c78db
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/ATU-10.log
@@ -0,0 +1,21 @@
+0 1 mikroCPIC1618.exe -MSF -DBG -pP16LF18877 -DL -O11111114 -fo32 -N"D:\Projects\ATU-10\Firmware_1.3\ATU-10.mcppi" -SP"C:\Program Files (x86)\mikroC PRO for PIC\Defs\" -SP"C:\Program Files (x86)\mikroC PRO for PIC\Uses\P16_Enh\" -SP"D:\Projects\ATU-10\Firmware_1.3\" -IP"C:\Program Files (x86)\mikroC PRO for PIC\Uses\P16_Enh\" "pic_init.c" "oled_control.c" "Soft_I2C.c" "main.c" "__Lib_Math.mcl" "__Lib_MathDouble.mcl" "__Lib_System.mcl" "__Lib_Delays.mcl" "__Lib_Conversions.mcl" "__Lib_Button.mcl" "__Lib_ADC_18xxx.mcl"
+hint: 0 1139 Available RAM: 4080 [bytes], Available ROM: 32768 [bytes]
+diagnostics: 0 122 Compilation Started pic_init.c
+diagnostics: 63 123 Compiled Successfully pic_init.c
+diagnostics: 0 122 Compilation Started font_5x8.h
+diagnostics: 278 123 Compiled Successfully oled_control.c
+diagnostics: 0 122 Compilation Started soft_i2c.h
+diagnostics: 92 123 Compiled Successfully Soft_I2C.c
+diagnostics: 0 122 Compilation Started pic_init.h
+hint: 0 1004 interrupt handler (interupt at 0x0004) main.c
+diagnostics: 818 123 Compiled Successfully main.c
+hint: 528 1164 Variable 'd' has been eliminated by optimizer main.c
+hint: 552 1164 Variable 'd' has been eliminated by optimizer main.c
+hint: 577 1164 Variable 'p' has been eliminated by optimizer main.c
+diagnostics: 0 127 All files Compiled in 188 ms
+hint: 0 1144 Used RAM (bytes): 327 (8%) Free RAM (bytes): 3753 (92%) Used RAM (bytes): 327 (8%) Free RAM (bytes): 3753 (92%)
+hint: 0 1144 Used ROM (program words): 8525 (26%) Free ROM (program words): 24243 (74%) Used ROM (program words): 8525 (26%) Free ROM (program words): 24243 (74%)
+diagnostics: 0 125 Project Linked Successfully ATU-10.mcppi
+diagnostics: 0 128 Linked in 62 ms
+diagnostics: 0 129 Project 'ATU-10.mcppi' completed: 281 ms
+diagnostics: 0 103 Finished successfully: 02 Sep 2021, 21:16:41 ATU-10.mcppi
diff --git a/Firmware/ATU-10_FW_13/ATU-10.lst b/Firmware/ATU-10_FW_13/ATU-10.lst
new file mode 100644
index 0000000..d657312
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/ATU-10.lst
@@ -0,0 +1,12561 @@
+; LST file generated by mikroListExporter - v.2.0
+; Date/Time: 9/2/2021 9:16:41 PM
+;----------------------------------------------
+
+;Address Opcode ASM
+0x0000 0x3198 MOVLP 24
+0x0001 0x2CF8 GOTO 7416
+_interupt:
+;main.c,30 :: void interupt() iv 0x0004 {
+0x0004 0x0870 MOVF R0, 0
+0x0005 0x0140 MOVLB 0
+0x0006 0x00AE MOVWF 46
+0x0007 0x0871 MOVF R1, 0
+0x0008 0x00AD MOVWF 45
+0x0009 0x0872 MOVF R2, 0
+0x000A 0x00AC MOVWF 44
+0x000B 0x0873 MOVF R3, 0
+0x000C 0x00AB MOVWF 43
+0x000D 0x0874 MOVF R4, 0
+0x000E 0x00AA MOVWF 42
+0x000F 0x0875 MOVF R5, 0
+0x0010 0x00A9 MOVWF 41
+0x0011 0x0876 MOVF R6, 0
+0x0012 0x00A8 MOVWF 40
+0x0013 0x0877 MOVF R7, 0
+0x0014 0x00A7 MOVWF 39
+0x0015 0x0878 MOVF R8, 0
+0x0016 0x00A6 MOVWF 38
+0x0017 0x0879 MOVF R9, 0
+0x0018 0x00A5 MOVWF 37
+0x0019 0x087A MOVF R10, 0
+0x001A 0x00A4 MOVWF 36
+0x001B 0x087B MOVF R11, 0
+0x001C 0x00A3 MOVWF 35
+0x001D 0x087C MOVF R12, 0
+0x001E 0x00A2 MOVWF 34
+;main.c,32 :: if(TMR0IF_bit) { // Timer0
+0x001F 0x3180 MOVLP 0
+0x0020 0x014E MOVLB 14
+0x0021 0x1E8C BTFSS TMR0IF_bit, BitPos(TMR0IF_bit+0)
+0x0022 0x2830 GOTO L_interupt0
+;main.c,33 :: TMR0IF_bit = 0;
+0x0023 0x128C BCF TMR0IF_bit, BitPos(TMR0IF_bit+0)
+;main.c,34 :: Tick++;
+0x0024 0x3001 MOVLW 1
+0x0025 0x0142 MOVLB 2
+0x0026 0x07CC ADDWF _Tick, 1
+0x0027 0x3000 MOVLW 0
+0x0028 0x3DCD ADDWFC _Tick+1, 1
+0x0029 0x3DCE ADDWFC _Tick+2, 1
+0x002A 0x3DCF ADDWFC _Tick+3, 1
+;main.c,35 :: TMR0L = 0xC0; // 80_000 cycles to OF
+0x002B 0x30C0 MOVLW 192
+0x002C 0x0140 MOVLB 0
+0x002D 0x009C MOVWF TMR0L
+;main.c,36 :: TMR0H = 0xE0;
+0x002E 0x30E0 MOVLW 224
+0x002F 0x009D MOVWF TMR0H
+;main.c,37 :: }
+L_interupt0:
+;main.c,39 :: if(Tick>=btn_cnt){ // every 10ms
+0x0030 0x0142 MOVLB 2
+0x0031 0x083E MOVF _btn_cnt+3, 0
+0x0032 0x024F SUBWF _Tick+3, 0
+0x0033 0x1D03 BTFSS STATUS, 2
+0x0034 0x283F GOTO L__interupt242
+0x0035 0x083D MOVF _btn_cnt+2, 0
+0x0036 0x024E SUBWF _Tick+2, 0
+0x0037 0x1D03 BTFSS STATUS, 2
+0x0038 0x283F GOTO L__interupt242
+0x0039 0x083C MOVF _btn_cnt+1, 0
+0x003A 0x024D SUBWF _Tick+1, 0
+0x003B 0x1D03 BTFSS STATUS, 2
+0x003C 0x283F GOTO L__interupt242
+0x003D 0x083B MOVF _btn_cnt, 0
+0x003E 0x024C SUBWF _Tick, 0
+L__interupt242:
+0x003F 0x1C03 BTFSS STATUS, 0
+0x0040 0x290E GOTO L_interupt1
+;main.c,40 :: btn_cnt += 10;
+0x0041 0x300A MOVLW 10
+0x0042 0x07BB ADDWF _btn_cnt, 1
+0x0043 0x3000 MOVLW 0
+0x0044 0x3DBC ADDWFC _btn_cnt+1, 1
+0x0045 0x3DBD ADDWFC _btn_cnt+2, 1
+0x0046 0x3DBE ADDWFC _btn_cnt+3, 1
+;main.c,42 :: if(GetButton | Start){
+0x0047 0x0140 MOVLB 0
+0x0048 0x1A8D BTFSC PORTB, 5
+0x0049 0x284C GOTO L__interupt243
+0x004A 0x1474 BSF R4, 0
+0x004B 0x284D GOTO L__interupt244
+L__interupt243:
+0x004C 0x1074 BCF R4, 0
+L__interupt244:
+0x004D 0x188F BTFSC PORTD, 1
+0x004E 0x2851 GOTO L__interupt245
+0x004F 0x1403 BSF STATUS, 0
+0x0050 0x2852 GOTO L__interupt246
+L__interupt245:
+0x0051 0x1003 BCF STATUS, 0
+L__interupt246:
+0x0052 0x1874 BTFSC R4, 0
+0x0053 0x2858 GOTO L__interupt247
+0x0054 0x1803 BTFSC STATUS, 0
+0x0055 0x2858 GOTO L__interupt247
+0x0056 0x1074 BCF R4, 0
+0x0057 0x2859 GOTO L__interupt248
+L__interupt247:
+0x0058 0x1474 BSF R4, 0
+L__interupt248:
+0x0059 0x1C74 BTFSS R4, 0
+0x005A 0x289C GOTO L_interupt2
+;main.c,43 :: disp_cnt = Tick + Disp_time*1000;
+0x005B 0x0140 MOVLB 0
+0x005C 0x0853 MOVF _Disp_time, 0
+0x005D 0x00F0 MOVWF R0
+0x005E 0x0854 MOVF _Disp_time+1, 0
+0x005F 0x00F1 MOVWF R1
+0x0060 0x0855 MOVF _Disp_time+2, 0
+0x0061 0x00F2 MOVWF R2
+0x0062 0x0856 MOVF _Disp_time+3, 0
+0x0063 0x00F3 MOVWF R3
+0x0064 0x30E8 MOVLW 232
+0x0065 0x00F4 MOVWF R4
+0x0066 0x3003 MOVLW 3
+0x0067 0x00F5 MOVWF R5
+0x0068 0x01F6 CLRF R6
+0x0069 0x01F7 CLRF R7
+0x006A 0x21BE CALL _Mul_32x32_U
+0x006B 0x0870 MOVF R0, 0
+0x006C 0x0142 MOVLB 2
+0x006D 0x074C ADDWF _Tick, 0
+0x006E 0x0143 MOVLB 3
+0x006F 0x00BD MOVWF _disp_cnt
+0x0070 0x0871 MOVF R1, 0
+0x0071 0x0142 MOVLB 2
+0x0072 0x3D4D ADDWFC _Tick+1, 0
+0x0073 0x0143 MOVLB 3
+0x0074 0x00BE MOVWF _disp_cnt+1
+0x0075 0x0872 MOVF R2, 0
+0x0076 0x0142 MOVLB 2
+0x0077 0x3D4E ADDWFC _Tick+2, 0
+0x0078 0x0143 MOVLB 3
+0x0079 0x00BF MOVWF _disp_cnt+2
+0x007A 0x0873 MOVF R3, 0
+0x007B 0x0142 MOVLB 2
+0x007C 0x3D4F ADDWFC _Tick+3, 0
+0x007D 0x0143 MOVLB 3
+0x007E 0x00C0 MOVWF _disp_cnt+3
+;main.c,44 :: off_cnt = Tick + Off_time*1000;
+0x007F 0x0140 MOVLB 0
+0x0080 0x0857 MOVF _Off_time, 0
+0x0081 0x00F0 MOVWF R0
+0x0082 0x0858 MOVF _Off_time+1, 0
+0x0083 0x00F1 MOVWF R1
+0x0084 0x0859 MOVF _Off_time+2, 0
+0x0085 0x00F2 MOVWF R2
+0x0086 0x085A MOVF _Off_time+3, 0
+0x0087 0x00F3 MOVWF R3
+0x0088 0x30E8 MOVLW 232
+0x0089 0x00F4 MOVWF R4
+0x008A 0x3003 MOVLW 3
+0x008B 0x00F5 MOVWF R5
+0x008C 0x01F6 CLRF R6
+0x008D 0x01F7 CLRF R7
+0x008E 0x21BE CALL _Mul_32x32_U
+0x008F 0x0870 MOVF R0, 0
+0x0090 0x0142 MOVLB 2
+0x0091 0x074C ADDWF _Tick, 0
+0x0092 0x00EC MOVWF _off_cnt
+0x0093 0x0871 MOVF R1, 0
+0x0094 0x3D4D ADDWFC _Tick+1, 0
+0x0095 0x00ED MOVWF _off_cnt+1
+0x0096 0x0872 MOVF R2, 0
+0x0097 0x3D4E ADDWFC _Tick+2, 0
+0x0098 0x00EE MOVWF _off_cnt+2
+0x0099 0x0873 MOVF R3, 0
+0x009A 0x3D4F ADDWFC _Tick+3, 0
+0x009B 0x00EF MOVWF _off_cnt+3
+;main.c,45 :: }
+L_interupt2:
+;main.c,47 :: if(GetButton){ //
+0x009C 0x0140 MOVLB 0
+0x009D 0x1A8D BTFSC PORTB, 5
+0x009E 0x28A1 GOTO L__interupt249
+0x009F 0x1403 BSF STATUS, 0
+0x00A0 0x28A2 GOTO L__interupt250
+L__interupt249:
+0x00A1 0x1003 BCF STATUS, 0
+L__interupt250:
+0x00A2 0x1C03 BTFSS STATUS, 0
+0x00A3 0x28C1 GOTO L_interupt3
+;main.c,48 :: if(btn_1_cnt<250) btn_1_cnt++;
+0x00A4 0x0140 MOVLB 0
+0x00A5 0x30FA MOVLW 250
+0x00A6 0x0264 SUBWF _btn_1_cnt, 0
+0x00A7 0x1803 BTFSC STATUS, 0
+0x00A8 0x28AA GOTO L_interupt4
+0x00A9 0x0AE4 INCF _btn_1_cnt, 1
+L_interupt4:
+;main.c,49 :: if(btn_1_cnt==25) B_long = 1; // long pressing detected
+0x00AA 0x0864 MOVF _btn_1_cnt, 0
+0x00AB 0x3A19 XORLW 25
+0x00AC 0x1D03 BTFSS STATUS, 2
+0x00AD 0x28B0 GOTO L_interupt5
+0x00AE 0x0143 MOVLB 3
+0x00AF 0x16A0 BSF _B_long, BitPos(_B_long+0)
+L_interupt5:
+;main.c,50 :: if(btn_1_cnt==250 & OLED_PWD) B_xlong = 1; // Xtra long pressing detected
+0x00B0 0x0140 MOVLB 0
+0x00B1 0x0864 MOVF _btn_1_cnt, 0
+0x00B2 0x3AFA XORLW 250
+0x00B3 0x3001 MOVLW 1
+0x00B4 0x1D03 BTFSS STATUS, 2
+0x00B5 0x3000 MOVLW 0
+0x00B6 0x00F1 MOVWF R1
+0x00B7 0x01F0 CLRF R0
+0x00B8 0x1A16 BTFSC LATA4_bit, BitPos(LATA4_bit+0)
+0x00B9 0x0AF0 INCF R0, 1
+0x00BA 0x0871 MOVF R1, 0
+0x00BB 0x05F0 ANDWF R0, 1
+0x00BC 0x1903 BTFSC STATUS, 2
+0x00BD 0x28C0 GOTO L_interupt6
+0x00BE 0x0143 MOVLB 3
+0x00BF 0x1620 BSF _B_xlong, BitPos(_B_xlong+0)
+L_interupt6:
+;main.c,51 :: }
+0x00C0 0x28D8 GOTO L_interupt7
+L_interupt3:
+;main.c,52 :: else if(btn_1_cnt>2 & btn_1_cnt<25){
+0x00C1 0x0140 MOVLB 0
+0x00C2 0x0864 MOVF _btn_1_cnt, 0
+0x00C3 0x3C02 SUBLW 2
+0x00C4 0x3001 MOVLW 1
+0x00C5 0x1803 BTFSC STATUS, 0
+0x00C6 0x3000 MOVLW 0
+0x00C7 0x00F1 MOVWF R1
+0x00C8 0x3019 MOVLW 25
+0x00C9 0x0264 SUBWF _btn_1_cnt, 0
+0x00CA 0x3001 MOVLW 1
+0x00CB 0x1803 BTFSC STATUS, 0
+0x00CC 0x3000 MOVLW 0
+0x00CD 0x00F0 MOVWF R0
+0x00CE 0x0871 MOVF R1, 0
+0x00CF 0x05F0 ANDWF R0, 1
+0x00D0 0x1903 BTFSC STATUS, 2
+0x00D1 0x28D7 GOTO L_interupt8
+;main.c,53 :: B_short = 1; // short pressing detected
+0x00D2 0x0143 MOVLB 3
+0x00D3 0x1720 BSF _B_short, BitPos(_B_short+0)
+;main.c,54 :: btn_1_cnt = 0;
+0x00D4 0x0140 MOVLB 0
+0x00D5 0x01E4 CLRF _btn_1_cnt
+;main.c,55 :: }
+0x00D6 0x28D8 GOTO L_interupt9
+L_interupt8:
+;main.c,57 :: btn_1_cnt = 0;
+0x00D7 0x01E4 CLRF _btn_1_cnt
+L_interupt9:
+L_interupt7:
+0x00D8 0x0140 MOVLB 0
+;main.c,59 :: if(Start){
+0x00D9 0x188F BTFSC PORTD, 1
+0x00DA 0x28DD GOTO L__interupt251
+0x00DB 0x1403 BSF STATUS, 0
+0x00DC 0x28DE GOTO L__interupt252
+L__interupt251:
+0x00DD 0x1003 BCF STATUS, 0
+L__interupt252:
+0x00DE 0x1C03 BTFSS STATUS, 0
+0x00DF 0x28F7 GOTO L_interupt10
+;main.c,60 :: if(btn_2_cnt<25) btn_2_cnt++;
+0x00E0 0x3019 MOVLW 25
+0x00E1 0x0141 MOVLB 1
+0x00E2 0x0246 SUBWF _btn_2_cnt, 0
+0x00E3 0x1803 BTFSC STATUS, 0
+0x00E4 0x28E6 GOTO L_interupt11
+0x00E5 0x0AC6 INCF _btn_2_cnt, 1
+L_interupt11:
+;main.c,61 :: if(btn_2_cnt==20 & Key_in) E_long = 1;
+0x00E6 0x0846 MOVF _btn_2_cnt, 0
+0x00E7 0x3A14 XORLW 20
+0x00E8 0x3001 MOVLW 1
+0x00E9 0x1D03 BTFSS STATUS, 2
+0x00EA 0x3000 MOVLW 0
+0x00EB 0x00F1 MOVWF R1
+0x00EC 0x01F0 CLRF R0
+0x00ED 0x0140 MOVLB 0
+0x00EE 0x190F BTFSC PORTD, 2
+0x00EF 0x0AF0 INCF R0, 1
+0x00F0 0x0871 MOVF R1, 0
+0x00F1 0x05F0 ANDWF R0, 1
+0x00F2 0x1903 BTFSC STATUS, 2
+0x00F3 0x28F6 GOTO L_interupt12
+0x00F4 0x0143 MOVLB 3
+0x00F5 0x14A0 BSF _E_long, BitPos(_E_long+0)
+L_interupt12:
+;main.c,62 :: }
+0x00F6 0x290E GOTO L_interupt13
+L_interupt10:
+;main.c,63 :: else if(btn_2_cnt>1 & btn_2_cnt<10){
+0x00F7 0x0141 MOVLB 1
+0x00F8 0x0846 MOVF _btn_2_cnt, 0
+0x00F9 0x3C01 SUBLW 1
+0x00FA 0x3001 MOVLW 1
+0x00FB 0x1803 BTFSC STATUS, 0
+0x00FC 0x3000 MOVLW 0
+0x00FD 0x00F1 MOVWF R1
+0x00FE 0x300A MOVLW 10
+0x00FF 0x0246 SUBWF _btn_2_cnt, 0
+0x0100 0x3001 MOVLW 1
+0x0101 0x1803 BTFSC STATUS, 0
+0x0102 0x3000 MOVLW 0
+0x0103 0x00F0 MOVWF R0
+0x0104 0x0871 MOVF R1, 0
+0x0105 0x05F0 ANDWF R0, 1
+0x0106 0x1903 BTFSC STATUS, 2
+0x0107 0x290D GOTO L_interupt14
+;main.c,64 :: E_short = 1;
+0x0108 0x0143 MOVLB 3
+0x0109 0x1420 BSF _E_short, BitPos(_E_short+0)
+;main.c,65 :: btn_2_cnt = 0;
+0x010A 0x0141 MOVLB 1
+0x010B 0x01C6 CLRF _btn_2_cnt
+;main.c,66 :: }
+0x010C 0x290E GOTO L_interupt15
+L_interupt14:
+;main.c,68 :: btn_2_cnt = 0;
+0x010D 0x01C6 CLRF _btn_2_cnt
+L_interupt15:
+L_interupt13:
+;main.c,69 :: }
+L_interupt1:
+;main.c,70 :: return;
+;main.c,71 :: }
+L_end_interupt:
+L__interupt241:
+0x010E 0x0140 MOVLB 0
+0x010F 0x082E MOVF 46, 0
+0x0110 0x00F0 MOVWF R0
+0x0111 0x082D MOVF 45, 0
+0x0112 0x00F1 MOVWF R1
+0x0113 0x082C MOVF 44, 0
+0x0114 0x00F2 MOVWF R2
+0x0115 0x082B MOVF 43, 0
+0x0116 0x00F3 MOVWF R3
+0x0117 0x082A MOVF 42, 0
+0x0118 0x00F4 MOVWF R4
+0x0119 0x0829 MOVF 41, 0
+0x011A 0x00F5 MOVWF R5
+0x011B 0x0828 MOVF 40, 0
+0x011C 0x00F6 MOVWF R6
+0x011D 0x0827 MOVF 39, 0
+0x011E 0x00F7 MOVWF R7
+0x011F 0x0826 MOVF 38, 0
+0x0120 0x00F8 MOVWF R8
+0x0121 0x0825 MOVF 37, 0
+0x0122 0x00F9 MOVWF R9
+0x0123 0x0824 MOVF 36, 0
+0x0124 0x00FA MOVWF R10
+0x0125 0x0823 MOVF 35, 0
+0x0126 0x00FB MOVWF R11
+0x0127 0x0822 MOVF 34, 0
+0x0128 0x00FC MOVWF R12
+0x0129 0x0009 RETFIE %s
+; end of _interupt
+_Soft_I2C_Write:
+;Soft_I2C.c,29 :: char Soft_I2C_Write(char d) {
+;Soft_I2C.c,31 :: for(i=0; i<8; i++) {
+0x012A 0x01F1 CLRF R1
+L_Soft_I2C_Write4:
+0x012B 0x3008 MOVLW 8
+0x012C 0x0271 SUBWF R1, 0
+0x012D 0x1803 BTFSC STATUS, 0
+0x012E 0x2949 GOTO L_Soft_I2C_Write5
+;Soft_I2C.c,32 :: Soft_I2C_Sda = d.B7;
+0x012F 0x0144 MOVLB 4
+0x0130 0x1BB4 BTFSC FARG_Soft_I2C_Write_d, 7
+0x0131 0x2935 GOTO L__Soft_I2C_Write29
+0x0132 0x0140 MOVLB 0
+0x0133 0x1116 BCF LATA2_bit, BitPos(LATA2_bit+0)
+0x0134 0x2937 GOTO L__Soft_I2C_Write30
+L__Soft_I2C_Write29:
+0x0135 0x0140 MOVLB 0
+0x0136 0x1516 BSF LATA2_bit, BitPos(LATA2_bit+0)
+L__Soft_I2C_Write30:
+;Soft_I2C.c,33 :: Delay_I2C;
+0x0137 0x3027 MOVLW 39
+0x0138 0x00FD MOVWF R13
+L_Soft_I2C_Write7:
+0x0139 0x0BFD DECFSZ R13, 1
+0x013A 0x2939 GOTO L_Soft_I2C_Write7
+0x013B 0x0000 NOP
+0x013C 0x0000 NOP
+;Soft_I2C.c,34 :: Soft_I2C_Scl = 1;
+0x013D 0x1596 BSF LATA3_bit, BitPos(LATA3_bit+0)
+;Soft_I2C.c,35 :: Delay_I2C;
+0x013E 0x3027 MOVLW 39
+0x013F 0x00FD MOVWF R13
+L_Soft_I2C_Write8:
+0x0140 0x0BFD DECFSZ R13, 1
+0x0141 0x2940 GOTO L_Soft_I2C_Write8
+0x0142 0x0000 NOP
+0x0143 0x0000 NOP
+;Soft_I2C.c,36 :: Soft_I2C_Scl = 0;
+0x0144 0x1196 BCF LATA3_bit, BitPos(LATA3_bit+0)
+;Soft_I2C.c,37 :: d = d << 1;
+0x0145 0x0144 MOVLB 4
+0x0146 0x35B4 LSLF FARG_Soft_I2C_Write_d, 1
+;Soft_I2C.c,31 :: for(i=0; i<8; i++) {
+0x0147 0x0AF1 INCF R1, 1
+;Soft_I2C.c,38 :: }
+0x0148 0x292B GOTO L_Soft_I2C_Write4
+L_Soft_I2C_Write5:
+;Soft_I2C.c,40 :: Soft_I2C_Sda = 1; //ACK
+0x0149 0x0140 MOVLB 0
+0x014A 0x1516 BSF LATA2_bit, BitPos(LATA2_bit+0)
+;Soft_I2C.c,41 :: Delay_I2C;
+0x014B 0x3027 MOVLW 39
+0x014C 0x00FD MOVWF R13
+L_Soft_I2C_Write9:
+0x014D 0x0BFD DECFSZ R13, 1
+0x014E 0x294D GOTO L_Soft_I2C_Write9
+0x014F 0x0000 NOP
+0x0150 0x0000 NOP
+;Soft_I2C.c,42 :: Soft_I2C_Scl = 1;
+0x0151 0x1596 BSF LATA3_bit, BitPos(LATA3_bit+0)
+;Soft_I2C.c,43 :: ack = Soft_I2C_Sda_in;
+0x0152 0x3000 MOVLW 0
+0x0153 0x190C BTFSC PORTA, 2
+0x0154 0x3001 MOVLW 1
+0x0155 0x00F2 MOVWF R2
+;Soft_I2C.c,44 :: Delay_I2C;
+0x0156 0x3027 MOVLW 39
+0x0157 0x00FD MOVWF R13
+L_Soft_I2C_Write10:
+0x0158 0x0BFD DECFSZ R13, 1
+0x0159 0x2958 GOTO L_Soft_I2C_Write10
+0x015A 0x0000 NOP
+0x015B 0x0000 NOP
+;Soft_I2C.c,45 :: Soft_I2C_Scl = 0;
+0x015C 0x1196 BCF LATA3_bit, BitPos(LATA3_bit+0)
+;Soft_I2C.c,46 :: Delay_I2C;
+0x015D 0x3027 MOVLW 39
+0x015E 0x00FD MOVWF R13
+L_Soft_I2C_Write11:
+0x015F 0x0BFD DECFSZ R13, 1
+0x0160 0x295F GOTO L_Soft_I2C_Write11
+0x0161 0x0000 NOP
+0x0162 0x0000 NOP
+;Soft_I2C.c,47 :: return ack;
+0x0163 0x0872 MOVF R2, 0
+0x0164 0x00F0 MOVWF R0
+;Soft_I2C.c,48 :: }
+L_end_Soft_I2C_Write:
+0x0165 0x0008 RETURN
+; end of _Soft_I2C_Write
+_Div_16X16_U:
+;__Lib_Math.c,213 ::
+;__Lib_Math.c,220 ::
+0x0166 0x0140 MOVLB 0
+;__Lib_Math.c,221 ::
+0x0167 0x01F8 CLRF R8
+;__Lib_Math.c,222 ::
+0x0168 0x01F9 CLRF R9
+;__Lib_Math.c,223 ::
+0x0169 0x3010 MOVLW 16
+;__Lib_Math.c,224 ::
+0x016A 0x00FC MOVWF R12
+;__Lib_Math.c,225 ::
+0x016B 0x0D71 RLF R1, 0
+;__Lib_Math.c,226 ::
+0x016C 0x0DF8 RLF R8, 1
+;__Lib_Math.c,227 ::
+0x016D 0x0DF9 RLF R9, 1
+;__Lib_Math.c,228 ::
+0x016E 0x0874 MOVF R4, 0
+;__Lib_Math.c,229 ::
+0x016F 0x02F8 SUBWF R8, 1
+;__Lib_Math.c,230 ::
+0x0170 0x0875 MOVF R5, 0
+;__Lib_Math.c,231 ::
+0x0171 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,232 ::
+0x0172 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,233 ::
+0x0173 0x02F9 SUBWF R9, 1
+;__Lib_Math.c,234 ::
+0x0174 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,235 ::
+0x0175 0x297D GOTO $+8
+;__Lib_Math.c,236 ::
+0x0176 0x0874 MOVF R4, 0
+;__Lib_Math.c,237 ::
+0x0177 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,238 ::
+0x0178 0x0875 MOVF R5, 0
+;__Lib_Math.c,239 ::
+0x0179 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,240 ::
+0x017A 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,241 ::
+0x017B 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,242 ::
+0x017C 0x1003 BCF STATUS, 0
+;__Lib_Math.c,243 ::
+0x017D 0x0DF0 RLF R0, 1
+;__Lib_Math.c,244 ::
+0x017E 0x0DF1 RLF R1, 1
+;__Lib_Math.c,245 ::
+0x017F 0x0BFC DECFSZ R12, 1
+;__Lib_Math.c,246 ::
+0x0180 0x296B GOTO $-21
+;__Lib_Math.c,248 ::
+L_end_Div_16X16_U:
+0x0181 0x0008 RETURN
+; end of _Div_16X16_U
+_Soft_I2C_Start:
+;Soft_I2C.c,17 :: void Soft_I2C_Start() {
+;Soft_I2C.c,18 :: Soft_I2C_Scl = 1;
+0x0182 0x0140 MOVLB 0
+0x0183 0x1596 BSF LATA3_bit, BitPos(LATA3_bit+0)
+;Soft_I2C.c,19 :: Delay_I2C;
+0x0184 0x3027 MOVLW 39
+0x0185 0x00FD MOVWF R13
+L_Soft_I2C_Start0:
+0x0186 0x0BFD DECFSZ R13, 1
+0x0187 0x2986 GOTO L_Soft_I2C_Start0
+0x0188 0x0000 NOP
+0x0189 0x0000 NOP
+;Soft_I2C.c,20 :: Soft_I2C_Sda = 1;
+0x018A 0x1516 BSF LATA2_bit, BitPos(LATA2_bit+0)
+;Soft_I2C.c,21 :: Delay_I2C;
+0x018B 0x3027 MOVLW 39
+0x018C 0x00FD MOVWF R13
+L_Soft_I2C_Start1:
+0x018D 0x0BFD DECFSZ R13, 1
+0x018E 0x298D GOTO L_Soft_I2C_Start1
+0x018F 0x0000 NOP
+0x0190 0x0000 NOP
+;Soft_I2C.c,22 :: Soft_I2C_Sda = 0;
+0x0191 0x1116 BCF LATA2_bit, BitPos(LATA2_bit+0)
+;Soft_I2C.c,23 :: Delay_I2C;
+0x0192 0x3027 MOVLW 39
+0x0193 0x00FD MOVWF R13
+L_Soft_I2C_Start2:
+0x0194 0x0BFD DECFSZ R13, 1
+0x0195 0x2994 GOTO L_Soft_I2C_Start2
+0x0196 0x0000 NOP
+0x0197 0x0000 NOP
+;Soft_I2C.c,24 :: Soft_I2C_Scl = 0;
+0x0198 0x1196 BCF LATA3_bit, BitPos(LATA3_bit+0)
+;Soft_I2C.c,25 :: Delay_I2C;
+0x0199 0x3027 MOVLW 39
+0x019A 0x00FD MOVWF R13
+L_Soft_I2C_Start3:
+0x019B 0x0BFD DECFSZ R13, 1
+0x019C 0x299B GOTO L_Soft_I2C_Start3
+0x019D 0x0000 NOP
+0x019E 0x0000 NOP
+;Soft_I2C.c,26 :: return;
+;Soft_I2C.c,27 :: }
+L_end_Soft_I2C_Start:
+0x019F 0x0008 RETURN
+; end of _Soft_I2C_Start
+_Delay_22us:
+;__Lib_Delays.c,15 :: void Delay_22us() {
+;__Lib_Delays.c,16 :: Delay_us(22);
+0x01A0 0x303A MOVLW 58
+0x01A1 0x00FD MOVWF R13
+L_Delay_22us2:
+0x01A2 0x0BFD DECFSZ R13, 1
+0x01A3 0x29A2 GOTO L_Delay_22us2
+0x01A4 0x0000 NOP
+;__Lib_Delays.c,17 :: }
+L_end_Delay_22us:
+0x01A5 0x0008 RETURN
+; end of _Delay_22us
+_Mul_8X8_U:
+;__Lib_Math.c,103 ::
+;__Lib_Math.c,109 ::
+0x01A6 0x0140 MOVLB 0
+;__Lib_Math.c,110 ::
+0x01A7 0x0870 MOVF R0, 0
+;__Lib_Math.c,111 ::
+0x01A8 0x00F1 MOVWF R1
+;__Lib_Math.c,112 ::
+0x01A9 0x01F0 CLRF R0
+;__Lib_Math.c,113 ::
+0x01AA 0x3008 MOVLW 8
+;__Lib_Math.c,114 ::
+0x01AB 0x00FC MOVWF R12
+;__Lib_Math.c,115 ::
+0x01AC 0x0871 MOVF R1, 0
+;__Lib_Math.c,116 ::
+0x01AD 0x0CF4 RRF R4, 1
+;__Lib_Math.c,117 ::
+0x01AE 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,118 ::
+0x01AF 0x29B4 GOTO $+5
+;__Lib_Math.c,119 ::
+0x01B0 0x0BFC DECFSZ R12, 1
+;__Lib_Math.c,120 ::
+0x01B1 0x29AD GOTO $-4
+;__Lib_Math.c,121 ::
+0x01B2 0x01F1 CLRF R1
+;__Lib_Math.c,122 ::
+0x01B3 0x3400 RETLW 0
+;__Lib_Math.c,123 ::
+0x01B4 0x1003 BCF STATUS, 0
+;__Lib_Math.c,124 ::
+0x01B5 0x29B9 GOTO $+4
+;__Lib_Math.c,125 ::
+0x01B6 0x0CF4 RRF R4, 1
+;__Lib_Math.c,126 ::
+0x01B7 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,127 ::
+0x01B8 0x07F1 ADDWF R1, 1
+;__Lib_Math.c,128 ::
+0x01B9 0x0CF1 RRF R1, 1
+;__Lib_Math.c,129 ::
+0x01BA 0x0CF0 RRF R0, 1
+;__Lib_Math.c,130 ::
+0x01BB 0x0BFC DECFSZ R12, 1
+;__Lib_Math.c,131 ::
+0x01BC 0x29B6 GOTO $-6
+;__Lib_Math.c,133 ::
+;__Lib_Math.c,134 ::
+L_end_Mul_8X8_U:
+0x01BD 0x0008 RETURN
+; end of _Mul_8X8_U
+_Mul_32x32_U:
+;__Lib_Math.c,1766 ::
+;__Lib_Math.c,1781 ::
+0x01BE 0x0140 MOVLB 0
+;__Lib_Math.c,1782 ::
+0x01BF 0x3022 MOVLW 34
+;__Lib_Math.c,1783 ::
+0x01C0 0x00FC MOVWF R12
+;__Lib_Math.c,1784 ::
+0x01C1 0x01F8 CLRF R8
+;__Lib_Math.c,1785 ::
+0x01C2 0x01F9 CLRF R9
+;__Lib_Math.c,1786 ::
+0x01C3 0x01FA CLRF R10
+;__Lib_Math.c,1787 ::
+0x01C4 0x01FB CLRF R11
+;__Lib_Math.c,1789 ::
+_NEXT:
+;__Lib_Math.c,1793 ::
+0x01C5 0x03FC DECF R12, 1
+;__Lib_Math.c,1794 ::
+0x01C6 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1795 ::
+0x01C7 0x29F3 GOTO _EXIT2
+;__Lib_Math.c,1796 ::
+0x01C8 0x1003 BCF STATUS, 0
+;__Lib_Math.c,1798 ::
+_LOOP:
+;__Lib_Math.c,1807 ::
+0x01C9 0x0CFB RRF R11, 1
+;__Lib_Math.c,1808 ::
+0x01CA 0x0CFA RRF R10, 1
+;__Lib_Math.c,1809 ::
+0x01CB 0x0CF9 RRF R9, 1
+;__Lib_Math.c,1810 ::
+0x01CC 0x0CF8 RRF R8, 1
+;__Lib_Math.c,1811 ::
+0x01CD 0x0CF3 RRF R3, 1
+;__Lib_Math.c,1812 ::
+0x01CE 0x0CF2 RRF R2, 1
+;__Lib_Math.c,1813 ::
+0x01CF 0x0CF1 RRF R1, 1
+;__Lib_Math.c,1814 ::
+0x01D0 0x0CF0 RRF R0, 1
+;__Lib_Math.c,1819 ::
+0x01D1 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,1820 ::
+0x01D2 0x29C5 GOTO _NEXT
+;__Lib_Math.c,1821 ::
+0x01D3 0x03FC DECF R12, 1
+;__Lib_Math.c,1822 ::
+0x01D4 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1823 ::
+0x01D5 0x29E5 GOTO _EXIT1
+;__Lib_Math.c,1830 ::
+0x01D6 0x0874 MOVF R4, 0
+;__Lib_Math.c,1831 ::
+0x01D7 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,1832 ::
+0x01D8 0x0875 MOVF R5, 0
+;__Lib_Math.c,1833 ::
+0x01D9 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,1834 ::
+0x01DA 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,1835 ::
+0x01DB 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,1836 ::
+0x01DC 0x0876 MOVF R6, 0
+;__Lib_Math.c,1837 ::
+0x01DD 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,1838 ::
+0x01DE 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,1839 ::
+0x01DF 0x07FA ADDWF R10, 1
+;__Lib_Math.c,1840 ::
+0x01E0 0x0877 MOVF R7, 0
+;__Lib_Math.c,1841 ::
+0x01E1 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,1842 ::
+0x01E2 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,1843 ::
+0x01E3 0x07FB ADDWF R11, 1
+;__Lib_Math.c,1845 ::
+0x01E4 0x29C9 GOTO _LOOP
+;__Lib_Math.c,1847 ::
+_EXIT1:
+;__Lib_Math.c,1852 ::
+0x01E5 0x0874 MOVF R4, 0
+;__Lib_Math.c,1853 ::
+0x01E6 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,1854 ::
+0x01E7 0x0875 MOVF R5, 0
+;__Lib_Math.c,1855 ::
+0x01E8 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,1856 ::
+0x01E9 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,1857 ::
+0x01EA 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,1858 ::
+0x01EB 0x0876 MOVF R6, 0
+;__Lib_Math.c,1859 ::
+0x01EC 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,1860 ::
+0x01ED 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,1861 ::
+0x01EE 0x07FA ADDWF R10, 1
+;__Lib_Math.c,1862 ::
+0x01EF 0x0877 MOVF R7, 0
+;__Lib_Math.c,1863 ::
+0x01F0 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,1864 ::
+0x01F1 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,1865 ::
+0x01F2 0x07FB ADDWF R11, 1
+;__Lib_Math.c,1868 ::
+_EXIT2:
+;__Lib_Math.c,1870 ::
+L_end_Mul_32x32_U:
+0x01F3 0x0008 RETURN
+; end of _Mul_32x32_U
+_Soft_I2C_Stop:
+;Soft_I2C.c,84 :: void Soft_I2C_Stop() {
+;Soft_I2C.c,85 :: Soft_I2C_Sda = 0;
+0x01F4 0x0140 MOVLB 0
+0x01F5 0x1116 BCF LATA2_bit, BitPos(LATA2_bit+0)
+;Soft_I2C.c,86 :: Delay_I2C;
+0x01F6 0x3027 MOVLW 39
+0x01F7 0x00FD MOVWF R13
+L_Soft_I2C_Stop23:
+0x01F8 0x0BFD DECFSZ R13, 1
+0x01F9 0x29F8 GOTO L_Soft_I2C_Stop23
+0x01FA 0x0000 NOP
+0x01FB 0x0000 NOP
+;Soft_I2C.c,87 :: Soft_I2C_Scl = 1;
+0x01FC 0x1596 BSF LATA3_bit, BitPos(LATA3_bit+0)
+;Soft_I2C.c,88 :: Delay_I2C;
+0x01FD 0x3027 MOVLW 39
+0x01FE 0x00FD MOVWF R13
+L_Soft_I2C_Stop24:
+0x01FF 0x0BFD DECFSZ R13, 1
+0x0200 0x29FF GOTO L_Soft_I2C_Stop24
+0x0201 0x0000 NOP
+0x0202 0x0000 NOP
+;Soft_I2C.c,89 :: Soft_I2C_Sda = 1;
+0x0203 0x1516 BSF LATA2_bit, BitPos(LATA2_bit+0)
+;Soft_I2C.c,90 :: Delay_I2C;
+0x0204 0x3027 MOVLW 39
+0x0205 0x00FD MOVWF R13
+L_Soft_I2C_Stop25:
+0x0206 0x0BFD DECFSZ R13, 1
+0x0207 0x2A06 GOTO L_Soft_I2C_Stop25
+0x0208 0x0000 NOP
+0x0209 0x0000 NOP
+;Soft_I2C.c,91 :: return;
+;Soft_I2C.c,92 :: }
+L_end_Soft_I2C_Stop:
+0x020A 0x0008 RETURN
+; end of _Soft_I2C_Stop
+_set_addressing:
+;oled_control.c,103 :: void set_addressing (char pagenum, char c_start) {
+;oled_control.c,105 :: c = c_start + oled_shift;
+0x020B 0x0140 MOVLB 0
+0x020C 0x086F MOVF oled_control_oled_shift, 0
+0x020D 0x0144 MOVLB 4
+0x020E 0x072E ADDWF FARG_set_addressing_c_start, 0
+0x020F 0x00B1 MOVWF set_addressing_c_L0
+;oled_control.c,106 :: Soft_I2C_Start();
+0x0210 0x2182 CALL _Soft_I2C_Start
+;oled_control.c,107 :: Soft_I2C_Write(oled_addr); // device addres
+0x0211 0x0141 MOVLB 1
+0x0212 0x0847 MOVF oled_control_oled_addr, 0
+0x0213 0x0144 MOVLB 4
+0x0214 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0215 0x212A CALL _Soft_I2C_Write
+;oled_control.c,108 :: Soft_I2C_Write(0); // 0 - continious mode, command; 64 - Co, data
+0x0216 0x0144 MOVLB 4
+0x0217 0x01B4 CLRF FARG_Soft_I2C_Write_d
+0x0218 0x212A CALL _Soft_I2C_Write
+;oled_control.c,109 :: Soft_I2C_Write(0xB0 + pagenum); // set page number
+0x0219 0x0144 MOVLB 4
+0x021A 0x082D MOVF FARG_set_addressing_pagenum, 0
+0x021B 0x3EB0 ADDLW 176
+0x021C 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x021D 0x212A CALL _Soft_I2C_Write
+;oled_control.c,111 :: if (c <= 15) { a = c; b = 0; }
+0x021E 0x0144 MOVLB 4
+0x021F 0x0831 MOVF set_addressing_c_L0, 0
+0x0220 0x3C0F SUBLW 15
+0x0221 0x1C03 BTFSS STATUS, 0
+0x0222 0x2A27 GOTO L_set_addressing14
+0x0223 0x0831 MOVF set_addressing_c_L0, 0
+0x0224 0x00AF MOVWF set_addressing_a_L0
+0x0225 0x01B0 CLRF set_addressing_b_L0
+0x0226 0x2A38 GOTO L_set_addressing15
+L_set_addressing14:
+;oled_control.c,112 :: else { b = c / 16; a = c - b * 16; }
+0x0227 0x0831 MOVF set_addressing_c_L0, 0
+0x0228 0x00F2 MOVWF R2
+0x0229 0x36F2 LSRF R2, 1
+0x022A 0x36F2 LSRF R2, 1
+0x022B 0x36F2 LSRF R2, 1
+0x022C 0x36F2 LSRF R2, 1
+0x022D 0x0872 MOVF R2, 0
+0x022E 0x00B0 MOVWF set_addressing_b_L0
+0x022F 0x0872 MOVF R2, 0
+0x0230 0x00F0 MOVWF R0
+0x0231 0x35F0 LSLF R0, 1
+0x0232 0x35F0 LSLF R0, 1
+0x0233 0x35F0 LSLF R0, 1
+0x0234 0x35F0 LSLF R0, 1
+0x0235 0x0870 MOVF R0, 0
+0x0236 0x0231 SUBWF set_addressing_c_L0, 0
+0x0237 0x00AF MOVWF set_addressing_a_L0
+L_set_addressing15:
+;oled_control.c,113 :: Soft_I2C_Write (a); // set lower nibble of start address
+0x0238 0x082F MOVF set_addressing_a_L0, 0
+0x0239 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x023A 0x212A CALL _Soft_I2C_Write
+;oled_control.c,114 :: Soft_I2C_Write (0x10 + b); // set higher nibble of start address
+0x023B 0x0144 MOVLB 4
+0x023C 0x0830 MOVF set_addressing_b_L0, 0
+0x023D 0x3E10 ADDLW 16
+0x023E 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x023F 0x212A CALL _Soft_I2C_Write
+;oled_control.c,116 :: Soft_I2C_Start();
+0x0240 0x2182 CALL _Soft_I2C_Start
+;oled_control.c,117 :: Soft_I2C_Write(oled_addr); // device addres
+0x0241 0x0141 MOVLB 1
+0x0242 0x0847 MOVF oled_control_oled_addr, 0
+0x0243 0x0144 MOVLB 4
+0x0244 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0245 0x212A CALL _Soft_I2C_Write
+;oled_control.c,118 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+0x0246 0x3040 MOVLW 64
+0x0247 0x0144 MOVLB 4
+0x0248 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0249 0x212A CALL _Soft_I2C_Write
+;oled_control.c,119 :: return;
+;oled_control.c,120 :: }
+L_end_set_addressing:
+0x024A 0x0008 RETURN
+; end of _set_addressing
+_WordToStr:
+;__Lib_Conversions.c,98 ::
+;__Lib_Conversions.c,103 ::
+0x024B 0x0144 MOVLB 4
+0x024C 0x01B1 CLRF WordToStr_len_L0
+L_WordToStr11:
+0x024D 0x3005 MOVLW 5
+0x024E 0x0231 SUBWF WordToStr_len_L0, 0
+0x024F 0x1803 BTFSC STATUS, 0
+0x0250 0x2A5B GOTO L_WordToStr12
+;__Lib_Conversions.c,104 ::
+0x0251 0x0831 MOVF WordToStr_len_L0, 0
+0x0252 0x072F ADDWF FARG_WordToStr_output, 0
+0x0253 0x0086 MOVWF FSR1
+0x0254 0x3000 MOVLW 0
+0x0255 0x3D30 ADDWFC FARG_WordToStr_output+1, 0
+0x0256 0x0087 MOVWF FSR1H
+0x0257 0x3020 MOVLW 32
+0x0258 0x0081 MOVWF INDF1
+;__Lib_Conversions.c,103 ::
+0x0259 0x0AB1 INCF WordToStr_len_L0, 1
+;__Lib_Conversions.c,104 ::
+0x025A 0x2A4D GOTO L_WordToStr11
+L_WordToStr12:
+;__Lib_Conversions.c,105 ::
+0x025B 0x0831 MOVF WordToStr_len_L0, 0
+0x025C 0x072F ADDWF FARG_WordToStr_output, 0
+0x025D 0x0086 MOVWF FSR1
+0x025E 0x3000 MOVLW 0
+0x025F 0x3D30 ADDWFC FARG_WordToStr_output+1, 0
+0x0260 0x0087 MOVWF FSR1H
+0x0261 0x0181 CLRF INDF1
+0x0262 0x03B1 DECF WordToStr_len_L0, 1
+;__Lib_Conversions.c,107 ::
+L_WordToStr14:
+;__Lib_Conversions.c,108 ::
+0x0263 0x0831 MOVF WordToStr_len_L0, 0
+0x0264 0x072F ADDWF FARG_WordToStr_output, 0
+0x0265 0x00B2 MOVWF FLOC__WordToStr
+0x0266 0x3000 MOVLW 0
+0x0267 0x3D30 ADDWFC FARG_WordToStr_output+1, 0
+0x0268 0x00B3 MOVWF FLOC__WordToStr+1
+0x0269 0x300A MOVLW 10
+0x026A 0x00F4 MOVWF R4
+0x026B 0x01F5 CLRF R5
+0x026C 0x082D MOVF FARG_WordToStr_input, 0
+0x026D 0x00F0 MOVWF R0
+0x026E 0x082E MOVF FARG_WordToStr_input+1, 0
+0x026F 0x00F1 MOVWF R1
+0x0270 0x2166 CALL _Div_16X16_U
+0x0271 0x0878 MOVF R8, 0
+0x0272 0x00F0 MOVWF R0
+0x0273 0x0879 MOVF R9, 0
+0x0274 0x00F1 MOVWF R1
+0x0275 0x3030 MOVLW 48
+0x0276 0x07F0 ADDWF R0, 1
+0x0277 0x0144 MOVLB 4
+0x0278 0x0832 MOVF FLOC__WordToStr, 0
+0x0279 0x0086 MOVWF FSR1
+0x027A 0x0833 MOVF FLOC__WordToStr+1, 0
+0x027B 0x0087 MOVWF FSR1H
+0x027C 0x0870 MOVF R0, 0
+0x027D 0x0081 MOVWF INDF1
+;__Lib_Conversions.c,109 ::
+0x027E 0x300A MOVLW 10
+0x027F 0x00F4 MOVWF R4
+0x0280 0x01F5 CLRF R5
+0x0281 0x082D MOVF FARG_WordToStr_input, 0
+0x0282 0x00F0 MOVWF R0
+0x0283 0x082E MOVF FARG_WordToStr_input+1, 0
+0x0284 0x00F1 MOVWF R1
+0x0285 0x2166 CALL _Div_16X16_U
+0x0286 0x0870 MOVF R0, 0
+0x0287 0x0144 MOVLB 4
+0x0288 0x00AD MOVWF FARG_WordToStr_input
+0x0289 0x0871 MOVF R1, 0
+0x028A 0x00AE MOVWF FARG_WordToStr_input+1
+;__Lib_Conversions.c,110 ::
+0x028B 0x3000 MOVLW 0
+0x028C 0x0671 XORWF R1, 0
+0x028D 0x1D03 BTFSS STATUS, 2
+0x028E 0x2A91 GOTO L__WordToStr379
+0x028F 0x3000 MOVLW 0
+0x0290 0x0670 XORWF R0, 0
+L__WordToStr379:
+0x0291 0x1D03 BTFSS STATUS, 2
+0x0292 0x2A94 GOTO L_WordToStr16
+;__Lib_Conversions.c,111 ::
+0x0293 0x2A96 GOTO L_WordToStr15
+L_WordToStr16:
+;__Lib_Conversions.c,112 ::
+0x0294 0x03B1 DECF WordToStr_len_L0, 1
+;__Lib_Conversions.c,113 ::
+0x0295 0x2A63 GOTO L_WordToStr14
+L_WordToStr15:
+;__Lib_Conversions.c,114 ::
+L_end_WordToStr:
+0x0296 0x0008 RETURN
+; end of _WordToStr
+_ADC_Init_Advanced:
+;__Lib_ADC_18xxx.c,39 ::
+;__Lib_ADC_18xxx.c,40 ::
+0x0297 0x306C MOVLW _ADC_Get_Sample
+0x0298 0x0143 MOVLB 3
+0x0299 0x00A1 MOVWF _ADC_Get_Sample_Ptr
+0x029A 0x3003 MOVLW hi_addr(_ADC_Get_Sample)
+0x029B 0x00A2 MOVWF _ADC_Get_Sample_Ptr+1
+0x029C 0x3023 MOVLW FARG_ADC_Get_Sample_channel
+0x029D 0x00A3 MOVWF _ADC_Get_Sample_Ptr+2
+0x029E 0x3002 MOVLW hi_addr(FARG_ADC_Get_Sample_channel)
+0x029F 0x00A4 MOVWF _ADC_Get_Sample_Ptr+3
+;__Lib_ADC_18xxx.c,42 ::
+0x02A0 0x0141 MOVLB 1
+0x02A1 0x0193 CLRF ADCON0
+;__Lib_ADC_18xxx.c,43 ::
+0x02A2 0x0194 CLRF ADCON1
+;__Lib_ADC_18xxx.c,44 ::
+0x02A3 0x0195 CLRF ADCON2
+;__Lib_ADC_18xxx.c,45 ::
+0x02A4 0x0196 CLRF ADCON3
+;__Lib_ADC_18xxx.c,47 ::
+0x02A5 0x30EC MOVLW 236
+0x02A6 0x059A ANDWF ADREF, 1
+;__Lib_ADC_18xxx.c,48 ::
+0x02A7 0x3013 MOVLW 19
+0x02A8 0x0144 MOVLB 4
+0x02A9 0x0523 ANDWF FARG_ADC_Init_Advanced_reference, 0
+0x02AA 0x00F0 MOVWF R0
+0x02AB 0x0870 MOVF R0, 0
+0x02AC 0x0141 MOVLB 1
+0x02AD 0x049A IORWF ADREF, 1
+;__Lib_ADC_18xxx.c,50 ::
+0x02AE 0x30C0 MOVLW 192
+0x02AF 0x0144 MOVLB 4
+0x02B0 0x0523 ANDWF FARG_ADC_Init_Advanced_reference, 0
+0x02B1 0x00F0 MOVWF R0
+0x02B2 0x1903 BTFSC STATUS, 2
+0x02B3 0x2ACA GOTO L_ADC_Init_Advanced0
+;__Lib_ADC_18xxx.c,51 ::
+0x02B4 0x30C0 MOVLW 192
+0x02B5 0x0523 ANDWF FARG_ADC_Init_Advanced_reference, 0
+0x02B6 0x00F2 MOVWF R2
+0x02B7 0x3006 MOVLW 6
+0x02B8 0x00F1 MOVWF R1
+0x02B9 0x0872 MOVF R2, 0
+0x02BA 0x00F0 MOVWF R0
+0x02BB 0x0871 MOVF R1, 0
+L__ADC_Init_Advanced8:
+0x02BC 0x1903 BTFSC STATUS, 2
+0x02BD 0x2AC1 GOTO L__ADC_Init_Advanced9
+0x02BE 0x36F0 LSRF R0, 1
+0x02BF 0x3EFF ADDLW 255
+0x02C0 0x2ABC GOTO L__ADC_Init_Advanced8
+L__ADC_Init_Advanced9:
+0x02C1 0x0870 MOVF R0, 0
+0x02C2 0x0152 MOVLB 18
+0x02C3 0x008C MOVWF FVRCON
+;__Lib_ADC_18xxx.c,52 ::
+0x02C4 0x178C BSF FVRCON, 7
+;__Lib_ADC_18xxx.c,53 ::
+L_ADC_Init_Advanced1:
+0x02C5 0x1B0C BTFSC FVRCON, 6
+0x02C6 0x2AC9 GOTO L_ADC_Init_Advanced2
+;__Lib_ADC_18xxx.c,54 ::
+0x02C7 0x0000 NOP
+0x02C8 0x2AC5 GOTO L_ADC_Init_Advanced1
+L_ADC_Init_Advanced2:
+;__Lib_ADC_18xxx.c,55 ::
+0x02C9 0x2ACD GOTO L_ADC_Init_Advanced3
+L_ADC_Init_Advanced0:
+0x02CA 0x0152 MOVLB 18
+;__Lib_ADC_18xxx.c,57 ::
+0x02CB 0x30FC MOVLW 252
+0x02CC 0x058C ANDWF FVRCON, 1
+L_ADC_Init_Advanced3:
+;__Lib_ADC_18xxx.c,59 ::
+0x02CD 0x0141 MOVLB 1
+0x02CE 0x1613 BSF ADCON0, 4
+;__Lib_ADC_18xxx.c,60 ::
+0x02CF 0x1513 BSF ADCON0, 2
+;__Lib_ADC_18xxx.c,61 ::
+0x02D0 0x1793 BSF ADCON0, 7
+;__Lib_ADC_18xxx.c,62 ::
+L_end_ADC_Init_Advanced:
+0x02D1 0x0008 RETURN
+; end of _ADC_Init_Advanced
+_Mul_16X16_U:
+;__Lib_Math.c,136 ::
+;__Lib_Math.c,143 ::
+0x02D2 0x0140 MOVLB 0
+;__Lib_Math.c,144 ::
+0x02D3 0x01FB CLRF R11
+;__Lib_Math.c,145 ::
+0x02D4 0x01FA CLRF R10
+;__Lib_Math.c,146 ::
+0x02D5 0x01F9 CLRF R9
+;__Lib_Math.c,147 ::
+0x02D6 0x3080 MOVLW 128
+;__Lib_Math.c,148 ::
+0x02D7 0x00F8 MOVWF R8
+;__Lib_Math.c,149 ::
+0x02D8 0x0CF1 RRF R1, 1
+;__Lib_Math.c,150 ::
+0x02D9 0x0CF0 RRF R0, 1
+;__Lib_Math.c,151 ::
+0x02DA 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,152 ::
+0x02DB 0x2AE5 GOTO $+10
+;__Lib_Math.c,153 ::
+0x02DC 0x0874 MOVF R4, 0
+;__Lib_Math.c,154 ::
+0x02DD 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,155 ::
+0x02DE 0x0875 MOVF R5, 0
+;__Lib_Math.c,156 ::
+0x02DF 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,157 ::
+0x02E0 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,158 ::
+0x02E1 0x07FA ADDWF R10, 1
+;__Lib_Math.c,159 ::
+0x02E2 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,160 ::
+0x02E3 0x0AFB INCF R11, 1
+;__Lib_Math.c,161 ::
+0x02E4 0x1003 BCF STATUS, 0
+;__Lib_Math.c,162 ::
+0x02E5 0x1FF0 BTFSS R0, 7
+;__Lib_Math.c,163 ::
+0x02E6 0x2AED GOTO $+7
+;__Lib_Math.c,164 ::
+0x02E7 0x0874 MOVF R4, 0
+;__Lib_Math.c,165 ::
+0x02E8 0x07FA ADDWF R10, 1
+;__Lib_Math.c,166 ::
+0x02E9 0x0875 MOVF R5, 0
+;__Lib_Math.c,167 ::
+0x02EA 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,168 ::
+0x02EB 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,169 ::
+0x02EC 0x07FB ADDWF R11, 1
+;__Lib_Math.c,170 ::
+0x02ED 0x0CFB RRF R11, 1
+;__Lib_Math.c,171 ::
+0x02EE 0x0CFA RRF R10, 1
+;__Lib_Math.c,172 ::
+0x02EF 0x0CF9 RRF R9, 1
+;__Lib_Math.c,173 ::
+0x02F0 0x0CF8 RRF R8, 1
+;__Lib_Math.c,174 ::
+0x02F1 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,175 ::
+0x02F2 0x2AD8 GOTO $-26
+;__Lib_Math.c,176 ::
+0x02F3 0x087B MOVF R11, 0
+;__Lib_Math.c,177 ::
+0x02F4 0x00F3 MOVWF R3
+;__Lib_Math.c,178 ::
+0x02F5 0x087A MOVF R10, 0
+;__Lib_Math.c,179 ::
+0x02F6 0x00F2 MOVWF R2
+;__Lib_Math.c,180 ::
+0x02F7 0x0879 MOVF R9, 0
+;__Lib_Math.c,181 ::
+0x02F8 0x00F1 MOVWF R1
+;__Lib_Math.c,182 ::
+0x02F9 0x0878 MOVF R8, 0
+;__Lib_Math.c,183 ::
+0x02FA 0x00F0 MOVWF R0
+;__Lib_Math.c,186 ::
+L_end_Mul_16X16_U:
+0x02FB 0x0008 RETURN
+; end of _Mul_16X16_U
+_FIXSIGN32:
+;__Lib_MathDouble.c,112 ::
+;__Lib_MathDouble.c,116 ::
+0x02FC 0x1FFA BTFSS R10, 7
+;__Lib_MathDouble.c,117 ::
+0x02FD 0x13F2 BCF R2, 7
+;__Lib_MathDouble.c,118 ::
+0x02FE 0x3000 MOVLW 0
+;__Lib_MathDouble.c,120 ::
+L_end_FIXSIGN32:
+0x02FF 0x0008 RETURN
+; end of _FIXSIGN32
+_VDelay_ms:
+;__Lib_Delays.c,82 :: void VDelay_ms(unsigned Time_ms){
+;__Lib_Delays.c,84 :: NumberOfCyc = Clock_kHz()>>2; // this will be done by compiler, no asm will be genereated except that for assignment;
+0x0300 0x3040 MOVLW 64
+0x0301 0x0144 MOVLB 4
+0x0302 0x00A5 MOVWF VDelay_ms_NumberOfCyc_L0
+0x0303 0x301F MOVLW 31
+0x0304 0x00A6 MOVWF VDelay_ms_NumberOfCyc_L0+1
+0x0305 0x01A7 CLRF VDelay_ms_NumberOfCyc_L0+2
+0x0306 0x01A8 CLRF VDelay_ms_NumberOfCyc_L0+3
+;__Lib_Delays.c,85 :: NumberOfCyc *= Time_ms;
+0x0307 0x3040 MOVLW 64
+0x0308 0x00F0 MOVWF R0
+0x0309 0x301F MOVLW 31
+0x030A 0x00F1 MOVWF R1
+0x030B 0x3000 MOVLW 0
+0x030C 0x00F2 MOVWF R2
+0x030D 0x3000 MOVLW 0
+0x030E 0x00F3 MOVWF R3
+0x030F 0x0823 MOVF FARG_VDelay_ms_Time_ms, 0
+0x0310 0x00F4 MOVWF R4
+0x0311 0x0824 MOVF FARG_VDelay_ms_Time_ms+1, 0
+0x0312 0x00F5 MOVWF R5
+0x0313 0x01F6 CLRF R6
+0x0314 0x01F7 CLRF R7
+0x0315 0x21BE CALL _Mul_32x32_U
+0x0316 0x0870 MOVF R0, 0
+0x0317 0x0144 MOVLB 4
+0x0318 0x00A5 MOVWF VDelay_ms_NumberOfCyc_L0
+0x0319 0x0871 MOVF R1, 0
+0x031A 0x00A6 MOVWF VDelay_ms_NumberOfCyc_L0+1
+0x031B 0x0872 MOVF R2, 0
+0x031C 0x00A7 MOVWF VDelay_ms_NumberOfCyc_L0+2
+0x031D 0x0873 MOVF R3, 0
+0x031E 0x00A8 MOVWF VDelay_ms_NumberOfCyc_L0+3
+;__Lib_Delays.c,86 :: if (NumberOfCyc < 690)
+0x031F 0x3000 MOVLW 0
+0x0320 0x0273 SUBWF R3, 0
+0x0321 0x1D03 BTFSS STATUS, 2
+0x0322 0x2B2D GOTO L__VDelay_ms39
+0x0323 0x3000 MOVLW 0
+0x0324 0x0272 SUBWF R2, 0
+0x0325 0x1D03 BTFSS STATUS, 2
+0x0326 0x2B2D GOTO L__VDelay_ms39
+0x0327 0x3002 MOVLW 2
+0x0328 0x0271 SUBWF R1, 0
+0x0329 0x1D03 BTFSS STATUS, 2
+0x032A 0x2B2D GOTO L__VDelay_ms39
+0x032B 0x30B2 MOVLW 178
+0x032C 0x0270 SUBWF R0, 0
+L__VDelay_ms39:
+0x032D 0x1803 BTFSC STATUS, 0
+0x032E 0x2B30 GOTO L_VDelay_ms16
+;__Lib_Delays.c,87 :: return;
+0x032F 0x2B5F GOTO L_end_VDelay_ms
+L_VDelay_ms16:
+;__Lib_Delays.c,88 :: NumberOfCyc -= 690;
+0x0330 0x30B2 MOVLW 178
+0x0331 0x02A5 SUBWF VDelay_ms_NumberOfCyc_L0, 1
+0x0332 0x3002 MOVLW 2
+0x0333 0x3BA6 SUBWFB VDelay_ms_NumberOfCyc_L0+1, 1
+0x0334 0x3000 MOVLW 0
+0x0335 0x3BA7 SUBWFB VDelay_ms_NumberOfCyc_L0+2, 1
+0x0336 0x3BA8 SUBWFB VDelay_ms_NumberOfCyc_L0+3, 1
+;__Lib_Delays.c,89 :: NumberOfCyc = NumberOfCyc >> 5; // Dec and While below take around 32 instructions
+0x0337 0x3005 MOVLW 5
+0x0338 0x00F0 MOVWF R0
+0x0339 0x0870 MOVF R0, 0
+L__VDelay_ms40:
+0x033A 0x1903 BTFSC STATUS, 2
+0x033B 0x2B42 GOTO L__VDelay_ms41
+0x033C 0x36A8 LSRF VDelay_ms_NumberOfCyc_L0+3, 1
+0x033D 0x0CA7 RRF VDelay_ms_NumberOfCyc_L0+2, 1
+0x033E 0x0CA6 RRF VDelay_ms_NumberOfCyc_L0+1, 1
+0x033F 0x0CA5 RRF VDelay_ms_NumberOfCyc_L0, 1
+0x0340 0x3EFF ADDLW 255
+0x0341 0x2B3A GOTO L__VDelay_ms40
+L__VDelay_ms41:
+;__Lib_Delays.c,90 :: while (NumberOfCyc--)
+L_VDelay_ms17:
+0x0342 0x0825 MOVF VDelay_ms_NumberOfCyc_L0, 0
+0x0343 0x00F0 MOVWF R0
+0x0344 0x0826 MOVF VDelay_ms_NumberOfCyc_L0+1, 0
+0x0345 0x00F1 MOVWF R1
+0x0346 0x0827 MOVF VDelay_ms_NumberOfCyc_L0+2, 0
+0x0347 0x00F2 MOVWF R2
+0x0348 0x0828 MOVF VDelay_ms_NumberOfCyc_L0+3, 0
+0x0349 0x00F3 MOVWF R3
+0x034A 0x3001 MOVLW 1
+0x034B 0x02A5 SUBWF VDelay_ms_NumberOfCyc_L0, 1
+0x034C 0x3000 MOVLW 0
+0x034D 0x3BA6 SUBWFB VDelay_ms_NumberOfCyc_L0+1, 1
+0x034E 0x3BA7 SUBWFB VDelay_ms_NumberOfCyc_L0+2, 1
+0x034F 0x3BA8 SUBWFB VDelay_ms_NumberOfCyc_L0+3, 1
+0x0350 0x0870 MOVF R0, 0
+0x0351 0x0471 IORWF R1, 0
+0x0352 0x0472 IORWF R2, 0
+0x0353 0x0473 IORWF R3, 0
+0x0354 0x1903 BTFSC STATUS, 2
+0x0355 0x2B5F GOTO L_VDelay_ms18
+;__Lib_Delays.c,92 :: asm nop;
+0x0356 0x0000 NOP
+;__Lib_Delays.c,93 :: asm nop;
+0x0357 0x0000 NOP
+;__Lib_Delays.c,94 :: asm nop;
+0x0358 0x0000 NOP
+;__Lib_Delays.c,95 :: asm nop;
+0x0359 0x0000 NOP
+;__Lib_Delays.c,96 :: asm nop;
+0x035A 0x0000 NOP
+;__Lib_Delays.c,97 :: asm nop;
+0x035B 0x0000 NOP
+;__Lib_Delays.c,98 :: asm nop;
+0x035C 0x0000 NOP
+;__Lib_Delays.c,99 :: asm nop;
+0x035D 0x0000 NOP
+;__Lib_Delays.c,100 :: }
+0x035E 0x2B42 GOTO L_VDelay_ms17
+L_VDelay_ms18:
+;__Lib_Delays.c,101 :: }
+L_end_VDelay_ms:
+0x035F 0x0008 RETURN
+; end of _VDelay_ms
+_SETFUN32:
+;__Lib_MathDouble.c,138 ::
+;__Lib_MathDouble.c,145 ::
+0x0360 0x157B BSF R11, 2
+;__Lib_MathDouble.c,146 ::
+0x0361 0x1FFB BTFSS R11, 7
+;__Lib_MathDouble.c,147 ::
+0x0362 0x2B6A GOTO SETFUN32EEE
+;__Lib_MathDouble.c,148 ::
+0x0363 0x3001 MOVLW 1
+;__Lib_MathDouble.c,149 ::
+0x0364 0x00F3 MOVWF R3
+;__Lib_MathDouble.c,150 ::
+0x0365 0x01F2 CLRF R2
+;__Lib_MathDouble.c,151 ::
+0x0366 0x01F1 CLRF R1
+;__Lib_MathDouble.c,152 ::
+0x0367 0x01F0 CLRF R0
+;__Lib_MathDouble.c,153 ::
+0x0368 0x0DFA RLF R10, 1
+;__Lib_MathDouble.c,154 ::
+0x0369 0x0CF2 RRF R2, 1
+;__Lib_MathDouble.c,155 ::
+SETFUN32EEE:
+;__Lib_MathDouble.c,156 ::
+0x036A 0x30FF MOVLW 255
+;__Lib_MathDouble.c,158 ::
+L_end_SETFUN32:
+0x036B 0x0008 RETURN
+; end of _SETFUN32
+_ADC_Get_Sample:
+;__Lib_ADC_18xxx.c,64 ::
+;__Lib_ADC_18xxx.c,65 ::
+0x036C 0x303F MOVLW 63
+0x036D 0x0144 MOVLB 4
+0x036E 0x0523 ANDWF FARG_ADC_Get_Sample_channel, 0
+0x036F 0x0141 MOVLB 1
+0x0370 0x009E MOVWF ADPCH
+;__Lib_ADC_18xxx.c,66 ::
+0x0371 0x21A0 CALL _Delay_22us
+;__Lib_ADC_18xxx.c,68 ::
+0x0372 0x1413 BSF ADCON0, 0
+;__Lib_ADC_18xxx.c,69 ::
+0x0373 0x0000 NOP
+;__Lib_ADC_18xxx.c,70 ::
+L_ADC_Get_Sample4:
+0x0374 0x1C13 BTFSS ADCON0, 0
+0x0375 0x2B77 GOTO L_ADC_Get_Sample5
+;__Lib_ADC_18xxx.c,71 ::
+0x0376 0x2B74 GOTO L_ADC_Get_Sample4
+L_ADC_Get_Sample5:
+;__Lib_ADC_18xxx.c,73 ::
+0x0377 0x080C MOVF ADRES, 0
+0x0378 0x00F0 MOVWF R0
+0x0379 0x080D MOVF ADRES+1, 0
+0x037A 0x00F1 MOVWF R1
+;__Lib_ADC_18xxx.c,74 ::
+L_end_ADC_Get_Sample:
+0x037B 0x0008 RETURN
+; end of _ADC_Get_Sample
+_oled_wr_str_s:
+;oled_control.c,122 :: void oled_wr_str_s(char page, char col, char str[], char len) { // 128*64 OLED
+;oled_control.c,124 :: set_addressing (page, col);
+0x037C 0x0144 MOVLB 4
+0x037D 0x0823 MOVF FARG_oled_wr_str_s_page, 0
+0x037E 0x00AD MOVWF FARG_set_addressing_pagenum
+0x037F 0x0824 MOVF FARG_oled_wr_str_s_col, 0
+0x0380 0x00AE MOVWF FARG_set_addressing_c_start
+0x0381 0x220B CALL _set_addressing
+;oled_control.c,126 :: for (i = 0; i < len; i++) { // write string
+0x0382 0x0144 MOVLB 4
+0x0383 0x01A8 CLRF oled_wr_str_s_i_L0
+L_oled_wr_str_s16:
+0x0384 0x0827 MOVF FARG_oled_wr_str_s_len, 0
+0x0385 0x0228 SUBWF oled_wr_str_s_i_L0, 0
+0x0386 0x1803 BTFSC STATUS, 0
+0x0387 0x2BB1 GOTO L_oled_wr_str_s17
+;oled_control.c,127 :: g = str[i] - 32; // table shift
+0x0388 0x0828 MOVF oled_wr_str_s_i_L0, 0
+0x0389 0x0725 ADDWF FARG_oled_wr_str_s_str, 0
+0x038A 0x0084 MOVWF FSR0
+0x038B 0x3000 MOVLW 0
+0x038C 0x3D26 ADDWFC FARG_oled_wr_str_s_str+1, 0
+0x038D 0x0085 MOVWF FSR0H
+0x038E 0x3020 MOVLW 32
+0x038F 0x0200 SUBWF INDF0, 0
+0x0390 0x00AA MOVWF oled_wr_str_s_g_L0
+;oled_control.c,128 :: for (h = 0; h < 5; h++) { // write letter
+0x0391 0x01A9 CLRF oled_wr_str_s_h_L0
+L_oled_wr_str_s19:
+0x0392 0x3005 MOVLW 5
+0x0393 0x0229 SUBWF oled_wr_str_s_h_L0, 0
+0x0394 0x1803 BTFSC STATUS, 0
+0x0395 0x2BAC GOTO L_oled_wr_str_s20
+;oled_control.c,129 :: Soft_I2C_Write(font_5x8[g*5+h]);
+0x0396 0x082A MOVF oled_wr_str_s_g_L0, 0
+0x0397 0x00F0 MOVWF R0
+0x0398 0x3005 MOVLW 5
+0x0399 0x00F4 MOVWF R4
+0x039A 0x21A6 CALL _Mul_8X8_U
+0x039B 0x0144 MOVLB 4
+0x039C 0x0829 MOVF oled_wr_str_s_h_L0, 0
+0x039D 0x07F0 ADDWF R0, 1
+0x039E 0x3000 MOVLW 0
+0x039F 0x3DF1 ADDWFC R1, 1
+0x03A0 0x30FF MOVLW oled_control_font_5x8
+0x03A1 0x0770 ADDWF R0, 0
+0x03A2 0x0084 MOVWF FSR0
+0x03A3 0x309D MOVLW hi_addr(oled_control_font_5x8)
+0x03A4 0x3D71 ADDWFC R1, 0
+0x03A5 0x0085 MOVWF FSR0H
+0x03A6 0x0800 MOVF INDF0, 0
+0x03A7 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x03A8 0x212A CALL _Soft_I2C_Write
+;oled_control.c,128 :: for (h = 0; h < 5; h++) { // write letter
+0x03A9 0x0144 MOVLB 4
+0x03AA 0x0AA9 INCF oled_wr_str_s_h_L0, 1
+;oled_control.c,130 :: }
+0x03AB 0x2B92 GOTO L_oled_wr_str_s19
+L_oled_wr_str_s20:
+;oled_control.c,131 :: Soft_I2C_Write (0);
+0x03AC 0x01B4 CLRF FARG_Soft_I2C_Write_d
+0x03AD 0x212A CALL _Soft_I2C_Write
+;oled_control.c,126 :: for (i = 0; i < len; i++) { // write string
+0x03AE 0x0144 MOVLB 4
+0x03AF 0x0AA8 INCF oled_wr_str_s_i_L0, 1
+;oled_control.c,132 :: }
+0x03B0 0x2B84 GOTO L_oled_wr_str_s16
+L_oled_wr_str_s17:
+;oled_control.c,133 :: Soft_I2C_Stop ();
+0x03B1 0x21F4 CALL _Soft_I2C_Stop
+;oled_control.c,134 :: return;
+;oled_control.c,135 :: }
+L_end_oled_wr_str_s:
+0x03B2 0x0008 RETURN
+; end of _oled_wr_str_s
+_IntToStr:
+;__Lib_Conversions.c,195 ::
+;__Lib_Conversions.c,201 ::
+0x03B3 0x0144 MOVLB 4
+0x03B4 0x01A9 CLRF IntToStr_negative_L0
+0x03B5 0x01AA CLRF IntToStr_negative_L0+1
+;__Lib_Conversions.c,202 ::
+0x03B6 0x0823 MOVF FARG_IntToStr_input, 0
+0x03B7 0x00AB MOVWF IntToStr_inword_L0
+0x03B8 0x0824 MOVF FARG_IntToStr_input+1, 0
+0x03B9 0x00AC MOVWF IntToStr_inword_L0+1
+;__Lib_Conversions.c,203 ::
+0x03BA 0x3080 MOVLW 128
+0x03BB 0x0624 XORWF FARG_IntToStr_input+1, 0
+0x03BC 0x00F0 MOVWF R0
+0x03BD 0x3080 MOVLW 128
+0x03BE 0x0270 SUBWF R0, 0
+0x03BF 0x1D03 BTFSS STATUS, 2
+0x03C0 0x2BC3 GOTO L__IntToStr387
+0x03C1 0x3000 MOVLW 0
+0x03C2 0x0223 SUBWF FARG_IntToStr_input, 0
+L__IntToStr387:
+0x03C3 0x1803 BTFSC STATUS, 0
+0x03C4 0x2BD1 GOTO L_IntToStr37
+;__Lib_Conversions.c,204 ::
+0x03C5 0x3001 MOVLW 1
+0x03C6 0x00A9 MOVWF IntToStr_negative_L0
+0x03C7 0x3000 MOVLW 0
+0x03C8 0x00AA MOVWF IntToStr_negative_L0+1
+;__Lib_Conversions.c,205 ::
+0x03C9 0x0823 MOVF FARG_IntToStr_input, 0
+0x03CA 0x3C00 SUBLW 0
+0x03CB 0x00AB MOVWF IntToStr_inword_L0
+0x03CC 0x0824 MOVF FARG_IntToStr_input+1, 0
+0x03CD 0x1C03 BTFSS STATUS, 0
+0x03CE 0x3E01 ADDLW 1
+0x03CF 0x01AC CLRF IntToStr_inword_L0+1
+0x03D0 0x02AC SUBWF IntToStr_inword_L0+1, 1
+;__Lib_Conversions.c,206 ::
+L_IntToStr37:
+;__Lib_Conversions.c,207 ::
+0x03D1 0x082B MOVF IntToStr_inword_L0, 0
+0x03D2 0x00AD MOVWF FARG_WordToStr_input
+0x03D3 0x082C MOVF IntToStr_inword_L0+1, 0
+0x03D4 0x00AE MOVWF FARG_WordToStr_input+1
+0x03D5 0x0825 MOVF FARG_IntToStr_output, 0
+0x03D6 0x00AF MOVWF FARG_WordToStr_output
+0x03D7 0x0826 MOVF FARG_IntToStr_output+1, 0
+0x03D8 0x00B0 MOVWF FARG_WordToStr_output+1
+0x03D9 0x224B CALL _WordToStr
+;__Lib_Conversions.c,209 ::
+0x03DA 0x3006 MOVLW 6
+0x03DB 0x00A7 MOVWF IntToStr_i_L0
+0x03DC 0x3000 MOVLW 0
+0x03DD 0x00A8 MOVWF IntToStr_i_L0+1
+;__Lib_Conversions.c,210 ::
+L_IntToStr38:
+0x03DE 0x0828 MOVF IntToStr_i_L0+1, 0
+0x03DF 0x3C00 SUBLW 0
+0x03E0 0x1D03 BTFSS STATUS, 2
+0x03E1 0x2BE4 GOTO L__IntToStr388
+0x03E2 0x0827 MOVF IntToStr_i_L0, 0
+0x03E3 0x3C00 SUBLW 0
+L__IntToStr388:
+0x03E4 0x1803 BTFSC STATUS, 0
+0x03E5 0x2BFF GOTO L_IntToStr39
+;__Lib_Conversions.c,211 ::
+0x03E6 0x0827 MOVF IntToStr_i_L0, 0
+0x03E7 0x0725 ADDWF FARG_IntToStr_output, 0
+0x03E8 0x0086 MOVWF FSR1
+0x03E9 0x0828 MOVF IntToStr_i_L0+1, 0
+0x03EA 0x3D26 ADDWFC FARG_IntToStr_output+1, 0
+0x03EB 0x0087 MOVWF FSR1H
+0x03EC 0x3001 MOVLW 1
+0x03ED 0x0227 SUBWF IntToStr_i_L0, 0
+0x03EE 0x00F0 MOVWF R0
+0x03EF 0x3000 MOVLW 0
+0x03F0 0x3B28 SUBWFB IntToStr_i_L0+1, 0
+0x03F1 0x00F1 MOVWF R1
+0x03F2 0x0870 MOVF R0, 0
+0x03F3 0x0725 ADDWF FARG_IntToStr_output, 0
+0x03F4 0x0084 MOVWF FSR0
+0x03F5 0x0871 MOVF R1, 0
+0x03F6 0x3D26 ADDWFC FARG_IntToStr_output+1, 0
+0x03F7 0x0085 MOVWF FSR0H
+0x03F8 0x0800 MOVF INDF0, 0
+0x03F9 0x0081 MOVWF INDF1
+;__Lib_Conversions.c,212 ::
+0x03FA 0x3001 MOVLW 1
+0x03FB 0x02A7 SUBWF IntToStr_i_L0, 1
+0x03FC 0x3000 MOVLW 0
+0x03FD 0x3BA8 SUBWFB IntToStr_i_L0+1, 1
+;__Lib_Conversions.c,213 ::
+0x03FE 0x2BDE GOTO L_IntToStr38
+L_IntToStr39:
+;__Lib_Conversions.c,214 ::
+0x03FF 0x0825 MOVF FARG_IntToStr_output, 0
+0x0400 0x0086 MOVWF FSR1
+0x0401 0x0826 MOVF FARG_IntToStr_output+1, 0
+0x0402 0x0087 MOVWF FSR1H
+0x0403 0x3020 MOVLW 32
+0x0404 0x0081 MOVWF INDF1
+;__Lib_Conversions.c,215 ::
+0x0405 0x0829 MOVF IntToStr_negative_L0, 0
+0x0406 0x042A IORWF IntToStr_negative_L0+1, 0
+0x0407 0x1903 BTFSC STATUS, 2
+0x0408 0x2C25 GOTO L_IntToStr40
+;__Lib_Conversions.c,216 ::
+0x0409 0x01A7 CLRF IntToStr_i_L0
+0x040A 0x01A8 CLRF IntToStr_i_L0+1
+;__Lib_Conversions.c,217 ::
+L_IntToStr41:
+0x040B 0x0827 MOVF IntToStr_i_L0, 0
+0x040C 0x0725 ADDWF FARG_IntToStr_output, 0
+0x040D 0x0084 MOVWF FSR0
+0x040E 0x0828 MOVF IntToStr_i_L0+1, 0
+0x040F 0x3D26 ADDWFC FARG_IntToStr_output+1, 0
+0x0410 0x0085 MOVWF FSR0H
+0x0411 0x0800 MOVF INDF0, 0
+0x0412 0x3A20 XORLW 32
+0x0413 0x1D03 BTFSS STATUS, 2
+0x0414 0x2C19 GOTO L_IntToStr42
+0x0415 0x0AA7 INCF IntToStr_i_L0, 1
+0x0416 0x1903 BTFSC STATUS, 2
+0x0417 0x0AA8 INCF IntToStr_i_L0+1, 1
+0x0418 0x2C0B GOTO L_IntToStr41
+L_IntToStr42:
+;__Lib_Conversions.c,218 ::
+0x0419 0x3001 MOVLW 1
+0x041A 0x02A7 SUBWF IntToStr_i_L0, 1
+0x041B 0x3000 MOVLW 0
+0x041C 0x3BA8 SUBWFB IntToStr_i_L0+1, 1
+;__Lib_Conversions.c,219 ::
+0x041D 0x0827 MOVF IntToStr_i_L0, 0
+0x041E 0x0725 ADDWF FARG_IntToStr_output, 0
+0x041F 0x0086 MOVWF FSR1
+0x0420 0x0828 MOVF IntToStr_i_L0+1, 0
+0x0421 0x3D26 ADDWFC FARG_IntToStr_output+1, 0
+0x0422 0x0087 MOVWF FSR1H
+0x0423 0x302D MOVLW 45
+0x0424 0x0081 MOVWF INDF1
+L_IntToStr40:
+;__Lib_Conversions.c,220 ::
+L_end_IntToStr:
+0x0425 0x0008 RETURN
+; end of _IntToStr
+_RES032:
+;__Lib_MathDouble.c,123 ::
+;__Lib_MathDouble.c,128 ::
+0x0426 0x01F2 CLRF R2
+;__Lib_MathDouble.c,129 ::
+0x0427 0x01F1 CLRF R1
+;__Lib_MathDouble.c,130 ::
+0x0428 0x01F0 CLRF R0
+;__Lib_MathDouble.c,131 ::
+0x0429 0x01F8 CLRF R8
+;__Lib_MathDouble.c,132 ::
+0x042A 0x01F3 CLRF R3
+;__Lib_MathDouble.c,133 ::
+0x042B 0x3000 MOVLW 0
+;__Lib_MathDouble.c,135 ::
+L_end_RES032:
+0x042C 0x0008 RETURN
+; end of _RES032
+_send_command:
+;oled_control.c,94 :: void send_command (char oled_command) {
+;oled_control.c,95 :: Soft_I2C_Start();
+0x042D 0x2182 CALL _Soft_I2C_Start
+;oled_control.c,96 :: Soft_I2C_Write(oled_addr); // device addres
+0x042E 0x0141 MOVLB 1
+0x042F 0x0847 MOVF oled_control_oled_addr, 0
+0x0430 0x0144 MOVLB 4
+0x0431 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0432 0x212A CALL _Soft_I2C_Write
+;oled_control.c,97 :: Soft_I2C_Write(128); // 128 - command, 192 - data
+0x0433 0x3080 MOVLW 128
+0x0434 0x0144 MOVLB 4
+0x0435 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0436 0x212A CALL _Soft_I2C_Write
+;oled_control.c,98 :: Soft_I2C_Write(oled_command);
+0x0437 0x0144 MOVLB 4
+0x0438 0x0823 MOVF FARG_send_command_oled_command, 0
+0x0439 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x043A 0x212A CALL _Soft_I2C_Write
+;oled_control.c,99 :: Soft_I2C_Stop();
+0x043B 0x21F4 CALL _Soft_I2C_Stop
+;oled_control.c,100 :: return;
+;oled_control.c,101 :: }
+L_end_send_command:
+0x043C 0x0008 RETURN
+; end of _send_command
+_SETFOV32:
+;__Lib_MathDouble.c,79 ::
+;__Lib_MathDouble.c,86 ::
+0x043D 0x14FB BSF R11, 1
+;__Lib_MathDouble.c,87 ::
+0x043E 0x1FFB BTFSS R11, 7
+;__Lib_MathDouble.c,88 ::
+0x043F 0x2C47 GOTO SETFOV32EEE
+;__Lib_MathDouble.c,89 ::
+0x0440 0x30FF MOVLW 255
+;__Lib_MathDouble.c,90 ::
+0x0441 0x00F3 MOVWF R3
+;__Lib_MathDouble.c,91 ::
+0x0442 0x00F2 MOVWF R2
+;__Lib_MathDouble.c,92 ::
+0x0443 0x00F1 MOVWF R1
+;__Lib_MathDouble.c,93 ::
+0x0444 0x00F0 MOVWF R0
+;__Lib_MathDouble.c,94 ::
+0x0445 0x0DFA RLF R10, 1
+;__Lib_MathDouble.c,95 ::
+0x0446 0x0CF2 RRF R2, 1
+;__Lib_MathDouble.c,96 ::
+SETFOV32EEE:
+;__Lib_MathDouble.c,97 ::
+0x0447 0x30FF MOVLW 255
+;__Lib_MathDouble.c,99 ::
+L_end_SETFOV32:
+0x0448 0x0008 RETURN
+; end of _SETFOV32
+_oled_clear:
+;oled_control.c,78 :: void oled_clear(void){
+;oled_control.c,81 :: Soft_I2C_Start();
+0x0449 0x2182 CALL _Soft_I2C_Start
+;oled_control.c,82 :: Soft_I2C_Write(oled_addr); // device addres
+0x044A 0x0141 MOVLB 1
+0x044B 0x0847 MOVF oled_control_oled_addr, 0
+0x044C 0x0144 MOVLB 4
+0x044D 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x044E 0x212A CALL _Soft_I2C_Write
+;oled_control.c,83 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+0x044F 0x3040 MOVLW 64
+0x0450 0x0144 MOVLB 4
+0x0451 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0452 0x212A CALL _Soft_I2C_Write
+;oled_control.c,85 :: for (r = 0; r <=7; r++) {
+0x0453 0x0144 MOVLB 4
+0x0454 0x01A4 CLRF oled_clear_r_L0
+L_oled_clear8:
+0x0455 0x0824 MOVF oled_clear_r_L0, 0
+0x0456 0x3C07 SUBLW 7
+0x0457 0x1C03 BTFSS STATUS, 0
+0x0458 0x2C6B GOTO L_oled_clear9
+;oled_control.c,86 :: set_addressing (r, 0); // clear all 8 pages
+0x0459 0x0824 MOVF oled_clear_r_L0, 0
+0x045A 0x00AD MOVWF FARG_set_addressing_pagenum
+0x045B 0x01AE CLRF FARG_set_addressing_c_start
+0x045C 0x220B CALL _set_addressing
+;oled_control.c,87 :: for (i = 0; i < 128; i++, Soft_I2C_Write(0x00)); // clear one page pixels
+0x045D 0x0144 MOVLB 4
+0x045E 0x01A3 CLRF oled_clear_i_L0
+L_oled_clear11:
+0x045F 0x0144 MOVLB 4
+0x0460 0x3080 MOVLW 128
+0x0461 0x0223 SUBWF oled_clear_i_L0, 0
+0x0462 0x1803 BTFSC STATUS, 0
+0x0463 0x2C68 GOTO L_oled_clear12
+0x0464 0x0AA3 INCF oled_clear_i_L0, 1
+0x0465 0x01B4 CLRF FARG_Soft_I2C_Write_d
+0x0466 0x212A CALL _Soft_I2C_Write
+0x0467 0x2C5F GOTO L_oled_clear11
+L_oled_clear12:
+;oled_control.c,85 :: for (r = 0; r <=7; r++) {
+0x0468 0x0144 MOVLB 4
+0x0469 0x0AA4 INCF oled_clear_r_L0, 1
+;oled_control.c,88 :: }
+0x046A 0x2C55 GOTO L_oled_clear8
+L_oled_clear9:
+;oled_control.c,89 :: Soft_I2C_Stop ();
+0x046B 0x21F4 CALL _Soft_I2C_Stop
+;oled_control.c,91 :: return;
+;oled_control.c,92 :: }
+L_end_oled_clear:
+0x046C 0x0008 RETURN
+; end of _oled_clear
+_oled_wr_str:
+;oled_control.c,138 :: void oled_wr_str (char page, char col, char str[], char leng ) { //
+;oled_control.c,140 :: Soft_I2C_Start();
+0x046D 0x2182 CALL _Soft_I2C_Start
+;oled_control.c,141 :: Soft_I2C_Write(oled_addr); // device addres
+0x046E 0x0141 MOVLB 1
+0x046F 0x0847 MOVF oled_control_oled_addr, 0
+0x0470 0x0144 MOVLB 4
+0x0471 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0472 0x212A CALL _Soft_I2C_Write
+;oled_control.c,142 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+0x0473 0x3040 MOVLW 64
+0x0474 0x0144 MOVLB 4
+0x0475 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0476 0x212A CALL _Soft_I2C_Write
+;oled_control.c,144 :: set_addressing (page, col);
+0x0477 0x0144 MOVLB 4
+0x0478 0x0823 MOVF FARG_oled_wr_str_page, 0
+0x0479 0x00AD MOVWF FARG_set_addressing_pagenum
+0x047A 0x0824 MOVF FARG_oled_wr_str_col, 0
+0x047B 0x00AE MOVWF FARG_set_addressing_c_start
+0x047C 0x220B CALL _set_addressing
+;oled_control.c,146 :: for (i = 0; i < leng; i++) { // write string
+0x047D 0x0144 MOVLB 4
+0x047E 0x01A8 CLRF oled_wr_str_i_L0
+L_oled_wr_str22:
+0x047F 0x0827 MOVF FARG_oled_wr_str_leng, 0
+0x0480 0x0228 SUBWF oled_wr_str_i_L0, 0
+0x0481 0x1803 BTFSC STATUS, 0
+0x0482 0x2D0E GOTO L_oled_wr_str23
+;oled_control.c,147 :: if (str[i] == 0) g = 0; else g = str[i] - 32; // NULL detection
+0x0483 0x0828 MOVF oled_wr_str_i_L0, 0
+0x0484 0x0725 ADDWF FARG_oled_wr_str_str, 0
+0x0485 0x0084 MOVWF FSR0
+0x0486 0x3000 MOVLW 0
+0x0487 0x3D26 ADDWFC FARG_oled_wr_str_str+1, 0
+0x0488 0x0085 MOVWF FSR0H
+0x0489 0x0800 MOVF INDF0, 0
+0x048A 0x3A00 XORLW 0
+0x048B 0x1D03 BTFSS STATUS, 2
+0x048C 0x2C8F GOTO L_oled_wr_str25
+0x048D 0x01AA CLRF oled_wr_str_g_L0
+0x048E 0x2C98 GOTO L_oled_wr_str26
+L_oled_wr_str25:
+0x048F 0x0828 MOVF oled_wr_str_i_L0, 0
+0x0490 0x0725 ADDWF FARG_oled_wr_str_str, 0
+0x0491 0x0084 MOVWF FSR0
+0x0492 0x3000 MOVLW 0
+0x0493 0x3D26 ADDWFC FARG_oled_wr_str_str+1, 0
+0x0494 0x0085 MOVWF FSR0H
+0x0495 0x3020 MOVLW 32
+0x0496 0x0200 SUBWF INDF0, 0
+0x0497 0x00AA MOVWF oled_wr_str_g_L0
+L_oled_wr_str26:
+;oled_control.c,148 :: for (h = 0; h <= 4; h++) { // write letter
+0x0498 0x01A9 CLRF oled_wr_str_h_L0
+L_oled_wr_str27:
+0x0499 0x0829 MOVF oled_wr_str_h_L0, 0
+0x049A 0x3C04 SUBLW 4
+0x049B 0x1C03 BTFSS STATUS, 0
+0x049C 0x2D06 GOTO L_oled_wr_str28
+;oled_control.c,149 :: w1 = font_5x8[g*5+h];
+0x049D 0x082A MOVF oled_wr_str_g_L0, 0
+0x049E 0x00F0 MOVWF R0
+0x049F 0x3005 MOVLW 5
+0x04A0 0x00F4 MOVWF R4
+0x04A1 0x21A6 CALL _Mul_8X8_U
+0x04A2 0x0144 MOVLB 4
+0x04A3 0x0829 MOVF oled_wr_str_h_L0, 0
+0x04A4 0x07F0 ADDWF R0, 1
+0x04A5 0x3000 MOVLW 0
+0x04A6 0x3DF1 ADDWFC R1, 1
+0x04A7 0x30FF MOVLW oled_control_font_5x8
+0x04A8 0x0770 ADDWF R0, 0
+0x04A9 0x0084 MOVWF FSR0
+0x04AA 0x309D MOVLW hi_addr(oled_control_font_5x8)
+0x04AB 0x3D71 ADDWFC R1, 0
+0x04AC 0x0085 MOVWF FSR0H
+0x04AD 0x0800 MOVF INDF0, 0
+0x04AE 0x00AB MOVWF oled_wr_str_w1_L0
+;oled_control.c,150 :: if(page != 2) {
+0x04AF 0x0823 MOVF FARG_oled_wr_str_page, 0
+0x04B0 0x3A02 XORLW 2
+0x04B1 0x1903 BTFSC STATUS, 2
+0x04B2 0x2CDC GOTO L_oled_wr_str30
+;oled_control.c,151 :: w2.B7 = w1.B3;
+0x04B3 0x19AB BTFSC oled_wr_str_w1_L0, 3
+0x04B4 0x2CB7 GOTO L__oled_wr_str74
+0x04B5 0x13AC BCF oled_wr_str_w2_L0, 7
+0x04B6 0x2CB8 GOTO L__oled_wr_str75
+L__oled_wr_str74:
+0x04B7 0x17AC BSF oled_wr_str_w2_L0, 7
+L__oled_wr_str75:
+;oled_control.c,152 :: w2.B6 = w1.B3;
+0x04B8 0x19AB BTFSC oled_wr_str_w1_L0, 3
+0x04B9 0x2CBC GOTO L__oled_wr_str76
+0x04BA 0x132C BCF oled_wr_str_w2_L0, 6
+0x04BB 0x2CBD GOTO L__oled_wr_str77
+L__oled_wr_str76:
+0x04BC 0x172C BSF oled_wr_str_w2_L0, 6
+L__oled_wr_str77:
+;oled_control.c,153 :: w2.B5 = w1.B2;
+0x04BD 0x192B BTFSC oled_wr_str_w1_L0, 2
+0x04BE 0x2CC1 GOTO L__oled_wr_str78
+0x04BF 0x12AC BCF oled_wr_str_w2_L0, 5
+0x04C0 0x2CC2 GOTO L__oled_wr_str79
+L__oled_wr_str78:
+0x04C1 0x16AC BSF oled_wr_str_w2_L0, 5
+L__oled_wr_str79:
+;oled_control.c,154 :: w2.B4 = w1.B2;
+0x04C2 0x192B BTFSC oled_wr_str_w1_L0, 2
+0x04C3 0x2CC6 GOTO L__oled_wr_str80
+0x04C4 0x122C BCF oled_wr_str_w2_L0, 4
+0x04C5 0x2CC7 GOTO L__oled_wr_str81
+L__oled_wr_str80:
+0x04C6 0x162C BSF oled_wr_str_w2_L0, 4
+L__oled_wr_str81:
+;oled_control.c,155 :: w2.B3 = w1.B1;
+0x04C7 0x18AB BTFSC oled_wr_str_w1_L0, 1
+0x04C8 0x2CCB GOTO L__oled_wr_str82
+0x04C9 0x11AC BCF oled_wr_str_w2_L0, 3
+0x04CA 0x2CCC GOTO L__oled_wr_str83
+L__oled_wr_str82:
+0x04CB 0x15AC BSF oled_wr_str_w2_L0, 3
+L__oled_wr_str83:
+;oled_control.c,156 :: w2.B2 = w1.B1;
+0x04CC 0x18AB BTFSC oled_wr_str_w1_L0, 1
+0x04CD 0x2CD0 GOTO L__oled_wr_str84
+0x04CE 0x112C BCF oled_wr_str_w2_L0, 2
+0x04CF 0x2CD1 GOTO L__oled_wr_str85
+L__oled_wr_str84:
+0x04D0 0x152C BSF oled_wr_str_w2_L0, 2
+L__oled_wr_str85:
+;oled_control.c,157 :: w2.B1 = w1.B0;
+0x04D1 0x182B BTFSC oled_wr_str_w1_L0, 0
+0x04D2 0x2CD5 GOTO L__oled_wr_str86
+0x04D3 0x10AC BCF oled_wr_str_w2_L0, 1
+0x04D4 0x2CD6 GOTO L__oled_wr_str87
+L__oled_wr_str86:
+0x04D5 0x14AC BSF oled_wr_str_w2_L0, 1
+L__oled_wr_str87:
+;oled_control.c,158 :: w2.B0 = w1.B0; }
+0x04D6 0x182B BTFSC oled_wr_str_w1_L0, 0
+0x04D7 0x2CDA GOTO L__oled_wr_str88
+0x04D8 0x102C BCF oled_wr_str_w2_L0, 0
+0x04D9 0x2CDB GOTO L__oled_wr_str89
+L__oled_wr_str88:
+0x04DA 0x142C BSF oled_wr_str_w2_L0, 0
+L__oled_wr_str89:
+0x04DB 0x2CFC GOTO L_oled_wr_str31
+L_oled_wr_str30:
+;oled_control.c,160 :: w2.B7 = w1.B2;
+0x04DC 0x192B BTFSC oled_wr_str_w1_L0, 2
+0x04DD 0x2CE0 GOTO L__oled_wr_str90
+0x04DE 0x13AC BCF oled_wr_str_w2_L0, 7
+0x04DF 0x2CE1 GOTO L__oled_wr_str91
+L__oled_wr_str90:
+0x04E0 0x17AC BSF oled_wr_str_w2_L0, 7
+L__oled_wr_str91:
+;oled_control.c,161 :: w2.B6 = w1.B2;
+0x04E1 0x192B BTFSC oled_wr_str_w1_L0, 2
+0x04E2 0x2CE5 GOTO L__oled_wr_str92
+0x04E3 0x132C BCF oled_wr_str_w2_L0, 6
+0x04E4 0x2CE6 GOTO L__oled_wr_str93
+L__oled_wr_str92:
+0x04E5 0x172C BSF oled_wr_str_w2_L0, 6
+L__oled_wr_str93:
+;oled_control.c,162 :: w2.B5 = w1.B1;
+0x04E6 0x18AB BTFSC oled_wr_str_w1_L0, 1
+0x04E7 0x2CEA GOTO L__oled_wr_str94
+0x04E8 0x12AC BCF oled_wr_str_w2_L0, 5
+0x04E9 0x2CEB GOTO L__oled_wr_str95
+L__oled_wr_str94:
+0x04EA 0x16AC BSF oled_wr_str_w2_L0, 5
+L__oled_wr_str95:
+;oled_control.c,163 :: w2.B4 = w1.B1;
+0x04EB 0x18AB BTFSC oled_wr_str_w1_L0, 1
+0x04EC 0x2CEF GOTO L__oled_wr_str96
+0x04ED 0x122C BCF oled_wr_str_w2_L0, 4
+0x04EE 0x2CF0 GOTO L__oled_wr_str97
+L__oled_wr_str96:
+0x04EF 0x162C BSF oled_wr_str_w2_L0, 4
+L__oled_wr_str97:
+;oled_control.c,164 :: w2.B3 = w1.B0;
+0x04F0 0x182B BTFSC oled_wr_str_w1_L0, 0
+0x04F1 0x2CF4 GOTO L__oled_wr_str98
+0x04F2 0x11AC BCF oled_wr_str_w2_L0, 3
+0x04F3 0x2CF5 GOTO L__oled_wr_str99
+L__oled_wr_str98:
+0x04F4 0x15AC BSF oled_wr_str_w2_L0, 3
+L__oled_wr_str99:
+;oled_control.c,165 :: w2.B2 = w1.B0;
+0x04F5 0x182B BTFSC oled_wr_str_w1_L0, 0
+0x04F6 0x2CF9 GOTO L__oled_wr_str100
+0x04F7 0x112C BCF oled_wr_str_w2_L0, 2
+0x04F8 0x2CFA GOTO L__oled_wr_str101
+L__oled_wr_str100:
+0x04F9 0x152C BSF oled_wr_str_w2_L0, 2
+L__oled_wr_str101:
+;oled_control.c,166 :: w2.B1 = 0;
+0x04FA 0x10AC BCF oled_wr_str_w2_L0, 1
+;oled_control.c,167 :: w2.B0 = 0;
+0x04FB 0x102C BCF oled_wr_str_w2_L0, 0
+;oled_control.c,168 :: }
+L_oled_wr_str31:
+;oled_control.c,169 :: Soft_I2C_Write(w2);
+0x04FC 0x082C MOVF oled_wr_str_w2_L0, 0
+0x04FD 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x04FE 0x212A CALL _Soft_I2C_Write
+;oled_control.c,170 :: Soft_I2C_Write(w2);
+0x04FF 0x0144 MOVLB 4
+0x0500 0x082C MOVF oled_wr_str_w2_L0, 0
+0x0501 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0502 0x212A CALL _Soft_I2C_Write
+;oled_control.c,148 :: for (h = 0; h <= 4; h++) { // write letter
+0x0503 0x0144 MOVLB 4
+0x0504 0x0AA9 INCF oled_wr_str_h_L0, 1
+;oled_control.c,171 :: }
+0x0505 0x2C99 GOTO L_oled_wr_str27
+L_oled_wr_str28:
+;oled_control.c,172 :: Soft_I2C_Write (0);
+0x0506 0x01B4 CLRF FARG_Soft_I2C_Write_d
+0x0507 0x212A CALL _Soft_I2C_Write
+;oled_control.c,173 :: Soft_I2C_Write (0);
+0x0508 0x0144 MOVLB 4
+0x0509 0x01B4 CLRF FARG_Soft_I2C_Write_d
+0x050A 0x212A CALL _Soft_I2C_Write
+;oled_control.c,146 :: for (i = 0; i < leng; i++) { // write string
+0x050B 0x0144 MOVLB 4
+0x050C 0x0AA8 INCF oled_wr_str_i_L0, 1
+;oled_control.c,174 :: }
+0x050D 0x2C7F GOTO L_oled_wr_str22
+L_oled_wr_str23:
+;oled_control.c,175 :: set_addressing (page+1, col);
+0x050E 0x0A23 INCF FARG_oled_wr_str_page, 0
+0x050F 0x00AD MOVWF FARG_set_addressing_pagenum
+0x0510 0x0824 MOVF FARG_oled_wr_str_col, 0
+0x0511 0x00AE MOVWF FARG_set_addressing_c_start
+0x0512 0x220B CALL _set_addressing
+;oled_control.c,177 :: for (i = 0; i < leng; i++) { // write string
+0x0513 0x0144 MOVLB 4
+0x0514 0x01A8 CLRF oled_wr_str_i_L0
+L_oled_wr_str32:
+0x0515 0x0827 MOVF FARG_oled_wr_str_leng, 0
+0x0516 0x0228 SUBWF oled_wr_str_i_L0, 0
+0x0517 0x1803 BTFSC STATUS, 0
+0x0518 0x2DAC GOTO L_oled_wr_str33
+;oled_control.c,178 :: if (str[i] == 0) g = 0; else g = str[i] - 32; // NULL detection
+0x0519 0x0828 MOVF oled_wr_str_i_L0, 0
+0x051A 0x0725 ADDWF FARG_oled_wr_str_str, 0
+0x051B 0x0084 MOVWF FSR0
+0x051C 0x3000 MOVLW 0
+0x051D 0x3D26 ADDWFC FARG_oled_wr_str_str+1, 0
+0x051E 0x0085 MOVWF FSR0H
+0x051F 0x0800 MOVF INDF0, 0
+0x0520 0x3A00 XORLW 0
+0x0521 0x1D03 BTFSS STATUS, 2
+0x0522 0x2D25 GOTO L_oled_wr_str35
+0x0523 0x01AA CLRF oled_wr_str_g_L0
+0x0524 0x2D2E GOTO L_oled_wr_str36
+L_oled_wr_str35:
+0x0525 0x0828 MOVF oled_wr_str_i_L0, 0
+0x0526 0x0725 ADDWF FARG_oled_wr_str_str, 0
+0x0527 0x0084 MOVWF FSR0
+0x0528 0x3000 MOVLW 0
+0x0529 0x3D26 ADDWFC FARG_oled_wr_str_str+1, 0
+0x052A 0x0085 MOVWF FSR0H
+0x052B 0x3020 MOVLW 32
+0x052C 0x0200 SUBWF INDF0, 0
+0x052D 0x00AA MOVWF oled_wr_str_g_L0
+L_oled_wr_str36:
+;oled_control.c,179 :: for (h = 0; h <= 4; h++) { // write letter
+0x052E 0x01A9 CLRF oled_wr_str_h_L0
+L_oled_wr_str37:
+0x052F 0x0829 MOVF oled_wr_str_h_L0, 0
+0x0530 0x3C04 SUBLW 4
+0x0531 0x1C03 BTFSS STATUS, 0
+0x0532 0x2DA4 GOTO L_oled_wr_str38
+;oled_control.c,180 :: w1 = font_5x8[g*5+h];
+0x0533 0x082A MOVF oled_wr_str_g_L0, 0
+0x0534 0x00F0 MOVWF R0
+0x0535 0x3005 MOVLW 5
+0x0536 0x00F4 MOVWF R4
+0x0537 0x21A6 CALL _Mul_8X8_U
+0x0538 0x0144 MOVLB 4
+0x0539 0x0829 MOVF oled_wr_str_h_L0, 0
+0x053A 0x07F0 ADDWF R0, 1
+0x053B 0x3000 MOVLW 0
+0x053C 0x3DF1 ADDWFC R1, 1
+0x053D 0x30FF MOVLW oled_control_font_5x8
+0x053E 0x0770 ADDWF R0, 0
+0x053F 0x0084 MOVWF FSR0
+0x0540 0x309D MOVLW hi_addr(oled_control_font_5x8)
+0x0541 0x3D71 ADDWFC R1, 0
+0x0542 0x0085 MOVWF FSR0H
+0x0543 0x0800 MOVF INDF0, 0
+0x0544 0x00AB MOVWF oled_wr_str_w1_L0
+;oled_control.c,181 :: if(page != 2) {
+0x0545 0x0823 MOVF FARG_oled_wr_str_page, 0
+0x0546 0x3A02 XORLW 2
+0x0547 0x1903 BTFSC STATUS, 2
+0x0548 0x2D72 GOTO L_oled_wr_str40
+;oled_control.c,182 :: w2.B7 = w1.B7;
+0x0549 0x1BAB BTFSC oled_wr_str_w1_L0, 7
+0x054A 0x2D4D GOTO L__oled_wr_str102
+0x054B 0x13AC BCF oled_wr_str_w2_L0, 7
+0x054C 0x2D4E GOTO L__oled_wr_str103
+L__oled_wr_str102:
+0x054D 0x17AC BSF oled_wr_str_w2_L0, 7
+L__oled_wr_str103:
+;oled_control.c,183 :: w2.B6 = w1.B7;
+0x054E 0x1BAB BTFSC oled_wr_str_w1_L0, 7
+0x054F 0x2D52 GOTO L__oled_wr_str104
+0x0550 0x132C BCF oled_wr_str_w2_L0, 6
+0x0551 0x2D53 GOTO L__oled_wr_str105
+L__oled_wr_str104:
+0x0552 0x172C BSF oled_wr_str_w2_L0, 6
+L__oled_wr_str105:
+;oled_control.c,184 :: w2.B5 = w1.B6;
+0x0553 0x1B2B BTFSC oled_wr_str_w1_L0, 6
+0x0554 0x2D57 GOTO L__oled_wr_str106
+0x0555 0x12AC BCF oled_wr_str_w2_L0, 5
+0x0556 0x2D58 GOTO L__oled_wr_str107
+L__oled_wr_str106:
+0x0557 0x16AC BSF oled_wr_str_w2_L0, 5
+L__oled_wr_str107:
+;oled_control.c,185 :: w2.B4 = w1.B6;
+0x0558 0x1B2B BTFSC oled_wr_str_w1_L0, 6
+0x0559 0x2D5C GOTO L__oled_wr_str108
+0x055A 0x122C BCF oled_wr_str_w2_L0, 4
+0x055B 0x2D5D GOTO L__oled_wr_str109
+L__oled_wr_str108:
+0x055C 0x162C BSF oled_wr_str_w2_L0, 4
+L__oled_wr_str109:
+;oled_control.c,186 :: w2.B3 = w1.B5;
+0x055D 0x1AAB BTFSC oled_wr_str_w1_L0, 5
+0x055E 0x2D61 GOTO L__oled_wr_str110
+0x055F 0x11AC BCF oled_wr_str_w2_L0, 3
+0x0560 0x2D62 GOTO L__oled_wr_str111
+L__oled_wr_str110:
+0x0561 0x15AC BSF oled_wr_str_w2_L0, 3
+L__oled_wr_str111:
+;oled_control.c,187 :: w2.B2 = w1.B5;
+0x0562 0x1AAB BTFSC oled_wr_str_w1_L0, 5
+0x0563 0x2D66 GOTO L__oled_wr_str112
+0x0564 0x112C BCF oled_wr_str_w2_L0, 2
+0x0565 0x2D67 GOTO L__oled_wr_str113
+L__oled_wr_str112:
+0x0566 0x152C BSF oled_wr_str_w2_L0, 2
+L__oled_wr_str113:
+;oled_control.c,188 :: w2.B1 = w1.B4;
+0x0567 0x1A2B BTFSC oled_wr_str_w1_L0, 4
+0x0568 0x2D6B GOTO L__oled_wr_str114
+0x0569 0x10AC BCF oled_wr_str_w2_L0, 1
+0x056A 0x2D6C GOTO L__oled_wr_str115
+L__oled_wr_str114:
+0x056B 0x14AC BSF oled_wr_str_w2_L0, 1
+L__oled_wr_str115:
+;oled_control.c,189 :: w2.B0 = w1.B4; }
+0x056C 0x1A2B BTFSC oled_wr_str_w1_L0, 4
+0x056D 0x2D70 GOTO L__oled_wr_str116
+0x056E 0x102C BCF oled_wr_str_w2_L0, 0
+0x056F 0x2D71 GOTO L__oled_wr_str117
+L__oled_wr_str116:
+0x0570 0x142C BSF oled_wr_str_w2_L0, 0
+L__oled_wr_str117:
+0x0571 0x2D9A GOTO L_oled_wr_str41
+L_oled_wr_str40:
+;oled_control.c,191 :: w2.B7 = w1.B6;
+0x0572 0x1B2B BTFSC oled_wr_str_w1_L0, 6
+0x0573 0x2D76 GOTO L__oled_wr_str118
+0x0574 0x13AC BCF oled_wr_str_w2_L0, 7
+0x0575 0x2D77 GOTO L__oled_wr_str119
+L__oled_wr_str118:
+0x0576 0x17AC BSF oled_wr_str_w2_L0, 7
+L__oled_wr_str119:
+;oled_control.c,192 :: w2.B6 = w1.B6;
+0x0577 0x1B2B BTFSC oled_wr_str_w1_L0, 6
+0x0578 0x2D7B GOTO L__oled_wr_str120
+0x0579 0x132C BCF oled_wr_str_w2_L0, 6
+0x057A 0x2D7C GOTO L__oled_wr_str121
+L__oled_wr_str120:
+0x057B 0x172C BSF oled_wr_str_w2_L0, 6
+L__oled_wr_str121:
+;oled_control.c,193 :: w2.B5 = w1.B5;
+0x057C 0x1AAB BTFSC oled_wr_str_w1_L0, 5
+0x057D 0x2D80 GOTO L__oled_wr_str122
+0x057E 0x12AC BCF oled_wr_str_w2_L0, 5
+0x057F 0x2D81 GOTO L__oled_wr_str123
+L__oled_wr_str122:
+0x0580 0x16AC BSF oled_wr_str_w2_L0, 5
+L__oled_wr_str123:
+;oled_control.c,194 :: w2.B4 = w1.B5;
+0x0581 0x1AAB BTFSC oled_wr_str_w1_L0, 5
+0x0582 0x2D85 GOTO L__oled_wr_str124
+0x0583 0x122C BCF oled_wr_str_w2_L0, 4
+0x0584 0x2D86 GOTO L__oled_wr_str125
+L__oled_wr_str124:
+0x0585 0x162C BSF oled_wr_str_w2_L0, 4
+L__oled_wr_str125:
+;oled_control.c,195 :: w2.B3 = w1.B4;
+0x0586 0x1A2B BTFSC oled_wr_str_w1_L0, 4
+0x0587 0x2D8A GOTO L__oled_wr_str126
+0x0588 0x11AC BCF oled_wr_str_w2_L0, 3
+0x0589 0x2D8B GOTO L__oled_wr_str127
+L__oled_wr_str126:
+0x058A 0x15AC BSF oled_wr_str_w2_L0, 3
+L__oled_wr_str127:
+;oled_control.c,196 :: w2.B2 = w1.B4;
+0x058B 0x1A2B BTFSC oled_wr_str_w1_L0, 4
+0x058C 0x2D8F GOTO L__oled_wr_str128
+0x058D 0x112C BCF oled_wr_str_w2_L0, 2
+0x058E 0x2D90 GOTO L__oled_wr_str129
+L__oled_wr_str128:
+0x058F 0x152C BSF oled_wr_str_w2_L0, 2
+L__oled_wr_str129:
+;oled_control.c,197 :: w2.B1 = w1.B3;
+0x0590 0x19AB BTFSC oled_wr_str_w1_L0, 3
+0x0591 0x2D94 GOTO L__oled_wr_str130
+0x0592 0x10AC BCF oled_wr_str_w2_L0, 1
+0x0593 0x2D95 GOTO L__oled_wr_str131
+L__oled_wr_str130:
+0x0594 0x14AC BSF oled_wr_str_w2_L0, 1
+L__oled_wr_str131:
+;oled_control.c,198 :: w2.B0 = w1.B3;
+0x0595 0x19AB BTFSC oled_wr_str_w1_L0, 3
+0x0596 0x2D99 GOTO L__oled_wr_str132
+0x0597 0x102C BCF oled_wr_str_w2_L0, 0
+0x0598 0x2D9A GOTO L__oled_wr_str133
+L__oled_wr_str132:
+0x0599 0x142C BSF oled_wr_str_w2_L0, 0
+L__oled_wr_str133:
+;oled_control.c,199 :: }
+L_oled_wr_str41:
+;oled_control.c,200 :: Soft_I2C_Write(w2);
+0x059A 0x082C MOVF oled_wr_str_w2_L0, 0
+0x059B 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x059C 0x212A CALL _Soft_I2C_Write
+;oled_control.c,201 :: Soft_I2C_Write(w2);
+0x059D 0x0144 MOVLB 4
+0x059E 0x082C MOVF oled_wr_str_w2_L0, 0
+0x059F 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x05A0 0x212A CALL _Soft_I2C_Write
+;oled_control.c,179 :: for (h = 0; h <= 4; h++) { // write letter
+0x05A1 0x0144 MOVLB 4
+0x05A2 0x0AA9 INCF oled_wr_str_h_L0, 1
+;oled_control.c,202 :: }
+0x05A3 0x2D2F GOTO L_oled_wr_str37
+L_oled_wr_str38:
+;oled_control.c,203 :: Soft_I2C_Write (0);
+0x05A4 0x01B4 CLRF FARG_Soft_I2C_Write_d
+0x05A5 0x212A CALL _Soft_I2C_Write
+;oled_control.c,204 :: Soft_I2C_Write (0);
+0x05A6 0x0144 MOVLB 4
+0x05A7 0x01B4 CLRF FARG_Soft_I2C_Write_d
+0x05A8 0x212A CALL _Soft_I2C_Write
+;oled_control.c,177 :: for (i = 0; i < leng; i++) { // write string
+0x05A9 0x0144 MOVLB 4
+0x05AA 0x0AA8 INCF oled_wr_str_i_L0, 1
+;oled_control.c,205 :: }
+0x05AB 0x2D15 GOTO L_oled_wr_str32
+L_oled_wr_str33:
+;oled_control.c,206 :: Soft_I2C_Stop ();
+0x05AC 0x21F4 CALL _Soft_I2C_Stop
+;oled_control.c,207 :: }
+L_end_oled_wr_str:
+0x05AD 0x0008 RETURN
+; end of _oled_wr_str
+_Greating:
+;main.c,381 :: void Greating(){
+;main.c,382 :: Green = 0;
+0x05AE 0x0140 MOVLB 0
+0x05AF 0x1197 BCF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,383 :: oled_clear();
+0x05B0 0x2449 CALL _oled_clear
+;main.c,384 :: oled_wr_str_s(1, 0, " DESIGNED BY N7DDC", 18);
+0x05B1 0x3001 MOVLW 1
+0x05B2 0x0144 MOVLB 4
+0x05B3 0x00A3 MOVWF FARG_oled_wr_str_s_page
+0x05B4 0x01A4 CLRF FARG_oled_wr_str_s_col
+0x05B5 0x3033 MOVLW ?lstr22_main
+0x05B6 0x00A5 MOVWF FARG_oled_wr_str_s_str
+0x05B7 0x3000 MOVLW hi_addr(?lstr22_main)
+0x05B8 0x00A6 MOVWF FARG_oled_wr_str_s_str+1
+0x05B9 0x3012 MOVLW 18
+0x05BA 0x00A7 MOVWF FARG_oled_wr_str_s_len
+0x05BB 0x237C CALL _oled_wr_str_s
+;main.c,385 :: oled_wr_str_s(3, 0, " FW VERSION ", 12);
+0x05BC 0x3003 MOVLW 3
+0x05BD 0x0144 MOVLB 4
+0x05BE 0x00A3 MOVWF FARG_oled_wr_str_s_page
+0x05BF 0x01A4 CLRF FARG_oled_wr_str_s_col
+0x05C0 0x3046 MOVLW ?lstr23_main
+0x05C1 0x00A5 MOVWF FARG_oled_wr_str_s_str
+0x05C2 0x3000 MOVLW hi_addr(?lstr23_main)
+0x05C3 0x00A6 MOVWF FARG_oled_wr_str_s_str+1
+0x05C4 0x300C MOVLW 12
+0x05C5 0x00A7 MOVWF FARG_oled_wr_str_s_len
+0x05C6 0x237C CALL _oled_wr_str_s
+;main.c,386 :: oled_wr_str_s(3, 12*7, FW_VER, 3);
+0x05C7 0x3003 MOVLW 3
+0x05C8 0x0144 MOVLB 4
+0x05C9 0x00A3 MOVWF FARG_oled_wr_str_s_page
+0x05CA 0x3054 MOVLW 84
+0x05CB 0x00A4 MOVWF FARG_oled_wr_str_s_col
+0x05CC 0x305B MOVLW ?lstr24_main
+0x05CD 0x00A5 MOVWF FARG_oled_wr_str_s_str
+0x05CE 0x3000 MOVLW hi_addr(?lstr24_main)
+0x05CF 0x00A6 MOVWF FARG_oled_wr_str_s_str+1
+0x05D0 0x3003 MOVLW 3
+0x05D1 0x00A7 MOVWF FARG_oled_wr_str_s_len
+0x05D2 0x237C CALL _oled_wr_str_s
+;main.c,387 :: Delay_ms(3000);
+0x05D3 0x307A MOVLW 122
+0x05D4 0x00FB MOVWF R11
+0x05D5 0x30C1 MOVLW 193
+0x05D6 0x00FC MOVWF R12
+0x05D7 0x3081 MOVLW 129
+0x05D8 0x00FD MOVWF R13
+L_Greating96:
+0x05D9 0x0BFD DECFSZ R13, 1
+0x05DA 0x2DD9 GOTO L_Greating96
+0x05DB 0x0BFC DECFSZ R12, 1
+0x05DC 0x2DD9 GOTO L_Greating96
+0x05DD 0x0BFB DECFSZ R11, 1
+0x05DE 0x2DD9 GOTO L_Greating96
+0x05DF 0x0000 NOP
+0x05E0 0x0000 NOP
+;main.c,388 :: while(GetButton) asm NOP;
+L_Greating97:
+0x05E1 0x1A8D BTFSC PORTB, 5
+0x05E2 0x2DE5 GOTO L__Greating291
+0x05E3 0x1403 BSF STATUS, 0
+0x05E4 0x2DE6 GOTO L__Greating292
+L__Greating291:
+0x05E5 0x1003 BCF STATUS, 0
+L__Greating292:
+0x05E6 0x1C03 BTFSS STATUS, 0
+0x05E7 0x2DEA GOTO L_Greating98
+0x05E8 0x0000 NOP
+0x05E9 0x2DE1 GOTO L_Greating97
+L_Greating98:
+;main.c,389 :: Green = 1;
+0x05EA 0x1597 BSF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,390 :: return;
+;main.c,391 :: }
+L_end_Greating:
+0x05EB 0x0008 RETURN
+; end of _Greating
+_oled_bat:
+;oled_control.c,210 :: void oled_bat () {
+;oled_control.c,212 :: Soft_I2C_Start();
+0x05EC 0x2182 CALL _Soft_I2C_Start
+;oled_control.c,213 :: Soft_I2C_Write(oled_addr); // device addres
+0x05ED 0x0141 MOVLB 1
+0x05EE 0x0847 MOVF oled_control_oled_addr, 0
+0x05EF 0x0144 MOVLB 4
+0x05F0 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x05F1 0x212A CALL _Soft_I2C_Write
+;oled_control.c,214 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+0x05F2 0x3040 MOVLW 64
+0x05F3 0x0144 MOVLB 4
+0x05F4 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x05F5 0x212A CALL _Soft_I2C_Write
+;oled_control.c,217 :: for(g=0; g<=3; g++) { // batt drawing
+0x05F6 0x0144 MOVLB 4
+0x05F7 0x01A1 CLRF oled_bat_g_L0
+L_oled_bat42:
+0x05F8 0x0821 MOVF oled_bat_g_L0, 0
+0x05F9 0x3C03 SUBLW 3
+0x05FA 0x1C03 BTFSS STATUS, 0
+0x05FB 0x2E1F GOTO L_oled_bat43
+;oled_control.c,218 :: set_addressing (g, 115);
+0x05FC 0x0821 MOVF oled_bat_g_L0, 0
+0x05FD 0x00AD MOVWF FARG_set_addressing_pagenum
+0x05FE 0x3073 MOVLW 115
+0x05FF 0x00AE MOVWF FARG_set_addressing_c_start
+0x0600 0x220B CALL _set_addressing
+;oled_control.c,219 :: for(i=0; i<=10; i++) { Soft_I2C_Write(batt[g*11+i]); }
+0x0601 0x0144 MOVLB 4
+0x0602 0x01A0 CLRF oled_bat_i_L0
+L_oled_bat45:
+0x0603 0x0820 MOVF oled_bat_i_L0, 0
+0x0604 0x3C0A SUBLW 10
+0x0605 0x1C03 BTFSS STATUS, 0
+0x0606 0x2E1D GOTO L_oled_bat46
+0x0607 0x0821 MOVF oled_bat_g_L0, 0
+0x0608 0x00F0 MOVWF R0
+0x0609 0x300B MOVLW 11
+0x060A 0x00F4 MOVWF R4
+0x060B 0x21A6 CALL _Mul_8X8_U
+0x060C 0x0144 MOVLB 4
+0x060D 0x0820 MOVF oled_bat_i_L0, 0
+0x060E 0x07F0 ADDWF R0, 1
+0x060F 0x3000 MOVLW 0
+0x0610 0x3DF1 ADDWFC R1, 1
+0x0611 0x302D MOVLW oled_control_batt
+0x0612 0x0770 ADDWF R0, 0
+0x0613 0x0084 MOVWF FSR0
+0x0614 0x30A0 MOVLW hi_addr(oled_control_batt)
+0x0615 0x3D71 ADDWFC R1, 0
+0x0616 0x0085 MOVWF FSR0H
+0x0617 0x0800 MOVF INDF0, 0
+0x0618 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0619 0x212A CALL _Soft_I2C_Write
+0x061A 0x0144 MOVLB 4
+0x061B 0x0AA0 INCF oled_bat_i_L0, 1
+0x061C 0x2E03 GOTO L_oled_bat45
+L_oled_bat46:
+;oled_control.c,217 :: for(g=0; g<=3; g++) { // batt drawing
+0x061D 0x0AA1 INCF oled_bat_g_L0, 1
+;oled_control.c,220 :: }
+0x061E 0x2DF8 GOTO L_oled_bat42
+L_oled_bat43:
+;oled_control.c,221 :: Soft_I2C_Stop ();
+0x061F 0x21F4 CALL _Soft_I2C_Stop
+;oled_control.c,222 :: return;
+;oled_control.c,223 :: }
+L_end_oled_bat:
+0x0620 0x0008 RETURN
+; end of _oled_bat
+_Relay_set:
+;main.c,401 :: void Relay_set(char L, char C, char I){
+;main.c,402 :: L_010 = ~L.B0;
+0x0621 0x0144 MOVLB 4
+0x0622 0x1820 BTFSC FARG_Relay_set_L, 0
+0x0623 0x2E27 GOTO L__Relay_set295
+0x0624 0x0140 MOVLB 0
+0x0625 0x1799 BSF LATD7_bit, BitPos(LATD7_bit+0)
+0x0626 0x2E29 GOTO L__Relay_set296
+L__Relay_set295:
+0x0627 0x0140 MOVLB 0
+0x0628 0x1399 BCF LATD7_bit, BitPos(LATD7_bit+0)
+L__Relay_set296:
+;main.c,403 :: L_022 = ~L.B1;
+0x0629 0x0144 MOVLB 4
+0x062A 0x18A0 BTFSC FARG_Relay_set_L, 1
+0x062B 0x2E2F GOTO L__Relay_set297
+0x062C 0x0140 MOVLB 0
+0x062D 0x1719 BSF LATD6_bit, BitPos(LATD6_bit+0)
+0x062E 0x2E31 GOTO L__Relay_set298
+L__Relay_set297:
+0x062F 0x0140 MOVLB 0
+0x0630 0x1319 BCF LATD6_bit, BitPos(LATD6_bit+0)
+L__Relay_set298:
+;main.c,404 :: L_045 = ~L.B2;
+0x0631 0x0144 MOVLB 4
+0x0632 0x1920 BTFSC FARG_Relay_set_L, 2
+0x0633 0x2E37 GOTO L__Relay_set299
+0x0634 0x0140 MOVLB 0
+0x0635 0x1699 BSF LATD5_bit, BitPos(LATD5_bit+0)
+0x0636 0x2E39 GOTO L__Relay_set300
+L__Relay_set299:
+0x0637 0x0140 MOVLB 0
+0x0638 0x1299 BCF LATD5_bit, BitPos(LATD5_bit+0)
+L__Relay_set300:
+;main.c,405 :: L_100 = ~L.B3;
+0x0639 0x0144 MOVLB 4
+0x063A 0x19A0 BTFSC FARG_Relay_set_L, 3
+0x063B 0x2E3F GOTO L__Relay_set301
+0x063C 0x0140 MOVLB 0
+0x063D 0x1619 BSF LATD4_bit, BitPos(LATD4_bit+0)
+0x063E 0x2E41 GOTO L__Relay_set302
+L__Relay_set301:
+0x063F 0x0140 MOVLB 0
+0x0640 0x1219 BCF LATD4_bit, BitPos(LATD4_bit+0)
+L__Relay_set302:
+;main.c,406 :: L_220 = ~L.B4;
+0x0641 0x0144 MOVLB 4
+0x0642 0x1A20 BTFSC FARG_Relay_set_L, 4
+0x0643 0x2E47 GOTO L__Relay_set303
+0x0644 0x0140 MOVLB 0
+0x0645 0x1798 BSF LATC7_bit, BitPos(LATC7_bit+0)
+0x0646 0x2E49 GOTO L__Relay_set304
+L__Relay_set303:
+0x0647 0x0140 MOVLB 0
+0x0648 0x1398 BCF LATC7_bit, BitPos(LATC7_bit+0)
+L__Relay_set304:
+;main.c,407 :: L_450 = ~L.B5;
+0x0649 0x0144 MOVLB 4
+0x064A 0x1AA0 BTFSC FARG_Relay_set_L, 5
+0x064B 0x2E4F GOTO L__Relay_set305
+0x064C 0x0140 MOVLB 0
+0x064D 0x1718 BSF LATC6_bit, BitPos(LATC6_bit+0)
+0x064E 0x2E51 GOTO L__Relay_set306
+L__Relay_set305:
+0x064F 0x0140 MOVLB 0
+0x0650 0x1318 BCF LATC6_bit, BitPos(LATC6_bit+0)
+L__Relay_set306:
+;main.c,408 :: L_1000 = ~L.B6;
+0x0651 0x0144 MOVLB 4
+0x0652 0x1B20 BTFSC FARG_Relay_set_L, 6
+0x0653 0x2E57 GOTO L__Relay_set307
+0x0654 0x0140 MOVLB 0
+0x0655 0x1698 BSF LATC5_bit, BitPos(LATC5_bit+0)
+0x0656 0x2E59 GOTO L__Relay_set308
+L__Relay_set307:
+0x0657 0x0140 MOVLB 0
+0x0658 0x1298 BCF LATC5_bit, BitPos(LATC5_bit+0)
+L__Relay_set308:
+;main.c,410 :: C_22 = ~C.B0;
+0x0659 0x0144 MOVLB 4
+0x065A 0x1821 BTFSC FARG_Relay_set_C, 0
+0x065B 0x2E5F GOTO L__Relay_set309
+0x065C 0x0140 MOVLB 0
+0x065D 0x1696 BSF LATA5_bit, BitPos(LATA5_bit+0)
+0x065E 0x2E61 GOTO L__Relay_set310
+L__Relay_set309:
+0x065F 0x0140 MOVLB 0
+0x0660 0x1296 BCF LATA5_bit, BitPos(LATA5_bit+0)
+L__Relay_set310:
+;main.c,411 :: C_47 = ~C.B1;
+0x0661 0x0144 MOVLB 4
+0x0662 0x18A1 BTFSC FARG_Relay_set_C, 1
+0x0663 0x2E67 GOTO L__Relay_set311
+0x0664 0x0140 MOVLB 0
+0x0665 0x149A BSF LATE1_bit, BitPos(LATE1_bit+0)
+0x0666 0x2E69 GOTO L__Relay_set312
+L__Relay_set311:
+0x0667 0x0140 MOVLB 0
+0x0668 0x109A BCF LATE1_bit, BitPos(LATE1_bit+0)
+L__Relay_set312:
+;main.c,412 :: C_100 = ~C.B2;
+0x0669 0x0144 MOVLB 4
+0x066A 0x1921 BTFSC FARG_Relay_set_C, 2
+0x066B 0x2E6F GOTO L__Relay_set313
+0x066C 0x0140 MOVLB 0
+0x066D 0x1796 BSF LATA7_bit, BitPos(LATA7_bit+0)
+0x066E 0x2E71 GOTO L__Relay_set314
+L__Relay_set313:
+0x066F 0x0140 MOVLB 0
+0x0670 0x1396 BCF LATA7_bit, BitPos(LATA7_bit+0)
+L__Relay_set314:
+;main.c,413 :: C_220 = ~C.B3;
+0x0671 0x0144 MOVLB 4
+0x0672 0x19A1 BTFSC FARG_Relay_set_C, 3
+0x0673 0x2E77 GOTO L__Relay_set315
+0x0674 0x0140 MOVLB 0
+0x0675 0x1716 BSF LATA6_bit, BitPos(LATA6_bit+0)
+0x0676 0x2E79 GOTO L__Relay_set316
+L__Relay_set315:
+0x0677 0x0140 MOVLB 0
+0x0678 0x1316 BCF LATA6_bit, BitPos(LATA6_bit+0)
+L__Relay_set316:
+;main.c,414 :: C_470 = ~C.B4;
+0x0679 0x0144 MOVLB 4
+0x067A 0x1A21 BTFSC FARG_Relay_set_C, 4
+0x067B 0x2E7F GOTO L__Relay_set317
+0x067C 0x0140 MOVLB 0
+0x067D 0x1418 BSF LATC0_bit, BitPos(LATC0_bit+0)
+0x067E 0x2E81 GOTO L__Relay_set318
+L__Relay_set317:
+0x067F 0x0140 MOVLB 0
+0x0680 0x1018 BCF LATC0_bit, BitPos(LATC0_bit+0)
+L__Relay_set318:
+;main.c,415 :: C_1000 = ~C.B5;
+0x0681 0x0144 MOVLB 4
+0x0682 0x1AA1 BTFSC FARG_Relay_set_C, 5
+0x0683 0x2E87 GOTO L__Relay_set319
+0x0684 0x0140 MOVLB 0
+0x0685 0x1498 BSF LATC1_bit, BitPos(LATC1_bit+0)
+0x0686 0x2E89 GOTO L__Relay_set320
+L__Relay_set319:
+0x0687 0x0140 MOVLB 0
+0x0688 0x1098 BCF LATC1_bit, BitPos(LATC1_bit+0)
+L__Relay_set320:
+;main.c,416 :: C_2200 = ~C.B6;
+0x0689 0x0144 MOVLB 4
+0x068A 0x1B21 BTFSC FARG_Relay_set_C, 6
+0x068B 0x2E8F GOTO L__Relay_set321
+0x068C 0x0140 MOVLB 0
+0x068D 0x1518 BSF LATC2_bit, BitPos(LATC2_bit+0)
+0x068E 0x2E91 GOTO L__Relay_set322
+L__Relay_set321:
+0x068F 0x0140 MOVLB 0
+0x0690 0x1118 BCF LATC2_bit, BitPos(LATC2_bit+0)
+L__Relay_set322:
+;main.c,418 :: C_sw = I;
+0x0691 0x0144 MOVLB 4
+0x0692 0x1822 BTFSC FARG_Relay_set_I, 0
+0x0693 0x2E97 GOTO L__Relay_set323
+0x0694 0x0140 MOVLB 0
+0x0695 0x101A BCF LATE0_bit, BitPos(LATE0_bit+0)
+0x0696 0x2E99 GOTO L__Relay_set324
+L__Relay_set323:
+0x0697 0x0140 MOVLB 0
+0x0698 0x141A BSF LATE0_bit, BitPos(LATE0_bit+0)
+L__Relay_set324:
+;main.c,420 :: Rel_to_gnd = 1;
+0x0699 0x1599 BSF LATD3_bit, BitPos(LATD3_bit+0)
+;main.c,421 :: Vdelay_ms(rldl);
+0x069A 0x0143 MOVLB 3
+0x069B 0x0825 MOVF _rldl, 0
+0x069C 0x0144 MOVLB 4
+0x069D 0x00A3 MOVWF FARG_VDelay_ms_Time_ms
+0x069E 0x0143 MOVLB 3
+0x069F 0x0826 MOVF _rldl+1, 0
+0x06A0 0x0144 MOVLB 4
+0x06A1 0x00A4 MOVWF FARG_VDelay_ms_Time_ms+1
+0x06A2 0x2300 CALL _VDelay_ms
+;main.c,422 :: Rel_to_gnd = 0;
+0x06A3 0x0140 MOVLB 0
+0x06A4 0x1199 BCF LATD3_bit, BitPos(LATD3_bit+0)
+;main.c,423 :: Delay_us(10);
+0x06A5 0x301A MOVLW 26
+0x06A6 0x00FD MOVWF R13
+L_Relay_set99:
+0x06A7 0x0BFD DECFSZ R13, 1
+0x06A8 0x2EA7 GOTO L_Relay_set99
+0x06A9 0x0000 NOP
+;main.c,424 :: Rel_to_plus_N = 0;
+0x06AA 0x1218 BCF LATC4_bit, BitPos(LATC4_bit+0)
+;main.c,425 :: Vdelay_ms(rldl);
+0x06AB 0x0143 MOVLB 3
+0x06AC 0x0825 MOVF _rldl, 0
+0x06AD 0x0144 MOVLB 4
+0x06AE 0x00A3 MOVWF FARG_VDelay_ms_Time_ms
+0x06AF 0x0143 MOVLB 3
+0x06B0 0x0826 MOVF _rldl+1, 0
+0x06B1 0x0144 MOVLB 4
+0x06B2 0x00A4 MOVWF FARG_VDelay_ms_Time_ms+1
+0x06B3 0x2300 CALL _VDelay_ms
+;main.c,426 :: Rel_to_plus_N = 1;
+0x06B4 0x0140 MOVLB 0
+0x06B5 0x1618 BSF LATC4_bit, BitPos(LATC4_bit+0)
+;main.c,427 :: Vdelay_ms(rldl);
+0x06B6 0x0143 MOVLB 3
+0x06B7 0x0825 MOVF _rldl, 0
+0x06B8 0x0144 MOVLB 4
+0x06B9 0x00A3 MOVWF FARG_VDelay_ms_Time_ms
+0x06BA 0x0143 MOVLB 3
+0x06BB 0x0826 MOVF _rldl+1, 0
+0x06BC 0x0144 MOVLB 4
+0x06BD 0x00A4 MOVWF FARG_VDelay_ms_Time_ms+1
+0x06BE 0x2300 CALL _VDelay_ms
+;main.c,429 :: L_010 = 0;
+0x06BF 0x0140 MOVLB 0
+0x06C0 0x1399 BCF LATD7_bit, BitPos(LATD7_bit+0)
+;main.c,430 :: L_022 = 0;
+0x06C1 0x1319 BCF LATD6_bit, BitPos(LATD6_bit+0)
+;main.c,431 :: L_045 = 0;
+0x06C2 0x1299 BCF LATD5_bit, BitPos(LATD5_bit+0)
+;main.c,432 :: L_100 = 0;
+0x06C3 0x1219 BCF LATD4_bit, BitPos(LATD4_bit+0)
+;main.c,433 :: L_220 = 0;
+0x06C4 0x1398 BCF LATC7_bit, BitPos(LATC7_bit+0)
+;main.c,434 :: L_450 = 0;
+0x06C5 0x1318 BCF LATC6_bit, BitPos(LATC6_bit+0)
+;main.c,435 :: L_1000 = 0;
+0x06C6 0x1298 BCF LATC5_bit, BitPos(LATC5_bit+0)
+;main.c,437 :: C_22 = 0;
+0x06C7 0x1296 BCF LATA5_bit, BitPos(LATA5_bit+0)
+;main.c,438 :: C_47 = 0;
+0x06C8 0x109A BCF LATE1_bit, BitPos(LATE1_bit+0)
+;main.c,439 :: C_100 = 0;
+0x06C9 0x1396 BCF LATA7_bit, BitPos(LATA7_bit+0)
+;main.c,440 :: C_220 = 0;
+0x06CA 0x1316 BCF LATA6_bit, BitPos(LATA6_bit+0)
+;main.c,441 :: C_470 = 0;
+0x06CB 0x1018 BCF LATC0_bit, BitPos(LATC0_bit+0)
+;main.c,442 :: C_1000 = 0;
+0x06CC 0x1098 BCF LATC1_bit, BitPos(LATC1_bit+0)
+;main.c,443 :: C_2200 = 0;
+0x06CD 0x1118 BCF LATC2_bit, BitPos(LATC2_bit+0)
+;main.c,445 :: C_sw = 0;
+0x06CE 0x101A BCF LATE0_bit, BitPos(LATE0_bit+0)
+;main.c,446 :: return;
+;main.c,447 :: }
+L_end_Relay_set:
+0x06CF 0x0008 RETURN
+; end of _Relay_set
+_Soft_I2C_Init:
+;Soft_I2C.c,12 :: void Soft_I2C_Init(void) {
+;Soft_I2C.c,13 :: Soft_I2C_Stop();
+0x06D0 0x21F4 CALL _Soft_I2C_Stop
+;Soft_I2C.c,14 :: return;
+;Soft_I2C.c,15 :: }
+L_end_Soft_I2C_Init:
+0x06D1 0x0008 RETURN
+; end of _Soft_I2C_Init
+_draw_swr:
+;main.c,243 :: void draw_swr(unsigned int s){
+;main.c,244 :: if(s==0)
+0x06D2 0x3000 MOVLW 0
+0x06D3 0x0144 MOVLB 4
+0x06D4 0x0621 XORWF FARG_draw_swr_s+1, 0
+0x06D5 0x1D03 BTFSS STATUS, 2
+0x06D6 0x2ED9 GOTO L__draw_swr276
+0x06D7 0x3000 MOVLW 0
+0x06D8 0x0620 XORWF FARG_draw_swr_s, 0
+L__draw_swr276:
+0x06D9 0x1D03 BTFSS STATUS, 2
+0x06DA 0x2EE7 GOTO L_draw_swr75
+;main.c,245 :: oled_wr_str(2, 60, "0.00", 4);
+0x06DB 0x3002 MOVLW 2
+0x06DC 0x00A3 MOVWF FARG_oled_wr_str_page
+0x06DD 0x303C MOVLW 60
+0x06DE 0x00A4 MOVWF FARG_oled_wr_str_col
+0x06DF 0x302A MOVLW ?lstr11_main
+0x06E0 0x00A5 MOVWF FARG_oled_wr_str_str
+0x06E1 0x3001 MOVLW hi_addr(?lstr11_main)
+0x06E2 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x06E3 0x3004 MOVLW 4
+0x06E4 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x06E5 0x246D CALL _oled_wr_str
+0x06E6 0x2F06 GOTO L_draw_swr76
+L_draw_swr75:
+;main.c,247 :: IntToStr(s, txt_2);
+0x06E7 0x0144 MOVLB 4
+0x06E8 0x0820 MOVF FARG_draw_swr_s, 0
+0x06E9 0x00A3 MOVWF FARG_IntToStr_input
+0x06EA 0x0821 MOVF FARG_draw_swr_s+1, 0
+0x06EB 0x00A4 MOVWF FARG_IntToStr_input+1
+0x06EC 0x30AB MOVLW _txt_2
+0x06ED 0x00A5 MOVWF FARG_IntToStr_output
+0x06EE 0x3001 MOVLW hi_addr(_txt_2)
+0x06EF 0x00A6 MOVWF FARG_IntToStr_output+1
+0x06F0 0x23B3 CALL _IntToStr
+;main.c,248 :: txt[0] = txt_2[3];
+0x06F1 0x0143 MOVLB 3
+0x06F2 0x082E MOVF _txt_2+3, 0
+0x06F3 0x00B3 MOVWF _txt
+;main.c,249 :: txt[1] = '.';
+0x06F4 0x302E MOVLW 46
+0x06F5 0x00B4 MOVWF _txt+1
+;main.c,250 :: txt[2] = txt_2[4];
+0x06F6 0x082F MOVF _txt_2+4, 0
+0x06F7 0x00B5 MOVWF _txt+2
+;main.c,251 :: txt[3] = txt_2[5];
+0x06F8 0x0830 MOVF _txt_2+5, 0
+0x06F9 0x00B6 MOVWF _txt+3
+;main.c,253 :: oled_wr_str(2, 60, txt, 4);
+0x06FA 0x3002 MOVLW 2
+0x06FB 0x0144 MOVLB 4
+0x06FC 0x00A3 MOVWF FARG_oled_wr_str_page
+0x06FD 0x303C MOVLW 60
+0x06FE 0x00A4 MOVWF FARG_oled_wr_str_col
+0x06FF 0x30B3 MOVLW _txt
+0x0700 0x00A5 MOVWF FARG_oled_wr_str_str
+0x0701 0x3001 MOVLW hi_addr(_txt)
+0x0702 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x0703 0x3004 MOVLW 4
+0x0704 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x0705 0x246D CALL _oled_wr_str
+;main.c,254 :: }
+L_draw_swr76:
+;main.c,255 :: return;
+;main.c,256 :: }
+L_end_draw_swr:
+0x0706 0x0008 RETURN
+; end of _draw_swr
+_get_batt:
+;main.c,642 :: void get_batt(void){
+;main.c,643 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH1);
+0x0707 0x3043 MOVLW 67
+0x0708 0x0144 MOVLB 4
+0x0709 0x00A3 MOVWF FARG_ADC_Init_Advanced_reference
+0x070A 0x2297 CALL _ADC_Init_Advanced
+;main.c,644 :: Delay_us(100);
+0x070B 0x3002 MOVLW 2
+0x070C 0x00FC MOVWF R12
+0x070D 0x3008 MOVLW 8
+0x070E 0x00FD MOVWF R13
+L_get_batt159:
+0x070F 0x0BFD DECFSZ R13, 1
+0x0710 0x2F0F GOTO L_get_batt159
+0x0711 0x0BFC DECFSZ R12, 1
+0x0712 0x2F0F GOTO L_get_batt159
+0x0713 0x0000 NOP
+;main.c,645 :: Voltage = ADC_Get_Sample(Battery_input) * 11;
+0x0714 0x3009 MOVLW 9
+0x0715 0x0144 MOVLB 4
+0x0716 0x00A3 MOVWF FARG_ADC_Get_Sample_channel
+0x0717 0x236C CALL _ADC_Get_Sample
+0x0718 0x300B MOVLW 11
+0x0719 0x00F4 MOVWF R4
+0x071A 0x3000 MOVLW 0
+0x071B 0x00F5 MOVWF R5
+0x071C 0x22D2 CALL _Mul_16X16_U
+0x071D 0x0870 MOVF R0, 0
+0x071E 0x0143 MOVLB 3
+0x071F 0x00A9 MOVWF _Voltage
+0x0720 0x0871 MOVF R1, 0
+0x0721 0x00AA MOVWF _Voltage+1
+;main.c,646 :: return;
+;main.c,647 :: }
+L_end_get_batt:
+0x0722 0x0008 RETURN
+; end of _get_batt
+_SETFDZ32:
+;__Lib_MathDouble.c,102 ::
+;__Lib_MathDouble.c,105 ::
+0x0723 0x15FB BSF R11, 3
+;__Lib_MathDouble.c,106 ::
+0x0724 0x30FF MOVLW 255
+;__Lib_MathDouble.c,108 ::
+L_end_SETFDZ32:
+0x0725 0x0008 RETURN
+; end of _SETFDZ32
+_NRM4032:
+;__Lib_MathDouble.c,245 ::
+;__Lib_MathDouble.c,252 ::
+;__Lib_MathDouble.c,254 ::
+0x0726 0x187C BTFSC R12, 0
+;__Lib_MathDouble.c,255 ::
+0x0727 0x2F5C GOTO NRMRND4032
+;__Lib_MathDouble.c,256 ::
+0x0728 0x18FC BTFSC R12, 1
+;__Lib_MathDouble.c,257 ::
+0x0729 0x2F2D GOTO NRM4032
+;__Lib_MathDouble.c,258 ::
+0x072A 0x197C BTFSC R12, 2
+;__Lib_MathDouble.c,259 ::
+0x072B 0x2F7B GOTO JMPSETFOV32
+;__Lib_MathDouble.c,260 ::
+0x072C 0x2F26 GOTO $-6
+;__Lib_MathDouble.c,261 ::
+NRM4032:
+;__Lib_MathDouble.c,262 ::
+0x072D 0x01A1 CLRF __math_tempbD
+;__Lib_MathDouble.c,263 ::
+0x072E 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,264 ::
+0x072F 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,265 ::
+0x0730 0x2F4D GOTO NORM4032
+;__Lib_MathDouble.c,266 ::
+0x0731 0x0871 MOVF R1, 0
+;__Lib_MathDouble.c,267 ::
+0x0732 0x00F2 MOVWF R2
+;__Lib_MathDouble.c,268 ::
+0x0733 0x0870 MOVF R0, 0
+;__Lib_MathDouble.c,269 ::
+0x0734 0x00F1 MOVWF R1
+;__Lib_MathDouble.c,270 ::
+0x0735 0x0878 MOVF R8, 0
+;__Lib_MathDouble.c,271 ::
+0x0736 0x00F0 MOVWF R0
+;__Lib_MathDouble.c,272 ::
+0x0737 0x01F8 CLRF R8
+;__Lib_MathDouble.c,273 ::
+0x0738 0x15A1 BSF __math_tempbD, 3
+;__Lib_MathDouble.c,275 ::
+0x0739 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,276 ::
+0x073A 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,277 ::
+0x073B 0x2F4D GOTO NORM4032
+;__Lib_MathDouble.c,278 ::
+0x073C 0x0871 MOVF R1, 0
+;__Lib_MathDouble.c,279 ::
+0x073D 0x00F2 MOVWF R2
+;__Lib_MathDouble.c,280 ::
+0x073E 0x0870 MOVF R0, 0
+;__Lib_MathDouble.c,281 ::
+0x073F 0x00F1 MOVWF R1
+;__Lib_MathDouble.c,282 ::
+0x0740 0x01F0 CLRF R0
+;__Lib_MathDouble.c,283 ::
+0x0741 0x11A1 BCF __math_tempbD, 3
+;__Lib_MathDouble.c,284 ::
+0x0742 0x1621 BSF __math_tempbD, 4
+;__Lib_MathDouble.c,286 ::
+0x0743 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,287 ::
+0x0744 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,288 ::
+0x0745 0x2F4D GOTO NORM4032
+;__Lib_MathDouble.c,289 ::
+0x0746 0x0871 MOVF R1, 0
+;__Lib_MathDouble.c,290 ::
+0x0747 0x00F2 MOVWF R2
+;__Lib_MathDouble.c,291 ::
+0x0748 0x01F1 CLRF R1
+;__Lib_MathDouble.c,292 ::
+0x0749 0x15A1 BSF __math_tempbD, 3
+;__Lib_MathDouble.c,294 ::
+0x074A 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,295 ::
+0x074B 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,296 ::
+0x074C 0x2F6F GOTO JMPRES032
+;__Lib_MathDouble.c,297 ::
+NORM4032:
+;__Lib_MathDouble.c,298 ::
+0x074D 0x0821 MOVF __math_tempbD, 0
+;__Lib_MathDouble.c,299 ::
+0x074E 0x02F3 SUBWF R3, 1
+;__Lib_MathDouble.c,300 ::
+0x074F 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,301 ::
+0x0750 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,302 ::
+0x0751 0x2F73 GOTO JMPSETFUN32
+;__Lib_MathDouble.c,303 ::
+0x0752 0x1003 BCF STATUS, 0
+;__Lib_MathDouble.c,304 ::
+NORM4032A:
+;__Lib_MathDouble.c,305 ::
+0x0753 0x1BF2 BTFSC R2, 7
+;__Lib_MathDouble.c,306 ::
+0x0754 0x2F5C GOTO NRMRND4032
+;__Lib_MathDouble.c,307 ::
+0x0755 0x0DF8 RLF R8, 1
+;__Lib_MathDouble.c,308 ::
+0x0756 0x0DF0 RLF R0, 1
+;__Lib_MathDouble.c,309 ::
+0x0757 0x0DF1 RLF R1, 1
+;__Lib_MathDouble.c,310 ::
+0x0758 0x0DF2 RLF R2, 1
+;__Lib_MathDouble.c,311 ::
+0x0759 0x0BF3 DECFSZ R3, 1
+;__Lib_MathDouble.c,312 ::
+0x075A 0x2F53 GOTO NORM4032A
+;__Lib_MathDouble.c,313 ::
+0x075B 0x2F73 GOTO JMPSETFUN32
+;__Lib_MathDouble.c,314 ::
+NRMRND4032:
+;__Lib_MathDouble.c,315 ::
+0x075C 0x1B7B BTFSC R11, 6
+;__Lib_MathDouble.c,316 ::
+0x075D 0x1C70 BTFSS R0, 0
+;__Lib_MathDouble.c,317 ::
+0x075E 0x2F77 GOTO JMPFIXSIGN32
+;__Lib_MathDouble.c,318 ::
+0x075F 0x1FF8 BTFSS R8, 7
+;__Lib_MathDouble.c,319 ::
+0x0760 0x2F77 GOTO JMPFIXSIGN32
+;__Lib_MathDouble.c,320 ::
+0x0761 0x0AF0 INCF R0, 1
+;__Lib_MathDouble.c,321 ::
+0x0762 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,322 ::
+0x0763 0x0AF1 INCF R1, 1
+;__Lib_MathDouble.c,323 ::
+0x0764 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,324 ::
+0x0765 0x0AF2 INCF R2, 1
+;__Lib_MathDouble.c,325 ::
+0x0766 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,326 ::
+0x0767 0x2F77 GOTO JMPFIXSIGN32
+;__Lib_MathDouble.c,327 ::
+0x0768 0x0CF2 RRF R2, 1
+;__Lib_MathDouble.c,328 ::
+0x0769 0x0CF1 RRF R1, 1
+;__Lib_MathDouble.c,329 ::
+0x076A 0x0CF0 RRF R0, 1
+;__Lib_MathDouble.c,330 ::
+0x076B 0x0AF3 INCF R3, 1
+;__Lib_MathDouble.c,331 ::
+0x076C 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,332 ::
+0x076D 0x2F7B GOTO JMPSETFOV32
+;__Lib_MathDouble.c,333 ::
+0x076E 0x2F77 GOTO JMPFIXSIGN32
+;__Lib_MathDouble.c,334 ::
+JMPRES032:
+;__Lib_MathDouble.c,335 ::
+0x076F 0x3001 MOVLW 1
+;__Lib_MathDouble.c,336 ::
+0x0770 0x00FC MOVWF R12
+;__Lib_MathDouble.c,338 ::
+0x0771 0x2426 CALL _RES032
+;__Lib_MathDouble.c,340 ::
+0x0772 0x2F7E GOTO NRM4032EEE
+;__Lib_MathDouble.c,341 ::
+JMPSETFUN32:
+;__Lib_MathDouble.c,342 ::
+0x0773 0x3002 MOVLW 2
+;__Lib_MathDouble.c,343 ::
+0x0774 0x00FC MOVWF R12
+;__Lib_MathDouble.c,345 ::
+0x0775 0x2360 CALL _SETFUN32
+;__Lib_MathDouble.c,347 ::
+0x0776 0x2F7E GOTO NRM4032EEE
+;__Lib_MathDouble.c,348 ::
+JMPFIXSIGN32:
+;__Lib_MathDouble.c,349 ::
+0x0777 0x3004 MOVLW 4
+;__Lib_MathDouble.c,350 ::
+0x0778 0x00FC MOVWF R12
+;__Lib_MathDouble.c,352 ::
+0x0779 0x22FC CALL _FIXSIGN32
+;__Lib_MathDouble.c,354 ::
+0x077A 0x2F7E GOTO NRM4032EEE
+;__Lib_MathDouble.c,355 ::
+JMPSETFOV32:
+;__Lib_MathDouble.c,356 ::
+0x077B 0x3008 MOVLW 8
+;__Lib_MathDouble.c,357 ::
+0x077C 0x00FC MOVWF R12
+;__Lib_MathDouble.c,359 ::
+0x077D 0x243D CALL _SETFOV32
+;__Lib_MathDouble.c,361 ::
+NRM4032EEE:
+;__Lib_MathDouble.c,362 ::
+0x077E 0x0000 NOP
+;__Lib_MathDouble.c,370 ::
+L_end_NRM4032:
+0x077F 0x0008 RETURN
+; end of _NRM4032
+_SETIOV3224:
+;__Lib_MathDouble.c,996 ::
+;__Lib_MathDouble.c,1002 ::
+0x0780 0x147B BSF R11, 0
+;__Lib_MathDouble.c,1003 ::
+0x0781 0x1FFB BTFSS R11, 7
+;__Lib_MathDouble.c,1004 ::
+0x0782 0x2F8B GOTO SETIOV3224EEE
+;__Lib_MathDouble.c,1006 ::
+0x0783 0x01F2 CLRF R2
+;__Lib_MathDouble.c,1007 ::
+0x0784 0x1FFA BTFSS R10, 7
+;__Lib_MathDouble.c,1008 ::
+0x0785 0x30FF MOVLW 255
+;__Lib_MathDouble.c,1009 ::
+0x0786 0x00F2 MOVWF R2
+;__Lib_MathDouble.c,1010 ::
+0x0787 0x00F1 MOVWF R1
+;__Lib_MathDouble.c,1011 ::
+0x0788 0x00F0 MOVWF R0
+;__Lib_MathDouble.c,1012 ::
+0x0789 0x0DFA RLF R10, 1
+;__Lib_MathDouble.c,1013 ::
+0x078A 0x0CF2 RRF R2, 1
+;__Lib_MathDouble.c,1014 ::
+SETIOV3224EEE:
+;__Lib_MathDouble.c,1015 ::
+0x078B 0x30FF MOVLW 255
+;__Lib_MathDouble.c,1017 ::
+L_end_SETIOV3224:
+0x078C 0x0008 RETURN
+; end of _SETIOV3224
+_COMFREM:
+;__Lib_Math.c,1060 ::
+;__Lib_Math.c,1064 ::
+0x078D 0x09FB COMF R11, 1
+;__Lib_Math.c,1065 ::
+0x078E 0x09FA COMF R10, 1
+;__Lib_Math.c,1066 ::
+0x078F 0x09F9 COMF R9, 1
+;__Lib_Math.c,1067 ::
+0x0790 0x09F8 COMF R8, 1
+;__Lib_Math.c,1068 ::
+0x0791 0x0AF8 INCF R8, 1
+;__Lib_Math.c,1069 ::
+0x0792 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1070 ::
+0x0793 0x0AF9 INCF R9, 1
+;__Lib_Math.c,1071 ::
+0x0794 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1072 ::
+0x0795 0x0AFA INCF R10, 1
+;__Lib_Math.c,1073 ::
+0x0796 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1074 ::
+0x0797 0x0AFB INCF R11, 1
+;__Lib_Math.c,1076 ::
+L_end_COMFREM:
+0x0798 0x0008 RETURN
+; end of _COMFREM
+_NRM3232:
+;__Lib_MathDouble.c,167 ::
+;__Lib_MathDouble.c,173 ::
+;__Lib_MathDouble.c,175 ::
+0x0799 0x01A1 CLRF __math_tempbD
+;__Lib_MathDouble.c,176 ::
+0x079A 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,177 ::
+0x079B 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,178 ::
+0x079C 0x2FAE GOTO NORM3232
+;__Lib_MathDouble.c,179 ::
+0x079D 0x0871 MOVF R1, 0
+;__Lib_MathDouble.c,180 ::
+0x079E 0x00F2 MOVWF R2
+;__Lib_MathDouble.c,181 ::
+0x079F 0x0870 MOVF R0, 0
+;__Lib_MathDouble.c,182 ::
+0x07A0 0x00F1 MOVWF R1
+;__Lib_MathDouble.c,183 ::
+0x07A1 0x01F0 CLRF R0
+;__Lib_MathDouble.c,184 ::
+0x07A2 0x15A1 BSF __math_tempbD, 3
+;__Lib_MathDouble.c,186 ::
+0x07A3 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,187 ::
+0x07A4 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,188 ::
+0x07A5 0x2FAE GOTO NORM3232
+;__Lib_MathDouble.c,189 ::
+0x07A6 0x0871 MOVF R1, 0
+;__Lib_MathDouble.c,190 ::
+0x07A7 0x00F2 MOVWF R2
+;__Lib_MathDouble.c,191 ::
+0x07A8 0x01F1 CLRF R1
+;__Lib_MathDouble.c,192 ::
+0x07A9 0x11A1 BCF __math_tempbD, 3
+;__Lib_MathDouble.c,193 ::
+0x07AA 0x1621 BSF __math_tempbD, 4
+;__Lib_MathDouble.c,195 ::
+0x07AB 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,196 ::
+0x07AC 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,197 ::
+0x07AD 0x2FBC GOTO JPNRES032
+;__Lib_MathDouble.c,198 ::
+NORM3232:
+;__Lib_MathDouble.c,199 ::
+0x07AE 0x0821 MOVF __math_tempbD, 0
+;__Lib_MathDouble.c,200 ::
+0x07AF 0x02F3 SUBWF R3, 1
+;__Lib_MathDouble.c,201 ::
+0x07B0 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,202 ::
+0x07B1 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,203 ::
+0x07B2 0x2FC0 GOTO JPNSETFUN32
+;__Lib_MathDouble.c,204 ::
+0x07B3 0x1003 BCF STATUS, 0
+;__Lib_MathDouble.c,205 ::
+NORM3232A:
+;__Lib_MathDouble.c,206 ::
+0x07B4 0x1BF2 BTFSC R2, 7
+;__Lib_MathDouble.c,207 ::
+0x07B5 0x2FC4 GOTO JMPNFIXSIGN32
+;__Lib_MathDouble.c,208 ::
+0x07B6 0x0DF0 RLF R0, 1
+;__Lib_MathDouble.c,209 ::
+0x07B7 0x0DF1 RLF R1, 1
+;__Lib_MathDouble.c,210 ::
+0x07B8 0x0DF2 RLF R2, 1
+;__Lib_MathDouble.c,211 ::
+0x07B9 0x0BF3 DECFSZ R3, 1
+;__Lib_MathDouble.c,212 ::
+0x07BA 0x2FB4 GOTO NORM3232A
+;__Lib_MathDouble.c,213 ::
+0x07BB 0x2FC0 GOTO JPNSETFUN32
+;__Lib_MathDouble.c,214 ::
+JPNRES032:
+;__Lib_MathDouble.c,215 ::
+0x07BC 0x3001 MOVLW 1
+;__Lib_MathDouble.c,216 ::
+0x07BD 0x00FC MOVWF R12
+;__Lib_MathDouble.c,218 ::
+0x07BE 0x2426 CALL _RES032
+;__Lib_MathDouble.c,220 ::
+0x07BF 0x2FC7 GOTO NORM32EEE
+;__Lib_MathDouble.c,221 ::
+JPNSETFUN32:
+;__Lib_MathDouble.c,222 ::
+0x07C0 0x3002 MOVLW 2
+;__Lib_MathDouble.c,223 ::
+0x07C1 0x00FC MOVWF R12
+;__Lib_MathDouble.c,225 ::
+0x07C2 0x2360 CALL _SETFUN32
+;__Lib_MathDouble.c,227 ::
+0x07C3 0x2FC7 GOTO NORM32EEE
+;__Lib_MathDouble.c,228 ::
+JMPNFIXSIGN32:
+;__Lib_MathDouble.c,229 ::
+0x07C4 0x3004 MOVLW 4
+;__Lib_MathDouble.c,230 ::
+0x07C5 0x00FC MOVWF R12
+;__Lib_MathDouble.c,232 ::
+0x07C6 0x22FC CALL _FIXSIGN32
+;__Lib_MathDouble.c,234 ::
+NORM32EEE:
+;__Lib_MathDouble.c,236 ::
+L_end_NRM3232:
+0x07C7 0x0008 RETURN
+; end of _NRM3232
+_atu_reset:
+;main.c,393 :: void atu_reset(){
+;main.c,394 :: ind = 0;
+0x07C8 0x0142 MOVLB 2
+0x07C9 0x01BF CLRF _ind
+;main.c,395 :: cap = 0;
+0x07CA 0x0141 MOVLB 1
+0x07CB 0x01EF CLRF _cap
+;main.c,396 :: SW = 0;
+0x07CC 0x01EE CLRF _SW
+;main.c,397 :: Relay_set(ind, cap, SW);
+0x07CD 0x0144 MOVLB 4
+0x07CE 0x01A0 CLRF FARG_Relay_set_L
+0x07CF 0x01A1 CLRF FARG_Relay_set_C
+0x07D0 0x01A2 CLRF FARG_Relay_set_I
+0x07D1 0x2621 CALL _Relay_set
+;main.c,398 :: return;
+;main.c,399 :: }
+L_end_atu_reset:
+0x07D2 0x0008 RETURN
+; end of _atu_reset
+_int2double:
+;__Lib_MathDouble.c,1802 ::
+;__Lib_MathDouble.c,1808 ::
+0x07D3 0x0140 MOVLB 0
+;__Lib_MathDouble.c,1809 ::
+0x07D4 0x0870 MOVF R0, 0
+;__Lib_MathDouble.c,1810 ::
+0x07D5 0x00F8 MOVWF R8
+;__Lib_MathDouble.c,1811 ::
+0x07D6 0x0871 MOVF R1, 0
+;__Lib_MathDouble.c,1812 ::
+0x07D7 0x00F0 MOVWF R0
+;__Lib_MathDouble.c,1813 ::
+0x07D8 0x01F1 CLRF R1
+;__Lib_MathDouble.c,1814 ::
+0x07D9 0x01F2 CLRF R2
+;__Lib_MathDouble.c,1815 ::
+0x07DA 0x01F3 CLRF R3
+;__Lib_MathDouble.c,1818 ::
+0x07DB 0x01FB CLRF R11
+;__Lib_MathDouble.c,1819 ::
+0x07DC 0x01FC CLRF R12
+;__Lib_MathDouble.c,1821 ::
+0x07DD 0x3096 MOVLW 150
+;__Lib_MathDouble.c,1822 ::
+0x07DE 0x00F3 MOVWF R3
+;__Lib_MathDouble.c,1823 ::
+0x07DF 0x01FA CLRF R10
+;__Lib_MathDouble.c,1824 ::
+0x07E0 0x1FF0 BTFSS R0, 7
+;__Lib_MathDouble.c,1825 ::
+0x07E1 0x2FE8 GOTO FLO1632EEE
+;__Lib_MathDouble.c,1827 ::
+0x07E2 0x09F8 COMF R8, 1
+;__Lib_MathDouble.c,1828 ::
+0x07E3 0x09F0 COMF R0, 1
+;__Lib_MathDouble.c,1830 ::
+0x07E4 0x0AF8 INCF R8, 1
+;__Lib_MathDouble.c,1831 ::
+0x07E5 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,1832 ::
+0x07E6 0x0AF0 INCF R0, 1
+;__Lib_MathDouble.c,1834 ::
+0x07E7 0x17FA BSF R10, 7
+;__Lib_MathDouble.c,1835 ::
+FLO1632EEE:
+;__Lib_MathDouble.c,1836 ::
+0x07E8 0x0870 MOVF R0, 0
+;__Lib_MathDouble.c,1837 ::
+0x07E9 0x00F1 MOVWF R1
+;__Lib_MathDouble.c,1838 ::
+0x07EA 0x0878 MOVF R8, 0
+;__Lib_MathDouble.c,1839 ::
+0x07EB 0x00F0 MOVWF R0
+;__Lib_MathDouble.c,1840 ::
+0x07EC 0x01F8 CLRF R8
+;__Lib_MathDouble.c,1841 ::
+0x07ED 0x01F2 CLRF R2
+;__Lib_MathDouble.c,1843 ::
+0x07EE 0x2799 CALL _NRM3232
+;__Lib_MathDouble.c,1844 ::
+L_end_int2double:
+0x07EF 0x0008 RETURN
+; end of _int2double
+___CC2DW:
+;__Lib_System.c,71 ::
+;__Lib_System.c,73 ::
+_CC2DL_Loop1:
+;__Lib_System.c,74 ::
+0x07F0 0x0012 MOVIW FSR0++
+;__Lib_System.c,75 ::
+0x07F1 0x001E MOVWI FSR1++
+;__Lib_System.c,76 ::
+0x07F2 0x03F0 DECF R0, 1
+;__Lib_System.c,77 ::
+0x07F3 0x1D03 BTFSS STATUS, 2
+;__Lib_System.c,78 ::
+0x07F4 0x2FF0 GOTO _CC2DL_Loop1
+;__Lib_System.c,79 ::
+0x07F5 0x03F1 DECF R1, 1
+;__Lib_System.c,80 ::
+0x07F6 0x1D03 BTFSS STATUS, 2
+;__Lib_System.c,81 ::
+0x07F7 0x2FF0 GOTO _CC2DL_Loop1
+;__Lib_System.c,83 ::
+L_end___CC2DW:
+0x07F8 0x0008 RETURN
+; end of ___CC2DW
+_SDIV3232L:
+;__Lib_Math.c,691 ::
+;__Lib_Math.c,700 ::
+0x0800 0x0874 MOVF R4, 0
+;__Lib_Math.c,701 ::
+0x0801 0x02F8 SUBWF R8, 1
+;__Lib_Math.c,702 ::
+0x0802 0x0875 MOVF R5, 0
+;__Lib_Math.c,703 ::
+0x0803 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,704 ::
+0x0804 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,705 ::
+0x0805 0x02F9 SUBWF R9, 1
+;__Lib_Math.c,706 ::
+0x0806 0x0876 MOVF R6, 0
+;__Lib_Math.c,707 ::
+0x0807 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,708 ::
+0x0808 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,709 ::
+0x0809 0x02FA SUBWF R10, 1
+;__Lib_Math.c,710 ::
+0x080A 0x0877 MOVF R7, 0
+;__Lib_Math.c,711 ::
+0x080B 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,712 ::
+0x080C 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,713 ::
+0x080D 0x02FB SUBWF R11, 1
+;__Lib_Math.c,714 ::
+0x080E 0x0DF3 RLF R3, 1
+;__Lib_Math.c,716 ::
+0x080F 0x3007 MOVLW 7
+;__Lib_Math.c,717 ::
+0x0810 0x00FC MOVWF R12
+;__Lib_Math.c,719 ::
+LOOPS3232A:
+;__Lib_Math.c,720 ::
+0x0811 0x0D73 RLF R3, 0
+;__Lib_Math.c,721 ::
+0x0812 0x0DF8 RLF R8, 1
+;__Lib_Math.c,722 ::
+0x0813 0x0DF9 RLF R9, 1
+;__Lib_Math.c,723 ::
+0x0814 0x0DFA RLF R10, 1
+;__Lib_Math.c,724 ::
+0x0815 0x0DFB RLF R11, 1
+;__Lib_Math.c,725 ::
+0x0816 0x0874 MOVF R4, 0
+;__Lib_Math.c,726 ::
+0x0817 0x1C73 BTFSS R3, 0
+;__Lib_Math.c,727 ::
+0x0818 0x2827 GOTO SADD22LA
+;__Lib_Math.c,729 ::
+0x0819 0x02F8 SUBWF R8, 1
+;__Lib_Math.c,730 ::
+0x081A 0x0875 MOVF R5, 0
+;__Lib_Math.c,731 ::
+0x081B 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,732 ::
+0x081C 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,733 ::
+0x081D 0x02F9 SUBWF R9, 1
+;__Lib_Math.c,734 ::
+0x081E 0x0876 MOVF R6, 0
+;__Lib_Math.c,735 ::
+0x081F 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,736 ::
+0x0820 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,737 ::
+0x0821 0x02FA SUBWF R10, 1
+;__Lib_Math.c,738 ::
+0x0822 0x0877 MOVF R7, 0
+;__Lib_Math.c,739 ::
+0x0823 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,740 ::
+0x0824 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,741 ::
+0x0825 0x02FB SUBWF R11, 1
+;__Lib_Math.c,742 ::
+0x0826 0x2834 GOTO SOK22LA
+;__Lib_Math.c,744 ::
+SADD22LA:
+;__Lib_Math.c,745 ::
+0x0827 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,746 ::
+0x0828 0x0875 MOVF R5, 0
+;__Lib_Math.c,747 ::
+0x0829 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,748 ::
+0x082A 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,749 ::
+0x082B 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,750 ::
+0x082C 0x0876 MOVF R6, 0
+;__Lib_Math.c,751 ::
+0x082D 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,752 ::
+0x082E 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,753 ::
+0x082F 0x07FA ADDWF R10, 1
+;__Lib_Math.c,754 ::
+0x0830 0x0877 MOVF R7, 0
+;__Lib_Math.c,755 ::
+0x0831 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,756 ::
+0x0832 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,757 ::
+0x0833 0x07FB ADDWF R11, 1
+;__Lib_Math.c,759 ::
+SOK22LA:
+;__Lib_Math.c,760 ::
+0x0834 0x0DF3 RLF R3, 1
+;__Lib_Math.c,762 ::
+0x0835 0x0BFC DECFSZ R12, 1
+;__Lib_Math.c,763 ::
+0x0836 0x2811 GOTO LOOPS3232A
+;__Lib_Math.c,765 ::
+0x0837 0x0D72 RLF R2, 0
+;__Lib_Math.c,766 ::
+0x0838 0x0DF8 RLF R8, 1
+;__Lib_Math.c,767 ::
+0x0839 0x0DF9 RLF R9, 1
+;__Lib_Math.c,768 ::
+0x083A 0x0DFA RLF R10, 1
+;__Lib_Math.c,769 ::
+0x083B 0x0DFB RLF R11, 1
+;__Lib_Math.c,770 ::
+0x083C 0x0874 MOVF R4, 0
+;__Lib_Math.c,771 ::
+0x083D 0x1C73 BTFSS R3, 0
+;__Lib_Math.c,772 ::
+0x083E 0x284D GOTO SADD22L8
+;__Lib_Math.c,774 ::
+0x083F 0x02F8 SUBWF R8, 1
+;__Lib_Math.c,775 ::
+0x0840 0x0875 MOVF R5, 0
+;__Lib_Math.c,776 ::
+0x0841 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,777 ::
+0x0842 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,778 ::
+0x0843 0x02F9 SUBWF R9, 1
+;__Lib_Math.c,779 ::
+0x0844 0x0876 MOVF R6, 0
+;__Lib_Math.c,780 ::
+0x0845 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,781 ::
+0x0846 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,782 ::
+0x0847 0x02FA SUBWF R10, 1
+;__Lib_Math.c,783 ::
+0x0848 0x0877 MOVF R7, 0
+;__Lib_Math.c,784 ::
+0x0849 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,785 ::
+0x084A 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,786 ::
+0x084B 0x02FB SUBWF R11, 1
+;__Lib_Math.c,787 ::
+0x084C 0x285A GOTO SOK22L8
+;__Lib_Math.c,789 ::
+SADD22L8:
+;__Lib_Math.c,790 ::
+0x084D 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,791 ::
+0x084E 0x0875 MOVF R5, 0
+;__Lib_Math.c,792 ::
+0x084F 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,793 ::
+0x0850 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,794 ::
+0x0851 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,795 ::
+0x0852 0x0876 MOVF R6, 0
+;__Lib_Math.c,796 ::
+0x0853 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,797 ::
+0x0854 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,798 ::
+0x0855 0x07FA ADDWF R10, 1
+;__Lib_Math.c,799 ::
+0x0856 0x0877 MOVF R7, 0
+;__Lib_Math.c,800 ::
+0x0857 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,801 ::
+0x0858 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,802 ::
+0x0859 0x07FB ADDWF R11, 1
+;__Lib_Math.c,804 ::
+SOK22L8:
+;__Lib_Math.c,805 ::
+0x085A 0x0DF2 RLF R2, 1
+;__Lib_Math.c,807 ::
+0x085B 0x3007 MOVLW 7
+;__Lib_Math.c,808 ::
+0x085C 0x00FC MOVWF R12
+;__Lib_Math.c,810 ::
+LOOPS3232B:
+;__Lib_Math.c,811 ::
+0x085D 0x0D72 RLF R2, 0
+;__Lib_Math.c,812 ::
+0x085E 0x0DF8 RLF R8, 1
+;__Lib_Math.c,813 ::
+0x085F 0x0DF9 RLF R9, 1
+;__Lib_Math.c,814 ::
+0x0860 0x0DFA RLF R10, 1
+;__Lib_Math.c,815 ::
+0x0861 0x0DFB RLF R11, 1
+;__Lib_Math.c,816 ::
+0x0862 0x0874 MOVF R4, 0
+;__Lib_Math.c,817 ::
+0x0863 0x1C72 BTFSS R2, 0
+;__Lib_Math.c,818 ::
+0x0864 0x2873 GOTO SADD22LB
+;__Lib_Math.c,820 ::
+0x0865 0x02F8 SUBWF R8, 1
+;__Lib_Math.c,821 ::
+0x0866 0x0875 MOVF R5, 0
+;__Lib_Math.c,822 ::
+0x0867 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,823 ::
+0x0868 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,824 ::
+0x0869 0x02F9 SUBWF R9, 1
+;__Lib_Math.c,825 ::
+0x086A 0x0876 MOVF R6, 0
+;__Lib_Math.c,826 ::
+0x086B 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,827 ::
+0x086C 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,828 ::
+0x086D 0x02FA SUBWF R10, 1
+;__Lib_Math.c,829 ::
+0x086E 0x0877 MOVF R7, 0
+;__Lib_Math.c,830 ::
+0x086F 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,831 ::
+0x0870 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,832 ::
+0x0871 0x02FB SUBWF R11, 1
+;__Lib_Math.c,833 ::
+0x0872 0x2880 GOTO SOK22LB
+;__Lib_Math.c,835 ::
+SADD22LB:
+;__Lib_Math.c,836 ::
+0x0873 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,837 ::
+0x0874 0x0875 MOVF R5, 0
+;__Lib_Math.c,838 ::
+0x0875 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,839 ::
+0x0876 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,840 ::
+0x0877 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,841 ::
+0x0878 0x0876 MOVF R6, 0
+;__Lib_Math.c,842 ::
+0x0879 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,843 ::
+0x087A 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,844 ::
+0x087B 0x07FA ADDWF R10, 1
+;__Lib_Math.c,845 ::
+0x087C 0x0877 MOVF R7, 0
+;__Lib_Math.c,846 ::
+0x087D 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,847 ::
+0x087E 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,848 ::
+0x087F 0x07FB ADDWF R11, 1
+;__Lib_Math.c,850 ::
+SOK22LB:
+;__Lib_Math.c,851 ::
+0x0880 0x0DF2 RLF R2, 1
+;__Lib_Math.c,853 ::
+0x0881 0x0BFC DECFSZ R12, 1
+;__Lib_Math.c,854 ::
+0x0882 0x285D GOTO LOOPS3232B
+;__Lib_Math.c,856 ::
+0x0883 0x0D71 RLF R1, 0
+;__Lib_Math.c,857 ::
+0x0884 0x0DF8 RLF R8, 1
+;__Lib_Math.c,858 ::
+0x0885 0x0DF9 RLF R9, 1
+;__Lib_Math.c,859 ::
+0x0886 0x0DFA RLF R10, 1
+;__Lib_Math.c,860 ::
+0x0887 0x0DFB RLF R11, 1
+;__Lib_Math.c,861 ::
+0x0888 0x0874 MOVF R4, 0
+;__Lib_Math.c,862 ::
+0x0889 0x1C72 BTFSS R2, 0
+;__Lib_Math.c,863 ::
+0x088A 0x2899 GOTO SADD22L16
+;__Lib_Math.c,865 ::
+0x088B 0x02F8 SUBWF R8, 1
+;__Lib_Math.c,866 ::
+0x088C 0x0875 MOVF R5, 0
+;__Lib_Math.c,867 ::
+0x088D 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,868 ::
+0x088E 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,869 ::
+0x088F 0x02F9 SUBWF R9, 1
+;__Lib_Math.c,870 ::
+0x0890 0x0876 MOVF R6, 0
+;__Lib_Math.c,871 ::
+0x0891 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,872 ::
+0x0892 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,873 ::
+0x0893 0x02FA SUBWF R10, 1
+;__Lib_Math.c,874 ::
+0x0894 0x0877 MOVF R7, 0
+;__Lib_Math.c,875 ::
+0x0895 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,876 ::
+0x0896 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,877 ::
+0x0897 0x02FB SUBWF R11, 1
+;__Lib_Math.c,878 ::
+0x0898 0x28A6 GOTO SOK22L16
+;__Lib_Math.c,880 ::
+SADD22L16:
+;__Lib_Math.c,881 ::
+0x0899 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,882 ::
+0x089A 0x0875 MOVF R5, 0
+;__Lib_Math.c,883 ::
+0x089B 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,884 ::
+0x089C 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,885 ::
+0x089D 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,886 ::
+0x089E 0x0876 MOVF R6, 0
+;__Lib_Math.c,887 ::
+0x089F 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,888 ::
+0x08A0 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,889 ::
+0x08A1 0x07FA ADDWF R10, 1
+;__Lib_Math.c,890 ::
+0x08A2 0x0877 MOVF R7, 0
+;__Lib_Math.c,891 ::
+0x08A3 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,892 ::
+0x08A4 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,893 ::
+0x08A5 0x07FB ADDWF R11, 1
+;__Lib_Math.c,895 ::
+SOK22L16:
+;__Lib_Math.c,896 ::
+0x08A6 0x0DF1 RLF R1, 1
+;__Lib_Math.c,898 ::
+0x08A7 0x3007 MOVLW 7
+;__Lib_Math.c,899 ::
+0x08A8 0x00FC MOVWF R12
+;__Lib_Math.c,901 ::
+LOOPS3232C:
+;__Lib_Math.c,902 ::
+0x08A9 0x0D71 RLF R1, 0
+;__Lib_Math.c,903 ::
+0x08AA 0x0DF8 RLF R8, 1
+;__Lib_Math.c,904 ::
+0x08AB 0x0DF9 RLF R9, 1
+;__Lib_Math.c,905 ::
+0x08AC 0x0DFA RLF R10, 1
+;__Lib_Math.c,906 ::
+0x08AD 0x0DFB RLF R11, 1
+;__Lib_Math.c,907 ::
+0x08AE 0x0874 MOVF R4, 0
+;__Lib_Math.c,908 ::
+0x08AF 0x1C71 BTFSS R1, 0
+;__Lib_Math.c,909 ::
+0x08B0 0x28BF GOTO SADD22LC
+;__Lib_Math.c,911 ::
+0x08B1 0x02F8 SUBWF R8, 1
+;__Lib_Math.c,912 ::
+0x08B2 0x0875 MOVF R5, 0
+;__Lib_Math.c,913 ::
+0x08B3 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,914 ::
+0x08B4 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,915 ::
+0x08B5 0x02F9 SUBWF R9, 1
+;__Lib_Math.c,916 ::
+0x08B6 0x0876 MOVF R6, 0
+;__Lib_Math.c,917 ::
+0x08B7 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,918 ::
+0x08B8 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,919 ::
+0x08B9 0x02FA SUBWF R10, 1
+;__Lib_Math.c,920 ::
+0x08BA 0x0877 MOVF R7, 0
+;__Lib_Math.c,921 ::
+0x08BB 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,922 ::
+0x08BC 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,923 ::
+0x08BD 0x02FB SUBWF R11, 1
+;__Lib_Math.c,924 ::
+0x08BE 0x28CC GOTO SOK22LC
+;__Lib_Math.c,926 ::
+SADD22LC:
+;__Lib_Math.c,927 ::
+0x08BF 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,928 ::
+0x08C0 0x0875 MOVF R5, 0
+;__Lib_Math.c,929 ::
+0x08C1 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,930 ::
+0x08C2 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,931 ::
+0x08C3 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,932 ::
+0x08C4 0x0876 MOVF R6, 0
+;__Lib_Math.c,933 ::
+0x08C5 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,934 ::
+0x08C6 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,935 ::
+0x08C7 0x07FA ADDWF R10, 1
+;__Lib_Math.c,936 ::
+0x08C8 0x0877 MOVF R7, 0
+;__Lib_Math.c,937 ::
+0x08C9 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,938 ::
+0x08CA 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,939 ::
+0x08CB 0x07FB ADDWF R11, 1
+;__Lib_Math.c,941 ::
+SOK22LC:
+;__Lib_Math.c,942 ::
+0x08CC 0x0DF1 RLF R1, 1
+;__Lib_Math.c,944 ::
+0x08CD 0x0BFC DECFSZ R12, 1
+;__Lib_Math.c,945 ::
+0x08CE 0x28A9 GOTO LOOPS3232C
+;__Lib_Math.c,947 ::
+0x08CF 0x0D70 RLF R0, 0
+;__Lib_Math.c,948 ::
+0x08D0 0x0DF8 RLF R8, 1
+;__Lib_Math.c,949 ::
+0x08D1 0x0DF9 RLF R9, 1
+;__Lib_Math.c,950 ::
+0x08D2 0x0DFA RLF R10, 1
+;__Lib_Math.c,951 ::
+0x08D3 0x0DFB RLF R11, 1
+;__Lib_Math.c,952 ::
+0x08D4 0x0874 MOVF R4, 0
+;__Lib_Math.c,953 ::
+0x08D5 0x1C71 BTFSS R1, 0
+;__Lib_Math.c,954 ::
+0x08D6 0x28E5 GOTO SADD22L24
+;__Lib_Math.c,956 ::
+0x08D7 0x02F8 SUBWF R8, 1
+;__Lib_Math.c,957 ::
+0x08D8 0x0875 MOVF R5, 0
+;__Lib_Math.c,958 ::
+0x08D9 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,959 ::
+0x08DA 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,960 ::
+0x08DB 0x02F9 SUBWF R9, 1
+;__Lib_Math.c,961 ::
+0x08DC 0x0876 MOVF R6, 0
+;__Lib_Math.c,962 ::
+0x08DD 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,963 ::
+0x08DE 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,964 ::
+0x08DF 0x02FA SUBWF R10, 1
+;__Lib_Math.c,965 ::
+0x08E0 0x0877 MOVF R7, 0
+;__Lib_Math.c,966 ::
+0x08E1 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,967 ::
+0x08E2 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,968 ::
+0x08E3 0x02FB SUBWF R11, 1
+;__Lib_Math.c,969 ::
+0x08E4 0x28F2 GOTO SOK22L24
+;__Lib_Math.c,971 ::
+SADD22L24:
+;__Lib_Math.c,972 ::
+0x08E5 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,973 ::
+0x08E6 0x0875 MOVF R5, 0
+;__Lib_Math.c,974 ::
+0x08E7 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,975 ::
+0x08E8 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,976 ::
+0x08E9 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,977 ::
+0x08EA 0x0876 MOVF R6, 0
+;__Lib_Math.c,978 ::
+0x08EB 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,979 ::
+0x08EC 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,980 ::
+0x08ED 0x07FA ADDWF R10, 1
+;__Lib_Math.c,981 ::
+0x08EE 0x0877 MOVF R7, 0
+;__Lib_Math.c,982 ::
+0x08EF 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,983 ::
+0x08F0 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,984 ::
+0x08F1 0x07FB ADDWF R11, 1
+;__Lib_Math.c,986 ::
+SOK22L24:
+;__Lib_Math.c,987 ::
+0x08F2 0x0DF0 RLF R0, 1
+;__Lib_Math.c,989 ::
+0x08F3 0x3007 MOVLW 7
+;__Lib_Math.c,990 ::
+0x08F4 0x00FC MOVWF R12
+;__Lib_Math.c,992 ::
+LOOPS3232D:
+;__Lib_Math.c,993 ::
+0x08F5 0x0D70 RLF R0, 0
+;__Lib_Math.c,994 ::
+0x08F6 0x0DF8 RLF R8, 1
+;__Lib_Math.c,995 ::
+0x08F7 0x0DF9 RLF R9, 1
+;__Lib_Math.c,996 ::
+0x08F8 0x0DFA RLF R10, 1
+;__Lib_Math.c,997 ::
+0x08F9 0x0DFB RLF R11, 1
+;__Lib_Math.c,998 ::
+0x08FA 0x0874 MOVF R4, 0
+;__Lib_Math.c,999 ::
+0x08FB 0x1C70 BTFSS R0, 0
+;__Lib_Math.c,1000 ::
+0x08FC 0x290B GOTO SADD22LD
+;__Lib_Math.c,1002 ::
+0x08FD 0x02F8 SUBWF R8, 1
+;__Lib_Math.c,1003 ::
+0x08FE 0x0875 MOVF R5, 0
+;__Lib_Math.c,1004 ::
+0x08FF 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,1005 ::
+0x0900 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,1006 ::
+0x0901 0x02F9 SUBWF R9, 1
+;__Lib_Math.c,1007 ::
+0x0902 0x0876 MOVF R6, 0
+;__Lib_Math.c,1008 ::
+0x0903 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,1009 ::
+0x0904 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,1010 ::
+0x0905 0x02FA SUBWF R10, 1
+;__Lib_Math.c,1011 ::
+0x0906 0x0877 MOVF R7, 0
+;__Lib_Math.c,1012 ::
+0x0907 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,1013 ::
+0x0908 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,1014 ::
+0x0909 0x02FB SUBWF R11, 1
+;__Lib_Math.c,1015 ::
+0x090A 0x2918 GOTO SOK22LD
+;__Lib_Math.c,1017 ::
+SADD22LD:
+;__Lib_Math.c,1018 ::
+0x090B 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,1019 ::
+0x090C 0x0875 MOVF R5, 0
+;__Lib_Math.c,1020 ::
+0x090D 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,1021 ::
+0x090E 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,1022 ::
+0x090F 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,1023 ::
+0x0910 0x0876 MOVF R6, 0
+;__Lib_Math.c,1024 ::
+0x0911 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,1025 ::
+0x0912 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,1026 ::
+0x0913 0x07FA ADDWF R10, 1
+;__Lib_Math.c,1027 ::
+0x0914 0x0877 MOVF R7, 0
+;__Lib_Math.c,1028 ::
+0x0915 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,1030 ::
+0x0916 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,1031 ::
+0x0917 0x07FB ADDWF R11, 1
+;__Lib_Math.c,1033 ::
+SOK22LD:
+;__Lib_Math.c,1034 ::
+0x0918 0x0DF0 RLF R0, 1
+;__Lib_Math.c,1036 ::
+0x0919 0x0BFC DECFSZ R12, 1
+;__Lib_Math.c,1037 ::
+0x091A 0x28F5 GOTO LOOPS3232D
+;__Lib_Math.c,1039 ::
+0x091B 0x1870 BTFSC R0, 0
+;__Lib_Math.c,1040 ::
+0x091C 0x292B GOTO SOK22L
+;__Lib_Math.c,1041 ::
+0x091D 0x0874 MOVF R4, 0
+;__Lib_Math.c,1042 ::
+0x091E 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,1043 ::
+0x091F 0x0875 MOVF R5, 0
+;__Lib_Math.c,1044 ::
+0x0920 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,1045 ::
+0x0921 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,1046 ::
+0x0922 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,1047 ::
+0x0923 0x0876 MOVF R6, 0
+;__Lib_Math.c,1048 ::
+0x0924 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,1049 ::
+0x0925 0x0F76 INCFSZ R6, 0
+;__Lib_Math.c,1050 ::
+0x0926 0x07FA ADDWF R10, 1
+;__Lib_Math.c,1051 ::
+0x0927 0x0877 MOVF R7, 0
+;__Lib_Math.c,1052 ::
+0x0928 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,1053 ::
+0x0929 0x0F77 INCFSZ R7, 0
+;__Lib_Math.c,1054 ::
+0x092A 0x07FB ADDWF R11, 1
+;__Lib_Math.c,1055 ::
+SOK22L:
+;__Lib_Math.c,1058 ::
+L_end_SDIV3232L:
+0x092B 0x0008 RETURN
+; end of _SDIV3232L
+_oled_init:
+;oled_control.c,12 :: void oled_init (void) { // OLED init
+;oled_control.c,14 :: for(cnt=0; cnt<10; cnt++){
+0x092C 0x0144 MOVLB 4
+0x092D 0x01A0 CLRF oled_init_cnt_L0
+L_oled_init0:
+0x092E 0x300A MOVLW 10
+0x092F 0x0220 SUBWF oled_init_cnt_L0, 0
+0x0930 0x1803 BTFSC STATUS, 0
+0x0931 0x2955 GOTO L_oled_init1
+;oled_control.c,15 :: Soft_I2C_Start();
+0x0932 0x3180 MOVLP 0
+0x0933 0x2182 CALL _Soft_I2C_Start
+0x0934 0x3188 MOVLP 8
+;oled_control.c,16 :: if(Soft_I2C_Write(oled_addr)==0) break; // device addres
+0x0935 0x0141 MOVLB 1
+0x0936 0x0847 MOVF oled_control_oled_addr, 0
+0x0937 0x0144 MOVLB 4
+0x0938 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0939 0x3180 MOVLP 0
+0x093A 0x212A CALL _Soft_I2C_Write
+0x093B 0x3188 MOVLP 8
+0x093C 0x0870 MOVF R0, 0
+0x093D 0x3A00 XORLW 0
+0x093E 0x1D03 BTFSS STATUS, 2
+0x093F 0x2941 GOTO L_oled_init3
+0x0940 0x2955 GOTO L_oled_init1
+L_oled_init3:
+;oled_control.c,17 :: else Soft_I2C_Stop();
+0x0941 0x3180 MOVLP 0
+0x0942 0x21F4 CALL _Soft_I2C_Stop
+0x0943 0x3188 MOVLP 8
+;oled_control.c,18 :: Delay_ms(300);
+0x0944 0x300D MOVLW 13
+0x0945 0x00FB MOVWF R11
+0x0946 0x302D MOVLW 45
+0x0947 0x00FC MOVWF R12
+0x0948 0x30D7 MOVLW 215
+0x0949 0x00FD MOVWF R13
+L_oled_init5:
+0x094A 0x0BFD DECFSZ R13, 1
+0x094B 0x294A GOTO L_oled_init5
+0x094C 0x0BFC DECFSZ R12, 1
+0x094D 0x294A GOTO L_oled_init5
+0x094E 0x0BFB DECFSZ R11, 1
+0x094F 0x294A GOTO L_oled_init5
+0x0950 0x0000 NOP
+0x0951 0x0000 NOP
+;oled_control.c,14 :: for(cnt=0; cnt<10; cnt++){
+0x0952 0x0144 MOVLB 4
+0x0953 0x0AA0 INCF oled_init_cnt_L0, 1
+;oled_control.c,19 :: }
+0x0954 0x292E GOTO L_oled_init0
+L_oled_init1:
+0x0955 0x0144 MOVLB 4
+;oled_control.c,20 :: Soft_I2C_Write(0); // 0 - continious mode, command; 64 - Co, data
+0x0956 0x01B4 CLRF FARG_Soft_I2C_Write_d
+0x0957 0x3180 MOVLP 0
+0x0958 0x212A CALL _Soft_I2C_Write
+0x0959 0x3188 MOVLP 8
+;oled_control.c,21 :: Soft_I2C_Write (0xAE); // display OFF
+0x095A 0x30AE MOVLW 174
+0x095B 0x0144 MOVLB 4
+0x095C 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x095D 0x3180 MOVLP 0
+0x095E 0x212A CALL _Soft_I2C_Write
+0x095F 0x3188 MOVLP 8
+;oled_control.c,23 :: Soft_I2C_Write (0xD5); // clock division
+0x0960 0x30D5 MOVLW 213
+0x0961 0x0144 MOVLB 4
+0x0962 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0963 0x3180 MOVLP 0
+0x0964 0x212A CALL _Soft_I2C_Write
+0x0965 0x3188 MOVLP 8
+;oled_control.c,24 :: Soft_I2C_Write (0x80); // ratio
+0x0966 0x3080 MOVLW 128
+0x0967 0x0144 MOVLB 4
+0x0968 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0969 0x3180 MOVLP 0
+0x096A 0x212A CALL _Soft_I2C_Write
+0x096B 0x3188 MOVLP 8
+;oled_control.c,26 :: Soft_I2C_Write (0xA8); // multiplexer
+0x096C 0x30A8 MOVLW 168
+0x096D 0x0144 MOVLB 4
+0x096E 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x096F 0x3180 MOVLP 0
+0x0970 0x212A CALL _Soft_I2C_Write
+0x0971 0x3188 MOVLP 8
+;oled_control.c,27 :: Soft_I2C_Write (63); //
+0x0972 0x303F MOVLW 63
+0x0973 0x0144 MOVLB 4
+0x0974 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0975 0x3180 MOVLP 0
+0x0976 0x212A CALL _Soft_I2C_Write
+0x0977 0x3188 MOVLP 8
+;oled_control.c,29 :: Soft_I2C_Write (0xD3); // offset
+0x0978 0x30D3 MOVLW 211
+0x0979 0x0144 MOVLB 4
+0x097A 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x097B 0x3180 MOVLP 0
+0x097C 0x212A CALL _Soft_I2C_Write
+0x097D 0x3188 MOVLP 8
+;oled_control.c,30 :: Soft_I2C_Write (shift_line); // 32 no offset for x64 !
+0x097E 0x0141 MOVLB 1
+0x097F 0x0849 MOVF oled_control_shift_line, 0
+0x0980 0x0144 MOVLB 4
+0x0981 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0982 0x3180 MOVLP 0
+0x0983 0x212A CALL _Soft_I2C_Write
+0x0984 0x3188 MOVLP 8
+;oled_control.c,32 :: Soft_I2C_Write (0x40); // set line, line = 0
+0x0985 0x3040 MOVLW 64
+0x0986 0x0144 MOVLB 4
+0x0987 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0988 0x3180 MOVLP 0
+0x0989 0x212A CALL _Soft_I2C_Write
+0x098A 0x3188 MOVLP 8
+;oled_control.c,34 :: Soft_I2C_Write (0x8D); // charge pump
+0x098B 0x308D MOVLW 141
+0x098C 0x0144 MOVLB 4
+0x098D 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x098E 0x3180 MOVLP 0
+0x098F 0x212A CALL _Soft_I2C_Write
+0x0990 0x3188 MOVLP 8
+;oled_control.c,35 :: Soft_I2C_Write (0x14); // 0x10 - external, 0x14 - internal
+0x0991 0x3014 MOVLW 20
+0x0992 0x0144 MOVLB 4
+0x0993 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0994 0x3180 MOVLP 0
+0x0995 0x212A CALL _Soft_I2C_Write
+0x0996 0x3188 MOVLP 8
+;oled_control.c,37 :: Soft_I2C_Write (0x81); // contrast
+0x0997 0x3081 MOVLW 129
+0x0998 0x0144 MOVLB 4
+0x0999 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x099A 0x3180 MOVLP 0
+0x099B 0x212A CALL _Soft_I2C_Write
+0x099C 0x3188 MOVLP 8
+;oled_control.c,38 :: Soft_I2C_Write (255); // 0-255
+0x099D 0x30FF MOVLW 255
+0x099E 0x0144 MOVLB 4
+0x099F 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09A0 0x3180 MOVLP 0
+0x09A1 0x212A CALL _Soft_I2C_Write
+0x09A2 0x3188 MOVLP 8
+;oled_control.c,40 :: Soft_I2C_Write (0xD9); // pre-charge
+0x09A3 0x30D9 MOVLW 217
+0x09A4 0x0144 MOVLB 4
+0x09A5 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09A6 0x3180 MOVLP 0
+0x09A7 0x212A CALL _Soft_I2C_Write
+0x09A8 0x3188 MOVLP 8
+;oled_control.c,41 :: Soft_I2C_Write (0xF1); // 0x22 - external, 0xF1 - internal
+0x09A9 0x30F1 MOVLW 241
+0x09AA 0x0144 MOVLB 4
+0x09AB 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09AC 0x3180 MOVLP 0
+0x09AD 0x212A CALL _Soft_I2C_Write
+0x09AE 0x3188 MOVLP 8
+;oled_control.c,43 :: Soft_I2C_Write (0x20); // memory addressing mode
+0x09AF 0x3020 MOVLW 32
+0x09B0 0x0144 MOVLB 4
+0x09B1 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09B2 0x3180 MOVLP 0
+0x09B3 0x212A CALL _Soft_I2C_Write
+0x09B4 0x3188 MOVLP 8
+;oled_control.c,44 :: Soft_I2C_Write (0x02); // page addressing mode 02
+0x09B5 0x3002 MOVLW 2
+0x09B6 0x0144 MOVLB 4
+0x09B7 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09B8 0x3180 MOVLP 0
+0x09B9 0x212A CALL _Soft_I2C_Write
+0x09BA 0x3188 MOVLP 8
+;oled_control.c,46 :: Soft_I2C_Write (0x21); // set column range
+0x09BB 0x3021 MOVLW 33
+0x09BC 0x0144 MOVLB 4
+0x09BD 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09BE 0x3180 MOVLP 0
+0x09BF 0x212A CALL _Soft_I2C_Write
+0x09C0 0x3188 MOVLP 8
+;oled_control.c,47 :: Soft_I2C_Write (0); // column start
+0x09C1 0x0144 MOVLB 4
+0x09C2 0x01B4 CLRF FARG_Soft_I2C_Write_d
+0x09C3 0x3180 MOVLP 0
+0x09C4 0x212A CALL _Soft_I2C_Write
+0x09C5 0x3188 MOVLP 8
+;oled_control.c,48 :: Soft_I2C_Write (127); // column stop
+0x09C6 0x307F MOVLW 127
+0x09C7 0x0144 MOVLB 4
+0x09C8 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09C9 0x3180 MOVLP 0
+0x09CA 0x212A CALL _Soft_I2C_Write
+0x09CB 0x3188 MOVLP 8
+;oled_control.c,50 :: Soft_I2C_Write (0x2E); // stop scrolling
+0x09CC 0x302E MOVLW 46
+0x09CD 0x0144 MOVLB 4
+0x09CE 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09CF 0x3180 MOVLP 0
+0x09D0 0x212A CALL _Soft_I2C_Write
+0x09D1 0x3188 MOVLP 8
+;oled_control.c,52 :: if(inversion) {
+0x09D2 0x0141 MOVLB 1
+0x09D3 0x084A MOVF oled_control_inversion, 0
+0x09D4 0x1903 BTFSC STATUS, 2
+0x09D5 0x29E3 GOTO L_oled_init6
+;oled_control.c,53 :: Soft_I2C_Write (0xA0); // segment re-map, A0 - normal, A1 - remapped
+0x09D6 0x30A0 MOVLW 160
+0x09D7 0x0144 MOVLB 4
+0x09D8 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09D9 0x3180 MOVLP 0
+0x09DA 0x212A CALL _Soft_I2C_Write
+0x09DB 0x3188 MOVLP 8
+;oled_control.c,54 :: Soft_I2C_Write (0xC0); // scan direction, C0 - normal, C8 - remapped
+0x09DC 0x30C0 MOVLW 192
+0x09DD 0x0144 MOVLB 4
+0x09DE 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09DF 0x3180 MOVLP 0
+0x09E0 0x212A CALL _Soft_I2C_Write
+0x09E1 0x3188 MOVLP 8
+;oled_control.c,55 :: }
+0x09E2 0x29EF GOTO L_oled_init7
+L_oled_init6:
+;oled_control.c,57 :: Soft_I2C_Write (0xA1); // segment re-map, A0 - normal, A1 - remapped
+0x09E3 0x30A1 MOVLW 161
+0x09E4 0x0144 MOVLB 4
+0x09E5 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09E6 0x3180 MOVLP 0
+0x09E7 0x212A CALL _Soft_I2C_Write
+0x09E8 0x3188 MOVLP 8
+;oled_control.c,58 :: Soft_I2C_Write (0xC8); // scan direction, C0 - normal, C8 - remapped
+0x09E9 0x30C8 MOVLW 200
+0x09EA 0x0144 MOVLB 4
+0x09EB 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09EC 0x3180 MOVLP 0
+0x09ED 0x212A CALL _Soft_I2C_Write
+0x09EE 0x3188 MOVLP 8
+;oled_control.c,59 :: }
+L_oled_init7:
+;oled_control.c,61 :: Soft_I2C_Write (0xDA); // COM pins configure
+0x09EF 0x30DA MOVLW 218
+0x09F0 0x0144 MOVLB 4
+0x09F1 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09F2 0x3180 MOVLP 0
+0x09F3 0x212A CALL _Soft_I2C_Write
+0x09F4 0x3188 MOVLP 8
+;oled_control.c,62 :: Soft_I2C_Write (0x02); // 02 for 32 12 for x64
+0x09F5 0x3002 MOVLW 2
+0x09F6 0x0144 MOVLB 4
+0x09F7 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09F8 0x3180 MOVLP 0
+0x09F9 0x212A CALL _Soft_I2C_Write
+0x09FA 0x3188 MOVLP 8
+;oled_control.c,64 :: Soft_I2C_Write (0xDB); // V-COM detect
+0x09FB 0x30DB MOVLW 219
+0x09FC 0x0144 MOVLB 4
+0x09FD 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x09FE 0x3180 MOVLP 0
+0x09FF 0x212A CALL _Soft_I2C_Write
+0x0A00 0x3188 MOVLP 8
+;oled_control.c,65 :: Soft_I2C_Write (0x40); //
+0x0A01 0x3040 MOVLW 64
+0x0A02 0x0144 MOVLB 4
+0x0A03 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0A04 0x3180 MOVLP 0
+0x0A05 0x212A CALL _Soft_I2C_Write
+0x0A06 0x3188 MOVLP 8
+;oled_control.c,67 :: Soft_I2C_Write (0xA4); // display entire ON
+0x0A07 0x30A4 MOVLW 164
+0x0A08 0x0144 MOVLB 4
+0x0A09 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0A0A 0x3180 MOVLP 0
+0x0A0B 0x212A CALL _Soft_I2C_Write
+0x0A0C 0x3188 MOVLP 8
+;oled_control.c,69 :: Soft_I2C_Write (0xA6); // 0xA6 - normal, 0xA7 - inverse
+0x0A0D 0x30A6 MOVLW 166
+0x0A0E 0x0144 MOVLB 4
+0x0A0F 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x0A10 0x3180 MOVLP 0
+0x0A11 0x212A CALL _Soft_I2C_Write
+0x0A12 0x3188 MOVLP 8
+;oled_control.c,71 :: Soft_I2C_Stop ();
+0x0A13 0x3180 MOVLP 0
+0x0A14 0x21F4 CALL _Soft_I2C_Stop
+0x0A15 0x3188 MOVLP 8
+;oled_control.c,73 :: oled_clear();
+0x0A16 0x3180 MOVLP 0
+0x0A17 0x2449 CALL _oled_clear
+0x0A18 0x3188 MOVLP 8
+;oled_control.c,74 :: send_command (0xAF); // display ON
+0x0A19 0x30AF MOVLW 175
+0x0A1A 0x0144 MOVLB 4
+0x0A1B 0x00A3 MOVWF FARG_send_command_oled_command
+0x0A1C 0x3180 MOVLP 0
+0x0A1D 0x242D CALL _send_command
+0x0A1E 0x3188 MOVLP 8
+;oled_control.c,75 :: return;
+;oled_control.c,76 :: }
+L_end_oled_init:
+0x0A1F 0x0008 RETURN
+; end of _oled_init
+_Div_32x32_S:
+;__Lib_Math.c,1085 ::
+;__Lib_Math.c,1096 ::
+;__Lib_Math.c,1099 ::
+0x0A20 0x0874 MOVF R4, 0
+0x0A21 0x3A00 XORLW 0
+0x0A22 0x1D03 BTFSS STATUS, 2
+0x0A23 0x2A39 GOTO L_Div_32x32_S6
+;__Lib_Math.c,1100 ::
+0x0A24 0x0875 MOVF R5, 0
+0x0A25 0x3A00 XORLW 0
+0x0A26 0x1D03 BTFSS STATUS, 2
+0x0A27 0x2A39 GOTO L_Div_32x32_S7
+;__Lib_Math.c,1101 ::
+0x0A28 0x0876 MOVF R6, 0
+0x0A29 0x3A00 XORLW 0
+0x0A2A 0x1D03 BTFSS STATUS, 2
+0x0A2B 0x2A39 GOTO L_Div_32x32_S8
+;__Lib_Math.c,1102 ::
+0x0A2C 0x0877 MOVF R7, 0
+0x0A2D 0x3A00 XORLW 0
+0x0A2E 0x1D03 BTFSS STATUS, 2
+0x0A2F 0x2A39 GOTO L_Div_32x32_S9
+;__Lib_Math.c,1103 ::
+0x0A30 0x30FF MOVLW 255
+0x0A31 0x00F0 MOVWF R0
+;__Lib_Math.c,1104 ::
+0x0A32 0x30FF MOVLW 255
+0x0A33 0x00F1 MOVWF R1
+;__Lib_Math.c,1105 ::
+0x0A34 0x30FF MOVLW 255
+0x0A35 0x00F2 MOVWF R2
+;__Lib_Math.c,1106 ::
+0x0A36 0x307F MOVLW 127
+0x0A37 0x00F3 MOVWF R3
+;__Lib_Math.c,1107 ::
+0x0A38 0x2AD3 GOTO L_end_Div_32x32_S
+;__Lib_Math.c,1108 ::
+L_Div_32x32_S9:
+L_Div_32x32_S8:
+L_Div_32x32_S7:
+L_Div_32x32_S6:
+;__Lib_Math.c,1111 ::
+0x0A39 0x0140 MOVLB 0
+;__Lib_Math.c,1113 ::
+0x0A3A 0x01FC CLRF R12
+;__Lib_Math.c,1114 ::
+0x0A3B 0x1BF7 BTFSC R7, 7
+;__Lib_Math.c,1115 ::
+0x0A3C 0x0AFC INCF R12, 1
+;__Lib_Math.c,1117 ::
+0x0A3D 0x01FD CLRF R13
+;__Lib_Math.c,1118 ::
+0x0A3E 0x01FB CLRF R11
+;__Lib_Math.c,1119 ::
+0x0A3F 0x01FA CLRF R10
+;__Lib_Math.c,1120 ::
+0x0A40 0x01F9 CLRF R9
+;__Lib_Math.c,1121 ::
+0x0A41 0x01F8 CLRF R8
+;__Lib_Math.c,1122 ::
+0x0A42 0x0873 MOVF R3, 0
+;__Lib_Math.c,1123 ::
+0x0A43 0x0472 IORWF R2, 0
+;__Lib_Math.c,1124 ::
+0x0A44 0x0471 IORWF R1, 0
+;__Lib_Math.c,1125 ::
+0x0A45 0x0470 IORWF R0, 0
+;__Lib_Math.c,1126 ::
+0x0A46 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1127 ::
+0x0A47 0x2ACC GOTO END_ALL
+;__Lib_Math.c,1129 ::
+0x0A48 0x0873 MOVF R3, 0
+;__Lib_Math.c,1130 ::
+0x0A49 0x0677 XORWF R7, 0
+;__Lib_Math.c,1131 ::
+0x0A4A 0x00A0 MOVWF ___math_tempb
+;__Lib_Math.c,1132 ::
+0x0A4B 0x1BA0 BTFSC ___math_tempb, 7
+;__Lib_Math.c,1133 ::
+0x0A4C 0x09FD COMF R13, 1
+;__Lib_Math.c,1137 ::
+0x0A4D 0x1FF7 BTFSS R7, 7
+;__Lib_Math.c,1138 ::
+0x0A4E 0x2A5A GOTO CA3232S
+;__Lib_Math.c,1140 ::
+0x0A4F 0x09F4 COMF R4, 1
+;__Lib_Math.c,1141 ::
+0x0A50 0x09F5 COMF R5, 1
+;__Lib_Math.c,1142 ::
+0x0A51 0x09F6 COMF R6, 1
+;__Lib_Math.c,1143 ::
+0x0A52 0x09F7 COMF R7, 1
+;__Lib_Math.c,1144 ::
+0x0A53 0x0AF4 INCF R4, 1
+;__Lib_Math.c,1145 ::
+0x0A54 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1146 ::
+0x0A55 0x0AF5 INCF R5, 1
+;__Lib_Math.c,1147 ::
+0x0A56 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1148 ::
+0x0A57 0x0AF6 INCF R6, 1
+;__Lib_Math.c,1149 ::
+0x0A58 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1150 ::
+0x0A59 0x0AF7 INCF R7, 1
+;__Lib_Math.c,1152 ::
+CA3232S:
+;__Lib_Math.c,1153 ::
+0x0A5A 0x1FF3 BTFSS R3, 7
+;__Lib_Math.c,1154 ::
+0x0A5B 0x2A67 GOTO C3232SX
+;__Lib_Math.c,1156 ::
+0x0A5C 0x09F0 COMF R0, 1
+;__Lib_Math.c,1157 ::
+0x0A5D 0x09F1 COMF R1, 1
+;__Lib_Math.c,1158 ::
+0x0A5E 0x09F2 COMF R2, 1
+;__Lib_Math.c,1159 ::
+0x0A5F 0x09F3 COMF R3, 1
+;__Lib_Math.c,1160 ::
+0x0A60 0x0AF0 INCF R0, 1
+;__Lib_Math.c,1161 ::
+0x0A61 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1162 ::
+0x0A62 0x0AF1 INCF R1, 1
+;__Lib_Math.c,1163 ::
+0x0A63 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1164 ::
+0x0A64 0x0AF2 INCF R2, 1
+;__Lib_Math.c,1165 ::
+0x0A65 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1166 ::
+0x0A66 0x0AF3 INCF R3, 1
+;__Lib_Math.c,1168 ::
+C3232SX:
+;__Lib_Math.c,1169 ::
+0x0A67 0x0873 MOVF R3, 0
+;__Lib_Math.c,1170 ::
+0x0A68 0x0477 IORWF R7, 0
+;__Lib_Math.c,1171 ::
+0x0A69 0x00A0 MOVWF ___math_tempb
+;__Lib_Math.c,1172 ::
+0x0A6A 0x1BA0 BTFSC ___math_tempb, 7
+;__Lib_Math.c,1173 ::
+0x0A6B 0x2A88 GOTO C3232SX1
+;__Lib_Math.c,1175 ::
+C3232S:
+;__Lib_Math.c,1178 ::
+0x0A6C 0x2000 CALL _SDIV3232L
+;__Lib_Math.c,1182 ::
+0x0A6D 0x1BFC BTFSC R12, 7
+;__Lib_Math.c,1183 ::
+0x0A6E 0x2AA5 GOTO C3232SX4
+;__Lib_Math.c,1185 ::
+C3232SOK:
+;__Lib_Math.c,1186 ::
+0x0A6F 0x1FFD BTFSS R13, 7
+;__Lib_Math.c,1187 ::
+0x0A70 0x2ACC GOTO END_ALL
+;__Lib_Math.c,1189 ::
+0x0A71 0x09F0 COMF R0, 1
+;__Lib_Math.c,1190 ::
+0x0A72 0x09F1 COMF R1, 1
+;__Lib_Math.c,1191 ::
+0x0A73 0x09F2 COMF R2, 1
+;__Lib_Math.c,1192 ::
+0x0A74 0x09F3 COMF R3, 1
+;__Lib_Math.c,1193 ::
+0x0A75 0x0AF0 INCF R0, 1
+;__Lib_Math.c,1194 ::
+0x0A76 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1195 ::
+0x0A77 0x0AF1 INCF R1, 1
+;__Lib_Math.c,1196 ::
+0x0A78 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1197 ::
+0x0A79 0x0AF2 INCF R2, 1
+;__Lib_Math.c,1198 ::
+0x0A7A 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1199 ::
+0x0A7B 0x0AF3 INCF R3, 1
+;__Lib_Math.c,1201 ::
+0x0A7C 0x09F8 COMF R8, 1
+;__Lib_Math.c,1202 ::
+0x0A7D 0x09F9 COMF R9, 1
+;__Lib_Math.c,1203 ::
+0x0A7E 0x09FA COMF R10, 1
+;__Lib_Math.c,1204 ::
+0x0A7F 0x09FB COMF R11, 1
+;__Lib_Math.c,1205 ::
+0x0A80 0x0AF8 INCF R8, 1
+;__Lib_Math.c,1206 ::
+0x0A81 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1207 ::
+0x0A82 0x0AF9 INCF R9, 1
+;__Lib_Math.c,1208 ::
+0x0A83 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1209 ::
+0x0A84 0x0AFA INCF R10, 1
+;__Lib_Math.c,1210 ::
+0x0A85 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1211 ::
+0x0A86 0x0AFB INCF R11, 1
+;__Lib_Math.c,1213 ::
+0x0A87 0x2ACC GOTO END_ALL
+;__Lib_Math.c,1215 ::
+C3232SX1:
+;__Lib_Math.c,1216 ::
+0x0A88 0x1FF7 BTFSS R7, 7
+;__Lib_Math.c,1217 ::
+0x0A89 0x2A9F GOTO C3232SX3
+;__Lib_Math.c,1218 ::
+0x0A8A 0x1BF3 BTFSC R3, 7
+;__Lib_Math.c,1219 ::
+0x0A8B 0x2A99 GOTO C3232SX2
+;__Lib_Math.c,1220 ::
+0x0A8C 0x0873 MOVF R3, 0
+;__Lib_Math.c,1221 ::
+0x0A8D 0x00FB MOVWF R11
+;__Lib_Math.c,1222 ::
+0x0A8E 0x0872 MOVF R2, 0
+;__Lib_Math.c,1223 ::
+0x0A8F 0x00FA MOVWF R10
+;__Lib_Math.c,1224 ::
+0x0A90 0x0871 MOVF R1, 0
+;__Lib_Math.c,1225 ::
+0x0A91 0x00F9 MOVWF R9
+;__Lib_Math.c,1226 ::
+0x0A92 0x0870 MOVF R0, 0
+;__Lib_Math.c,1227 ::
+0x0A93 0x00F8 MOVWF R8
+;__Lib_Math.c,1228 ::
+0x0A94 0x01F3 CLRF R3
+;__Lib_Math.c,1229 ::
+0x0A95 0x01F2 CLRF R2
+;__Lib_Math.c,1230 ::
+0x0A96 0x01F1 CLRF R1
+;__Lib_Math.c,1231 ::
+0x0A97 0x01F0 CLRF R0
+;__Lib_Math.c,1232 ::
+0x0A98 0x2A6F GOTO C3232SOK
+;__Lib_Math.c,1233 ::
+C3232SX2:
+;__Lib_Math.c,1234 ::
+0x0A99 0x01F3 CLRF R3
+;__Lib_Math.c,1235 ::
+0x0A9A 0x01F2 CLRF R2
+;__Lib_Math.c,1236 ::
+0x0A9B 0x01F1 CLRF R1
+;__Lib_Math.c,1237 ::
+0x0A9C 0x01F0 CLRF R0
+;__Lib_Math.c,1238 ::
+0x0A9D 0x0AF0 INCF R0, 1
+;__Lib_Math.c,1239 ::
+0x0A9E 0x3400 RETLW 0
+;__Lib_Math.c,1241 ::
+C3232SX3:
+;__Lib_Math.c,1242 ::
+0x0A9F 0x09F3 COMF R3, 1
+;__Lib_Math.c,1243 ::
+0x0AA0 0x09F2 COMF R2, 1
+;__Lib_Math.c,1244 ::
+0x0AA1 0x09F1 COMF R1, 1
+;__Lib_Math.c,1245 ::
+0x0AA2 0x09F0 COMF R0, 1
+;__Lib_Math.c,1247 ::
+0x0AA3 0x17FC BSF R12, 7
+;__Lib_Math.c,1249 ::
+0x0AA4 0x2A6C GOTO C3232S
+;__Lib_Math.c,1251 ::
+C3232SX4:
+;__Lib_Math.c,1252 ::
+0x0AA5 0x0AF8 INCF R8, 1
+;__Lib_Math.c,1253 ::
+0x0AA6 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1254 ::
+0x0AA7 0x0AF9 INCF R9, 1
+;__Lib_Math.c,1255 ::
+0x0AA8 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1256 ::
+0x0AA9 0x0AFA INCF R10, 1
+;__Lib_Math.c,1257 ::
+0x0AAA 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1258 ::
+0x0AAB 0x0AFB INCF R11, 1
+;__Lib_Math.c,1259 ::
+0x0AAC 0x0874 MOVF R4, 0
+;__Lib_Math.c,1260 ::
+0x0AAD 0x0278 SUBWF R8, 0
+;__Lib_Math.c,1261 ::
+0x0AAE 0x1D03 BTFSS STATUS, 2
+;__Lib_Math.c,1262 ::
+0x0AAF 0x2A6F GOTO C3232SOK
+;__Lib_Math.c,1263 ::
+0x0AB0 0x0875 MOVF R5, 0
+;__Lib_Math.c,1264 ::
+0x0AB1 0x0279 SUBWF R9, 0
+;__Lib_Math.c,1265 ::
+0x0AB2 0x1D03 BTFSS STATUS, 2
+;__Lib_Math.c,1266 ::
+0x0AB3 0x2A6F GOTO C3232SOK
+;__Lib_Math.c,1267 ::
+0x0AB4 0x0876 MOVF R6, 0
+;__Lib_Math.c,1268 ::
+0x0AB5 0x027A SUBWF R10, 0
+;__Lib_Math.c,1269 ::
+0x0AB6 0x1D03 BTFSS STATUS, 2
+;__Lib_Math.c,1270 ::
+0x0AB7 0x2A6F GOTO C3232SOK
+;__Lib_Math.c,1271 ::
+0x0AB8 0x0877 MOVF R7, 0
+;__Lib_Math.c,1272 ::
+0x0AB9 0x027B SUBWF R11, 0
+;__Lib_Math.c,1273 ::
+0x0ABA 0x1D03 BTFSS STATUS, 2
+;__Lib_Math.c,1274 ::
+0x0ABB 0x2A6F GOTO C3232SOK
+;__Lib_Math.c,1275 ::
+0x0ABC 0x01FB CLRF R11
+;__Lib_Math.c,1276 ::
+0x0ABD 0x01FA CLRF R10
+;__Lib_Math.c,1277 ::
+0x0ABE 0x01F9 CLRF R9
+;__Lib_Math.c,1278 ::
+0x0ABF 0x01F8 CLRF R8
+;__Lib_Math.c,1279 ::
+0x0AC0 0x0AF0 INCF R0, 1
+;__Lib_Math.c,1280 ::
+0x0AC1 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1281 ::
+0x0AC2 0x0AF1 INCF R1, 1
+;__Lib_Math.c,1282 ::
+0x0AC3 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1283 ::
+0x0AC4 0x0AF2 INCF R2, 1
+;__Lib_Math.c,1284 ::
+0x0AC5 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,1285 ::
+0x0AC6 0x0AF3 INCF R3, 1
+;__Lib_Math.c,1286 ::
+0x0AC7 0x1FF3 BTFSS R3, 7
+;__Lib_Math.c,1287 ::
+0x0AC8 0x2A6F GOTO C3232SOK
+;__Lib_Math.c,1288 ::
+0x0AC9 0x01A0 CLRF ___math_tempb
+;__Lib_Math.c,1289 ::
+0x0ACA 0x1620 BSF ___math_tempb, 4
+;__Lib_Math.c,1290 ::
+0x0ACB 0x34FF RETLW 255
+;__Lib_Math.c,1291 ::
+END_ALL:
+;__Lib_Math.c,1292 ::
+0x0ACC 0x01A0 CLRF ___math_tempb
+;__Lib_Math.c,1293 ::
+0x0ACD 0x1C7C BTFSS R12, 0
+;__Lib_Math.c,1294 ::
+0x0ACE 0x2AD2 GOTO avoid_comfrem
+;__Lib_Math.c,1296 ::
+0x0ACF 0x3180 MOVLP 0
+0x0AD0 0x278D CALL _COMFREM
+0x0AD1 0x3188 MOVLP 8
+;__Lib_Math.c,1298 ::
+avoid_comfrem:
+;__Lib_Math.c,1299 ::
+0x0AD2 0x3E00 ADDLW 0
+;__Lib_Math.c,1301 ::
+L_end_Div_32x32_S:
+0x0AD3 0x0008 RETURN
+; end of _Div_32x32_S
+_oled_start:
+;main.c,142 :: void oled_start(){
+;main.c,143 :: OLED_PWD = 1;
+0x0AD4 0x0140 MOVLB 0
+0x0AD5 0x1616 BSF LATA4_bit, BitPos(LATA4_bit+0)
+;main.c,145 :: Delay_ms(200);
+0x0AD6 0x3009 MOVLW 9
+0x0AD7 0x00FB MOVWF R11
+0x0AD8 0x301E MOVLW 30
+0x0AD9 0x00FC MOVWF R12
+0x0ADA 0x30E4 MOVLW 228
+0x0ADB 0x00FD MOVWF R13
+L_oled_start36:
+0x0ADC 0x0BFD DECFSZ R13, 1
+0x0ADD 0x2ADC GOTO L_oled_start36
+0x0ADE 0x0BFC DECFSZ R12, 1
+0x0ADF 0x2ADC GOTO L_oled_start36
+0x0AE0 0x0BFB DECFSZ R11, 1
+0x0AE1 0x2ADC GOTO L_oled_start36
+0x0AE2 0x0000 NOP
+;main.c,146 :: Soft_I2C_init();
+0x0AE3 0x3180 MOVLP 0
+0x0AE4 0x26D0 CALL _Soft_I2C_Init
+0x0AE5 0x3188 MOVLP 8
+;main.c,147 :: Delay_ms(10);
+0x0AE6 0x3068 MOVLW 104
+0x0AE7 0x00FC MOVWF R12
+0x0AE8 0x30E4 MOVLW 228
+0x0AE9 0x00FD MOVWF R13
+L_oled_start37:
+0x0AEA 0x0BFD DECFSZ R13, 1
+0x0AEB 0x2AEA GOTO L_oled_start37
+0x0AEC 0x0BFC DECFSZ R12, 1
+0x0AED 0x2AEA GOTO L_oled_start37
+0x0AEE 0x0000 NOP
+;main.c,148 :: oled_init();
+0x0AEF 0x212C CALL _oled_init
+;main.c,150 :: if(gre){
+0x0AF0 0x0143 MOVLB 3
+0x0AF1 0x1DA0 BTFSS _gre, BitPos(_gre+0)
+0x0AF2 0x2AFB GOTO L_oled_start38
+;main.c,151 :: Greating();
+0x0AF3 0x3180 MOVLP 0
+0x0AF4 0x25AE CALL _Greating
+0x0AF5 0x3188 MOVLP 8
+;main.c,152 :: gre = 0;
+0x0AF6 0x0143 MOVLB 3
+0x0AF7 0x11A0 BCF _gre, BitPos(_gre+0)
+;main.c,153 :: oled_clear();
+0x0AF8 0x3180 MOVLP 0
+0x0AF9 0x2449 CALL _oled_clear
+0x0AFA 0x3188 MOVLP 8
+;main.c,154 :: }
+L_oled_start38:
+;main.c,155 :: oled_wr_str(0, 0, "PWR W", 9);
+0x0AFB 0x0144 MOVLB 4
+0x0AFC 0x01A3 CLRF FARG_oled_wr_str_page
+0x0AFD 0x01A4 CLRF FARG_oled_wr_str_col
+0x0AFE 0x3060 MOVLW ?lstr1_main
+0x0AFF 0x00A5 MOVWF FARG_oled_wr_str_str
+0x0B00 0x3001 MOVLW hi_addr(?lstr1_main)
+0x0B01 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x0B02 0x3009 MOVLW 9
+0x0B03 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x0B04 0x3180 MOVLP 0
+0x0B05 0x246D CALL _oled_wr_str
+0x0B06 0x3188 MOVLP 8
+;main.c,156 :: oled_bat();
+0x0B07 0x3180 MOVLP 0
+0x0B08 0x25EC CALL _oled_bat
+0x0B09 0x3188 MOVLP 8
+;main.c,157 :: oled_wr_str(2, 0, "SWR ", 9);
+0x0B0A 0x3002 MOVLW 2
+0x0B0B 0x0144 MOVLB 4
+0x0B0C 0x00A3 MOVWF FARG_oled_wr_str_page
+0x0B0D 0x01A4 CLRF FARG_oled_wr_str_col
+0x0B0E 0x3056 MOVLW ?lstr2_main
+0x0B0F 0x00A5 MOVWF FARG_oled_wr_str_str
+0x0B10 0x3001 MOVLW hi_addr(?lstr2_main)
+0x0B11 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x0B12 0x3009 MOVLW 9
+0x0B13 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x0B14 0x3180 MOVLP 0
+0x0B15 0x246D CALL _oled_wr_str
+0x0B16 0x3188 MOVLP 8
+;main.c,158 :: oled_wr_str(0, 42, "=", 1);
+0x0B17 0x0144 MOVLB 4
+0x0B18 0x01A3 CLRF FARG_oled_wr_str_page
+0x0B19 0x302A MOVLW 42
+0x0B1A 0x00A4 MOVWF FARG_oled_wr_str_col
+0x0B1B 0x3054 MOVLW ?lstr3_main
+0x0B1C 0x00A5 MOVWF FARG_oled_wr_str_str
+0x0B1D 0x3001 MOVLW hi_addr(?lstr3_main)
+0x0B1E 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x0B1F 0x3001 MOVLW 1
+0x0B20 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x0B21 0x3180 MOVLP 0
+0x0B22 0x246D CALL _oled_wr_str
+0x0B23 0x3188 MOVLP 8
+;main.c,159 :: oled_wr_str(2, 42, "=", 1);
+0x0B24 0x3002 MOVLW 2
+0x0B25 0x0144 MOVLB 4
+0x0B26 0x00A3 MOVWF FARG_oled_wr_str_page
+0x0B27 0x302A MOVLW 42
+0x0B28 0x00A4 MOVWF FARG_oled_wr_str_col
+0x0B29 0x306A MOVLW ?lstr4_main
+0x0B2A 0x00A5 MOVWF FARG_oled_wr_str_str
+0x0B2B 0x3001 MOVLW hi_addr(?lstr4_main)
+0x0B2C 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x0B2D 0x3001 MOVLW 1
+0x0B2E 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x0B2F 0x3180 MOVLP 0
+0x0B30 0x246D CALL _oled_wr_str
+0x0B31 0x3188 MOVLP 8
+;main.c,160 :: Voltage_old = 9999;
+0x0B32 0x300F MOVLW 15
+0x0B33 0x0142 MOVLB 2
+0x0B34 0x00C8 MOVWF _Voltage_old
+0x0B35 0x3027 MOVLW 39
+0x0B36 0x00C9 MOVWF _Voltage_old+1
+;main.c,161 :: SWR_fixed_old = 100;
+0x0B37 0x3064 MOVLW 100
+0x0B38 0x00CA MOVWF _SWR_fixed_old
+0x0B39 0x3000 MOVLW 0
+0x0B3A 0x00CB MOVWF _SWR_fixed_old+1
+;main.c,162 :: PWR_fixed_old = 9999;
+0x0B3B 0x300F MOVLW 15
+0x0B3C 0x00C6 MOVWF _PWR_fixed_old
+0x0B3D 0x3027 MOVLW 39
+0x0B3E 0x00C7 MOVWF _PWR_fixed_old+1
+;main.c,163 :: SWR_ind = 0;
+0x0B3F 0x01C0 CLRF _SWR_ind
+0x0B40 0x01C1 CLRF _SWR_ind+1
+;main.c,164 :: draw_swr(SWR_ind);
+0x0B41 0x0144 MOVLB 4
+0x0B42 0x01A0 CLRF FARG_draw_swr_s
+0x0B43 0x01A1 CLRF FARG_draw_swr_s+1
+0x0B44 0x3180 MOVLP 0
+0x0B45 0x26D2 CALL _draw_swr
+0x0B46 0x3188 MOVLP 8
+;main.c,165 :: volt_cnt = Tick + 1;
+0x0B47 0x3001 MOVLW 1
+0x0B48 0x0142 MOVLB 2
+0x0B49 0x074C ADDWF _Tick, 0
+0x0B4A 0x00C2 MOVWF _volt_cnt
+0x0B4B 0x3000 MOVLW 0
+0x0B4C 0x3D4D ADDWFC _Tick+1, 0
+0x0B4D 0x00C3 MOVWF _volt_cnt+1
+0x0B4E 0x3000 MOVLW 0
+0x0B4F 0x3D4E ADDWFC _Tick+2, 0
+0x0B50 0x00C4 MOVWF _volt_cnt+2
+0x0B51 0x3000 MOVLW 0
+0x0B52 0x3D4F ADDWFC _Tick+3, 0
+0x0B53 0x00C5 MOVWF _volt_cnt+3
+;main.c,166 :: watch_cnt = Tick;
+0x0B54 0x084C MOVF _Tick, 0
+0x0B55 0x00D0 MOVWF _watch_cnt
+0x0B56 0x084D MOVF _Tick+1, 0
+0x0B57 0x00D1 MOVWF _watch_cnt+1
+0x0B58 0x084E MOVF _Tick+2, 0
+0x0B59 0x00D2 MOVWF _watch_cnt+2
+0x0B5A 0x084F MOVF _Tick+3, 0
+0x0B5B 0x00D3 MOVWF _watch_cnt+3
+;main.c,167 :: B_short = 0; B_long = 0; B_xlong = 0;
+0x0B5C 0x0143 MOVLB 3
+0x0B5D 0x1320 BCF _B_short, BitPos(_B_short+0)
+0x0B5E 0x12A0 BCF _B_long, BitPos(_B_long+0)
+0x0B5F 0x1220 BCF _B_xlong, BitPos(_B_xlong+0)
+;main.c,168 :: disp_cnt = Tick + Disp_time*1000;
+0x0B60 0x0140 MOVLB 0
+0x0B61 0x0853 MOVF _Disp_time, 0
+0x0B62 0x00F0 MOVWF R0
+0x0B63 0x0854 MOVF _Disp_time+1, 0
+0x0B64 0x00F1 MOVWF R1
+0x0B65 0x0855 MOVF _Disp_time+2, 0
+0x0B66 0x00F2 MOVWF R2
+0x0B67 0x0856 MOVF _Disp_time+3, 0
+0x0B68 0x00F3 MOVWF R3
+0x0B69 0x30E8 MOVLW 232
+0x0B6A 0x00F4 MOVWF R4
+0x0B6B 0x3003 MOVLW 3
+0x0B6C 0x00F5 MOVWF R5
+0x0B6D 0x01F6 CLRF R6
+0x0B6E 0x01F7 CLRF R7
+0x0B6F 0x3180 MOVLP 0
+0x0B70 0x21BE CALL _Mul_32x32_U
+0x0B71 0x3188 MOVLP 8
+0x0B72 0x0870 MOVF R0, 0
+0x0B73 0x0142 MOVLB 2
+0x0B74 0x074C ADDWF _Tick, 0
+0x0B75 0x0143 MOVLB 3
+0x0B76 0x00BD MOVWF _disp_cnt
+0x0B77 0x0871 MOVF R1, 0
+0x0B78 0x0142 MOVLB 2
+0x0B79 0x3D4D ADDWFC _Tick+1, 0
+0x0B7A 0x0143 MOVLB 3
+0x0B7B 0x00BE MOVWF _disp_cnt+1
+0x0B7C 0x0872 MOVF R2, 0
+0x0B7D 0x0142 MOVLB 2
+0x0B7E 0x3D4E ADDWFC _Tick+2, 0
+0x0B7F 0x0143 MOVLB 3
+0x0B80 0x00BF MOVWF _disp_cnt+2
+0x0B81 0x0873 MOVF R3, 0
+0x0B82 0x0142 MOVLB 2
+0x0B83 0x3D4F ADDWFC _Tick+3, 0
+0x0B84 0x0143 MOVLB 3
+0x0B85 0x00C0 MOVWF _disp_cnt+3
+;main.c,169 :: off_cnt = Tick + Off_time*1000;
+0x0B86 0x0140 MOVLB 0
+0x0B87 0x0857 MOVF _Off_time, 0
+0x0B88 0x00F0 MOVWF R0
+0x0B89 0x0858 MOVF _Off_time+1, 0
+0x0B8A 0x00F1 MOVWF R1
+0x0B8B 0x0859 MOVF _Off_time+2, 0
+0x0B8C 0x00F2 MOVWF R2
+0x0B8D 0x085A MOVF _Off_time+3, 0
+0x0B8E 0x00F3 MOVWF R3
+0x0B8F 0x30E8 MOVLW 232
+0x0B90 0x00F4 MOVWF R4
+0x0B91 0x3003 MOVLW 3
+0x0B92 0x00F5 MOVWF R5
+0x0B93 0x01F6 CLRF R6
+0x0B94 0x01F7 CLRF R7
+0x0B95 0x3180 MOVLP 0
+0x0B96 0x21BE CALL _Mul_32x32_U
+0x0B97 0x3188 MOVLP 8
+0x0B98 0x0870 MOVF R0, 0
+0x0B99 0x0142 MOVLB 2
+0x0B9A 0x074C ADDWF _Tick, 0
+0x0B9B 0x00EC MOVWF _off_cnt
+0x0B9C 0x0871 MOVF R1, 0
+0x0B9D 0x3D4D ADDWFC _Tick+1, 0
+0x0B9E 0x00ED MOVWF _off_cnt+1
+0x0B9F 0x0872 MOVF R2, 0
+0x0BA0 0x3D4E ADDWFC _Tick+2, 0
+0x0BA1 0x00EE MOVWF _off_cnt+2
+0x0BA2 0x0873 MOVF R3, 0
+0x0BA3 0x3D4F ADDWFC _Tick+3, 0
+0x0BA4 0x00EF MOVWF _off_cnt+3
+;main.c,170 :: return;
+;main.c,171 :: }
+L_end_oled_start:
+0x0BA5 0x0008 RETURN
+; end of _oled_start
+_double2int:
+;__Lib_MathDouble.c,1385 ::
+;__Lib_MathDouble.c,1393 ::
+0x0BA6 0x0140 MOVLB 0
+;__Lib_MathDouble.c,1395 ::
+0x0BA7 0x01FB CLRF R11
+;__Lib_MathDouble.c,1396 ::
+0x0BA8 0x0873 MOVF R3, 0
+;__Lib_MathDouble.c,1397 ::
+0x0BA9 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,1398 ::
+0x0BAA 0x2BE2 GOTO IRES016
+;__Lib_MathDouble.c,1400 ::
+0x0BAB 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,1401 ::
+0x0BAC 0x00FA MOVWF R10
+;__Lib_MathDouble.c,1402 ::
+0x0BAD 0x17F2 BSF R2, 7
+;__Lib_MathDouble.c,1404 ::
+0x0BAE 0x308E MOVLW 142
+;__Lib_MathDouble.c,1405 ::
+0x0BAF 0x02F3 SUBWF R3, 1
+;__Lib_MathDouble.c,1406 ::
+0x0BB0 0x1FF3 BTFSS R3, 7
+;__Lib_MathDouble.c,1407 ::
+0x0BB1 0x2BE5 GOTO SETIOV16
+;__Lib_MathDouble.c,1408 ::
+0x0BB2 0x09F3 COMF R3, 1
+;__Lib_MathDouble.c,1409 ::
+0x0BB3 0x0AF3 INCF R3, 1
+;__Lib_MathDouble.c,1411 ::
+0x0BB4 0x3008 MOVLW 8
+;__Lib_MathDouble.c,1412 ::
+0x0BB5 0x0273 SUBWF R3, 0
+;__Lib_MathDouble.c,1413 ::
+0x0BB6 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,1414 ::
+0x0BB7 0x2BC8 GOTO TSHIFT3216
+;__Lib_MathDouble.c,1415 ::
+0x0BB8 0x00F3 MOVWF R3
+;__Lib_MathDouble.c,1416 ::
+0x0BB9 0x0DF1 RLF R1, 1
+;__Lib_MathDouble.c,1417 ::
+0x0BBA 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,1418 ::
+0x0BBB 0x00F1 MOVWF R1
+;__Lib_MathDouble.c,1419 ::
+0x0BBC 0x01F2 CLRF R2
+;__Lib_MathDouble.c,1421 ::
+0x0BBD 0x3008 MOVLW 8
+;__Lib_MathDouble.c,1422 ::
+0x0BBE 0x0273 SUBWF R3, 0
+;__Lib_MathDouble.c,1423 ::
+0x0BBF 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,1424 ::
+0x0BC0 0x2BC8 GOTO TSHIFT3216
+;__Lib_MathDouble.c,1425 ::
+0x0BC1 0x00F3 MOVWF R3
+;__Lib_MathDouble.c,1426 ::
+0x0BC2 0x0DF1 RLF R1, 1
+;__Lib_MathDouble.c,1427 ::
+0x0BC3 0x01F1 CLRF R1
+;__Lib_MathDouble.c,1429 ::
+0x0BC4 0x0873 MOVF R3, 0
+;__Lib_MathDouble.c,1430 ::
+0x0BC5 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,1431 ::
+0x0BC6 0x1003 BCF STATUS, 0
+;__Lib_MathDouble.c,1432 ::
+0x0BC7 0x2BD0 GOTO SHIFT3216OK
+;__Lib_MathDouble.c,1433 ::
+TSHIFT3216:
+;__Lib_MathDouble.c,1434 ::
+0x0BC8 0x0873 MOVF R3, 0
+;__Lib_MathDouble.c,1435 ::
+0x0BC9 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,1436 ::
+0x0BCA 0x2BD0 GOTO SHIFT3216OK
+;__Lib_MathDouble.c,1437 ::
+SHIFT3216:
+;__Lib_MathDouble.c,1438 ::
+0x0BCB 0x1003 BCF STATUS, 0
+;__Lib_MathDouble.c,1439 ::
+0x0BCC 0x0CF2 RRF R2, 1
+;__Lib_MathDouble.c,1440 ::
+0x0BCD 0x0CF1 RRF R1, 1
+;__Lib_MathDouble.c,1441 ::
+0x0BCE 0x0BF3 DECFSZ R3, 1
+;__Lib_MathDouble.c,1442 ::
+0x0BCF 0x2BCB GOTO SHIFT3216
+;__Lib_MathDouble.c,1443 ::
+SHIFT3216OK:
+;__Lib_MathDouble.c,1444 ::
+0x0BD0 0x1B7B BTFSC R11, 6
+;__Lib_MathDouble.c,1445 ::
+0x0BD1 0x1C71 BTFSS R1, 0
+;__Lib_MathDouble.c,1446 ::
+0x0BD2 0x2BDA GOTO INT3216OK
+;__Lib_MathDouble.c,1447 ::
+0x0BD3 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,1448 ::
+0x0BD4 0x2BDA GOTO INT3216OK
+;__Lib_MathDouble.c,1449 ::
+0x0BD5 0x0AF1 INCF R1, 1
+;__Lib_MathDouble.c,1450 ::
+0x0BD6 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,1451 ::
+0x0BD7 0x0AF2 INCF R2, 1
+;__Lib_MathDouble.c,1452 ::
+0x0BD8 0x1BF2 BTFSC R2, 7
+;__Lib_MathDouble.c,1453 ::
+0x0BD9 0x2BF1 GOTO JPJSETIOV3224
+;__Lib_MathDouble.c,1454 ::
+INT3216OK:
+;__Lib_MathDouble.c,1455 ::
+0x0BDA 0x1FFA BTFSS R10, 7
+;__Lib_MathDouble.c,1456 ::
+0x0BDB 0x2BF4 GOTO INT3216EOK
+;__Lib_MathDouble.c,1458 ::
+0x0BDC 0x09F2 COMF R2, 1
+;__Lib_MathDouble.c,1459 ::
+0x0BDD 0x09F1 COMF R1, 1
+;__Lib_MathDouble.c,1460 ::
+0x0BDE 0x0AF1 INCF R1, 1
+;__Lib_MathDouble.c,1461 ::
+0x0BDF 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,1462 ::
+0x0BE0 0x0AF2 INCF R2, 1
+;__Lib_MathDouble.c,1463 ::
+0x0BE1 0x2BF4 GOTO INT3216EOK
+;__Lib_MathDouble.c,1465 ::
+IRES016:
+;__Lib_MathDouble.c,1466 ::
+0x0BE2 0x01F2 CLRF R2
+;__Lib_MathDouble.c,1467 ::
+0x0BE3 0x01F1 CLRF R1
+;__Lib_MathDouble.c,1468 ::
+0x0BE4 0x2BF4 GOTO INT3216EOK
+;__Lib_MathDouble.c,1469 ::
+SETIOV16:
+;__Lib_MathDouble.c,1470 ::
+0x0BE5 0x147B BSF R11, 0
+;__Lib_MathDouble.c,1471 ::
+0x0BE6 0x1FFB BTFSS R11, 7
+;__Lib_MathDouble.c,1472 ::
+0x0BE7 0x2BF7 GOTO INT3216EER
+;__Lib_MathDouble.c,1474 ::
+0x0BE8 0x01F2 CLRF R2
+;__Lib_MathDouble.c,1475 ::
+0x0BE9 0x1FFA BTFSS R10, 7
+;__Lib_MathDouble.c,1476 ::
+0x0BEA 0x2BF7 GOTO INT3216EER
+;__Lib_MathDouble.c,1477 ::
+0x0BEB 0x30FF MOVLW 255
+;__Lib_MathDouble.c,1478 ::
+0x0BEC 0x00F2 MOVWF R2
+;__Lib_MathDouble.c,1479 ::
+0x0BED 0x00F1 MOVWF R1
+;__Lib_MathDouble.c,1480 ::
+0x0BEE 0x0DFA RLF R10, 1
+;__Lib_MathDouble.c,1481 ::
+0x0BEF 0x0CF2 RRF R2, 1
+;__Lib_MathDouble.c,1482 ::
+0x0BF0 0x2BF7 GOTO INT3216EER
+;__Lib_MathDouble.c,1484 ::
+JPJSETIOV3224:
+;__Lib_MathDouble.c,1485 ::
+0x0BF1 0x3001 MOVLW 1
+;__Lib_MathDouble.c,1486 ::
+0x0BF2 0x00FC MOVWF R12
+;__Lib_MathDouble.c,1487 ::
+0x0BF3 0x2BF9 GOTO INT3216EEE
+;__Lib_MathDouble.c,1488 ::
+INT3216EOK:
+;__Lib_MathDouble.c,1489 ::
+0x0BF4 0x3000 MOVLW 0
+;__Lib_MathDouble.c,1490 ::
+0x0BF5 0x00FC MOVWF R12
+;__Lib_MathDouble.c,1491 ::
+0x0BF6 0x2BF9 GOTO INT3216EEE
+;__Lib_MathDouble.c,1492 ::
+INT3216EER:
+;__Lib_MathDouble.c,1493 ::
+0x0BF7 0x30FF MOVLW 255
+;__Lib_MathDouble.c,1494 ::
+0x0BF8 0x00FC MOVWF R12
+;__Lib_MathDouble.c,1495 ::
+INT3216EEE:
+;__Lib_MathDouble.c,1498 ::
+0x0BF9 0x08FC MOVF R12, 1
+;__Lib_MathDouble.c,1500 ::
+0x0BFA 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,1501 ::
+0x0BFB 0x2BFF GOTO L_Double2Int_0
+;__Lib_MathDouble.c,1503 ::
+0x0BFC 0x3180 MOVLP 0
+0x0BFD 0x2780 CALL _SETIOV3224
+0x0BFE 0x3188 MOVLP 8
+;__Lib_MathDouble.c,1505 ::
+L_Double2Int_0:
+;__Lib_MathDouble.c,1506 ::
+0x0BFF 0x0871 MOVF R1, 0
+;__Lib_MathDouble.c,1507 ::
+0x0C00 0x00F0 MOVWF R0
+;__Lib_MathDouble.c,1508 ::
+0x0C01 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,1509 ::
+0x0C02 0x00F1 MOVWF R1
+;__Lib_MathDouble.c,1513 ::
+L_end_double2int:
+0x0C03 0x0008 RETURN
+; end of _double2int
+_Add_32x32_FP:
+;__Lib_MathDouble.c,379 ::
+;__Lib_MathDouble.c,390 ::
+;__Lib_MathDouble.c,392 ::
+0x0C04 0x0140 MOVLB 0
+;__Lib_MathDouble.c,393 ::
+0x0C05 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,394 ::
+0x0C06 0x0676 XORWF R6, 0
+;__Lib_MathDouble.c,395 ::
+0x0C07 0x00A1 MOVWF __math_tempbD
+;__Lib_MathDouble.c,397 ::
+0x0C08 0x01F8 CLRF R8
+;__Lib_MathDouble.c,398 ::
+0x0C09 0x01F9 CLRF R9
+;__Lib_MathDouble.c,400 ::
+0x0C0A 0x0873 MOVF R3, 0
+;__Lib_MathDouble.c,401 ::
+0x0C0B 0x0277 SUBWF R7, 0
+;__Lib_MathDouble.c,402 ::
+0x0C0C 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,403 ::
+0x0C0D 0x2C26 GOTO USEA32
+;__Lib_MathDouble.c,405 ::
+0x0C0E 0x0877 MOVF R7, 0
+;__Lib_MathDouble.c,406 ::
+0x0C0F 0x00FD MOVWF R13
+;__Lib_MathDouble.c,407 ::
+0x0C10 0x0873 MOVF R3, 0
+;__Lib_MathDouble.c,408 ::
+0x0C11 0x00F7 MOVWF R7
+;__Lib_MathDouble.c,409 ::
+0x0C12 0x087D MOVF R13, 0
+;__Lib_MathDouble.c,410 ::
+0x0C13 0x00F3 MOVWF R3
+;__Lib_MathDouble.c,412 ::
+0x0C14 0x0876 MOVF R6, 0
+;__Lib_MathDouble.c,413 ::
+0x0C15 0x00FD MOVWF R13
+;__Lib_MathDouble.c,414 ::
+0x0C16 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,415 ::
+0x0C17 0x00F6 MOVWF R6
+;__Lib_MathDouble.c,416 ::
+0x0C18 0x087D MOVF R13, 0
+;__Lib_MathDouble.c,417 ::
+0x0C19 0x00F2 MOVWF R2
+;__Lib_MathDouble.c,419 ::
+0x0C1A 0x0875 MOVF R5, 0
+;__Lib_MathDouble.c,420 ::
+0x0C1B 0x00FD MOVWF R13
+;__Lib_MathDouble.c,421 ::
+0x0C1C 0x0871 MOVF R1, 0
+;__Lib_MathDouble.c,422 ::
+0x0C1D 0x00F5 MOVWF R5
+;__Lib_MathDouble.c,423 ::
+0x0C1E 0x087D MOVF R13, 0
+;__Lib_MathDouble.c,424 ::
+0x0C1F 0x00F1 MOVWF R1
+;__Lib_MathDouble.c,426 ::
+0x0C20 0x0874 MOVF R4, 0
+;__Lib_MathDouble.c,427 ::
+0x0C21 0x00FD MOVWF R13
+;__Lib_MathDouble.c,428 ::
+0x0C22 0x0870 MOVF R0, 0
+;__Lib_MathDouble.c,429 ::
+0x0C23 0x00F4 MOVWF R4
+;__Lib_MathDouble.c,430 ::
+0x0C24 0x087D MOVF R13, 0
+;__Lib_MathDouble.c,431 ::
+0x0C25 0x00F0 MOVWF R0
+;__Lib_MathDouble.c,432 ::
+USEA32:
+;__Lib_MathDouble.c,433 ::
+0x0C26 0x0877 MOVF R7, 0
+;__Lib_MathDouble.c,434 ::
+0x0C27 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,435 ::
+0x0C28 0x2CA7 GOTO JMPEEE
+;__Lib_MathDouble.c,436 ::
+0x0C29 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,437 ::
+0x0C2A 0x00FA MOVWF R10
+;__Lib_MathDouble.c,438 ::
+0x0C2B 0x17F2 BSF R2, 7
+;__Lib_MathDouble.c,439 ::
+0x0C2C 0x17F6 BSF R6, 7
+;__Lib_MathDouble.c,440 ::
+0x0C2D 0x0877 MOVF R7, 0
+;__Lib_MathDouble.c,441 ::
+0x0C2E 0x0273 SUBWF R3, 0
+;__Lib_MathDouble.c,442 ::
+0x0C2F 0x00F7 MOVWF R7
+;__Lib_MathDouble.c,443 ::
+0x0C30 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,444 ::
+0x0C31 0x2C59 GOTO ALIGNED32
+;__Lib_MathDouble.c,445 ::
+0x0C32 0x3008 MOVLW 8
+;__Lib_MathDouble.c,446 ::
+0x0C33 0x0277 SUBWF R7, 0
+;__Lib_MathDouble.c,447 ::
+0x0C34 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,448 ::
+0x0C35 0x2C4F GOTO ALIGNB32
+;__Lib_MathDouble.c,449 ::
+0x0C36 0x00F7 MOVWF R7
+;__Lib_MathDouble.c,450 ::
+0x0C37 0x0874 MOVF R4, 0
+;__Lib_MathDouble.c,451 ::
+0x0C38 0x00F9 MOVWF R9
+;__Lib_MathDouble.c,452 ::
+0x0C39 0x0875 MOVF R5, 0
+;__Lib_MathDouble.c,453 ::
+0x0C3A 0x00F4 MOVWF R4
+;__Lib_MathDouble.c,454 ::
+0x0C3B 0x0876 MOVF R6, 0
+;__Lib_MathDouble.c,455 ::
+0x0C3C 0x00F5 MOVWF R5
+;__Lib_MathDouble.c,456 ::
+0x0C3D 0x01F6 CLRF R6
+;__Lib_MathDouble.c,457 ::
+0x0C3E 0x3008 MOVLW 8
+;__Lib_MathDouble.c,458 ::
+0x0C3F 0x0277 SUBWF R7, 0
+;__Lib_MathDouble.c,459 ::
+0x0C40 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,460 ::
+0x0C41 0x2C4F GOTO ALIGNB32
+;__Lib_MathDouble.c,461 ::
+0x0C42 0x00F7 MOVWF R7
+;__Lib_MathDouble.c,462 ::
+0x0C43 0x0874 MOVF R4, 0
+;__Lib_MathDouble.c,463 ::
+0x0C44 0x00F9 MOVWF R9
+;__Lib_MathDouble.c,464 ::
+0x0C45 0x0875 MOVF R5, 0
+;__Lib_MathDouble.c,465 ::
+0x0C46 0x00F4 MOVWF R4
+;__Lib_MathDouble.c,466 ::
+0x0C47 0x01F5 CLRF R5
+;__Lib_MathDouble.c,467 ::
+0x0C48 0x3008 MOVLW 8
+;__Lib_MathDouble.c,468 ::
+0x0C49 0x0277 SUBWF R7, 0
+;__Lib_MathDouble.c,469 ::
+0x0C4A 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,470 ::
+0x0C4B 0x2C4F GOTO ALIGNB32
+;__Lib_MathDouble.c,471 ::
+0x0C4C 0x087A MOVF R10, 0
+;__Lib_MathDouble.c,472 ::
+0x0C4D 0x00F2 MOVWF R2
+;__Lib_MathDouble.c,473 ::
+0x0C4E 0x2CA7 GOTO JMPEEE
+;__Lib_MathDouble.c,474 ::
+ALIGNB32:
+;__Lib_MathDouble.c,475 ::
+0x0C4F 0x0877 MOVF R7, 0
+;__Lib_MathDouble.c,476 ::
+0x0C50 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,477 ::
+0x0C51 0x2C59 GOTO ALIGNED32
+;__Lib_MathDouble.c,478 ::
+ALOOPB32:
+;__Lib_MathDouble.c,479 ::
+0x0C52 0x1003 BCF STATUS, 0
+;__Lib_MathDouble.c,480 ::
+0x0C53 0x0CF6 RRF R6, 1
+;__Lib_MathDouble.c,481 ::
+0x0C54 0x0CF5 RRF R5, 1
+;__Lib_MathDouble.c,482 ::
+0x0C55 0x0CF4 RRF R4, 1
+;__Lib_MathDouble.c,483 ::
+0x0C56 0x0CF9 RRF R9, 1
+;__Lib_MathDouble.c,484 ::
+0x0C57 0x0BF7 DECFSZ R7, 1
+;__Lib_MathDouble.c,485 ::
+0x0C58 0x2C52 GOTO ALOOPB32
+;__Lib_MathDouble.c,486 ::
+ALIGNED32:
+;__Lib_MathDouble.c,487 ::
+0x0C59 0x1FA1 BTFSS __math_tempbD, 7
+;__Lib_MathDouble.c,488 ::
+0x0C5A 0x2C66 GOTO AOK32
+;__Lib_MathDouble.c,489 ::
+0x0C5B 0x09F9 COMF R9, 1
+;__Lib_MathDouble.c,490 ::
+0x0C5C 0x09F4 COMF R4, 1
+;__Lib_MathDouble.c,491 ::
+0x0C5D 0x09F5 COMF R5, 1
+;__Lib_MathDouble.c,492 ::
+0x0C5E 0x09F6 COMF R6, 1
+;__Lib_MathDouble.c,493 ::
+0x0C5F 0x0AF9 INCF R9, 1
+;__Lib_MathDouble.c,494 ::
+0x0C60 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,495 ::
+0x0C61 0x0AF4 INCF R4, 1
+;__Lib_MathDouble.c,496 ::
+0x0C62 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,497 ::
+0x0C63 0x0AF5 INCF R5, 1
+;__Lib_MathDouble.c,498 ::
+0x0C64 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,499 ::
+0x0C65 0x0AF6 INCF R6, 1
+;__Lib_MathDouble.c,500 ::
+AOK32:
+;__Lib_MathDouble.c,501 ::
+0x0C66 0x0879 MOVF R9, 0
+;__Lib_MathDouble.c,502 ::
+0x0C67 0x07F8 ADDWF R8, 1
+;__Lib_MathDouble.c,503 ::
+0x0C68 0x0874 MOVF R4, 0
+;__Lib_MathDouble.c,504 ::
+0x0C69 0x1803 BTFSC STATUS, 0
+;__Lib_MathDouble.c,505 ::
+0x0C6A 0x0F74 INCFSZ R4, 0
+;__Lib_MathDouble.c,506 ::
+0x0C6B 0x07F0 ADDWF R0, 1
+;__Lib_MathDouble.c,507 ::
+0x0C6C 0x0875 MOVF R5, 0
+;__Lib_MathDouble.c,508 ::
+0x0C6D 0x1803 BTFSC STATUS, 0
+;__Lib_MathDouble.c,509 ::
+0x0C6E 0x0F75 INCFSZ R5, 0
+;__Lib_MathDouble.c,510 ::
+0x0C6F 0x07F1 ADDWF R1, 1
+;__Lib_MathDouble.c,511 ::
+0x0C70 0x0876 MOVF R6, 0
+;__Lib_MathDouble.c,512 ::
+0x0C71 0x1803 BTFSC STATUS, 0
+;__Lib_MathDouble.c,513 ::
+0x0C72 0x0F76 INCFSZ R6, 0
+;__Lib_MathDouble.c,514 ::
+0x0C73 0x07F2 ADDWF R2, 1
+;__Lib_MathDouble.c,515 ::
+0x0C74 0x1BA1 BTFSC __math_tempbD, 7
+;__Lib_MathDouble.c,516 ::
+0x0C75 0x2C7F GOTO ACOMP32
+;__Lib_MathDouble.c,517 ::
+0x0C76 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,518 ::
+0x0C77 0x2C8F GOTO JMPNRMRND4032
+;__Lib_MathDouble.c,519 ::
+0x0C78 0x0CF2 RRF R2, 1
+;__Lib_MathDouble.c,520 ::
+0x0C79 0x0CF1 RRF R1, 1
+;__Lib_MathDouble.c,521 ::
+0x0C7A 0x0CF0 RRF R0, 1
+;__Lib_MathDouble.c,522 ::
+0x0C7B 0x0CF8 RRF R8, 1
+;__Lib_MathDouble.c,523 ::
+0x0C7C 0x0FF3 INCFSZ R3, 1
+;__Lib_MathDouble.c,524 ::
+0x0C7D 0x2C8F GOTO JMPNRMRND4032
+;__Lib_MathDouble.c,525 ::
+0x0C7E 0x2CA1 GOTO ADD_JMPSETFOV32
+;__Lib_MathDouble.c,526 ::
+ACOMP32:
+;__Lib_MathDouble.c,527 ::
+0x0C7F 0x1803 BTFSC STATUS, 0
+;__Lib_MathDouble.c,528 ::
+0x0C80 0x2C95 GOTO JMPNRM4032
+;__Lib_MathDouble.c,529 ::
+0x0C81 0x09F8 COMF R8, 1
+;__Lib_MathDouble.c,530 ::
+0x0C82 0x09F0 COMF R0, 1
+;__Lib_MathDouble.c,531 ::
+0x0C83 0x09F1 COMF R1, 1
+;__Lib_MathDouble.c,532 ::
+0x0C84 0x09F2 COMF R2, 1
+;__Lib_MathDouble.c,533 ::
+0x0C85 0x0AF8 INCF R8, 1
+;__Lib_MathDouble.c,534 ::
+0x0C86 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,535 ::
+0x0C87 0x0AF0 INCF R0, 1
+;__Lib_MathDouble.c,536 ::
+0x0C88 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,537 ::
+0x0C89 0x0AF1 INCF R1, 1
+;__Lib_MathDouble.c,538 ::
+0x0C8A 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,539 ::
+0x0C8B 0x0AF2 INCF R2, 1
+;__Lib_MathDouble.c,540 ::
+0x0C8C 0x3080 MOVLW 128
+;__Lib_MathDouble.c,541 ::
+0x0C8D 0x06FA XORWF R10, 1
+;__Lib_MathDouble.c,542 ::
+0x0C8E 0x2C9B GOTO JMPNRM32
+;__Lib_MathDouble.c,543 ::
+JMPNRMRND4032:
+;__Lib_MathDouble.c,544 ::
+0x0C8F 0x3001 MOVLW 1
+;__Lib_MathDouble.c,545 ::
+0x0C90 0x00FC MOVWF R12
+;__Lib_MathDouble.c,547 ::
+0x0C91 0x3180 MOVLP 0
+0x0C92 0x2726 CALL _NRM4032
+0x0C93 0x3188 MOVLP 8
+;__Lib_MathDouble.c,549 ::
+0x0C94 0x2CA9 GOTO ADD32EEE
+;__Lib_MathDouble.c,550 ::
+JMPNRM4032:
+;__Lib_MathDouble.c,551 ::
+0x0C95 0x3002 MOVLW 2
+;__Lib_MathDouble.c,552 ::
+0x0C96 0x00FC MOVWF R12
+;__Lib_MathDouble.c,554 ::
+0x0C97 0x3180 MOVLP 0
+0x0C98 0x2726 CALL _NRM4032
+0x0C99 0x3188 MOVLP 8
+;__Lib_MathDouble.c,556 ::
+0x0C9A 0x2CA9 GOTO ADD32EEE
+;__Lib_MathDouble.c,557 ::
+JMPNRM32:
+;__Lib_MathDouble.c,558 ::
+0x0C9B 0x3004 MOVLW 4
+;__Lib_MathDouble.c,559 ::
+0x0C9C 0x00FC MOVWF R12
+;__Lib_MathDouble.c,561 ::
+0x0C9D 0x3180 MOVLP 0
+0x0C9E 0x2799 CALL _NRM3232
+0x0C9F 0x3188 MOVLP 8
+;__Lib_MathDouble.c,563 ::
+0x0CA0 0x2CA9 GOTO ADD32EEE
+;__Lib_MathDouble.c,564 ::
+ADD_JMPSETFOV32:
+;__Lib_MathDouble.c,565 ::
+0x0CA1 0x3008 MOVLW 8
+;__Lib_MathDouble.c,566 ::
+0x0CA2 0x00FC MOVWF R12
+;__Lib_MathDouble.c,568 ::
+0x0CA3 0x3180 MOVLP 0
+0x0CA4 0x243D CALL _SETFOV32
+0x0CA5 0x3188 MOVLP 8
+;__Lib_MathDouble.c,570 ::
+0x0CA6 0x2CA9 GOTO ADD32EEE
+;__Lib_MathDouble.c,571 ::
+JMPEEE:
+;__Lib_MathDouble.c,572 ::
+0x0CA7 0x3000 MOVLW 0
+;__Lib_MathDouble.c,573 ::
+0x0CA8 0x00FC MOVWF R12
+;__Lib_MathDouble.c,574 ::
+ADD32EEE:
+;__Lib_MathDouble.c,575 ::
+0x0CA9 0x0000 NOP
+;__Lib_MathDouble.c,583 ::
+L_end_Add_32x32_FP:
+0x0CAA 0x0008 RETURN
+; end of _Add_32x32_FP
+_get_forward:
+;main.c,550 :: int get_forward(void){
+;main.c,553 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH1);
+0x0CAB 0x3043 MOVLW 67
+0x0CAC 0x0144 MOVLB 4
+0x0CAD 0x00A3 MOVWF FARG_ADC_Init_Advanced_reference
+0x0CAE 0x3180 MOVLP 0
+0x0CAF 0x2297 CALL _ADC_Init_Advanced
+0x0CB0 0x3188 MOVLP 8
+;main.c,554 :: Delay_us(100);
+0x0CB1 0x3002 MOVLW 2
+0x0CB2 0x00FC MOVWF R12
+0x0CB3 0x3008 MOVLW 8
+0x0CB4 0x00FD MOVWF R13
+L_get_forward137:
+0x0CB5 0x0BFD DECFSZ R13, 1
+0x0CB6 0x2CB5 GOTO L_get_forward137
+0x0CB7 0x0BFC DECFSZ R12, 1
+0x0CB8 0x2CB5 GOTO L_get_forward137
+0x0CB9 0x0000 NOP
+;main.c,555 :: v = ADC_Get_Sample(FWD_input);
+0x0CBA 0x3008 MOVLW 8
+0x0CBB 0x0144 MOVLB 4
+0x0CBC 0x00A3 MOVWF FARG_ADC_Get_Sample_channel
+0x0CBD 0x3180 MOVLP 0
+0x0CBE 0x236C CALL _ADC_Get_Sample
+0x0CBF 0x3188 MOVLP 8
+0x0CC0 0x0870 MOVF R0, 0
+0x0CC1 0x0143 MOVLB 3
+0x0CC2 0x00EE MOVWF get_forward_v_L0
+0x0CC3 0x0871 MOVF R1, 0
+0x0CC4 0x00EF MOVWF get_forward_v_L0+1
+;main.c,556 :: if(v==1023){
+0x0CC5 0x0871 MOVF R1, 0
+0x0CC6 0x3A03 XORLW 3
+0x0CC7 0x1D03 BTFSS STATUS, 2
+0x0CC8 0x2CCB GOTO L__get_forward346
+0x0CC9 0x30FF MOVLW 255
+0x0CCA 0x0670 XORWF R0, 0
+L__get_forward346:
+0x0CCB 0x1D03 BTFSS STATUS, 2
+0x0CCC 0x2CE9 GOTO L_get_forward138
+;main.c,557 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH2);
+0x0CCD 0x3083 MOVLW 131
+0x0CCE 0x0144 MOVLB 4
+0x0CCF 0x00A3 MOVWF FARG_ADC_Init_Advanced_reference
+0x0CD0 0x3180 MOVLP 0
+0x0CD1 0x2297 CALL _ADC_Init_Advanced
+0x0CD2 0x3188 MOVLP 8
+;main.c,558 :: Delay_us(100);
+0x0CD3 0x3002 MOVLW 2
+0x0CD4 0x00FC MOVWF R12
+0x0CD5 0x3008 MOVLW 8
+0x0CD6 0x00FD MOVWF R13
+L_get_forward139:
+0x0CD7 0x0BFD DECFSZ R13, 1
+0x0CD8 0x2CD7 GOTO L_get_forward139
+0x0CD9 0x0BFC DECFSZ R12, 1
+0x0CDA 0x2CD7 GOTO L_get_forward139
+0x0CDB 0x0000 NOP
+;main.c,559 :: v = ADC_Get_Sample(FWD_input) * 2;
+0x0CDC 0x3008 MOVLW 8
+0x0CDD 0x0144 MOVLB 4
+0x0CDE 0x00A3 MOVWF FARG_ADC_Get_Sample_channel
+0x0CDF 0x3180 MOVLP 0
+0x0CE0 0x236C CALL _ADC_Get_Sample
+0x0CE1 0x3188 MOVLP 8
+0x0CE2 0x0870 MOVF R0, 0
+0x0CE3 0x0143 MOVLB 3
+0x0CE4 0x00EE MOVWF get_forward_v_L0
+0x0CE5 0x0871 MOVF R1, 0
+0x0CE6 0x00EF MOVWF get_forward_v_L0+1
+0x0CE7 0x35EE LSLF get_forward_v_L0, 1
+0x0CE8 0x0DEF RLF get_forward_v_L0+1, 1
+;main.c,560 :: }
+L_get_forward138:
+;main.c,561 :: if(v==2046){
+0x0CE9 0x086F MOVF get_forward_v_L0+1, 0
+0x0CEA 0x3A07 XORLW 7
+0x0CEB 0x1D03 BTFSS STATUS, 2
+0x0CEC 0x2CEF GOTO L__get_forward347
+0x0CED 0x30FE MOVLW 254
+0x0CEE 0x066E XORWF get_forward_v_L0, 0
+L__get_forward347:
+0x0CEF 0x1D03 BTFSS STATUS, 2
+0x0CF0 0x2D40 GOTO L_get_forward140
+;main.c,562 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_VREFH);
+0x0CF1 0x0144 MOVLB 4
+0x0CF2 0x01A3 CLRF FARG_ADC_Init_Advanced_reference
+0x0CF3 0x3180 MOVLP 0
+0x0CF4 0x2297 CALL _ADC_Init_Advanced
+0x0CF5 0x3188 MOVLP 8
+;main.c,563 :: Delay_us(100);
+0x0CF6 0x3002 MOVLW 2
+0x0CF7 0x00FC MOVWF R12
+0x0CF8 0x3008 MOVLW 8
+0x0CF9 0x00FD MOVWF R13
+L_get_forward141:
+0x0CFA 0x0BFD DECFSZ R13, 1
+0x0CFB 0x2CFA GOTO L_get_forward141
+0x0CFC 0x0BFC DECFSZ R12, 1
+0x0CFD 0x2CFA GOTO L_get_forward141
+0x0CFE 0x0000 NOP
+;main.c,564 :: v = ADC_Get_Sample(FWD_input);
+0x0CFF 0x3008 MOVLW 8
+0x0D00 0x0144 MOVLB 4
+0x0D01 0x00A3 MOVWF FARG_ADC_Get_Sample_channel
+0x0D02 0x3180 MOVLP 0
+0x0D03 0x236C CALL _ADC_Get_Sample
+0x0D04 0x3188 MOVLP 8
+0x0D05 0x0870 MOVF R0, 0
+0x0D06 0x0143 MOVLB 3
+0x0D07 0x00EE MOVWF get_forward_v_L0
+0x0D08 0x0871 MOVF R1, 0
+0x0D09 0x00EF MOVWF get_forward_v_L0+1
+;main.c,565 :: if(v==1023) Overflow = 1;
+0x0D0A 0x0871 MOVF R1, 0
+0x0D0B 0x3A03 XORLW 3
+0x0D0C 0x1D03 BTFSS STATUS, 2
+0x0D0D 0x2D10 GOTO L__get_forward348
+0x0D0E 0x30FF MOVLW 255
+0x0D0F 0x0670 XORWF R0, 0
+L__get_forward348:
+0x0D10 0x1D03 BTFSS STATUS, 2
+0x0D11 0x2D13 GOTO L_get_forward142
+0x0D12 0x1520 BSF _Overflow, BitPos(_Overflow+0)
+L_get_forward142:
+;main.c,566 :: get_batt();
+0x0D13 0x3180 MOVLP 0
+0x0D14 0x2707 CALL _get_batt
+0x0D15 0x3188 MOVLP 8
+;main.c,567 :: d = (long)v * (long)Voltage;
+0x0D16 0x086E MOVF get_forward_v_L0, 0
+0x0D17 0x00F4 MOVWF R4
+0x0D18 0x086F MOVF get_forward_v_L0+1, 0
+0x0D19 0x00F5 MOVWF R5
+0x0D1A 0x01F6 CLRF R6
+0x0D1B 0x01F7 CLRF R7
+0x0D1C 0x0829 MOVF _Voltage, 0
+0x0D1D 0x00F0 MOVWF R0
+0x0D1E 0x082A MOVF _Voltage+1, 0
+0x0D1F 0x00F1 MOVWF R1
+0x0D20 0x3000 MOVLW 0
+0x0D21 0x1BF1 BTFSC R1, 7
+0x0D22 0x30FF MOVLW 255
+0x0D23 0x00F2 MOVWF R2
+0x0D24 0x00F3 MOVWF R3
+0x0D25 0x3180 MOVLP 0
+0x0D26 0x21BE CALL _Mul_32x32_U
+0x0D27 0x3188 MOVLP 8
+;main.c,568 :: d = d / 1024;
+0x0D28 0x300A MOVLW 10
+0x0D29 0x00F8 MOVWF R8
+0x0D2A 0x0870 MOVF R0, 0
+0x0D2B 0x00F4 MOVWF R4
+0x0D2C 0x0871 MOVF R1, 0
+0x0D2D 0x00F5 MOVWF R5
+0x0D2E 0x0872 MOVF R2, 0
+0x0D2F 0x00F6 MOVWF R6
+0x0D30 0x0873 MOVF R3, 0
+0x0D31 0x00F7 MOVWF R7
+0x0D32 0x0878 MOVF R8, 0
+L__get_forward349:
+0x0D33 0x1903 BTFSC STATUS, 2
+0x0D34 0x2D3B GOTO L__get_forward350
+0x0D35 0x36F7 LSRF R7, 1
+0x0D36 0x0CF6 RRF R6, 1
+0x0D37 0x0CF5 RRF R5, 1
+0x0D38 0x0CF4 RRF R4, 1
+0x0D39 0x3EFF ADDLW 255
+0x0D3A 0x2D33 GOTO L__get_forward349
+L__get_forward350:
+;main.c,569 :: v = (int)d;
+0x0D3B 0x0874 MOVF R4, 0
+0x0D3C 0x0143 MOVLB 3
+0x0D3D 0x00EE MOVWF get_forward_v_L0
+0x0D3E 0x0875 MOVF R5, 0
+0x0D3F 0x00EF MOVWF get_forward_v_L0+1
+;main.c,570 :: }
+L_get_forward140:
+;main.c,571 :: return v;
+0x0D40 0x086E MOVF get_forward_v_L0, 0
+0x0D41 0x00F0 MOVWF R0
+0x0D42 0x086F MOVF get_forward_v_L0+1, 0
+0x0D43 0x00F1 MOVWF R1
+;main.c,572 :: }
+L_end_get_forward:
+0x0D44 0x0008 RETURN
+; end of _get_forward
+_Mul_32x32_FP:
+;__Lib_MathDouble.c,608 ::
+;__Lib_MathDouble.c,620 ::
+;__Lib_MathDouble.c,622 ::
+0x0D45 0x0140 MOVLB 0
+;__Lib_MathDouble.c,624 ::
+0x0D46 0x01FB CLRF R11
+;__Lib_MathDouble.c,625 ::
+0x0D47 0x0873 MOVF R3, 0
+;__Lib_MathDouble.c,626 ::
+0x0D48 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,627 ::
+0x0D49 0x0877 MOVF R7, 0
+;__Lib_MathDouble.c,628 ::
+0x0D4A 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,629 ::
+0x0D4B 0x2D9B GOTO JPMRES032
+;__Lib_MathDouble.c,631 ::
+0x0D4C 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,632 ::
+0x0D4D 0x0676 XORWF R6, 0
+;__Lib_MathDouble.c,633 ::
+0x0D4E 0x00FA MOVWF R10
+;__Lib_MathDouble.c,634 ::
+0x0D4F 0x0877 MOVF R7, 0
+;__Lib_MathDouble.c,635 ::
+0x0D50 0x07F3 ADDWF R3, 1
+;__Lib_MathDouble.c,636 ::
+0x0D51 0x307E MOVLW 126
+;__Lib_MathDouble.c,637 ::
+0x0D52 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,638 ::
+0x0D53 0x2D58 GOTO MTUN32
+;__Lib_MathDouble.c,639 ::
+0x0D54 0x02F3 SUBWF R3, 1
+;__Lib_MathDouble.c,640 ::
+0x0D55 0x1803 BTFSC STATUS, 0
+;__Lib_MathDouble.c,641 ::
+0x0D56 0x2DA0 GOTO JPMSETFOV32
+;__Lib_MathDouble.c,642 ::
+0x0D57 0x2D5B GOTO MOK32
+;__Lib_MathDouble.c,643 ::
+MTUN32:
+;__Lib_MathDouble.c,644 ::
+0x0D58 0x02F3 SUBWF R3, 1
+;__Lib_MathDouble.c,645 ::
+0x0D59 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,646 ::
+0x0D5A 0x2DA5 GOTO JPMSETFUN32
+;__Lib_MathDouble.c,647 ::
+MOK32:
+;__Lib_MathDouble.c,648 ::
+0x0D5B 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,649 ::
+0x0D5C 0x00F8 MOVWF R8
+;__Lib_MathDouble.c,650 ::
+0x0D5D 0x0871 MOVF R1, 0
+;__Lib_MathDouble.c,651 ::
+0x0D5E 0x00FC MOVWF R12
+;__Lib_MathDouble.c,652 ::
+0x0D5F 0x0870 MOVF R0, 0
+;__Lib_MathDouble.c,653 ::
+0x0D60 0x00FD MOVWF R13
+;__Lib_MathDouble.c,654 ::
+0x0D61 0x17F8 BSF R8, 7
+;__Lib_MathDouble.c,655 ::
+0x0D62 0x17F6 BSF R6, 7
+;__Lib_MathDouble.c,656 ::
+0x0D63 0x1003 BCF STATUS, 0
+;__Lib_MathDouble.c,657 ::
+0x0D64 0x01F2 CLRF R2
+;__Lib_MathDouble.c,658 ::
+0x0D65 0x01F1 CLRF R1
+;__Lib_MathDouble.c,659 ::
+0x0D66 0x01F0 CLRF R0
+;__Lib_MathDouble.c,660 ::
+0x0D67 0x3018 MOVLW 24
+;__Lib_MathDouble.c,661 ::
+0x0D68 0x00A1 MOVWF __math_tempbD
+;__Lib_MathDouble.c,662 ::
+MLOOP32:
+;__Lib_MathDouble.c,663 ::
+0x0D69 0x1C7D BTFSS R13, 0
+;__Lib_MathDouble.c,664 ::
+0x0D6A 0x2D75 GOTO MNOADD32
+;__Lib_MathDouble.c,666 ::
+0x0D6B 0x0874 MOVF R4, 0
+;__Lib_MathDouble.c,667 ::
+0x0D6C 0x07F0 ADDWF R0, 1
+;__Lib_MathDouble.c,668 ::
+0x0D6D 0x0875 MOVF R5, 0
+;__Lib_MathDouble.c,669 ::
+0x0D6E 0x1803 BTFSC STATUS, 0
+;__Lib_MathDouble.c,670 ::
+0x0D6F 0x0F75 INCFSZ R5, 0
+;__Lib_MathDouble.c,671 ::
+0x0D70 0x07F1 ADDWF R1, 1
+;__Lib_MathDouble.c,672 ::
+0x0D71 0x0876 MOVF R6, 0
+;__Lib_MathDouble.c,673 ::
+0x0D72 0x1803 BTFSC STATUS, 0
+;__Lib_MathDouble.c,674 ::
+0x0D73 0x0F76 INCFSZ R6, 0
+;__Lib_MathDouble.c,675 ::
+0x0D74 0x07F2 ADDWF R2, 1
+;__Lib_MathDouble.c,676 ::
+MNOADD32:
+;__Lib_MathDouble.c,677 ::
+0x0D75 0x0CF2 RRF R2, 1
+;__Lib_MathDouble.c,678 ::
+0x0D76 0x0CF1 RRF R1, 1
+;__Lib_MathDouble.c,679 ::
+0x0D77 0x0CF0 RRF R0, 1
+;__Lib_MathDouble.c,680 ::
+0x0D78 0x0CF8 RRF R8, 1
+;__Lib_MathDouble.c,681 ::
+0x0D79 0x0CFC RRF R12, 1
+;__Lib_MathDouble.c,682 ::
+0x0D7A 0x0CFD RRF R13, 1
+;__Lib_MathDouble.c,683 ::
+0x0D7B 0x1003 BCF STATUS, 0
+;__Lib_MathDouble.c,684 ::
+0x0D7C 0x0BA1 DECFSZ __math_tempbD, 1
+;__Lib_MathDouble.c,685 ::
+0x0D7D 0x2D69 GOTO MLOOP32
+;__Lib_MathDouble.c,686 ::
+0x0D7E 0x1BF2 BTFSC R2, 7
+;__Lib_MathDouble.c,687 ::
+0x0D7F 0x2D85 GOTO MROUND32
+;__Lib_MathDouble.c,688 ::
+0x0D80 0x0DF8 RLF R8, 1
+;__Lib_MathDouble.c,689 ::
+0x0D81 0x0DF0 RLF R0, 1
+;__Lib_MathDouble.c,690 ::
+0x0D82 0x0DF1 RLF R1, 1
+;__Lib_MathDouble.c,691 ::
+0x0D83 0x0DF2 RLF R2, 1
+;__Lib_MathDouble.c,692 ::
+0x0D84 0x03F3 DECF R3, 1
+;__Lib_MathDouble.c,693 ::
+MROUND32:
+;__Lib_MathDouble.c,694 ::
+0x0D85 0x1B7B BTFSC R11, 6
+;__Lib_MathDouble.c,695 ::
+0x0D86 0x1C70 BTFSS R0, 0
+;__Lib_MathDouble.c,696 ::
+0x0D87 0x2D97 GOTO MUL32OK
+;__Lib_MathDouble.c,697 ::
+0x0D88 0x1FF8 BTFSS R8, 7
+;__Lib_MathDouble.c,698 ::
+0x0D89 0x2D97 GOTO MUL32OK
+;__Lib_MathDouble.c,699 ::
+0x0D8A 0x0AF0 INCF R0, 1
+;__Lib_MathDouble.c,700 ::
+0x0D8B 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,701 ::
+0x0D8C 0x0AF1 INCF R1, 1
+;__Lib_MathDouble.c,702 ::
+0x0D8D 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,703 ::
+0x0D8E 0x0AF2 INCF R2, 1
+;__Lib_MathDouble.c,704 ::
+0x0D8F 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,705 ::
+0x0D90 0x2D97 GOTO MUL32OK
+;__Lib_MathDouble.c,706 ::
+0x0D91 0x0CF2 RRF R2, 1
+;__Lib_MathDouble.c,707 ::
+0x0D92 0x0CF1 RRF R1, 1
+;__Lib_MathDouble.c,708 ::
+0x0D93 0x0CF0 RRF R0, 1
+;__Lib_MathDouble.c,709 ::
+0x0D94 0x0AF3 INCF R3, 1
+;__Lib_MathDouble.c,710 ::
+0x0D95 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,711 ::
+0x0D96 0x2DA0 GOTO JPMSETFOV32
+;__Lib_MathDouble.c,712 ::
+MUL32OK:
+;__Lib_MathDouble.c,713 ::
+0x0D97 0x1FFA BTFSS R10, 7
+;__Lib_MathDouble.c,714 ::
+0x0D98 0x13F2 BCF R2, 7
+;__Lib_MathDouble.c,715 ::
+0x0D99 0x3000 MOVLW 0
+;__Lib_MathDouble.c,717 ::
+0x0D9A 0x2DA9 GOTO MUL32EEE
+;__Lib_MathDouble.c,718 ::
+JPMRES032:
+;__Lib_MathDouble.c,719 ::
+0x0D9B 0x3001 MOVLW 1
+;__Lib_MathDouble.c,722 ::
+0x0D9C 0x3180 MOVLP 0
+0x0D9D 0x2426 CALL _RES032
+0x0D9E 0x3188 MOVLP 8
+;__Lib_MathDouble.c,724 ::
+0x0D9F 0x2DA9 GOTO MUL32EEE
+;__Lib_MathDouble.c,725 ::
+JPMSETFOV32:
+;__Lib_MathDouble.c,726 ::
+0x0DA0 0x3002 MOVLW 2
+;__Lib_MathDouble.c,729 ::
+0x0DA1 0x3180 MOVLP 0
+0x0DA2 0x243D CALL _SETFOV32
+0x0DA3 0x3188 MOVLP 8
+;__Lib_MathDouble.c,731 ::
+0x0DA4 0x2DA9 GOTO MUL32EEE
+;__Lib_MathDouble.c,732 ::
+JPMSETFUN32:
+;__Lib_MathDouble.c,733 ::
+0x0DA5 0x3004 MOVLW 4
+;__Lib_MathDouble.c,736 ::
+0x0DA6 0x3180 MOVLP 0
+0x0DA7 0x2360 CALL _SETFUN32
+0x0DA8 0x3188 MOVLP 8
+;__Lib_MathDouble.c,738 ::
+MUL32EEE:
+;__Lib_MathDouble.c,739 ::
+0x0DA9 0x0000 NOP
+;__Lib_MathDouble.c,746 ::
+L_end_Mul_32x32_FP:
+0x0DAA 0x0008 RETURN
+; end of _Mul_32x32_FP
+_Div_32x32_FP:
+;__Lib_MathDouble.c,758 ::
+;__Lib_MathDouble.c,770 ::
+;__Lib_MathDouble.c,773 ::
+0x0DAB 0x0874 MOVF R4, 0
+0x0DAC 0x3A00 XORLW 0
+0x0DAD 0x1D03 BTFSS STATUS, 2
+0x0DAE 0x2DC4 GOTO L_Div_32x32_FP7
+;__Lib_MathDouble.c,774 ::
+0x0DAF 0x0875 MOVF R5, 0
+0x0DB0 0x3A00 XORLW 0
+0x0DB1 0x1D03 BTFSS STATUS, 2
+0x0DB2 0x2DC4 GOTO L_Div_32x32_FP8
+;__Lib_MathDouble.c,775 ::
+0x0DB3 0x0876 MOVF R6, 0
+0x0DB4 0x3A00 XORLW 0
+0x0DB5 0x1D03 BTFSS STATUS, 2
+0x0DB6 0x2DC4 GOTO L_Div_32x32_FP9
+;__Lib_MathDouble.c,776 ::
+0x0DB7 0x0877 MOVF R7, 0
+0x0DB8 0x3A00 XORLW 0
+0x0DB9 0x1D03 BTFSS STATUS, 2
+0x0DBA 0x2DC4 GOTO L_Div_32x32_FP10
+;__Lib_MathDouble.c,777 ::
+0x0DBB 0x30FF MOVLW 255
+0x0DBC 0x00F0 MOVWF R0
+;__Lib_MathDouble.c,778 ::
+0x0DBD 0x30FF MOVLW 255
+0x0DBE 0x00F1 MOVWF R1
+;__Lib_MathDouble.c,779 ::
+0x0DBF 0x307F MOVLW 127
+0x0DC0 0x00F2 MOVWF R2
+;__Lib_MathDouble.c,780 ::
+0x0DC1 0x30FF MOVLW 255
+0x0DC2 0x00F3 MOVWF R3
+;__Lib_MathDouble.c,781 ::
+0x0DC3 0x2E66 GOTO L_end_Div_32x32_FP
+;__Lib_MathDouble.c,782 ::
+L_Div_32x32_FP10:
+L_Div_32x32_FP9:
+L_Div_32x32_FP8:
+L_Div_32x32_FP7:
+;__Lib_MathDouble.c,785 ::
+0x0DC4 0x0140 MOVLB 0
+;__Lib_MathDouble.c,787 ::
+0x0DC5 0x0877 MOVF R7, 0
+;__Lib_MathDouble.c,788 ::
+0x0DC6 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,789 ::
+0x0DC7 0x2E52 GOTO JPDSETFDZ32
+;__Lib_MathDouble.c,791 ::
+0x0DC8 0x0873 MOVF R3, 0
+;__Lib_MathDouble.c,792 ::
+0x0DC9 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,793 ::
+0x0DCA 0x2E57 GOTO JPDRES032
+;__Lib_MathDouble.c,795 ::
+0x0DCB 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,796 ::
+0x0DCC 0x0676 XORWF R6, 0
+;__Lib_MathDouble.c,797 ::
+0x0DCD 0x3980 ANDLW 128
+;__Lib_MathDouble.c,798 ::
+0x0DCE 0x00FA MOVWF R10
+;__Lib_MathDouble.c,799 ::
+0x0DCF 0x17F2 BSF R2, 7
+;__Lib_MathDouble.c,800 ::
+0x0DD0 0x17F6 BSF R6, 7
+;__Lib_MathDouble.c,802 ::
+0x0DD1 0x01A1 CLRF __math_tempbD
+;__Lib_MathDouble.c,803 ::
+0x0DD2 0x0872 MOVF R2, 0
+;__Lib_MathDouble.c,804 ::
+0x0DD3 0x00F8 MOVWF R8
+;__Lib_MathDouble.c,805 ::
+0x0DD4 0x0871 MOVF R1, 0
+;__Lib_MathDouble.c,806 ::
+0x0DD5 0x00FC MOVWF R12
+;__Lib_MathDouble.c,807 ::
+0x0DD6 0x0870 MOVF R0, 0
+;__Lib_MathDouble.c,808 ::
+0x0DD7 0x00FD MOVWF R13
+;__Lib_MathDouble.c,810 ::
+0x0DD8 0x0874 MOVF R4, 0
+;__Lib_MathDouble.c,811 ::
+0x0DD9 0x02FD SUBWF R13, 1
+;__Lib_MathDouble.c,812 ::
+0x0DDA 0x0875 MOVF R5, 0
+;__Lib_MathDouble.c,813 ::
+0x0DDB 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,814 ::
+0x0DDC 0x0F75 INCFSZ R5, 0
+;__Lib_MathDouble.c,816 ::
+0x0DDD 0x02FC SUBWF R12, 1
+;__Lib_MathDouble.c,817 ::
+0x0DDE 0x0876 MOVF R6, 0
+;__Lib_MathDouble.c,818 ::
+0x0DDF 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,819 ::
+0x0DE0 0x0F76 INCFSZ R6, 0
+;__Lib_MathDouble.c,821 ::
+0x0DE1 0x02F8 SUBWF R8, 1
+;__Lib_MathDouble.c,822 ::
+0x0DE2 0x01F8 CLRF R8
+;__Lib_MathDouble.c,823 ::
+0x0DE3 0x01FC CLRF R12
+;__Lib_MathDouble.c,824 ::
+0x0DE4 0x01FD CLRF R13
+;__Lib_MathDouble.c,825 ::
+0x0DE5 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,826 ::
+0x0DE6 0x2DEE GOTO DALIGN32OK
+;__Lib_MathDouble.c,828 ::
+0x0DE7 0x1003 BCF STATUS, 0
+;__Lib_MathDouble.c,829 ::
+0x0DE8 0x0CF2 RRF R2, 1
+;__Lib_MathDouble.c,830 ::
+0x0DE9 0x0CF1 RRF R1, 1
+;__Lib_MathDouble.c,831 ::
+0x0DEA 0x0CF0 RRF R0, 1
+;__Lib_MathDouble.c,832 ::
+0x0DEB 0x0CF8 RRF R8, 1
+;__Lib_MathDouble.c,833 ::
+0x0DEC 0x3001 MOVLW 1
+;__Lib_MathDouble.c,834 ::
+0x0DED 0x00A1 MOVWF __math_tempbD
+;__Lib_MathDouble.c,835 ::
+DALIGN32OK:
+;__Lib_MathDouble.c,836 ::
+0x0DEE 0x0877 MOVF R7, 0
+;__Lib_MathDouble.c,837 ::
+0x0DEF 0x02F3 SUBWF R3, 1
+;__Lib_MathDouble.c,838 ::
+0x0DF0 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,839 ::
+0x0DF1 0x2DF8 GOTO ALTB32
+;__Lib_MathDouble.c,841 ::
+0x0DF2 0x307E MOVLW 126
+;__Lib_MathDouble.c,842 ::
+0x0DF3 0x0721 ADDWF __math_tempbD, 0
+;__Lib_MathDouble.c,843 ::
+0x0DF4 0x07F3 ADDWF R3, 1
+;__Lib_MathDouble.c,844 ::
+0x0DF5 0x1803 BTFSC STATUS, 0
+;__Lib_MathDouble.c,845 ::
+0x0DF6 0x2E5C GOTO JPDSETFOV32
+;__Lib_MathDouble.c,846 ::
+0x0DF7 0x2DFD GOTO DARGOK32
+;__Lib_MathDouble.c,847 ::
+ALTB32:
+;__Lib_MathDouble.c,848 ::
+0x0DF8 0x307E MOVLW 126
+;__Lib_MathDouble.c,849 ::
+0x0DF9 0x0721 ADDWF __math_tempbD, 0
+;__Lib_MathDouble.c,850 ::
+0x0DFA 0x07F3 ADDWF R3, 1
+;__Lib_MathDouble.c,851 ::
+0x0DFB 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,852 ::
+0x0DFC 0x2E61 GOTO JPDSETFUN32
+;__Lib_MathDouble.c,853 ::
+DARGOK32:
+;__Lib_MathDouble.c,854 ::
+0x0DFD 0x3018 MOVLW 24
+;__Lib_MathDouble.c,856 ::
+0x0DFE 0x07FA ADDWF R10, 1
+;__Lib_MathDouble.c,857 ::
+DLOOP32:
+;__Lib_MathDouble.c,858 ::
+0x0DFF 0x0DFD RLF R13, 1
+;__Lib_MathDouble.c,859 ::
+0x0E00 0x0DFC RLF R12, 1
+;__Lib_MathDouble.c,860 ::
+0x0E01 0x0DF8 RLF R8, 1
+;__Lib_MathDouble.c,861 ::
+0x0E02 0x0DF0 RLF R0, 1
+;__Lib_MathDouble.c,862 ::
+0x0E03 0x0DF1 RLF R1, 1
+;__Lib_MathDouble.c,863 ::
+0x0E04 0x0DF2 RLF R2, 1
+;__Lib_MathDouble.c,864 ::
+0x0E05 0x0DA1 RLF __math_tempbD, 1
+;__Lib_MathDouble.c,866 ::
+0x0E06 0x0874 MOVF R4, 0
+;__Lib_MathDouble.c,867 ::
+0x0E07 0x02F0 SUBWF R0, 1
+;__Lib_MathDouble.c,868 ::
+0x0E08 0x0875 MOVF R5, 0
+;__Lib_MathDouble.c,869 ::
+0x0E09 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,870 ::
+0x0E0A 0x0F75 INCFSZ R5, 0
+;__Lib_MathDouble.c,872 ::
+0x0E0B 0x02F1 SUBWF R1, 1
+;__Lib_MathDouble.c,873 ::
+0x0E0C 0x0876 MOVF R6, 0
+;__Lib_MathDouble.c,874 ::
+0x0E0D 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,875 ::
+0x0E0E 0x0F76 INCFSZ R6, 0
+;__Lib_MathDouble.c,877 ::
+0x0E0F 0x02F2 SUBWF R2, 1
+;__Lib_MathDouble.c,878 ::
+0x0E10 0x0D76 RLF R6, 0
+;__Lib_MathDouble.c,879 ::
+0x0E11 0x04A1 IORWF __math_tempbD, 1
+;__Lib_MathDouble.c,880 ::
+0x0E12 0x1C21 BTFSS __math_tempbD, 0
+;__Lib_MathDouble.c,881 ::
+0x0E13 0x2E16 GOTO DREST32
+;__Lib_MathDouble.c,882 ::
+0x0E14 0x147D BSF R13, 0
+;__Lib_MathDouble.c,883 ::
+0x0E15 0x2E21 GOTO DOK32
+;__Lib_MathDouble.c,884 ::
+DREST32:
+;__Lib_MathDouble.c,885 ::
+0x0E16 0x0874 MOVF R4, 0
+;__Lib_MathDouble.c,886 ::
+0x0E17 0x07F0 ADDWF R0, 1
+;__Lib_MathDouble.c,887 ::
+0x0E18 0x0875 MOVF R5, 0
+;__Lib_MathDouble.c,888 ::
+0x0E19 0x1803 BTFSC STATUS, 0
+;__Lib_MathDouble.c,889 ::
+0x0E1A 0x0F75 INCFSZ R5, 0
+;__Lib_MathDouble.c,891 ::
+0x0E1B 0x07F1 ADDWF R1, 1
+;__Lib_MathDouble.c,892 ::
+0x0E1C 0x0876 MOVF R6, 0
+;__Lib_MathDouble.c,893 ::
+0x0E1D 0x1803 BTFSC STATUS, 0
+;__Lib_MathDouble.c,894 ::
+0x0E1E 0x0A76 INCF R6, 0
+;__Lib_MathDouble.c,895 ::
+0x0E1F 0x07F2 ADDWF R2, 1
+;__Lib_MathDouble.c,896 ::
+0x0E20 0x107D BCF R13, 0
+;__Lib_MathDouble.c,897 ::
+DOK32:
+;__Lib_MathDouble.c,899 ::
+0x0E21 0x03FA DECF R10, 1
+;__Lib_MathDouble.c,900 ::
+0x0E22 0x301F MOVLW 31
+;__Lib_MathDouble.c,901 ::
+0x0E23 0x057A ANDWF R10, 0
+;__Lib_MathDouble.c,902 ::
+0x0E24 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,903 ::
+0x0E25 0x2DFF GOTO DLOOP32
+;__Lib_MathDouble.c,905 ::
+0x0E26 0x1B7B BTFSC R11, 6
+;__Lib_MathDouble.c,906 ::
+0x0E27 0x1C7D BTFSS R13, 0
+;__Lib_MathDouble.c,907 ::
+0x0E28 0x2E48 GOTO DIV32OK
+;__Lib_MathDouble.c,908 ::
+0x0E29 0x1003 BCF STATUS, 0
+;__Lib_MathDouble.c,909 ::
+0x0E2A 0x0DF0 RLF R0, 1
+;__Lib_MathDouble.c,910 ::
+0x0E2B 0x0DF1 RLF R1, 1
+;__Lib_MathDouble.c,911 ::
+0x0E2C 0x0DF2 RLF R2, 1
+;__Lib_MathDouble.c,912 ::
+0x0E2D 0x0DA1 RLF __math_tempbD, 1
+;__Lib_MathDouble.c,914 ::
+0x0E2E 0x0874 MOVF R4, 0
+;__Lib_MathDouble.c,915 ::
+0x0E2F 0x02F0 SUBWF R0, 1
+;__Lib_MathDouble.c,916 ::
+0x0E30 0x0875 MOVF R5, 0
+;__Lib_MathDouble.c,917 ::
+0x0E31 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,918 ::
+0x0E32 0x0F75 INCFSZ R5, 0
+;__Lib_MathDouble.c,919 ::
+0x0E33 0x02F1 SUBWF R1, 1
+;__Lib_MathDouble.c,920 ::
+0x0E34 0x0876 MOVF R6, 0
+;__Lib_MathDouble.c,921 ::
+0x0E35 0x1C03 BTFSS STATUS, 0
+;__Lib_MathDouble.c,922 ::
+0x0E36 0x0F76 INCFSZ R6, 0
+;__Lib_MathDouble.c,923 ::
+0x0E37 0x02F2 SUBWF R2, 1
+;__Lib_MathDouble.c,924 ::
+0x0E38 0x0D76 RLF R6, 0
+;__Lib_MathDouble.c,925 ::
+0x0E39 0x0421 IORWF __math_tempbD, 0
+;__Lib_MathDouble.c,926 ::
+0x0E3A 0x3901 ANDLW 1
+;__Lib_MathDouble.c,927 ::
+0x0E3B 0x07FD ADDWF R13, 1
+;__Lib_MathDouble.c,928 ::
+0x0E3C 0x1803 BTFSC STATUS, 0
+;__Lib_MathDouble.c,929 ::
+0x0E3D 0x0AFC INCF R12, 1
+;__Lib_MathDouble.c,930 ::
+0x0E3E 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,931 ::
+0x0E3F 0x0AF8 INCF R8, 1
+;__Lib_MathDouble.c,932 ::
+0x0E40 0x1D03 BTFSS STATUS, 2
+;__Lib_MathDouble.c,933 ::
+0x0E41 0x2E48 GOTO DIV32OK
+;__Lib_MathDouble.c,934 ::
+0x0E42 0x0CF8 RRF R8, 1
+;__Lib_MathDouble.c,935 ::
+0x0E43 0x0CFC RRF R12, 1
+;__Lib_MathDouble.c,936 ::
+0x0E44 0x0CFD RRF R13, 1
+;__Lib_MathDouble.c,937 ::
+0x0E45 0x0AF3 INCF R3, 1
+;__Lib_MathDouble.c,938 ::
+0x0E46 0x1903 BTFSC STATUS, 2
+;__Lib_MathDouble.c,939 ::
+0x0E47 0x2E5C GOTO JPDSETFOV32
+;__Lib_MathDouble.c,940 ::
+DIV32OK:
+;__Lib_MathDouble.c,941 ::
+0x0E48 0x1FFA BTFSS R10, 7
+;__Lib_MathDouble.c,942 ::
+0x0E49 0x13F8 BCF R8, 7
+;__Lib_MathDouble.c,943 ::
+0x0E4A 0x0878 MOVF R8, 0
+;__Lib_MathDouble.c,944 ::
+0x0E4B 0x00F2 MOVWF R2
+;__Lib_MathDouble.c,945 ::
+0x0E4C 0x087C MOVF R12, 0
+;__Lib_MathDouble.c,946 ::
+0x0E4D 0x00F1 MOVWF R1
+;__Lib_MathDouble.c,947 ::
+0x0E4E 0x087D MOVF R13, 0
+;__Lib_MathDouble.c,948 ::
+0x0E4F 0x00F0 MOVWF R0
+;__Lib_MathDouble.c,950 ::
+0x0E50 0x3000 MOVLW 0
+;__Lib_MathDouble.c,952 ::
+0x0E51 0x2E65 GOTO DIV32EEE
+;__Lib_MathDouble.c,953 ::
+JPDSETFDZ32:
+;__Lib_MathDouble.c,954 ::
+0x0E52 0x3001 MOVLW 1
+;__Lib_MathDouble.c,957 ::
+0x0E53 0x3180 MOVLP 0
+0x0E54 0x2723 CALL _SETFDZ32
+0x0E55 0x3188 MOVLP 8
+;__Lib_MathDouble.c,959 ::
+0x0E56 0x2E65 GOTO DIV32EEE
+;__Lib_MathDouble.c,960 ::
+JPDRES032:
+;__Lib_MathDouble.c,961 ::
+0x0E57 0x3002 MOVLW 2
+;__Lib_MathDouble.c,964 ::
+0x0E58 0x3180 MOVLP 0
+0x0E59 0x2426 CALL _RES032
+0x0E5A 0x3188 MOVLP 8
+;__Lib_MathDouble.c,966 ::
+0x0E5B 0x2E65 GOTO DIV32EEE
+;__Lib_MathDouble.c,967 ::
+JPDSETFOV32:
+;__Lib_MathDouble.c,968 ::
+0x0E5C 0x3004 MOVLW 4
+;__Lib_MathDouble.c,971 ::
+0x0E5D 0x3180 MOVLP 0
+0x0E5E 0x243D CALL _SETFOV32
+0x0E5F 0x3188 MOVLP 8
+;__Lib_MathDouble.c,973 ::
+0x0E60 0x2E65 GOTO DIV32EEE
+;__Lib_MathDouble.c,974 ::
+JPDSETFUN32:
+;__Lib_MathDouble.c,975 ::
+0x0E61 0x3008 MOVLW 8
+;__Lib_MathDouble.c,978 ::
+0x0E62 0x3180 MOVLP 0
+0x0E63 0x2360 CALL _SETFUN32
+0x0E64 0x3188 MOVLP 8
+;__Lib_MathDouble.c,980 ::
+DIV32EEE:
+;__Lib_MathDouble.c,981 ::
+0x0E65 0x0000 NOP
+;__Lib_MathDouble.c,990 ::
+L_end_Div_32x32_FP:
+0x0E66 0x0008 RETURN
+; end of _Div_32x32_FP
+_get_reverse:
+;main.c,526 :: int get_reverse(void){
+;main.c,529 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH1);
+0x0E67 0x3043 MOVLW 67
+0x0E68 0x0144 MOVLB 4
+0x0E69 0x00A3 MOVWF FARG_ADC_Init_Advanced_reference
+0x0E6A 0x3180 MOVLP 0
+0x0E6B 0x2297 CALL _ADC_Init_Advanced
+0x0E6C 0x3188 MOVLP 8
+;main.c,530 :: Delay_us(100);
+0x0E6D 0x3002 MOVLW 2
+0x0E6E 0x00FC MOVWF R12
+0x0E6F 0x3008 MOVLW 8
+0x0E70 0x00FD MOVWF R13
+L_get_reverse131:
+0x0E71 0x0BFD DECFSZ R13, 1
+0x0E72 0x2E71 GOTO L_get_reverse131
+0x0E73 0x0BFC DECFSZ R12, 1
+0x0E74 0x2E71 GOTO L_get_reverse131
+0x0E75 0x0000 NOP
+;main.c,531 :: v = ADC_Get_Sample(REV_input);
+0x0E76 0x300A MOVLW 10
+0x0E77 0x0144 MOVLB 4
+0x0E78 0x00A3 MOVWF FARG_ADC_Get_Sample_channel
+0x0E79 0x3180 MOVLP 0
+0x0E7A 0x236C CALL _ADC_Get_Sample
+0x0E7B 0x3188 MOVLP 8
+0x0E7C 0x0870 MOVF R0, 0
+0x0E7D 0x0143 MOVLB 3
+0x0E7E 0x00EE MOVWF get_reverse_v_L0
+0x0E7F 0x0871 MOVF R1, 0
+0x0E80 0x00EF MOVWF get_reverse_v_L0+1
+;main.c,532 :: if(v==1023){
+0x0E81 0x0871 MOVF R1, 0
+0x0E82 0x3A03 XORLW 3
+0x0E83 0x1D03 BTFSS STATUS, 2
+0x0E84 0x2E87 GOTO L__get_reverse340
+0x0E85 0x30FF MOVLW 255
+0x0E86 0x0670 XORWF R0, 0
+L__get_reverse340:
+0x0E87 0x1D03 BTFSS STATUS, 2
+0x0E88 0x2EA5 GOTO L_get_reverse132
+;main.c,533 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH2);
+0x0E89 0x3083 MOVLW 131
+0x0E8A 0x0144 MOVLB 4
+0x0E8B 0x00A3 MOVWF FARG_ADC_Init_Advanced_reference
+0x0E8C 0x3180 MOVLP 0
+0x0E8D 0x2297 CALL _ADC_Init_Advanced
+0x0E8E 0x3188 MOVLP 8
+;main.c,534 :: Delay_us(100);
+0x0E8F 0x3002 MOVLW 2
+0x0E90 0x00FC MOVWF R12
+0x0E91 0x3008 MOVLW 8
+0x0E92 0x00FD MOVWF R13
+L_get_reverse133:
+0x0E93 0x0BFD DECFSZ R13, 1
+0x0E94 0x2E93 GOTO L_get_reverse133
+0x0E95 0x0BFC DECFSZ R12, 1
+0x0E96 0x2E93 GOTO L_get_reverse133
+0x0E97 0x0000 NOP
+;main.c,535 :: v = ADC_Get_Sample(REV_input) * 2;
+0x0E98 0x300A MOVLW 10
+0x0E99 0x0144 MOVLB 4
+0x0E9A 0x00A3 MOVWF FARG_ADC_Get_Sample_channel
+0x0E9B 0x3180 MOVLP 0
+0x0E9C 0x236C CALL _ADC_Get_Sample
+0x0E9D 0x3188 MOVLP 8
+0x0E9E 0x0870 MOVF R0, 0
+0x0E9F 0x0143 MOVLB 3
+0x0EA0 0x00EE MOVWF get_reverse_v_L0
+0x0EA1 0x0871 MOVF R1, 0
+0x0EA2 0x00EF MOVWF get_reverse_v_L0+1
+0x0EA3 0x35EE LSLF get_reverse_v_L0, 1
+0x0EA4 0x0DEF RLF get_reverse_v_L0+1, 1
+;main.c,536 :: }
+L_get_reverse132:
+;main.c,537 :: if(v==2046){
+0x0EA5 0x086F MOVF get_reverse_v_L0+1, 0
+0x0EA6 0x3A07 XORLW 7
+0x0EA7 0x1D03 BTFSS STATUS, 2
+0x0EA8 0x2EAB GOTO L__get_reverse341
+0x0EA9 0x30FE MOVLW 254
+0x0EAA 0x066E XORWF get_reverse_v_L0, 0
+L__get_reverse341:
+0x0EAB 0x1D03 BTFSS STATUS, 2
+0x0EAC 0x2EFC GOTO L_get_reverse134
+;main.c,538 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_VREFH);
+0x0EAD 0x0144 MOVLB 4
+0x0EAE 0x01A3 CLRF FARG_ADC_Init_Advanced_reference
+0x0EAF 0x3180 MOVLP 0
+0x0EB0 0x2297 CALL _ADC_Init_Advanced
+0x0EB1 0x3188 MOVLP 8
+;main.c,539 :: Delay_us(100);
+0x0EB2 0x3002 MOVLW 2
+0x0EB3 0x00FC MOVWF R12
+0x0EB4 0x3008 MOVLW 8
+0x0EB5 0x00FD MOVWF R13
+L_get_reverse135:
+0x0EB6 0x0BFD DECFSZ R13, 1
+0x0EB7 0x2EB6 GOTO L_get_reverse135
+0x0EB8 0x0BFC DECFSZ R12, 1
+0x0EB9 0x2EB6 GOTO L_get_reverse135
+0x0EBA 0x0000 NOP
+;main.c,540 :: v = ADC_Get_Sample(REV_input);
+0x0EBB 0x300A MOVLW 10
+0x0EBC 0x0144 MOVLB 4
+0x0EBD 0x00A3 MOVWF FARG_ADC_Get_Sample_channel
+0x0EBE 0x3180 MOVLP 0
+0x0EBF 0x236C CALL _ADC_Get_Sample
+0x0EC0 0x3188 MOVLP 8
+0x0EC1 0x0870 MOVF R0, 0
+0x0EC2 0x0143 MOVLB 3
+0x0EC3 0x00EE MOVWF get_reverse_v_L0
+0x0EC4 0x0871 MOVF R1, 0
+0x0EC5 0x00EF MOVWF get_reverse_v_L0+1
+;main.c,541 :: if(v==1023) Overflow = 1;
+0x0EC6 0x0871 MOVF R1, 0
+0x0EC7 0x3A03 XORLW 3
+0x0EC8 0x1D03 BTFSS STATUS, 2
+0x0EC9 0x2ECC GOTO L__get_reverse342
+0x0ECA 0x30FF MOVLW 255
+0x0ECB 0x0670 XORWF R0, 0
+L__get_reverse342:
+0x0ECC 0x1D03 BTFSS STATUS, 2
+0x0ECD 0x2ECF GOTO L_get_reverse136
+0x0ECE 0x1520 BSF _Overflow, BitPos(_Overflow+0)
+L_get_reverse136:
+;main.c,542 :: get_batt();
+0x0ECF 0x3180 MOVLP 0
+0x0ED0 0x2707 CALL _get_batt
+0x0ED1 0x3188 MOVLP 8
+;main.c,543 :: d = (long)v * (long)Voltage;
+0x0ED2 0x086E MOVF get_reverse_v_L0, 0
+0x0ED3 0x00F4 MOVWF R4
+0x0ED4 0x086F MOVF get_reverse_v_L0+1, 0
+0x0ED5 0x00F5 MOVWF R5
+0x0ED6 0x01F6 CLRF R6
+0x0ED7 0x01F7 CLRF R7
+0x0ED8 0x0829 MOVF _Voltage, 0
+0x0ED9 0x00F0 MOVWF R0
+0x0EDA 0x082A MOVF _Voltage+1, 0
+0x0EDB 0x00F1 MOVWF R1
+0x0EDC 0x3000 MOVLW 0
+0x0EDD 0x1BF1 BTFSC R1, 7
+0x0EDE 0x30FF MOVLW 255
+0x0EDF 0x00F2 MOVWF R2
+0x0EE0 0x00F3 MOVWF R3
+0x0EE1 0x3180 MOVLP 0
+0x0EE2 0x21BE CALL _Mul_32x32_U
+0x0EE3 0x3188 MOVLP 8
+;main.c,544 :: d = d / 1024;
+0x0EE4 0x300A MOVLW 10
+0x0EE5 0x00F8 MOVWF R8
+0x0EE6 0x0870 MOVF R0, 0
+0x0EE7 0x00F4 MOVWF R4
+0x0EE8 0x0871 MOVF R1, 0
+0x0EE9 0x00F5 MOVWF R5
+0x0EEA 0x0872 MOVF R2, 0
+0x0EEB 0x00F6 MOVWF R6
+0x0EEC 0x0873 MOVF R3, 0
+0x0EED 0x00F7 MOVWF R7
+0x0EEE 0x0878 MOVF R8, 0
+L__get_reverse343:
+0x0EEF 0x1903 BTFSC STATUS, 2
+0x0EF0 0x2EF7 GOTO L__get_reverse344
+0x0EF1 0x36F7 LSRF R7, 1
+0x0EF2 0x0CF6 RRF R6, 1
+0x0EF3 0x0CF5 RRF R5, 1
+0x0EF4 0x0CF4 RRF R4, 1
+0x0EF5 0x3EFF ADDLW 255
+0x0EF6 0x2EEF GOTO L__get_reverse343
+L__get_reverse344:
+;main.c,545 :: v = (int)d;
+0x0EF7 0x0874 MOVF R4, 0
+0x0EF8 0x0143 MOVLB 3
+0x0EF9 0x00EE MOVWF get_reverse_v_L0
+0x0EFA 0x0875 MOVF R5, 0
+0x0EFB 0x00EF MOVWF get_reverse_v_L0+1
+;main.c,546 :: }
+L_get_reverse134:
+;main.c,547 :: return v;
+0x0EFC 0x086E MOVF get_reverse_v_L0, 0
+0x0EFD 0x00F0 MOVWF R0
+0x0EFE 0x086F MOVF get_reverse_v_L0+1, 0
+0x0EFF 0x00F1 MOVWF R1
+;main.c,548 :: }
+L_end_get_reverse:
+0x0F00 0x0008 RETURN
+; end of _get_reverse
+_correction:
+;main.c,511 :: int correction(int input) {
+;main.c,512 :: input *= 2;
+0x0F01 0x0143 MOVLB 3
+0x0F02 0x086E MOVF FARG_correction_input, 0
+0x0F03 0x00F1 MOVWF R1
+0x0F04 0x086F MOVF FARG_correction_input+1, 0
+0x0F05 0x00F2 MOVWF R2
+0x0F06 0x35F1 LSLF R1, 1
+0x0F07 0x0DF2 RLF R2, 1
+0x0F08 0x0871 MOVF R1, 0
+0x0F09 0x00EE MOVWF FARG_correction_input
+0x0F0A 0x0872 MOVF R2, 0
+0x0F0B 0x00EF MOVWF FARG_correction_input+1
+;main.c,514 :: if(input <= 543) input += 256;
+0x0F0C 0x3080 MOVLW 128
+0x0F0D 0x3A02 XORLW 2
+0x0F0E 0x00F0 MOVWF R0
+0x0F0F 0x3080 MOVLW 128
+0x0F10 0x0672 XORWF R2, 0
+0x0F11 0x0270 SUBWF R0, 0
+0x0F12 0x1D03 BTFSS STATUS, 2
+0x0F13 0x2F16 GOTO L__correction332
+0x0F14 0x0871 MOVF R1, 0
+0x0F15 0x3C1F SUBLW 31
+L__correction332:
+0x0F16 0x1C03 BTFSS STATUS, 0
+0x0F17 0x2F1D GOTO L_correction117
+0x0F18 0x3000 MOVLW 0
+0x0F19 0x07EE ADDWF FARG_correction_input, 1
+0x0F1A 0x3001 MOVLW 1
+0x0F1B 0x3DEF ADDWFC FARG_correction_input+1, 1
+0x0F1C 0x2F87 GOTO L_correction118
+L_correction117:
+;main.c,515 :: else if(input <= 791) input += 274;
+0x0F1D 0x3080 MOVLW 128
+0x0F1E 0x3A03 XORLW 3
+0x0F1F 0x00F0 MOVWF R0
+0x0F20 0x3080 MOVLW 128
+0x0F21 0x066F XORWF FARG_correction_input+1, 0
+0x0F22 0x0270 SUBWF R0, 0
+0x0F23 0x1D03 BTFSS STATUS, 2
+0x0F24 0x2F27 GOTO L__correction333
+0x0F25 0x086E MOVF FARG_correction_input, 0
+0x0F26 0x3C17 SUBLW 23
+L__correction333:
+0x0F27 0x1C03 BTFSS STATUS, 0
+0x0F28 0x2F2E GOTO L_correction119
+0x0F29 0x3012 MOVLW 18
+0x0F2A 0x07EE ADDWF FARG_correction_input, 1
+0x0F2B 0x3001 MOVLW 1
+0x0F2C 0x3DEF ADDWFC FARG_correction_input+1, 1
+0x0F2D 0x2F87 GOTO L_correction120
+L_correction119:
+;main.c,516 :: else if(input <= 1225) input += 288;
+0x0F2E 0x3080 MOVLW 128
+0x0F2F 0x3A04 XORLW 4
+0x0F30 0x00F0 MOVWF R0
+0x0F31 0x3080 MOVLW 128
+0x0F32 0x066F XORWF FARG_correction_input+1, 0
+0x0F33 0x0270 SUBWF R0, 0
+0x0F34 0x1D03 BTFSS STATUS, 2
+0x0F35 0x2F38 GOTO L__correction334
+0x0F36 0x086E MOVF FARG_correction_input, 0
+0x0F37 0x3CC9 SUBLW 201
+L__correction334:
+0x0F38 0x1C03 BTFSS STATUS, 0
+0x0F39 0x2F3F GOTO L_correction121
+0x0F3A 0x3020 MOVLW 32
+0x0F3B 0x07EE ADDWF FARG_correction_input, 1
+0x0F3C 0x3001 MOVLW 1
+0x0F3D 0x3DEF ADDWFC FARG_correction_input+1, 1
+0x0F3E 0x2F87 GOTO L_correction122
+L_correction121:
+;main.c,517 :: else if(input <= 1991) input += 286;
+0x0F3F 0x3080 MOVLW 128
+0x0F40 0x3A07 XORLW 7
+0x0F41 0x00F0 MOVWF R0
+0x0F42 0x3080 MOVLW 128
+0x0F43 0x066F XORWF FARG_correction_input+1, 0
+0x0F44 0x0270 SUBWF R0, 0
+0x0F45 0x1D03 BTFSS STATUS, 2
+0x0F46 0x2F49 GOTO L__correction335
+0x0F47 0x086E MOVF FARG_correction_input, 0
+0x0F48 0x3CC7 SUBLW 199
+L__correction335:
+0x0F49 0x1C03 BTFSS STATUS, 0
+0x0F4A 0x2F50 GOTO L_correction123
+0x0F4B 0x301E MOVLW 30
+0x0F4C 0x07EE ADDWF FARG_correction_input, 1
+0x0F4D 0x3001 MOVLW 1
+0x0F4E 0x3DEF ADDWFC FARG_correction_input+1, 1
+0x0F4F 0x2F87 GOTO L_correction124
+L_correction123:
+;main.c,518 :: else if(input <= 2766) input += 288;
+0x0F50 0x3080 MOVLW 128
+0x0F51 0x3A0A XORLW 10
+0x0F52 0x00F0 MOVWF R0
+0x0F53 0x3080 MOVLW 128
+0x0F54 0x066F XORWF FARG_correction_input+1, 0
+0x0F55 0x0270 SUBWF R0, 0
+0x0F56 0x1D03 BTFSS STATUS, 2
+0x0F57 0x2F5A GOTO L__correction336
+0x0F58 0x086E MOVF FARG_correction_input, 0
+0x0F59 0x3CCE SUBLW 206
+L__correction336:
+0x0F5A 0x1C03 BTFSS STATUS, 0
+0x0F5B 0x2F61 GOTO L_correction125
+0x0F5C 0x3020 MOVLW 32
+0x0F5D 0x07EE ADDWF FARG_correction_input, 1
+0x0F5E 0x3001 MOVLW 1
+0x0F5F 0x3DEF ADDWFC FARG_correction_input+1, 1
+0x0F60 0x2F87 GOTO L_correction126
+L_correction125:
+;main.c,519 :: else if(input <= 3970) input += 260;
+0x0F61 0x3080 MOVLW 128
+0x0F62 0x3A0F XORLW 15
+0x0F63 0x00F0 MOVWF R0
+0x0F64 0x3080 MOVLW 128
+0x0F65 0x066F XORWF FARG_correction_input+1, 0
+0x0F66 0x0270 SUBWF R0, 0
+0x0F67 0x1D03 BTFSS STATUS, 2
+0x0F68 0x2F6B GOTO L__correction337
+0x0F69 0x086E MOVF FARG_correction_input, 0
+0x0F6A 0x3C82 SUBLW 130
+L__correction337:
+0x0F6B 0x1C03 BTFSS STATUS, 0
+0x0F6C 0x2F72 GOTO L_correction127
+0x0F6D 0x3004 MOVLW 4
+0x0F6E 0x07EE ADDWF FARG_correction_input, 1
+0x0F6F 0x3001 MOVLW 1
+0x0F70 0x3DEF ADDWFC FARG_correction_input+1, 1
+0x0F71 0x2F87 GOTO L_correction128
+L_correction127:
+;main.c,520 :: else if(input <= 5100) input += 250;
+0x0F72 0x3080 MOVLW 128
+0x0F73 0x3A13 XORLW 19
+0x0F74 0x00F0 MOVWF R0
+0x0F75 0x3080 MOVLW 128
+0x0F76 0x066F XORWF FARG_correction_input+1, 0
+0x0F77 0x0270 SUBWF R0, 0
+0x0F78 0x1D03 BTFSS STATUS, 2
+0x0F79 0x2F7C GOTO L__correction338
+0x0F7A 0x086E MOVF FARG_correction_input, 0
+0x0F7B 0x3CEC SUBLW 236
+L__correction338:
+0x0F7C 0x1C03 BTFSS STATUS, 0
+0x0F7D 0x2F83 GOTO L_correction129
+0x0F7E 0x30FA MOVLW 250
+0x0F7F 0x07EE ADDWF FARG_correction_input, 1
+0x0F80 0x3000 MOVLW 0
+0x0F81 0x3DEF ADDWFC FARG_correction_input+1, 1
+0x0F82 0x2F87 GOTO L_correction130
+L_correction129:
+;main.c,521 :: else input += 240;
+0x0F83 0x30F0 MOVLW 240
+0x0F84 0x07EE ADDWF FARG_correction_input, 1
+0x0F85 0x3000 MOVLW 0
+0x0F86 0x3DEF ADDWFC FARG_correction_input+1, 1
+L_correction130:
+L_correction128:
+L_correction126:
+L_correction124:
+L_correction122:
+L_correction120:
+L_correction118:
+;main.c,523 :: return input;
+0x0F87 0x086E MOVF FARG_correction_input, 0
+0x0F88 0x00F0 MOVWF R0
+0x0F89 0x086F MOVF FARG_correction_input+1, 0
+0x0F8A 0x00F1 MOVWF R1
+;main.c,524 :: }
+L_end_correction:
+0x0F8B 0x0008 RETURN
+; end of _correction
+_Div_16x16_S_L:
+;__Lib_Math.c,416 ::
+;__Lib_Math.c,422 ::
+0x0F8C 0x0D71 RLF R1, 0
+;__Lib_Math.c,423 ::
+0x0F8D 0x0DF8 RLF R8, 1
+;__Lib_Math.c,424 ::
+0x0F8E 0x0DF9 RLF R9, 1
+;__Lib_Math.c,425 ::
+0x0F8F 0x0874 MOVF R4, 0
+;__Lib_Math.c,426 ::
+0x0F90 0x02F8 SUBWF R8, 1
+;__Lib_Math.c,427 ::
+0x0F91 0x0875 MOVF R5, 0
+;__Lib_Math.c,428 ::
+0x0F92 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,429 ::
+0x0F93 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,430 ::
+0x0F94 0x02F9 SUBWF R9, 1
+;__Lib_Math.c,431 ::
+0x0F95 0x0DF0 RLF R0, 1
+;__Lib_Math.c,432 ::
+0x0F96 0x0DF1 RLF R1, 1
+;__Lib_Math.c,434 ::
+0x0F97 0x300F MOVLW 15
+;__Lib_Math.c,435 ::
+0x0F98 0x00FC MOVWF R12
+;__Lib_Math.c,437 ::
+0x0F99 0x0D71 RLF R1, 0
+;__Lib_Math.c,438 ::
+0x0F9A 0x0DF8 RLF R8, 1
+;__Lib_Math.c,439 ::
+0x0F9B 0x0DF9 RLF R9, 1
+;__Lib_Math.c,440 ::
+0x0F9C 0x0874 MOVF R4, 0
+;__Lib_Math.c,442 ::
+0x0F9D 0x1C70 BTFSS R0, 0
+;__Lib_Math.c,443 ::
+0x0F9E 0x2FA5 GOTO $+7
+;__Lib_Math.c,444 ::
+0x0F9F 0x02F8 SUBWF R8, 1
+;__Lib_Math.c,445 ::
+0x0FA0 0x0875 MOVF R5, 0
+;__Lib_Math.c,446 ::
+0x0FA1 0x1C03 BTFSS STATUS, 0
+;__Lib_Math.c,447 ::
+0x0FA2 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,448 ::
+0x0FA3 0x02F9 SUBWF R9, 1
+;__Lib_Math.c,449 ::
+0x0FA4 0x2FAA GOTO $+6
+;__Lib_Math.c,451 ::
+0x0FA5 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,452 ::
+0x0FA6 0x0875 MOVF R5, 0
+;__Lib_Math.c,453 ::
+0x0FA7 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,454 ::
+0x0FA8 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,455 ::
+0x0FA9 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,457 ::
+0x0FAA 0x0DF0 RLF R0, 1
+;__Lib_Math.c,458 ::
+0x0FAB 0x0DF1 RLF R1, 1
+;__Lib_Math.c,460 ::
+0x0FAC 0x0BFC DECFSZ R12, 1
+;__Lib_Math.c,461 ::
+0x0FAD 0x2F99 GOTO $-20
+;__Lib_Math.c,463 ::
+0x0FAE 0x1870 BTFSC R0, 0
+;__Lib_Math.c,464 ::
+0x0FAF 0x2FB6 GOTO $+7
+;__Lib_Math.c,465 ::
+0x0FB0 0x0874 MOVF R4, 0
+;__Lib_Math.c,466 ::
+0x0FB1 0x07F8 ADDWF R8, 1
+;__Lib_Math.c,467 ::
+0x0FB2 0x0875 MOVF R5, 0
+;__Lib_Math.c,468 ::
+0x0FB3 0x1803 BTFSC STATUS, 0
+;__Lib_Math.c,469 ::
+0x0FB4 0x0F75 INCFSZ R5, 0
+;__Lib_Math.c,470 ::
+0x0FB5 0x07F9 ADDWF R9, 1
+;__Lib_Math.c,471 ::
+0x0FB6 0x0000 NOP
+;__Lib_Math.c,473 ::
+L_end_Div_16x16_S_L:
+0x0FB7 0x0008 RETURN
+; end of _Div_16x16_S_L
+_Btn_xlong:
+;main.c,324 :: void Btn_xlong(){
+;main.c,325 :: B_xlong = 0;
+0x0FB8 0x0143 MOVLB 3
+0x0FB9 0x1220 BCF _B_xlong, BitPos(_B_xlong+0)
+;main.c,326 :: btn_cnt = 0;
+0x0FBA 0x0142 MOVLB 2
+0x0FBB 0x01BB CLRF _btn_cnt
+0x0FBC 0x01BC CLRF _btn_cnt+1
+0x0FBD 0x01BD CLRF _btn_cnt+2
+0x0FBE 0x01BE CLRF _btn_cnt+3
+;main.c,327 :: oled_clear();
+0x0FBF 0x3180 MOVLP 0
+0x0FC0 0x2449 CALL _oled_clear
+0x0FC1 0x3188 MOVLP 8
+;main.c,328 :: oled_wr_str(1, 0, " POWER OFF ", 11);
+0x0FC2 0x3001 MOVLW 1
+0x0FC3 0x0144 MOVLB 4
+0x0FC4 0x00A3 MOVWF FARG_oled_wr_str_page
+0x0FC5 0x01A4 CLRF FARG_oled_wr_str_col
+0x0FC6 0x302F MOVLW ?lstr14_main
+0x0FC7 0x00A5 MOVWF FARG_oled_wr_str_str
+0x0FC8 0x3001 MOVLW hi_addr(?lstr14_main)
+0x0FC9 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x0FCA 0x300B MOVLW 11
+0x0FCB 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x0FCC 0x3180 MOVLP 0
+0x0FCD 0x246D CALL _oled_wr_str
+0x0FCE 0x3188 MOVLP 8
+;main.c,329 :: Delay_ms(2000);
+0x0FCF 0x3052 MOVLW 82
+0x0FD0 0x00FB MOVWF R11
+0x0FD1 0x302B MOVLW 43
+0x0FD2 0x00FC MOVWF R12
+0x0FD3 0x3000 MOVLW 0
+0x0FD4 0x00FD MOVWF R13
+L_Btn_xlong93:
+0x0FD5 0x0BFD DECFSZ R13, 1
+0x0FD6 0x2FD5 GOTO L_Btn_xlong93
+0x0FD7 0x0BFC DECFSZ R12, 1
+0x0FD8 0x2FD5 GOTO L_Btn_xlong93
+0x0FD9 0x0BFB DECFSZ R11, 1
+0x0FDA 0x2FD5 GOTO L_Btn_xlong93
+0x0FDB 0x0000 NOP
+;main.c,330 :: power_off();
+0x0FDC 0x3198 MOVLP 24
+0x0FDD 0x2182 CALL _power_off
+0x0FDE 0x3188 MOVLP 8
+;main.c,331 :: return;
+;main.c,332 :: }
+L_end_Btn_xlong:
+0x0FDF 0x0008 RETURN
+; end of _Btn_xlong
+_Ext_long:
+;main.c,352 :: void Ext_long(){
+;main.c,353 :: Green = 0;
+0x0FE0 0x0140 MOVLB 0
+0x0FE1 0x1197 BCF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,354 :: OLED_PWD = 1;
+0x0FE2 0x1616 BSF LATA4_bit, BitPos(LATA4_bit+0)
+;main.c,355 :: tune();
+0x0FE3 0x3190 MOVLP 16
+0x0FE4 0x259D CALL _tune
+0x0FE5 0x3188 MOVLP 8
+;main.c,356 :: SWR_ind = SWR;
+0x0FE6 0x0143 MOVLB 3
+0x0FE7 0x083B MOVF _SWR, 0
+0x0FE8 0x0142 MOVLB 2
+0x0FE9 0x00C0 MOVWF _SWR_ind
+0x0FEA 0x0143 MOVLB 3
+0x0FEB 0x083C MOVF _SWR+1, 0
+0x0FEC 0x0142 MOVLB 2
+0x0FED 0x00C1 MOVWF _SWR_ind+1
+;main.c,357 :: Green = 1;
+0x0FEE 0x0140 MOVLB 0
+0x0FEF 0x1597 BSF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,358 :: E_long = 0;
+0x0FF0 0x0143 MOVLB 3
+0x0FF1 0x10A0 BCF _E_long, BitPos(_E_long+0)
+;main.c,359 :: return;
+;main.c,360 :: }
+L_end_Ext_long:
+0x0FF2 0x0008 RETURN
+; end of _Ext_long
+_Btn_short:
+;main.c,362 :: void Btn_short(){
+;main.c,363 :: Green = 0;
+0x1000 0x0140 MOVLB 0
+0x1001 0x1197 BCF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,364 :: atu_reset();
+0x1002 0x3180 MOVLP 0
+0x1003 0x27C8 CALL _atu_reset
+0x1004 0x3190 MOVLP 16
+;main.c,365 :: oled_wr_str(2, 0, "RESET ", 9);
+0x1005 0x3002 MOVLW 2
+0x1006 0x0144 MOVLB 4
+0x1007 0x00A3 MOVWF FARG_oled_wr_str_page
+0x1008 0x01A4 CLRF FARG_oled_wr_str_col
+0x1009 0x3065 MOVLW ?lstr18_main
+0x100A 0x00A5 MOVWF FARG_oled_wr_str_str
+0x100B 0x3000 MOVLW hi_addr(?lstr18_main)
+0x100C 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x100D 0x3009 MOVLW 9
+0x100E 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x100F 0x3180 MOVLP 0
+0x1010 0x246D CALL _oled_wr_str
+0x1011 0x3190 MOVLP 16
+;main.c,366 :: Delay_ms(600);
+0x1012 0x3019 MOVLW 25
+0x1013 0x00FB MOVWF R11
+0x1014 0x305A MOVLW 90
+0x1015 0x00FC MOVWF R12
+0x1016 0x30B1 MOVLW 177
+0x1017 0x00FD MOVWF R13
+L_Btn_short94:
+0x1018 0x0BFD DECFSZ R13, 1
+0x1019 0x2818 GOTO L_Btn_short94
+0x101A 0x0BFC DECFSZ R12, 1
+0x101B 0x2818 GOTO L_Btn_short94
+0x101C 0x0BFB DECFSZ R11, 1
+0x101D 0x2818 GOTO L_Btn_short94
+0x101E 0x0000 NOP
+0x101F 0x0000 NOP
+;main.c,367 :: oled_wr_str(2, 0, "SWR ", 5);
+0x1020 0x3002 MOVLW 2
+0x1021 0x0144 MOVLB 4
+0x1022 0x00A3 MOVWF FARG_oled_wr_str_page
+0x1023 0x01A4 CLRF FARG_oled_wr_str_col
+0x1024 0x30A0 MOVLW ?lstr19_main
+0x1025 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1026 0x3000 MOVLW hi_addr(?lstr19_main)
+0x1027 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1028 0x3005 MOVLW 5
+0x1029 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x102A 0x3180 MOVLP 0
+0x102B 0x246D CALL _oled_wr_str
+0x102C 0x3190 MOVLP 16
+;main.c,368 :: oled_wr_str(2, 42, "=", 1);
+0x102D 0x3002 MOVLW 2
+0x102E 0x0144 MOVLB 4
+0x102F 0x00A3 MOVWF FARG_oled_wr_str_page
+0x1030 0x302A MOVLW 42
+0x1031 0x00A4 MOVWF FARG_oled_wr_str_col
+0x1032 0x30A6 MOVLW ?lstr20_main
+0x1033 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1034 0x3000 MOVLW hi_addr(?lstr20_main)
+0x1035 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1036 0x3001 MOVLW 1
+0x1037 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1038 0x3180 MOVLP 0
+0x1039 0x246D CALL _oled_wr_str
+0x103A 0x3190 MOVLP 16
+;main.c,369 :: oled_wr_str(2, 60, "0.00", 4);
+0x103B 0x3002 MOVLW 2
+0x103C 0x0144 MOVLB 4
+0x103D 0x00A3 MOVWF FARG_oled_wr_str_page
+0x103E 0x303C MOVLW 60
+0x103F 0x00A4 MOVWF FARG_oled_wr_str_col
+0x1040 0x305F MOVLW ?lstr21_main
+0x1041 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1042 0x3000 MOVLW hi_addr(?lstr21_main)
+0x1043 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1044 0x3004 MOVLW 4
+0x1045 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1046 0x3180 MOVLP 0
+0x1047 0x246D CALL _oled_wr_str
+0x1048 0x3190 MOVLP 16
+;main.c,370 :: SWR_fixed_old = 100;
+0x1049 0x3064 MOVLW 100
+0x104A 0x0142 MOVLB 2
+0x104B 0x00CA MOVWF _SWR_fixed_old
+0x104C 0x3000 MOVLW 0
+0x104D 0x00CB MOVWF _SWR_fixed_old+1
+;main.c,371 :: Delay_ms(300);
+0x104E 0x300D MOVLW 13
+0x104F 0x00FB MOVWF R11
+0x1050 0x302D MOVLW 45
+0x1051 0x00FC MOVWF R12
+0x1052 0x30D7 MOVLW 215
+0x1053 0x00FD MOVWF R13
+L_Btn_short95:
+0x1054 0x0BFD DECFSZ R13, 1
+0x1055 0x2854 GOTO L_Btn_short95
+0x1056 0x0BFC DECFSZ R12, 1
+0x1057 0x2854 GOTO L_Btn_short95
+0x1058 0x0BFB DECFSZ R11, 1
+0x1059 0x2854 GOTO L_Btn_short95
+0x105A 0x0000 NOP
+0x105B 0x0000 NOP
+;main.c,372 :: Green = 1;
+0x105C 0x0140 MOVLB 0
+0x105D 0x1597 BSF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,373 :: B_short = 0;
+0x105E 0x0143 MOVLB 3
+0x105F 0x1320 BCF _B_short, BitPos(_B_short+0)
+;main.c,374 :: E_short = 0;
+0x1060 0x1020 BCF _E_short, BitPos(_E_short+0)
+;main.c,375 :: btn_1_cnt = 0;
+0x1061 0x0140 MOVLB 0
+0x1062 0x01E4 CLRF _btn_1_cnt
+;main.c,376 :: volt_cnt = Tick;
+0x1063 0x0142 MOVLB 2
+0x1064 0x084C MOVF _Tick, 0
+0x1065 0x00C2 MOVWF _volt_cnt
+0x1066 0x084D MOVF _Tick+1, 0
+0x1067 0x00C3 MOVWF _volt_cnt+1
+0x1068 0x084E MOVF _Tick+2, 0
+0x1069 0x00C4 MOVWF _volt_cnt+2
+0x106A 0x084F MOVF _Tick+3, 0
+0x106B 0x00C5 MOVWF _volt_cnt+3
+;main.c,377 :: watch_cnt = Tick;
+0x106C 0x084C MOVF _Tick, 0
+0x106D 0x00D0 MOVWF _watch_cnt
+0x106E 0x084D MOVF _Tick+1, 0
+0x106F 0x00D1 MOVWF _watch_cnt+1
+0x1070 0x084E MOVF _Tick+2, 0
+0x1071 0x00D2 MOVWF _watch_cnt+2
+0x1072 0x084F MOVF _Tick+3, 0
+0x1073 0x00D3 MOVWF _watch_cnt+3
+;main.c,378 :: return;
+;main.c,379 :: }
+L_end_Btn_short:
+0x1074 0x0008 RETURN
+; end of _Btn_short
+_draw_power:
+;main.c,258 :: void draw_power(unsigned int p){
+;main.c,260 :: if(p==0){
+0x1075 0x3000 MOVLW 0
+0x1076 0x0143 MOVLB 3
+0x1077 0x0667 XORWF FARG_draw_power_p+1, 0
+0x1078 0x1D03 BTFSS STATUS, 2
+0x1079 0x287C GOTO L__draw_power278
+0x107A 0x3000 MOVLW 0
+0x107B 0x0666 XORWF FARG_draw_power_p, 0
+L__draw_power278:
+0x107C 0x1D03 BTFSS STATUS, 2
+0x107D 0x288C GOTO L_draw_power77
+;main.c,261 :: oled_wr_str(0, 60, "0.0", 3);
+0x107E 0x0144 MOVLB 4
+0x107F 0x01A3 CLRF FARG_oled_wr_str_page
+0x1080 0x303C MOVLW 60
+0x1081 0x00A4 MOVWF FARG_oled_wr_str_col
+0x1082 0x302F MOVLW ?lstr12_main
+0x1083 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1084 0x3000 MOVLW hi_addr(?lstr12_main)
+0x1085 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1086 0x3003 MOVLW 3
+0x1087 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1088 0x3180 MOVLP 0
+0x1089 0x246D CALL _oled_wr_str
+0x108A 0x3190 MOVLP 16
+;main.c,262 :: return;
+0x108B 0x28F3 GOTO L_end_draw_power
+;main.c,263 :: }
+L_draw_power77:
+;main.c,264 :: else if(p<10){ // <1 W
+0x108C 0x3000 MOVLW 0
+0x108D 0x0143 MOVLB 3
+0x108E 0x0267 SUBWF FARG_draw_power_p+1, 0
+0x108F 0x1D03 BTFSS STATUS, 2
+0x1090 0x2893 GOTO L__draw_power279
+0x1091 0x300A MOVLW 10
+0x1092 0x0266 SUBWF FARG_draw_power_p, 0
+L__draw_power279:
+0x1093 0x1803 BTFSC STATUS, 0
+0x1094 0x28AB GOTO L_draw_power79
+;main.c,265 :: IntToStr(p, txt_2);
+0x1095 0x0866 MOVF FARG_draw_power_p, 0
+0x1096 0x0144 MOVLB 4
+0x1097 0x00A3 MOVWF FARG_IntToStr_input
+0x1098 0x0143 MOVLB 3
+0x1099 0x0867 MOVF FARG_draw_power_p+1, 0
+0x109A 0x0144 MOVLB 4
+0x109B 0x00A4 MOVWF FARG_IntToStr_input+1
+0x109C 0x30AB MOVLW _txt_2
+0x109D 0x00A5 MOVWF FARG_IntToStr_output
+0x109E 0x3001 MOVLW hi_addr(_txt_2)
+0x109F 0x00A6 MOVWF FARG_IntToStr_output+1
+0x10A0 0x3180 MOVLP 0
+0x10A1 0x23B3 CALL _IntToStr
+0x10A2 0x3190 MOVLP 16
+;main.c,266 :: txt[0] = '0';
+0x10A3 0x3030 MOVLW 48
+0x10A4 0x0143 MOVLB 3
+0x10A5 0x00B3 MOVWF _txt
+;main.c,267 :: txt[1] = '.';
+0x10A6 0x302E MOVLW 46
+0x10A7 0x00B4 MOVWF _txt+1
+;main.c,268 :: txt[2] = txt_2[5];
+0x10A8 0x0830 MOVF _txt_2+5, 0
+0x10A9 0x00B5 MOVWF _txt+2
+;main.c,269 :: }
+0x10AA 0x28E6 GOTO L_draw_power80
+L_draw_power79:
+;main.c,270 :: else if(p<100){ // <10W
+0x10AB 0x3000 MOVLW 0
+0x10AC 0x0267 SUBWF FARG_draw_power_p+1, 0
+0x10AD 0x1D03 BTFSS STATUS, 2
+0x10AE 0x28B1 GOTO L__draw_power280
+0x10AF 0x3064 MOVLW 100
+0x10B0 0x0266 SUBWF FARG_draw_power_p, 0
+L__draw_power280:
+0x10B1 0x1803 BTFSC STATUS, 0
+0x10B2 0x28C9 GOTO L_draw_power81
+;main.c,271 :: IntToStr(p, txt_2);
+0x10B3 0x0866 MOVF FARG_draw_power_p, 0
+0x10B4 0x0144 MOVLB 4
+0x10B5 0x00A3 MOVWF FARG_IntToStr_input
+0x10B6 0x0143 MOVLB 3
+0x10B7 0x0867 MOVF FARG_draw_power_p+1, 0
+0x10B8 0x0144 MOVLB 4
+0x10B9 0x00A4 MOVWF FARG_IntToStr_input+1
+0x10BA 0x30AB MOVLW _txt_2
+0x10BB 0x00A5 MOVWF FARG_IntToStr_output
+0x10BC 0x3001 MOVLW hi_addr(_txt_2)
+0x10BD 0x00A6 MOVWF FARG_IntToStr_output+1
+0x10BE 0x3180 MOVLP 0
+0x10BF 0x23B3 CALL _IntToStr
+0x10C0 0x3190 MOVLP 16
+;main.c,272 :: txt[0] = txt_2[4];
+0x10C1 0x0143 MOVLB 3
+0x10C2 0x082F MOVF _txt_2+4, 0
+0x10C3 0x00B3 MOVWF _txt
+;main.c,273 :: txt[1] = '.';
+0x10C4 0x302E MOVLW 46
+0x10C5 0x00B4 MOVWF _txt+1
+;main.c,274 :: txt[2] = txt_2[5];
+0x10C6 0x0830 MOVF _txt_2+5, 0
+0x10C7 0x00B5 MOVWF _txt+2
+;main.c,275 :: }
+0x10C8 0x28E6 GOTO L_draw_power82
+L_draw_power81:
+;main.c,277 :: p += 5;
+0x10C9 0x3005 MOVLW 5
+0x10CA 0x0766 ADDWF FARG_draw_power_p, 0
+0x10CB 0x00F0 MOVWF R0
+0x10CC 0x3000 MOVLW 0
+0x10CD 0x3D67 ADDWFC FARG_draw_power_p+1, 0
+0x10CE 0x00F1 MOVWF R1
+0x10CF 0x0870 MOVF R0, 0
+0x10D0 0x00E6 MOVWF FARG_draw_power_p
+0x10D1 0x0871 MOVF R1, 0
+0x10D2 0x00E7 MOVWF FARG_draw_power_p+1
+;main.c,278 :: IntToStr(p, txt_2);
+0x10D3 0x0870 MOVF R0, 0
+0x10D4 0x0144 MOVLB 4
+0x10D5 0x00A3 MOVWF FARG_IntToStr_input
+0x10D6 0x0871 MOVF R1, 0
+0x10D7 0x00A4 MOVWF FARG_IntToStr_input+1
+0x10D8 0x30AB MOVLW _txt_2
+0x10D9 0x00A5 MOVWF FARG_IntToStr_output
+0x10DA 0x3001 MOVLW hi_addr(_txt_2)
+0x10DB 0x00A6 MOVWF FARG_IntToStr_output+1
+0x10DC 0x3180 MOVLP 0
+0x10DD 0x23B3 CALL _IntToStr
+0x10DE 0x3190 MOVLP 16
+;main.c,279 :: txt[0] = ' ';
+0x10DF 0x3020 MOVLW 32
+0x10E0 0x0143 MOVLB 3
+0x10E1 0x00B3 MOVWF _txt
+;main.c,280 :: txt[1] = txt_2[3];
+0x10E2 0x082E MOVF _txt_2+3, 0
+0x10E3 0x00B4 MOVWF _txt+1
+;main.c,281 :: txt[2] = txt_2[4];
+0x10E4 0x082F MOVF _txt_2+4, 0
+0x10E5 0x00B5 MOVWF _txt+2
+;main.c,282 :: }
+L_draw_power82:
+L_draw_power80:
+;main.c,283 :: oled_wr_str(0, 60, txt, 3);
+0x10E6 0x0144 MOVLB 4
+0x10E7 0x01A3 CLRF FARG_oled_wr_str_page
+0x10E8 0x303C MOVLW 60
+0x10E9 0x00A4 MOVWF FARG_oled_wr_str_col
+0x10EA 0x30B3 MOVLW _txt
+0x10EB 0x00A5 MOVWF FARG_oled_wr_str_str
+0x10EC 0x3001 MOVLW hi_addr(_txt)
+0x10ED 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x10EE 0x3003 MOVLW 3
+0x10EF 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x10F0 0x3180 MOVLP 0
+0x10F1 0x246D CALL _oled_wr_str
+0x10F2 0x3190 MOVLP 16
+;main.c,284 :: return;
+;main.c,285 :: }
+L_end_draw_power:
+0x10F3 0x0008 RETURN
+; end of _draw_power
+_get_pwr:
+;main.c,575 :: void get_pwr(){
+;main.c,579 :: Forward = get_forward();
+0x10F4 0x3188 MOVLP 8
+0x10F5 0x24AB CALL _get_forward
+0x10F6 0x3190 MOVLP 16
+0x10F7 0x0870 MOVF R0, 0
+0x10F8 0x00E6 MOVWF get_pwr_Forward_L0
+0x10F9 0x0871 MOVF R1, 0
+0x10FA 0x00E7 MOVWF get_pwr_Forward_L0+1
+0x10FB 0x3000 MOVLW 0
+0x10FC 0x1BE7 BTFSC get_pwr_Forward_L0+1, 7
+0x10FD 0x30FF MOVLW 255
+0x10FE 0x00E8 MOVWF get_pwr_Forward_L0+2
+0x10FF 0x00E9 MOVWF get_pwr_Forward_L0+3
+;main.c,580 :: Reverse = get_reverse();
+0x1100 0x3188 MOVLP 8
+0x1101 0x2667 CALL _get_reverse
+0x1102 0x3190 MOVLP 16
+0x1103 0x0870 MOVF R0, 0
+0x1104 0x00EA MOVWF get_pwr_Reverse_L0
+0x1105 0x0871 MOVF R1, 0
+0x1106 0x00EB MOVWF get_pwr_Reverse_L0+1
+0x1107 0x3000 MOVLW 0
+0x1108 0x1BEB BTFSC get_pwr_Reverse_L0+1, 7
+0x1109 0x30FF MOVLW 255
+0x110A 0x00EC MOVWF get_pwr_Reverse_L0+2
+0x110B 0x00ED MOVWF get_pwr_Reverse_L0+3
+;main.c,582 :: p = correction(Forward);
+0x110C 0x0866 MOVF get_pwr_Forward_L0, 0
+0x110D 0x00EE MOVWF FARG_correction_input
+0x110E 0x0867 MOVF get_pwr_Forward_L0+1, 0
+0x110F 0x00EF MOVWF FARG_correction_input+1
+0x1110 0x3188 MOVLP 8
+0x1111 0x2701 CALL _correction
+0x1112 0x3190 MOVLP 16
+0x1113 0x3180 MOVLP 0
+0x1114 0x27D3 CALL _int2double
+0x1115 0x3190 MOVLP 16
+;main.c,583 :: P = p * 5 / 1000;
+0x1116 0x3000 MOVLW 0
+0x1117 0x00F4 MOVWF R4
+0x1118 0x3000 MOVLW 0
+0x1119 0x00F5 MOVWF R5
+0x111A 0x3020 MOVLW 32
+0x111B 0x00F6 MOVWF R6
+0x111C 0x3081 MOVLW 129
+0x111D 0x00F7 MOVWF R7
+0x111E 0x3188 MOVLP 8
+0x111F 0x2545 CALL _Mul_32x32_FP
+0x1120 0x3190 MOVLP 16
+0x1121 0x3000 MOVLW 0
+0x1122 0x00F4 MOVWF R4
+0x1123 0x3000 MOVLW 0
+0x1124 0x00F5 MOVWF R5
+0x1125 0x307A MOVLW 122
+0x1126 0x00F6 MOVWF R6
+0x1127 0x3088 MOVLW 136
+0x1128 0x00F7 MOVWF R7
+0x1129 0x3188 MOVLP 8
+0x112A 0x25AB CALL _Div_32x32_FP
+0x112B 0x3190 MOVLP 16
+;main.c,584 :: p = p / 1.414;
+0x112C 0x30F4 MOVLW 244
+0x112D 0x00F4 MOVWF R4
+0x112E 0x30FD MOVLW 253
+0x112F 0x00F5 MOVWF R5
+0x1130 0x3034 MOVLW 52
+0x1131 0x00F6 MOVWF R6
+0x1132 0x307F MOVLW 127
+0x1133 0x00F7 MOVWF R7
+0x1134 0x3188 MOVLP 8
+0x1135 0x25AB CALL _Div_32x32_FP
+0x1136 0x3190 MOVLP 16
+;main.c,585 :: p = p * p;
+0x1137 0x0870 MOVF R0, 0
+0x1138 0x00F4 MOVWF R4
+0x1139 0x0871 MOVF R1, 0
+0x113A 0x00F5 MOVWF R5
+0x113B 0x0872 MOVF R2, 0
+0x113C 0x00F6 MOVWF R6
+0x113D 0x0873 MOVF R3, 0
+0x113E 0x00F7 MOVWF R7
+0x113F 0x3188 MOVLP 8
+0x1140 0x2545 CALL _Mul_32x32_FP
+0x1141 0x3190 MOVLP 16
+;main.c,586 :: p = p / 5;
+0x1142 0x3000 MOVLW 0
+0x1143 0x00F4 MOVWF R4
+0x1144 0x3000 MOVLW 0
+0x1145 0x00F5 MOVWF R5
+0x1146 0x3020 MOVLW 32
+0x1147 0x00F6 MOVWF R6
+0x1148 0x3081 MOVLW 129
+0x1149 0x00F7 MOVWF R7
+0x114A 0x3188 MOVLP 8
+0x114B 0x25AB CALL _Div_32x32_FP
+0x114C 0x3190 MOVLP 16
+;main.c,587 :: p += 0.5;
+0x114D 0x3000 MOVLW 0
+0x114E 0x00F4 MOVWF R4
+0x114F 0x3000 MOVLW 0
+0x1150 0x00F5 MOVWF R5
+0x1151 0x3000 MOVLW 0
+0x1152 0x00F6 MOVWF R6
+0x1153 0x307E MOVLW 126
+0x1154 0x00F7 MOVWF R7
+0x1155 0x3188 MOVLP 8
+0x1156 0x2404 CALL _Add_32x32_FP
+0x1157 0x3190 MOVLP 16
+;main.c,588 :: PWR = p;
+0x1158 0x3188 MOVLP 8
+0x1159 0x23A6 CALL _double2int
+0x115A 0x3190 MOVLP 16
+0x115B 0x0870 MOVF R0, 0
+0x115C 0x0143 MOVLB 3
+0x115D 0x00A7 MOVWF _PWR
+0x115E 0x0871 MOVF R1, 0
+0x115F 0x00A8 MOVWF _PWR+1
+;main.c,590 :: if(PWR>0){
+0x1160 0x3080 MOVLW 128
+0x1161 0x00F2 MOVWF R2
+0x1162 0x3080 MOVLW 128
+0x1163 0x0671 XORWF R1, 0
+0x1164 0x0272 SUBWF R2, 0
+0x1165 0x1D03 BTFSS STATUS, 2
+0x1166 0x2969 GOTO L__get_pwr352
+0x1167 0x0870 MOVF R0, 0
+0x1168 0x3C00 SUBLW 0
+L__get_pwr352:
+0x1169 0x1803 BTFSC STATUS, 0
+0x116A 0x29B6 GOTO L_get_pwr143
+;main.c,591 :: if(OLED_PWD){
+0x116B 0x0140 MOVLB 0
+0x116C 0x1E16 BTFSS LATA4_bit, BitPos(LATA4_bit+0)
+0x116D 0x29B3 GOTO L_get_pwr144
+;main.c,592 :: disp_cnt = Tick + Disp_time*1000;
+0x116E 0x0853 MOVF _Disp_time, 0
+0x116F 0x00F0 MOVWF R0
+0x1170 0x0854 MOVF _Disp_time+1, 0
+0x1171 0x00F1 MOVWF R1
+0x1172 0x0855 MOVF _Disp_time+2, 0
+0x1173 0x00F2 MOVWF R2
+0x1174 0x0856 MOVF _Disp_time+3, 0
+0x1175 0x00F3 MOVWF R3
+0x1176 0x30E8 MOVLW 232
+0x1177 0x00F4 MOVWF R4
+0x1178 0x3003 MOVLW 3
+0x1179 0x00F5 MOVWF R5
+0x117A 0x01F6 CLRF R6
+0x117B 0x01F7 CLRF R7
+0x117C 0x3180 MOVLP 0
+0x117D 0x21BE CALL _Mul_32x32_U
+0x117E 0x3190 MOVLP 16
+0x117F 0x0870 MOVF R0, 0
+0x1180 0x0142 MOVLB 2
+0x1181 0x074C ADDWF _Tick, 0
+0x1182 0x0143 MOVLB 3
+0x1183 0x00BD MOVWF _disp_cnt
+0x1184 0x0871 MOVF R1, 0
+0x1185 0x0142 MOVLB 2
+0x1186 0x3D4D ADDWFC _Tick+1, 0
+0x1187 0x0143 MOVLB 3
+0x1188 0x00BE MOVWF _disp_cnt+1
+0x1189 0x0872 MOVF R2, 0
+0x118A 0x0142 MOVLB 2
+0x118B 0x3D4E ADDWFC _Tick+2, 0
+0x118C 0x0143 MOVLB 3
+0x118D 0x00BF MOVWF _disp_cnt+2
+0x118E 0x0873 MOVF R3, 0
+0x118F 0x0142 MOVLB 2
+0x1190 0x3D4F ADDWFC _Tick+3, 0
+0x1191 0x0143 MOVLB 3
+0x1192 0x00C0 MOVWF _disp_cnt+3
+;main.c,593 :: off_cnt = Tick + Off_time*1000;
+0x1193 0x0140 MOVLB 0
+0x1194 0x0857 MOVF _Off_time, 0
+0x1195 0x00F0 MOVWF R0
+0x1196 0x0858 MOVF _Off_time+1, 0
+0x1197 0x00F1 MOVWF R1
+0x1198 0x0859 MOVF _Off_time+2, 0
+0x1199 0x00F2 MOVWF R2
+0x119A 0x085A MOVF _Off_time+3, 0
+0x119B 0x00F3 MOVWF R3
+0x119C 0x30E8 MOVLW 232
+0x119D 0x00F4 MOVWF R4
+0x119E 0x3003 MOVLW 3
+0x119F 0x00F5 MOVWF R5
+0x11A0 0x01F6 CLRF R6
+0x11A1 0x01F7 CLRF R7
+0x11A2 0x3180 MOVLP 0
+0x11A3 0x21BE CALL _Mul_32x32_U
+0x11A4 0x3190 MOVLP 16
+0x11A5 0x0870 MOVF R0, 0
+0x11A6 0x0142 MOVLB 2
+0x11A7 0x074C ADDWF _Tick, 0
+0x11A8 0x00EC MOVWF _off_cnt
+0x11A9 0x0871 MOVF R1, 0
+0x11AA 0x3D4D ADDWFC _Tick+1, 0
+0x11AB 0x00ED MOVWF _off_cnt+1
+0x11AC 0x0872 MOVF R2, 0
+0x11AD 0x3D4E ADDWFC _Tick+2, 0
+0x11AE 0x00EE MOVWF _off_cnt+2
+0x11AF 0x0873 MOVF R3, 0
+0x11B0 0x3D4F ADDWFC _Tick+3, 0
+0x11B1 0x00EF MOVWF _off_cnt+3
+;main.c,594 :: }
+0x11B2 0x29B6 GOTO L_get_pwr145
+L_get_pwr144:
+;main.c,595 :: else oled_start();
+0x11B3 0x3188 MOVLP 8
+0x11B4 0x22D4 CALL _oled_start
+0x11B5 0x3190 MOVLP 16
+L_get_pwr145:
+;main.c,596 :: }
+L_get_pwr143:
+;main.c,598 :: if(Reverse >= Forward)
+0x11B6 0x3080 MOVLW 128
+0x11B7 0x0143 MOVLB 3
+0x11B8 0x066D XORWF get_pwr_Reverse_L0+3, 0
+0x11B9 0x00F0 MOVWF R0
+0x11BA 0x3080 MOVLW 128
+0x11BB 0x0669 XORWF get_pwr_Forward_L0+3, 0
+0x11BC 0x0270 SUBWF R0, 0
+0x11BD 0x1D03 BTFSS STATUS, 2
+0x11BE 0x29C9 GOTO L__get_pwr353
+0x11BF 0x0868 MOVF get_pwr_Forward_L0+2, 0
+0x11C0 0x026C SUBWF get_pwr_Reverse_L0+2, 0
+0x11C1 0x1D03 BTFSS STATUS, 2
+0x11C2 0x29C9 GOTO L__get_pwr353
+0x11C3 0x0867 MOVF get_pwr_Forward_L0+1, 0
+0x11C4 0x026B SUBWF get_pwr_Reverse_L0+1, 0
+0x11C5 0x1D03 BTFSS STATUS, 2
+0x11C6 0x29C9 GOTO L__get_pwr353
+0x11C7 0x0866 MOVF get_pwr_Forward_L0, 0
+0x11C8 0x026A SUBWF get_pwr_Reverse_L0, 0
+L__get_pwr353:
+0x11C9 0x1C03 BTFSS STATUS, 0
+0x11CA 0x29D2 GOTO L_get_pwr146
+;main.c,599 :: Forward = 999;
+0x11CB 0x30E7 MOVLW 231
+0x11CC 0x00E6 MOVWF get_pwr_Forward_L0
+0x11CD 0x3003 MOVLW 3
+0x11CE 0x00E7 MOVWF get_pwr_Forward_L0+1
+0x11CF 0x01E8 CLRF get_pwr_Forward_L0+2
+0x11D0 0x01E9 CLRF get_pwr_Forward_L0+3
+0x11D1 0x2A1C GOTO L_get_pwr147
+L_get_pwr146:
+;main.c,601 :: Forward = ((Forward + Reverse) * 100) / (Forward - Reverse);
+0x11D2 0x086A MOVF get_pwr_Reverse_L0, 0
+0x11D3 0x0766 ADDWF get_pwr_Forward_L0, 0
+0x11D4 0x00F0 MOVWF R0
+0x11D5 0x086B MOVF get_pwr_Reverse_L0+1, 0
+0x11D6 0x3D67 ADDWFC get_pwr_Forward_L0+1, 0
+0x11D7 0x00F1 MOVWF R1
+0x11D8 0x086C MOVF get_pwr_Reverse_L0+2, 0
+0x11D9 0x3D68 ADDWFC get_pwr_Forward_L0+2, 0
+0x11DA 0x00F2 MOVWF R2
+0x11DB 0x086D MOVF get_pwr_Reverse_L0+3, 0
+0x11DC 0x3D69 ADDWFC get_pwr_Forward_L0+3, 0
+0x11DD 0x00F3 MOVWF R3
+0x11DE 0x3064 MOVLW 100
+0x11DF 0x00F4 MOVWF R4
+0x11E0 0x01F5 CLRF R5
+0x11E1 0x01F6 CLRF R6
+0x11E2 0x01F7 CLRF R7
+0x11E3 0x3180 MOVLP 0
+0x11E4 0x21BE CALL _Mul_32x32_U
+0x11E5 0x3190 MOVLP 16
+0x11E6 0x0143 MOVLB 3
+0x11E7 0x0866 MOVF get_pwr_Forward_L0, 0
+0x11E8 0x00F4 MOVWF R4
+0x11E9 0x0867 MOVF get_pwr_Forward_L0+1, 0
+0x11EA 0x00F5 MOVWF R5
+0x11EB 0x0868 MOVF get_pwr_Forward_L0+2, 0
+0x11EC 0x00F6 MOVWF R6
+0x11ED 0x0869 MOVF get_pwr_Forward_L0+3, 0
+0x11EE 0x00F7 MOVWF R7
+0x11EF 0x086A MOVF get_pwr_Reverse_L0, 0
+0x11F0 0x02F4 SUBWF R4, 1
+0x11F1 0x086B MOVF get_pwr_Reverse_L0+1, 0
+0x11F2 0x3BF5 SUBWFB R5, 1
+0x11F3 0x086C MOVF get_pwr_Reverse_L0+2, 0
+0x11F4 0x3BF6 SUBWFB R6, 1
+0x11F5 0x086D MOVF get_pwr_Reverse_L0+3, 0
+0x11F6 0x3BF7 SUBWFB R7, 1
+0x11F7 0x3188 MOVLP 8
+0x11F8 0x2220 CALL _Div_32x32_S
+0x11F9 0x3190 MOVLP 16
+0x11FA 0x0870 MOVF R0, 0
+0x11FB 0x0143 MOVLB 3
+0x11FC 0x00E6 MOVWF get_pwr_Forward_L0
+0x11FD 0x0871 MOVF R1, 0
+0x11FE 0x00E7 MOVWF get_pwr_Forward_L0+1
+0x11FF 0x0872 MOVF R2, 0
+0x1200 0x00E8 MOVWF get_pwr_Forward_L0+2
+0x1201 0x0873 MOVF R3, 0
+0x1202 0x00E9 MOVWF get_pwr_Forward_L0+3
+;main.c,602 :: if(Forward>999) Forward = 999;
+0x1203 0x3080 MOVLW 128
+0x1204 0x00F4 MOVWF R4
+0x1205 0x3080 MOVLW 128
+0x1206 0x0673 XORWF R3, 0
+0x1207 0x0274 SUBWF R4, 0
+0x1208 0x1D03 BTFSS STATUS, 2
+0x1209 0x2A14 GOTO L__get_pwr354
+0x120A 0x0872 MOVF R2, 0
+0x120B 0x3C00 SUBLW 0
+0x120C 0x1D03 BTFSS STATUS, 2
+0x120D 0x2A14 GOTO L__get_pwr354
+0x120E 0x0871 MOVF R1, 0
+0x120F 0x3C03 SUBLW 3
+0x1210 0x1D03 BTFSS STATUS, 2
+0x1211 0x2A14 GOTO L__get_pwr354
+0x1212 0x0870 MOVF R0, 0
+0x1213 0x3CE7 SUBLW 231
+L__get_pwr354:
+0x1214 0x1803 BTFSC STATUS, 0
+0x1215 0x2A1C GOTO L_get_pwr148
+0x1216 0x30E7 MOVLW 231
+0x1217 0x00E6 MOVWF get_pwr_Forward_L0
+0x1218 0x3003 MOVLW 3
+0x1219 0x00E7 MOVWF get_pwr_Forward_L0+1
+0x121A 0x01E8 CLRF get_pwr_Forward_L0+2
+0x121B 0x01E9 CLRF get_pwr_Forward_L0+3
+L_get_pwr148:
+;main.c,603 :: }
+L_get_pwr147:
+;main.c,605 :: SWR = Forward;
+0x121C 0x0866 MOVF get_pwr_Forward_L0, 0
+0x121D 0x00BB MOVWF _SWR
+0x121E 0x0867 MOVF get_pwr_Forward_L0+1, 0
+0x121F 0x00BC MOVWF _SWR+1
+;main.c,606 :: return;
+;main.c,607 :: }
+L_end_get_pwr:
+0x1220 0x0008 RETURN
+; end of _get_pwr
+_get_swr:
+;main.c,609 :: void get_swr(){
+;main.c,610 :: unsigned int tune_cnt = 300;
+0x1221 0x302C MOVLW 44
+0x1222 0x0143 MOVLB 3
+0x1223 0x00E2 MOVWF get_swr_tune_cnt_L0
+0x1224 0x3001 MOVLW 1
+0x1225 0x00E3 MOVWF get_swr_tune_cnt_L0+1
+0x1226 0x01E4 CLRF get_swr_PWR_max_L0
+0x1227 0x01E5 CLRF get_swr_PWR_max_L0+1
+;main.c,612 :: get_pwr();
+0x1228 0x20F4 CALL _get_pwr
+;main.c,613 :: while(PWRmax_for_start){ // waiting for good power
+L_get_swr149:
+0x1229 0x3080 MOVLW 128
+0x122A 0x0628 XORWF _PWR+1, 0
+0x122B 0x00F0 MOVWF R0
+0x122C 0x3080 MOVLW 128
+0x122D 0x0141 MOVLB 1
+0x122E 0x0643 XORWF _min_for_start+1, 0
+0x122F 0x0270 SUBWF R0, 0
+0x1230 0x1D03 BTFSS STATUS, 2
+0x1231 0x2A35 GOTO L__get_swr356
+0x1232 0x0842 MOVF _min_for_start, 0
+0x1233 0x0143 MOVLB 3
+0x1234 0x0227 SUBWF _PWR, 0
+L__get_swr356:
+0x1235 0x1C03 BTFSS STATUS, 0
+0x1236 0x2A47 GOTO L__get_swr239
+0x1237 0x3080 MOVLW 128
+0x1238 0x0141 MOVLB 1
+0x1239 0x0629 XORWF _max_for_start+1, 0
+0x123A 0x00F0 MOVWF R0
+0x123B 0x3080 MOVLW 128
+0x123C 0x0143 MOVLB 3
+0x123D 0x0628 XORWF _PWR+1, 0
+0x123E 0x0270 SUBWF R0, 0
+0x123F 0x1D03 BTFSS STATUS, 2
+0x1240 0x2A44 GOTO L__get_swr357
+0x1241 0x0827 MOVF _PWR, 0
+0x1242 0x0141 MOVLB 1
+0x1243 0x0228 SUBWF _max_for_start, 0
+L__get_swr357:
+0x1244 0x1C03 BTFSS STATUS, 0
+0x1245 0x2A47 GOTO L__get_swr239
+0x1246 0x2A84 GOTO L_get_swr150
+L__get_swr239:
+;main.c,614 :: if(B_short){
+0x1247 0x0143 MOVLB 3
+0x1248 0x1F20 BTFSS _B_short, BitPos(_B_short+0)
+0x1249 0x2A4F GOTO L_get_swr153
+;main.c,615 :: Btn_short();
+0x124A 0x2000 CALL _Btn_short
+;main.c,616 :: SWR = 0;
+0x124B 0x0143 MOVLB 3
+0x124C 0x01BB CLRF _SWR
+0x124D 0x01BC CLRF _SWR+1
+;main.c,617 :: break;
+0x124E 0x2A84 GOTO L_get_swr150
+;main.c,618 :: }
+L_get_swr153:
+;main.c,619 :: if(B_xlong){
+0x124F 0x1E20 BTFSS _B_xlong, BitPos(_B_xlong+0)
+0x1250 0x2A54 GOTO L_get_swr154
+;main.c,621 :: SWR = 0;
+0x1251 0x01BB CLRF _SWR
+0x1252 0x01BC CLRF _SWR+1
+;main.c,622 :: break;
+0x1253 0x2A84 GOTO L_get_swr150
+;main.c,623 :: }
+L_get_swr154:
+;main.c,625 :: get_pwr();
+0x1254 0x20F4 CALL _get_pwr
+;main.c,626 :: if(tune_cnt>0){
+0x1255 0x0863 MOVF get_swr_tune_cnt_L0+1, 0
+0x1256 0x3C00 SUBLW 0
+0x1257 0x1D03 BTFSS STATUS, 2
+0x1258 0x2A5B GOTO L__get_swr358
+0x1259 0x0862 MOVF get_swr_tune_cnt_L0, 0
+0x125A 0x3C00 SUBLW 0
+L__get_swr358:
+0x125B 0x1803 BTFSC STATUS, 0
+0x125C 0x2A6E GOTO L_get_swr155
+;main.c,627 :: tune_cnt --;
+0x125D 0x3001 MOVLW 1
+0x125E 0x02E2 SUBWF get_swr_tune_cnt_L0, 1
+0x125F 0x3000 MOVLW 0
+0x1260 0x3BE3 SUBWFB get_swr_tune_cnt_L0+1, 1
+;main.c,628 :: if(PWR>PWR_max)
+0x1261 0x0828 MOVF _PWR+1, 0
+0x1262 0x0265 SUBWF get_swr_PWR_max_L0+1, 0
+0x1263 0x1D03 BTFSS STATUS, 2
+0x1264 0x2A67 GOTO L__get_swr359
+0x1265 0x0827 MOVF _PWR, 0
+0x1266 0x0264 SUBWF get_swr_PWR_max_L0, 0
+L__get_swr359:
+0x1267 0x1803 BTFSC STATUS, 0
+0x1268 0x2A6D GOTO L_get_swr156
+;main.c,629 :: PWR_max = PWR;
+0x1269 0x0827 MOVF _PWR, 0
+0x126A 0x00E4 MOVWF get_swr_PWR_max_L0
+0x126B 0x0828 MOVF _PWR+1, 0
+0x126C 0x00E5 MOVWF get_swr_PWR_max_L0+1
+L_get_swr156:
+;main.c,630 :: }
+0x126D 0x2A83 GOTO L_get_swr157
+L_get_swr155:
+;main.c,632 :: draw_power(PWR_max);
+0x126E 0x0864 MOVF get_swr_PWR_max_L0, 0
+0x126F 0x00E6 MOVWF FARG_draw_power_p
+0x1270 0x0865 MOVF get_swr_PWR_max_L0+1, 0
+0x1271 0x00E7 MOVWF FARG_draw_power_p+1
+0x1272 0x2075 CALL _draw_power
+;main.c,633 :: PWR_max = 0;
+0x1273 0x0143 MOVLB 3
+0x1274 0x01E4 CLRF get_swr_PWR_max_L0
+0x1275 0x01E5 CLRF get_swr_PWR_max_L0+1
+;main.c,634 :: tune_cnt = 300;
+0x1276 0x302C MOVLW 44
+0x1277 0x00E2 MOVWF get_swr_tune_cnt_L0
+0x1278 0x3001 MOVLW 1
+0x1279 0x00E3 MOVWF get_swr_tune_cnt_L0+1
+;main.c,635 :: Delay_ms(1);
+0x127A 0x300B MOVLW 11
+0x127B 0x00FC MOVWF R12
+0x127C 0x3062 MOVLW 98
+0x127D 0x00FD MOVWF R13
+L_get_swr158:
+0x127E 0x0BFD DECFSZ R13, 1
+0x127F 0x2A7E GOTO L_get_swr158
+0x1280 0x0BFC DECFSZ R12, 1
+0x1281 0x2A7E GOTO L_get_swr158
+0x1282 0x0000 NOP
+;main.c,636 :: }
+L_get_swr157:
+;main.c,637 :: }
+0x1283 0x2A29 GOTO L_get_swr149
+L_get_swr150:
+;main.c,639 :: return;
+;main.c,640 :: }
+L_end_get_swr:
+0x1284 0x0008 RETURN
+; end of _get_swr
+_Div_16x16_S:
+;__Lib_Math.c,475 ::
+;__Lib_Math.c,483 ::
+0x1285 0x0874 MOVF R4, 0
+0x1286 0x3A00 XORLW 0
+0x1287 0x1D03 BTFSS STATUS, 2
+0x1288 0x2A92 GOTO L_Div_16x16_S0
+;__Lib_Math.c,484 ::
+0x1289 0x0875 MOVF R5, 0
+0x128A 0x3A00 XORLW 0
+0x128B 0x1D03 BTFSS STATUS, 2
+0x128C 0x2A92 GOTO L_Div_16x16_S1
+;__Lib_Math.c,485 ::
+0x128D 0x30FF MOVLW 255
+0x128E 0x00F0 MOVWF R0
+;__Lib_Math.c,486 ::
+0x128F 0x307F MOVLW 127
+0x1290 0x00F1 MOVWF R1
+;__Lib_Math.c,487 ::
+0x1291 0x2AEC GOTO L_end_Div_16x16_S
+;__Lib_Math.c,488 ::
+L_Div_16x16_S1:
+L_Div_16x16_S0:
+;__Lib_Math.c,491 ::
+0x1292 0x0140 MOVLB 0
+;__Lib_Math.c,492 ::
+0x1293 0x01FD CLRF R13
+;__Lib_Math.c,493 ::
+0x1294 0x01F9 CLRF R9
+;__Lib_Math.c,494 ::
+0x1295 0x01F8 CLRF R8
+;__Lib_Math.c,495 ::
+0x1296 0x0871 MOVF R1, 0
+;__Lib_Math.c,496 ::
+0x1297 0x0470 IORWF R0, 0
+;__Lib_Math.c,497 ::
+0x1298 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,498 ::
+0x1299 0x3400 RETLW 0
+;__Lib_Math.c,500 ::
+0x129A 0x0871 MOVF R1, 0
+;__Lib_Math.c,501 ::
+0x129B 0x0675 XORWF R5, 0
+;__Lib_Math.c,502 ::
+0x129C 0x00FA MOVWF R10
+;__Lib_Math.c,503 ::
+0x129D 0x1BFA BTFSC R10, 7
+;__Lib_Math.c,504 ::
+0x129E 0x09FD COMF R13, 1
+;__Lib_Math.c,506 ::
+0x129F 0x01FB CLRF R11
+;__Lib_Math.c,508 ::
+0x12A0 0x1FF5 BTFSS R5, 7
+;__Lib_Math.c,509 ::
+0x12A1 0x2AA7 GOTO $+6
+;__Lib_Math.c,511 ::
+0x12A2 0x09F4 COMF R4, 1
+;__Lib_Math.c,512 ::
+0x12A3 0x09F5 COMF R5, 1
+;__Lib_Math.c,513 ::
+0x12A4 0x0AF4 INCF R4, 1
+;__Lib_Math.c,514 ::
+0x12A5 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,515 ::
+0x12A6 0x0AF5 INCF R5, 1
+;__Lib_Math.c,517 ::
+0x12A7 0x1FF1 BTFSS R1, 7
+;__Lib_Math.c,518 ::
+0x12A8 0x2AAE GOTO $+6
+;__Lib_Math.c,520 ::
+0x12A9 0x09F0 COMF R0, 1
+;__Lib_Math.c,521 ::
+0x12AA 0x09F1 COMF R1, 1
+;__Lib_Math.c,522 ::
+0x12AB 0x0AF0 INCF R0, 1
+;__Lib_Math.c,523 ::
+0x12AC 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,524 ::
+0x12AD 0x0AF1 INCF R1, 1
+;__Lib_Math.c,526 ::
+0x12AE 0x0871 MOVF R1, 0
+;__Lib_Math.c,527 ::
+0x12AF 0x0475 IORWF R5, 0
+;__Lib_Math.c,528 ::
+0x12B0 0x00FA MOVWF R10
+;__Lib_Math.c,529 ::
+0x12B1 0x1BFA BTFSC R10, 7
+;__Lib_Math.c,530 ::
+0x12B2 0x2AC3 GOTO $+17
+;__Lib_Math.c,532 ::
+0x12B3 0x3188 MOVLP 8
+0x12B4 0x278C CALL _Div_16x16_S_L
+0x12B5 0x3190 MOVLP 16
+;__Lib_Math.c,534 ::
+0x12B6 0x187B BTFSC R11, 0
+;__Lib_Math.c,535 ::
+0x12B7 0x2AD8 GOTO $+33
+;__Lib_Math.c,537 ::
+0x12B8 0x1FFD BTFSS R13, 7
+;__Lib_Math.c,538 ::
+0x12B9 0x3400 RETLW 0
+;__Lib_Math.c,540 ::
+0x12BA 0x09F0 COMF R0, 1
+;__Lib_Math.c,541 ::
+0x12BB 0x09F1 COMF R1, 1
+;__Lib_Math.c,542 ::
+0x12BC 0x0AF0 INCF R0, 1
+;__Lib_Math.c,543 ::
+0x12BD 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,544 ::
+0x12BE 0x0AF1 INCF R1, 1
+;__Lib_Math.c,546 ::
+0x12BF 0x09F8 COMF R8, 1
+;__Lib_Math.c,547 ::
+0x12C0 0x09F9 COMF R9, 1
+;__Lib_Math.c,548 ::
+0x12C1 0x0AF8 INCF R8, 1
+;__Lib_Math.c,549 ::
+0x12C2 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,550 ::
+0x12C3 0x0AF9 INCF R9, 1
+;__Lib_Math.c,552 ::
+0x12C4 0x3400 RETLW 0
+;__Lib_Math.c,554 ::
+0x12C5 0x1FF5 BTFSS R5, 7
+;__Lib_Math.c,555 ::
+0x12C6 0x2AD4 GOTO $+14
+;__Lib_Math.c,556 ::
+0x12C7 0x1BF1 BTFSC R1, 7
+;__Lib_Math.c,557 ::
+0x12C8 0x2AD0 GOTO $+8
+;__Lib_Math.c,558 ::
+0x12C9 0x0871 MOVF R1, 0
+;__Lib_Math.c,559 ::
+0x12CA 0x00F9 MOVWF R9
+;__Lib_Math.c,560 ::
+0x12CB 0x0870 MOVF R0, 0
+;__Lib_Math.c,561 ::
+0x12CC 0x00F8 MOVWF R8
+;__Lib_Math.c,562 ::
+0x12CD 0x01F1 CLRF R1
+;__Lib_Math.c,563 ::
+0x12CE 0x01F0 CLRF R0
+;__Lib_Math.c,564 ::
+0x12CF 0x2AB8 GOTO $-23
+;__Lib_Math.c,565 ::
+0x12D0 0x01F1 CLRF R1
+;__Lib_Math.c,566 ::
+0x12D1 0x01F0 CLRF R0
+;__Lib_Math.c,567 ::
+0x12D2 0x0AF0 INCF R0, 1
+;__Lib_Math.c,568 ::
+0x12D3 0x3400 RETLW 0
+;__Lib_Math.c,570 ::
+0x12D4 0x09F1 COMF R1, 1
+;__Lib_Math.c,571 ::
+0x12D5 0x09F0 COMF R0, 1
+;__Lib_Math.c,572 ::
+0x12D6 0x0AFB INCF R11, 1
+;__Lib_Math.c,573 ::
+0x12D7 0x2AB5 GOTO $-34
+;__Lib_Math.c,575 ::
+0x12D8 0x0AF8 INCF R8, 1
+;__Lib_Math.c,576 ::
+0x12D9 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,577 ::
+0x12DA 0x0AF9 INCF R9, 1
+;__Lib_Math.c,578 ::
+0x12DB 0x0874 MOVF R4, 0
+;__Lib_Math.c,579 ::
+0x12DC 0x0278 SUBWF R8, 0
+;__Lib_Math.c,580 ::
+0x12DD 0x1D03 BTFSS STATUS, 2
+;__Lib_Math.c,581 ::
+0x12DE 0x2AB8 GOTO $-38
+;__Lib_Math.c,582 ::
+0x12DF 0x0875 MOVF R5, 0
+;__Lib_Math.c,583 ::
+0x12E0 0x0279 SUBWF R9, 0
+;__Lib_Math.c,584 ::
+0x12E1 0x1D03 BTFSS STATUS, 2
+;__Lib_Math.c,585 ::
+0x12E2 0x2AB8 GOTO $-42
+;__Lib_Math.c,586 ::
+0x12E3 0x01F9 CLRF R9
+;__Lib_Math.c,587 ::
+0x12E4 0x01F8 CLRF R8
+;__Lib_Math.c,588 ::
+0x12E5 0x0AF0 INCF R0, 1
+;__Lib_Math.c,589 ::
+0x12E6 0x1903 BTFSC STATUS, 2
+;__Lib_Math.c,590 ::
+0x12E7 0x0AF1 INCF R1, 1
+;__Lib_Math.c,591 ::
+0x12E8 0x1FF1 BTFSS R1, 7
+;__Lib_Math.c,592 ::
+0x12E9 0x2AB8 GOTO $-49
+;__Lib_Math.c,593 ::
+0x12EA 0x0000 NOP
+;__Lib_Math.c,594 ::
+0x12EB 0x34FF RETLW 255
+;__Lib_Math.c,596 ::
+L_end_Div_16x16_S:
+0x12EC 0x0008 RETURN
+; end of _Div_16x16_S
+_coarse_cap:
+;main.c,649 :: void coarse_cap() {
+;main.c,650 :: char step = 3;
+0x12ED 0x3003 MOVLW 3
+0x12EE 0x0143 MOVLB 3
+0x12EF 0x00E1 MOVWF coarse_cap_step_L0
+;main.c,654 :: cap = 0;
+0x12F0 0x0141 MOVLB 1
+0x12F1 0x01EF CLRF _cap
+;main.c,655 :: Relay_set(ind, cap, SW);
+0x12F2 0x0142 MOVLB 2
+0x12F3 0x083F MOVF _ind, 0
+0x12F4 0x0144 MOVLB 4
+0x12F5 0x00A0 MOVWF FARG_Relay_set_L
+0x12F6 0x01A1 CLRF FARG_Relay_set_C
+0x12F7 0x0141 MOVLB 1
+0x12F8 0x086E MOVF _SW, 0
+0x12F9 0x0144 MOVLB 4
+0x12FA 0x00A2 MOVWF FARG_Relay_set_I
+0x12FB 0x3180 MOVLP 0
+0x12FC 0x2621 CALL _Relay_set
+0x12FD 0x3190 MOVLP 16
+;main.c,656 :: get_swr();
+0x12FE 0x2221 CALL _get_swr
+;main.c,657 :: min_swr = SWR + SWR/20;
+0x12FF 0x3014 MOVLW 20
+0x1300 0x00F4 MOVWF R4
+0x1301 0x3000 MOVLW 0
+0x1302 0x00F5 MOVWF R5
+0x1303 0x0143 MOVLB 3
+0x1304 0x083B MOVF _SWR, 0
+0x1305 0x00F0 MOVWF R0
+0x1306 0x083C MOVF _SWR+1, 0
+0x1307 0x00F1 MOVWF R1
+0x1308 0x2285 CALL _Div_16x16_S
+0x1309 0x0870 MOVF R0, 0
+0x130A 0x0143 MOVLB 3
+0x130B 0x073B ADDWF _SWR, 0
+0x130C 0x00DF MOVWF coarse_cap_min_swr_L0
+0x130D 0x0871 MOVF R1, 0
+0x130E 0x3D3C ADDWFC _SWR+1, 0
+0x130F 0x00E0 MOVWF coarse_cap_min_swr_L0+1
+;main.c,658 :: for(count=step; count<=31;) {
+0x1310 0x0861 MOVF coarse_cap_step_L0, 0
+0x1311 0x00DE MOVWF coarse_cap_count_L0
+L_coarse_cap160:
+0x1312 0x085E MOVF coarse_cap_count_L0, 0
+0x1313 0x3C1F SUBLW 31
+0x1314 0x1C03 BTFSS STATUS, 0
+0x1315 0x2B6E GOTO L_coarse_cap161
+;main.c,659 :: Relay_set(ind, count, SW);
+0x1316 0x0142 MOVLB 2
+0x1317 0x083F MOVF _ind, 0
+0x1318 0x0144 MOVLB 4
+0x1319 0x00A0 MOVWF FARG_Relay_set_L
+0x131A 0x0143 MOVLB 3
+0x131B 0x085E MOVF coarse_cap_count_L0, 0
+0x131C 0x0144 MOVLB 4
+0x131D 0x00A1 MOVWF FARG_Relay_set_C
+0x131E 0x0141 MOVLB 1
+0x131F 0x086E MOVF _SW, 0
+0x1320 0x0144 MOVLB 4
+0x1321 0x00A2 MOVWF FARG_Relay_set_I
+0x1322 0x3180 MOVLP 0
+0x1323 0x2621 CALL _Relay_set
+0x1324 0x3190 MOVLP 16
+;main.c,660 :: get_swr();
+0x1325 0x2221 CALL _get_swr
+;main.c,661 :: if(SWR < min_swr) {
+0x1326 0x3080 MOVLW 128
+0x1327 0x0143 MOVLB 3
+0x1328 0x063C XORWF _SWR+1, 0
+0x1329 0x00F0 MOVWF R0
+0x132A 0x3080 MOVLW 128
+0x132B 0x0660 XORWF coarse_cap_min_swr_L0+1, 0
+0x132C 0x0270 SUBWF R0, 0
+0x132D 0x1D03 BTFSS STATUS, 2
+0x132E 0x2B31 GOTO L__coarse_cap362
+0x132F 0x085F MOVF coarse_cap_min_swr_L0, 0
+0x1330 0x023B SUBWF _SWR, 0
+L__coarse_cap362:
+0x1331 0x1803 BTFSC STATUS, 0
+0x1332 0x2B6C GOTO L_coarse_cap163
+;main.c,662 :: min_swr = SWR + SWR/20;
+0x1333 0x3014 MOVLW 20
+0x1334 0x00F4 MOVWF R4
+0x1335 0x3000 MOVLW 0
+0x1336 0x00F5 MOVWF R5
+0x1337 0x083B MOVF _SWR, 0
+0x1338 0x00F0 MOVWF R0
+0x1339 0x083C MOVF _SWR+1, 0
+0x133A 0x00F1 MOVWF R1
+0x133B 0x2285 CALL _Div_16x16_S
+0x133C 0x0870 MOVF R0, 0
+0x133D 0x0143 MOVLB 3
+0x133E 0x073B ADDWF _SWR, 0
+0x133F 0x00DF MOVWF coarse_cap_min_swr_L0
+0x1340 0x0871 MOVF R1, 0
+0x1341 0x3D3C ADDWFC _SWR+1, 0
+0x1342 0x00E0 MOVWF coarse_cap_min_swr_L0+1
+;main.c,663 :: cap = count;
+0x1343 0x085E MOVF coarse_cap_count_L0, 0
+0x1344 0x0141 MOVLB 1
+0x1345 0x00EF MOVWF _cap
+;main.c,664 :: step_cap = step;
+0x1346 0x0143 MOVLB 3
+0x1347 0x0861 MOVF coarse_cap_step_L0, 0
+0x1348 0x0141 MOVLB 1
+0x1349 0x00ED MOVWF _step_cap
+;main.c,665 :: if(SWR<120) break;
+0x134A 0x3080 MOVLW 128
+0x134B 0x0143 MOVLB 3
+0x134C 0x063C XORWF _SWR+1, 0
+0x134D 0x00F0 MOVWF R0
+0x134E 0x3080 MOVLW 128
+0x134F 0x0270 SUBWF R0, 0
+0x1350 0x1D03 BTFSS STATUS, 2
+0x1351 0x2B54 GOTO L__coarse_cap363
+0x1352 0x3078 MOVLW 120
+0x1353 0x023B SUBWF _SWR, 0
+L__coarse_cap363:
+0x1354 0x1803 BTFSC STATUS, 0
+0x1355 0x2B57 GOTO L_coarse_cap164
+0x1356 0x2B6E GOTO L_coarse_cap161
+L_coarse_cap164:
+;main.c,666 :: count += step;
+0x1357 0x0861 MOVF coarse_cap_step_L0, 0
+0x1358 0x075E ADDWF coarse_cap_count_L0, 0
+0x1359 0x00F1 MOVWF R1
+0x135A 0x0871 MOVF R1, 0
+0x135B 0x00DE MOVWF coarse_cap_count_L0
+;main.c,667 :: if(count==9) count = 8;
+0x135C 0x0871 MOVF R1, 0
+0x135D 0x3A09 XORLW 9
+0x135E 0x1D03 BTFSS STATUS, 2
+0x135F 0x2B63 GOTO L_coarse_cap165
+0x1360 0x3008 MOVLW 8
+0x1361 0x00DE MOVWF coarse_cap_count_L0
+0x1362 0x2B6B GOTO L_coarse_cap166
+L_coarse_cap165:
+;main.c,668 :: else if(count==17) {count = 16; step = 4;}
+0x1363 0x085E MOVF coarse_cap_count_L0, 0
+0x1364 0x3A11 XORLW 17
+0x1365 0x1D03 BTFSS STATUS, 2
+0x1366 0x2B6B GOTO L_coarse_cap167
+0x1367 0x3010 MOVLW 16
+0x1368 0x00DE MOVWF coarse_cap_count_L0
+0x1369 0x3004 MOVLW 4
+0x136A 0x00E1 MOVWF coarse_cap_step_L0
+L_coarse_cap167:
+L_coarse_cap166:
+;main.c,669 :: }
+0x136B 0x2B6D GOTO L_coarse_cap168
+L_coarse_cap163:
+;main.c,670 :: else break;
+0x136C 0x2B6E GOTO L_coarse_cap161
+L_coarse_cap168:
+;main.c,671 :: }
+0x136D 0x2B12 GOTO L_coarse_cap160
+L_coarse_cap161:
+;main.c,672 :: Relay_set(ind, cap, SW);
+0x136E 0x0142 MOVLB 2
+0x136F 0x083F MOVF _ind, 0
+0x1370 0x0144 MOVLB 4
+0x1371 0x00A0 MOVWF FARG_Relay_set_L
+0x1372 0x0141 MOVLB 1
+0x1373 0x086F MOVF _cap, 0
+0x1374 0x0144 MOVLB 4
+0x1375 0x00A1 MOVWF FARG_Relay_set_C
+0x1376 0x0141 MOVLB 1
+0x1377 0x086E MOVF _SW, 0
+0x1378 0x0144 MOVLB 4
+0x1379 0x00A2 MOVWF FARG_Relay_set_I
+0x137A 0x3180 MOVLP 0
+0x137B 0x2621 CALL _Relay_set
+0x137C 0x3190 MOVLP 16
+;main.c,673 :: return;
+;main.c,674 :: }
+L_end_coarse_cap:
+0x137D 0x0008 RETURN
+; end of _coarse_cap
+_sharp_cap:
+;main.c,710 :: void sharp_cap() {
+;main.c,713 :: range = step_cap;
+0x137E 0x0141 MOVLB 1
+0x137F 0x086D MOVF _step_cap, 0
+0x1380 0x0143 MOVLB 3
+0x1381 0x00D8 MOVWF sharp_cap_range_L0
+;main.c,715 :: max_range = cap + range;
+0x1382 0x0141 MOVLB 1
+0x1383 0x086D MOVF _step_cap, 0
+0x1384 0x076F ADDWF _cap, 0
+0x1385 0x00F1 MOVWF R1
+0x1386 0x0871 MOVF R1, 0
+0x1387 0x0143 MOVLB 3
+0x1388 0x00DA MOVWF sharp_cap_max_range_L0
+;main.c,716 :: if(max_range>31) max_range = 31;
+0x1389 0x0871 MOVF R1, 0
+0x138A 0x3C1F SUBLW 31
+0x138B 0x1803 BTFSC STATUS, 0
+0x138C 0x2B8F GOTO L_sharp_cap179
+0x138D 0x301F MOVLW 31
+0x138E 0x00DA MOVWF sharp_cap_max_range_L0
+L_sharp_cap179:
+;main.c,717 :: if(cap>range) min_range = cap - range; else min_range = 0;
+0x138F 0x0141 MOVLB 1
+0x1390 0x086F MOVF _cap, 0
+0x1391 0x0143 MOVLB 3
+0x1392 0x0258 SUBWF sharp_cap_range_L0, 0
+0x1393 0x1803 BTFSC STATUS, 0
+0x1394 0x2B9B GOTO L_sharp_cap180
+0x1395 0x0858 MOVF sharp_cap_range_L0, 0
+0x1396 0x0141 MOVLB 1
+0x1397 0x026F SUBWF _cap, 0
+0x1398 0x0143 MOVLB 3
+0x1399 0x00DB MOVWF sharp_cap_min_range_L0
+0x139A 0x2B9C GOTO L_sharp_cap181
+L_sharp_cap180:
+0x139B 0x01DB CLRF sharp_cap_min_range_L0
+L_sharp_cap181:
+;main.c,718 :: cap = min_range;
+0x139C 0x085B MOVF sharp_cap_min_range_L0, 0
+0x139D 0x0141 MOVLB 1
+0x139E 0x00EF MOVWF _cap
+;main.c,719 :: Relay_set(ind, cap, SW);
+0x139F 0x0142 MOVLB 2
+0x13A0 0x083F MOVF _ind, 0
+0x13A1 0x0144 MOVLB 4
+0x13A2 0x00A0 MOVWF FARG_Relay_set_L
+0x13A3 0x0143 MOVLB 3
+0x13A4 0x085B MOVF sharp_cap_min_range_L0, 0
+0x13A5 0x0144 MOVLB 4
+0x13A6 0x00A1 MOVWF FARG_Relay_set_C
+0x13A7 0x0141 MOVLB 1
+0x13A8 0x086E MOVF _SW, 0
+0x13A9 0x0144 MOVLB 4
+0x13AA 0x00A2 MOVWF FARG_Relay_set_I
+0x13AB 0x3180 MOVLP 0
+0x13AC 0x2621 CALL _Relay_set
+0x13AD 0x3190 MOVLP 16
+;main.c,720 :: get_swr();
+0x13AE 0x2221 CALL _get_swr
+;main.c,721 :: if(SWR==0) return;
+0x13AF 0x3000 MOVLW 0
+0x13B0 0x0143 MOVLB 3
+0x13B1 0x063C XORWF _SWR+1, 0
+0x13B2 0x1D03 BTFSS STATUS, 2
+0x13B3 0x2BB6 GOTO L__sharp_cap368
+0x13B4 0x3000 MOVLW 0
+0x13B5 0x063B XORWF _SWR, 0
+L__sharp_cap368:
+0x13B6 0x1D03 BTFSS STATUS, 2
+0x13B7 0x2BB9 GOTO L_sharp_cap182
+0x13B8 0x2C3E GOTO L_end_sharp_cap
+L_sharp_cap182:
+;main.c,722 :: min_SWR = SWR;
+0x13B9 0x083B MOVF _SWR, 0
+0x13BA 0x00DC MOVWF sharp_cap_min_swr_L0
+0x13BB 0x083C MOVF _SWR+1, 0
+0x13BC 0x00DD MOVWF sharp_cap_min_swr_L0+1
+;main.c,723 :: for(count=min_range+1; count<=max_range; count++) {
+0x13BD 0x0A5B INCF sharp_cap_min_range_L0, 0
+0x13BE 0x00D9 MOVWF sharp_cap_count_L0
+L_sharp_cap183:
+0x13BF 0x0859 MOVF sharp_cap_count_L0, 0
+0x13C0 0x025A SUBWF sharp_cap_max_range_L0, 0
+0x13C1 0x1C03 BTFSS STATUS, 0
+0x13C2 0x2C2F GOTO L_sharp_cap184
+;main.c,724 :: Relay_set(ind, count, SW);
+0x13C3 0x0142 MOVLB 2
+0x13C4 0x083F MOVF _ind, 0
+0x13C5 0x0144 MOVLB 4
+0x13C6 0x00A0 MOVWF FARG_Relay_set_L
+0x13C7 0x0143 MOVLB 3
+0x13C8 0x0859 MOVF sharp_cap_count_L0, 0
+0x13C9 0x0144 MOVLB 4
+0x13CA 0x00A1 MOVWF FARG_Relay_set_C
+0x13CB 0x0141 MOVLB 1
+0x13CC 0x086E MOVF _SW, 0
+0x13CD 0x0144 MOVLB 4
+0x13CE 0x00A2 MOVWF FARG_Relay_set_I
+0x13CF 0x3180 MOVLP 0
+0x13D0 0x2621 CALL _Relay_set
+0x13D1 0x3190 MOVLP 16
+;main.c,725 :: get_swr();
+0x13D2 0x2221 CALL _get_swr
+;main.c,726 :: if(SWR==0) return;
+0x13D3 0x3000 MOVLW 0
+0x13D4 0x0143 MOVLB 3
+0x13D5 0x063C XORWF _SWR+1, 0
+0x13D6 0x1D03 BTFSS STATUS, 2
+0x13D7 0x2BDA GOTO L__sharp_cap369
+0x13D8 0x3000 MOVLW 0
+0x13D9 0x063B XORWF _SWR, 0
+L__sharp_cap369:
+0x13DA 0x1D03 BTFSS STATUS, 2
+0x13DB 0x2BDD GOTO L_sharp_cap186
+0x13DC 0x2C3E GOTO L_end_sharp_cap
+L_sharp_cap186:
+;main.c,727 :: if(SWR>=min_SWR) { Delay_ms(10); get_swr(); }
+0x13DD 0x3080 MOVLW 128
+0x13DE 0x063C XORWF _SWR+1, 0
+0x13DF 0x00F0 MOVWF R0
+0x13E0 0x3080 MOVLW 128
+0x13E1 0x065D XORWF sharp_cap_min_swr_L0+1, 0
+0x13E2 0x0270 SUBWF R0, 0
+0x13E3 0x1D03 BTFSS STATUS, 2
+0x13E4 0x2BE7 GOTO L__sharp_cap370
+0x13E5 0x085C MOVF sharp_cap_min_swr_L0, 0
+0x13E6 0x023B SUBWF _SWR, 0
+L__sharp_cap370:
+0x13E7 0x1C03 BTFSS STATUS, 0
+0x13E8 0x2BF3 GOTO L_sharp_cap187
+0x13E9 0x3068 MOVLW 104
+0x13EA 0x00FC MOVWF R12
+0x13EB 0x30E4 MOVLW 228
+0x13EC 0x00FD MOVWF R13
+L_sharp_cap188:
+0x13ED 0x0BFD DECFSZ R13, 1
+0x13EE 0x2BED GOTO L_sharp_cap188
+0x13EF 0x0BFC DECFSZ R12, 1
+0x13F0 0x2BED GOTO L_sharp_cap188
+0x13F1 0x0000 NOP
+0x13F2 0x2221 CALL _get_swr
+L_sharp_cap187:
+;main.c,728 :: if(SWR>=min_SWR) { Delay_ms(10); get_swr(); }
+0x13F3 0x3080 MOVLW 128
+0x13F4 0x0143 MOVLB 3
+0x13F5 0x063C XORWF _SWR+1, 0
+0x13F6 0x00F0 MOVWF R0
+0x13F7 0x3080 MOVLW 128
+0x13F8 0x065D XORWF sharp_cap_min_swr_L0+1, 0
+0x13F9 0x0270 SUBWF R0, 0
+0x13FA 0x1D03 BTFSS STATUS, 2
+0x13FB 0x2BFE GOTO L__sharp_cap371
+0x13FC 0x085C MOVF sharp_cap_min_swr_L0, 0
+0x13FD 0x023B SUBWF _SWR, 0
+L__sharp_cap371:
+0x13FE 0x1C03 BTFSS STATUS, 0
+0x13FF 0x2C0A GOTO L_sharp_cap189
+0x1400 0x3068 MOVLW 104
+0x1401 0x00FC MOVWF R12
+0x1402 0x30E4 MOVLW 228
+0x1403 0x00FD MOVWF R13
+L_sharp_cap190:
+0x1404 0x0BFD DECFSZ R13, 1
+0x1405 0x2C04 GOTO L_sharp_cap190
+0x1406 0x0BFC DECFSZ R12, 1
+0x1407 0x2C04 GOTO L_sharp_cap190
+0x1408 0x0000 NOP
+0x1409 0x2221 CALL _get_swr
+L_sharp_cap189:
+;main.c,729 :: if(SWR < min_SWR) {
+0x140A 0x3080 MOVLW 128
+0x140B 0x0143 MOVLB 3
+0x140C 0x063C XORWF _SWR+1, 0
+0x140D 0x00F0 MOVWF R0
+0x140E 0x3080 MOVLW 128
+0x140F 0x065D XORWF sharp_cap_min_swr_L0+1, 0
+0x1410 0x0270 SUBWF R0, 0
+0x1411 0x1D03 BTFSS STATUS, 2
+0x1412 0x2C15 GOTO L__sharp_cap372
+0x1413 0x085C MOVF sharp_cap_min_swr_L0, 0
+0x1414 0x023B SUBWF _SWR, 0
+L__sharp_cap372:
+0x1415 0x1803 BTFSC STATUS, 0
+0x1416 0x2C2C GOTO L_sharp_cap191
+;main.c,730 :: min_SWR = SWR;
+0x1417 0x083B MOVF _SWR, 0
+0x1418 0x00DC MOVWF sharp_cap_min_swr_L0
+0x1419 0x083C MOVF _SWR+1, 0
+0x141A 0x00DD MOVWF sharp_cap_min_swr_L0+1
+;main.c,731 :: cap = count;
+0x141B 0x0859 MOVF sharp_cap_count_L0, 0
+0x141C 0x0141 MOVLB 1
+0x141D 0x00EF MOVWF _cap
+;main.c,732 :: if(SWR<120) break;
+0x141E 0x3080 MOVLW 128
+0x141F 0x0143 MOVLB 3
+0x1420 0x063C XORWF _SWR+1, 0
+0x1421 0x00F0 MOVWF R0
+0x1422 0x3080 MOVLW 128
+0x1423 0x0270 SUBWF R0, 0
+0x1424 0x1D03 BTFSS STATUS, 2
+0x1425 0x2C28 GOTO L__sharp_cap373
+0x1426 0x3078 MOVLW 120
+0x1427 0x023B SUBWF _SWR, 0
+L__sharp_cap373:
+0x1428 0x1803 BTFSC STATUS, 0
+0x1429 0x2C2B GOTO L_sharp_cap192
+0x142A 0x2C2F GOTO L_sharp_cap184
+L_sharp_cap192:
+;main.c,733 :: }
+0x142B 0x2C2D GOTO L_sharp_cap193
+L_sharp_cap191:
+;main.c,734 :: else break;
+0x142C 0x2C2F GOTO L_sharp_cap184
+L_sharp_cap193:
+;main.c,723 :: for(count=min_range+1; count<=max_range; count++) {
+0x142D 0x0AD9 INCF sharp_cap_count_L0, 1
+;main.c,735 :: }
+0x142E 0x2BBF GOTO L_sharp_cap183
+L_sharp_cap184:
+;main.c,736 :: Relay_set(ind, cap, SW);
+0x142F 0x0142 MOVLB 2
+0x1430 0x083F MOVF _ind, 0
+0x1431 0x0144 MOVLB 4
+0x1432 0x00A0 MOVWF FARG_Relay_set_L
+0x1433 0x0141 MOVLB 1
+0x1434 0x086F MOVF _cap, 0
+0x1435 0x0144 MOVLB 4
+0x1436 0x00A1 MOVWF FARG_Relay_set_C
+0x1437 0x0141 MOVLB 1
+0x1438 0x086E MOVF _SW, 0
+0x1439 0x0144 MOVLB 4
+0x143A 0x00A2 MOVWF FARG_Relay_set_I
+0x143B 0x3180 MOVLP 0
+0x143C 0x2621 CALL _Relay_set
+0x143D 0x3190 MOVLP 16
+;main.c,737 :: return;
+;main.c,738 :: }
+L_end_sharp_cap:
+0x143E 0x0008 RETURN
+; end of _sharp_cap
+_coarse_tune:
+;main.c,676 :: void coarse_tune() {
+;main.c,677 :: char step = 3;
+0x143F 0x3003 MOVLW 3
+0x1440 0x0143 MOVLB 3
+0x1441 0x00DD MOVWF coarse_tune_step_L0
+;main.c,682 :: mem_cap = 0;
+0x1442 0x01D9 CLRF coarse_tune_mem_cap_L0
+;main.c,683 :: step_ind = step;
+0x1443 0x085D MOVF coarse_tune_step_L0, 0
+0x1444 0x0141 MOVLB 1
+0x1445 0x00EC MOVWF _step_ind
+;main.c,684 :: mem_step_cap = 3;
+0x1446 0x3003 MOVLW 3
+0x1447 0x0143 MOVLB 3
+0x1448 0x00DA MOVWF coarse_tune_mem_step_cap_L0
+;main.c,685 :: min_swr = SWR + SWR/20;
+0x1449 0x3014 MOVLW 20
+0x144A 0x00F4 MOVWF R4
+0x144B 0x3000 MOVLW 0
+0x144C 0x00F5 MOVWF R5
+0x144D 0x083B MOVF _SWR, 0
+0x144E 0x00F0 MOVWF R0
+0x144F 0x083C MOVF _SWR+1, 0
+0x1450 0x00F1 MOVWF R1
+0x1451 0x2285 CALL _Div_16x16_S
+0x1452 0x0870 MOVF R0, 0
+0x1453 0x0143 MOVLB 3
+0x1454 0x073B ADDWF _SWR, 0
+0x1455 0x00DB MOVWF coarse_tune_min_swr_L0
+0x1456 0x0871 MOVF R1, 0
+0x1457 0x3D3C ADDWFC _SWR+1, 0
+0x1458 0x00DC MOVWF coarse_tune_min_swr_L0+1
+;main.c,686 :: for(count=step; count<=31;) {
+0x1459 0x085D MOVF coarse_tune_step_L0, 0
+0x145A 0x00D8 MOVWF coarse_tune_count_L0
+L_coarse_tune169:
+0x145B 0x0858 MOVF coarse_tune_count_L0, 0
+0x145C 0x3C1F SUBLW 31
+0x145D 0x1C03 BTFSS STATUS, 0
+0x145E 0x2CBC GOTO L_coarse_tune170
+;main.c,687 :: Relay_set(count, cap, SW);
+0x145F 0x0858 MOVF coarse_tune_count_L0, 0
+0x1460 0x0144 MOVLB 4
+0x1461 0x00A0 MOVWF FARG_Relay_set_L
+0x1462 0x0141 MOVLB 1
+0x1463 0x086F MOVF _cap, 0
+0x1464 0x0144 MOVLB 4
+0x1465 0x00A1 MOVWF FARG_Relay_set_C
+0x1466 0x0141 MOVLB 1
+0x1467 0x086E MOVF _SW, 0
+0x1468 0x0144 MOVLB 4
+0x1469 0x00A2 MOVWF FARG_Relay_set_I
+0x146A 0x3180 MOVLP 0
+0x146B 0x2621 CALL _Relay_set
+0x146C 0x3190 MOVLP 16
+;main.c,688 :: coarse_cap();
+0x146D 0x22ED CALL _coarse_cap
+;main.c,689 :: get_swr();
+0x146E 0x2221 CALL _get_swr
+;main.c,690 :: if(SWR < min_swr) {
+0x146F 0x3080 MOVLW 128
+0x1470 0x0143 MOVLB 3
+0x1471 0x063C XORWF _SWR+1, 0
+0x1472 0x00F0 MOVWF R0
+0x1473 0x3080 MOVLW 128
+0x1474 0x065C XORWF coarse_tune_min_swr_L0+1, 0
+0x1475 0x0270 SUBWF R0, 0
+0x1476 0x1D03 BTFSS STATUS, 2
+0x1477 0x2C7A GOTO L__coarse_tune365
+0x1478 0x085B MOVF coarse_tune_min_swr_L0, 0
+0x1479 0x023B SUBWF _SWR, 0
+L__coarse_tune365:
+0x147A 0x1803 BTFSC STATUS, 0
+0x147B 0x2CBA GOTO L_coarse_tune172
+;main.c,691 :: min_swr = SWR + SWR/20;
+0x147C 0x3014 MOVLW 20
+0x147D 0x00F4 MOVWF R4
+0x147E 0x3000 MOVLW 0
+0x147F 0x00F5 MOVWF R5
+0x1480 0x083B MOVF _SWR, 0
+0x1481 0x00F0 MOVWF R0
+0x1482 0x083C MOVF _SWR+1, 0
+0x1483 0x00F1 MOVWF R1
+0x1484 0x2285 CALL _Div_16x16_S
+0x1485 0x0870 MOVF R0, 0
+0x1486 0x0143 MOVLB 3
+0x1487 0x073B ADDWF _SWR, 0
+0x1488 0x00DB MOVWF coarse_tune_min_swr_L0
+0x1489 0x0871 MOVF R1, 0
+0x148A 0x3D3C ADDWFC _SWR+1, 0
+0x148B 0x00DC MOVWF coarse_tune_min_swr_L0+1
+;main.c,692 :: ind = count;
+0x148C 0x0858 MOVF coarse_tune_count_L0, 0
+0x148D 0x0142 MOVLB 2
+0x148E 0x00BF MOVWF _ind
+;main.c,693 :: mem_cap = cap;
+0x148F 0x0141 MOVLB 1
+0x1490 0x086F MOVF _cap, 0
+0x1491 0x0143 MOVLB 3
+0x1492 0x00D9 MOVWF coarse_tune_mem_cap_L0
+;main.c,694 :: step_ind = step;
+0x1493 0x085D MOVF coarse_tune_step_L0, 0
+0x1494 0x0141 MOVLB 1
+0x1495 0x00EC MOVWF _step_ind
+;main.c,695 :: mem_step_cap = step_cap;
+0x1496 0x086D MOVF _step_cap, 0
+0x1497 0x0143 MOVLB 3
+0x1498 0x00DA MOVWF coarse_tune_mem_step_cap_L0
+;main.c,696 :: if(SWR<120) break;
+0x1499 0x3080 MOVLW 128
+0x149A 0x063C XORWF _SWR+1, 0
+0x149B 0x00F0 MOVWF R0
+0x149C 0x3080 MOVLW 128
+0x149D 0x0270 SUBWF R0, 0
+0x149E 0x1D03 BTFSS STATUS, 2
+0x149F 0x2CA2 GOTO L__coarse_tune366
+0x14A0 0x3078 MOVLW 120
+0x14A1 0x023B SUBWF _SWR, 0
+L__coarse_tune366:
+0x14A2 0x1803 BTFSC STATUS, 0
+0x14A3 0x2CA5 GOTO L_coarse_tune173
+0x14A4 0x2CBC GOTO L_coarse_tune170
+L_coarse_tune173:
+;main.c,697 :: count += step;
+0x14A5 0x085D MOVF coarse_tune_step_L0, 0
+0x14A6 0x0758 ADDWF coarse_tune_count_L0, 0
+0x14A7 0x00F1 MOVWF R1
+0x14A8 0x0871 MOVF R1, 0
+0x14A9 0x00D8 MOVWF coarse_tune_count_L0
+;main.c,698 :: if(count==9) count = 8;
+0x14AA 0x0871 MOVF R1, 0
+0x14AB 0x3A09 XORLW 9
+0x14AC 0x1D03 BTFSS STATUS, 2
+0x14AD 0x2CB1 GOTO L_coarse_tune174
+0x14AE 0x3008 MOVLW 8
+0x14AF 0x00D8 MOVWF coarse_tune_count_L0
+0x14B0 0x2CB9 GOTO L_coarse_tune175
+L_coarse_tune174:
+;main.c,699 :: else if(count==17) {count = 16; step = 4;}
+0x14B1 0x0858 MOVF coarse_tune_count_L0, 0
+0x14B2 0x3A11 XORLW 17
+0x14B3 0x1D03 BTFSS STATUS, 2
+0x14B4 0x2CB9 GOTO L_coarse_tune176
+0x14B5 0x3010 MOVLW 16
+0x14B6 0x00D8 MOVWF coarse_tune_count_L0
+0x14B7 0x3004 MOVLW 4
+0x14B8 0x00DD MOVWF coarse_tune_step_L0
+L_coarse_tune176:
+L_coarse_tune175:
+;main.c,700 :: }
+0x14B9 0x2CBB GOTO L_coarse_tune177
+L_coarse_tune172:
+;main.c,701 :: else break;
+0x14BA 0x2CBC GOTO L_coarse_tune170
+L_coarse_tune177:
+;main.c,702 :: }
+0x14BB 0x2C5B GOTO L_coarse_tune169
+L_coarse_tune170:
+;main.c,703 :: cap = mem_cap;
+0x14BC 0x0859 MOVF coarse_tune_mem_cap_L0, 0
+0x14BD 0x0141 MOVLB 1
+0x14BE 0x00EF MOVWF _cap
+;main.c,704 :: Relay_set(ind, cap, SW);
+0x14BF 0x0142 MOVLB 2
+0x14C0 0x083F MOVF _ind, 0
+0x14C1 0x0144 MOVLB 4
+0x14C2 0x00A0 MOVWF FARG_Relay_set_L
+0x14C3 0x0143 MOVLB 3
+0x14C4 0x0859 MOVF coarse_tune_mem_cap_L0, 0
+0x14C5 0x0144 MOVLB 4
+0x14C6 0x00A1 MOVWF FARG_Relay_set_C
+0x14C7 0x0141 MOVLB 1
+0x14C8 0x086E MOVF _SW, 0
+0x14C9 0x0144 MOVLB 4
+0x14CA 0x00A2 MOVWF FARG_Relay_set_I
+0x14CB 0x3180 MOVLP 0
+0x14CC 0x2621 CALL _Relay_set
+0x14CD 0x3190 MOVLP 16
+;main.c,705 :: step_cap = mem_step_cap;
+0x14CE 0x0143 MOVLB 3
+0x14CF 0x085A MOVF coarse_tune_mem_step_cap_L0, 0
+0x14D0 0x0141 MOVLB 1
+0x14D1 0x00ED MOVWF _step_cap
+;main.c,706 :: Delay_ms(10);
+0x14D2 0x3068 MOVLW 104
+0x14D3 0x00FC MOVWF R12
+0x14D4 0x30E4 MOVLW 228
+0x14D5 0x00FD MOVWF R13
+L_coarse_tune178:
+0x14D6 0x0BFD DECFSZ R13, 1
+0x14D7 0x2CD6 GOTO L_coarse_tune178
+0x14D8 0x0BFC DECFSZ R12, 1
+0x14D9 0x2CD6 GOTO L_coarse_tune178
+0x14DA 0x0000 NOP
+;main.c,707 :: return;
+;main.c,708 :: }
+L_end_coarse_tune:
+0x14DB 0x0008 RETURN
+; end of _coarse_tune
+_sharp_ind:
+;main.c,740 :: void sharp_ind() {
+;main.c,743 :: range = step_ind;
+0x14DC 0x0141 MOVLB 1
+0x14DD 0x086C MOVF _step_ind, 0
+0x14DE 0x0143 MOVLB 3
+0x14DF 0x00D8 MOVWF sharp_ind_range_L0
+;main.c,745 :: max_range = ind + range;
+0x14E0 0x0141 MOVLB 1
+0x14E1 0x086C MOVF _step_ind, 0
+0x14E2 0x0142 MOVLB 2
+0x14E3 0x073F ADDWF _ind, 0
+0x14E4 0x00F1 MOVWF R1
+0x14E5 0x0871 MOVF R1, 0
+0x14E6 0x0143 MOVLB 3
+0x14E7 0x00DA MOVWF sharp_ind_max_range_L0
+;main.c,746 :: if(max_range>31) max_range = 31;
+0x14E8 0x0871 MOVF R1, 0
+0x14E9 0x3C1F SUBLW 31
+0x14EA 0x1803 BTFSC STATUS, 0
+0x14EB 0x2CEE GOTO L_sharp_ind194
+0x14EC 0x301F MOVLW 31
+0x14ED 0x00DA MOVWF sharp_ind_max_range_L0
+L_sharp_ind194:
+;main.c,747 :: if(ind>range) min_range = ind - range; else min_range = 0;
+0x14EE 0x0142 MOVLB 2
+0x14EF 0x083F MOVF _ind, 0
+0x14F0 0x0143 MOVLB 3
+0x14F1 0x0258 SUBWF sharp_ind_range_L0, 0
+0x14F2 0x1803 BTFSC STATUS, 0
+0x14F3 0x2CFA GOTO L_sharp_ind195
+0x14F4 0x0858 MOVF sharp_ind_range_L0, 0
+0x14F5 0x0142 MOVLB 2
+0x14F6 0x023F SUBWF _ind, 0
+0x14F7 0x0143 MOVLB 3
+0x14F8 0x00DB MOVWF sharp_ind_min_range_L0
+0x14F9 0x2CFB GOTO L_sharp_ind196
+L_sharp_ind195:
+0x14FA 0x01DB CLRF sharp_ind_min_range_L0
+L_sharp_ind196:
+;main.c,748 :: ind = min_range;
+0x14FB 0x085B MOVF sharp_ind_min_range_L0, 0
+0x14FC 0x0142 MOVLB 2
+0x14FD 0x00BF MOVWF _ind
+;main.c,749 :: Relay_set(ind, cap, SW);
+0x14FE 0x0143 MOVLB 3
+0x14FF 0x085B MOVF sharp_ind_min_range_L0, 0
+0x1500 0x0144 MOVLB 4
+0x1501 0x00A0 MOVWF FARG_Relay_set_L
+0x1502 0x0141 MOVLB 1
+0x1503 0x086F MOVF _cap, 0
+0x1504 0x0144 MOVLB 4
+0x1505 0x00A1 MOVWF FARG_Relay_set_C
+0x1506 0x0141 MOVLB 1
+0x1507 0x086E MOVF _SW, 0
+0x1508 0x0144 MOVLB 4
+0x1509 0x00A2 MOVWF FARG_Relay_set_I
+0x150A 0x3180 MOVLP 0
+0x150B 0x2621 CALL _Relay_set
+0x150C 0x3190 MOVLP 16
+;main.c,750 :: get_swr();
+0x150D 0x2221 CALL _get_swr
+;main.c,751 :: if(SWR==0) return;
+0x150E 0x3000 MOVLW 0
+0x150F 0x0143 MOVLB 3
+0x1510 0x063C XORWF _SWR+1, 0
+0x1511 0x1D03 BTFSS STATUS, 2
+0x1512 0x2D15 GOTO L__sharp_ind375
+0x1513 0x3000 MOVLW 0
+0x1514 0x063B XORWF _SWR, 0
+L__sharp_ind375:
+0x1515 0x1D03 BTFSS STATUS, 2
+0x1516 0x2D18 GOTO L_sharp_ind197
+0x1517 0x2D9C GOTO L_end_sharp_ind
+L_sharp_ind197:
+;main.c,752 :: min_SWR = SWR;
+0x1518 0x083B MOVF _SWR, 0
+0x1519 0x00DC MOVWF sharp_ind_min_SWR_L0
+0x151A 0x083C MOVF _SWR+1, 0
+0x151B 0x00DD MOVWF sharp_ind_min_SWR_L0+1
+;main.c,753 :: for(count=min_range+1; count<=max_range; count++) {
+0x151C 0x0A5B INCF sharp_ind_min_range_L0, 0
+0x151D 0x00D9 MOVWF sharp_ind_count_L0
+L_sharp_ind198:
+0x151E 0x0859 MOVF sharp_ind_count_L0, 0
+0x151F 0x025A SUBWF sharp_ind_max_range_L0, 0
+0x1520 0x1C03 BTFSS STATUS, 0
+0x1521 0x2D8D GOTO L_sharp_ind199
+;main.c,754 :: Relay_set(count, cap, SW);
+0x1522 0x0859 MOVF sharp_ind_count_L0, 0
+0x1523 0x0144 MOVLB 4
+0x1524 0x00A0 MOVWF FARG_Relay_set_L
+0x1525 0x0141 MOVLB 1
+0x1526 0x086F MOVF _cap, 0
+0x1527 0x0144 MOVLB 4
+0x1528 0x00A1 MOVWF FARG_Relay_set_C
+0x1529 0x0141 MOVLB 1
+0x152A 0x086E MOVF _SW, 0
+0x152B 0x0144 MOVLB 4
+0x152C 0x00A2 MOVWF FARG_Relay_set_I
+0x152D 0x3180 MOVLP 0
+0x152E 0x2621 CALL _Relay_set
+0x152F 0x3190 MOVLP 16
+;main.c,755 :: get_swr();
+0x1530 0x2221 CALL _get_swr
+;main.c,756 :: if(SWR==0) return;
+0x1531 0x3000 MOVLW 0
+0x1532 0x0143 MOVLB 3
+0x1533 0x063C XORWF _SWR+1, 0
+0x1534 0x1D03 BTFSS STATUS, 2
+0x1535 0x2D38 GOTO L__sharp_ind376
+0x1536 0x3000 MOVLW 0
+0x1537 0x063B XORWF _SWR, 0
+L__sharp_ind376:
+0x1538 0x1D03 BTFSS STATUS, 2
+0x1539 0x2D3B GOTO L_sharp_ind201
+0x153A 0x2D9C GOTO L_end_sharp_ind
+L_sharp_ind201:
+;main.c,757 :: if(SWR>=min_SWR) { Delay_ms(10); get_swr(); }
+0x153B 0x3080 MOVLW 128
+0x153C 0x063C XORWF _SWR+1, 0
+0x153D 0x00F0 MOVWF R0
+0x153E 0x3080 MOVLW 128
+0x153F 0x065D XORWF sharp_ind_min_SWR_L0+1, 0
+0x1540 0x0270 SUBWF R0, 0
+0x1541 0x1D03 BTFSS STATUS, 2
+0x1542 0x2D45 GOTO L__sharp_ind377
+0x1543 0x085C MOVF sharp_ind_min_SWR_L0, 0
+0x1544 0x023B SUBWF _SWR, 0
+L__sharp_ind377:
+0x1545 0x1C03 BTFSS STATUS, 0
+0x1546 0x2D51 GOTO L_sharp_ind202
+0x1547 0x3068 MOVLW 104
+0x1548 0x00FC MOVWF R12
+0x1549 0x30E4 MOVLW 228
+0x154A 0x00FD MOVWF R13
+L_sharp_ind203:
+0x154B 0x0BFD DECFSZ R13, 1
+0x154C 0x2D4B GOTO L_sharp_ind203
+0x154D 0x0BFC DECFSZ R12, 1
+0x154E 0x2D4B GOTO L_sharp_ind203
+0x154F 0x0000 NOP
+0x1550 0x2221 CALL _get_swr
+L_sharp_ind202:
+;main.c,758 :: if(SWR>=min_SWR) { Delay_ms(10); get_swr(); }
+0x1551 0x3080 MOVLW 128
+0x1552 0x0143 MOVLB 3
+0x1553 0x063C XORWF _SWR+1, 0
+0x1554 0x00F0 MOVWF R0
+0x1555 0x3080 MOVLW 128
+0x1556 0x065D XORWF sharp_ind_min_SWR_L0+1, 0
+0x1557 0x0270 SUBWF R0, 0
+0x1558 0x1D03 BTFSS STATUS, 2
+0x1559 0x2D5C GOTO L__sharp_ind378
+0x155A 0x085C MOVF sharp_ind_min_SWR_L0, 0
+0x155B 0x023B SUBWF _SWR, 0
+L__sharp_ind378:
+0x155C 0x1C03 BTFSS STATUS, 0
+0x155D 0x2D68 GOTO L_sharp_ind204
+0x155E 0x3068 MOVLW 104
+0x155F 0x00FC MOVWF R12
+0x1560 0x30E4 MOVLW 228
+0x1561 0x00FD MOVWF R13
+L_sharp_ind205:
+0x1562 0x0BFD DECFSZ R13, 1
+0x1563 0x2D62 GOTO L_sharp_ind205
+0x1564 0x0BFC DECFSZ R12, 1
+0x1565 0x2D62 GOTO L_sharp_ind205
+0x1566 0x0000 NOP
+0x1567 0x2221 CALL _get_swr
+L_sharp_ind204:
+;main.c,759 :: if(SWR < min_SWR) {
+0x1568 0x3080 MOVLW 128
+0x1569 0x0143 MOVLB 3
+0x156A 0x063C XORWF _SWR+1, 0
+0x156B 0x00F0 MOVWF R0
+0x156C 0x3080 MOVLW 128
+0x156D 0x065D XORWF sharp_ind_min_SWR_L0+1, 0
+0x156E 0x0270 SUBWF R0, 0
+0x156F 0x1D03 BTFSS STATUS, 2
+0x1570 0x2D73 GOTO L__sharp_ind379
+0x1571 0x085C MOVF sharp_ind_min_SWR_L0, 0
+0x1572 0x023B SUBWF _SWR, 0
+L__sharp_ind379:
+0x1573 0x1803 BTFSC STATUS, 0
+0x1574 0x2D8A GOTO L_sharp_ind206
+;main.c,760 :: min_SWR = SWR;
+0x1575 0x083B MOVF _SWR, 0
+0x1576 0x00DC MOVWF sharp_ind_min_SWR_L0
+0x1577 0x083C MOVF _SWR+1, 0
+0x1578 0x00DD MOVWF sharp_ind_min_SWR_L0+1
+;main.c,761 :: ind = count;
+0x1579 0x0859 MOVF sharp_ind_count_L0, 0
+0x157A 0x0142 MOVLB 2
+0x157B 0x00BF MOVWF _ind
+;main.c,762 :: if(SWR<120) break;
+0x157C 0x3080 MOVLW 128
+0x157D 0x0143 MOVLB 3
+0x157E 0x063C XORWF _SWR+1, 0
+0x157F 0x00F0 MOVWF R0
+0x1580 0x3080 MOVLW 128
+0x1581 0x0270 SUBWF R0, 0
+0x1582 0x1D03 BTFSS STATUS, 2
+0x1583 0x2D86 GOTO L__sharp_ind380
+0x1584 0x3078 MOVLW 120
+0x1585 0x023B SUBWF _SWR, 0
+L__sharp_ind380:
+0x1586 0x1803 BTFSC STATUS, 0
+0x1587 0x2D89 GOTO L_sharp_ind207
+0x1588 0x2D8D GOTO L_sharp_ind199
+L_sharp_ind207:
+;main.c,763 :: }
+0x1589 0x2D8B GOTO L_sharp_ind208
+L_sharp_ind206:
+;main.c,764 :: else break;
+0x158A 0x2D8D GOTO L_sharp_ind199
+L_sharp_ind208:
+;main.c,753 :: for(count=min_range+1; count<=max_range; count++) {
+0x158B 0x0AD9 INCF sharp_ind_count_L0, 1
+;main.c,765 :: }
+0x158C 0x2D1E GOTO L_sharp_ind198
+L_sharp_ind199:
+;main.c,766 :: Relay_set(ind, cap, SW);
+0x158D 0x0142 MOVLB 2
+0x158E 0x083F MOVF _ind, 0
+0x158F 0x0144 MOVLB 4
+0x1590 0x00A0 MOVWF FARG_Relay_set_L
+0x1591 0x0141 MOVLB 1
+0x1592 0x086F MOVF _cap, 0
+0x1593 0x0144 MOVLB 4
+0x1594 0x00A1 MOVWF FARG_Relay_set_C
+0x1595 0x0141 MOVLB 1
+0x1596 0x086E MOVF _SW, 0
+0x1597 0x0144 MOVLB 4
+0x1598 0x00A2 MOVWF FARG_Relay_set_I
+0x1599 0x3180 MOVLP 0
+0x159A 0x2621 CALL _Relay_set
+0x159B 0x3190 MOVLP 16
+;main.c,767 :: return;
+;main.c,768 :: }
+L_end_sharp_ind:
+0x159C 0x0008 RETURN
+; end of _sharp_ind
+_tune:
+;main.c,771 :: void tune() {
+;main.c,773 :: asm CLRWDT;
+0x159D 0x0064 CLRWDT
+;main.c,774 :: Key_out = 0;
+0x159E 0x0140 MOVLB 0
+0x159F 0x1119 BCF LATD2_bit, BitPos(LATD2_bit+0)
+;main.c,775 :: Delay_ms(100);
+0x15A0 0x3005 MOVLW 5
+0x15A1 0x00FB MOVWF R11
+0x15A2 0x300F MOVLW 15
+0x15A3 0x00FC MOVWF R12
+0x15A4 0x30F1 MOVLW 241
+0x15A5 0x00FD MOVWF R13
+L_tune209:
+0x15A6 0x0BFD DECFSZ R13, 1
+0x15A7 0x2DA6 GOTO L_tune209
+0x15A8 0x0BFC DECFSZ R12, 1
+0x15A9 0x2DA6 GOTO L_tune209
+0x15AA 0x0BFB DECFSZ R11, 1
+0x15AB 0x2DA6 GOTO L_tune209
+;main.c,776 :: get_swr(); if(SWR<110) { Key_out = 1; return; }
+0x15AC 0x2221 CALL _get_swr
+0x15AD 0x3080 MOVLW 128
+0x15AE 0x0143 MOVLB 3
+0x15AF 0x063C XORWF _SWR+1, 0
+0x15B0 0x00F0 MOVWF R0
+0x15B1 0x3080 MOVLW 128
+0x15B2 0x0270 SUBWF R0, 0
+0x15B3 0x1D03 BTFSS STATUS, 2
+0x15B4 0x2DB7 GOTO L__tune382
+0x15B5 0x306E MOVLW 110
+0x15B6 0x023B SUBWF _SWR, 0
+L__tune382:
+0x15B7 0x1803 BTFSC STATUS, 0
+0x15B8 0x2DBC GOTO L_tune210
+0x15B9 0x0140 MOVLB 0
+0x15BA 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x15BB 0x2F4A GOTO L_end_tune
+L_tune210:
+;main.c,777 :: atu_reset();
+0x15BC 0x3180 MOVLP 0
+0x15BD 0x27C8 CALL _atu_reset
+0x15BE 0x3190 MOVLP 16
+;main.c,778 :: Delay_ms(50);
+0x15BF 0x3003 MOVLW 3
+0x15C0 0x00FB MOVWF R11
+0x15C1 0x3008 MOVLW 8
+0x15C2 0x00FC MOVWF R12
+0x15C3 0x3077 MOVLW 119
+0x15C4 0x00FD MOVWF R13
+L_tune211:
+0x15C5 0x0BFD DECFSZ R13, 1
+0x15C6 0x2DC5 GOTO L_tune211
+0x15C7 0x0BFC DECFSZ R12, 1
+0x15C8 0x2DC5 GOTO L_tune211
+0x15C9 0x0BFB DECFSZ R11, 1
+0x15CA 0x2DC5 GOTO L_tune211
+;main.c,779 :: get_swr(); if(SWR<110) { Key_out = 1; return; }
+0x15CB 0x2221 CALL _get_swr
+0x15CC 0x3080 MOVLW 128
+0x15CD 0x0143 MOVLB 3
+0x15CE 0x063C XORWF _SWR+1, 0
+0x15CF 0x00F0 MOVWF R0
+0x15D0 0x3080 MOVLW 128
+0x15D1 0x0270 SUBWF R0, 0
+0x15D2 0x1D03 BTFSS STATUS, 2
+0x15D3 0x2DD6 GOTO L__tune383
+0x15D4 0x306E MOVLW 110
+0x15D5 0x023B SUBWF _SWR, 0
+L__tune383:
+0x15D6 0x1803 BTFSC STATUS, 0
+0x15D7 0x2DDB GOTO L_tune212
+0x15D8 0x0140 MOVLB 0
+0x15D9 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x15DA 0x2F4A GOTO L_end_tune
+L_tune212:
+;main.c,781 :: swr_mem = SWR;
+0x15DB 0x0143 MOVLB 3
+0x15DC 0x083B MOVF _SWR, 0
+0x15DD 0x00D2 MOVWF tune_swr_mem_L0
+0x15DE 0x083C MOVF _SWR+1, 0
+0x15DF 0x00D3 MOVWF tune_swr_mem_L0+1
+;main.c,782 :: coarse_tune(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+0x15E0 0x243F CALL _coarse_tune
+0x15E1 0x3000 MOVLW 0
+0x15E2 0x0143 MOVLB 3
+0x15E3 0x063C XORWF _SWR+1, 0
+0x15E4 0x1D03 BTFSS STATUS, 2
+0x15E5 0x2DE8 GOTO L__tune384
+0x15E6 0x3000 MOVLW 0
+0x15E7 0x063B XORWF _SWR, 0
+L__tune384:
+0x15E8 0x1D03 BTFSS STATUS, 2
+0x15E9 0x2DEF GOTO L_tune213
+0x15EA 0x3180 MOVLP 0
+0x15EB 0x27C8 CALL _atu_reset
+0x15EC 0x3190 MOVLP 16
+0x15ED 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x15EE 0x2F4A GOTO L_end_tune
+L_tune213:
+;main.c,783 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+0x15EF 0x2221 CALL _get_swr
+0x15F0 0x3080 MOVLW 128
+0x15F1 0x0143 MOVLB 3
+0x15F2 0x063C XORWF _SWR+1, 0
+0x15F3 0x00F0 MOVWF R0
+0x15F4 0x3080 MOVLW 128
+0x15F5 0x0270 SUBWF R0, 0
+0x15F6 0x1D03 BTFSS STATUS, 2
+0x15F7 0x2DFA GOTO L__tune385
+0x15F8 0x3078 MOVLW 120
+0x15F9 0x023B SUBWF _SWR, 0
+L__tune385:
+0x15FA 0x1803 BTFSC STATUS, 0
+0x15FB 0x2DFF GOTO L_tune214
+0x15FC 0x0140 MOVLB 0
+0x15FD 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x15FE 0x2F4A GOTO L_end_tune
+L_tune214:
+;main.c,784 :: sharp_ind(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+0x15FF 0x24DC CALL _sharp_ind
+0x1600 0x3000 MOVLW 0
+0x1601 0x0143 MOVLB 3
+0x1602 0x063C XORWF _SWR+1, 0
+0x1603 0x1D03 BTFSS STATUS, 2
+0x1604 0x2E07 GOTO L__tune386
+0x1605 0x3000 MOVLW 0
+0x1606 0x063B XORWF _SWR, 0
+L__tune386:
+0x1607 0x1D03 BTFSS STATUS, 2
+0x1608 0x2E0E GOTO L_tune215
+0x1609 0x3180 MOVLP 0
+0x160A 0x27C8 CALL _atu_reset
+0x160B 0x3190 MOVLP 16
+0x160C 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x160D 0x2F4A GOTO L_end_tune
+L_tune215:
+;main.c,785 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+0x160E 0x2221 CALL _get_swr
+0x160F 0x3080 MOVLW 128
+0x1610 0x0143 MOVLB 3
+0x1611 0x063C XORWF _SWR+1, 0
+0x1612 0x00F0 MOVWF R0
+0x1613 0x3080 MOVLW 128
+0x1614 0x0270 SUBWF R0, 0
+0x1615 0x1D03 BTFSS STATUS, 2
+0x1616 0x2E19 GOTO L__tune387
+0x1617 0x3078 MOVLW 120
+0x1618 0x023B SUBWF _SWR, 0
+L__tune387:
+0x1619 0x1803 BTFSC STATUS, 0
+0x161A 0x2E1E GOTO L_tune216
+0x161B 0x0140 MOVLB 0
+0x161C 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x161D 0x2F4A GOTO L_end_tune
+L_tune216:
+;main.c,786 :: sharp_cap(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+0x161E 0x237E CALL _sharp_cap
+0x161F 0x3000 MOVLW 0
+0x1620 0x0143 MOVLB 3
+0x1621 0x063C XORWF _SWR+1, 0
+0x1622 0x1D03 BTFSS STATUS, 2
+0x1623 0x2E26 GOTO L__tune388
+0x1624 0x3000 MOVLW 0
+0x1625 0x063B XORWF _SWR, 0
+L__tune388:
+0x1626 0x1D03 BTFSS STATUS, 2
+0x1627 0x2E2D GOTO L_tune217
+0x1628 0x3180 MOVLP 0
+0x1629 0x27C8 CALL _atu_reset
+0x162A 0x3190 MOVLP 16
+0x162B 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x162C 0x2F4A GOTO L_end_tune
+L_tune217:
+;main.c,787 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+0x162D 0x2221 CALL _get_swr
+0x162E 0x3080 MOVLW 128
+0x162F 0x0143 MOVLB 3
+0x1630 0x063C XORWF _SWR+1, 0
+0x1631 0x00F0 MOVWF R0
+0x1632 0x3080 MOVLW 128
+0x1633 0x0270 SUBWF R0, 0
+0x1634 0x1D03 BTFSS STATUS, 2
+0x1635 0x2E38 GOTO L__tune389
+0x1636 0x3078 MOVLW 120
+0x1637 0x023B SUBWF _SWR, 0
+L__tune389:
+0x1638 0x1803 BTFSC STATUS, 0
+0x1639 0x2E3D GOTO L_tune218
+0x163A 0x0140 MOVLB 0
+0x163B 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x163C 0x2F4A GOTO L_end_tune
+L_tune218:
+;main.c,789 :: if(SWR<200 & SWR100) { Key_out = 1; return; }
+0x163D 0x3080 MOVLW 128
+0x163E 0x0143 MOVLB 3
+0x163F 0x063C XORWF _SWR+1, 0
+0x1640 0x00F1 MOVWF R1
+0x1641 0x3080 MOVLW 128
+0x1642 0x0271 SUBWF R1, 0
+0x1643 0x1D03 BTFSS STATUS, 2
+0x1644 0x2E47 GOTO L__tune390
+0x1645 0x30C8 MOVLW 200
+0x1646 0x023B SUBWF _SWR, 0
+L__tune390:
+0x1647 0x3001 MOVLW 1
+0x1648 0x1803 BTFSC STATUS, 0
+0x1649 0x3000 MOVLW 0
+0x164A 0x00F1 MOVWF R1
+0x164B 0x3080 MOVLW 128
+0x164C 0x063C XORWF _SWR+1, 0
+0x164D 0x00F0 MOVWF R0
+0x164E 0x3080 MOVLW 128
+0x164F 0x0653 XORWF tune_swr_mem_L0+1, 0
+0x1650 0x0270 SUBWF R0, 0
+0x1651 0x1D03 BTFSS STATUS, 2
+0x1652 0x2E55 GOTO L__tune391
+0x1653 0x0852 MOVF tune_swr_mem_L0, 0
+0x1654 0x023B SUBWF _SWR, 0
+L__tune391:
+0x1655 0x3001 MOVLW 1
+0x1656 0x1803 BTFSC STATUS, 0
+0x1657 0x3000 MOVLW 0
+0x1658 0x00F0 MOVWF R0
+0x1659 0x0870 MOVF R0, 0
+0x165A 0x0571 ANDWF R1, 0
+0x165B 0x00F3 MOVWF R3
+0x165C 0x083B MOVF _SWR, 0
+0x165D 0x0252 SUBWF tune_swr_mem_L0, 0
+0x165E 0x00F1 MOVWF R1
+0x165F 0x083C MOVF _SWR+1, 0
+0x1660 0x3B53 SUBWFB tune_swr_mem_L0+1, 0
+0x1661 0x00F2 MOVWF R2
+0x1662 0x3080 MOVLW 128
+0x1663 0x00F0 MOVWF R0
+0x1664 0x3080 MOVLW 128
+0x1665 0x0672 XORWF R2, 0
+0x1666 0x0270 SUBWF R0, 0
+0x1667 0x1D03 BTFSS STATUS, 2
+0x1668 0x2E6B GOTO L__tune392
+0x1669 0x0871 MOVF R1, 0
+0x166A 0x3C64 SUBLW 100
+L__tune392:
+0x166B 0x3001 MOVLW 1
+0x166C 0x1803 BTFSC STATUS, 0
+0x166D 0x3000 MOVLW 0
+0x166E 0x00F0 MOVWF R0
+0x166F 0x0873 MOVF R3, 0
+0x1670 0x05F0 ANDWF R0, 1
+0x1671 0x1903 BTFSC STATUS, 2
+0x1672 0x2E76 GOTO L_tune219
+0x1673 0x0140 MOVLB 0
+0x1674 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x1675 0x2F4A GOTO L_end_tune
+L_tune219:
+;main.c,790 :: swr_mem = SWR;
+0x1676 0x0143 MOVLB 3
+0x1677 0x083B MOVF _SWR, 0
+0x1678 0x00D2 MOVWF tune_swr_mem_L0
+0x1679 0x083C MOVF _SWR+1, 0
+0x167A 0x00D3 MOVWF tune_swr_mem_L0+1
+;main.c,791 :: ind_mem = ind;
+0x167B 0x0142 MOVLB 2
+0x167C 0x083F MOVF _ind, 0
+0x167D 0x0143 MOVLB 3
+0x167E 0x00D4 MOVWF tune_ind_mem_L0
+0x167F 0x01D5 CLRF tune_ind_mem_L0+1
+;main.c,792 :: cap_mem = cap;
+0x1680 0x0141 MOVLB 1
+0x1681 0x086F MOVF _cap, 0
+0x1682 0x0143 MOVLB 3
+0x1683 0x00D6 MOVWF tune_cap_mem_L0
+0x1684 0x01D7 CLRF tune_cap_mem_L0+1
+;main.c,794 :: if(SW==1) SW = 0; else SW = 1;
+0x1685 0x0141 MOVLB 1
+0x1686 0x086E MOVF _SW, 0
+0x1687 0x3A01 XORLW 1
+0x1688 0x1D03 BTFSS STATUS, 2
+0x1689 0x2E8C GOTO L_tune220
+0x168A 0x01EE CLRF _SW
+0x168B 0x2E8E GOTO L_tune221
+L_tune220:
+0x168C 0x3001 MOVLW 1
+0x168D 0x00EE MOVWF _SW
+L_tune221:
+;main.c,795 :: atu_reset();
+0x168E 0x3180 MOVLP 0
+0x168F 0x27C8 CALL _atu_reset
+0x1690 0x3190 MOVLP 16
+;main.c,796 :: Relay_set(ind, cap, SW);
+0x1691 0x0142 MOVLB 2
+0x1692 0x083F MOVF _ind, 0
+0x1693 0x0144 MOVLB 4
+0x1694 0x00A0 MOVWF FARG_Relay_set_L
+0x1695 0x0141 MOVLB 1
+0x1696 0x086F MOVF _cap, 0
+0x1697 0x0144 MOVLB 4
+0x1698 0x00A1 MOVWF FARG_Relay_set_C
+0x1699 0x0141 MOVLB 1
+0x169A 0x086E MOVF _SW, 0
+0x169B 0x0144 MOVLB 4
+0x169C 0x00A2 MOVWF FARG_Relay_set_I
+0x169D 0x3180 MOVLP 0
+0x169E 0x2621 CALL _Relay_set
+0x169F 0x3190 MOVLP 16
+;main.c,797 :: Delay_ms(50);
+0x16A0 0x3003 MOVLW 3
+0x16A1 0x00FB MOVWF R11
+0x16A2 0x3008 MOVLW 8
+0x16A3 0x00FC MOVWF R12
+0x16A4 0x3077 MOVLW 119
+0x16A5 0x00FD MOVWF R13
+L_tune222:
+0x16A6 0x0BFD DECFSZ R13, 1
+0x16A7 0x2EA6 GOTO L_tune222
+0x16A8 0x0BFC DECFSZ R12, 1
+0x16A9 0x2EA6 GOTO L_tune222
+0x16AA 0x0BFB DECFSZ R11, 1
+0x16AB 0x2EA6 GOTO L_tune222
+;main.c,798 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+0x16AC 0x2221 CALL _get_swr
+0x16AD 0x3080 MOVLW 128
+0x16AE 0x0143 MOVLB 3
+0x16AF 0x063C XORWF _SWR+1, 0
+0x16B0 0x00F0 MOVWF R0
+0x16B1 0x3080 MOVLW 128
+0x16B2 0x0270 SUBWF R0, 0
+0x16B3 0x1D03 BTFSS STATUS, 2
+0x16B4 0x2EB7 GOTO L__tune393
+0x16B5 0x3078 MOVLW 120
+0x16B6 0x023B SUBWF _SWR, 0
+L__tune393:
+0x16B7 0x1803 BTFSC STATUS, 0
+0x16B8 0x2EBC GOTO L_tune223
+0x16B9 0x0140 MOVLB 0
+0x16BA 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x16BB 0x2F4A GOTO L_end_tune
+L_tune223:
+;main.c,800 :: coarse_tune(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+0x16BC 0x243F CALL _coarse_tune
+0x16BD 0x3000 MOVLW 0
+0x16BE 0x0143 MOVLB 3
+0x16BF 0x063C XORWF _SWR+1, 0
+0x16C0 0x1D03 BTFSS STATUS, 2
+0x16C1 0x2EC4 GOTO L__tune394
+0x16C2 0x3000 MOVLW 0
+0x16C3 0x063B XORWF _SWR, 0
+L__tune394:
+0x16C4 0x1D03 BTFSS STATUS, 2
+0x16C5 0x2ECB GOTO L_tune224
+0x16C6 0x3180 MOVLP 0
+0x16C7 0x27C8 CALL _atu_reset
+0x16C8 0x3190 MOVLP 16
+0x16C9 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x16CA 0x2F4A GOTO L_end_tune
+L_tune224:
+;main.c,801 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+0x16CB 0x2221 CALL _get_swr
+0x16CC 0x3080 MOVLW 128
+0x16CD 0x0143 MOVLB 3
+0x16CE 0x063C XORWF _SWR+1, 0
+0x16CF 0x00F0 MOVWF R0
+0x16D0 0x3080 MOVLW 128
+0x16D1 0x0270 SUBWF R0, 0
+0x16D2 0x1D03 BTFSS STATUS, 2
+0x16D3 0x2ED6 GOTO L__tune395
+0x16D4 0x3078 MOVLW 120
+0x16D5 0x023B SUBWF _SWR, 0
+L__tune395:
+0x16D6 0x1803 BTFSC STATUS, 0
+0x16D7 0x2EDB GOTO L_tune225
+0x16D8 0x0140 MOVLB 0
+0x16D9 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x16DA 0x2F4A GOTO L_end_tune
+L_tune225:
+;main.c,802 :: sharp_ind(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+0x16DB 0x24DC CALL _sharp_ind
+0x16DC 0x3000 MOVLW 0
+0x16DD 0x0143 MOVLB 3
+0x16DE 0x063C XORWF _SWR+1, 0
+0x16DF 0x1D03 BTFSS STATUS, 2
+0x16E0 0x2EE3 GOTO L__tune396
+0x16E1 0x3000 MOVLW 0
+0x16E2 0x063B XORWF _SWR, 0
+L__tune396:
+0x16E3 0x1D03 BTFSS STATUS, 2
+0x16E4 0x2EEA GOTO L_tune226
+0x16E5 0x3180 MOVLP 0
+0x16E6 0x27C8 CALL _atu_reset
+0x16E7 0x3190 MOVLP 16
+0x16E8 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x16E9 0x2F4A GOTO L_end_tune
+L_tune226:
+;main.c,803 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+0x16EA 0x2221 CALL _get_swr
+0x16EB 0x3080 MOVLW 128
+0x16EC 0x0143 MOVLB 3
+0x16ED 0x063C XORWF _SWR+1, 0
+0x16EE 0x00F0 MOVWF R0
+0x16EF 0x3080 MOVLW 128
+0x16F0 0x0270 SUBWF R0, 0
+0x16F1 0x1D03 BTFSS STATUS, 2
+0x16F2 0x2EF5 GOTO L__tune397
+0x16F3 0x3078 MOVLW 120
+0x16F4 0x023B SUBWF _SWR, 0
+L__tune397:
+0x16F5 0x1803 BTFSC STATUS, 0
+0x16F6 0x2EFA GOTO L_tune227
+0x16F7 0x0140 MOVLB 0
+0x16F8 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x16F9 0x2F4A GOTO L_end_tune
+L_tune227:
+;main.c,804 :: sharp_cap(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+0x16FA 0x237E CALL _sharp_cap
+0x16FB 0x3000 MOVLW 0
+0x16FC 0x0143 MOVLB 3
+0x16FD 0x063C XORWF _SWR+1, 0
+0x16FE 0x1D03 BTFSS STATUS, 2
+0x16FF 0x2F02 GOTO L__tune398
+0x1700 0x3000 MOVLW 0
+0x1701 0x063B XORWF _SWR, 0
+L__tune398:
+0x1702 0x1D03 BTFSS STATUS, 2
+0x1703 0x2F09 GOTO L_tune228
+0x1704 0x3180 MOVLP 0
+0x1705 0x27C8 CALL _atu_reset
+0x1706 0x3190 MOVLP 16
+0x1707 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x1708 0x2F4A GOTO L_end_tune
+L_tune228:
+;main.c,805 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+0x1709 0x2221 CALL _get_swr
+0x170A 0x3080 MOVLW 128
+0x170B 0x0143 MOVLB 3
+0x170C 0x063C XORWF _SWR+1, 0
+0x170D 0x00F0 MOVWF R0
+0x170E 0x3080 MOVLW 128
+0x170F 0x0270 SUBWF R0, 0
+0x1710 0x1D03 BTFSS STATUS, 2
+0x1711 0x2F14 GOTO L__tune399
+0x1712 0x3078 MOVLW 120
+0x1713 0x023B SUBWF _SWR, 0
+L__tune399:
+0x1714 0x1803 BTFSC STATUS, 0
+0x1715 0x2F19 GOTO L_tune229
+0x1716 0x0140 MOVLB 0
+0x1717 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+0x1718 0x2F4A GOTO L_end_tune
+L_tune229:
+;main.c,807 :: if(SWR>swr_mem) {
+0x1719 0x3080 MOVLW 128
+0x171A 0x0143 MOVLB 3
+0x171B 0x0653 XORWF tune_swr_mem_L0+1, 0
+0x171C 0x00F0 MOVWF R0
+0x171D 0x3080 MOVLW 128
+0x171E 0x063C XORWF _SWR+1, 0
+0x171F 0x0270 SUBWF R0, 0
+0x1720 0x1D03 BTFSS STATUS, 2
+0x1721 0x2F24 GOTO L__tune400
+0x1722 0x083B MOVF _SWR, 0
+0x1723 0x0252 SUBWF tune_swr_mem_L0, 0
+L__tune400:
+0x1724 0x1803 BTFSC STATUS, 0
+0x1725 0x2F46 GOTO L_tune230
+;main.c,808 :: if(SW==1) SW = 0; else SW = 1;
+0x1726 0x0141 MOVLB 1
+0x1727 0x086E MOVF _SW, 0
+0x1728 0x3A01 XORLW 1
+0x1729 0x1D03 BTFSS STATUS, 2
+0x172A 0x2F2D GOTO L_tune231
+0x172B 0x01EE CLRF _SW
+0x172C 0x2F2F GOTO L_tune232
+L_tune231:
+0x172D 0x3001 MOVLW 1
+0x172E 0x00EE MOVWF _SW
+L_tune232:
+;main.c,809 :: ind = ind_mem;
+0x172F 0x0143 MOVLB 3
+0x1730 0x0854 MOVF tune_ind_mem_L0, 0
+0x1731 0x0142 MOVLB 2
+0x1732 0x00BF MOVWF _ind
+;main.c,810 :: cap = cap_mem;
+0x1733 0x0143 MOVLB 3
+0x1734 0x0856 MOVF tune_cap_mem_L0, 0
+0x1735 0x0141 MOVLB 1
+0x1736 0x00EF MOVWF _cap
+;main.c,811 :: Relay_set(ind, cap, sw);
+0x1737 0x0143 MOVLB 3
+0x1738 0x0854 MOVF tune_ind_mem_L0, 0
+0x1739 0x0144 MOVLB 4
+0x173A 0x00A0 MOVWF FARG_Relay_set_L
+0x173B 0x0143 MOVLB 3
+0x173C 0x0856 MOVF tune_cap_mem_L0, 0
+0x173D 0x0144 MOVLB 4
+0x173E 0x00A1 MOVWF FARG_Relay_set_C
+0x173F 0x0141 MOVLB 1
+0x1740 0x086E MOVF _SW, 0
+0x1741 0x0144 MOVLB 4
+0x1742 0x00A2 MOVWF FARG_Relay_set_I
+0x1743 0x3180 MOVLP 0
+0x1744 0x2621 CALL _Relay_set
+0x1745 0x3190 MOVLP 16
+;main.c,812 :: }
+L_tune230:
+;main.c,814 :: asm CLRWDT;
+0x1746 0x0064 CLRWDT
+;main.c,815 :: get_SWR();
+0x1747 0x2221 CALL _get_swr
+;main.c,816 :: Key_out = 1;
+0x1748 0x0140 MOVLB 0
+0x1749 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+;main.c,817 :: return;
+;main.c,818 :: }
+L_end_tune:
+0x174A 0x0008 RETURN
+; end of _tune
+_Btn_long:
+;main.c,334 :: void Btn_long(){
+;main.c,335 :: Green = 0;
+0x174B 0x0140 MOVLB 0
+0x174C 0x1197 BCF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,336 :: oled_wr_str(2, 0, "TUNE ", 9);
+0x174D 0x3002 MOVLW 2
+0x174E 0x0144 MOVLB 4
+0x174F 0x00A3 MOVWF FARG_oled_wr_str_page
+0x1750 0x01A4 CLRF FARG_oled_wr_str_col
+0x1751 0x30D5 MOVLW ?lstr15_main
+0x1752 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1753 0x3000 MOVLW hi_addr(?lstr15_main)
+0x1754 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1755 0x3009 MOVLW 9
+0x1756 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1757 0x3180 MOVLP 0
+0x1758 0x246D CALL _oled_wr_str
+0x1759 0x3190 MOVLP 16
+;main.c,337 :: tune();
+0x175A 0x259D CALL _tune
+;main.c,338 :: SWR_ind = SWR;
+0x175B 0x0143 MOVLB 3
+0x175C 0x083B MOVF _SWR, 0
+0x175D 0x0142 MOVLB 2
+0x175E 0x00C0 MOVWF _SWR_ind
+0x175F 0x0143 MOVLB 3
+0x1760 0x083C MOVF _SWR+1, 0
+0x1761 0x0142 MOVLB 2
+0x1762 0x00C1 MOVWF _SWR_ind+1
+;main.c,339 :: SWR_fixed_old = SWR;
+0x1763 0x0143 MOVLB 3
+0x1764 0x083B MOVF _SWR, 0
+0x1765 0x0142 MOVLB 2
+0x1766 0x00CA MOVWF _SWR_fixed_old
+0x1767 0x0143 MOVLB 3
+0x1768 0x083C MOVF _SWR+1, 0
+0x1769 0x0142 MOVLB 2
+0x176A 0x00CB MOVWF _SWR_fixed_old+1
+;main.c,340 :: oled_wr_str(2, 0, "SWR ", 4);
+0x176B 0x3002 MOVLW 2
+0x176C 0x0144 MOVLB 4
+0x176D 0x00A3 MOVWF FARG_oled_wr_str_page
+0x176E 0x01A4 CLRF FARG_oled_wr_str_col
+0x176F 0x30DF MOVLW ?lstr16_main
+0x1770 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1771 0x3000 MOVLW hi_addr(?lstr16_main)
+0x1772 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1773 0x3004 MOVLW 4
+0x1774 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1775 0x3180 MOVLP 0
+0x1776 0x246D CALL _oled_wr_str
+0x1777 0x3190 MOVLP 16
+;main.c,341 :: oled_wr_str(2, 42, "=", 1);
+0x1778 0x3002 MOVLW 2
+0x1779 0x0144 MOVLB 4
+0x177A 0x00A3 MOVWF FARG_oled_wr_str_page
+0x177B 0x302A MOVLW 42
+0x177C 0x00A4 MOVWF FARG_oled_wr_str_col
+0x177D 0x30E4 MOVLW ?lstr17_main
+0x177E 0x00A5 MOVWF FARG_oled_wr_str_str
+0x177F 0x3000 MOVLW hi_addr(?lstr17_main)
+0x1780 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1781 0x3001 MOVLW 1
+0x1782 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1783 0x3180 MOVLP 0
+0x1784 0x246D CALL _oled_wr_str
+0x1785 0x3190 MOVLP 16
+;main.c,342 :: draw_swr(SWR_ind);
+0x1786 0x0142 MOVLB 2
+0x1787 0x0840 MOVF _SWR_ind, 0
+0x1788 0x0144 MOVLB 4
+0x1789 0x00A0 MOVWF FARG_draw_swr_s
+0x178A 0x0142 MOVLB 2
+0x178B 0x0841 MOVF _SWR_ind+1, 0
+0x178C 0x0144 MOVLB 4
+0x178D 0x00A1 MOVWF FARG_draw_swr_s+1
+0x178E 0x3180 MOVLP 0
+0x178F 0x26D2 CALL _draw_swr
+0x1790 0x3190 MOVLP 16
+;main.c,343 :: Green = 1;
+0x1791 0x1597 BSF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,344 :: B_long = 0;
+0x1792 0x0143 MOVLB 3
+0x1793 0x12A0 BCF _B_long, BitPos(_B_long+0)
+;main.c,345 :: E_long = 0;
+0x1794 0x10A0 BCF _E_long, BitPos(_E_long+0)
+;main.c,346 :: btn_1_cnt = 0;
+0x1795 0x0140 MOVLB 0
+0x1796 0x01E4 CLRF _btn_1_cnt
+;main.c,347 :: volt_cnt = Tick;
+0x1797 0x0142 MOVLB 2
+0x1798 0x084C MOVF _Tick, 0
+0x1799 0x00C2 MOVWF _volt_cnt
+0x179A 0x084D MOVF _Tick+1, 0
+0x179B 0x00C3 MOVWF _volt_cnt+1
+0x179C 0x084E MOVF _Tick+2, 0
+0x179D 0x00C4 MOVWF _volt_cnt+2
+0x179E 0x084F MOVF _Tick+3, 0
+0x179F 0x00C5 MOVWF _volt_cnt+3
+;main.c,348 :: watch_cnt = Tick;
+0x17A0 0x084C MOVF _Tick, 0
+0x17A1 0x00D0 MOVWF _watch_cnt
+0x17A2 0x084D MOVF _Tick+1, 0
+0x17A3 0x00D1 MOVWF _watch_cnt+1
+0x17A4 0x084E MOVF _Tick+2, 0
+0x17A5 0x00D2 MOVWF _watch_cnt+2
+0x17A6 0x084F MOVF _Tick+3, 0
+0x17A7 0x00D3 MOVWF _watch_cnt+3
+;main.c,349 :: return;
+;main.c,350 :: }
+L_end_Btn_long:
+0x17A8 0x0008 RETURN
+; end of _Btn_long
+_ADC_Init:
+;__Lib_ADC_18xxx.c,24 ::
+;__Lib_ADC_18xxx.c,25 ::
+0x17A9 0x306C MOVLW _ADC_Get_Sample
+0x17AA 0x0143 MOVLB 3
+0x17AB 0x00A1 MOVWF _ADC_Get_Sample_Ptr
+0x17AC 0x3003 MOVLW hi_addr(_ADC_Get_Sample)
+0x17AD 0x00A2 MOVWF _ADC_Get_Sample_Ptr+1
+0x17AE 0x3023 MOVLW FARG_ADC_Get_Sample_channel
+0x17AF 0x00A3 MOVWF _ADC_Get_Sample_Ptr+2
+0x17B0 0x3002 MOVLW hi_addr(FARG_ADC_Get_Sample_channel)
+0x17B1 0x00A4 MOVWF _ADC_Get_Sample_Ptr+3
+;__Lib_ADC_18xxx.c,27 ::
+0x17B2 0x0141 MOVLB 1
+0x17B3 0x0193 CLRF ADCON0
+;__Lib_ADC_18xxx.c,28 ::
+0x17B4 0x0194 CLRF ADCON1
+;__Lib_ADC_18xxx.c,29 ::
+0x17B5 0x0195 CLRF ADCON2
+;__Lib_ADC_18xxx.c,30 ::
+0x17B6 0x0196 CLRF ADCON3
+;__Lib_ADC_18xxx.c,32 ::
+0x17B7 0x30EC MOVLW 236
+0x17B8 0x059A ANDWF ADREF, 1
+;__Lib_ADC_18xxx.c,34 ::
+0x17B9 0x1613 BSF ADCON0, 4
+;__Lib_ADC_18xxx.c,35 ::
+0x17BA 0x1513 BSF ADCON0, 2
+;__Lib_ADC_18xxx.c,36 ::
+0x17BB 0x1793 BSF ADCON0, 7
+;__Lib_ADC_18xxx.c,37 ::
+L_end_ADC_Init:
+0x17BC 0x0008 RETURN
+; end of _ADC_Init
+_oled_voltage:
+;oled_control.c,226 :: void oled_voltage(int Voltage) {
+;oled_control.c,228 :: Soft_I2C_Start();
+0x1800 0x3180 MOVLP 0
+0x1801 0x2182 CALL _Soft_I2C_Start
+0x1802 0x3198 MOVLP 24
+;oled_control.c,229 :: Soft_I2C_Write(oled_addr); // device addres
+0x1803 0x0141 MOVLB 1
+0x1804 0x0847 MOVF oled_control_oled_addr, 0
+0x1805 0x0144 MOVLB 4
+0x1806 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x1807 0x3180 MOVLP 0
+0x1808 0x212A CALL _Soft_I2C_Write
+0x1809 0x3198 MOVLP 24
+;oled_control.c,230 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+0x180A 0x3040 MOVLW 64
+0x180B 0x0144 MOVLB 4
+0x180C 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x180D 0x3180 MOVLP 0
+0x180E 0x212A CALL _Soft_I2C_Write
+0x180F 0x3198 MOVLP 24
+;oled_control.c,232 :: Voltage /= 10;
+0x1810 0x300A MOVLW 10
+0x1811 0x00F4 MOVWF R4
+0x1812 0x3000 MOVLW 0
+0x1813 0x00F5 MOVWF R5
+0x1814 0x0143 MOVLB 3
+0x1815 0x0849 MOVF FARG_oled_voltage_Voltage, 0
+0x1816 0x00F0 MOVWF R0
+0x1817 0x084A MOVF FARG_oled_voltage_Voltage+1, 0
+0x1818 0x00F1 MOVWF R1
+0x1819 0x3190 MOVLP 16
+0x181A 0x2285 CALL _Div_16x16_S
+0x181B 0x3198 MOVLP 24
+0x181C 0x0870 MOVF R0, 0
+0x181D 0x0143 MOVLB 3
+0x181E 0x00C9 MOVWF FARG_oled_voltage_Voltage
+0x181F 0x0871 MOVF R1, 0
+0x1820 0x00CA MOVWF FARG_oled_voltage_Voltage+1
+;oled_control.c,233 :: if(Voltage < 300) Voltage = 300;
+0x1821 0x3080 MOVLW 128
+0x1822 0x0671 XORWF R1, 0
+0x1823 0x00F2 MOVWF R2
+0x1824 0x3080 MOVLW 128
+0x1825 0x3A01 XORLW 1
+0x1826 0x0272 SUBWF R2, 0
+0x1827 0x1D03 BTFSS STATUS, 2
+0x1828 0x282B GOTO L__oled_voltage136
+0x1829 0x302C MOVLW 44
+0x182A 0x0270 SUBWF R0, 0
+L__oled_voltage136:
+0x182B 0x1803 BTFSC STATUS, 0
+0x182C 0x2832 GOTO L_oled_voltage48
+0x182D 0x302C MOVLW 44
+0x182E 0x00C9 MOVWF FARG_oled_voltage_Voltage
+0x182F 0x3001 MOVLW 1
+0x1830 0x00CA MOVWF FARG_oled_voltage_Voltage+1
+0x1831 0x2842 GOTO L_oled_voltage49
+L_oled_voltage48:
+;oled_control.c,234 :: else if(Voltage > 420) Voltage = 420;
+0x1832 0x3080 MOVLW 128
+0x1833 0x3A01 XORLW 1
+0x1834 0x00F0 MOVWF R0
+0x1835 0x3080 MOVLW 128
+0x1836 0x064A XORWF FARG_oled_voltage_Voltage+1, 0
+0x1837 0x0270 SUBWF R0, 0
+0x1838 0x1D03 BTFSS STATUS, 2
+0x1839 0x283C GOTO L__oled_voltage137
+0x183A 0x0849 MOVF FARG_oled_voltage_Voltage, 0
+0x183B 0x3CA4 SUBLW 164
+L__oled_voltage137:
+0x183C 0x1803 BTFSC STATUS, 0
+0x183D 0x2842 GOTO L_oled_voltage50
+0x183E 0x30A4 MOVLW 164
+0x183F 0x00C9 MOVWF FARG_oled_voltage_Voltage
+0x1840 0x3001 MOVLW 1
+0x1841 0x00CA MOVWF FARG_oled_voltage_Voltage+1
+L_oled_voltage50:
+L_oled_voltage49:
+;oled_control.c,235 :: Voltage = Voltage - 300; // 0 - 120
+0x1842 0x302C MOVLW 44
+0x1843 0x0249 SUBWF FARG_oled_voltage_Voltage, 0
+0x1844 0x00F3 MOVWF R3
+0x1845 0x3001 MOVLW 1
+0x1846 0x3B4A SUBWFB FARG_oled_voltage_Voltage+1, 0
+0x1847 0x00F4 MOVWF R4
+0x1848 0x0873 MOVF R3, 0
+0x1849 0x00C9 MOVWF FARG_oled_voltage_Voltage
+0x184A 0x0874 MOVF R4, 0
+0x184B 0x00CA MOVWF FARG_oled_voltage_Voltage+1
+;oled_control.c,236 :: Voltage = Voltage * 32;
+0x184C 0x3005 MOVLW 5
+0x184D 0x00F2 MOVWF R2
+0x184E 0x0873 MOVF R3, 0
+0x184F 0x00F0 MOVWF R0
+0x1850 0x0874 MOVF R4, 0
+0x1851 0x00F1 MOVWF R1
+0x1852 0x0872 MOVF R2, 0
+L__oled_voltage138:
+0x1853 0x1903 BTFSC STATUS, 2
+0x1854 0x2859 GOTO L__oled_voltage139
+0x1855 0x35F0 LSLF R0, 1
+0x1856 0x0DF1 RLF R1, 1
+0x1857 0x3EFF ADDLW 255
+0x1858 0x2853 GOTO L__oled_voltage138
+L__oled_voltage139:
+0x1859 0x0870 MOVF R0, 0
+0x185A 0x00C9 MOVWF FARG_oled_voltage_Voltage
+0x185B 0x0871 MOVF R1, 0
+0x185C 0x00CA MOVWF FARG_oled_voltage_Voltage+1
+;oled_control.c,237 :: v = Voltage / 120;
+0x185D 0x3078 MOVLW 120
+0x185E 0x00F4 MOVWF R4
+0x185F 0x3000 MOVLW 0
+0x1860 0x00F5 MOVWF R5
+0x1861 0x3190 MOVLP 16
+0x1862 0x2285 CALL _Div_16x16_S
+0x1863 0x3198 MOVLP 24
+0x1864 0x0870 MOVF R0, 0
+0x1865 0x0143 MOVLB 3
+0x1866 0x00CC MOVWF oled_voltage_v_L0
+;oled_control.c,240 :: if(v >= 25) { u0 = v - 24; u1 = 8; u2 = 8; u3 = 8; }
+0x1867 0x3019 MOVLW 25
+0x1868 0x0270 SUBWF R0, 0
+0x1869 0x1C03 BTFSS STATUS, 0
+0x186A 0x2875 GOTO L_oled_voltage51
+0x186B 0x3018 MOVLW 24
+0x186C 0x024C SUBWF oled_voltage_v_L0, 0
+0x186D 0x00CD MOVWF oled_voltage_u0_L0
+0x186E 0x3008 MOVLW 8
+0x186F 0x00CE MOVWF oled_voltage_u1_L0
+0x1870 0x3008 MOVLW 8
+0x1871 0x00CF MOVWF oled_voltage_u2_L0
+0x1872 0x3008 MOVLW 8
+0x1873 0x00D0 MOVWF oled_voltage_u3_L0
+0x1874 0x2893 GOTO L_oled_voltage52
+L_oled_voltage51:
+;oled_control.c,241 :: else if(v >= 17) { u0 = 0; u1 = v - 16; u2 = 8; u3 = 8; }
+0x1875 0x3011 MOVLW 17
+0x1876 0x024C SUBWF oled_voltage_v_L0, 0
+0x1877 0x1C03 BTFSS STATUS, 0
+0x1878 0x2882 GOTO L_oled_voltage53
+0x1879 0x01CD CLRF oled_voltage_u0_L0
+0x187A 0x3010 MOVLW 16
+0x187B 0x024C SUBWF oled_voltage_v_L0, 0
+0x187C 0x00CE MOVWF oled_voltage_u1_L0
+0x187D 0x3008 MOVLW 8
+0x187E 0x00CF MOVWF oled_voltage_u2_L0
+0x187F 0x3008 MOVLW 8
+0x1880 0x00D0 MOVWF oled_voltage_u3_L0
+0x1881 0x2893 GOTO L_oled_voltage54
+L_oled_voltage53:
+;oled_control.c,242 :: else if(v >= 9 ) { u0 = 0; u1 = 0; u2 = v - 8; u3 = 8; }
+0x1882 0x3009 MOVLW 9
+0x1883 0x024C SUBWF oled_voltage_v_L0, 0
+0x1884 0x1C03 BTFSS STATUS, 0
+0x1885 0x288E GOTO L_oled_voltage55
+0x1886 0x01CD CLRF oled_voltage_u0_L0
+0x1887 0x01CE CLRF oled_voltage_u1_L0
+0x1888 0x3008 MOVLW 8
+0x1889 0x024C SUBWF oled_voltage_v_L0, 0
+0x188A 0x00CF MOVWF oled_voltage_u2_L0
+0x188B 0x3008 MOVLW 8
+0x188C 0x00D0 MOVWF oled_voltage_u3_L0
+0x188D 0x2893 GOTO L_oled_voltage56
+L_oled_voltage55:
+;oled_control.c,243 :: else { u0 = 0; u1 = 0; u2 = 0; u3 = v ; }
+0x188E 0x01CD CLRF oled_voltage_u0_L0
+0x188F 0x01CE CLRF oled_voltage_u1_L0
+0x1890 0x01CF CLRF oled_voltage_u2_L0
+0x1891 0x084C MOVF oled_voltage_v_L0, 0
+0x1892 0x00D0 MOVWF oled_voltage_u3_L0
+L_oled_voltage56:
+L_oled_voltage54:
+L_oled_voltage52:
+;oled_control.c,245 :: m = 128;
+0x1893 0x3080 MOVLW 128
+0x1894 0x00D1 MOVWF oled_voltage_m_L0
+;oled_control.c,246 :: m = 255 - (m >> (u0-1)) +1;
+0x1895 0x3001 MOVLW 1
+0x1896 0x024D SUBWF oled_voltage_u0_L0, 0
+0x1897 0x00F0 MOVWF R0
+0x1898 0x01F1 CLRF R1
+0x1899 0x3000 MOVLW 0
+0x189A 0x3BF1 SUBWFB R1, 1
+0x189B 0x0870 MOVF R0, 0
+0x189C 0x00F1 MOVWF R1
+0x189D 0x0851 MOVF oled_voltage_m_L0, 0
+0x189E 0x00F0 MOVWF R0
+0x189F 0x0871 MOVF R1, 0
+L__oled_voltage140:
+0x18A0 0x1903 BTFSC STATUS, 2
+0x18A1 0x28A5 GOTO L__oled_voltage141
+0x18A2 0x36F0 LSRF R0, 1
+0x18A3 0x3EFF ADDLW 255
+0x18A4 0x28A0 GOTO L__oled_voltage140
+L__oled_voltage141:
+0x18A5 0x0870 MOVF R0, 0
+0x18A6 0x3CFF SUBLW 255
+0x18A7 0x00D1 MOVWF oled_voltage_m_L0
+0x18A8 0x0AD1 INCF oled_voltage_m_L0, 1
+;oled_control.c,247 :: m = m | 0b00000011;
+0x18A9 0x3003 MOVLW 3
+0x18AA 0x04D1 IORWF oled_voltage_m_L0, 1
+;oled_control.c,248 :: set_addressing (0, 119);
+0x18AB 0x0144 MOVLB 4
+0x18AC 0x01AD CLRF FARG_set_addressing_pagenum
+0x18AD 0x3077 MOVLW 119
+0x18AE 0x00AE MOVWF FARG_set_addressing_c_start
+0x18AF 0x3180 MOVLP 0
+0x18B0 0x220B CALL _set_addressing
+0x18B1 0x3198 MOVLP 24
+;oled_control.c,249 :: Soft_I2C_Write(m);
+0x18B2 0x0143 MOVLB 3
+0x18B3 0x0851 MOVF oled_voltage_m_L0, 0
+0x18B4 0x0144 MOVLB 4
+0x18B5 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x18B6 0x3180 MOVLP 0
+0x18B7 0x212A CALL _Soft_I2C_Write
+0x18B8 0x3198 MOVLP 24
+;oled_control.c,250 :: Soft_I2C_Write(m);
+0x18B9 0x0143 MOVLB 3
+0x18BA 0x0851 MOVF oled_voltage_m_L0, 0
+0x18BB 0x0144 MOVLB 4
+0x18BC 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x18BD 0x3180 MOVLP 0
+0x18BE 0x212A CALL _Soft_I2C_Write
+0x18BF 0x3198 MOVLP 24
+;oled_control.c,251 :: Soft_I2C_Write(m);
+0x18C0 0x0143 MOVLB 3
+0x18C1 0x0851 MOVF oled_voltage_m_L0, 0
+0x18C2 0x0144 MOVLB 4
+0x18C3 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x18C4 0x3180 MOVLP 0
+0x18C5 0x212A CALL _Soft_I2C_Write
+0x18C6 0x3198 MOVLP 24
+;oled_control.c,252 :: m = m | 0b00011111;
+0x18C7 0x301F MOVLW 31
+0x18C8 0x0143 MOVLB 3
+0x18C9 0x04D1 IORWF oled_voltage_m_L0, 1
+;oled_control.c,253 :: set_addressing (0, 117);
+0x18CA 0x0144 MOVLB 4
+0x18CB 0x01AD CLRF FARG_set_addressing_pagenum
+0x18CC 0x3075 MOVLW 117
+0x18CD 0x00AE MOVWF FARG_set_addressing_c_start
+0x18CE 0x3180 MOVLP 0
+0x18CF 0x220B CALL _set_addressing
+0x18D0 0x3198 MOVLP 24
+;oled_control.c,254 :: Soft_I2C_Write(m);
+0x18D1 0x0143 MOVLB 3
+0x18D2 0x0851 MOVF oled_voltage_m_L0, 0
+0x18D3 0x0144 MOVLB 4
+0x18D4 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x18D5 0x3180 MOVLP 0
+0x18D6 0x212A CALL _Soft_I2C_Write
+0x18D7 0x3198 MOVLP 24
+;oled_control.c,255 :: Soft_I2C_Write(m);
+0x18D8 0x0143 MOVLB 3
+0x18D9 0x0851 MOVF oled_voltage_m_L0, 0
+0x18DA 0x0144 MOVLB 4
+0x18DB 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x18DC 0x3180 MOVLP 0
+0x18DD 0x212A CALL _Soft_I2C_Write
+0x18DE 0x3198 MOVLP 24
+;oled_control.c,256 :: set_addressing (0, 122);
+0x18DF 0x0144 MOVLB 4
+0x18E0 0x01AD CLRF FARG_set_addressing_pagenum
+0x18E1 0x307A MOVLW 122
+0x18E2 0x00AE MOVWF FARG_set_addressing_c_start
+0x18E3 0x3180 MOVLP 0
+0x18E4 0x220B CALL _set_addressing
+0x18E5 0x3198 MOVLP 24
+;oled_control.c,257 :: Soft_I2C_Write(m);
+0x18E6 0x0143 MOVLB 3
+0x18E7 0x0851 MOVF oled_voltage_m_L0, 0
+0x18E8 0x0144 MOVLB 4
+0x18E9 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x18EA 0x3180 MOVLP 0
+0x18EB 0x212A CALL _Soft_I2C_Write
+0x18EC 0x3198 MOVLP 24
+;oled_control.c,258 :: Soft_I2C_Write(m);
+0x18ED 0x0143 MOVLB 3
+0x18EE 0x0851 MOVF oled_voltage_m_L0, 0
+0x18EF 0x0144 MOVLB 4
+0x18F0 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x18F1 0x3180 MOVLP 0
+0x18F2 0x212A CALL _Soft_I2C_Write
+0x18F3 0x3198 MOVLP 24
+;oled_control.c,260 :: m = 128;
+0x18F4 0x3080 MOVLW 128
+0x18F5 0x0143 MOVLB 3
+0x18F6 0x00D1 MOVWF oled_voltage_m_L0
+;oled_control.c,261 :: m = 255 - (m >> (u1-1)) + 1;
+0x18F7 0x3001 MOVLW 1
+0x18F8 0x024E SUBWF oled_voltage_u1_L0, 0
+0x18F9 0x00F0 MOVWF R0
+0x18FA 0x01F1 CLRF R1
+0x18FB 0x3000 MOVLW 0
+0x18FC 0x3BF1 SUBWFB R1, 1
+0x18FD 0x0870 MOVF R0, 0
+0x18FE 0x00F1 MOVWF R1
+0x18FF 0x0851 MOVF oled_voltage_m_L0, 0
+0x1900 0x00F0 MOVWF R0
+0x1901 0x0871 MOVF R1, 0
+L__oled_voltage142:
+0x1902 0x1903 BTFSC STATUS, 2
+0x1903 0x2907 GOTO L__oled_voltage143
+0x1904 0x36F0 LSRF R0, 1
+0x1905 0x3EFF ADDLW 255
+0x1906 0x2902 GOTO L__oled_voltage142
+L__oled_voltage143:
+0x1907 0x0870 MOVF R0, 0
+0x1908 0x3CFF SUBLW 255
+0x1909 0x00D1 MOVWF oled_voltage_m_L0
+0x190A 0x0AD1 INCF oled_voltage_m_L0, 1
+;oled_control.c,262 :: set_addressing (1, 117);
+0x190B 0x3001 MOVLW 1
+0x190C 0x0144 MOVLB 4
+0x190D 0x00AD MOVWF FARG_set_addressing_pagenum
+0x190E 0x3075 MOVLW 117
+0x190F 0x00AE MOVWF FARG_set_addressing_c_start
+0x1910 0x3180 MOVLP 0
+0x1911 0x220B CALL _set_addressing
+0x1912 0x3198 MOVLP 24
+;oled_control.c,263 :: for(i=0; i<=6; i++) Soft_I2C_Write(m);
+0x1913 0x0143 MOVLB 3
+0x1914 0x01CB CLRF oled_voltage_i_L0
+L_oled_voltage57:
+0x1915 0x084B MOVF oled_voltage_i_L0, 0
+0x1916 0x3C06 SUBLW 6
+0x1917 0x1C03 BTFSS STATUS, 0
+0x1918 0x2922 GOTO L_oled_voltage58
+0x1919 0x0851 MOVF oled_voltage_m_L0, 0
+0x191A 0x0144 MOVLB 4
+0x191B 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x191C 0x3180 MOVLP 0
+0x191D 0x212A CALL _Soft_I2C_Write
+0x191E 0x3198 MOVLP 24
+0x191F 0x0143 MOVLB 3
+0x1920 0x0ACB INCF oled_voltage_i_L0, 1
+0x1921 0x2915 GOTO L_oled_voltage57
+L_oled_voltage58:
+;oled_control.c,265 :: m = 128;
+0x1922 0x3080 MOVLW 128
+0x1923 0x00D1 MOVWF oled_voltage_m_L0
+;oled_control.c,266 :: m = 255 - (m >> (u2-1)) + 1;
+0x1924 0x3001 MOVLW 1
+0x1925 0x024F SUBWF oled_voltage_u2_L0, 0
+0x1926 0x00F0 MOVWF R0
+0x1927 0x01F1 CLRF R1
+0x1928 0x3000 MOVLW 0
+0x1929 0x3BF1 SUBWFB R1, 1
+0x192A 0x0870 MOVF R0, 0
+0x192B 0x00F1 MOVWF R1
+0x192C 0x0851 MOVF oled_voltage_m_L0, 0
+0x192D 0x00F0 MOVWF R0
+0x192E 0x0871 MOVF R1, 0
+L__oled_voltage144:
+0x192F 0x1903 BTFSC STATUS, 2
+0x1930 0x2934 GOTO L__oled_voltage145
+0x1931 0x36F0 LSRF R0, 1
+0x1932 0x3EFF ADDLW 255
+0x1933 0x292F GOTO L__oled_voltage144
+L__oled_voltage145:
+0x1934 0x0870 MOVF R0, 0
+0x1935 0x3CFF SUBLW 255
+0x1936 0x00D1 MOVWF oled_voltage_m_L0
+0x1937 0x0AD1 INCF oled_voltage_m_L0, 1
+;oled_control.c,267 :: set_addressing (2, 117);
+0x1938 0x3002 MOVLW 2
+0x1939 0x0144 MOVLB 4
+0x193A 0x00AD MOVWF FARG_set_addressing_pagenum
+0x193B 0x3075 MOVLW 117
+0x193C 0x00AE MOVWF FARG_set_addressing_c_start
+0x193D 0x3180 MOVLP 0
+0x193E 0x220B CALL _set_addressing
+0x193F 0x3198 MOVLP 24
+;oled_control.c,268 :: for(i=0; i<=6; i++) Soft_I2C_Write(m);
+0x1940 0x0143 MOVLB 3
+0x1941 0x01CB CLRF oled_voltage_i_L0
+L_oled_voltage60:
+0x1942 0x084B MOVF oled_voltage_i_L0, 0
+0x1943 0x3C06 SUBLW 6
+0x1944 0x1C03 BTFSS STATUS, 0
+0x1945 0x294F GOTO L_oled_voltage61
+0x1946 0x0851 MOVF oled_voltage_m_L0, 0
+0x1947 0x0144 MOVLB 4
+0x1948 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x1949 0x3180 MOVLP 0
+0x194A 0x212A CALL _Soft_I2C_Write
+0x194B 0x3198 MOVLP 24
+0x194C 0x0143 MOVLB 3
+0x194D 0x0ACB INCF oled_voltage_i_L0, 1
+0x194E 0x2942 GOTO L_oled_voltage60
+L_oled_voltage61:
+;oled_control.c,270 :: m = 128;
+0x194F 0x3080 MOVLW 128
+0x1950 0x00D1 MOVWF oled_voltage_m_L0
+;oled_control.c,271 :: m = 255 - (m >> (u3-1)) +1;
+0x1951 0x3001 MOVLW 1
+0x1952 0x0250 SUBWF oled_voltage_u3_L0, 0
+0x1953 0x00F0 MOVWF R0
+0x1954 0x01F1 CLRF R1
+0x1955 0x3000 MOVLW 0
+0x1956 0x3BF1 SUBWFB R1, 1
+0x1957 0x0870 MOVF R0, 0
+0x1958 0x00F1 MOVWF R1
+0x1959 0x0851 MOVF oled_voltage_m_L0, 0
+0x195A 0x00F0 MOVWF R0
+0x195B 0x0871 MOVF R1, 0
+L__oled_voltage146:
+0x195C 0x1903 BTFSC STATUS, 2
+0x195D 0x2961 GOTO L__oled_voltage147
+0x195E 0x36F0 LSRF R0, 1
+0x195F 0x3EFF ADDLW 255
+0x1960 0x295C GOTO L__oled_voltage146
+L__oled_voltage147:
+0x1961 0x0870 MOVF R0, 0
+0x1962 0x3CFF SUBLW 255
+0x1963 0x00D1 MOVWF oled_voltage_m_L0
+0x1964 0x0AD1 INCF oled_voltage_m_L0, 1
+;oled_control.c,272 :: m = m | 0b11000000;
+0x1965 0x30C0 MOVLW 192
+0x1966 0x04D1 IORWF oled_voltage_m_L0, 1
+;oled_control.c,273 :: set_addressing (3, 117);
+0x1967 0x3003 MOVLW 3
+0x1968 0x0144 MOVLB 4
+0x1969 0x00AD MOVWF FARG_set_addressing_pagenum
+0x196A 0x3075 MOVLW 117
+0x196B 0x00AE MOVWF FARG_set_addressing_c_start
+0x196C 0x3180 MOVLP 0
+0x196D 0x220B CALL _set_addressing
+0x196E 0x3198 MOVLP 24
+;oled_control.c,274 :: for(i=0; i<=6; i++) Soft_I2C_Write(m);
+0x196F 0x0143 MOVLB 3
+0x1970 0x01CB CLRF oled_voltage_i_L0
+L_oled_voltage63:
+0x1971 0x084B MOVF oled_voltage_i_L0, 0
+0x1972 0x3C06 SUBLW 6
+0x1973 0x1C03 BTFSS STATUS, 0
+0x1974 0x297E GOTO L_oled_voltage64
+0x1975 0x0851 MOVF oled_voltage_m_L0, 0
+0x1976 0x0144 MOVLB 4
+0x1977 0x00B4 MOVWF FARG_Soft_I2C_Write_d
+0x1978 0x3180 MOVLP 0
+0x1979 0x212A CALL _Soft_I2C_Write
+0x197A 0x3198 MOVLP 24
+0x197B 0x0143 MOVLB 3
+0x197C 0x0ACB INCF oled_voltage_i_L0, 1
+0x197D 0x2971 GOTO L_oled_voltage63
+L_oled_voltage64:
+;oled_control.c,276 :: Soft_I2C_Stop ();
+0x197E 0x3180 MOVLP 0
+0x197F 0x21F4 CALL _Soft_I2C_Stop
+0x1980 0x3198 MOVLP 24
+;oled_control.c,277 :: return;
+;oled_control.c,278 :: }
+L_end_oled_voltage:
+0x1981 0x0008 RETURN
+; end of _oled_voltage
+_power_off:
+;main.c,449 :: void power_off(void){
+;main.c,452 :: GIE_bit = 0;
+0x1982 0x138B BCF GIE_bit, BitPos(GIE_bit+0)
+;main.c,453 :: T0EN_bit = 0;
+0x1983 0x0140 MOVLB 0
+0x1984 0x139E BCF T0EN_bit, BitPos(T0EN_bit+0)
+;main.c,454 :: TMR0IF_bit = 0;
+0x1985 0x014E MOVLB 14
+0x1986 0x128C BCF TMR0IF_bit, BitPos(TMR0IF_bit+0)
+;main.c,455 :: IOCIE_bit = 1;
+0x1987 0x1616 BSF IOCIE_bit, BitPos(IOCIE_bit+0)
+;main.c,456 :: IOCBF5_bit = 0;
+0x1988 0x017E MOVLB 62
+0x1989 0x12CA BCF IOCBF5_bit, BitPos(IOCBF5_bit+0)
+;main.c,457 :: IOCBN5_bit = 1;
+0x198A 0x16C9 BSF IOCBN5_bit, BitPos(IOCBN5_bit+0)
+;main.c,459 :: OLED_PWD = 0;
+0x198B 0x0140 MOVLB 0
+0x198C 0x1216 BCF LATA4_bit, BitPos(LATA4_bit+0)
+;main.c,460 :: RED = 1;
+0x198D 0x1617 BSF LATB4_bit, BitPos(LATB4_bit+0)
+;main.c,461 :: Green = 1;
+0x198E 0x1597 BSF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,463 :: C_sw = 0;
+0x198F 0x101A BCF LATE0_bit, BitPos(LATE0_bit+0)
+;main.c,464 :: SYSCMD_bit = 1;
+0x1990 0x014F MOVLB 15
+0x1991 0x1796 BSF SYSCMD_bit, BitPos(SYSCMD_bit+0)
+;main.c,466 :: btn_cnt = 0;
+0x1992 0x0143 MOVLB 3
+0x1993 0x01C9 CLRF power_off_btn_cnt_L0
+;main.c,467 :: while(1){
+L_power_off100:
+;main.c,468 :: if(btn_cnt==0){ Delay_ms(100); IOCBF5_bit = 0; asm sleep; }
+0x1994 0x0849 MOVF power_off_btn_cnt_L0, 0
+0x1995 0x3A00 XORLW 0
+0x1996 0x1D03 BTFSS STATUS, 2
+0x1997 0x29A7 GOTO L_power_off102
+0x1998 0x3005 MOVLW 5
+0x1999 0x00FB MOVWF R11
+0x199A 0x300F MOVLW 15
+0x199B 0x00FC MOVWF R12
+0x199C 0x30F1 MOVLW 241
+0x199D 0x00FD MOVWF R13
+L_power_off103:
+0x199E 0x0BFD DECFSZ R13, 1
+0x199F 0x299E GOTO L_power_off103
+0x19A0 0x0BFC DECFSZ R12, 1
+0x19A1 0x299E GOTO L_power_off103
+0x19A2 0x0BFB DECFSZ R11, 1
+0x19A3 0x299E GOTO L_power_off103
+0x19A4 0x017E MOVLB 62
+0x19A5 0x12CA BCF IOCBF5_bit, BitPos(IOCBF5_bit+0)
+0x19A6 0x0063 SLEEP
+L_power_off102:
+;main.c,469 :: asm NOP;
+0x19A7 0x0000 NOP
+;main.c,470 :: Delay_ms(100);
+0x19A8 0x3005 MOVLW 5
+0x19A9 0x00FB MOVWF R11
+0x19AA 0x300F MOVLW 15
+0x19AB 0x00FC MOVWF R12
+0x19AC 0x30F1 MOVLW 241
+0x19AD 0x00FD MOVWF R13
+L_power_off104:
+0x19AE 0x0BFD DECFSZ R13, 1
+0x19AF 0x29AE GOTO L_power_off104
+0x19B0 0x0BFC DECFSZ R12, 1
+0x19B1 0x29AE GOTO L_power_off104
+0x19B2 0x0BFB DECFSZ R11, 1
+0x19B3 0x29AE GOTO L_power_off104
+;main.c,471 :: if(GetButton) btn_cnt++;
+0x19B4 0x0140 MOVLB 0
+0x19B5 0x1A8D BTFSC PORTB, 5
+0x19B6 0x29B9 GOTO L__power_off326
+0x19B7 0x1403 BSF STATUS, 0
+0x19B8 0x29BA GOTO L__power_off327
+L__power_off326:
+0x19B9 0x1003 BCF STATUS, 0
+L__power_off327:
+0x19BA 0x1C03 BTFSS STATUS, 0
+0x19BB 0x29BF GOTO L_power_off105
+0x19BC 0x0143 MOVLB 3
+0x19BD 0x0AC9 INCF power_off_btn_cnt_L0, 1
+0x19BE 0x29C1 GOTO L_power_off106
+L_power_off105:
+0x19BF 0x0143 MOVLB 3
+;main.c,472 :: else btn_cnt = 0;
+0x19C0 0x01C9 CLRF power_off_btn_cnt_L0
+L_power_off106:
+;main.c,473 :: if(btn_cnt>15) break;
+0x19C1 0x0849 MOVF power_off_btn_cnt_L0, 0
+0x19C2 0x3C0F SUBLW 15
+0x19C3 0x1803 BTFSC STATUS, 0
+0x19C4 0x29C6 GOTO L_power_off107
+0x19C5 0x29C7 GOTO L_power_off101
+L_power_off107:
+;main.c,474 :: }
+0x19C6 0x2994 GOTO L_power_off100
+L_power_off101:
+;main.c,476 :: SYSCMD_bit = 0;
+0x19C7 0x014F MOVLB 15
+0x19C8 0x1396 BCF SYSCMD_bit, BitPos(SYSCMD_bit+0)
+;main.c,478 :: IOCIE_bit = 0;
+0x19C9 0x014E MOVLB 14
+0x19CA 0x1216 BCF IOCIE_bit, BitPos(IOCIE_bit+0)
+;main.c,479 :: IOCBN5_bit = 0;
+0x19CB 0x017E MOVLB 62
+0x19CC 0x12C9 BCF IOCBN5_bit, BitPos(IOCBN5_bit+0)
+;main.c,480 :: IOCBF5_bit = 0;
+0x19CD 0x12CA BCF IOCBF5_bit, BitPos(IOCBF5_bit+0)
+;main.c,481 :: T0EN_bit = 1;
+0x19CE 0x0140 MOVLB 0
+0x19CF 0x179E BSF T0EN_bit, BitPos(T0EN_bit+0)
+;main.c,482 :: GIE_bit = 1;
+0x19D0 0x178B BSF GIE_bit, BitPos(GIE_bit+0)
+;main.c,484 :: gre = 1;
+0x19D1 0x0143 MOVLB 3
+0x19D2 0x15A0 BSF _gre, BitPos(_gre+0)
+;main.c,485 :: oled_start();
+0x19D3 0x3188 MOVLP 8
+0x19D4 0x22D4 CALL _oled_start
+0x19D5 0x3198 MOVLP 24
+;main.c,486 :: while(GetButton){asm NOP;}
+L_power_off108:
+0x19D6 0x0140 MOVLB 0
+0x19D7 0x1A8D BTFSC PORTB, 5
+0x19D8 0x29DB GOTO L__power_off328
+0x19D9 0x1403 BSF STATUS, 0
+0x19DA 0x29DC GOTO L__power_off329
+L__power_off328:
+0x19DB 0x1003 BCF STATUS, 0
+L__power_off329:
+0x19DC 0x1C03 BTFSS STATUS, 0
+0x19DD 0x29E0 GOTO L_power_off109
+0x19DE 0x0000 NOP
+0x19DF 0x29D6 GOTO L_power_off108
+L_power_off109:
+;main.c,487 :: B_short = 0;
+0x19E0 0x0143 MOVLB 3
+0x19E1 0x1320 BCF _B_short, BitPos(_B_short+0)
+;main.c,488 :: B_long = 0;
+0x19E2 0x12A0 BCF _B_long, BitPos(_B_long+0)
+;main.c,489 :: B_xlong = 0;
+0x19E3 0x1220 BCF _B_xlong, BitPos(_B_xlong+0)
+;main.c,490 :: E_long = 0;
+0x19E4 0x10A0 BCF _E_long, BitPos(_E_long+0)
+;main.c,491 :: btn_1_cnt = 0;
+0x19E5 0x0140 MOVLB 0
+0x19E6 0x01E4 CLRF _btn_1_cnt
+;main.c,492 :: btn_cnt = Tick;
+0x19E7 0x0142 MOVLB 2
+0x19E8 0x084C MOVF _Tick, 0
+0x19E9 0x0143 MOVLB 3
+0x19EA 0x00C9 MOVWF power_off_btn_cnt_L0
+;main.c,493 :: return;
+;main.c,494 :: }
+L_end_power_off:
+0x19EB 0x0008 RETURN
+; end of _power_off
+_watch_swr:
+;main.c,174 :: void watch_swr(void){
+;main.c,176 :: int delta = Auto_delta - 100;
+0x19EC 0x3064 MOVLW 100
+0x19ED 0x0141 MOVLB 1
+0x19EE 0x026A SUBWF _Auto_delta, 0
+0x19EF 0x0143 MOVLB 3
+0x19F0 0x00C3 MOVWF watch_swr_delta_L0
+0x19F1 0x3000 MOVLW 0
+0x19F2 0x0141 MOVLB 1
+0x19F3 0x3B6B SUBWFB _Auto_delta+1, 0
+0x19F4 0x0143 MOVLB 3
+0x19F5 0x00C4 MOVWF watch_swr_delta_L0+1
+;main.c,179 :: Delay_ms(50);
+0x19F6 0x3003 MOVLW 3
+0x19F7 0x00FB MOVWF R11
+0x19F8 0x3008 MOVLW 8
+0x19F9 0x00FC MOVWF R12
+0x19FA 0x3077 MOVLW 119
+0x19FB 0x00FD MOVWF R13
+L_watch_swr39:
+0x19FC 0x0BFD DECFSZ R13, 1
+0x19FD 0x29FC GOTO L_watch_swr39
+0x19FE 0x0BFC DECFSZ R12, 1
+0x19FF 0x29FC GOTO L_watch_swr39
+0x1A00 0x0BFB DECFSZ R11, 1
+0x1A01 0x29FC GOTO L_watch_swr39
+;main.c,181 :: cnt = 600;
+0x1A02 0x3058 MOVLW 88
+0x1A03 0x00C2 MOVWF watch_swr_cnt_L0
+;main.c,182 :: PWR_fixed = 0;
+0x1A04 0x01C5 CLRF watch_swr_PWR_fixed_L0
+0x1A05 0x01C6 CLRF watch_swr_PWR_fixed_L0+1
+;main.c,183 :: SWR_fixed = 0;
+0x1A06 0x01C7 CLRF watch_swr_SWR_fixed_L0
+0x1A07 0x01C8 CLRF watch_swr_SWR_fixed_L0+1
+;main.c,184 :: for(peak_cnt=0; peak_cntPWR_fixed) {PWR_fixed = PWR; SWR_fixed = SWR;}
+0x1A10 0x3080 MOVLW 128
+0x1A11 0x0646 XORWF watch_swr_PWR_fixed_L0+1, 0
+0x1A12 0x00F0 MOVWF R0
+0x1A13 0x3080 MOVLW 128
+0x1A14 0x0628 XORWF _PWR+1, 0
+0x1A15 0x0270 SUBWF R0, 0
+0x1A16 0x1D03 BTFSS STATUS, 2
+0x1A17 0x2A1A GOTO L__watch_swr260
+0x1A18 0x0827 MOVF _PWR, 0
+0x1A19 0x0245 SUBWF watch_swr_PWR_fixed_L0, 0
+L__watch_swr260:
+0x1A1A 0x1803 BTFSC STATUS, 0
+0x1A1B 0x2A24 GOTO L_watch_swr43
+0x1A1C 0x0827 MOVF _PWR, 0
+0x1A1D 0x00C5 MOVWF watch_swr_PWR_fixed_L0
+0x1A1E 0x0828 MOVF _PWR+1, 0
+0x1A1F 0x00C6 MOVWF watch_swr_PWR_fixed_L0+1
+0x1A20 0x083B MOVF _SWR, 0
+0x1A21 0x00C7 MOVWF watch_swr_SWR_fixed_L0
+0x1A22 0x083C MOVF _SWR+1, 0
+0x1A23 0x00C8 MOVWF watch_swr_SWR_fixed_L0+1
+L_watch_swr43:
+;main.c,187 :: Delay_ms(1);
+0x1A24 0x300B MOVLW 11
+0x1A25 0x00FC MOVWF R12
+0x1A26 0x3062 MOVLW 98
+0x1A27 0x00FD MOVWF R13
+L_watch_swr44:
+0x1A28 0x0BFD DECFSZ R13, 1
+0x1A29 0x2A28 GOTO L_watch_swr44
+0x1A2A 0x0BFC DECFSZ R12, 1
+0x1A2B 0x2A28 GOTO L_watch_swr44
+0x1A2C 0x0000 NOP
+;main.c,184 :: for(peak_cnt=0; peak_cnt0){
+0x1A2F 0x3080 MOVLW 128
+0x1A30 0x00F0 MOVWF R0
+0x1A31 0x3080 MOVLW 128
+0x1A32 0x0646 XORWF watch_swr_PWR_fixed_L0+1, 0
+0x1A33 0x0270 SUBWF R0, 0
+0x1A34 0x1D03 BTFSS STATUS, 2
+0x1A35 0x2A38 GOTO L__watch_swr261
+0x1A36 0x0845 MOVF watch_swr_PWR_fixed_L0, 0
+0x1A37 0x3C00 SUBLW 0
+L__watch_swr261:
+0x1A38 0x1803 BTFSC STATUS, 0
+0x1A39 0x2A85 GOTO L_watch_swr45
+;main.c,191 :: if(OLED_PWD){
+0x1A3A 0x0140 MOVLB 0
+0x1A3B 0x1E16 BTFSS LATA4_bit, BitPos(LATA4_bit+0)
+0x1A3C 0x2A82 GOTO L_watch_swr46
+;main.c,192 :: disp_cnt = Tick + Disp_time*1000;
+0x1A3D 0x0853 MOVF _Disp_time, 0
+0x1A3E 0x00F0 MOVWF R0
+0x1A3F 0x0854 MOVF _Disp_time+1, 0
+0x1A40 0x00F1 MOVWF R1
+0x1A41 0x0855 MOVF _Disp_time+2, 0
+0x1A42 0x00F2 MOVWF R2
+0x1A43 0x0856 MOVF _Disp_time+3, 0
+0x1A44 0x00F3 MOVWF R3
+0x1A45 0x30E8 MOVLW 232
+0x1A46 0x00F4 MOVWF R4
+0x1A47 0x3003 MOVLW 3
+0x1A48 0x00F5 MOVWF R5
+0x1A49 0x01F6 CLRF R6
+0x1A4A 0x01F7 CLRF R7
+0x1A4B 0x3180 MOVLP 0
+0x1A4C 0x21BE CALL _Mul_32x32_U
+0x1A4D 0x3198 MOVLP 24
+0x1A4E 0x0870 MOVF R0, 0
+0x1A4F 0x0142 MOVLB 2
+0x1A50 0x074C ADDWF _Tick, 0
+0x1A51 0x0143 MOVLB 3
+0x1A52 0x00BD MOVWF _disp_cnt
+0x1A53 0x0871 MOVF R1, 0
+0x1A54 0x0142 MOVLB 2
+0x1A55 0x3D4D ADDWFC _Tick+1, 0
+0x1A56 0x0143 MOVLB 3
+0x1A57 0x00BE MOVWF _disp_cnt+1
+0x1A58 0x0872 MOVF R2, 0
+0x1A59 0x0142 MOVLB 2
+0x1A5A 0x3D4E ADDWFC _Tick+2, 0
+0x1A5B 0x0143 MOVLB 3
+0x1A5C 0x00BF MOVWF _disp_cnt+2
+0x1A5D 0x0873 MOVF R3, 0
+0x1A5E 0x0142 MOVLB 2
+0x1A5F 0x3D4F ADDWFC _Tick+3, 0
+0x1A60 0x0143 MOVLB 3
+0x1A61 0x00C0 MOVWF _disp_cnt+3
+;main.c,193 :: off_cnt = Tick + Off_time*1000;
+0x1A62 0x0140 MOVLB 0
+0x1A63 0x0857 MOVF _Off_time, 0
+0x1A64 0x00F0 MOVWF R0
+0x1A65 0x0858 MOVF _Off_time+1, 0
+0x1A66 0x00F1 MOVWF R1
+0x1A67 0x0859 MOVF _Off_time+2, 0
+0x1A68 0x00F2 MOVWF R2
+0x1A69 0x085A MOVF _Off_time+3, 0
+0x1A6A 0x00F3 MOVWF R3
+0x1A6B 0x30E8 MOVLW 232
+0x1A6C 0x00F4 MOVWF R4
+0x1A6D 0x3003 MOVLW 3
+0x1A6E 0x00F5 MOVWF R5
+0x1A6F 0x01F6 CLRF R6
+0x1A70 0x01F7 CLRF R7
+0x1A71 0x3180 MOVLP 0
+0x1A72 0x21BE CALL _Mul_32x32_U
+0x1A73 0x3198 MOVLP 24
+0x1A74 0x0870 MOVF R0, 0
+0x1A75 0x0142 MOVLB 2
+0x1A76 0x074C ADDWF _Tick, 0
+0x1A77 0x00EC MOVWF _off_cnt
+0x1A78 0x0871 MOVF R1, 0
+0x1A79 0x3D4D ADDWFC _Tick+1, 0
+0x1A7A 0x00ED MOVWF _off_cnt+1
+0x1A7B 0x0872 MOVF R2, 0
+0x1A7C 0x3D4E ADDWFC _Tick+2, 0
+0x1A7D 0x00EE MOVWF _off_cnt+2
+0x1A7E 0x0873 MOVF R3, 0
+0x1A7F 0x3D4F ADDWFC _Tick+3, 0
+0x1A80 0x00EF MOVWF _off_cnt+3
+;main.c,194 :: }
+0x1A81 0x2A85 GOTO L_watch_swr47
+L_watch_swr46:
+;main.c,195 :: else oled_start();
+0x1A82 0x3188 MOVLP 8
+0x1A83 0x22D4 CALL _oled_start
+0x1A84 0x3198 MOVLP 24
+L_watch_swr47:
+;main.c,196 :: };
+L_watch_swr45:
+;main.c,198 :: if(PWR_fixed!=PWR_fixed_old){
+0x1A85 0x0143 MOVLB 3
+0x1A86 0x0846 MOVF watch_swr_PWR_fixed_L0+1, 0
+0x1A87 0x0142 MOVLB 2
+0x1A88 0x0647 XORWF _PWR_fixed_old+1, 0
+0x1A89 0x1D03 BTFSS STATUS, 2
+0x1A8A 0x2A8E GOTO L__watch_swr262
+0x1A8B 0x0846 MOVF _PWR_fixed_old, 0
+0x1A8C 0x0143 MOVLB 3
+0x1A8D 0x0645 XORWF watch_swr_PWR_fixed_L0, 0
+L__watch_swr262:
+0x1A8E 0x1903 BTFSC STATUS, 2
+0x1A8F 0x2ABE GOTO L_watch_swr48
+;main.c,199 :: if(Overflow)
+0x1A90 0x0143 MOVLB 3
+0x1A91 0x1D20 BTFSS _Overflow, BitPos(_Overflow+0)
+0x1A92 0x2AA1 GOTO L_watch_swr49
+;main.c,200 :: oled_wr_str(0, 42, ">", 1);
+0x1A93 0x0144 MOVLB 4
+0x1A94 0x01A3 CLRF FARG_oled_wr_str_page
+0x1A95 0x302A MOVLW 42
+0x1A96 0x00A4 MOVWF FARG_oled_wr_str_col
+0x1A97 0x30E6 MOVLW ?lstr5_main
+0x1A98 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1A99 0x3000 MOVLW hi_addr(?lstr5_main)
+0x1A9A 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1A9B 0x3001 MOVLW 1
+0x1A9C 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1A9D 0x3180 MOVLP 0
+0x1A9E 0x246D CALL _oled_wr_str
+0x1A9F 0x3198 MOVLP 24
+0x1AA0 0x2AAE GOTO L_watch_swr50
+L_watch_swr49:
+;main.c,202 :: oled_wr_str(0, 42, "=", 1);
+0x1AA1 0x0144 MOVLB 4
+0x1AA2 0x01A3 CLRF FARG_oled_wr_str_page
+0x1AA3 0x302A MOVLW 42
+0x1AA4 0x00A4 MOVWF FARG_oled_wr_str_col
+0x1AA5 0x30E8 MOVLW ?lstr6_main
+0x1AA6 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1AA7 0x3000 MOVLW hi_addr(?lstr6_main)
+0x1AA8 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1AA9 0x3001 MOVLW 1
+0x1AAA 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1AAB 0x3180 MOVLP 0
+0x1AAC 0x246D CALL _oled_wr_str
+0x1AAD 0x3198 MOVLP 24
+L_watch_swr50:
+;main.c,203 :: PWR_fixed_old = PWR_fixed;
+0x1AAE 0x0143 MOVLB 3
+0x1AAF 0x0845 MOVF watch_swr_PWR_fixed_L0, 0
+0x1AB0 0x0142 MOVLB 2
+0x1AB1 0x00C6 MOVWF _PWR_fixed_old
+0x1AB2 0x0143 MOVLB 3
+0x1AB3 0x0846 MOVF watch_swr_PWR_fixed_L0+1, 0
+0x1AB4 0x0142 MOVLB 2
+0x1AB5 0x00C7 MOVWF _PWR_fixed_old+1
+;main.c,204 :: draw_power(PWR_fixed);
+0x1AB6 0x0143 MOVLB 3
+0x1AB7 0x0845 MOVF watch_swr_PWR_fixed_L0, 0
+0x1AB8 0x00E6 MOVWF FARG_draw_power_p
+0x1AB9 0x0846 MOVF watch_swr_PWR_fixed_L0+1, 0
+0x1ABA 0x00E7 MOVWF FARG_draw_power_p+1
+0x1ABB 0x3190 MOVLP 16
+0x1ABC 0x2075 CALL _draw_power
+0x1ABD 0x3198 MOVLP 24
+;main.c,205 :: }
+L_watch_swr48:
+;main.c,207 :: if(PWR_fixed<10){
+0x1ABE 0x3080 MOVLW 128
+0x1ABF 0x0143 MOVLB 3
+0x1AC0 0x0646 XORWF watch_swr_PWR_fixed_L0+1, 0
+0x1AC1 0x00F0 MOVWF R0
+0x1AC2 0x3080 MOVLW 128
+0x1AC3 0x0270 SUBWF R0, 0
+0x1AC4 0x1D03 BTFSS STATUS, 2
+0x1AC5 0x2AC8 GOTO L__watch_swr263
+0x1AC6 0x300A MOVLW 10
+0x1AC7 0x0245 SUBWF watch_swr_PWR_fixed_L0, 0
+L__watch_swr263:
+0x1AC8 0x1803 BTFSC STATUS, 0
+0x1AC9 0x2AD8 GOTO L_watch_swr51
+;main.c,208 :: SWR_fixed = 0;
+0x1ACA 0x01C7 CLRF watch_swr_SWR_fixed_L0
+0x1ACB 0x01C8 CLRF watch_swr_SWR_fixed_L0+1
+;main.c,210 :: draw_swr(SWR_ind);
+0x1ACC 0x0142 MOVLB 2
+0x1ACD 0x0840 MOVF _SWR_ind, 0
+0x1ACE 0x0144 MOVLB 4
+0x1ACF 0x00A0 MOVWF FARG_draw_swr_s
+0x1AD0 0x0142 MOVLB 2
+0x1AD1 0x0841 MOVF _SWR_ind+1, 0
+0x1AD2 0x0144 MOVLB 4
+0x1AD3 0x00A1 MOVWF FARG_draw_swr_s+1
+0x1AD4 0x3180 MOVLP 0
+0x1AD5 0x26D2 CALL _draw_swr
+0x1AD6 0x3198 MOVLP 24
+;main.c,211 :: return;
+0x1AD7 0x2C12 GOTO L_end_watch_swr
+;main.c,212 :: }
+L_watch_swr51:
+;main.c,214 :: if(Overflow){
+0x1AD8 0x0143 MOVLB 3
+0x1AD9 0x1D20 BTFSS _Overflow, BitPos(_Overflow+0)
+0x1ADA 0x2B4F GOTO L_watch_swr52
+;main.c,215 :: for(cnt=3; cnt!=0; cnt--){
+0x1ADB 0x3003 MOVLW 3
+0x1ADC 0x00C2 MOVWF watch_swr_cnt_L0
+L_watch_swr53:
+0x1ADD 0x0842 MOVF watch_swr_cnt_L0, 0
+0x1ADE 0x3A00 XORLW 0
+0x1ADF 0x1903 BTFSC STATUS, 2
+0x1AE0 0x2B19 GOTO L_watch_swr54
+;main.c,216 :: oled_wr_str(2, 6, "OVERLOAD ", 9);
+0x1AE1 0x3002 MOVLW 2
+0x1AE2 0x0144 MOVLB 4
+0x1AE3 0x00A3 MOVWF FARG_oled_wr_str_page
+0x1AE4 0x3006 MOVLW 6
+0x1AE5 0x00A4 MOVWF FARG_oled_wr_str_col
+0x1AE6 0x3020 MOVLW ?lstr7_main
+0x1AE7 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1AE8 0x3001 MOVLW hi_addr(?lstr7_main)
+0x1AE9 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1AEA 0x3009 MOVLW 9
+0x1AEB 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1AEC 0x3180 MOVLP 0
+0x1AED 0x246D CALL _oled_wr_str
+0x1AEE 0x3198 MOVLP 24
+;main.c,217 :: Delay_ms(500);
+0x1AEF 0x3015 MOVLW 21
+0x1AF0 0x00FB MOVWF R11
+0x1AF1 0x304B MOVLW 75
+0x1AF2 0x00FC MOVWF R12
+0x1AF3 0x30BE MOVLW 190
+0x1AF4 0x00FD MOVWF R13
+L_watch_swr56:
+0x1AF5 0x0BFD DECFSZ R13, 1
+0x1AF6 0x2AF5 GOTO L_watch_swr56
+0x1AF7 0x0BFC DECFSZ R12, 1
+0x1AF8 0x2AF5 GOTO L_watch_swr56
+0x1AF9 0x0BFB DECFSZ R11, 1
+0x1AFA 0x2AF5 GOTO L_watch_swr56
+0x1AFB 0x0000 NOP
+;main.c,218 :: oled_wr_str(2, 0, " ", 9);
+0x1AFC 0x3002 MOVLW 2
+0x1AFD 0x0144 MOVLB 4
+0x1AFE 0x00A3 MOVWF FARG_oled_wr_str_page
+0x1AFF 0x01A4 CLRF FARG_oled_wr_str_col
+0x1B00 0x30CB MOVLW ?lstr8_main
+0x1B01 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1B02 0x3000 MOVLW hi_addr(?lstr8_main)
+0x1B03 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1B04 0x3009 MOVLW 9
+0x1B05 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1B06 0x3180 MOVLP 0
+0x1B07 0x246D CALL _oled_wr_str
+0x1B08 0x3198 MOVLP 24
+;main.c,219 :: Delay_ms(500);
+0x1B09 0x3015 MOVLW 21
+0x1B0A 0x00FB MOVWF R11
+0x1B0B 0x304B MOVLW 75
+0x1B0C 0x00FC MOVWF R12
+0x1B0D 0x30BE MOVLW 190
+0x1B0E 0x00FD MOVWF R13
+L_watch_swr57:
+0x1B0F 0x0BFD DECFSZ R13, 1
+0x1B10 0x2B0F GOTO L_watch_swr57
+0x1B11 0x0BFC DECFSZ R12, 1
+0x1B12 0x2B0F GOTO L_watch_swr57
+0x1B13 0x0BFB DECFSZ R11, 1
+0x1B14 0x2B0F GOTO L_watch_swr57
+0x1B15 0x0000 NOP
+;main.c,215 :: for(cnt=3; cnt!=0; cnt--){
+0x1B16 0x0143 MOVLB 3
+0x1B17 0x03C2 DECF watch_swr_cnt_L0, 1
+;main.c,220 :: }
+0x1B18 0x2ADD GOTO L_watch_swr53
+L_watch_swr54:
+;main.c,221 :: oled_wr_str(2, 0, "SWR ", 9);
+0x1B19 0x3002 MOVLW 2
+0x1B1A 0x0144 MOVLB 4
+0x1B1B 0x00A3 MOVWF FARG_oled_wr_str_page
+0x1B1C 0x01A4 CLRF FARG_oled_wr_str_col
+0x1B1D 0x30B6 MOVLW ?lstr9_main
+0x1B1E 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1B1F 0x3000 MOVLW hi_addr(?lstr9_main)
+0x1B20 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1B21 0x3009 MOVLW 9
+0x1B22 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1B23 0x3180 MOVLP 0
+0x1B24 0x246D CALL _oled_wr_str
+0x1B25 0x3198 MOVLP 24
+;main.c,222 :: oled_wr_str(2, 42, "=", 1);
+0x1B26 0x3002 MOVLW 2
+0x1B27 0x0144 MOVLB 4
+0x1B28 0x00A3 MOVWF FARG_oled_wr_str_page
+0x1B29 0x302A MOVLW 42
+0x1B2A 0x00A4 MOVWF FARG_oled_wr_str_col
+0x1B2B 0x30C0 MOVLW ?lstr10_main
+0x1B2C 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1B2D 0x3000 MOVLW hi_addr(?lstr10_main)
+0x1B2E 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1B2F 0x3001 MOVLW 1
+0x1B30 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1B31 0x3180 MOVLP 0
+0x1B32 0x246D CALL _oled_wr_str
+0x1B33 0x3198 MOVLP 24
+;main.c,223 :: draw_swr(SWR_fixed);
+0x1B34 0x0143 MOVLB 3
+0x1B35 0x0847 MOVF watch_swr_SWR_fixed_L0, 0
+0x1B36 0x0144 MOVLB 4
+0x1B37 0x00A0 MOVWF FARG_draw_swr_s
+0x1B38 0x0143 MOVLB 3
+0x1B39 0x0848 MOVF watch_swr_SWR_fixed_L0+1, 0
+0x1B3A 0x0144 MOVLB 4
+0x1B3B 0x00A1 MOVWF FARG_draw_swr_s+1
+0x1B3C 0x3180 MOVLP 0
+0x1B3D 0x26D2 CALL _draw_swr
+0x1B3E 0x3198 MOVLP 24
+;main.c,224 :: Delay_ms(500);
+0x1B3F 0x3015 MOVLW 21
+0x1B40 0x00FB MOVWF R11
+0x1B41 0x304B MOVLW 75
+0x1B42 0x00FC MOVWF R12
+0x1B43 0x30BE MOVLW 190
+0x1B44 0x00FD MOVWF R13
+L_watch_swr58:
+0x1B45 0x0BFD DECFSZ R13, 1
+0x1B46 0x2B45 GOTO L_watch_swr58
+0x1B47 0x0BFC DECFSZ R12, 1
+0x1B48 0x2B45 GOTO L_watch_swr58
+0x1B49 0x0BFB DECFSZ R11, 1
+0x1B4A 0x2B45 GOTO L_watch_swr58
+0x1B4B 0x0000 NOP
+;main.c,225 :: Overflow = 0;
+0x1B4C 0x0143 MOVLB 3
+0x1B4D 0x1120 BCF _Overflow, BitPos(_Overflow+0)
+;main.c,226 :: }
+0x1B4E 0x2BE9 GOTO L_watch_swr59
+L_watch_swr52:
+;main.c,228 :: else if(PWR_fixed>=min_for_start && PWR_fixed=Auto_delta || SWR_Fixed>900 ) {
+0x1B4F 0x3080 MOVLW 128
+0x1B50 0x0646 XORWF watch_swr_PWR_fixed_L0+1, 0
+0x1B51 0x00F0 MOVWF R0
+0x1B52 0x3080 MOVLW 128
+0x1B53 0x0141 MOVLB 1
+0x1B54 0x0643 XORWF _min_for_start+1, 0
+0x1B55 0x0270 SUBWF R0, 0
+0x1B56 0x1D03 BTFSS STATUS, 2
+0x1B57 0x2B5B GOTO L__watch_swr264
+0x1B58 0x0842 MOVF _min_for_start, 0
+0x1B59 0x0143 MOVLB 3
+0x1B5A 0x0245 SUBWF watch_swr_PWR_fixed_L0, 0
+L__watch_swr264:
+0x1B5B 0x1C03 BTFSS STATUS, 0
+0x1B5C 0x2B7C GOTO L__watch_swr238
+0x1B5D 0x0143 MOVLB 3
+0x1B5E 0x3080 MOVLW 128
+0x1B5F 0x0646 XORWF watch_swr_PWR_fixed_L0+1, 0
+0x1B60 0x00F0 MOVWF R0
+0x1B61 0x3080 MOVLW 128
+0x1B62 0x0141 MOVLB 1
+0x1B63 0x0629 XORWF _max_for_start+1, 0
+0x1B64 0x0270 SUBWF R0, 0
+0x1B65 0x1D03 BTFSS STATUS, 2
+0x1B66 0x2B6A GOTO L__watch_swr265
+0x1B67 0x0828 MOVF _max_for_start, 0
+0x1B68 0x0143 MOVLB 3
+0x1B69 0x0245 SUBWF watch_swr_PWR_fixed_L0, 0
+L__watch_swr265:
+0x1B6A 0x1803 BTFSC STATUS, 0
+0x1B6B 0x2B7C GOTO L__watch_swr238
+0x1B6C 0x0143 MOVLB 3
+0x1B6D 0x3080 MOVLW 128
+0x1B6E 0x0648 XORWF watch_swr_SWR_fixed_L0+1, 0
+0x1B6F 0x00F0 MOVWF R0
+0x1B70 0x3080 MOVLW 128
+0x1B71 0x0141 MOVLB 1
+0x1B72 0x066B XORWF _Auto_delta+1, 0
+0x1B73 0x0270 SUBWF R0, 0
+0x1B74 0x1D03 BTFSS STATUS, 2
+0x1B75 0x2B79 GOTO L__watch_swr266
+0x1B76 0x086A MOVF _Auto_delta, 0
+0x1B77 0x0143 MOVLB 3
+0x1B78 0x0247 SUBWF watch_swr_SWR_fixed_L0, 0
+L__watch_swr266:
+0x1B79 0x1C03 BTFSS STATUS, 0
+0x1B7A 0x2B7C GOTO L__watch_swr238
+0x1B7B 0x2B8A GOTO L__watch_swr237
+L__watch_swr238:
+0x1B7C 0x0143 MOVLB 3
+0x1B7D 0x3080 MOVLW 128
+0x1B7E 0x3A03 XORLW 3
+0x1B7F 0x00F0 MOVWF R0
+0x1B80 0x3080 MOVLW 128
+0x1B81 0x0648 XORWF watch_swr_SWR_fixed_L0+1, 0
+0x1B82 0x0270 SUBWF R0, 0
+0x1B83 0x1D03 BTFSS STATUS, 2
+0x1B84 0x2B87 GOTO L__watch_swr267
+0x1B85 0x0847 MOVF watch_swr_SWR_fixed_L0, 0
+0x1B86 0x3C84 SUBLW 132
+L__watch_swr267:
+0x1B87 0x1C03 BTFSS STATUS, 0
+0x1B88 0x2B8A GOTO L__watch_swr237
+0x1B89 0x2BE9 GOTO L_watch_swr64
+L__watch_swr237:
+;main.c,229 :: if( (SWR_fixed>SWR_fixed_old && (SWR_fixed-SWR_fixed_old)>delta) || (SWR_fixeddelta) || SWR_Fixed>900 ) {
+0x1B8A 0x3080 MOVLW 128
+0x1B8B 0x0142 MOVLB 2
+0x1B8C 0x064B XORWF _SWR_fixed_old+1, 0
+0x1B8D 0x00F0 MOVWF R0
+0x1B8E 0x3080 MOVLW 128
+0x1B8F 0x0143 MOVLB 3
+0x1B90 0x0648 XORWF watch_swr_SWR_fixed_L0+1, 0
+0x1B91 0x0270 SUBWF R0, 0
+0x1B92 0x1D03 BTFSS STATUS, 2
+0x1B93 0x2B97 GOTO L__watch_swr268
+0x1B94 0x0847 MOVF watch_swr_SWR_fixed_L0, 0
+0x1B95 0x0142 MOVLB 2
+0x1B96 0x024A SUBWF _SWR_fixed_old, 0
+L__watch_swr268:
+0x1B97 0x1803 BTFSC STATUS, 0
+0x1B98 0x2BB0 GOTO L__watch_swr236
+0x1B99 0x0142 MOVLB 2
+0x1B9A 0x084A MOVF _SWR_fixed_old, 0
+0x1B9B 0x0143 MOVLB 3
+0x1B9C 0x0247 SUBWF watch_swr_SWR_fixed_L0, 0
+0x1B9D 0x00F1 MOVWF R1
+0x1B9E 0x0142 MOVLB 2
+0x1B9F 0x084B MOVF _SWR_fixed_old+1, 0
+0x1BA0 0x0143 MOVLB 3
+0x1BA1 0x3B48 SUBWFB watch_swr_SWR_fixed_L0+1, 0
+0x1BA2 0x00F2 MOVWF R2
+0x1BA3 0x3080 MOVLW 128
+0x1BA4 0x0644 XORWF watch_swr_delta_L0+1, 0
+0x1BA5 0x00F0 MOVWF R0
+0x1BA6 0x3080 MOVLW 128
+0x1BA7 0x0672 XORWF R2, 0
+0x1BA8 0x0270 SUBWF R0, 0
+0x1BA9 0x1D03 BTFSS STATUS, 2
+0x1BAA 0x2BAD GOTO L__watch_swr269
+0x1BAB 0x0871 MOVF R1, 0
+0x1BAC 0x0243 SUBWF watch_swr_delta_L0, 0
+L__watch_swr269:
+0x1BAD 0x1803 BTFSC STATUS, 0
+0x1BAE 0x2BB0 GOTO L__watch_swr236
+0x1BAF 0x2BE5 GOTO L__watch_swr234
+L__watch_swr236:
+0x1BB0 0x0143 MOVLB 3
+0x1BB1 0x3080 MOVLW 128
+0x1BB2 0x0648 XORWF watch_swr_SWR_fixed_L0+1, 0
+0x1BB3 0x00F0 MOVWF R0
+0x1BB4 0x3080 MOVLW 128
+0x1BB5 0x0142 MOVLB 2
+0x1BB6 0x064B XORWF _SWR_fixed_old+1, 0
+0x1BB7 0x0270 SUBWF R0, 0
+0x1BB8 0x1D03 BTFSS STATUS, 2
+0x1BB9 0x2BBD GOTO L__watch_swr270
+0x1BBA 0x084A MOVF _SWR_fixed_old, 0
+0x1BBB 0x0143 MOVLB 3
+0x1BBC 0x0247 SUBWF watch_swr_SWR_fixed_L0, 0
+L__watch_swr270:
+0x1BBD 0x1803 BTFSC STATUS, 0
+0x1BBE 0x2BD7 GOTO L__watch_swr235
+0x1BBF 0x0143 MOVLB 3
+0x1BC0 0x0847 MOVF watch_swr_SWR_fixed_L0, 0
+0x1BC1 0x0142 MOVLB 2
+0x1BC2 0x024A SUBWF _SWR_fixed_old, 0
+0x1BC3 0x00F1 MOVWF R1
+0x1BC4 0x0143 MOVLB 3
+0x1BC5 0x0848 MOVF watch_swr_SWR_fixed_L0+1, 0
+0x1BC6 0x0142 MOVLB 2
+0x1BC7 0x3B4B SUBWFB _SWR_fixed_old+1, 0
+0x1BC8 0x00F2 MOVWF R2
+0x1BC9 0x3080 MOVLW 128
+0x1BCA 0x0143 MOVLB 3
+0x1BCB 0x0644 XORWF watch_swr_delta_L0+1, 0
+0x1BCC 0x00F0 MOVWF R0
+0x1BCD 0x3080 MOVLW 128
+0x1BCE 0x0672 XORWF R2, 0
+0x1BCF 0x0270 SUBWF R0, 0
+0x1BD0 0x1D03 BTFSS STATUS, 2
+0x1BD1 0x2BD4 GOTO L__watch_swr271
+0x1BD2 0x0871 MOVF R1, 0
+0x1BD3 0x0243 SUBWF watch_swr_delta_L0, 0
+L__watch_swr271:
+0x1BD4 0x1803 BTFSC STATUS, 0
+0x1BD5 0x2BD7 GOTO L__watch_swr235
+0x1BD6 0x2BE5 GOTO L__watch_swr234
+L__watch_swr235:
+0x1BD7 0x0143 MOVLB 3
+0x1BD8 0x3080 MOVLW 128
+0x1BD9 0x3A03 XORLW 3
+0x1BDA 0x00F0 MOVWF R0
+0x1BDB 0x3080 MOVLW 128
+0x1BDC 0x0648 XORWF watch_swr_SWR_fixed_L0+1, 0
+0x1BDD 0x0270 SUBWF R0, 0
+0x1BDE 0x1D03 BTFSS STATUS, 2
+0x1BDF 0x2BE2 GOTO L__watch_swr272
+0x1BE0 0x0847 MOVF watch_swr_SWR_fixed_L0, 0
+0x1BE1 0x3C84 SUBLW 132
+L__watch_swr272:
+0x1BE2 0x1C03 BTFSS STATUS, 0
+0x1BE3 0x2BE5 GOTO L__watch_swr234
+0x1BE4 0x2BE9 GOTO L_watch_swr71
+L__watch_swr234:
+;main.c,230 :: Btn_long();
+0x1BE5 0x3190 MOVLP 16
+0x1BE6 0x274B CALL _Btn_long
+0x1BE7 0x3198 MOVLP 24
+;main.c,231 :: return;
+0x1BE8 0x2C12 GOTO L_end_watch_swr
+;main.c,232 :: }
+L_watch_swr71:
+;main.c,233 :: }
+L_watch_swr64:
+L_watch_swr59:
+;main.c,235 :: if(SWR_fixed>99 && SWR_fixed!=SWR_ind){
+0x1BE9 0x3080 MOVLW 128
+0x1BEA 0x00F0 MOVWF R0
+0x1BEB 0x3080 MOVLW 128
+0x1BEC 0x0143 MOVLB 3
+0x1BED 0x0648 XORWF watch_swr_SWR_fixed_L0+1, 0
+0x1BEE 0x0270 SUBWF R0, 0
+0x1BEF 0x1D03 BTFSS STATUS, 2
+0x1BF0 0x2BF3 GOTO L__watch_swr273
+0x1BF1 0x0847 MOVF watch_swr_SWR_fixed_L0, 0
+0x1BF2 0x3C63 SUBLW 99
+L__watch_swr273:
+0x1BF3 0x1803 BTFSC STATUS, 0
+0x1BF4 0x2C12 GOTO L_watch_swr74
+0x1BF5 0x0848 MOVF watch_swr_SWR_fixed_L0+1, 0
+0x1BF6 0x0142 MOVLB 2
+0x1BF7 0x0641 XORWF _SWR_ind+1, 0
+0x1BF8 0x1D03 BTFSS STATUS, 2
+0x1BF9 0x2BFD GOTO L__watch_swr274
+0x1BFA 0x0840 MOVF _SWR_ind, 0
+0x1BFB 0x0143 MOVLB 3
+0x1BFC 0x0647 XORWF watch_swr_SWR_fixed_L0, 0
+L__watch_swr274:
+0x1BFD 0x1903 BTFSC STATUS, 2
+0x1BFE 0x2C12 GOTO L_watch_swr74
+L__watch_swr233:
+0x1BFF 0x0143 MOVLB 3
+;main.c,236 :: SWR_ind = SWR_fixed;
+0x1C00 0x0847 MOVF watch_swr_SWR_fixed_L0, 0
+0x1C01 0x0142 MOVLB 2
+0x1C02 0x00C0 MOVWF _SWR_ind
+0x1C03 0x0143 MOVLB 3
+0x1C04 0x0848 MOVF watch_swr_SWR_fixed_L0+1, 0
+0x1C05 0x0142 MOVLB 2
+0x1C06 0x00C1 MOVWF _SWR_ind+1
+;main.c,237 :: draw_swr(SWR_ind);
+0x1C07 0x0143 MOVLB 3
+0x1C08 0x0847 MOVF watch_swr_SWR_fixed_L0, 0
+0x1C09 0x0144 MOVLB 4
+0x1C0A 0x00A0 MOVWF FARG_draw_swr_s
+0x1C0B 0x0143 MOVLB 3
+0x1C0C 0x0848 MOVF watch_swr_SWR_fixed_L0+1, 0
+0x1C0D 0x0144 MOVLB 4
+0x1C0E 0x00A1 MOVWF FARG_draw_swr_s+1
+0x1C0F 0x3180 MOVLP 0
+0x1C10 0x26D2 CALL _draw_swr
+0x1C11 0x3198 MOVLP 24
+;main.c,238 :: }
+L_watch_swr74:
+;main.c,240 :: return;
+;main.c,241 :: }
+L_end_watch_swr:
+0x1C12 0x0008 RETURN
+; end of _watch_swr
+_Voltage_show:
+;main.c,287 :: void Voltage_show(){
+;main.c,288 :: get_batt();
+0x1C13 0x3180 MOVLP 0
+0x1C14 0x2707 CALL _get_batt
+0x1C15 0x3198 MOVLP 24
+;main.c,289 :: if(Voltage != Voltage_old) { Voltage_old = Voltage; oled_voltage(Voltage); }
+0x1C16 0x082A MOVF _Voltage+1, 0
+0x1C17 0x0142 MOVLB 2
+0x1C18 0x0649 XORWF _Voltage_old+1, 0
+0x1C19 0x1D03 BTFSS STATUS, 2
+0x1C1A 0x2C1E GOTO L__Voltage_show282
+0x1C1B 0x0848 MOVF _Voltage_old, 0
+0x1C1C 0x0143 MOVLB 3
+0x1C1D 0x0629 XORWF _Voltage, 0
+L__Voltage_show282:
+0x1C1E 0x1903 BTFSC STATUS, 2
+0x1C1F 0x2C2E GOTO L_Voltage_show83
+0x1C20 0x0143 MOVLB 3
+0x1C21 0x0829 MOVF _Voltage, 0
+0x1C22 0x0142 MOVLB 2
+0x1C23 0x00C8 MOVWF _Voltage_old
+0x1C24 0x0143 MOVLB 3
+0x1C25 0x082A MOVF _Voltage+1, 0
+0x1C26 0x0142 MOVLB 2
+0x1C27 0x00C9 MOVWF _Voltage_old+1
+0x1C28 0x0143 MOVLB 3
+0x1C29 0x0829 MOVF _Voltage, 0
+0x1C2A 0x00C9 MOVWF FARG_oled_voltage_Voltage
+0x1C2B 0x082A MOVF _Voltage+1, 0
+0x1C2C 0x00CA MOVWF FARG_oled_voltage_Voltage+1
+0x1C2D 0x2000 CALL _oled_voltage
+L_Voltage_show83:
+;main.c,292 :: if(Voltage>3700){
+0x1C2E 0x3080 MOVLW 128
+0x1C2F 0x3A0E XORLW 14
+0x1C30 0x00F0 MOVWF R0
+0x1C31 0x3080 MOVLW 128
+0x1C32 0x0143 MOVLB 3
+0x1C33 0x062A XORWF _Voltage+1, 0
+0x1C34 0x0270 SUBWF R0, 0
+0x1C35 0x1D03 BTFSS STATUS, 2
+0x1C36 0x2C39 GOTO L__Voltage_show283
+0x1C37 0x0829 MOVF _Voltage, 0
+0x1C38 0x3C74 SUBLW 116
+L__Voltage_show283:
+0x1C39 0x1803 BTFSC STATUS, 0
+0x1C3A 0x2C4D GOTO L_Voltage_show84
+;main.c,293 :: Green = 0;
+0x1C3B 0x0140 MOVLB 0
+0x1C3C 0x1197 BCF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,294 :: Red = 1;
+0x1C3D 0x1617 BSF LATB4_bit, BitPos(LATB4_bit+0)
+;main.c,295 :: Delay_ms(30);
+0x1C3E 0x3002 MOVLW 2
+0x1C3F 0x00FB MOVWF R11
+0x1C40 0x3038 MOVLW 56
+0x1C41 0x00FC MOVWF R12
+0x1C42 0x30AD MOVLW 173
+0x1C43 0x00FD MOVWF R13
+L_Voltage_show85:
+0x1C44 0x0BFD DECFSZ R13, 1
+0x1C45 0x2C44 GOTO L_Voltage_show85
+0x1C46 0x0BFC DECFSZ R12, 1
+0x1C47 0x2C44 GOTO L_Voltage_show85
+0x1C48 0x0BFB DECFSZ R11, 1
+0x1C49 0x2C44 GOTO L_Voltage_show85
+;main.c,296 :: Green = 1;
+0x1C4A 0x1597 BSF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,297 :: Red = 1;
+0x1C4B 0x1617 BSF LATB4_bit, BitPos(LATB4_bit+0)
+;main.c,298 :: }
+0x1C4C 0x2C7D GOTO L_Voltage_show86
+L_Voltage_show84:
+;main.c,299 :: else if(Voltage>3590){
+0x1C4D 0x3080 MOVLW 128
+0x1C4E 0x3A0E XORLW 14
+0x1C4F 0x00F0 MOVWF R0
+0x1C50 0x3080 MOVLW 128
+0x1C51 0x0143 MOVLB 3
+0x1C52 0x062A XORWF _Voltage+1, 0
+0x1C53 0x0270 SUBWF R0, 0
+0x1C54 0x1D03 BTFSS STATUS, 2
+0x1C55 0x2C58 GOTO L__Voltage_show284
+0x1C56 0x0829 MOVF _Voltage, 0
+0x1C57 0x3C06 SUBLW 6
+L__Voltage_show284:
+0x1C58 0x1803 BTFSC STATUS, 0
+0x1C59 0x2C6C GOTO L_Voltage_show87
+;main.c,300 :: Green = 0;
+0x1C5A 0x0140 MOVLB 0
+0x1C5B 0x1197 BCF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,301 :: Red = 0;
+0x1C5C 0x1217 BCF LATB4_bit, BitPos(LATB4_bit+0)
+;main.c,302 :: Delay_ms(30);
+0x1C5D 0x3002 MOVLW 2
+0x1C5E 0x00FB MOVWF R11
+0x1C5F 0x3038 MOVLW 56
+0x1C60 0x00FC MOVWF R12
+0x1C61 0x30AD MOVLW 173
+0x1C62 0x00FD MOVWF R13
+L_Voltage_show88:
+0x1C63 0x0BFD DECFSZ R13, 1
+0x1C64 0x2C63 GOTO L_Voltage_show88
+0x1C65 0x0BFC DECFSZ R12, 1
+0x1C66 0x2C63 GOTO L_Voltage_show88
+0x1C67 0x0BFB DECFSZ R11, 1
+0x1C68 0x2C63 GOTO L_Voltage_show88
+;main.c,303 :: Green = 1;
+0x1C69 0x1597 BSF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,304 :: Red = 1;
+0x1C6A 0x1617 BSF LATB4_bit, BitPos(LATB4_bit+0)
+;main.c,305 :: }
+0x1C6B 0x2C7D GOTO L_Voltage_show89
+L_Voltage_show87:
+0x1C6C 0x0140 MOVLB 0
+;main.c,307 :: Red = 0;
+0x1C6D 0x1217 BCF LATB4_bit, BitPos(LATB4_bit+0)
+;main.c,308 :: Green = 1;
+0x1C6E 0x1597 BSF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,309 :: Delay_ms(30);
+0x1C6F 0x3002 MOVLW 2
+0x1C70 0x00FB MOVWF R11
+0x1C71 0x3038 MOVLW 56
+0x1C72 0x00FC MOVWF R12
+0x1C73 0x30AD MOVLW 173
+0x1C74 0x00FD MOVWF R13
+L_Voltage_show90:
+0x1C75 0x0BFD DECFSZ R13, 1
+0x1C76 0x2C75 GOTO L_Voltage_show90
+0x1C77 0x0BFC DECFSZ R12, 1
+0x1C78 0x2C75 GOTO L_Voltage_show90
+0x1C79 0x0BFB DECFSZ R11, 1
+0x1C7A 0x2C75 GOTO L_Voltage_show90
+;main.c,310 :: Red = 1;
+0x1C7B 0x1617 BSF LATB4_bit, BitPos(LATB4_bit+0)
+;main.c,311 :: Green = 1;
+0x1C7C 0x1597 BSF LATB3_bit, BitPos(LATB3_bit+0)
+;main.c,312 :: }
+L_Voltage_show89:
+L_Voltage_show86:
+;main.c,314 :: if(Voltage<3400){
+0x1C7D 0x3080 MOVLW 128
+0x1C7E 0x0143 MOVLB 3
+0x1C7F 0x062A XORWF _Voltage+1, 0
+0x1C80 0x00F0 MOVWF R0
+0x1C81 0x3080 MOVLW 128
+0x1C82 0x3A0D XORLW 13
+0x1C83 0x0270 SUBWF R0, 0
+0x1C84 0x1D03 BTFSS STATUS, 2
+0x1C85 0x2C88 GOTO L__Voltage_show285
+0x1C86 0x3048 MOVLW 72
+0x1C87 0x0229 SUBWF _Voltage, 0
+L__Voltage_show285:
+0x1C88 0x1803 BTFSC STATUS, 0
+0x1C89 0x2CA9 GOTO L_Voltage_show91
+;main.c,315 :: oled_clear();
+0x1C8A 0x3180 MOVLP 0
+0x1C8B 0x2449 CALL _oled_clear
+0x1C8C 0x3198 MOVLP 24
+;main.c,316 :: oled_wr_str(1, 0, " LOW BATT ", 11);
+0x1C8D 0x3001 MOVLW 1
+0x1C8E 0x0144 MOVLB 4
+0x1C8F 0x00A3 MOVWF FARG_oled_wr_str_page
+0x1C90 0x01A4 CLRF FARG_oled_wr_str_col
+0x1C91 0x30AA MOVLW ?lstr13_main
+0x1C92 0x00A5 MOVWF FARG_oled_wr_str_str
+0x1C93 0x3000 MOVLW hi_addr(?lstr13_main)
+0x1C94 0x00A6 MOVWF FARG_oled_wr_str_str+1
+0x1C95 0x300B MOVLW 11
+0x1C96 0x00A7 MOVWF FARG_oled_wr_str_leng
+0x1C97 0x3180 MOVLP 0
+0x1C98 0x246D CALL _oled_wr_str
+0x1C99 0x3198 MOVLP 24
+;main.c,317 :: Delay_ms(2000);
+0x1C9A 0x3052 MOVLW 82
+0x1C9B 0x00FB MOVWF R11
+0x1C9C 0x302B MOVLW 43
+0x1C9D 0x00FC MOVWF R12
+0x1C9E 0x3000 MOVLW 0
+0x1C9F 0x00FD MOVWF R13
+L_Voltage_show92:
+0x1CA0 0x0BFD DECFSZ R13, 1
+0x1CA1 0x2CA0 GOTO L_Voltage_show92
+0x1CA2 0x0BFC DECFSZ R12, 1
+0x1CA3 0x2CA0 GOTO L_Voltage_show92
+0x1CA4 0x0BFB DECFSZ R11, 1
+0x1CA5 0x2CA0 GOTO L_Voltage_show92
+0x1CA6 0x0000 NOP
+;main.c,318 :: OLED_PWD = 0;
+0x1CA7 0x1216 BCF LATA4_bit, BitPos(LATA4_bit+0)
+;main.c,319 :: power_off();
+0x1CA8 0x2182 CALL _power_off
+;main.c,320 :: }
+L_Voltage_show91:
+;main.c,321 :: return;
+;main.c,322 :: }
+L_end_Voltage_show:
+0x1CA9 0x0008 RETURN
+; end of _Voltage_show
+_pic_init:
+;pic_init.c,5 :: void pic_init (void) {
+;pic_init.c,7 :: ANSELA = 0; // all as digital
+0x1CAA 0x017E MOVLB 62
+0x1CAB 0x01B8 CLRF ANSELA
+;pic_init.c,8 :: ANSELB = 0; // all as digital
+0x1CAC 0x01C3 CLRF ANSELB
+;pic_init.c,9 :: ANSB0_bit = 1; // analog input
+0x1CAD 0x1443 BSF ANSB0_bit, BitPos(ANSB0_bit+0)
+;pic_init.c,10 :: ANSB1_bit = 1; // analog input
+0x1CAE 0x14C3 BSF ANSB1_bit, BitPos(ANSB1_bit+0)
+;pic_init.c,11 :: ANSB2_bit = 1; // analog input
+0x1CAF 0x1543 BSF ANSB2_bit, BitPos(ANSB2_bit+0)
+;pic_init.c,12 :: ANSELC = 0; // all as digital
+0x1CB0 0x01CE CLRF ANSELC
+;pic_init.c,13 :: ANSELE = 0; // all as digital
+0x1CB1 0x01E4 CLRF ANSELE
+;pic_init.c,14 :: ANSELD = 0; // all as digital
+0x1CB2 0x01D9 CLRF ANSELD
+;pic_init.c,16 :: C1ON_bit = 0; // Disable comparators
+0x1CB3 0x0153 MOVLB 19
+0x1CB4 0x1390 BCF C1ON_bit, BitPos(C1ON_bit+0)
+;pic_init.c,17 :: C2ON_bit = 0;
+0x1CB5 0x1394 BCF C2ON_bit, BitPos(C2ON_bit+0)
+;pic_init.c,19 :: PORTA = 0;
+0x1CB6 0x0140 MOVLB 0
+0x1CB7 0x018C CLRF PORTA
+;pic_init.c,20 :: PORTB = 0;
+0x1CB8 0x018D CLRF PORTB
+;pic_init.c,21 :: PORTC = 0;
+0x1CB9 0x018E CLRF PORTC
+;pic_init.c,22 :: PORTD = 0;
+0x1CBA 0x018F CLRF PORTD
+;pic_init.c,23 :: PORTE = 0;
+0x1CBB 0x0190 CLRF PORTE
+;pic_init.c,24 :: LATA = 0b00000000;
+0x1CBC 0x0196 CLRF LATA
+;pic_init.c,25 :: LATB = 0b00000000;
+0x1CBD 0x0197 CLRF LATB
+;pic_init.c,26 :: LATC = 0b00010000;
+0x1CBE 0x3010 MOVLW 16
+0x1CBF 0x0098 MOVWF LATC
+;pic_init.c,27 :: LATD = 0b00000110;
+0x1CC0 0x3006 MOVLW 6
+0x1CC1 0x0099 MOVWF LATD
+;pic_init.c,28 :: LATE = 0b00000000;
+0x1CC2 0x019A CLRF LATE
+;pic_init.c,29 :: TRISA = 0b00000000;
+0x1CC3 0x0191 CLRF TRISA
+;pic_init.c,30 :: TRISB = 0b00100111;
+0x1CC4 0x3027 MOVLW 39
+0x1CC5 0x0092 MOVWF TRISB
+;pic_init.c,31 :: TRISC = 0b00000000;
+0x1CC6 0x0193 CLRF TRISC
+;pic_init.c,32 :: TRISD = 0b00000000;
+0x1CC7 0x0194 CLRF TRISD
+;pic_init.c,33 :: TRISE = 0b00000000;
+0x1CC8 0x0195 CLRF TRISE
+;pic_init.c,36 :: ODCA2_bit = 1;
+0x1CC9 0x017E MOVLB 62
+0x1CCA 0x153A BSF ODCA2_bit, BitPos(ODCA2_bit+0)
+;pic_init.c,37 :: ODCA3_bit = 1;
+0x1CCB 0x15BA BSF ODCA3_bit, BitPos(ODCA3_bit+0)
+;pic_init.c,38 :: ODCD1_bit = 1;
+0x1CCC 0x14DB BSF ODCD1_bit, BitPos(ODCD1_bit+0)
+;pic_init.c,39 :: ODCD2_bit = 1;
+0x1CCD 0x155B BSF ODCD2_bit, BitPos(ODCD2_bit+0)
+;pic_init.c,42 :: T0CS0_bit = 0; // Fosc/4
+0x1CCE 0x0140 MOVLB 0
+0x1CCF 0x129F BCF T0CS0_bit, BitPos(T0CS0_bit+0)
+;pic_init.c,43 :: T0CS1_bit = 1;
+0x1CD0 0x171F BSF T0CS1_bit, BitPos(T0CS1_bit+0)
+;pic_init.c,44 :: T0CS2_bit = 0;
+0x1CD1 0x139F BCF T0CS2_bit, BitPos(T0CS2_bit+0)
+;pic_init.c,45 :: T016BIT_bit = 1;
+0x1CD2 0x161E BSF T016BIT_bit, BitPos(T016BIT_bit+0)
+;pic_init.c,46 :: TMR0L = 0xC0; // 8_000 cycles to OF
+0x1CD3 0x30C0 MOVLW 192
+0x1CD4 0x009C MOVWF TMR0L
+;pic_init.c,47 :: TMR0H = 0xE0;
+0x1CD5 0x30E0 MOVLW 224
+0x1CD6 0x009D MOVWF TMR0H
+;pic_init.c,48 :: TMR0IF_bit = 0;
+0x1CD7 0x014E MOVLB 14
+0x1CD8 0x128C BCF TMR0IF_bit, BitPos(TMR0IF_bit+0)
+;pic_init.c,49 :: T0EN_bit = 1;
+0x1CD9 0x0140 MOVLB 0
+0x1CDA 0x179E BSF T0EN_bit, BitPos(T0EN_bit+0)
+;pic_init.c,50 :: TMR0IE_bit = 1;
+0x1CDB 0x014E MOVLB 14
+0x1CDC 0x1696 BSF TMR0IE_bit, BitPos(TMR0IE_bit+0)
+;pic_init.c,53 :: PMD0 = 0b00011110; //
+0x1CDD 0x301E MOVLW 30
+0x1CDE 0x014F MOVLB 15
+0x1CDF 0x0096 MOVWF PMD0
+;pic_init.c,54 :: PMD1 = 0b11111110;
+0x1CE0 0x30FE MOVLW 254
+0x1CE1 0x0097 MOVWF PMD1
+;pic_init.c,55 :: PMD2 = 0b01000111;
+0x1CE2 0x3047 MOVLW 71
+0x1CE3 0x0098 MOVWF PMD2
+;pic_init.c,56 :: PMD3 = 0b01111111;
+0x1CE4 0x307F MOVLW 127
+0x1CE5 0x0099 MOVWF PMD3
+;pic_init.c,57 :: PMD4 = 0b1110111;
+0x1CE6 0x3077 MOVLW 119
+0x1CE7 0x009A MOVWF PMD4
+;pic_init.c,58 :: PMD5 = 0b11011111;
+0x1CE8 0x30DF MOVLW 223
+0x1CE9 0x009B MOVWF PMD5
+;pic_init.c,60 :: GIE_bit = 1;
+0x1CEA 0x178B BSF GIE_bit, BitPos(GIE_bit+0)
+;pic_init.c,61 :: Delay_ms (100);
+0x1CEB 0x3005 MOVLW 5
+0x1CEC 0x00FB MOVWF R11
+0x1CED 0x300F MOVLW 15
+0x1CEE 0x00FC MOVWF R12
+0x1CEF 0x30F1 MOVLW 241
+0x1CF0 0x00FD MOVWF R13
+L_pic_init0:
+0x1CF1 0x0BFD DECFSZ R13, 1
+0x1CF2 0x2CF1 GOTO L_pic_init0
+0x1CF3 0x0BFC DECFSZ R12, 1
+0x1CF4 0x2CF1 GOTO L_pic_init0
+0x1CF5 0x0BFB DECFSZ R11, 1
+0x1CF6 0x2CF1 GOTO L_pic_init0
+;pic_init.c,62 :: return;
+;pic_init.c,63 :: }
+L_end_pic_init:
+0x1CF7 0x0008 RETURN
+; end of _pic_init
+_main:
+0x1CF8 0x31A0 MOVLP 32
+0x1CF9 0x20A4 CALL 8356
+0x1CFA 0x3198 MOVLP 24
+;main.c,74 :: void main() {
+;main.c,75 :: pic_init();
+0x1CFB 0x24AA CALL _pic_init
+;main.c,76 :: Red = 1;
+0x1CFC 0x0140 MOVLB 0
+0x1CFD 0x1617 BSF LATB4_bit, BitPos(LATB4_bit+0)
+;main.c,77 :: Key_out = 1;
+0x1CFE 0x1519 BSF LATD2_bit, BitPos(LATD2_bit+0)
+;main.c,78 :: gre = 1;
+0x1CFF 0x0143 MOVLB 3
+0x1D00 0x15A0 BSF _gre, BitPos(_gre+0)
+;main.c,79 :: oled_start();
+0x1D01 0x3188 MOVLP 8
+0x1D02 0x22D4 CALL _oled_start
+0x1D03 0x3198 MOVLP 24
+;main.c,81 :: ADC_Init();
+0x1D04 0x3190 MOVLP 16
+0x1D05 0x27A9 CALL _ADC_Init
+0x1D06 0x3198 MOVLP 24
+;main.c,82 :: Overflow = 0;
+0x1D07 0x0143 MOVLB 3
+0x1D08 0x1120 BCF _Overflow, BitPos(_Overflow+0)
+;main.c,83 :: B_short = 0;
+0x1D09 0x1320 BCF _B_short, BitPos(_B_short+0)
+;main.c,84 :: B_long = 0;
+0x1D0A 0x12A0 BCF _B_long, BitPos(_B_long+0)
+;main.c,85 :: B_xlong = 0;
+0x1D0B 0x1220 BCF _B_xlong, BitPos(_B_xlong+0)
+;main.c,86 :: E_short = 0;
+0x1D0C 0x1020 BCF _E_short, BitPos(_E_short+0)
+;main.c,87 :: E_long = 0;
+0x1D0D 0x10A0 BCF _E_long, BitPos(_E_long+0)
+;main.c,89 :: disp_cnt = Tick + Disp_time*1000;
+0x1D0E 0x0140 MOVLB 0
+0x1D0F 0x0853 MOVF _Disp_time, 0
+0x1D10 0x00F0 MOVWF R0
+0x1D11 0x0854 MOVF _Disp_time+1, 0
+0x1D12 0x00F1 MOVWF R1
+0x1D13 0x0855 MOVF _Disp_time+2, 0
+0x1D14 0x00F2 MOVWF R2
+0x1D15 0x0856 MOVF _Disp_time+3, 0
+0x1D16 0x00F3 MOVWF R3
+0x1D17 0x30E8 MOVLW 232
+0x1D18 0x00F4 MOVWF R4
+0x1D19 0x3003 MOVLW 3
+0x1D1A 0x00F5 MOVWF R5
+0x1D1B 0x01F6 CLRF R6
+0x1D1C 0x01F7 CLRF R7
+0x1D1D 0x3180 MOVLP 0
+0x1D1E 0x21BE CALL _Mul_32x32_U
+0x1D1F 0x3198 MOVLP 24
+0x1D20 0x0870 MOVF R0, 0
+0x1D21 0x0142 MOVLB 2
+0x1D22 0x074C ADDWF _Tick, 0
+0x1D23 0x0143 MOVLB 3
+0x1D24 0x00BD MOVWF _disp_cnt
+0x1D25 0x0871 MOVF R1, 0
+0x1D26 0x0142 MOVLB 2
+0x1D27 0x3D4D ADDWFC _Tick+1, 0
+0x1D28 0x0143 MOVLB 3
+0x1D29 0x00BE MOVWF _disp_cnt+1
+0x1D2A 0x0872 MOVF R2, 0
+0x1D2B 0x0142 MOVLB 2
+0x1D2C 0x3D4E ADDWFC _Tick+2, 0
+0x1D2D 0x0143 MOVLB 3
+0x1D2E 0x00BF MOVWF _disp_cnt+2
+0x1D2F 0x0873 MOVF R3, 0
+0x1D30 0x0142 MOVLB 2
+0x1D31 0x3D4F ADDWFC _Tick+3, 0
+0x1D32 0x0143 MOVLB 3
+0x1D33 0x00C0 MOVWF _disp_cnt+3
+;main.c,90 :: off_cnt = Tick + Off_time*1000;
+0x1D34 0x0140 MOVLB 0
+0x1D35 0x0857 MOVF _Off_time, 0
+0x1D36 0x00F0 MOVWF R0
+0x1D37 0x0858 MOVF _Off_time+1, 0
+0x1D38 0x00F1 MOVWF R1
+0x1D39 0x0859 MOVF _Off_time+2, 0
+0x1D3A 0x00F2 MOVWF R2
+0x1D3B 0x085A MOVF _Off_time+3, 0
+0x1D3C 0x00F3 MOVWF R3
+0x1D3D 0x30E8 MOVLW 232
+0x1D3E 0x00F4 MOVWF R4
+0x1D3F 0x3003 MOVLW 3
+0x1D40 0x00F5 MOVWF R5
+0x1D41 0x01F6 CLRF R6
+0x1D42 0x01F7 CLRF R7
+0x1D43 0x3180 MOVLP 0
+0x1D44 0x21BE CALL _Mul_32x32_U
+0x1D45 0x3198 MOVLP 24
+0x1D46 0x0870 MOVF R0, 0
+0x1D47 0x0142 MOVLB 2
+0x1D48 0x074C ADDWF _Tick, 0
+0x1D49 0x00EC MOVWF _off_cnt
+0x1D4A 0x0871 MOVF R1, 0
+0x1D4B 0x3D4D ADDWFC _Tick+1, 0
+0x1D4C 0x00ED MOVWF _off_cnt+1
+0x1D4D 0x0872 MOVF R2, 0
+0x1D4E 0x3D4E ADDWFC _Tick+2, 0
+0x1D4F 0x00EE MOVWF _off_cnt+2
+0x1D50 0x0873 MOVF R3, 0
+0x1D51 0x3D4F ADDWFC _Tick+3, 0
+0x1D52 0x00EF MOVWF _off_cnt+3
+;main.c,93 :: rldl = Rel_Del;
+0x1D53 0x0141 MOVLB 1
+0x1D54 0x0844 MOVF _Rel_Del, 0
+0x1D55 0x0143 MOVLB 3
+0x1D56 0x00A5 MOVWF _rldl
+0x1D57 0x0141 MOVLB 1
+0x1D58 0x0845 MOVF _Rel_Del+1, 0
+0x1D59 0x0143 MOVLB 3
+0x1D5A 0x00A6 MOVWF _rldl+1
+;main.c,96 :: while(1) {
+L_main16:
+;main.c,97 :: if(Tick>=volt_cnt){ // every 3 second
+0x1D5B 0x0142 MOVLB 2
+0x1D5C 0x0845 MOVF _volt_cnt+3, 0
+0x1D5D 0x024F SUBWF _Tick+3, 0
+0x1D5E 0x1D03 BTFSS STATUS, 2
+0x1D5F 0x2D6A GOTO L__main254
+0x1D60 0x0844 MOVF _volt_cnt+2, 0
+0x1D61 0x024E SUBWF _Tick+2, 0
+0x1D62 0x1D03 BTFSS STATUS, 2
+0x1D63 0x2D6A GOTO L__main254
+0x1D64 0x0843 MOVF _volt_cnt+1, 0
+0x1D65 0x024D SUBWF _Tick+1, 0
+0x1D66 0x1D03 BTFSS STATUS, 2
+0x1D67 0x2D6A GOTO L__main254
+0x1D68 0x0842 MOVF _volt_cnt, 0
+0x1D69 0x024C SUBWF _Tick, 0
+L__main254:
+0x1D6A 0x1C03 BTFSS STATUS, 0
+0x1D6B 0x2D74 GOTO L_main18
+;main.c,98 :: volt_cnt += 3000;
+0x1D6C 0x30B8 MOVLW 184
+0x1D6D 0x07C2 ADDWF _volt_cnt, 1
+0x1D6E 0x300B MOVLW 11
+0x1D6F 0x3DC3 ADDWFC _volt_cnt+1, 1
+0x1D70 0x3000 MOVLW 0
+0x1D71 0x3DC4 ADDWFC _volt_cnt+2, 1
+0x1D72 0x3DC5 ADDWFC _volt_cnt+3, 1
+;main.c,99 :: Voltage_show();
+0x1D73 0x2413 CALL _Voltage_show
+;main.c,100 :: }
+L_main18:
+;main.c,102 :: if(Tick>=watch_cnt){ // every 300 ms unless power off
+0x1D74 0x0142 MOVLB 2
+0x1D75 0x0853 MOVF _watch_cnt+3, 0
+0x1D76 0x024F SUBWF _Tick+3, 0
+0x1D77 0x1D03 BTFSS STATUS, 2
+0x1D78 0x2D83 GOTO L__main255
+0x1D79 0x0852 MOVF _watch_cnt+2, 0
+0x1D7A 0x024E SUBWF _Tick+2, 0
+0x1D7B 0x1D03 BTFSS STATUS, 2
+0x1D7C 0x2D83 GOTO L__main255
+0x1D7D 0x0851 MOVF _watch_cnt+1, 0
+0x1D7E 0x024D SUBWF _Tick+1, 0
+0x1D7F 0x1D03 BTFSS STATUS, 2
+0x1D80 0x2D83 GOTO L__main255
+0x1D81 0x0850 MOVF _watch_cnt, 0
+0x1D82 0x024C SUBWF _Tick, 0
+L__main255:
+0x1D83 0x1C03 BTFSS STATUS, 0
+0x1D84 0x2D8D GOTO L_main19
+;main.c,103 :: watch_cnt += 300;
+0x1D85 0x302C MOVLW 44
+0x1D86 0x07D0 ADDWF _watch_cnt, 1
+0x1D87 0x3001 MOVLW 1
+0x1D88 0x3DD1 ADDWFC _watch_cnt+1, 1
+0x1D89 0x3000 MOVLW 0
+0x1D8A 0x3DD2 ADDWFC _watch_cnt+2, 1
+0x1D8B 0x3DD3 ADDWFC _watch_cnt+3, 1
+;main.c,104 :: watch_swr();
+0x1D8C 0x21EC CALL _watch_swr
+;main.c,105 :: }
+L_main19:
+;main.c,107 :: if(Tick>=disp_cnt){ // Display off
+0x1D8D 0x0143 MOVLB 3
+0x1D8E 0x0840 MOVF _disp_cnt+3, 0
+0x1D8F 0x0142 MOVLB 2
+0x1D90 0x024F SUBWF _Tick+3, 0
+0x1D91 0x1D03 BTFSS STATUS, 2
+0x1D92 0x2DA3 GOTO L__main256
+0x1D93 0x0143 MOVLB 3
+0x1D94 0x083F MOVF _disp_cnt+2, 0
+0x1D95 0x0142 MOVLB 2
+0x1D96 0x024E SUBWF _Tick+2, 0
+0x1D97 0x1D03 BTFSS STATUS, 2
+0x1D98 0x2DA3 GOTO L__main256
+0x1D99 0x0143 MOVLB 3
+0x1D9A 0x083E MOVF _disp_cnt+1, 0
+0x1D9B 0x0142 MOVLB 2
+0x1D9C 0x024D SUBWF _Tick+1, 0
+0x1D9D 0x1D03 BTFSS STATUS, 2
+0x1D9E 0x2DA3 GOTO L__main256
+0x1D9F 0x0143 MOVLB 3
+0x1DA0 0x083D MOVF _disp_cnt, 0
+0x1DA1 0x0142 MOVLB 2
+0x1DA2 0x024C SUBWF _Tick, 0
+L__main256:
+0x1DA3 0x1C03 BTFSS STATUS, 0
+0x1DA4 0x2DA7 GOTO L_main20
+;main.c,109 :: OLED_PWD = 0;
+0x1DA5 0x0140 MOVLB 0
+0x1DA6 0x1216 BCF LATA4_bit, BitPos(LATA4_bit+0)
+;main.c,110 :: }
+L_main20:
+;main.c,112 :: if(Tick>=off_cnt){ // Go to power off
+0x1DA7 0x0142 MOVLB 2
+0x1DA8 0x086F MOVF _off_cnt+3, 0
+0x1DA9 0x024F SUBWF _Tick+3, 0
+0x1DAA 0x1D03 BTFSS STATUS, 2
+0x1DAB 0x2DB6 GOTO L__main257
+0x1DAC 0x086E MOVF _off_cnt+2, 0
+0x1DAD 0x024E SUBWF _Tick+2, 0
+0x1DAE 0x1D03 BTFSS STATUS, 2
+0x1DAF 0x2DB6 GOTO L__main257
+0x1DB0 0x086D MOVF _off_cnt+1, 0
+0x1DB1 0x024D SUBWF _Tick+1, 0
+0x1DB2 0x1D03 BTFSS STATUS, 2
+0x1DB3 0x2DB6 GOTO L__main257
+0x1DB4 0x086C MOVF _off_cnt, 0
+0x1DB5 0x024C SUBWF _Tick, 0
+L__main257:
+0x1DB6 0x1C03 BTFSS STATUS, 0
+0x1DB7 0x2DB9 GOTO L_main21
+;main.c,113 :: power_off();
+0x1DB8 0x2182 CALL _power_off
+;main.c,114 :: }
+L_main21:
+0x1DB9 0x0143 MOVLB 3
+;main.c,116 :: if(B_short){
+0x1DBA 0x1F20 BTFSS _B_short, BitPos(_B_short+0)
+0x1DBB 0x2DC6 GOTO L_main22
+;main.c,117 :: if(OLED_PWD) Btn_short();
+0x1DBC 0x0140 MOVLB 0
+0x1DBD 0x1E16 BTFSS LATA4_bit, BitPos(LATA4_bit+0)
+0x1DBE 0x2DC3 GOTO L_main23
+0x1DBF 0x3190 MOVLP 16
+0x1DC0 0x2000 CALL _Btn_short
+0x1DC1 0x3198 MOVLP 24
+0x1DC2 0x2DC6 GOTO L_main24
+L_main23:
+;main.c,118 :: else oled_start();
+0x1DC3 0x3188 MOVLP 8
+0x1DC4 0x22D4 CALL _oled_start
+0x1DC5 0x3198 MOVLP 24
+L_main24:
+;main.c,119 :: }
+L_main22:
+;main.c,120 :: if(B_long){
+0x1DC6 0x0143 MOVLB 3
+0x1DC7 0x1EA0 BTFSS _B_long, BitPos(_B_long+0)
+0x1DC8 0x2DD3 GOTO L_main25
+;main.c,121 :: if(OLED_PWD) Btn_long();
+0x1DC9 0x0140 MOVLB 0
+0x1DCA 0x1E16 BTFSS LATA4_bit, BitPos(LATA4_bit+0)
+0x1DCB 0x2DD0 GOTO L_main26
+0x1DCC 0x3190 MOVLP 16
+0x1DCD 0x274B CALL _Btn_long
+0x1DCE 0x3198 MOVLP 24
+0x1DCF 0x2DD3 GOTO L_main27
+L_main26:
+;main.c,122 :: else oled_start();
+0x1DD0 0x3188 MOVLP 8
+0x1DD1 0x22D4 CALL _oled_start
+0x1DD2 0x3198 MOVLP 24
+L_main27:
+;main.c,123 :: }
+L_main25:
+;main.c,124 :: if(B_xlong){
+0x1DD3 0x0143 MOVLB 3
+0x1DD4 0x1E20 BTFSS _B_xlong, BitPos(_B_xlong+0)
+0x1DD5 0x2DE0 GOTO L_main28
+;main.c,125 :: if(OLED_PWD) Btn_xlong();
+0x1DD6 0x0140 MOVLB 0
+0x1DD7 0x1E16 BTFSS LATA4_bit, BitPos(LATA4_bit+0)
+0x1DD8 0x2DDD GOTO L_main29
+0x1DD9 0x3188 MOVLP 8
+0x1DDA 0x27B8 CALL _Btn_xlong
+0x1DDB 0x3198 MOVLP 24
+0x1DDC 0x2DE0 GOTO L_main30
+L_main29:
+;main.c,126 :: else oled_start();
+0x1DDD 0x3188 MOVLP 8
+0x1DDE 0x22D4 CALL _oled_start
+0x1DDF 0x3198 MOVLP 24
+L_main30:
+;main.c,127 :: }
+L_main28:
+;main.c,129 :: if(E_short){
+0x1DE0 0x0143 MOVLB 3
+0x1DE1 0x1C20 BTFSS _E_short, BitPos(_E_short+0)
+0x1DE2 0x2DEC GOTO L_main31
+;main.c,130 :: if(OLED_PWD==0) oled_start();
+0x1DE3 0x0140 MOVLB 0
+0x1DE4 0x1A16 BTFSC LATA4_bit, BitPos(LATA4_bit+0)
+0x1DE5 0x2DE9 GOTO L_main32
+0x1DE6 0x3188 MOVLP 8
+0x1DE7 0x22D4 CALL _oled_start
+0x1DE8 0x3198 MOVLP 24
+L_main32:
+;main.c,131 :: Btn_short();
+0x1DE9 0x3190 MOVLP 16
+0x1DEA 0x2000 CALL _Btn_short
+0x1DEB 0x3198 MOVLP 24
+;main.c,132 :: }
+L_main31:
+;main.c,133 :: if(E_long){
+0x1DEC 0x0143 MOVLB 3
+0x1DED 0x1CA0 BTFSS _E_long, BitPos(_E_long+0)
+0x1DEE 0x2DFC GOTO L_main33
+;main.c,134 :: if(OLED_PWD==0) { Ext_long(); oled_start(); }
+0x1DEF 0x0140 MOVLB 0
+0x1DF0 0x1A16 BTFSC LATA4_bit, BitPos(LATA4_bit+0)
+0x1DF1 0x2DF9 GOTO L_main34
+0x1DF2 0x3188 MOVLP 8
+0x1DF3 0x27E0 CALL _Ext_long
+0x1DF4 0x3198 MOVLP 24
+0x1DF5 0x3188 MOVLP 8
+0x1DF6 0x22D4 CALL _oled_start
+0x1DF7 0x3198 MOVLP 24
+0x1DF8 0x2DFC GOTO L_main35
+L_main34:
+;main.c,135 :: else Btn_long();
+0x1DF9 0x3190 MOVLP 16
+0x1DFA 0x274B CALL _Btn_long
+0x1DFB 0x3198 MOVLP 24
+L_main35:
+;main.c,136 :: }
+L_main33:
+;main.c,138 :: } // while(1)
+0x1DFC 0x2D5B GOTO L_main16
+;main.c,139 :: } // main
+L_end_main:
+0x1DFD 0x2DFD GOTO $+0
+; end of _main
+0x20A4 0x30BD MOVLW 189
+0x20A5 0x0084 MOVWF FSR0
+0x20A6 0x3097 MOVLW 151
+0x20A7 0x0085 MOVWF FSR0H
+0x20A8 0x3040 MOVLW 64
+0x20A9 0x00F0 MOVWF R0
+0x20AA 0x3001 MOVLW 1
+0x20AB 0x00F1 MOVWF R1
+0x20AC 0x302F MOVLW 47
+0x20AD 0x0086 MOVWF FSR1
+0x20AE 0x3000 MOVLW 0
+0x20AF 0x0087 MOVWF FSR1H
+0x20B0 0x3180 MOVLP 0
+0x20B1 0x27F0 CALL 2032
+0x20B2 0x31A0 MOVLP 32
+0x20B3 0x3059 MOVLW 89
+0x20B4 0x0084 MOVWF FSR0
+0x20B5 0x30A0 MOVLW 160
+0x20B6 0x0085 MOVWF FSR0H
+0x20B7 0x3026 MOVLW 38
+0x20B8 0x00F0 MOVWF R0
+0x20B9 0x3001 MOVLW 1
+0x20BA 0x00F1 MOVWF R1
+0x20BB 0x30A0 MOVLW 160
+0x20BC 0x0086 MOVWF FSR1
+0x20BD 0x3000 MOVLW 0
+0x20BE 0x0087 MOVWF FSR1H
+0x20BF 0x3180 MOVLP 0
+0x20C0 0x27F0 CALL 2032
+0x20C1 0x31A0 MOVLP 32
+0x20C2 0x3003 MOVLW 3
+0x20C3 0x0084 MOVWF FSR0
+0x20C4 0x3080 MOVLW 128
+0x20C5 0x0085 MOVWF FSR0H
+0x20C6 0x3001 MOVLW 1
+0x20C7 0x00F0 MOVWF R0
+0x20C8 0x3001 MOVLW 1
+0x20C9 0x00F1 MOVWF R1
+0x20CA 0x306F MOVLW 111
+0x20CB 0x0086 MOVWF FSR1
+0x20CC 0x3000 MOVLW 0
+0x20CD 0x0087 MOVWF FSR1H
+0x20CE 0x3180 MOVLP 0
+0x20CF 0x27F0 CALL 2032
+0x20D0 0x31A0 MOVLP 32
+0x20D1 0x307F MOVLW 127
+0x20D2 0x0084 MOVWF FSR0
+0x20D3 0x30A0 MOVLW 160
+0x20D4 0x0085 MOVWF FSR0H
+0x20D5 0x3024 MOVLW 36
+0x20D6 0x00F0 MOVWF R0
+0x20D7 0x3001 MOVLW 1
+0x20D8 0x00F1 MOVWF R1
+0x20D9 0x30C6 MOVLW 198
+0x20DA 0x0086 MOVWF FSR1
+0x20DB 0x3000 MOVLW 0
+0x20DC 0x0087 MOVWF FSR1H
+0x20DD 0x3180 MOVLP 0
+0x20DE 0x27F0 CALL 2032
+0x20DF 0x31A0 MOVLP 32
+0x20E0 0x30DF MOVLW 223
+0x20E1 0x0084 MOVWF FSR0
+0x20E2 0x309F MOVLW 159
+0x20E3 0x0085 MOVWF FSR0H
+0x20E4 0x300A MOVLW 10
+0x20E5 0x00F0 MOVWF R0
+0x20E6 0x3001 MOVLW 1
+0x20E7 0x00F1 MOVWF R1
+0x20E8 0x3020 MOVLW 32
+0x20E9 0x0086 MOVWF FSR1
+0x20EA 0x3001 MOVLW 1
+0x20EB 0x0087 MOVWF FSR1H
+0x20EC 0x3180 MOVLP 0
+0x20ED 0x27F0 CALL 2032
+0x20EE 0x31A0 MOVLP 32
+0x20EF 0x30FD MOVLW 253
+0x20F0 0x0084 MOVWF FSR0
+0x20F1 0x3097 MOVLW 151
+0x20F2 0x0085 MOVWF FSR0H
+0x20F3 0x3002 MOVLW 2
+0x20F4 0x00F0 MOVWF R0
+0x20F5 0x3001 MOVLW 1
+0x20F6 0x00F1 MOVWF R1
+0x20F7 0x30EA MOVLW 234
+0x20F8 0x0086 MOVWF FSR1
+0x20F9 0x3000 MOVLW 0
+0x20FA 0x0087 MOVWF FSR1H
+0x20FB 0x3180 MOVLP 0
+0x20FC 0x27F0 CALL 2032
+0x20FD 0x31A0 MOVLP 32
+0x20FE 0x30F9 MOVLW 249
+0x20FF 0x0084 MOVWF FSR0
+0x2100 0x3087 MOVLW 135
+0x2101 0x0085 MOVWF FSR0H
+0x2102 0x3005 MOVLW 5
+0x2103 0x00F0 MOVWF R0
+0x2104 0x3001 MOVLW 1
+0x2105 0x00F1 MOVWF R1
+0x2106 0x302A MOVLW 42
+0x2107 0x0086 MOVWF FSR1
+0x2108 0x3001 MOVLW 1
+0x2109 0x0087 MOVWF FSR1H
+0x210A 0x3180 MOVLP 0
+0x210B 0x27F0 CALL 2032
+0x210C 0x31A0 MOVLP 32
+0x210D 0x30FF MOVLW 255
+0x210E 0x0084 MOVWF FSR0
+0x210F 0x3097 MOVLW 151
+0x2110 0x0085 MOVWF FSR0H
+0x2111 0x3001 MOVLW 1
+0x2112 0x00F0 MOVWF R0
+0x2113 0x3001 MOVLW 1
+0x2114 0x00F1 MOVWF R1
+0x2115 0x30EC MOVLW 236
+0x2116 0x0086 MOVWF FSR1
+0x2117 0x3000 MOVLW 0
+0x2118 0x0087 MOVWF FSR1H
+0x2119 0x3180 MOVLP 0
+0x211A 0x27F0 CALL 2032
+0x211B 0x31A0 MOVLP 32
+0x211C 0x30F3 MOVLW 243
+0x211D 0x0084 MOVWF FSR0
+0x211E 0x308F MOVLW 143
+0x211F 0x0085 MOVWF FSR0H
+0x2120 0x300C MOVLW 12
+0x2121 0x00F0 MOVWF R0
+0x2122 0x3001 MOVLW 1
+0x2123 0x00F1 MOVWF R1
+0x2124 0x302F MOVLW 47
+0x2125 0x0086 MOVWF FSR1
+0x2126 0x3001 MOVLW 1
+0x2127 0x0087 MOVWF FSR1H
+0x2128 0x3180 MOVLP 0
+0x2129 0x27F0 CALL 2032
+0x212A 0x31A0 MOVLP 32
+0x212B 0x30FF MOVLW 255
+0x212C 0x0084 MOVWF FSR0
+0x212D 0x308F MOVLW 143
+0x212E 0x0085 MOVWF FSR0H
+0x212F 0x3001 MOVLW 1
+0x2130 0x00F0 MOVWF R0
+0x2131 0x3001 MOVLW 1
+0x2132 0x00F1 MOVWF R1
+0x2133 0x30ED MOVLW 237
+0x2134 0x0086 MOVWF FSR1
+0x2135 0x3000 MOVLW 0
+0x2136 0x0087 MOVWF FSR1H
+0x2137 0x3180 MOVLP 0
+0x2138 0x27F0 CALL 2032
+0x2139 0x31A0 MOVLP 32
+0x213A 0x30E9 MOVLW 233
+0x213B 0x0084 MOVWF FSR0
+0x213C 0x309F MOVLW 159
+0x213D 0x0085 MOVWF FSR0H
+0x213E 0x3004 MOVLW 4
+0x213F 0x00F0 MOVWF R0
+0x2140 0x3001 MOVLW 1
+0x2141 0x00F1 MOVWF R1
+0x2142 0x303B MOVLW 59
+0x2143 0x0086 MOVWF FSR1
+0x2144 0x3001 MOVLW 1
+0x2145 0x0087 MOVWF FSR1H
+0x2146 0x3180 MOVLP 0
+0x2147 0x27F0 CALL 2032
+0x2148 0x31A0 MOVLP 32
+0x2149 0x30FE MOVLW 254
+0x214A 0x0084 MOVWF FSR0
+0x214B 0x3087 MOVLW 135
+0x214C 0x0085 MOVWF FSR0H
+0x214D 0x3002 MOVLW 2
+0x214E 0x00F0 MOVWF R0
+0x214F 0x3001 MOVLW 1
+0x2150 0x00F1 MOVWF R1
+0x2151 0x30EE MOVLW 238
+0x2152 0x0086 MOVWF FSR1
+0x2153 0x3000 MOVLW 0
+0x2154 0x0087 MOVWF FSR1H
+0x2155 0x3180 MOVLP 0
+0x2156 0x27F0 CALL 2032
+0x2157 0x31A0 MOVLP 32
+0x2158 0x3000 MOVLW 0
+0x2159 0x0084 MOVWF FSR0
+0x215A 0x30A0 MOVLW 160
+0x215B 0x0085 MOVWF FSR0H
+0x215C 0x302D MOVLW 45
+0x215D 0x00F0 MOVWF R0
+0x215E 0x3001 MOVLW 1
+0x215F 0x00F1 MOVWF R1
+0x2160 0x303F MOVLW 63
+0x2161 0x0086 MOVWF FSR1
+0x2162 0x3001 MOVLW 1
+0x2163 0x0087 MOVWF FSR1H
+0x2164 0x3180 MOVLP 0
+0x2165 0x27F0 CALL 2032
+0x2166 0x31A0 MOVLP 32
+0x2167 0x0008 RETURN
+;oled_control.c,0 :: ?ICSoled_control_oled_shift
+0x0003 0x3402 ;?ICSoled_control_oled_shift+0
+; end of ?ICSoled_control_oled_shift
+;main.c,0 :: ?ICS?lstr11_main
+0x07F9 0x3430 ;?ICS?lstr11_main+0
+0x07FA 0x342E ;?ICS?lstr11_main+1
+0x07FB 0x3430 ;?ICS?lstr11_main+2
+0x07FC 0x3430 ;?ICS?lstr11_main+3
+0x07FD 0x3400 ;?ICS?lstr11_main+4
+; end of ?ICS?lstr11_main
+;main.c,0 :: ?ICS_SW
+0x07FE 0x3400 ;?ICS_SW+0
+; end of ?ICS_SW
+;main.c,0 :: ?ICS_cap
+0x07FF 0x3400 ;?ICS_cap+0
+; end of ?ICS_cap
+;main.c,0 :: ?ICS?lstr14_main
+0x0FF3 0x3420 ;?ICS?lstr14_main+0
+0x0FF4 0x3450 ;?ICS?lstr14_main+1
+0x0FF5 0x344F ;?ICS?lstr14_main+2
+0x0FF6 0x3457 ;?ICS?lstr14_main+3
+0x0FF7 0x3445 ;?ICS?lstr14_main+4
+0x0FF8 0x3452 ;?ICS?lstr14_main+5
+0x0FF9 0x3420 ;?ICS?lstr14_main+6
+0x0FFA 0x344F ;?ICS?lstr14_main+7
+0x0FFB 0x3446 ;?ICS?lstr14_main+8
+0x0FFC 0x3446 ;?ICS?lstr14_main+9
+0x0FFD 0x3420 ;?ICS?lstr14_main+10
+0x0FFE 0x3400 ;?ICS?lstr14_main+11
+; end of ?ICS?lstr14_main
+;main.c,0 :: ?ICS_step_cap
+0x0FFF 0x3400 ;?ICS_step_cap+0
+; end of ?ICS_step_cap
+;main.c,0 :: ?ICS?lstr12_main
+0x17BD 0x3430 ;?ICS?lstr12_main+0
+0x17BE 0x342E ;?ICS?lstr12_main+1
+0x17BF 0x3430 ;?ICS?lstr12_main+2
+0x17C0 0x3400 ;?ICS?lstr12_main+3
+; end of ?ICS?lstr12_main
+;main.c,0 :: ?ICS?lstr22_main
+0x17C1 0x3420 ;?ICS?lstr22_main+0
+0x17C2 0x3444 ;?ICS?lstr22_main+1
+0x17C3 0x3445 ;?ICS?lstr22_main+2
+0x17C4 0x3453 ;?ICS?lstr22_main+3
+0x17C5 0x3449 ;?ICS?lstr22_main+4
+0x17C6 0x3447 ;?ICS?lstr22_main+5
+0x17C7 0x344E ;?ICS?lstr22_main+6
+0x17C8 0x3445 ;?ICS?lstr22_main+7
+0x17C9 0x3444 ;?ICS?lstr22_main+8
+0x17CA 0x3420 ;?ICS?lstr22_main+9
+0x17CB 0x3442 ;?ICS?lstr22_main+10
+0x17CC 0x3459 ;?ICS?lstr22_main+11
+0x17CD 0x3420 ;?ICS?lstr22_main+12
+0x17CE 0x344E ;?ICS?lstr22_main+13
+0x17CF 0x3437 ;?ICS?lstr22_main+14
+0x17D0 0x3444 ;?ICS?lstr22_main+15
+0x17D1 0x3444 ;?ICS?lstr22_main+16
+0x17D2 0x3443 ;?ICS?lstr22_main+17
+0x17D3 0x3400 ;?ICS?lstr22_main+18
+; end of ?ICS?lstr22_main
+;main.c,0 :: ?ICS?lstr23_main
+0x17D4 0x3420 ;?ICS?lstr23_main+0
+0x17D5 0x3446 ;?ICS?lstr23_main+1
+0x17D6 0x3457 ;?ICS?lstr23_main+2
+0x17D7 0x3420 ;?ICS?lstr23_main+3
+0x17D8 0x3456 ;?ICS?lstr23_main+4
+0x17D9 0x3445 ;?ICS?lstr23_main+5
+0x17DA 0x3452 ;?ICS?lstr23_main+6
+0x17DB 0x3453 ;?ICS?lstr23_main+7
+0x17DC 0x3449 ;?ICS?lstr23_main+8
+0x17DD 0x344F ;?ICS?lstr23_main+9
+0x17DE 0x344E ;?ICS?lstr23_main+10
+0x17DF 0x3420 ;?ICS?lstr23_main+11
+0x17E0 0x3400 ;?ICS?lstr23_main+12
+; end of ?ICS?lstr23_main
+;main.c,0 :: ?ICS_Disp_time
+0x17E1 0x342C ;?ICS_Disp_time+0
+0x17E2 0x3401 ;?ICS_Disp_time+1
+0x17E3 0x3400 ;?ICS_Disp_time+2
+0x17E4 0x3400 ;?ICS_Disp_time+3
+; end of ?ICS_Disp_time
+;main.c,0 :: ?ICS_Off_time
+0x17E5 0x3408 ;?ICS_Off_time+0
+0x17E6 0x3407 ;?ICS_Off_time+1
+0x17E7 0x3400 ;?ICS_Off_time+2
+0x17E8 0x3400 ;?ICS_Off_time+3
+; end of ?ICS_Off_time
+;main.c,0 :: ?ICS?lstr24_main
+0x17E9 0x3431 ;?ICS?lstr24_main+0
+0x17EA 0x342E ;?ICS?lstr24_main+1
+0x17EB 0x3433 ;?ICS?lstr24_main+2
+0x17EC 0x3400 ;?ICS?lstr24_main+3
+; end of ?ICS?lstr24_main
+;main.c,0 :: ?ICS?lstr21_main
+0x17ED 0x3430 ;?ICS?lstr21_main+0
+0x17EE 0x342E ;?ICS?lstr21_main+1
+0x17EF 0x3430 ;?ICS?lstr21_main+2
+0x17F0 0x3430 ;?ICS?lstr21_main+3
+0x17F1 0x3400 ;?ICS?lstr21_main+4
+; end of ?ICS?lstr21_main
+;main.c,0 :: ?ICS_btn_1_cnt
+0x17F2 0x3400 ;?ICS_btn_1_cnt+0
+; end of ?ICS_btn_1_cnt
+;main.c,0 :: ?ICS?lstr18_main
+0x17F3 0x3452 ;?ICS?lstr18_main+0
+0x17F4 0x3445 ;?ICS?lstr18_main+1
+0x17F5 0x3453 ;?ICS?lstr18_main+2
+0x17F6 0x3445 ;?ICS?lstr18_main+3
+0x17F7 0x3454 ;?ICS?lstr18_main+4
+0x17F8 0x3420 ;?ICS?lstr18_main+5
+0x17F9 0x3420 ;?ICS?lstr18_main+6
+0x17FA 0x3420 ;?ICS?lstr18_main+7
+0x17FB 0x3420 ;?ICS?lstr18_main+8
+0x17FC 0x3400 ;?ICS?lstr18_main+9
+; end of ?ICS?lstr18_main
+;main.c,0 :: ?ICS_Auto_delta
+0x17FD 0x3482 ;?ICS_Auto_delta+0
+0x17FE 0x3400 ;?ICS_Auto_delta+1
+; end of ?ICS_Auto_delta
+;main.c,0 :: ?ICS_step_ind
+0x17FF 0x3400 ;?ICS_step_ind+0
+; end of ?ICS_step_ind
+;oled_control.c,1 :: oled_control_font_5x8
+0x1DFF 0x3400 ;oled_control_font_5x8+0
+0x1E00 0x3400 ;oled_control_font_5x8+1
+0x1E01 0x3400 ;oled_control_font_5x8+2
+0x1E02 0x3400 ;oled_control_font_5x8+3
+0x1E03 0x3400 ;oled_control_font_5x8+4
+0x1E04 0x3400 ;oled_control_font_5x8+5
+0x1E05 0x3400 ;oled_control_font_5x8+6
+0x1E06 0x345F ;oled_control_font_5x8+7
+0x1E07 0x3400 ;oled_control_font_5x8+8
+0x1E08 0x3400 ;oled_control_font_5x8+9
+0x1E09 0x3400 ;oled_control_font_5x8+10
+0x1E0A 0x3407 ;oled_control_font_5x8+11
+0x1E0B 0x3400 ;oled_control_font_5x8+12
+0x1E0C 0x3407 ;oled_control_font_5x8+13
+0x1E0D 0x3400 ;oled_control_font_5x8+14
+0x1E0E 0x3414 ;oled_control_font_5x8+15
+0x1E0F 0x347F ;oled_control_font_5x8+16
+0x1E10 0x3414 ;oled_control_font_5x8+17
+0x1E11 0x347F ;oled_control_font_5x8+18
+0x1E12 0x3414 ;oled_control_font_5x8+19
+0x1E13 0x3424 ;oled_control_font_5x8+20
+0x1E14 0x342A ;oled_control_font_5x8+21
+0x1E15 0x347F ;oled_control_font_5x8+22
+0x1E16 0x342A ;oled_control_font_5x8+23
+0x1E17 0x3412 ;oled_control_font_5x8+24
+0x1E18 0x3423 ;oled_control_font_5x8+25
+0x1E19 0x3413 ;oled_control_font_5x8+26
+0x1E1A 0x3408 ;oled_control_font_5x8+27
+0x1E1B 0x3464 ;oled_control_font_5x8+28
+0x1E1C 0x3462 ;oled_control_font_5x8+29
+0x1E1D 0x3436 ;oled_control_font_5x8+30
+0x1E1E 0x3449 ;oled_control_font_5x8+31
+0x1E1F 0x3455 ;oled_control_font_5x8+32
+0x1E20 0x3422 ;oled_control_font_5x8+33
+0x1E21 0x3450 ;oled_control_font_5x8+34
+0x1E22 0x3400 ;oled_control_font_5x8+35
+0x1E23 0x3405 ;oled_control_font_5x8+36
+0x1E24 0x3403 ;oled_control_font_5x8+37
+0x1E25 0x3400 ;oled_control_font_5x8+38
+0x1E26 0x3400 ;oled_control_font_5x8+39
+0x1E27 0x3400 ;oled_control_font_5x8+40
+0x1E28 0x341C ;oled_control_font_5x8+41
+0x1E29 0x3422 ;oled_control_font_5x8+42
+0x1E2A 0x3441 ;oled_control_font_5x8+43
+0x1E2B 0x3400 ;oled_control_font_5x8+44
+0x1E2C 0x3400 ;oled_control_font_5x8+45
+0x1E2D 0x3441 ;oled_control_font_5x8+46
+0x1E2E 0x3422 ;oled_control_font_5x8+47
+0x1E2F 0x341C ;oled_control_font_5x8+48
+0x1E30 0x3400 ;oled_control_font_5x8+49
+0x1E31 0x3408 ;oled_control_font_5x8+50
+0x1E32 0x342A ;oled_control_font_5x8+51
+0x1E33 0x341C ;oled_control_font_5x8+52
+0x1E34 0x342A ;oled_control_font_5x8+53
+0x1E35 0x3408 ;oled_control_font_5x8+54
+0x1E36 0x3408 ;oled_control_font_5x8+55
+0x1E37 0x3408 ;oled_control_font_5x8+56
+0x1E38 0x343E ;oled_control_font_5x8+57
+0x1E39 0x3408 ;oled_control_font_5x8+58
+0x1E3A 0x3408 ;oled_control_font_5x8+59
+0x1E3B 0x3400 ;oled_control_font_5x8+60
+0x1E3C 0x3450 ;oled_control_font_5x8+61
+0x1E3D 0x3430 ;oled_control_font_5x8+62
+0x1E3E 0x3400 ;oled_control_font_5x8+63
+0x1E3F 0x3400 ;oled_control_font_5x8+64
+0x1E40 0x3408 ;oled_control_font_5x8+65
+0x1E41 0x3408 ;oled_control_font_5x8+66
+0x1E42 0x3408 ;oled_control_font_5x8+67
+0x1E43 0x3408 ;oled_control_font_5x8+68
+0x1E44 0x3408 ;oled_control_font_5x8+69
+0x1E45 0x3400 ;oled_control_font_5x8+70
+0x1E46 0x3430 ;oled_control_font_5x8+71
+0x1E47 0x3430 ;oled_control_font_5x8+72
+0x1E48 0x3400 ;oled_control_font_5x8+73
+0x1E49 0x3400 ;oled_control_font_5x8+74
+0x1E4A 0x3420 ;oled_control_font_5x8+75
+0x1E4B 0x3410 ;oled_control_font_5x8+76
+0x1E4C 0x3408 ;oled_control_font_5x8+77
+0x1E4D 0x3404 ;oled_control_font_5x8+78
+0x1E4E 0x3402 ;oled_control_font_5x8+79
+0x1E4F 0x343E ;oled_control_font_5x8+80
+0x1E50 0x3451 ;oled_control_font_5x8+81
+0x1E51 0x3449 ;oled_control_font_5x8+82
+0x1E52 0x3445 ;oled_control_font_5x8+83
+0x1E53 0x343E ;oled_control_font_5x8+84
+0x1E54 0x3400 ;oled_control_font_5x8+85
+0x1E55 0x3442 ;oled_control_font_5x8+86
+0x1E56 0x347F ;oled_control_font_5x8+87
+0x1E57 0x3440 ;oled_control_font_5x8+88
+0x1E58 0x3400 ;oled_control_font_5x8+89
+0x1E59 0x3442 ;oled_control_font_5x8+90
+0x1E5A 0x3461 ;oled_control_font_5x8+91
+0x1E5B 0x3451 ;oled_control_font_5x8+92
+0x1E5C 0x3449 ;oled_control_font_5x8+93
+0x1E5D 0x3446 ;oled_control_font_5x8+94
+0x1E5E 0x3421 ;oled_control_font_5x8+95
+0x1E5F 0x3441 ;oled_control_font_5x8+96
+0x1E60 0x3445 ;oled_control_font_5x8+97
+0x1E61 0x344B ;oled_control_font_5x8+98
+0x1E62 0x3431 ;oled_control_font_5x8+99
+0x1E63 0x3418 ;oled_control_font_5x8+100
+0x1E64 0x3414 ;oled_control_font_5x8+101
+0x1E65 0x3412 ;oled_control_font_5x8+102
+0x1E66 0x347F ;oled_control_font_5x8+103
+0x1E67 0x3410 ;oled_control_font_5x8+104
+0x1E68 0x3427 ;oled_control_font_5x8+105
+0x1E69 0x3445 ;oled_control_font_5x8+106
+0x1E6A 0x3445 ;oled_control_font_5x8+107
+0x1E6B 0x3445 ;oled_control_font_5x8+108
+0x1E6C 0x3439 ;oled_control_font_5x8+109
+0x1E6D 0x343C ;oled_control_font_5x8+110
+0x1E6E 0x344A ;oled_control_font_5x8+111
+0x1E6F 0x3449 ;oled_control_font_5x8+112
+0x1E70 0x3449 ;oled_control_font_5x8+113
+0x1E71 0x3430 ;oled_control_font_5x8+114
+0x1E72 0x3401 ;oled_control_font_5x8+115
+0x1E73 0x3471 ;oled_control_font_5x8+116
+0x1E74 0x3409 ;oled_control_font_5x8+117
+0x1E75 0x3405 ;oled_control_font_5x8+118
+0x1E76 0x3403 ;oled_control_font_5x8+119
+0x1E77 0x3436 ;oled_control_font_5x8+120
+0x1E78 0x3449 ;oled_control_font_5x8+121
+0x1E79 0x3449 ;oled_control_font_5x8+122
+0x1E7A 0x3449 ;oled_control_font_5x8+123
+0x1E7B 0x3436 ;oled_control_font_5x8+124
+0x1E7C 0x3406 ;oled_control_font_5x8+125
+0x1E7D 0x3449 ;oled_control_font_5x8+126
+0x1E7E 0x3449 ;oled_control_font_5x8+127
+0x1E7F 0x3429 ;oled_control_font_5x8+128
+0x1E80 0x341E ;oled_control_font_5x8+129
+0x1E81 0x3400 ;oled_control_font_5x8+130
+0x1E82 0x3436 ;oled_control_font_5x8+131
+0x1E83 0x3436 ;oled_control_font_5x8+132
+0x1E84 0x3400 ;oled_control_font_5x8+133
+0x1E85 0x3400 ;oled_control_font_5x8+134
+0x1E86 0x3400 ;oled_control_font_5x8+135
+0x1E87 0x3456 ;oled_control_font_5x8+136
+0x1E88 0x3436 ;oled_control_font_5x8+137
+0x1E89 0x3400 ;oled_control_font_5x8+138
+0x1E8A 0x3400 ;oled_control_font_5x8+139
+0x1E8B 0x3400 ;oled_control_font_5x8+140
+0x1E8C 0x3408 ;oled_control_font_5x8+141
+0x1E8D 0x3414 ;oled_control_font_5x8+142
+0x1E8E 0x3422 ;oled_control_font_5x8+143
+0x1E8F 0x3441 ;oled_control_font_5x8+144
+0x1E90 0x3414 ;oled_control_font_5x8+145
+0x1E91 0x3414 ;oled_control_font_5x8+146
+0x1E92 0x3414 ;oled_control_font_5x8+147
+0x1E93 0x3414 ;oled_control_font_5x8+148
+0x1E94 0x3414 ;oled_control_font_5x8+149
+0x1E95 0x3441 ;oled_control_font_5x8+150
+0x1E96 0x3422 ;oled_control_font_5x8+151
+0x1E97 0x3414 ;oled_control_font_5x8+152
+0x1E98 0x3408 ;oled_control_font_5x8+153
+0x1E99 0x3400 ;oled_control_font_5x8+154
+0x1E9A 0x3402 ;oled_control_font_5x8+155
+0x1E9B 0x3401 ;oled_control_font_5x8+156
+0x1E9C 0x3451 ;oled_control_font_5x8+157
+0x1E9D 0x3409 ;oled_control_font_5x8+158
+0x1E9E 0x3406 ;oled_control_font_5x8+159
+0x1E9F 0x3432 ;oled_control_font_5x8+160
+0x1EA0 0x3449 ;oled_control_font_5x8+161
+0x1EA1 0x3479 ;oled_control_font_5x8+162
+0x1EA2 0x3441 ;oled_control_font_5x8+163
+0x1EA3 0x343E ;oled_control_font_5x8+164
+0x1EA4 0x347E ;oled_control_font_5x8+165
+0x1EA5 0x3411 ;oled_control_font_5x8+166
+0x1EA6 0x3411 ;oled_control_font_5x8+167
+0x1EA7 0x3411 ;oled_control_font_5x8+168
+0x1EA8 0x347E ;oled_control_font_5x8+169
+0x1EA9 0x347F ;oled_control_font_5x8+170
+0x1EAA 0x3449 ;oled_control_font_5x8+171
+0x1EAB 0x3449 ;oled_control_font_5x8+172
+0x1EAC 0x3449 ;oled_control_font_5x8+173
+0x1EAD 0x3436 ;oled_control_font_5x8+174
+0x1EAE 0x343E ;oled_control_font_5x8+175
+0x1EAF 0x3441 ;oled_control_font_5x8+176
+0x1EB0 0x3441 ;oled_control_font_5x8+177
+0x1EB1 0x3441 ;oled_control_font_5x8+178
+0x1EB2 0x3422 ;oled_control_font_5x8+179
+0x1EB3 0x347F ;oled_control_font_5x8+180
+0x1EB4 0x3441 ;oled_control_font_5x8+181
+0x1EB5 0x3441 ;oled_control_font_5x8+182
+0x1EB6 0x3422 ;oled_control_font_5x8+183
+0x1EB7 0x341C ;oled_control_font_5x8+184
+0x1EB8 0x347F ;oled_control_font_5x8+185
+0x1EB9 0x3449 ;oled_control_font_5x8+186
+0x1EBA 0x3449 ;oled_control_font_5x8+187
+0x1EBB 0x3449 ;oled_control_font_5x8+188
+0x1EBC 0x3441 ;oled_control_font_5x8+189
+0x1EBD 0x347F ;oled_control_font_5x8+190
+0x1EBE 0x3409 ;oled_control_font_5x8+191
+0x1EBF 0x3409 ;oled_control_font_5x8+192
+0x1EC0 0x3401 ;oled_control_font_5x8+193
+0x1EC1 0x3401 ;oled_control_font_5x8+194
+0x1EC2 0x343E ;oled_control_font_5x8+195
+0x1EC3 0x3441 ;oled_control_font_5x8+196
+0x1EC4 0x3441 ;oled_control_font_5x8+197
+0x1EC5 0x3451 ;oled_control_font_5x8+198
+0x1EC6 0x3432 ;oled_control_font_5x8+199
+0x1EC7 0x347F ;oled_control_font_5x8+200
+0x1EC8 0x3408 ;oled_control_font_5x8+201
+0x1EC9 0x3408 ;oled_control_font_5x8+202
+0x1ECA 0x3408 ;oled_control_font_5x8+203
+0x1ECB 0x347F ;oled_control_font_5x8+204
+0x1ECC 0x3400 ;oled_control_font_5x8+205
+0x1ECD 0x3441 ;oled_control_font_5x8+206
+0x1ECE 0x347F ;oled_control_font_5x8+207
+0x1ECF 0x3441 ;oled_control_font_5x8+208
+0x1ED0 0x3400 ;oled_control_font_5x8+209
+0x1ED1 0x3420 ;oled_control_font_5x8+210
+0x1ED2 0x3440 ;oled_control_font_5x8+211
+0x1ED3 0x3441 ;oled_control_font_5x8+212
+0x1ED4 0x343F ;oled_control_font_5x8+213
+0x1ED5 0x3401 ;oled_control_font_5x8+214
+0x1ED6 0x347F ;oled_control_font_5x8+215
+0x1ED7 0x3408 ;oled_control_font_5x8+216
+0x1ED8 0x3414 ;oled_control_font_5x8+217
+0x1ED9 0x3422 ;oled_control_font_5x8+218
+0x1EDA 0x3441 ;oled_control_font_5x8+219
+0x1EDB 0x347F ;oled_control_font_5x8+220
+0x1EDC 0x3440 ;oled_control_font_5x8+221
+0x1EDD 0x3440 ;oled_control_font_5x8+222
+0x1EDE 0x3440 ;oled_control_font_5x8+223
+0x1EDF 0x3440 ;oled_control_font_5x8+224
+0x1EE0 0x347F ;oled_control_font_5x8+225
+0x1EE1 0x3402 ;oled_control_font_5x8+226
+0x1EE2 0x3404 ;oled_control_font_5x8+227
+0x1EE3 0x3402 ;oled_control_font_5x8+228
+0x1EE4 0x347F ;oled_control_font_5x8+229
+0x1EE5 0x347F ;oled_control_font_5x8+230
+0x1EE6 0x3404 ;oled_control_font_5x8+231
+0x1EE7 0x3408 ;oled_control_font_5x8+232
+0x1EE8 0x3410 ;oled_control_font_5x8+233
+0x1EE9 0x347F ;oled_control_font_5x8+234
+0x1EEA 0x343E ;oled_control_font_5x8+235
+0x1EEB 0x3441 ;oled_control_font_5x8+236
+0x1EEC 0x3441 ;oled_control_font_5x8+237
+0x1EED 0x3441 ;oled_control_font_5x8+238
+0x1EEE 0x343E ;oled_control_font_5x8+239
+0x1EEF 0x347F ;oled_control_font_5x8+240
+0x1EF0 0x3409 ;oled_control_font_5x8+241
+0x1EF1 0x3409 ;oled_control_font_5x8+242
+0x1EF2 0x3409 ;oled_control_font_5x8+243
+0x1EF3 0x3406 ;oled_control_font_5x8+244
+0x1EF4 0x343E ;oled_control_font_5x8+245
+0x1EF5 0x3441 ;oled_control_font_5x8+246
+0x1EF6 0x3451 ;oled_control_font_5x8+247
+0x1EF7 0x3421 ;oled_control_font_5x8+248
+0x1EF8 0x345E ;oled_control_font_5x8+249
+0x1EF9 0x347F ;oled_control_font_5x8+250
+0x1EFA 0x3409 ;oled_control_font_5x8+251
+0x1EFB 0x3419 ;oled_control_font_5x8+252
+0x1EFC 0x3429 ;oled_control_font_5x8+253
+0x1EFD 0x3446 ;oled_control_font_5x8+254
+0x1EFE 0x3446 ;oled_control_font_5x8+255
+0x1EFF 0x3449 ;oled_control_font_5x8+256
+0x1F00 0x3449 ;oled_control_font_5x8+257
+0x1F01 0x3449 ;oled_control_font_5x8+258
+0x1F02 0x3431 ;oled_control_font_5x8+259
+0x1F03 0x3401 ;oled_control_font_5x8+260
+0x1F04 0x3401 ;oled_control_font_5x8+261
+0x1F05 0x347F ;oled_control_font_5x8+262
+0x1F06 0x3401 ;oled_control_font_5x8+263
+0x1F07 0x3401 ;oled_control_font_5x8+264
+0x1F08 0x343F ;oled_control_font_5x8+265
+0x1F09 0x3440 ;oled_control_font_5x8+266
+0x1F0A 0x3440 ;oled_control_font_5x8+267
+0x1F0B 0x3440 ;oled_control_font_5x8+268
+0x1F0C 0x343F ;oled_control_font_5x8+269
+0x1F0D 0x341F ;oled_control_font_5x8+270
+0x1F0E 0x3420 ;oled_control_font_5x8+271
+0x1F0F 0x3440 ;oled_control_font_5x8+272
+0x1F10 0x3420 ;oled_control_font_5x8+273
+0x1F11 0x341F ;oled_control_font_5x8+274
+0x1F12 0x347F ;oled_control_font_5x8+275
+0x1F13 0x3420 ;oled_control_font_5x8+276
+0x1F14 0x3418 ;oled_control_font_5x8+277
+0x1F15 0x3420 ;oled_control_font_5x8+278
+0x1F16 0x347F ;oled_control_font_5x8+279
+0x1F17 0x3463 ;oled_control_font_5x8+280
+0x1F18 0x3414 ;oled_control_font_5x8+281
+0x1F19 0x3408 ;oled_control_font_5x8+282
+0x1F1A 0x3414 ;oled_control_font_5x8+283
+0x1F1B 0x3463 ;oled_control_font_5x8+284
+0x1F1C 0x3403 ;oled_control_font_5x8+285
+0x1F1D 0x3404 ;oled_control_font_5x8+286
+0x1F1E 0x3478 ;oled_control_font_5x8+287
+0x1F1F 0x3404 ;oled_control_font_5x8+288
+0x1F20 0x3403 ;oled_control_font_5x8+289
+0x1F21 0x3461 ;oled_control_font_5x8+290
+0x1F22 0x3451 ;oled_control_font_5x8+291
+0x1F23 0x3449 ;oled_control_font_5x8+292
+0x1F24 0x3445 ;oled_control_font_5x8+293
+0x1F25 0x3443 ;oled_control_font_5x8+294
+0x1F26 0x3400 ;oled_control_font_5x8+295
+0x1F27 0x3400 ;oled_control_font_5x8+296
+0x1F28 0x347F ;oled_control_font_5x8+297
+0x1F29 0x3441 ;oled_control_font_5x8+298
+0x1F2A 0x3441 ;oled_control_font_5x8+299
+0x1F2B 0x3402 ;oled_control_font_5x8+300
+0x1F2C 0x3404 ;oled_control_font_5x8+301
+0x1F2D 0x3408 ;oled_control_font_5x8+302
+0x1F2E 0x3410 ;oled_control_font_5x8+303
+0x1F2F 0x3420 ;oled_control_font_5x8+304
+0x1F30 0x3441 ;oled_control_font_5x8+305
+0x1F31 0x3441 ;oled_control_font_5x8+306
+0x1F32 0x347F ;oled_control_font_5x8+307
+0x1F33 0x3400 ;oled_control_font_5x8+308
+0x1F34 0x3400 ;oled_control_font_5x8+309
+0x1F35 0x3404 ;oled_control_font_5x8+310
+0x1F36 0x3402 ;oled_control_font_5x8+311
+0x1F37 0x3401 ;oled_control_font_5x8+312
+0x1F38 0x3402 ;oled_control_font_5x8+313
+0x1F39 0x3404 ;oled_control_font_5x8+314
+0x1F3A 0x3440 ;oled_control_font_5x8+315
+0x1F3B 0x3440 ;oled_control_font_5x8+316
+0x1F3C 0x3440 ;oled_control_font_5x8+317
+0x1F3D 0x3440 ;oled_control_font_5x8+318
+0x1F3E 0x3440 ;oled_control_font_5x8+319
+0x1F3F 0x3400 ;oled_control_font_5x8+320
+0x1F40 0x3401 ;oled_control_font_5x8+321
+0x1F41 0x3402 ;oled_control_font_5x8+322
+0x1F42 0x3404 ;oled_control_font_5x8+323
+0x1F43 0x3400 ;oled_control_font_5x8+324
+0x1F44 0x3420 ;oled_control_font_5x8+325
+0x1F45 0x3454 ;oled_control_font_5x8+326
+0x1F46 0x3454 ;oled_control_font_5x8+327
+0x1F47 0x3454 ;oled_control_font_5x8+328
+0x1F48 0x3478 ;oled_control_font_5x8+329
+0x1F49 0x347F ;oled_control_font_5x8+330
+0x1F4A 0x3448 ;oled_control_font_5x8+331
+0x1F4B 0x3444 ;oled_control_font_5x8+332
+0x1F4C 0x3444 ;oled_control_font_5x8+333
+0x1F4D 0x3438 ;oled_control_font_5x8+334
+0x1F4E 0x3438 ;oled_control_font_5x8+335
+0x1F4F 0x3444 ;oled_control_font_5x8+336
+0x1F50 0x3444 ;oled_control_font_5x8+337
+0x1F51 0x3444 ;oled_control_font_5x8+338
+0x1F52 0x3420 ;oled_control_font_5x8+339
+0x1F53 0x3438 ;oled_control_font_5x8+340
+0x1F54 0x3444 ;oled_control_font_5x8+341
+0x1F55 0x3444 ;oled_control_font_5x8+342
+0x1F56 0x3448 ;oled_control_font_5x8+343
+0x1F57 0x347F ;oled_control_font_5x8+344
+0x1F58 0x3438 ;oled_control_font_5x8+345
+0x1F59 0x3454 ;oled_control_font_5x8+346
+0x1F5A 0x3454 ;oled_control_font_5x8+347
+0x1F5B 0x3454 ;oled_control_font_5x8+348
+0x1F5C 0x3418 ;oled_control_font_5x8+349
+0x1F5D 0x3408 ;oled_control_font_5x8+350
+0x1F5E 0x347E ;oled_control_font_5x8+351
+0x1F5F 0x3409 ;oled_control_font_5x8+352
+0x1F60 0x3401 ;oled_control_font_5x8+353
+0x1F61 0x3402 ;oled_control_font_5x8+354
+0x1F62 0x3408 ;oled_control_font_5x8+355
+0x1F63 0x3414 ;oled_control_font_5x8+356
+0x1F64 0x3454 ;oled_control_font_5x8+357
+0x1F65 0x3454 ;oled_control_font_5x8+358
+0x1F66 0x343C ;oled_control_font_5x8+359
+0x1F67 0x347F ;oled_control_font_5x8+360
+0x1F68 0x3408 ;oled_control_font_5x8+361
+0x1F69 0x3404 ;oled_control_font_5x8+362
+0x1F6A 0x3404 ;oled_control_font_5x8+363
+0x1F6B 0x3478 ;oled_control_font_5x8+364
+0x1F6C 0x3400 ;oled_control_font_5x8+365
+0x1F6D 0x3444 ;oled_control_font_5x8+366
+0x1F6E 0x347D ;oled_control_font_5x8+367
+0x1F6F 0x3440 ;oled_control_font_5x8+368
+0x1F70 0x3400 ;oled_control_font_5x8+369
+0x1F71 0x3420 ;oled_control_font_5x8+370
+0x1F72 0x3440 ;oled_control_font_5x8+371
+0x1F73 0x3444 ;oled_control_font_5x8+372
+0x1F74 0x343D ;oled_control_font_5x8+373
+0x1F75 0x3400 ;oled_control_font_5x8+374
+0x1F76 0x3400 ;oled_control_font_5x8+375
+0x1F77 0x347F ;oled_control_font_5x8+376
+0x1F78 0x3410 ;oled_control_font_5x8+377
+0x1F79 0x3428 ;oled_control_font_5x8+378
+0x1F7A 0x3444 ;oled_control_font_5x8+379
+0x1F7B 0x3400 ;oled_control_font_5x8+380
+0x1F7C 0x3441 ;oled_control_font_5x8+381
+0x1F7D 0x347F ;oled_control_font_5x8+382
+0x1F7E 0x3440 ;oled_control_font_5x8+383
+0x1F7F 0x3400 ;oled_control_font_5x8+384
+0x1F80 0x347C ;oled_control_font_5x8+385
+0x1F81 0x3404 ;oled_control_font_5x8+386
+0x1F82 0x3418 ;oled_control_font_5x8+387
+0x1F83 0x3404 ;oled_control_font_5x8+388
+0x1F84 0x3478 ;oled_control_font_5x8+389
+0x1F85 0x347C ;oled_control_font_5x8+390
+0x1F86 0x3408 ;oled_control_font_5x8+391
+0x1F87 0x3404 ;oled_control_font_5x8+392
+0x1F88 0x3404 ;oled_control_font_5x8+393
+0x1F89 0x3478 ;oled_control_font_5x8+394
+0x1F8A 0x3438 ;oled_control_font_5x8+395
+0x1F8B 0x3444 ;oled_control_font_5x8+396
+0x1F8C 0x3444 ;oled_control_font_5x8+397
+0x1F8D 0x3444 ;oled_control_font_5x8+398
+0x1F8E 0x3438 ;oled_control_font_5x8+399
+0x1F8F 0x347C ;oled_control_font_5x8+400
+0x1F90 0x3414 ;oled_control_font_5x8+401
+0x1F91 0x3414 ;oled_control_font_5x8+402
+0x1F92 0x3414 ;oled_control_font_5x8+403
+0x1F93 0x3408 ;oled_control_font_5x8+404
+0x1F94 0x3408 ;oled_control_font_5x8+405
+0x1F95 0x3414 ;oled_control_font_5x8+406
+0x1F96 0x3414 ;oled_control_font_5x8+407
+0x1F97 0x3418 ;oled_control_font_5x8+408
+0x1F98 0x347C ;oled_control_font_5x8+409
+0x1F99 0x347C ;oled_control_font_5x8+410
+0x1F9A 0x3408 ;oled_control_font_5x8+411
+0x1F9B 0x3404 ;oled_control_font_5x8+412
+0x1F9C 0x3404 ;oled_control_font_5x8+413
+0x1F9D 0x3408 ;oled_control_font_5x8+414
+0x1F9E 0x3448 ;oled_control_font_5x8+415
+0x1F9F 0x3454 ;oled_control_font_5x8+416
+0x1FA0 0x3454 ;oled_control_font_5x8+417
+0x1FA1 0x3454 ;oled_control_font_5x8+418
+0x1FA2 0x3420 ;oled_control_font_5x8+419
+0x1FA3 0x3404 ;oled_control_font_5x8+420
+0x1FA4 0x343F ;oled_control_font_5x8+421
+0x1FA5 0x3444 ;oled_control_font_5x8+422
+0x1FA6 0x3440 ;oled_control_font_5x8+423
+0x1FA7 0x3420 ;oled_control_font_5x8+424
+0x1FA8 0x343C ;oled_control_font_5x8+425
+0x1FA9 0x3440 ;oled_control_font_5x8+426
+0x1FAA 0x3440 ;oled_control_font_5x8+427
+0x1FAB 0x3420 ;oled_control_font_5x8+428
+0x1FAC 0x347C ;oled_control_font_5x8+429
+0x1FAD 0x341C ;oled_control_font_5x8+430
+0x1FAE 0x3420 ;oled_control_font_5x8+431
+0x1FAF 0x3440 ;oled_control_font_5x8+432
+0x1FB0 0x3420 ;oled_control_font_5x8+433
+0x1FB1 0x341C ;oled_control_font_5x8+434
+0x1FB2 0x343C ;oled_control_font_5x8+435
+0x1FB3 0x3440 ;oled_control_font_5x8+436
+0x1FB4 0x3430 ;oled_control_font_5x8+437
+0x1FB5 0x3440 ;oled_control_font_5x8+438
+0x1FB6 0x343C ;oled_control_font_5x8+439
+0x1FB7 0x3444 ;oled_control_font_5x8+440
+0x1FB8 0x3428 ;oled_control_font_5x8+441
+0x1FB9 0x3410 ;oled_control_font_5x8+442
+0x1FBA 0x3428 ;oled_control_font_5x8+443
+0x1FBB 0x3444 ;oled_control_font_5x8+444
+0x1FBC 0x340C ;oled_control_font_5x8+445
+0x1FBD 0x3450 ;oled_control_font_5x8+446
+0x1FBE 0x3450 ;oled_control_font_5x8+447
+0x1FBF 0x3450 ;oled_control_font_5x8+448
+0x1FC0 0x343C ;oled_control_font_5x8+449
+0x1FC1 0x3444 ;oled_control_font_5x8+450
+0x1FC2 0x3464 ;oled_control_font_5x8+451
+0x1FC3 0x3454 ;oled_control_font_5x8+452
+0x1FC4 0x344C ;oled_control_font_5x8+453
+0x1FC5 0x3444 ;oled_control_font_5x8+454
+0x1FC6 0x3400 ;oled_control_font_5x8+455
+0x1FC7 0x3408 ;oled_control_font_5x8+456
+0x1FC8 0x3436 ;oled_control_font_5x8+457
+0x1FC9 0x3441 ;oled_control_font_5x8+458
+0x1FCA 0x3400 ;oled_control_font_5x8+459
+0x1FCB 0x3400 ;oled_control_font_5x8+460
+0x1FCC 0x3400 ;oled_control_font_5x8+461
+0x1FCD 0x347F ;oled_control_font_5x8+462
+0x1FCE 0x3400 ;oled_control_font_5x8+463
+0x1FCF 0x3400 ;oled_control_font_5x8+464
+0x1FD0 0x3400 ;oled_control_font_5x8+465
+0x1FD1 0x3441 ;oled_control_font_5x8+466
+0x1FD2 0x3436 ;oled_control_font_5x8+467
+0x1FD3 0x3408 ;oled_control_font_5x8+468
+0x1FD4 0x3400 ;oled_control_font_5x8+469
+0x1FD5 0x3408 ;oled_control_font_5x8+470
+0x1FD6 0x3408 ;oled_control_font_5x8+471
+0x1FD7 0x342A ;oled_control_font_5x8+472
+0x1FD8 0x341C ;oled_control_font_5x8+473
+0x1FD9 0x3408 ;oled_control_font_5x8+474
+0x1FDA 0x3408 ;oled_control_font_5x8+475
+0x1FDB 0x341C ;oled_control_font_5x8+476
+0x1FDC 0x342A ;oled_control_font_5x8+477
+0x1FDD 0x3408 ;oled_control_font_5x8+478
+0x1FDE 0x3408 ;oled_control_font_5x8+479
+; end of oled_control_font_5x8
+;main.c,0 :: ?ICS?lstr7_main
+0x1FDF 0x344F ;?ICS?lstr7_main+0
+0x1FE0 0x3456 ;?ICS?lstr7_main+1
+0x1FE1 0x3445 ;?ICS?lstr7_main+2
+0x1FE2 0x3452 ;?ICS?lstr7_main+3
+0x1FE3 0x344C ;?ICS?lstr7_main+4
+0x1FE4 0x344F ;?ICS?lstr7_main+5
+0x1FE5 0x3441 ;?ICS?lstr7_main+6
+0x1FE6 0x3444 ;?ICS?lstr7_main+7
+0x1FE7 0x3420 ;?ICS?lstr7_main+8
+0x1FE8 0x3400 ;?ICS?lstr7_main+9
+; end of ?ICS?lstr7_main
+;main.c,0 :: ?ICS_btn_cnt
+0x1FE9 0x3400 ;?ICS_btn_cnt+0
+0x1FEA 0x3400 ;?ICS_btn_cnt+1
+0x1FEB 0x3400 ;?ICS_btn_cnt+2
+0x1FEC 0x3400 ;?ICS_btn_cnt+3
+; end of ?ICS_btn_cnt
+;main.c,0 :: ?ICS_ind
+0x2000 0x3400 ;?ICS_ind+0
+; end of ?ICS_ind
+;main.c,0 :: ?ICS_SWR_ind
+0x2001 0x3400 ;?ICS_SWR_ind+0
+0x2002 0x3400 ;?ICS_SWR_ind+1
+; end of ?ICS_SWR_ind
+;main.c,0 :: ?ICS_volt_cnt
+0x2003 0x3400 ;?ICS_volt_cnt+0
+0x2004 0x3400 ;?ICS_volt_cnt+1
+0x2005 0x3400 ;?ICS_volt_cnt+2
+0x2006 0x3400 ;?ICS_volt_cnt+3
+; end of ?ICS_volt_cnt
+;main.c,0 :: ?ICS_PWR_fixed_old
+0x2007 0x340F ;?ICS_PWR_fixed_old+0
+0x2008 0x3427 ;?ICS_PWR_fixed_old+1
+; end of ?ICS_PWR_fixed_old
+;main.c,0 :: ?ICS_Voltage_old
+0x2009 0x3400 ;?ICS_Voltage_old+0
+0x200A 0x3400 ;?ICS_Voltage_old+1
+; end of ?ICS_Voltage_old
+;main.c,0 :: ?ICS_SWR_fixed_old
+0x200B 0x3464 ;?ICS_SWR_fixed_old+0
+0x200C 0x3400 ;?ICS_SWR_fixed_old+1
+; end of ?ICS_SWR_fixed_old
+;main.c,0 :: ?ICS_Tick
+0x200D 0x3400 ;?ICS_Tick+0
+0x200E 0x3400 ;?ICS_Tick+1
+0x200F 0x3400 ;?ICS_Tick+2
+0x2010 0x3400 ;?ICS_Tick+3
+; end of ?ICS_Tick
+;main.c,0 :: ?ICS_watch_cnt
+0x2011 0x3400 ;?ICS_watch_cnt+0
+0x2012 0x3400 ;?ICS_watch_cnt+1
+0x2013 0x3400 ;?ICS_watch_cnt+2
+0x2014 0x3400 ;?ICS_watch_cnt+3
+; end of ?ICS_watch_cnt
+;main.c,0 :: ?ICS?lstr3_main
+0x2015 0x343D ;?ICS?lstr3_main+0
+0x2016 0x3400 ;?ICS?lstr3_main+1
+; end of ?ICS?lstr3_main
+;main.c,0 :: ?ICS?lstr2_main
+0x2017 0x3453 ;?ICS?lstr2_main+0
+0x2018 0x3457 ;?ICS?lstr2_main+1
+0x2019 0x3452 ;?ICS?lstr2_main+2
+0x201A 0x3420 ;?ICS?lstr2_main+3
+0x201B 0x3420 ;?ICS?lstr2_main+4
+0x201C 0x3420 ;?ICS?lstr2_main+5
+0x201D 0x3420 ;?ICS?lstr2_main+6
+0x201E 0x3420 ;?ICS?lstr2_main+7
+0x201F 0x3420 ;?ICS?lstr2_main+8
+0x2020 0x3400 ;?ICS?lstr2_main+9
+; end of ?ICS?lstr2_main
+;main.c,0 :: ?ICS?lstr1_main
+0x2021 0x3450 ;?ICS?lstr1_main+0
+0x2022 0x3457 ;?ICS?lstr1_main+1
+0x2023 0x3452 ;?ICS?lstr1_main+2
+0x2024 0x3420 ;?ICS?lstr1_main+3
+0x2025 0x3420 ;?ICS?lstr1_main+4
+0x2026 0x3420 ;?ICS?lstr1_main+5
+0x2027 0x3420 ;?ICS?lstr1_main+6
+0x2028 0x3420 ;?ICS?lstr1_main+7
+0x2029 0x3457 ;?ICS?lstr1_main+8
+0x202A 0x3400 ;?ICS?lstr1_main+9
+; end of ?ICS?lstr1_main
+;main.c,0 :: ?ICS?lstr4_main
+0x202B 0x343D ;?ICS?lstr4_main+0
+0x202C 0x3400 ;?ICS?lstr4_main+1
+; end of ?ICS?lstr4_main
+;oled_control.c,19 :: oled_control_batt
+0x202D 0x34F8 ;oled_control_batt+0
+0x202E 0x34F8 ;oled_control_batt+1
+0x202F 0x341F ;oled_control_batt+2
+0x2030 0x341F ;oled_control_batt+3
+0x2031 0x3403 ;oled_control_batt+4
+0x2032 0x3403 ;oled_control_batt+5
+0x2033 0x3403 ;oled_control_batt+6
+0x2034 0x341F ;oled_control_batt+7
+0x2035 0x341F ;oled_control_batt+8
+0x2036 0x34F8 ;oled_control_batt+9
+0x2037 0x34F8 ;oled_control_batt+10
+0x2038 0x34FF ;oled_control_batt+11
+0x2039 0x34FF ;oled_control_batt+12
+0x203A 0x3400 ;oled_control_batt+13
+0x203B 0x3400 ;oled_control_batt+14
+0x203C 0x3400 ;oled_control_batt+15
+0x203D 0x3400 ;oled_control_batt+16
+0x203E 0x3400 ;oled_control_batt+17
+0x203F 0x3400 ;oled_control_batt+18
+0x2040 0x3400 ;oled_control_batt+19
+0x2041 0x34FF ;oled_control_batt+20
+0x2042 0x34FF ;oled_control_batt+21
+0x2043 0x34FF ;oled_control_batt+22
+0x2044 0x34FF ;oled_control_batt+23
+0x2045 0x3400 ;oled_control_batt+24
+0x2046 0x3400 ;oled_control_batt+25
+0x2047 0x3400 ;oled_control_batt+26
+0x2048 0x3400 ;oled_control_batt+27
+0x2049 0x3400 ;oled_control_batt+28
+0x204A 0x3400 ;oled_control_batt+29
+0x204B 0x3400 ;oled_control_batt+30
+0x204C 0x34FF ;oled_control_batt+31
+0x204D 0x34FF ;oled_control_batt+32
+0x204E 0x34FF ;oled_control_batt+33
+0x204F 0x34FF ;oled_control_batt+34
+0x2050 0x34C0 ;oled_control_batt+35
+0x2051 0x34C0 ;oled_control_batt+36
+0x2052 0x34C0 ;oled_control_batt+37
+0x2053 0x34C0 ;oled_control_batt+38
+0x2054 0x34C0 ;oled_control_batt+39
+0x2055 0x34C0 ;oled_control_batt+40
+0x2056 0x34C0 ;oled_control_batt+41
+0x2057 0x34FF ;oled_control_batt+42
+0x2058 0x34FF ;oled_control_batt+43
+; end of oled_control_batt
+;main.c,0 :: ?ICS?lstr19_main
+0x2059 0x3453 ;?ICS?lstr19_main+0
+0x205A 0x3457 ;?ICS?lstr19_main+1
+0x205B 0x3452 ;?ICS?lstr19_main+2
+0x205C 0x3420 ;?ICS?lstr19_main+3
+0x205D 0x3420 ;?ICS?lstr19_main+4
+0x205E 0x3400 ;?ICS?lstr19_main+5
+; end of ?ICS?lstr19_main
+;main.c,0 :: ?ICS?lstr20_main
+0x205F 0x343D ;?ICS?lstr20_main+0
+0x2060 0x3400 ;?ICS?lstr20_main+1
+; end of ?ICS?lstr20_main
+;main.c,0 :: ?ICS_max_for_start
+0x2061 0x3496 ;?ICS_max_for_start+0
+0x2062 0x3400 ;?ICS_max_for_start+1
+; end of ?ICS_max_for_start
+;main.c,0 :: ?ICS?lstr13_main
+0x2063 0x3420 ;?ICS?lstr13_main+0
+0x2064 0x3420 ;?ICS?lstr13_main+1
+0x2065 0x344C ;?ICS?lstr13_main+2
+0x2066 0x344F ;?ICS?lstr13_main+3
+0x2067 0x3457 ;?ICS?lstr13_main+4
+0x2068 0x3420 ;?ICS?lstr13_main+5
+0x2069 0x3442 ;?ICS?lstr13_main+6
+0x206A 0x3441 ;?ICS?lstr13_main+7
+0x206B 0x3454 ;?ICS?lstr13_main+8
+0x206C 0x3454 ;?ICS?lstr13_main+9
+0x206D 0x3420 ;?ICS?lstr13_main+10
+0x206E 0x3400 ;?ICS?lstr13_main+11
+; end of ?ICS?lstr13_main
+;main.c,0 :: ?ICS?lstr9_main
+0x206F 0x3453 ;?ICS?lstr9_main+0
+0x2070 0x3457 ;?ICS?lstr9_main+1
+0x2071 0x3452 ;?ICS?lstr9_main+2
+0x2072 0x3420 ;?ICS?lstr9_main+3
+0x2073 0x3420 ;?ICS?lstr9_main+4
+0x2074 0x3420 ;?ICS?lstr9_main+5
+0x2075 0x3420 ;?ICS?lstr9_main+6
+0x2076 0x3420 ;?ICS?lstr9_main+7
+0x2077 0x3420 ;?ICS?lstr9_main+8
+0x2078 0x3400 ;?ICS?lstr9_main+9
+; end of ?ICS?lstr9_main
+;main.c,0 :: ?ICS?lstr10_main
+0x2079 0x343D ;?ICS?lstr10_main+0
+0x207A 0x3400 ;?ICS?lstr10_main+1
+; end of ?ICS?lstr10_main
+;main.c,0 :: ?ICS_min_for_start
+0x207B 0x340A ;?ICS_min_for_start+0
+0x207C 0x3400 ;?ICS_min_for_start+1
+; end of ?ICS_min_for_start
+;main.c,0 :: ?ICS_Rel_Del
+0x207D 0x3407 ;?ICS_Rel_Del+0
+0x207E 0x3400 ;?ICS_Rel_Del+1
+; end of ?ICS_Rel_Del
+;main.c,0 :: ?ICS_btn_2_cnt
+0x207F 0x3400 ;?ICS_btn_2_cnt+0
+; end of ?ICS_btn_2_cnt
+;oled_control.c,0 :: ?ICSoled_control_oled_addr
+0x2080 0x3478 ;?ICSoled_control_oled_addr+0
+0x2081 0x3400 ;?ICSoled_control_oled_addr+1
+; end of ?ICSoled_control_oled_addr
+;oled_control.c,0 :: ?ICSoled_control_shift_line
+0x2082 0x3440 ;?ICSoled_control_shift_line+0
+; end of ?ICSoled_control_shift_line
+;oled_control.c,0 :: ?ICSoled_control_inversion
+0x2083 0x3401 ;?ICSoled_control_inversion+0
+; end of ?ICSoled_control_inversion
+;main.c,0 :: ?ICS?lstr8_main
+0x2084 0x3420 ;?ICS?lstr8_main+0
+0x2085 0x3420 ;?ICS?lstr8_main+1
+0x2086 0x3420 ;?ICS?lstr8_main+2
+0x2087 0x3420 ;?ICS?lstr8_main+3
+0x2088 0x3420 ;?ICS?lstr8_main+4
+0x2089 0x3420 ;?ICS?lstr8_main+5
+0x208A 0x3420 ;?ICS?lstr8_main+6
+0x208B 0x3420 ;?ICS?lstr8_main+7
+0x208C 0x3420 ;?ICS?lstr8_main+8
+0x208D 0x3400 ;?ICS?lstr8_main+9
+; end of ?ICS?lstr8_main
+;main.c,0 :: ?ICS?lstr15_main
+0x208E 0x3454 ;?ICS?lstr15_main+0
+0x208F 0x3455 ;?ICS?lstr15_main+1
+0x2090 0x344E ;?ICS?lstr15_main+2
+0x2091 0x3445 ;?ICS?lstr15_main+3
+0x2092 0x3420 ;?ICS?lstr15_main+4
+0x2093 0x3420 ;?ICS?lstr15_main+5
+0x2094 0x3420 ;?ICS?lstr15_main+6
+0x2095 0x3420 ;?ICS?lstr15_main+7
+0x2096 0x3420 ;?ICS?lstr15_main+8
+0x2097 0x3400 ;?ICS?lstr15_main+9
+; end of ?ICS?lstr15_main
+;main.c,0 :: ?ICS?lstr16_main
+0x2098 0x3453 ;?ICS?lstr16_main+0
+0x2099 0x3457 ;?ICS?lstr16_main+1
+0x209A 0x3452 ;?ICS?lstr16_main+2
+0x209B 0x3420 ;?ICS?lstr16_main+3
+0x209C 0x3400 ;?ICS?lstr16_main+4
+; end of ?ICS?lstr16_main
+;main.c,0 :: ?ICS?lstr17_main
+0x209D 0x343D ;?ICS?lstr17_main+0
+0x209E 0x3400 ;?ICS?lstr17_main+1
+; end of ?ICS?lstr17_main
+;main.c,0 :: ?ICS?lstr5_main
+0x209F 0x343E ;?ICS?lstr5_main+0
+0x20A0 0x3400 ;?ICS?lstr5_main+1
+; end of ?ICS?lstr5_main
+;main.c,0 :: ?ICS?lstr6_main
+0x20A1 0x343D ;?ICS?lstr6_main+0
+0x20A2 0x3400 ;?ICS?lstr6_main+1
+; end of ?ICS?lstr6_main
+Symbol List:
+//** Routines locations **
+//ADDRESS SIZE PROCEDURE
+//----------------------------------------------
+0x0004 [294] _interupt
+0x012A [60] _Soft_I2C_Write
+0x0166 [28] _Div_16X16_U
+0x0182 [30] _Soft_I2C_Start
+0x01A0 [6] _Delay_22us
+0x01A6 [24] _Mul_8X8_U
+0x01BE [54] _Mul_32x32_U
+0x01F4 [23] _Soft_I2C_Stop
+0x020B [64] _set_addressing
+0x024B [76] _WordToStr
+0x0297 [59] _ADC_Init_Advanced
+0x02D2 [42] _Mul_16X16_U
+0x02FC [4] _FIXSIGN32
+0x0300 [96] _VDelay_ms
+0x0360 [12] _SETFUN32
+0x036C [16] _ADC_Get_Sample
+0x037C [55] _oled_wr_str_s
+0x03B3 [115] _IntToStr
+0x0426 [7] _RES032
+0x042D [16] _send_command
+0x043D [12] _SETFOV32
+0x0449 [36] _oled_clear
+0x046D [321] _oled_wr_str
+0x05AE [62] _Greating
+0x05EC [53] _oled_bat
+0x0621 [175] _Relay_set
+0x06D0 [2] _Soft_I2C_Init
+0x06D2 [53] _draw_swr
+0x0707 [28] _get_batt
+0x0723 [3] _SETFDZ32
+0x0726 [90] _NRM4032
+0x0780 [13] _SETIOV3224
+0x078D [12] _COMFREM
+0x0799 [47] _NRM3232
+0x07C8 [11] _atu_reset
+0x07D3 [29] _int2double
+0x07F0 [9] ___CC2DW
+0x0800 [300] _SDIV3232L
+0x092C [244] _oled_init
+0x0A20 [180] _Div_32x32_S
+0x0AD4 [210] _oled_start
+0x0BA6 [94] _double2int
+0x0C04 [167] _Add_32x32_FP
+0x0CAB [154] _get_forward
+0x0D45 [102] _Mul_32x32_FP
+0x0DAB [188] _Div_32x32_FP
+0x0E67 [154] _get_reverse
+0x0F01 [139] _correction
+0x0F8C [44] _Div_16x16_S_L
+0x0FB8 [40] _Btn_xlong
+0x0FE0 [19] _Ext_long
+0x1000 [117] _Btn_short
+0x1075 [127] _draw_power
+0x10F4 [301] _get_pwr
+0x1221 [100] _get_swr
+0x1285 [104] _Div_16x16_S
+0x12ED [145] _coarse_cap
+0x137E [193] _sharp_cap
+0x143F [157] _coarse_tune
+0x14DC [193] _sharp_ind
+0x159D [430] _tune
+0x174B [94] _Btn_long
+0x17A9 [20] _ADC_Init
+0x1800 [386] _oled_voltage
+0x1982 [106] _power_off
+0x19EC [551] _watch_swr
+0x1C13 [151] _Voltage_show
+0x1CAA [78] _pic_init
+0x1CF8 [259] _main
+//** Variables locations **
+//ADDRESS SIZE VARIABLE
+//----------------------------------------------
+0x0000 [1] INDF0
+0x0001 [1] INDF1
+0x0003 [1] STATUS
+0x0004 [1] FSR0L
+0x0005 [1] FSR0H
+0x0006 [1] FSR1L
+0x0007 [1] FSR1H
+0x000A [1] PCLATH
+0x000B [0] GIE_bit
+0x000C [1] PORTA
+0x000D [1] PORTB
+0x000E [1] PORTC
+0x000F [1] PORTD
+0x0010 [1] PORTE
+0x0011 [1] TRISA
+0x0012 [1] TRISB
+0x0013 [1] TRISC
+0x0014 [1] TRISD
+0x0015 [1] TRISE
+0x0016 [0] LATA3_bit
+0x0016 [0] LATA2_bit
+0x0016 [0] C_22
+0x0016 [0] OLED_PWD
+0x0016 [1] LATA
+0x0016 [0] C_220
+0x0016 [0] C_100
+0x0016 [0] LATA7_bit
+0x0016 [0] LATA4_bit
+0x0016 [0] LATA5_bit
+0x0016 [0] LATA6_bit
+0x0017 [1] LATB
+0x0017 [0] Green
+0x0017 [0] Red
+0x0017 [0] LATB4_bit
+0x0017 [0] LATB3_bit
+0x0018 [0] L_1000
+0x0018 [0] LATC5_bit
+0x0018 [0] L_220
+0x0018 [0] LATC4_bit
+0x0018 [0] L_450
+0x0018 [0] LATC2_bit
+0x0018 [0] LATC6_bit
+0x0018 [0] Rel_to_plus_N
+0x0018 [1] LATC
+0x0018 [0] LATC7_bit
+0x0018 [0] C_2200
+0x0018 [0] C_470
+0x0018 [0] LATC1_bit
+0x0018 [0] C_1000
+0x0018 [0] LATC0_bit
+0x0019 [0] Rel_to_gnd
+0x0019 [1] LATD
+0x0019 [0] L_100
+0x0019 [0] L_010
+0x0019 [0] L_022
+0x0019 [0] L_045
+0x0019 [0] LATD5_bit
+0x0019 [0] LATD6_bit
+0x0019 [0] LATD7_bit
+0x0019 [0] LATD4_bit
+0x0019 [0] LATD2_bit
+0x0019 [0] LATD3_bit
+0x001A [0] C_sw
+0x001A [0] C_47
+0x001A [1] LATE
+0x001A [0] LATE0_bit
+0x001A [0] LATE1_bit
+0x001C [1] TMR0L
+0x001D [1] TMR0H
+0x001E [0] T016BIT_bit
+0x001E [0] T0EN_bit
+0x001F [0] T0CS1_bit
+0x001F [0] T0CS2_bit
+0x001F [0] T0CS0_bit
+0x0020 [1] ___math_tempb
+0x0021 [1] __math_tempbD
+0x002F [4] ?lstr12_main
+0x0033 [19] ?lstr22_main
+0x0046 [13] ?lstr23_main
+0x0053 [4] _Disp_time
+0x0057 [4] _Off_time
+0x005B [4] ?lstr24_main
+0x005F [5] ?lstr21_main
+0x0064 [1] _btn_1_cnt
+0x0065 [10] ?lstr18_main
+0x006F [1] oled_control_oled_shift
+0x0070 [1] R0
+0x0071 [1] R1
+0x0072 [1] R2
+0x0073 [1] R3
+0x0074 [1] R4
+0x0075 [1] R5
+0x0076 [1] R6
+0x0077 [1] R7
+0x0078 [1] R8
+0x0079 [1] R9
+0x007A [1] R10
+0x007B [1] R11
+0x007C [1] R12
+0x007D [1] R13
+0x007E [1] R14
+0x007F [1] R15
+0x008C [2] ADRES
+0x0093 [1] ADCON0
+0x0094 [1] ADCON1
+0x0095 [1] ADCON2
+0x0096 [1] ADCON3
+0x009A [1] ADREF
+0x009E [1] ADPCH
+0x00A0 [6] ?lstr19_main
+0x00A6 [2] ?lstr20_main
+0x00A8 [2] _max_for_start
+0x00AA [12] ?lstr13_main
+0x00B6 [10] ?lstr9_main
+0x00C0 [2] ?lstr10_main
+0x00C2 [2] _min_for_start
+0x00C4 [2] _Rel_Del
+0x00C6 [1] _btn_2_cnt
+0x00C7 [2] oled_control_oled_addr
+0x00C9 [1] oled_control_shift_line
+0x00CA [1] oled_control_inversion
+0x00CB [10] ?lstr8_main
+0x00D5 [10] ?lstr15_main
+0x00DF [5] ?lstr16_main
+0x00E4 [2] ?lstr17_main
+0x00E6 [2] ?lstr5_main
+0x00E8 [2] ?lstr6_main
+0x00EA [2] _Auto_delta
+0x00EC [1] _step_ind
+0x00ED [1] _step_cap
+0x00EE [1] _SW
+0x00EF [1] _cap
+0x0120 [10] ?lstr7_main
+0x012A [5] ?lstr11_main
+0x012F [12] ?lstr14_main
+0x013B [4] _btn_cnt
+0x013F [1] _ind
+0x0140 [2] _SWR_ind
+0x0142 [4] _volt_cnt
+0x0146 [2] _PWR_fixed_old
+0x0148 [2] _Voltage_old
+0x014A [2] _SWR_fixed_old
+0x014C [4] _Tick
+0x0150 [4] _watch_cnt
+0x0154 [2] ?lstr3_main
+0x0156 [10] ?lstr2_main
+0x0160 [10] ?lstr1_main
+0x016A [2] ?lstr4_main
+0x016C [4] _off_cnt
+0x01A0 [0] _gre
+0x01A0 [0] _B_xlong
+0x01A0 [0] _E_long
+0x01A0 [0] _E_short
+0x01A0 [0] _B_long
+0x01A0 [0] _Overflow
+0x01A0 [0] _B_short
+0x01A1 [4] _ADC_Get_Sample_Ptr
+0x01A5 [2] _rldl
+0x01A7 [2] _PWR
+0x01A9 [2] _Voltage
+0x01AB [8] _txt_2
+0x01B3 [8] _txt
+0x01BB [2] _SWR
+0x01BD [4] _disp_cnt
+0x01C1 [1] watch_swr_peak_cnt_L0
+0x01C2 [1] watch_swr_cnt_L0
+0x01C3 [2] watch_swr_delta_L0
+0x01C5 [2] watch_swr_PWR_fixed_L0
+0x01C7 [2] watch_swr_SWR_fixed_L0
+0x01C9 [2] FARG_oled_voltage_Voltage
+0x01C9 [1] power_off_btn_cnt_L0
+0x01CB [1] oled_voltage_i_L0
+0x01CC [1] oled_voltage_v_L0
+0x01CD [1] oled_voltage_u0_L0
+0x01CE [1] oled_voltage_u1_L0
+0x01CF [1] oled_voltage_u2_L0
+0x01D0 [1] oled_voltage_u3_L0
+0x01D1 [1] oled_voltage_m_L0
+0x01D2 [2] tune_swr_mem_L0
+0x01D4 [2] tune_ind_mem_L0
+0x01D6 [2] tune_cap_mem_L0
+0x01D8 [1] sharp_ind_range_L0
+0x01D8 [1] sharp_cap_range_L0
+0x01D8 [1] coarse_tune_count_L0
+0x01D9 [1] coarse_tune_mem_cap_L0
+0x01D9 [1] sharp_ind_count_L0
+0x01D9 [1] sharp_cap_count_L0
+0x01DA [1] sharp_ind_max_range_L0
+0x01DA [1] sharp_cap_max_range_L0
+0x01DA [1] coarse_tune_mem_step_cap_L0
+0x01DB [2] coarse_tune_min_swr_L0
+0x01DB [1] sharp_ind_min_range_L0
+0x01DB [1] sharp_cap_min_range_L0
+0x01DC [2] sharp_ind_min_SWR_L0
+0x01DC [2] sharp_cap_min_swr_L0
+0x01DD [1] coarse_tune_step_L0
+0x01DE [1] coarse_cap_count_L0
+0x01DF [2] coarse_cap_min_swr_L0
+0x01E1 [1] coarse_cap_step_L0
+0x01E2 [2] get_swr_tune_cnt_L0
+0x01E4 [2] get_swr_PWR_max_L0
+0x01E6 [4] get_pwr_Forward_L0
+0x01E6 [2] FARG_draw_power_p
+0x01EA [4] get_pwr_Reverse_L0
+0x01EE [2] get_reverse_v_L0
+0x01EE [2] get_forward_v_L0
+0x01EE [2] FARG_correction_input
+0x0220 [1] oled_init_cnt_L0
+0x0220 [2] FARG_draw_swr_s
+0x0220 [1] oled_bat_i_L0
+0x0220 [1] FARG_Relay_set_L
+0x0221 [1] FARG_Relay_set_C
+0x0221 [1] oled_bat_g_L0
+0x0222 [1] FARG_Relay_set_I
+0x0223 [1] FARG_ADC_Get_Sample_channel
+0x0223 [2] FARG_IntToStr_input
+0x0223 [1] FARG_ADC_Init_Advanced_reference
+0x0223 [1] FARG_oled_wr_str_s_page
+0x0223 [1] FARG_oled_wr_str_page
+0x0223 [2] FARG_VDelay_ms_Time_ms
+0x0223 [1] oled_clear_i_L0
+0x0223 [1] FARG_send_command_oled_command
+0x0224 [1] FARG_oled_wr_str_col
+0x0224 [1] oled_clear_r_L0
+0x0224 [1] FARG_oled_wr_str_s_col
+0x0225 [2] FARG_oled_wr_str_s_str
+0x0225 [2] FARG_IntToStr_output
+0x0225 [4] VDelay_ms_NumberOfCyc_L0
+0x0225 [2] FARG_oled_wr_str_str
+0x0227 [2] IntToStr_i_L0
+0x0227 [1] FARG_oled_wr_str_leng
+0x0227 [1] FARG_oled_wr_str_s_len
+0x0228 [1] oled_wr_str_i_L0
+0x0228 [1] oled_wr_str_s_i_L0
+0x0229 [1] oled_wr_str_h_L0
+0x0229 [1] oled_wr_str_s_h_L0
+0x0229 [2] IntToStr_negative_L0
+0x022A [1] oled_wr_str_g_L0
+0x022A [1] oled_wr_str_s_g_L0
+0x022B [2] IntToStr_inword_L0
+0x022B [1] oled_wr_str_w1_L0
+0x022C [1] oled_wr_str_w2_L0
+0x022D [2] FARG_WordToStr_input
+0x022D [1] FARG_set_addressing_pagenum
+0x022E [1] FARG_set_addressing_c_start
+0x022F [2] FARG_WordToStr_output
+0x022F [1] set_addressing_a_L0
+0x0230 [1] set_addressing_b_L0
+0x0231 [1] WordToStr_len_L0
+0x0231 [1] set_addressing_c_L0
+0x0232 [2] FLOC__WordToStr
+0x0234 [1] FARG_Soft_I2C_Write_d
+0x070C [0] TMR0IF_bit
+0x0716 [0] IOCIE_bit
+0x0716 [0] TMR0IE_bit
+0x0796 [0] SYSCMD_bit
+0x0796 [1] PMD0
+0x0797 [1] PMD1
+0x0798 [1] PMD2
+0x0799 [1] PMD3
+0x079A [1] PMD4
+0x079B [1] PMD5
+0x090C [1] FVRCON
+0x0990 [0] C1ON_bit
+0x0994 [0] C2ON_bit
+0x1F38 [1] ANSELA
+0x1F3A [0] ODCA2_bit
+0x1F3A [0] ODCA3_bit
+0x1F43 [0] ANSB2_bit
+0x1F43 [0] ANSB1_bit
+0x1F43 [0] ANSB0_bit
+0x1F43 [1] ANSELB
+0x1F49 [0] IOCBN5_bit
+0x1F4A [0] IOCBF5_bit
+0x1F4E [1] ANSELC
+0x1F59 [1] ANSELD
+0x1F5B [0] ODCD1_bit
+0x1F5B [0] ODCD2_bit
+0x1F64 [1] ANSELE
+//** Constants locations **
+//ADDRESS SIZE CONSTANT
+//----------------------------------------------
+0x0003 [1] ?ICSoled_control_oled_shift
+0x07F9 [5] ?ICS?lstr11_main
+0x07FE [1] ?ICS_SW
+0x07FF [1] ?ICS_cap
+0x0FF3 [12] ?ICS?lstr14_main
+0x0FFF [1] ?ICS_step_cap
+0x17BD [4] ?ICS?lstr12_main
+0x17C1 [19] ?ICS?lstr22_main
+0x17D4 [13] ?ICS?lstr23_main
+0x17E1 [4] ?ICS_Disp_time
+0x17E5 [4] ?ICS_Off_time
+0x17E9 [4] ?ICS?lstr24_main
+0x17ED [5] ?ICS?lstr21_main
+0x17F2 [1] ?ICS_btn_1_cnt
+0x17F3 [10] ?ICS?lstr18_main
+0x17FD [2] ?ICS_Auto_delta
+0x17FF [1] ?ICS_step_ind
+0x1DFF [480] oled_control_font_5x8
+0x1FDF [10] ?ICS?lstr7_main
+0x1FE9 [4] ?ICS_btn_cnt
+0x2000 [1] ?ICS_ind
+0x2001 [2] ?ICS_SWR_ind
+0x2003 [4] ?ICS_volt_cnt
+0x2007 [2] ?ICS_PWR_fixed_old
+0x2009 [2] ?ICS_Voltage_old
+0x200B [2] ?ICS_SWR_fixed_old
+0x200D [4] ?ICS_Tick
+0x2011 [4] ?ICS_watch_cnt
+0x2015 [2] ?ICS?lstr3_main
+0x2017 [10] ?ICS?lstr2_main
+0x2021 [10] ?ICS?lstr1_main
+0x202B [2] ?ICS?lstr4_main
+0x202D [44] oled_control_batt
+0x2059 [6] ?ICS?lstr19_main
+0x205F [2] ?ICS?lstr20_main
+0x2061 [2] ?ICS_max_for_start
+0x2063 [12] ?ICS?lstr13_main
+0x206F [10] ?ICS?lstr9_main
+0x2079 [2] ?ICS?lstr10_main
+0x207B [2] ?ICS_min_for_start
+0x207D [2] ?ICS_Rel_Del
+0x207F [1] ?ICS_btn_2_cnt
+0x2080 [2] ?ICSoled_control_oled_addr
+0x2082 [1] ?ICSoled_control_shift_line
+0x2083 [1] ?ICSoled_control_inversion
+0x2084 [10] ?ICS?lstr8_main
+0x208E [10] ?ICS?lstr15_main
+0x2098 [5] ?ICS?lstr16_main
+0x209D [2] ?ICS?lstr17_main
+0x209F [2] ?ICS?lstr5_main
+0x20A1 [2] ?ICS?lstr6_main
diff --git a/Firmware/ATU-10_FW_13/ATU-10.mcppi b/Firmware/ATU-10_FW_13/ATU-10.mcppi
new file mode 100644
index 0000000..e543ce2
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/ATU-10.mcppi
@@ -0,0 +1,77 @@
+[DEVICE]
+Name=P16LF18877
+Clock=32000000
+[MEMORY_MODEL]
+Value=0
+[BUILD_TYPE]
+Value=0
+[ACTIVE_TAB]
+Value=main.c
+[USE_EEPROM]
+Value=0
+[USE_HEAP]
+Value=0
+[HEAP_SIZE]
+Value=0
+[EEPROM_DEFINITION]
+Value=
+[FILES]
+File0=pic_init.c
+File1=oled_control.c
+File2=Soft_I2C.c
+File3=main.c
+Count=4
+[BINARIES]
+Count=0
+[IMAGES]
+Count=0
+ActiveImageIndex=-1
+[OPENED_FILES]
+File0=pic_init.c
+File1=main.c
+File2=main.h
+File3=pic_init.h
+File4=oled_control.c
+File5=oled_control.h
+File6=Soft_I2C.c
+Count=7
+[EEPROM]
+Count=0
+[ACTIVE_COMMENTS_FILES]
+Count=0
+[OTHER_FILES]
+Count=0
+[SEARCH_PATH]
+Count=0
+[HEADER_PATH]
+Count=0
+[HEADERS]
+File0=pic_init.h
+File1=oled_control.h
+File2=Soft_I2C.h
+File3=font_5x8.h
+File4=main.h
+Count=5
+[PLDS]
+Count=0
+[Useses]
+File0=Button
+File1=Conversions
+File2=ADC
+Count=3
+[EXPANDED_NODES]
+0=ATU-10.mcppi
+1=Sources
+Count=2
+[LIB_EXPANDED_NODES]
+0=mikroE Libraries
+1=System Libraries
+2=ADC
+Count=3
+[PROGRAMMER_TYPE]
+Value=mikroE mikroProg
+[CODEGRIP_OPTIONS]
+CODEGRIP_SPEED=0
+CODEGRIP_VERIFY_AFTER=0
+CODEGRIP_SWBP_ENABLED=0
+CODEGRIP_PROGRAMMING_TYPE=
diff --git a/Firmware/ATU-10_FW_13/ATU-10_FW_12.hex b/Firmware/ATU-10_FW_13/ATU-10_FW_12.hex
new file mode 100644
index 0000000..d839cde
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/ATU-10_FW_12.hex
@@ -0,0 +1,1143 @@
+:0400000098312F2DD7
+:1000080070084001AE007108AD007208AC007308BA
+:10001800AB007408AA007508A9007608A80077083C
+:10002800A7007808A6007908A5007A08A4007B082C
+:10003800A3007C08A20080314E018C1E30288C124F
+:1000480001304201BB070030BC3DBD3DBE3DC03064
+:1000580040019C00E0309D00420139083E02031D2A
+:100068003F2838083D02031D3F2837083C02031D7E
+:100078003F2836083B02031C13290A30B607003014
+:10008800B73DB83DB93D40018D1A4C2874144D2830
+:1000980074108F1851280314522803107418582804
+:1000A80003185828741059287414741CA328400184
+:1000B8006308F0006408F1006508F2006608F300C0
+:1000C800E830F4000330F500F601F70199217008D3
+:1000D80042013B074301A000710842013C3D430136
+:1000E800A100720842013D3D4301A200730842018C
+:1000F8003E3D4301A30040015F08F0006008F100A5
+:100108006108F2006208F300E830F4000330F500FB
+:10011800F601F7019921700842013B074301A40049
+:10012800710842013C3D4301A500720842013D3D72
+:100138004301A600730842013E3D4301A700400168
+:100148008D1AA8280314A9280310031CC8284001E5
+:10015800FA306D020318B128ED0A6D08193A031D2B
+:10016800B72842016E1440016D08FA3A0130031DA8
+:100178000030F100F001161AF00A7108F0050319B1
+:10018800C7284201EE15DF2840016D08023C013006
+:1001980003180030F10019306D02013003180030E7
+:1001A800F0007108F0050319DE2842016E174001BE
+:1001B800ED01DF28ED0140018F18E4280314E5283C
+:1001C8000310031CFC2819306E020318EC28EE0AF1
+:1001D8006E08143A0130031D0030F100F0010F19C8
+:1001E800F00A7108F0050319FB284201EE141329DF
+:1001F80040016E08013C013003180030F1000A305C
+:100208006E02013003180030F0007108F005031980
+:1002180012294201EE164001EE011329EE014001B8
+:100228002E08F0002D08F1002C08F2002B08F3002E
+:100238002A08F4002908F5002808F6002708F7001E
+:100248002608F8002508F9002408FA002308FB000E
+:060258002208FC00090071
+:10025E00F1010830710203184E294401BF1B3A29DF
+:10026E00400116113C29400116152730FD00FD0BEB
+:10027E003E290000000096152730FD00FD0B452994
+:10028E000000000096114401BF35F10A30294001EB
+:10029E0016152730FD00FD0B5229000000009615A3
+:1002AE0000300C190130F2002730FD00FD0B5D29E6
+:1002BE000000000096112730FD00FD0B64290000A0
+:0802CE0000007208F0000800B6
+:1002D600400196152730FD00FD0B6F290000000038
+:1002E60016152730FD00FD0B7629000000001611BB
+:1002F6002730FD00FD0B7D290000000096112730F8
+:0C030600FD00FD0B842900000000080031
+:08031200FA1FF213003008008D
+:10031A007B15FB1F97290130F300F201F101F0016F
+:08032A00FA0DF20CFF3008008F
+:1003320040012230FC00F801F901FA01FB01FC0343
+:100342000319CE290310FB0CFA0CF90CF80CF30C70
+:10035200F20CF10CF00C031CA029FC030319C029B8
+:100362007408F80775080318750FF907760803185B
+:10037200760FFA0777080318770FFB07A42974088A
+:10038200F80775080318750FF90776080318760F32
+:0C039200FA0777080318770FFB07080034
+:0C039E003A30FD00FD0BD12900000800E2
+:1003AA0040017008F100F0010830FC007108F40CFB
+:1003BA000318E329FC0BDC29F10100340310E829B6
+:1003CA00F40C0318F107F10CF00CFC0BE5290800FA
+:1003DA00400116112730FD00FD0BF1290000000035
+:1003EA0096152730FD00FD0BF829000000001615B0
+:0E03FA002730FD00FD0BFF2900000000080069
+:1004080040016F0844013B07BE006B2141013608DB
+:100418004401BF002F214401BF012F2144013A08A4
+:10042800B03EBF002F2144013E080F3C031C202A88
+:100438003E08BC00BD01312A3E08F200F236F23611
+:10044800F236F2367208BD007208F000F035F03569
+:10045800F035F03570083E02BC003C08BF002F2183
+:1004680044013D08103EBF002F216B214101360891
+:100478004401BF002F2140304401BF002F21080054
+:0E048800F201F101F001F801F301003008006B
+:10049600A1017208031D602A7108F2007008F100BC
+:1004A600F001A1157208031D602A7108F200F1011E
+:1004B600A1112116720803196E2A2108F302031DE1
+:1004C600031C722A0310F21B762AF00DF10DF20DB1
+:1004D600F30B662A722A0130FC004422792A023084
+:0E04E600FC008D21792A0430FC0089210800D9
+:1004F4006B21410136084401BF002F2140304401E3
+:10050400BF002F214401B3013308073C031C9C2A7C
+:100514003308BA00BB0104224401B2014401803013
+:1005240032020318992AB20ABF012F21902A4401EA
+:08053400B30A862AED2108003C
+:10053C0040304401B4001F30B500B601B701403063
+:10054C00F0001F30F1000030F2000030F3003208F0
+:10055C00F4003308F500F601F70199217008440105
+:10056C00B4007108B5007208B6007308B70000300B
+:10057C007302031DCB2A00307202031DCB2A0230FA
+:10058C007102031DCB2AB23070020318CE2AFD2A49
+:10059C00B230B4020230B53B0030B63BB73B05304D
+:1005AC00F00070080319E02AB736B60CB50CB40C81
+:1005BC00FF3ED82A3408F0003508F1003608F20066
+:1005CC003708F3000130B4020030B53BB63BB73B03
+:1005DC0070087104720473040319FD2A00000000F2
+:1005EC00000000000000000000000000E02A0800ED
+:1005FC004001FB01FA01F9018030F800F10CF00C1C
+:10060C00031C112B7408F90775080318750FFA07EA
+:10061C000318FB0A0310F01F192B7408FA0775084E
+:10062C000318750FFB07FB0CFA0CF90CF80C031CE8
+:10063C00042B7B08F3007A08F2007908F1007808A3
+:04064C00F0000800B2
+:10065000710DF80DF90D7408F8027508031C750F7B
+:10066000F902F00DF10D0F30FC00710DF80DF90DD0
+:100670007408701C412BF8027508031C750FF902F1
+:10068000462BF80775080318750FF907F00DF10DE3
+:10069000FC0B352B7018522B7408F80775080318DB
+:0806A000750FF90700000800C6
+:1006A8000B304301AC000430AD003230AE000230F4
+:1006B800AF0041019301940195019601EC309A0530
+:1006C800133044013205F000700841019A04C0302B
+:1006D80044013205F0000319872BC0303205F200BF
+:1006E8000630F1007208F000710803197E2BF0360D
+:1006F800FF3E792B700852018C008C170C1B862B3F
+:100708000000822B8A2B5201FC308C054101131604
+:0607180013159317080001
+:10071E006B21410136084401BF002F218030440176
+:10072E00BF002F2144013208BF002F21ED21080008
+:10073E0044013208BA003308BB0004224401B70159
+:10074E00360837020318D42B3708340784000030DC
+:10075E00353D850020300002B900B8010530380261
+:10076E000318CF2B3908F0000530F400D5214401D1
+:10077E003808F0070030F13D003070078400A030DB
+:10078E00713D85000008BF002F214401B80AB52B2A
+:0E079E00BF012F214401B70AA72BED2108004F
+:1007AC004001F801F9011030FC00710DF80DF90D44
+:1007BC007408F8027508031C750FF9020318ED2B69
+:1007CC007408F80775080318750FF9070310F00D76
+:0807DC00F10DFC0BDB2B080002
+:1007E4007B14FB1FFD2BF201FA1FFF30F200F10016
+:0A07F400F000FA0DF20CFF300800CF
+:1007FE00FB14FB1F092CFF30F300F200F100F00098
+:08080E00FA0DF20CFF300800A6
+:100816003F304401320541019E00CF2113140000F0
+:10082600131C162C132C0C08F0000D08F100080000
+:1008360044012818212C40019917232C40019913B3
+:100846004401A818292C400119172B2C4001191313
+:1008560044012819312C40019916332C4001991274
+:100866004401A819392C400119163B2C40011912D4
+:100876004401281A412C40019817432C4001981333
+:100886004401A81A492C400118174B2C4001181393
+:100896004401281B512C40019816532C40019812F4
+:1008A60044012918592C400196165B2C40019612DA
+:1008B6004401A918612C40019A14632C40019A1036
+:1008C60044012919692C400196176B2C4001961397
+:1008D6004401A919712C40011617732C40011613F7
+:1008E6004401291A792C400118147B2C4001181058
+:1008F6004401A91A812C40019814832C40019810B8
+:100906004401291B892C400118158B2C4001181114
+:1009160044012A18912C40011A10932C40011A14F4
+:10092600991541014B084401B20041014C084401AC
+:10093600B3009E22400199111A30FD00FD0BA12C37
+:100946000000181241014B084401B20041014C0855
+:100956004401B3009E224001181641014B08440190
+:10096600B20041014C084401B3009E224001991394
+:1009760019139912191298131813981296129A109D
+:0C09860096131613181098101811080092
+:1009920040017008F8007108F000F101F201F30162
+:1009A200FB01FC019630F300FA01F01FDE2CF8097E
+:1009B200F009F80A0319F00AFA177008F10078082A
+:0A09C200F000F801F2014B220800DA
+:1009CC007408F8027508031C750FF9027608031CED
+:1009DC00760FFA027708031C770FFB02F30D073032
+:1009EC00FC00730DF80DF90DFA0DFB0D7408731C5A
+:1009FC000D2DF8027508031C750FF9027608031CFF
+:100A0C00760FFA027708031C770FFB021A2DF807F2
+:100A1C0075080318750FF90776080318760FFA078F
+:100A2C0077080318770FFB07F30DFC0BF72C720DEF
+:100A3C00F80DF90DFA0DFB0D7408731C332DF8022B
+:100A4C007508031C750FF9027608031C760FFA0261
+:100A5C007708031C770FFB02402DF8077508031865
+:100A6C00750FF90776080318760FFA07770803183D
+:100A7C00770FFB07F20D0730FC00720DF80DF90D26
+:100A8C00FA0DFB0D7408721C592DF8027508031C25
+:100A9C00750FF9027608031C760FFA027708031C0F
+:100AAC00770FFB02662DF80775080318750FF90709
+:100ABC0076080318760FFA0777080318770FFB07E9
+:100ACC00F20DFC0B432D710DF80DF90DFA0DFB0D0C
+:100ADC007408721C7F2DF8027508031C750FF9023F
+:100AEC007608031C760FFA027708031C770FFB02BB
+:100AFC008C2DF80775080318750FF907760803187D
+:100B0C00760FFA0777080318770FFB07F10D0730FC
+:100B1C00FC00710DF80DF90DFA0DFB0D7408711C2C
+:100B2C00A52DF8027508031C750FF9027608031C35
+:100B3C00760FFA027708031C770FFB02B22DF80729
+:100B4C0075080318750FF90776080318760FFA075E
+:100B5C0077080318770FFB07F10DFC0B8F2D700D29
+:100B6C00F80DF90DFA0DFB0D7408711CCB2DF80264
+:100B7C007508031C750FF9027608031C760FFA0230
+:100B8C007708031C770FFB02D82DF807750803189C
+:100B9C00750FF90776080318760FFA07770803180C
+:100BAC00770FFB07F00D0730FC00700DF80DF90DF9
+:100BBC00FA0DFB0D7408701CF12DF8027508031C5E
+:100BCC00750FF9027608031C760FFA027708031CDE
+:100BDC00770FFB02FE2DF80775080318750FF90740
+:100BEC0076080318760FFA0777080318770FFB07B8
+:100BFC00F00DFC0BDB2D7018112E7408F80775081E
+:100C0C000318750FF90776080318760FFA0777089B
+:080C1C000318770FFB07080025
+:100C24006B21410136084401BF002F214401BF015B
+:100C34002F21AE304401BF002F21D5304401BF0025
+:100C44002F2180304401BF002F21A8304401BF0070
+:100C54002F213F304401BF002F21D3304401BF0076
+:100C64002F21410138084401BF002F2140304401A5
+:100C7400BF002F218D304401BF002F2114304401C7
+:100C8400BF002F2181304401BF002F21FF304401D8
+:100C9400BF002F21D9304401BF002F21F13044017E
+:100CA400BF002F2120304401BF002F210230440116
+:100CB400BF002F2121304401BF002F214401BF0177
+:100CC4002F217F304401BF002F212E304401BF006B
+:100CD4002F21410139080319782EA0304401BF00A7
+:100CE4002F21C0304401BF002F21802EA1304401A8
+:100CF400BF002F21C8304401BF002F21DA30440146
+:100D0400BF002F2102304401BF002F21DB304401FA
+:100D1400BF002F2140304401BF002F21A4304401E3
+:100D2400BF002F21A6304401BF002F21ED217A22DC
+:0A0D3400AF304401B2008F23080025
+:100D3E004001FB017308031D77080319F52E720895
+:100D4E007606FA007708F3077E30031CB22EF30204
+:100D5E000318F82EB52EF302031CFB2E7208F800B2
+:100D6E007108FC007008FD00F817F6170310F20169
+:100D7E00F101F0011830A1007D1CCF2E7408F00790
+:100D8E0075080318750FF10776080318760FF2072A
+:100D9E00F20CF10CF00CF80CFC0CFD0C0310A10B7A
+:100DAE00C32EF21BDF2EF80DF00DF10DF20DF30335
+:100DBE007B1B701CF12EF81FF12EF00A0319F10A9D
+:100DCE000319F20A031DF12EF20CF10CF00CF30ACA
+:100DDE000319F82EFA1FF2130030FD2E01304422B3
+:100DEE00FD2E0230FF23FD2E04308D210000080061
+:100DFE006B21410136084401BF002F2140304401D0
+:100E0E00BF002F214401A9012908033C031C322FE6
+:100E1E002908BA007330BB0004224401A801280837
+:100E2E000A3C031C302F2908F0000B30F400D521AA
+:100E3E0044012808F0070030F13DDE3070078400D1
+:100E4E009E30713D85000008BF002F214401A80A85
+:0A0E5E00162FA90A0B2FED21080042
+:100E68004001FB0173080319702F7208FA00F2178A
+:100E78008E30F302F31F732FF309F30A083073025D
+:100E8800031C562FF300F10D7208F100F20108302F
+:100E98007302031C562FF300F10DF1017308031DB3
+:100EA80003105E2F730803195E2F0310F20CF10C68
+:100EB800F30B592F7B1B711C682F031C682FF10A39
+:100EC8000319F20AF21B7F2FFA1F822FF209F10988
+:100ED800F10A0319F20A822FF201F101822F7B1421
+:100EE800FB1F852FF201FA1F852FFF30F200F1005A
+:100EF800FA0DF20C852F0130FC00872F0030FC0022
+:100F0800872FFF30FC00FC0803198B2FF223710890
+:080F1800F0007208F10008006E
+:100F20007408003A031D9D2F7508003A031D9D2F7C
+:100F3000FF30F0007F30F100F52F4001FD01F90195
+:100F4000F801710870040319003471087506FA007D
+:100F5000FA1BFD09FB01F51FB22FF409F509F40A8C
+:100F60000319F50AF11FB92FF009F109F00A031965
+:100F7000F10A71087504FA00FA1BCE2F28237B189A
+:100F8000E12FFD1F0034F009F109F00A0319F10AFD
+:100F9000F809F909F80A0319F90A0034F51FDD2FD9
+:100FA000F11BD92F7108F9007008F800F101F00168
+:100FB000C12FF101F001F00A0034F109F009FB0A38
+:100FC000BE2FF80A0319F90A74087802031DC12F0D
+:100FD00075087902031DC12FF901F801F00A031900
+:0C0FE000F10AF11FC12F0000FF340800CF
+:060FEC00FB15FF300800B8
+:1010000080316B218831410136084401BF008031B5
+:101010002F21883140304401BF0080312F21883199
+:1010200044012808BA002908BB0080310422883115
+:101030004401AD012C082D020318B3282D082A07FE
+:10104000840000302B3D85000008003A031D2A284B
+:10105000AF0133282D082A07840000302B3D85007E
+:1010600020300002AF00AE012E08043C031CA7286C
+:101070002F08F0000530F4008031D521883144017B
+:101080002E08F0070030F13D003070078400A030DA
+:10109000713D85000008B0002808023A031979283C
+:1010A000B0195428B1135528B117B0195928311364
+:1010B0005A28311730195E28B1125F28B11630193D
+:1010C0006328311264283116B0186828B1116928D4
+:1010D000B115B0186D2831116E28311530187228ED
+:1010E000B1107328B11430187728311078283114D2
+:1010F000992830197D28B1137E28B117301982281C
+:10110000311383283117B0188728B1128828B116F7
+:10111000B0188C2831128D28311630189128B11151
+:101120009228B11530189628311197283115B11031
+:1011300031103108BF0080312F218831440131083E
+:10114000BF0080312F2188314401AE0A3428BF010D
+:1011500080312F2188314401BF0180312F21883116
+:101160004401AD0A1A28280ABA002908BB008031B8
+:10117000042288314401AD012C082D0203185D2999
+:101180002D082A07840000302B3D85000008003A16
+:10119000031DCC28AF01D5282D082A078400003074
+:1011A0002B3D850020300002AF00AE012E08043C2C
+:1011B000031C51292F08F0000530F4008031D5219F
+:1011C000883144012E08F0070030F13D00307007EF
+:1011D0008400A030713D85000008B0002808023A64
+:1011E00003191B29B01BF628B113F728B117B01B40
+:1011F000FB283113FC283117301B0029B1120129BB
+:10120000B116301B0529311206293116B01A0A29E8
+:10121000B1110B29B115B01A0F293111102931154F
+:10122000301A1429B1101529B114301A19293110A6
+:101230001A2931144329301B1F29B1132029B11752
+:10124000301B2429311325293117B01A2929B1124D
+:101250002A29B116B01A2E2931122F293116301A27
+:101260003329B1113429B115301A382931113929EE
+:101270003115B0193D29B1103E29B114B0194229D8
+:101280003110432931143108BF0080312F218831BA
+:1012900044013108BF0080312F2188314401AE0A5A
+:1012A000D628BF0180312F2188314401BF01803110
+:1012B0002F2188314401AD0ABC288031ED218831CD
+:0212C000080024
+:0812C2008031ED2188310800A4
+:1012CA00FB09FA09F909F809F80A0319F90A0319CD
+:0812DA00FA0A0319FB0A0800DF
+:1012E2004401AC0105302C02031881292C082A077D
+:1012F200860000302B3D870020308100AC0A732924
+:101302002C082A07860000302B3D87008101AC03A0
+:101312002C082A07AD0000302B3DAE000A30F40045
+:10132200F5012808F0002908F1008031D623883120
+:101332007808F0007908F1003030F00744012D08F8
+:1013420086002E088700700881000A30F400F5013B
+:101352002808F0002908F1008031D623883170086E
+:101362004401A8007108A90000307106031DBB29C1
+:1013720000307006031DBE29C029AC03892908006C
+:101382004001971180317A22883101304401B20044
+:10139200B3013B30B4000030B5001230B6008031EA
+:1013A2009F23883103304401B200B3014E30B400B0
+:1013B2000030B5000C30B60080319F2388310330F5
+:1013C2004401B2005430B3005B30B4000030B500C9
+:1013D2000330B60080319F2388317A30FB00C13060
+:1013E200FC008130FD00FD0BF429FC0BF429FB0B02
+:1013F200F429000000008D1A002A0314012A0310A8
+:0C140200031C052A0000FC2997150800B7
+:10140E007C183D2AFC180E2A7C19622A072AA10193
+:10141E007208031D2E2A7108F2007008F100780878
+:10142E00F000F801A1157208031D2E2A7108F200B2
+:10143E007008F100F001A11121167208031D2E2A69
+:10144E007108F200F101A11572080319502A210842
+:10145E00F302031D031C562A0310F21B3D2AF80D3E
+:10146E00F00DF10DF20DF30B342A562A7B1B701C76
+:10147E005C2AF81F5C2AF00A0319F10A0319F20A12
+:10148E00031D5C2AF20CF10CF00CF30A0319622A0C
+:10149E005C2A0130FC00803144228831672A0230F8
+:1014AE00FC0080318D218831672A0430FC008031A8
+:1014BE0089218831672A0830FC008031FF2388316A
+:0414CE000000080012
+:1014D20043304401B2008031542388310230FC0091
+:1014E2000830FD00FD0B732AFC0B732A0000093043
+:1014F2004401B20080310B2488310B30F4000030FB
+:10150200F5008031FE22883170084301BC00710869
+:04151200BD00080010
+:1015160043016E08F1006F08F200F135F20D710813
+:10152600EE007208EF008030023AF000803072065A
+:101536007002031DA02A71084C3C031CA72A7830B0
+:10154600EE070130EF3D772B8030033AF000803014
+:101556006F067002031DB12A6E08723C031CB82A7E
+:101566009030EE070130EF3D772B8030053AF000E2
+:1015760080306F067002031DC22A6E08213C031CD0
+:10158600C92ADC30EE070130EF3D772B8030073A71
+:10159600F00080306F067002031DD32A6E086C3C83
+:1015A600031CDA2A0230EE070230EF3D772B80303B
+:1015B600093AF00080306F067002031DE42A6E08B7
+:1015C6006E3C031CEB2A3830EE070230EF3D772BDA
+:1015D60080300A3AF00080306F067002031DF52A4B
+:1015E6006E08483C031CFC2A8430EE070230EF3DAF
+:1015F600772B80300B3AF00080306F067002031DA7
+:10160600062B6E087E3C031C0D2BDC30EE070230E9
+:10161600EF3D772B80300C3AF00080306F06700279
+:10162600031D172B6E08A03C031C1E2B1030EE0763
+:101636000330EF3D772B80300C3AF00080306F0698
+:101646007002031D282B6E08FC3C031C2F2BE03078
+:10165600EE070330EF3D772B80300E3AF0008030F6
+:101666006F067002031D392B6E08883C031C402B45
+:10167600E830EE070330EF3D772B8030103AF0006C
+:1016860080306F067002031D4A2B6E08F43C031C63
+:10169600512B8830EE070430EF3D772B8030123A1D
+:1016A600F00080306F067002031D5B2B6E08C83C8D
+:1016B600031C622B5030EE070530EF3D772B803050
+:1016C600143AF00080306F067002031D6C2B6E0812
+:1016D600983C031C732B9030EE070530EF3D772BBB
+:1016E6009830EE070530EF3D6E08F0006F08F10008
+:0216F6000800EA
+:1016F80043304401B2008031542388310230FC0069
+:101708000830FD00FD0B862BFC0B862B00000A30F1
+:101718004401B20080310B24883170084301EE0087
+:101728007108EF007108033A031D9C2BFF30700607
+:10173800031DBA2B83304401B20080315423883111
+:101748000230FC000830FD00FD0BA82BFC0BA82B79
+:1017580000000A304401B20080310B24883170083F
+:101768004301EE007108EF00EE35EF0D6F08073A00
+:10177800031DC02BFE306E06031D152C6922440183
+:10178800B2018031542388310230FC000830FD005A
+:10179800FD0BCC2BFC0BCC2B000008304401B20015
+:1017A80080310B24883170084401A4007108A50019
+:1017B80024084301EE00440125084301EF000030EE
+:1017C800F4000430F5003C08F0003D08F1008031D9
+:1017D800902788318031C924883170084401A000DD
+:1017E8007108A1007208A2007308A3002408F00081
+:1017F8002508F1008031C924883144012008F4000B
+:101808002108F5002208F6002308F70080319F26FA
+:10181800883180313427883170084301EE0071081F
+:0C182800EF006E08F0006F08F1000800EF
+:101834007408003A031D332C7508003A031D332C39
+:101844007608003A031D332C7708003A031D332C25
+:10185400FF30F000FF30F1007F30F200FF30F30082
+:10186400D52C400177080319C12C73080319C62C21
+:10187400720876068039FA00F217F617A101720889
+:10188400F8007108FC007008FD007408FD0275087A
+:10189400031C750FFC027608031C760FF802F8018E
+:1018A400FC01FD01031C5D2C0310F20CF10CF00C87
+:1018B400F80C0130A1007708F302031C672C7E307A
+:1018C4002107F3070318CB2C6C2C7E302107F30778
+:1018D400031CD02C1830FA07FD0DFC0DF80DF00D8B
+:1018E400F10DF20DA10D7408F0027508031C750FBB
+:1018F400F1027608031C760FF202760DA104211C76
+:10190400852C7D14902C7408F00775080318750F46
+:10191400F10776080318760AF2077D10FA031F30E0
+:101924007A05031D6E2C7B1B7D1CB72C0310F00D58
+:10193400F10DF20DA10D7408F0027508031C750F6A
+:10194400F1027608031C760FF202760D21040139A8
+:10195400FD070318FC0A0319F80A031DB72CF80C39
+:10196400FC0CFD0CF30A0319CB2CFA1FF8137808AE
+:10197400F2007C08F1007D08F0000030D42C013026
+:101984008031F6278831D42C0230803144228831CA
+:10199400D42C04308031FF238831D42C083080319A
+:0819A4008D21883100000800CC
+:1019AC00400172087606A100F801F901730877026C
+:1019BC00031CF82C7708FD007308F7007D08F30072
+:1019CC007608FD007208F6007D08F2007508FD002F
+:1019DC007108F5007D08F1007408FD007008F40032
+:1019EC007D08F00077080319752D7208FA00F217BC
+:1019FC00F61777087302F70003192B2D08307702BE
+:101A0C00031C212DF7007408F9007508F400760802
+:101A1C00F500F60108307702031C212DF70074083D
+:101A2C00F9007508F400F50108307702031C212D2C
+:101A3C007A08F200752D770803192B2D0310F60C7C
+:101A4C00F50CF40CF90CF70B242DA11F382DF9090A
+:101A5C00F409F509F609F90A0319F40A0319F50A48
+:101A6C000319F60A7908F80774080318740FF007BD
+:101A7C0075080318750FF10776080318760FF2072F
+:101A8C00A11B512D031C612DF20CF10CF00CF80C68
+:101A9C00F30F612D6F2D0318652DF809F009F1096D
+:101AAC00F209F80A0319F00A0319F10A0319F20AE8
+:101ABC008030FA06692D0130FC000722772D0230A8
+:101ACC00FC000722772D0430FC0080314B2288313A
+:101ADC00772D0830FC008031FF238831772D0030C2
+:061AEC00FC0000000800F0
+:101AF2007408003A031D922D7508003A031D922DB9
+:101B02007608003A031D922D7708003A031D922DA4
+:101B1200FF30F000FF30F100FF30F2007F30F300C1
+:101B22002C2E4001FC01F71BFC0AFD01FB01FA010E
+:101B3200F901F80173087204710470040319272E65
+:101B420073087706A000A01BFD09F71FB32DF40947
+:101B5200F509F609F709F40A0319F50A0319F60A51
+:101B62000319F70AF31FC02DF009F109F209F3096D
+:101B7200F00A0319F10A0319F20A0319F30A7308A6
+:101B82007704A000A01BE32D8031E6248831FC1BE2
+:101B9200002EFD1F272EF009F109F209F309F00AC0
+:101BA2000319F10A0319F20A0319F30AF809F909E8
+:101BB200FA09FB09F80A0319F90A0319FA0A0319BF
+:101BC200FB0A272EF71FFA2DF31BF42D7308FB00D7
+:101BD2007208FA007108F9007008F800F301F201C6
+:101BE200F101F001CA2DF301F201F101F001F00A55
+:101BF2000034F309F209F109F009FC17C52DF80ABE
+:101C02000319F90A0319FA0A0319FB0A740878027C
+:101C1200031DCA2D75087902031DCA2D76087A02A2
+:101C2200031DCA2D77087B02031DCA2DFB01FA0191
+:101C3200F901F801F00A0319F10A0319F20A03196A
+:101C4200F30AF31FCA2DA0012016FF34A0017C1C49
+:081C52002B2E6521003E080065
+:101C5A0043304401B2008031542388310230FC0001
+:101C6A000830FD00FD0B372EFC0B372E0000083024
+:101C7A004401B20080310B24883170084301EE0020
+:101C8A007108EF007108033A031D4D2EFF307006EC
+:101C9A00031D6B2E83304401B200803154238831F6
+:101CAA000230FC000830FD00FD0B592EFC0B592EAA
+:101CBA00000008304401B20080310B2488317008DA
+:101CCA004301EE007108EF00EE35EF0D6F08073A99
+:101CDA00031D712EFE306E06031DCB2E69224401B0
+:101CEA00B2018031542388310230FC000830FD00F3
+:101CFA00FD0B7D2EFC0B7D2E000008304401B20046
+:101D0A0080310B24883170084301EE007108EF001E
+:101D1A007108033A031D932EFF307006031D972E98
+:101D2A0042016E150030F4000430F50043013C080E
+:101D3A00F0003D08F1008031902788318031C924B4
+:101D4A00883170084401A0007108A1007208A2003D
+:101D5A007308A30043016E08F0006F08F100803198
+:101D6A00C924883144012008F4002108F50022081A
+:101D7A00F6002308F70080319F2688318031342706
+:101D8A00883170084301EE007108EF006E08F00018
+:061D9A006F08F1000800D3
+:101DA000400116160930FB001E30FC00E430FD0037
+:101DB000FD0BD82EFC0BD82EFB0BD82E000061217A
+:101DC0006830FC00E430FD00FD0BE42EFC0BE42E3B
+:101DD000000080311226883142016E1EF52EC1218D
+:101DE00042016E1280317A2288314401A801A90192
+:101DF0004F30AA000130AB000930AC000020803128
+:101E0000FF26883102304401A800A9014330AA000E
+:101E10000130AB000930AC0000204401A8012A3099
+:101E2000A9004D30AA000130AB000130AC00002009
+:101E300002304401A8002A30A9003530AA00003041
+:101E4000AB000130AC0000200F30B7002730B800E5
+:101E50000F30B9002730BA000F30B3002730B4007C
+:101E60000F30AF002730B000B101B20101304201A4
+:101E70003B07EA0000303C3DEB0000303D3DEC000C
+:101E800000303E3DED003B08BF003C08C0003D086F
+:101E9000C1003E08C2006E136E10EE1140016308CF
+:101EA000F0006408F1006508F2006608F300E8300D
+:101EB000F4000330F500F601F701803199218831F3
+:101EC000700842013B074301A000710842013C3DFC
+:101ED0004301A100720842013D3D4301A200730885
+:101EE00042013E3D4301A30040015F08F00060084D
+:101EF000F1006108F2006208F300E830F4000330FA
+:101F0000F500F601F701803199218831700842010E
+:101F10003B074301A400710842013C3D4301A50079
+:101F2000720842013D3D4301A600730842013E3D57
+:061F30004301A7000800B8
+:101F36004101ED014201BA014101EE014401A8014E
+:0C1F4600A901AA0180311B248831080089
+:101F5200003043015706031DB02F00305606031D03
+:101F6200BF2F02304401A8003C30A900E730AA008C
+:101F72000030AB000430AC000020E32F43015608D0
+:101F82004401A000430157084401A100BE30A20051
+:101F92000130A30090310020883143014108B40090
+:101FA2002E30B5004208B6004308B70002304401A3
+:101FB200A8003C30A900B430AA000130AB000430C4
+:061FC200AC000020080045
+:101FC8004001971116169031B9258831430132081E
+:101FD8004001B100430133084001B20097154201A6
+:041FE800EE100800EF
+:101FEC0012001E00F003031DF62FF103031DF62F44
+:021FFC000800DB
+:102000004401A401A5012008A6002108A7008030F2
+:102010002106F00080307002031D102800302002DD
+:1020200003181E280130A4000030A5002008003C41
+:10203000A6002108031C013EA701A7022608A8004C
+:102040002708A9002208AA002308AB0088317121C3
+:10205000903106304301EE000030EF006F08003C85
+:10206000031D34286E08003C031855286E084401EF
+:102070002207860043016F084401233D8700013099
+:1020800043016E02F00000306F3BF1007008440124
+:10209000220784007108233D85000008810001307B
+:1020A0004301EE020030EF3B2E2844012208860057
+:1020B000230887002030810024082504031985287F
+:1020C0004301EE01EF016E08440122078400430141
+:1020D0006F084401233D85000008203A031D752840
+:1020E0004301EE0A0319EF0A632843010130EE02AF
+:1020F0000030EF3B6E0844012207860043016F0861
+:0C2100004401233D87002D3081000800C1
+:10210C004001971188319B27903102304401A8007F
+:10211C00A9012030AA000130AB000930AC00883195
+:10212C00002090311930FB005A30FC00B130FD001A
+:10213C00FD0B9E28FC0B9E28FB0B9E28000000002C
+:10214C0002304401A800A9015B30AA000130AB00A9
+:10215C000530AC0088310020903102304401A800D9
+:10216C002A30A9005930AA000130AB000130AC0074
+:10217C0088310020903102304401A8003C30A90085
+:10218C006530AA000130AB000430AC00883100206F
+:10219C0090310D30FB002D30FC00D730FD00FD0BD5
+:1021AC00D528FC0BD528FB0BD52800000000971573
+:1021BC0042016E13EE123B08EA003C08EB003D08AE
+:1021CC00EC003E08ED003B08BF003C08C0003D0899
+:0821DC00C1003E08C20008002A
+:1021E40088312D2690317008E6007108E700003030
+:1021F400E71BFF30E800E90088317C239031700848
+:10220400EA007108EB000030EB1BFF30EC00ED003E
+:102214006608EE006708EF0088318B229031803128
+:10222400C92490310030F4000030F5002030F6006D
+:102234008130F70080319F2690310030F400003067
+:10224400F5007A30F6008830F70088311A2490318E
+:10225400F430F400FD30F5003430F6007F30F70040
+:1022640088311A2490317008F4007108F50072085E
+:10227400F6007308F70080319F2690310030F40097
+:102284000030F5002030F6008130F70088311A2440
+:1022940090310030F4000030F5000030F6007E305C
+:1022A400F7008831D624903180313427903170087A
+:1022B4004301B0007108B1008030F2008030710633
+:1022C4007202031D67297008003C0318BB294001F2
+:1022D400161EB8296308F0006408F1006508F200CE
+:1022E4006608F300E830F4000330F500F601F70166
+:1022F400803199219031700842013B074301A000CD
+:10230400710842013C3D4301A100720842013D3D78
+:102314004301A200730842013E3D4301A300400172
+:102324005F08F0006008F1006108F2006208F30041
+:10233400E830F4000330F500F601F701803199210B
+:102344009031700842013B074301A4007108420127
+:102354003C3D4301A500720842013D3D4301A600F6
+:10236400730842013E3D4301A700BB298831D026B2
+:10237400903180306D06F000803069067002031DD4
+:10238400CD2968086C02031DCD2967086B02031D63
+:10239400CD2966086A02031CD629E730E60003301B
+:1023A400E700E801E901202A6A086607F0006B08E3
+:1023B400673DF1006C08683DF2006D08693DF3006B
+:1023C4006430F400F501F601F70180319921903170
+:1023D40043016608F4006708F5006808F600690818
+:1023E400F7006A08F4026B08F53B6C08F63B6D08CD
+:1023F400F73B88317925903170084301E600710874
+:10240400E7007208E8007308E9008030F4008030C7
+:1024140073067402031D182A7208003C031D182A4F
+:102424007108033C031D182A7008E73C0318202A8E
+:10243400E730E6000330E700E801E9016608B2008E
+:062444006708B300080068
+:10244A00003043016706031D2C2A00306606031D6F
+:10245A003C2A4401A8013C30A9006130AA0001309D
+:10246A00AB000330AC00883100209031A32A8030C1
+:10247A0043016706F00080307002031D462A0A30C5
+:10248A00660203185C2A66084401A0004301670833
+:10249A004401A100BE30A2000130A3000020303068
+:1024AA004301B4002E30B5004308B600962A8030A6
+:1024BA006706F00080307002031D652A64306602E8
+:1024CA0003187B2A66084401A000430167084401F7
+:1024DA00A100BE30A2000130A3000020430142083F
+:1024EA00B4002E30B5004308B600962A05306607B8
+:1024FA00F0000030673DF1007008E6007108E7005F
+:10250A0070084401A0007108A100BE30A200013089
+:10251A00A300002020304301B4004108B50042085E
+:10252A00B6004401A8013C30A900B430AA00013029
+:0E253A00AB000330AC00883100209031080067
+:10254800F220C830A800A901AA01AB0180303106E9
+:10255800F100803040016C067102031DB62A6B0839
+:1025680043013002013003180030F100803040018F
+:102578006806F0008030430131067002031DC72A47
+:10258800300840016702013003180030F00071087C
+:10259800F0040319002B42016E1FD72A862043013D
+:1025A800B201B301002B4201EE1DDE2A4301B20144
+:1025B800B301002BF2203008E6003108E70025229D
+:1025C80043012B08003C031DF32A2A08003C031D85
+:1025D800F32A2908003C031DF32A2808003C0318A5
+:1025E800FC2A0130A8020030A93BAA3BAB3BFF2ADA
+:0A25F800B201B301002BAA2A08006B
+:1026020003304301E5004201BA0141016D08440172
+:10261200A800A90141016E084401AA0080311B24CF
+:102622009031A4221430F4000030F5004301320846
+:10263200F0003308F1008031902790317008430197
+:102642003207E3007108333DE4006508E2006208E6
+:102652001F3C031C862B41016D084401A800430165
+:1026620062084401A90041016E084401AA008031B8
+:102672001B249031A422803043013306F0008030C5
+:1026820064067002031D472B630832020318842B71
+:102692001430F4000030F5003208F0003308F10085
+:1026A200803190279031700843013207E3007108AE
+:1026B200333DE40062084201BA004301650841016A
+:1026C200EF00803043013306F00080307002031DBA
+:1026D2006C2B7830320203186F2B862B6508620749
+:1026E200F1007108E2007108093A031D7B2B0830E2
+:1026F200E200832B6208113A031D832B1030E200A3
+:102702000430E500852B862B282B41016D084401FE
+:10271200A80042013A084401A90041016E0844019F
+:0A272200AA0080311B24903108004A
+:10272C0041016C084301DC0041016C086D07F100AC
+:10273C0071084301DE0071081F3C0318A72B1F30E2
+:10274C00DE0041016D0843015C020318B32B5C08E9
+:10275C0041016D024301DF00B42BDF015F08410131
+:10276C00ED0043015F084401A80042013A0844010E
+:10277C00A90041016E084401AA0080311B2490314C
+:10278C00A422003043013306031DCE2B0030320649
+:10279C00031DD12B552C3208E0003308E1005F0AF1
+:1027AC00DD005D085E02031C462C5D084401A80098
+:1027BC0042013A084401A90041016E084401AA00F3
+:1027CC0080311B249031A422003043013306031DB9
+:1027DC00F12B00303206031DF42B552C80303306C0
+:1027EC00F000803061067002031DFE2B600832027F
+:1027FC00031C0A2C6830FC00E430FD00FD0B042C9B
+:10280C00FC0B042C0000A422803043013306F000A2
+:10281C00803061067002031D152C60083202031C07
+:10282C00212C6830FC00E430FD00FD0B1B2CFC0B54
+:10283C001B2C0000A422803043013306F0008030B2
+:10284C0061067002031D2C2C600832020318432C05
+:10285C003208E0003308E1005D084101ED008030F2
+:10286C0043013306F00080307002031D3F2C78309A
+:10287C0032020318422C462C442C462CDD0AD72B52
+:10288C0041016D084401A80042013A084401A90025
+:10289C0041016E084401AA0080311B2490310800CC
+:1028AC0003304301E100DD0161084101EC0003301C
+:1028BC004301DE001430F4000030F5003208F00063
+:1028CC003308F100803190279031700843013207B2
+:1028DC00DF007108333DE0006108DC005C081F3C40
+:1028EC00031CD72C5C084401A80042013A0844019F
+:1028FC00A90041016E084401AA0080311B249031CB
+:10290C000123A422803043013306F000803060069E
+:10291C007002031D932C5F0832020318D52C14305F
+:10292C00F4000030F5003208F0003308F10080317B
+:10293C0090279031700843013207DF007108333D56
+:10294C00E0005C084101ED0042013A084301DD0062
+:10295C0061084101EC006F084301DE008030330652
+:10296C00F00080307002031DBD2C78303202031849
+:10297C00C02CD72C61085C07F1007108DC007108D1
+:10298C00093A031DCC2C0830DC00D42C5C08113A1D
+:10299C00031DD42C1030DC000430E100D62CD72CD5
+:1029AC00742C5D084201BA0041016D084401A80075
+:1029BC0043015D084401A90041016E084401AA00CD
+:1029CC0080311B24903143015E084101EF006830D7
+:1029DC00FC00E430FD00FD0BF12CFC0BF12C000095
+:0229EC000800E1
+:1029EE0041016F084301DC0041016F0842013A07C3
+:1029FE00F10071084301DE0071081F3C0318092D18
+:102A0E001F30DE0042013A0843015C020318152D07
+:102A1E005C0842013A024301DF00162DDF015F0818
+:102A2E004201BA0041016D084401A80043015F084C
+:102A3E004401A90041016E084401AA0080311B2403
+:102A4E009031A422003043013306031D302D003097
+:102A5E003206031D332DB82D3208E0003308E10095
+:102A6E005F0ADD005D085E02031CA92D41016D08A1
+:102A7E004401A80043015D084401A90041016E080C
+:102A8E004401AA0080311B249031A422003043015E
+:102A9E003306031D542D00303206031D572DB82D5D
+:102AAE0080303306F000803061067002031D612D08
+:102ABE0060083202031C6D2D6830FC00E430FD000E
+:102ACE00FD0B672DFC0B672D0000A4228030430107
+:102ADE003306F000803061067002031D782D600809
+:102AEE003202031C842D6830FC00E430FD00FD0B27
+:102AFE007E2DFC0B7E2D0000A42280304301330678
+:102B0E00F000803061067002031D8F2D60083202C6
+:102B1E000318A62D3208E0003308E1005D084201DB
+:102B2E00BA00803043013306F00080307002031D7E
+:102B3E00A22D783032020318A52DA92DA72DA92D6F
+:102B4E00DD0A392D41016D084401A80042013A0801
+:102B5E004401A90041016E084401AA0080311B24E2
+:042B6E00903108009A
+:102B72006400400119110530FB000F30FC00F130F8
+:102B8200FD00FD0BC22DFC0BC22DFB0BC22DA4229E
+:102B9200803043013306F00080307002031DD32DD4
+:102BA2006E3032020318D82D40011915782F883162
+:102BB2009B2790310330FB000830FC007730FD008A
+:102BC200FD0BE12DFC0BE12DFB0BE12DA42280304E
+:102BD20043013306F00080307002031DF22D6E3087
+:102BE20032020318F72D40011915782F43013208DC
+:102BF200D6003308D7005624003043013306031DA4
+:102C0200042E00303206031D0B2E88319B27903193
+:102C12001915782FA422803043013306F00080304A
+:102C22007002031D162E7830320203181B2E40014B
+:102C32001915782F9623003043013306031D232EE6
+:102C420000303206031D2A2E88319B279031191538
+:102C5200782FA422803043013306F00080307002C6
+:102C6200031D352E7830320203183A2E4001191511
+:102C7200782FF724003043013306031D422E003023
+:102C82003206031D492E88319B2790311915782F62
+:102C9200A422803043013306F00080307002031D0D
+:102CA200542E783032020318592E40011915782F0C
+:102CB200803043013306F10080307102031D632E20
+:102CC200C8303202013003180030F1008030330680
+:102CD200F000803057067002031D712E5608320232
+:102CE200013003180030F00070087105F30032085B
+:102CF2005602F1003308573BF2008030F00080307A
+:102D020072067002031D872E7108643C013003189D
+:102D12000030F0007308F0050319922E40011915D6
+:102D2200782F43013208D6003308D70041016D08DD
+:102D32004301D800D90142013A084301DA00DB011C
+:102D420041016E08013A031DA82EEE01AA2E0130A0
+:102D5200EE0088319B27903141016D084401A800A3
+:102D620042013A084401A90041016E084401AA0047
+:102D720080311B2490310330FB000830FC00773097
+:102D8200FD00FD0BC22EFC0BC22EFB0BC22EA42299
+:102D9200803043013306F00080307002031DD32ED1
+:102DA200783032020318D82E40011915782F562494
+:102DB200003043013306031DE02E00303206031DAE
+:102DC200E72E88319B2790311915782FA422803065
+:102DD20043013306F00080307002031DF22E78307A
+:102DE20032020318F72E40011915782F962300306E
+:102DF20043013306031DFF2E00303206031D062F4A
+:102E020088319B2790311915782FA42280304301F5
+:102E12003306F00080307002031D112F7830320229
+:102E22000318162F40011915782FF724003043019B
+:102E32003306031D1E2F00303206031D252F883155
+:102E42009B2790311915782FA42280304301330635
+:102E5200F00080307002031D302F783032020318E8
+:102E6200352F40011915782F803043015706F000A5
+:102E7200803033067002031D402F320856020318B9
+:102E8200752F41016E08013A031D492FEE014B2FA8
+:102E92000130EE006D084401A80042013A084401E5
+:102EA200A90041016E084401AA0080311B2490311F
+:102EB200430158084101ED0043015A084201BA009A
+:102EC200430158084401A80043015A084401A900DB
+:102ED20041016E084401AA0080311B249031430154
+:102EE2005608B2005708B3006400400119150800E3
+:102EF2004001971102304401A800A901BA30AA008A
+:102F02000030AB000930AC00883100209031B92587
+:102F1200430132084001B100430133084001B200CD
+:102F220002304401A800A901C430AA000030AB005D
+:102F32000430AC0088310020903102304401A800F6
+:102F42002A30A900C930AA000030AB000130AC0021
+:102F520088310020903143013208D6003308D7006F
+:102F62008831A9279031971542016E10EE103B0867
+:102F7200EA003C08EB003D08EC003E08ED003B088F
+:102F8200BF003C08C0003D08C1003E08C200080066
+:102F92004201EE11B601B701B801B90180317A22BE
+:102FA200903101304401A800A9012A30AA00013061
+:102FB200AB000B30AC008831002090315230FB0066
+:102FC2002B30FC000030FD00FD0BE52FFC0BE52F44
+:0E2FD200FB0BE52F00009831822190310800A2
+:1030000080316B219831410136084401BF00803185
+:103010002F21983140304401BF0080312F21983159
+:103020000A30F4000030F50043014D08F0004E086E
+:10303000F10080319027983170084301CD0071086C
+:10304000CE0080307106F2008030013A7202031D1A
+:103050002B282C307002031832282C30CD00013080
+:10306000CE0042288030013AF00080304E067002D7
+:10307000031D3C284D08A43C03184228A430CD0071
+:103080000130CE002C304D02F30001304E3BF400F5
+:103090007308CD007408CE000530F2007308F0000C
+:1030A0007408F100720803195928F035F10DFF3E3C
+:1030B00053287008CD007108CE007830F40000303D
+:1030C000F50080319027983170084301D000193005
+:1030D0007002031C752818305002D1000830D2004D
+:1030E0000830D3000830D400932811305002031C5C
+:1030F0008228D10110305002D2000830D3000830AD
+:10310000D400932809305002031C8E28D101D2012B
+:1031100008305002D3000830D4009328D101D201E6
+:10312000D3015008D4008030D50001305102F000A6
+:10313000F1010030F13B7008F1005508F000710812
+:103140000319A528F036FF3EA0287008FF3CD500E3
+:10315000D50A0330D5044401BA017730BB00803171
+:1031600004229831430155084401BF0080312F21CA
+:103170009831430155084401BF0080312F21983117
+:10318000430155084401BF0080312F2198311F3081
+:103190004301D5044401BA017530BB0080310422DB
+:1031A0009831430155084401BF0080312F219831E7
+:1031B000430155084401BF0080312F21983144015B
+:1031C000BA017A30BB00803104229831430155089E
+:1031D0004401BF0080312F2198314301550844013B
+:1031E000BF0080312F21983180304301D50001305C
+:1031F0005202F000F1010030F13B7008F100550877
+:10320000F000710803190729F036FF3E0229700803
+:10321000FF3CD500D50A01304401BA007530BB002F
+:103220008031042298314301CF014F08063C031C32
+:10323000222955084401BF0080312F2198314301D4
+:10324000CF0A15298030D50001305302F000F1017A
+:103250000030F13B7008F1005508F00071080319C7
+:103260003429F036FF3E2F297008FF3CD500D50ADF
+:1032700002304401BA007530BB008031042298311D
+:103280004301CF014F08063C031C4F295508440158
+:10329000BF0080312F2198314301CF0A422980306D
+:1032A000D50001305402F000F1010030F13B70080C
+:1032B000F1005508F000710803196129F036FF3E4E
+:1032C0005C297008FF3CD500D50AC030D504033016
+:1032D0004401BA007530BB008031042298314301AB
+:1032E000CF014F08063C031C7E2955084401BF004E
+:1032F00080312F2198314301CF0A71298031ED218E
+:0433000098310800F8
+:103304008B1340019E134E018C1216167E01CA12B5
+:10331400C91640011612171697151A104F01961761
+:103324004301CD014D08003A031DA7290530FB00D8
+:103334000F30FC00F130FD00FD0B9E29FC0B9E2993
+:10334400FB0B9E297E01CA12630000000530FB00BE
+:103354000F30FC00F130FD00FD0BAE29FC0BAE2953
+:10336400FB0BAE2940018D1AB9290314BA290310A5
+:10337400031CBF294301CD0AC1294301CD014D08D6
+:103384000F3C0318C629C72994294F0196134E01EF
+:1033940016127E01C912CA1240019E178B174201F0
+:1033A4006E168831D026983140018D1ADB2903141A
+:1033B400DC290310031CE0290000D62942016E1306
+:0833C4006E10EE11EE1008007E
+:1033CC006430410165024301C70000304101663B96
+:1033DC004301C8000330FB000830FC007730FD00CF
+:1033EC00FD0BF629FC0BF629FB0BF6295830C60011
+:1033FC00C901CA01E730CB000330CC004201EF0118
+:10340C004301460842016F0203182F2A9031F22023
+:10341C00983180304A06F000803031067002031D6E
+:10342C00192A300849020318232A3008C900310828
+:10343C00CA003208CB003308CC000B30FC006230E1
+:10344C00FD00FD0B272AFC0B272A00004201EF0A86
+:10345C00062A8030F000803043014A067002031DBA
+:10346C00392A4908003C03188D2A4001161E8A2A65
+:10347C006308F0006408F1006508F2006608F300C8
+:10348C00E830F4000330F500F601F70180319921A2
+:10349C009831700842013B074301A00071084201BA
+:1034AC003C3D4301A100720842013D3D4301A20095
+:1034BC00730842013E3D4301A30040015F08F00048
+:1034CC006008F1006108F2006208F300E830F400D3
+:1034DC000330F500F601F70180319921983170081D
+:1034EC0042013B074301A400710842013C3D4301EA
+:1034FC00A500720842013D3D4301A600730842013C
+:10350C003E3D4301A7008D2A8831D02698314A08C8
+:10351C0040013406031D952A33084301490603195B
+:10352C00C52A42016E1DA82A4401A8012A30A9000F
+:10353C00E330AA000030AB000130AC008831002031
+:10354C009831B52A4401A8012A30A900CD30AA002F
+:10355C000030AB000130AC008831002098314301C1
+:10356C0049084001B30043014A084001B40043013B
+:10357C004908E6004A08E70090312522983180304E
+:10358C0043014A06F00080307002031DCF2A0A3036
+:10359C0049020318D32ACB01CC0142016E1D482BE2
+:1035AC0003304301C6004608003A0319152B0230BC
+:1035BC004401A8000630A900CF30AA000030AB00AF
+:1035CC000930AC008831002098311530FB004B30AD
+:1035DC00FC00BE30FD00FD0BF12AFC0BF12AFB0BAD
+:1035EC00F12A000002304401A800A901D930AA0038
+:1035FC000030AB000930AC00883100209831153018
+:10360C00FB004B30FC00BE30FD00FD0B0B2BFC0B0C
+:10361C000B2BFB0B0B2B00004301C603D92A0230EA
+:10362C004401A800A901AC30AA000030AB0009305D
+:10363C00AC0088310020983102304401A8002A30B7
+:10364C00A9006930AA000030AB000130AC00883111
+:10365C000020983143014B08D6004C08D700883124
+:10366C00A92798311530FB004B30FC00BE30FD0013
+:10367C00FD0B3E2BFC0B3E2BFB0B3E2B00004201AB
+:10368C006E11352C8030F000803043014A067002F8
+:10369C00031D522B49080A3C03181E2C8030400194
+:1036AC006C06F100803043014A067102031D612B48
+:1036BC00490840016B02013003180030F1008030E2
+:1036CC0043014A06F0008030400168067002031D79
+:1036DC00722B670843014902013003180030F000D7
+:1036EC007108F0050319FA2B430180304C06F500E4
+:1036FC008030410166067502031D872B6508430166
+:10370C004B020130031C0030F500803040013A06BA
+:10371C00F300803043014C067302031D982B4B08B9
+:10372C00400139024001013003180030F300390820
+:10373C0043014B02F10040013A0843014C3BF200BB
+:10374C0080304806F000803072067002031DB02BEA
+:10375C0071084702013003180030F000700873053F
+:10376C00F40080304C06F300803040013A067302BE
+:10377C00031DC32B390843014B02430101300318CD
+:10378C000030F3004B0840013902F10043014C08B2
+:10379C0040013A3BF200803043014806F000803093
+:1037AC0072067002031DDC2B7108470201300318EE
+:1037BC000030F0007308F00570087404F10040014B
+:1037CC003A08033A031DEC2BE73039060130031D90
+:1037DC000030F0007108F0047508F0050319FA2B9D
+:1037EC00903179279831352C43014C0840013A0629
+:1037FC00031D032C390843014B0603191D2C4301EF
+:10380C004B084001B90043014C084001BA00430188
+:10381C004B08D6004C08D7008831A92798314301B2
+:10382C004B084001B10043014C084001B200352C5B
+:10383C00400132083006031D252C2F0831060319D0
+:10384C00352C3108AF003208B00031084301D600E6
+:10385C00400132084301D7008831A927983108006C
+:10386C007E01B801C3014314C3144315CE01E40116
+:10387C00D90153019013941340018C018D018E01D9
+:10388C008F01900196019701103098000630990035
+:10389C009A019101273092009301940195017E01C8
+:1038AC003A15BA15DB145B1540019F121F179F13B5
+:1038BC001E16C0309C00E0309D004E018C12400161
+:1038CC009E174E0196161E304F019600FE30970043
+:1038DC00473098007F30990077309A00DF309B009A
+:1038EC008B170530FB000F30FC00F130FD00FD0B99
+:0C38FC007D2CFC0B7D2CFB0B7D2C0800B0
+:103908008831692298313D0840013806031D8F2C03
+:10391800370843013C0603199F2C43013C0840012A
+:10392800B70043013D084001B80043013C08CD0001
+:103938003D08CE00002080300E3AF0008030430170
+:103948003D067002031DAA2C3C08743C0318BE2CCB
+:103958004001971117160230FB003830FC00AD30DB
+:10396800FD00FD0BB52CFC0BB52CFB0BB52C9715EE
+:103978001716EE2C80300E3AF000803043013D06D9
+:103988007002031DC92C3C08063C0318DD2C4001BD
+:10399800971117120230FB003830FC00AD30FD00E3
+:1039A800FD0BD42CFC0BD42CFB0BD42C9715171621
+:1039B800EE2C4001171297150230FB003830FC003E
+:1039C800AD30FD00FD0BE62CFC0BE62CFB0BE62CCA
+:1039D80017169715803043013D06F00080300D3AE8
+:1039E8007002031DF92C48303C0203181A2D80314F
+:1039F8007A22983101304401A800A901A030AA0018
+:103A08000030AB000B30AC008831002098315230C8
+:103A1800FB002B30FC000030FD00FD0B112DFC0BD2
+:0E3A2800112DFB0B112D00001612822108003B
+:103A36000B304301AC000430AD003230AE00023032
+:103A4600AF0041019301940195019601EC309A056E
+:083A5600131613159317080065
+:103A5E002C27362440011716191542016E1688318F
+:103A6E00D02698311B2542016E116E136E10EE1189
+:103A7E00EE12EE1040016308F0006408F1006508D4
+:103A8E00F2006608F300E830F4000330F500F601AA
+:103A9E00F701803199219831700842013B074301AB
+:103AAE00A000710842013C3D4301A1007208420191
+:103ABE003D3D4301A200730842013E3D4301A30078
+:103ACE0040015F08F0006008F1006108F200620832
+:103ADE00F300E830F4000330F500F601F701803111
+:103AEE0099219831700842013B074301A4007108E7
+:103AFE0042013C3D4301A500720842013D3D430198
+:103B0E00A600730842013E3D4301A70042016D0825
+:103B1E003E02031D9C2D6C083D02031D9C2D6B085F
+:103B2E003C02031D9C2D6A083B02031CA62DB830D7
+:103B3E00EA070B30EB3D0030EC3DED3D84244201B5
+:103B4E0042083E02031DB52D41083D02031DB52D51
+:103B5E0040083C02031DB52D3F083B02031CBF2D40
+:103B6E002C30BF070130C03D0030C13DC23DE621C3
+:103B7E004301230842013E02031DD52D43012208B5
+:103B8E0042013D02031DD52D4301210842013C0295
+:103B9E00031DD52D4301200842013B02031CD92DE4
+:103BAE00400116124301270842013E02031DEF2D6C
+:103BBE004301260842013D02031DEF2D4301250856
+:103BCE0042013C02031DEF2D4301240842013B023A
+:103BDE00031CF22D82216E1FFE2D4001161EFB2DA1
+:103BEE00903186209831FE2D8831D02698314201B1
+:103BFE006E1C0B2E4001161E082E9031792798311F
+:103C0E000B2E8831D02698314201EE1D182E400120
+:103C1E00161E152E9031C9279831182E8831D026B0
+:103C2E0098314201EE1E242E4001161A212E8831A3
+:103C3E00D0269831903186209831EE1C332E4001DB
+:103C4E00161A302E8831E42798318831D0269831D3
+:0C3C5E00332E9031792798318D2D342EB3
+:103E5800383084009E3085003830F0000130F100A1
+:103E68002F308600003087008831F6279831F030EF
+:103E78008400973085000C30F0000130F100A0304C
+:103E88008600003087008831F62798312A30840070
+:103E98009F3085000230F0000130F1006730860065
+:103EA800003087008831F6279831163084009F301B
+:103EB80085000A30F0000130F100AC308600003097
+:103EC80087008831F6279831F930840087308500DB
+:103ED8000730F0000130F1006930860000308700BB
+:103EE8008831F6279831A83084009E308500363016
+:103EF800F0000130F100B6308600003087008831CC
+:103F0800F6279831203084009F3085000A30F00071
+:103F18000130F10020308600013087008831F62713
+:103F2800983103308400803085000130F000013082
+:103F3800F100EC308600003087008831F627983190
+:103F48000A3084009F3085000C30F0000130F10009
+:103F58002A308600013087008831F6279831FC30F6
+:103F68008400973085000330F0000130F100ED3017
+:103F78008600003087008831F62798317030840039
+:103F88009E3085003830F0000130F1003630860070
+:0C3F9800013087008831F62798310800BE
+:020006000034C4
+:040FF2003D34003456
+:040FF6000A34003485
+:020FFA000034C1
+:020FFC000034BF
+:020FFE000234BB
+:102FE000203420344C344F3457342034423441346C
+:082FF000543454342034003441
+:022FF8000034A3
+:022FFA000034A1
+:022FFC0000349F
+:043C70000F342734B2
+:043C740000340034E4
+:043C78000F342734AA
+:043C7C003D3400349F
+:043C800000340034D8
+:043C84000F3427349E
+:103C88002034443445345334493447344E3445346D
+:103C9800443420344234593420344E343734443494
+:063CA800443443340034F3
+:103CAE002034463457342034563445345234533449
+:0A3CBE0049344F344E3420340034F2
+:083CC80031342E343234003493
+:083CD00008340734003400340D
+:083CD8002C34013400340034E7
+:083CE00000340034003400340C
+:023CE8000034A6
+:083CEA00003400340034003402
+:083CF2000034003400340034FA
+:103CFA00533457345234203420342034203420347E
+:043D0A00203400342D
+:043D0E003D3400340C
+:103D12005034573452342034203420342034203468
+:043D220057340034DE
+:043D26003D340034F4
+:0C3D2A0053345734523420342034003419
+:083D360030342E343034003427
+:0A3D3E0030342E34303430340034B9
+:083D48000034003400340034A3
+:043D5000783400348F
+:023D54004034F9
+:023D5600013436
+:103D5800543455344E3445342034203420342034FF
+:043D680020340034CF
+:0A3D6C00533457345234203400342D
+:043D76003D340034A4
+:043D7A0007340034D6
+:043D7E003D3400349C
+:103D82004F345634453452344C344F344134443435
+:043D920020340034A5
+:103D9600203420342034203420342034203420347D
+:043DA6002034003491
+:043DAA003E3400346F
+:043DAE008234003427
+:0A3DB20030342E3430343034003445
+:103DBC00F834F8341F341F340334033403341F3401
+:103DCC001F34F834F834FF34FF340034003400343A
+:103DDC000034003400340034FF34FF34FF34FF343B
+:103DEC000034003400340034003400340034FF3428
+:103DFC00FF34FF34FF34C034C034C034C034C0345A
+:083E0C00C034C034FF34FF3460
+:103E1400203450344F3457344534523420344F34E2
+:083E240046344634203400341A
+:103E2C00533457345234203420342034203420344A
+:043E3C0020340034FA
+:103E400052344534533445345434203420342034EF
+:043E500020340034E6
+:043E5400963400346C
+:1040000000340034003400340034003400345F34B1
+:1040100000340034003407340034073400341434DE
+:104020007F3414347F34143424342A347F342A34D3
+:10403000123423341334083464346234363449344B
+:104040005534223450340034053403340034003401
+:1040500000341C34223441340034003441342234DE
+:104060001C34003408342A341C342A34083408340C
+:1040700008343E34083408340034503430340034CA
+:104080000034083408340834083408340034303438
+:104090003034003400342034103408340434023412
+:1040A0003E345134493445343E34003442347F3454
+:1040B000403400344234613451344934463421347C
+:1040C000413445344B3431341834143412347F3491
+:1040D0001034273445344534453439343C344A347B
+:1040E00049344934303401347134093405340334EB
+:1040F0003634493449344934363406344934493441
+:1041000029341E340034363436340034003400345C
+:104110005634363400340034003408341434223435
+:1041200041341434143414341434143441342234E7
+:104130001434083400340234013451340934063460
+:1041400032344934793441343E347E3411341134BC
+:1041500011347E347F3449344934493436343E3462
+:1041600041344134413422347F34413441342234A7
+:104170001C347F3449344934493441347F34093460
+:104180000934013401343E34413441345134323441
+:104190007F340834083408347F34003441347F34A9
+:1041A000413400342034403441343F3401347F34CE
+:1041B00008341434223441347F34403440344034A1
+:1041C00040347F340234043402347F347F34043486
+:1041D000083410347F343E344134413441343E3469
+:1041E0007F3409340934093406343E3441345134BF
+:1041F00021345E347F34093419342934463446344A
+:104200004934493449343134013401347F34013480
+:1042100001343F344034403440343F341F34203480
+:10422000403420341F347F342034183420347F3419
+:104230006334143408341434633403340434783469
+:104240000434033461345134493445344334003444
+:1042500000347F344134413402340434083410349F
+:104260002034413441347F34003400340434023487
+:104270000134023404344034403440344034403457
+:1042800000340134023404340034203454345434BF
+:10429000543478347F3448344434443438343834F3
+:1042A000443444344434203438344434443448347A
+:1042B0007F343834543454345434183408347E340D
+:1042C00009340134023408341434543454343C3442
+:1042D0007F340834043404347834003444347D3476
+:1042E000403400342034403444343D34003400340D
+:1042F0007F34103428344434003441347F34403423
+:1043000000347C3404341834043478347C34083475
+:104310000434043478343834443444344434383441
+:104320007C341434143414340834083414341434FD
+:1043300018347C347C34083404340434083448346D
+:10434000543454345434203404343F3444344034EA
+:1043500020343C344034403420347C341C34203409
+:10436000403420341C343C344034303440343C3409
+:10437000443428341034283444340C345034503409
+:1043800050343C344434643454344C344434003475
+:104390000834363441340034003400347F3400347F
+:1043A00000340034413436340834003408340834DE
+:1043B0002A341C34083408341C342A3408340834B1
+:020000040001F9
+:0A000E000429213E1F3F03300300C8
+:00000001FF
diff --git a/Firmware/ATU-10_FW_13/ATU-10_callertable.txt b/Firmware/ATU-10_FW_13/ATU-10_callertable.txt
new file mode 100644
index 0000000..36ed0b2
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/ATU-10_callertable.txt
@@ -0,0 +1,2917 @@
+main
+ __CC2DW
+ pic_init
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ ADC_Init
+ Mul_32x32_U
+ Voltage_show
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ oled_voltage
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Div_16x16_S
+ Div_16x16_S_L
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ power_off
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ watch_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Btn_long
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ tune
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ coarse_tune
+ Div_16x16_S
+ Div_16x16_S_L
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ coarse_cap
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Div_16x16_S
+ Div_16x16_S_L
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ sharp_ind
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ sharp_cap
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ power_off
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ Btn_long
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ tune
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ coarse_tune
+ Div_16x16_S
+ Div_16x16_S_L
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ coarse_cap
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Div_16x16_S
+ Div_16x16_S_L
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ sharp_ind
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ sharp_cap
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Btn_xlong
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ power_off
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Ext_long
+ tune
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ coarse_tune
+ Div_16x16_S
+ Div_16x16_S_L
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ coarse_cap
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Div_16x16_S
+ Div_16x16_S_L
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ sharp_ind
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ sharp_cap
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ get_swr
+ get_pwr
+ get_forward
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ get_reverse
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ get_batt
+ ADC_Init_Advanced
+ ADC_Get_Sample
+ Delay_22us
+ Mul_16X16_U
+ Mul_32x32_U
+ correction
+ int2double
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ Mul_32x32_FP
+ RES032
+ SETFOV32
+ SETFUN32
+ Div_32x32_FP
+ SETFDZ32
+ RES032
+ SETFOV32
+ SETFUN32
+ Add_32x32_FP
+ NRM4032
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ NRM3232
+ RES032
+ SETFUN32
+ FIXSIGN32
+ SETFOV32
+ double2int
+ SETIOV3224
+ Mul_32x32_U
+ oled_start
+ Soft_I2C_Init
+ Soft_I2C_Stop
+ oled_init
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ send_command
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ Greating
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str_s
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_clear
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Soft_I2C_Stop
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ oled_bat
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_swr
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Mul_32x32_U
+ Div_32x32_S
+ SDIV3232L
+ COMFREM
+ Btn_short
+ atu_reset
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ draw_power
+ oled_wr_str
+ Soft_I2C_Start
+ Soft_I2C_Write
+ set_addressing
+ Soft_I2C_Start
+ Soft_I2C_Write
+ Mul_8X8_U
+ Soft_I2C_Stop
+ IntToStr
+ WordToStr
+ Div_16X16_U
+ Relay_set
+ VDelay_ms
+ Mul_32x32_U
+interupt
+ Mul_32x32_U
diff --git a/Firmware/ATU-10_FW_13/Soft_I2C.asm b/Firmware/ATU-10_FW_13/Soft_I2C.asm
new file mode 100644
index 0000000..9b86e5d
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/Soft_I2C.asm
@@ -0,0 +1,320 @@
+
+_Soft_I2C_Init:
+
+;Soft_I2C.c,12 :: void Soft_I2C_Init(void) {
+;Soft_I2C.c,13 :: Soft_I2C_Stop();
+ CALL _Soft_I2C_Stop+0
+;Soft_I2C.c,14 :: return;
+;Soft_I2C.c,15 :: }
+L_end_Soft_I2C_Init:
+ RETURN
+; end of _Soft_I2C_Init
+
+_Soft_I2C_Start:
+
+;Soft_I2C.c,17 :: void Soft_I2C_Start() {
+;Soft_I2C.c,18 :: Soft_I2C_Scl = 1;
+ BSF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,19 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Start0:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Start0
+ NOP
+ NOP
+;Soft_I2C.c,20 :: Soft_I2C_Sda = 1;
+ BSF LATA2_bit+0, BitPos(LATA2_bit+0)
+;Soft_I2C.c,21 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Start1:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Start1
+ NOP
+ NOP
+;Soft_I2C.c,22 :: Soft_I2C_Sda = 0;
+ BCF LATA2_bit+0, BitPos(LATA2_bit+0)
+;Soft_I2C.c,23 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Start2:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Start2
+ NOP
+ NOP
+;Soft_I2C.c,24 :: Soft_I2C_Scl = 0;
+ BCF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,25 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Start3:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Start3
+ NOP
+ NOP
+;Soft_I2C.c,26 :: return;
+;Soft_I2C.c,27 :: }
+L_end_Soft_I2C_Start:
+ RETURN
+; end of _Soft_I2C_Start
+
+_Soft_I2C_Write:
+
+;Soft_I2C.c,29 :: char Soft_I2C_Write(char d) {
+;Soft_I2C.c,31 :: for(i=0; i<8; i++) {
+ CLRF R1+0
+L_Soft_I2C_Write4:
+ MOVLW 8
+ SUBWF R1+0, 0
+ BTFSC STATUS+0, 0
+ GOTO L_Soft_I2C_Write5
+;Soft_I2C.c,32 :: Soft_I2C_Sda = d.B7;
+ BTFSC FARG_Soft_I2C_Write_d+0, 7
+ GOTO L__Soft_I2C_Write29
+ BCF LATA2_bit+0, BitPos(LATA2_bit+0)
+ GOTO L__Soft_I2C_Write30
+L__Soft_I2C_Write29:
+ BSF LATA2_bit+0, BitPos(LATA2_bit+0)
+L__Soft_I2C_Write30:
+;Soft_I2C.c,33 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Write7:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Write7
+ NOP
+ NOP
+;Soft_I2C.c,34 :: Soft_I2C_Scl = 1;
+ BSF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,35 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Write8:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Write8
+ NOP
+ NOP
+;Soft_I2C.c,36 :: Soft_I2C_Scl = 0;
+ BCF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,37 :: d = d << 1;
+ LSLF FARG_Soft_I2C_Write_d+0, 1
+;Soft_I2C.c,31 :: for(i=0; i<8; i++) {
+ INCF R1+0, 1
+;Soft_I2C.c,38 :: }
+ GOTO L_Soft_I2C_Write4
+L_Soft_I2C_Write5:
+;Soft_I2C.c,40 :: Soft_I2C_Sda = 1; //ACK
+ BSF LATA2_bit+0, BitPos(LATA2_bit+0)
+;Soft_I2C.c,41 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Write9:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Write9
+ NOP
+ NOP
+;Soft_I2C.c,42 :: Soft_I2C_Scl = 1;
+ BSF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,43 :: ack = Soft_I2C_Sda_in;
+ MOVLW 0
+ BTFSC PORTA+0, 2
+ MOVLW 1
+ MOVWF R2+0
+;Soft_I2C.c,44 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Write10:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Write10
+ NOP
+ NOP
+;Soft_I2C.c,45 :: Soft_I2C_Scl = 0;
+ BCF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,46 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Write11:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Write11
+ NOP
+ NOP
+;Soft_I2C.c,47 :: return ack;
+ MOVF R2+0, 0
+ MOVWF R0
+;Soft_I2C.c,48 :: }
+L_end_Soft_I2C_Write:
+ RETURN
+; end of _Soft_I2C_Write
+
+_Soft_I2C_Read:
+
+;Soft_I2C.c,50 :: char Soft_I2C_Read(void){
+;Soft_I2C.c,51 :: char i, d = 0;
+ CLRF Soft_I2C_Read_d_L0+0
+;Soft_I2C.c,52 :: for(i=0; i<8; i++){
+ CLRF R1+0
+L_Soft_I2C_Read12:
+ MOVLW 8
+ SUBWF R1+0, 0
+ BTFSC STATUS+0, 0
+ GOTO L_Soft_I2C_Read13
+;Soft_I2C.c,53 :: d = d << 1;
+ LSLF Soft_I2C_Read_d_L0+0, 1
+;Soft_I2C.c,54 :: d = d + Soft_I2C_Sda_in;
+ CLRF R0
+ BTFSC PORTA+0, 2
+ INCF R0, 1
+ MOVF R0, 0
+ ADDWF Soft_I2C_Read_d_L0+0, 1
+;Soft_I2C.c,55 :: Soft_I2C_Scl = 1;
+ BSF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,56 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Read15:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Read15
+ NOP
+ NOP
+;Soft_I2C.c,57 :: Soft_I2C_Scl = 0;
+ BCF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,58 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Read16:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Read16
+ NOP
+ NOP
+;Soft_I2C.c,52 :: for(i=0; i<8; i++){
+ INCF R1+0, 1
+;Soft_I2C.c,59 :: }
+ GOTO L_Soft_I2C_Read12
+L_Soft_I2C_Read13:
+;Soft_I2C.c,60 :: return d;
+ MOVF Soft_I2C_Read_d_L0+0, 0
+ MOVWF R0
+;Soft_I2C.c,61 :: }
+L_end_Soft_I2C_Read:
+ RETURN
+; end of _Soft_I2C_Read
+
+_Soft_I2C_ACK:
+
+;Soft_I2C.c,63 :: void Soft_I2C_ACK(void){
+;Soft_I2C.c,64 :: Soft_I2C_Sda = 0;
+ BCF LATA2_bit+0, BitPos(LATA2_bit+0)
+;Soft_I2C.c,65 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_ACK17:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_ACK17
+ NOP
+ NOP
+;Soft_I2C.c,66 :: Soft_I2C_Scl = 1;
+ BSF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,67 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_ACK18:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_ACK18
+ NOP
+ NOP
+;Soft_I2C.c,68 :: Soft_I2C_Scl = 0;
+ BCF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,69 :: Soft_I2C_Sda = 1;
+ BSF LATA2_bit+0, BitPos(LATA2_bit+0)
+;Soft_I2C.c,70 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_ACK19:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_ACK19
+ NOP
+ NOP
+;Soft_I2C.c,71 :: return;
+;Soft_I2C.c,72 :: }
+L_end_Soft_I2C_ACK:
+ RETURN
+; end of _Soft_I2C_ACK
+
+_Soft_I2C_NACK:
+
+;Soft_I2C.c,74 :: void Soft_I2C_NACK(void){
+;Soft_I2C.c,75 :: Soft_I2C_Sda = 1;
+ BSF LATA2_bit+0, BitPos(LATA2_bit+0)
+;Soft_I2C.c,76 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_NACK20:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_NACK20
+ NOP
+ NOP
+;Soft_I2C.c,77 :: Soft_I2C_Scl = 1;
+ BSF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,78 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_NACK21:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_NACK21
+ NOP
+ NOP
+;Soft_I2C.c,79 :: Soft_I2C_Scl = 0;
+ BCF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,80 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_NACK22:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_NACK22
+ NOP
+ NOP
+;Soft_I2C.c,81 :: return;
+;Soft_I2C.c,82 :: }
+L_end_Soft_I2C_NACK:
+ RETURN
+; end of _Soft_I2C_NACK
+
+_Soft_I2C_Stop:
+
+;Soft_I2C.c,84 :: void Soft_I2C_Stop() {
+;Soft_I2C.c,85 :: Soft_I2C_Sda = 0;
+ BCF LATA2_bit+0, BitPos(LATA2_bit+0)
+;Soft_I2C.c,86 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Stop23:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Stop23
+ NOP
+ NOP
+;Soft_I2C.c,87 :: Soft_I2C_Scl = 1;
+ BSF LATA3_bit+0, BitPos(LATA3_bit+0)
+;Soft_I2C.c,88 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Stop24:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Stop24
+ NOP
+ NOP
+;Soft_I2C.c,89 :: Soft_I2C_Sda = 1;
+ BSF LATA2_bit+0, BitPos(LATA2_bit+0)
+;Soft_I2C.c,90 :: Delay_I2C;
+ MOVLW 39
+ MOVWF R13
+L_Soft_I2C_Stop25:
+ DECFSZ R13, 1
+ GOTO L_Soft_I2C_Stop25
+ NOP
+ NOP
+;Soft_I2C.c,91 :: return;
+;Soft_I2C.c,92 :: }
+L_end_Soft_I2C_Stop:
+ RETURN
+; end of _Soft_I2C_Stop
diff --git a/Firmware/ATU-10_FW_13/Soft_I2C.c b/Firmware/ATU-10_FW_13/Soft_I2C.c
new file mode 100644
index 0000000..6de5595
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/Soft_I2C.c
@@ -0,0 +1,92 @@
+
+#include "Soft_I2C.h"
+
+#define Delay_I2C Delay_us(15)
+
+// Software I2C connections
+#define Soft_I2C_Scl LATA3_bit
+#define Soft_I2C_Sda LATA2_bit
+#define Soft_I2C_Sda_in PORTA.B2
+#define Soft_I2C_Scl_in PORTA.B3
+
+void Soft_I2C_Init(void) {
+ Soft_I2C_Stop();
+ return;
+ }
+
+ void Soft_I2C_Start() {
+ Soft_I2C_Scl = 1;
+ Delay_I2C;
+ Soft_I2C_Sda = 1;
+ Delay_I2C;
+ Soft_I2C_Sda = 0;
+ Delay_I2C;
+ Soft_I2C_Scl = 0;
+ Delay_I2C;
+ return;
+ }
+
+char Soft_I2C_Write(char d) {
+ char i, ack;
+ for(i=0; i<8; i++) {
+ Soft_I2C_Sda = d.B7;
+ Delay_I2C;
+ Soft_I2C_Scl = 1;
+ Delay_I2C;
+ Soft_I2C_Scl = 0;
+ d = d << 1;
+ }
+ //
+ Soft_I2C_Sda = 1; //ACK
+ Delay_I2C;
+ Soft_I2C_Scl = 1;
+ ack = Soft_I2C_Sda_in;
+ Delay_I2C;
+ Soft_I2C_Scl = 0;
+ Delay_I2C;
+ return ack;
+}
+
+char Soft_I2C_Read(void){
+ char i, d = 0;
+ for(i=0; i<8; i++){
+ d = d << 1;
+ d = d + Soft_I2C_Sda_in;
+ Soft_I2C_Scl = 1;
+ Delay_I2C;
+ Soft_I2C_Scl = 0;
+ Delay_I2C;
+ }
+ return d;
+}
+
+void Soft_I2C_ACK(void){
+ Soft_I2C_Sda = 0;
+ Delay_I2C;
+ Soft_I2C_Scl = 1;
+ Delay_I2C;
+ Soft_I2C_Scl = 0;
+ Soft_I2C_Sda = 1;
+ Delay_I2C;
+ return;
+}
+
+void Soft_I2C_NACK(void){
+ Soft_I2C_Sda = 1;
+ Delay_I2C;
+ Soft_I2C_Scl = 1;
+ Delay_I2C;
+ Soft_I2C_Scl = 0;
+ Delay_I2C;
+ return;
+}
+
+void Soft_I2C_Stop() {
+ Soft_I2C_Sda = 0;
+ Delay_I2C;
+ Soft_I2C_Scl = 1;
+ Delay_I2C;
+ Soft_I2C_Sda = 1;
+ Delay_I2C;
+ return;
+}
\ No newline at end of file
diff --git a/Firmware/ATU-10_FW_13/Soft_I2C.c.ini b/Firmware/ATU-10_FW_13/Soft_I2C.c.ini
new file mode 100644
index 0000000..9641705
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/Soft_I2C.c.ini
@@ -0,0 +1,5 @@
+[Position]
+Line=4
+Column=29
+[FoldedLines]
+Count=0
diff --git a/Firmware/ATU-10_FW_13/Soft_I2C.cp b/Firmware/ATU-10_FW_13/Soft_I2C.cp
new file mode 100644
index 0000000..ee51260
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/Soft_I2C.cp
@@ -0,0 +1,92 @@
+#line 1 "D:/Projects/ATU-10/Firmware_1.3/Soft_I2C.c"
+#line 1 "d:/projects/atu-10/firmware_1.3/soft_i2c.h"
+
+void Soft_I2C_Init(void);
+void Soft_I2C_Start(void);
+char Soft_I2C_Write(char);
+char Soft_I2C_Read(void);
+void Soft_I2C_ACK(void);
+void Soft_I2C_NACK(void);
+void Soft_I2C_Stop(void);
+#line 12 "D:/Projects/ATU-10/Firmware_1.3/Soft_I2C.c"
+void Soft_I2C_Init(void) {
+ Soft_I2C_Stop();
+ return;
+ }
+
+ void Soft_I2C_Start() {
+ LATA3_bit = 1;
+ Delay_us(15) ;
+ LATA2_bit = 1;
+ Delay_us(15) ;
+ LATA2_bit = 0;
+ Delay_us(15) ;
+ LATA3_bit = 0;
+ Delay_us(15) ;
+ return;
+ }
+
+char Soft_I2C_Write(char d) {
+ char i, ack;
+ for(i=0; i<8; i++) {
+ LATA2_bit = d.B7;
+ Delay_us(15) ;
+ LATA3_bit = 1;
+ Delay_us(15) ;
+ LATA3_bit = 0;
+ d = d << 1;
+ }
+
+ LATA2_bit = 1;
+ Delay_us(15) ;
+ LATA3_bit = 1;
+ ack = PORTA.B2 ;
+ Delay_us(15) ;
+ LATA3_bit = 0;
+ Delay_us(15) ;
+ return ack;
+}
+
+char Soft_I2C_Read(void){
+ char i, d = 0;
+ for(i=0; i<8; i++){
+ d = d << 1;
+ d = d + PORTA.B2 ;
+ LATA3_bit = 1;
+ Delay_us(15) ;
+ LATA3_bit = 0;
+ Delay_us(15) ;
+ }
+ return d;
+}
+
+void Soft_I2C_ACK(void){
+ LATA2_bit = 0;
+ Delay_us(15) ;
+ LATA3_bit = 1;
+ Delay_us(15) ;
+ LATA3_bit = 0;
+ LATA2_bit = 1;
+ Delay_us(15) ;
+ return;
+}
+
+void Soft_I2C_NACK(void){
+ LATA2_bit = 1;
+ Delay_us(15) ;
+ LATA3_bit = 1;
+ Delay_us(15) ;
+ LATA3_bit = 0;
+ Delay_us(15) ;
+ return;
+}
+
+void Soft_I2C_Stop() {
+ LATA2_bit = 0;
+ Delay_us(15) ;
+ LATA3_bit = 1;
+ Delay_us(15) ;
+ LATA2_bit = 1;
+ Delay_us(15) ;
+ return;
+}
diff --git a/Firmware/ATU-10_FW_13/Soft_I2C.h b/Firmware/ATU-10_FW_13/Soft_I2C.h
new file mode 100644
index 0000000..4f1e754
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/Soft_I2C.h
@@ -0,0 +1,9 @@
+
+void Soft_I2C_Init(void);
+void Soft_I2C_Start(void);
+char Soft_I2C_Write(char);
+char Soft_I2C_Read(void);
+void Soft_I2C_ACK(void);
+void Soft_I2C_NACK(void);
+void Soft_I2C_Stop(void);
+//
\ No newline at end of file
diff --git a/Firmware/ATU-10_FW_13/Soft_I2C.h.ini b/Firmware/ATU-10_FW_13/Soft_I2C.h.ini
new file mode 100644
index 0000000..ff713ba
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/Soft_I2C.h.ini
@@ -0,0 +1,5 @@
+[Position]
+Line=1
+Column=1
+[FoldedLines]
+Count=0
diff --git a/Firmware/ATU-10_FW_13/Soft_I2C.mcl b/Firmware/ATU-10_FW_13/Soft_I2C.mcl
new file mode 100644
index 0000000..6602679
Binary files /dev/null and b/Firmware/ATU-10_FW_13/Soft_I2C.mcl differ
diff --git a/Firmware/ATU-10_FW_13/font_5x8.h b/Firmware/ATU-10_FW_13/font_5x8.h
new file mode 100644
index 0000000..3703333
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/font_5x8.h
@@ -0,0 +1,100 @@
+ static const code char font_5x8[] = {
+//
+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 // <-
+};
+//
\ No newline at end of file
diff --git a/Firmware/ATU-10_FW_13/font_5x8.h.ini b/Firmware/ATU-10_FW_13/font_5x8.h.ini
new file mode 100644
index 0000000..44df6a4
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/font_5x8.h.ini
@@ -0,0 +1,5 @@
+[Position]
+Line=99
+Column=1
+[FoldedLines]
+Count=0
diff --git a/Firmware/ATU-10_FW_13/main.asm b/Firmware/ATU-10_FW_13/main.asm
new file mode 100644
index 0000000..961f5c9
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/main.asm
@@ -0,0 +1,4669 @@
+
+_interupt:
+
+;main.c,30 :: void interupt() iv 0x0004 {
+;main.c,32 :: if(TMR0IF_bit) { // Timer0
+ BTFSS TMR0IF_bit+0, BitPos(TMR0IF_bit+0)
+ GOTO L_interupt0
+;main.c,33 :: TMR0IF_bit = 0;
+ BCF TMR0IF_bit+0, BitPos(TMR0IF_bit+0)
+;main.c,34 :: Tick++;
+ MOVLW 1
+ ADDWF _Tick+0, 1
+ MOVLW 0
+ ADDWFC _Tick+1, 1
+ ADDWFC _Tick+2, 1
+ ADDWFC _Tick+3, 1
+;main.c,35 :: TMR0L = 0xC0; // 80_000 cycles to OF
+ MOVLW 192
+ MOVWF TMR0L+0
+;main.c,36 :: TMR0H = 0xE0;
+ MOVLW 224
+ MOVWF TMR0H+0
+;main.c,37 :: }
+L_interupt0:
+;main.c,39 :: if(Tick>=btn_cnt){ // every 10ms
+ MOVF _btn_cnt+3, 0
+ SUBWF _Tick+3, 0
+ BTFSS STATUS+0, 2
+ GOTO L__interupt242
+ MOVF _btn_cnt+2, 0
+ SUBWF _Tick+2, 0
+ BTFSS STATUS+0, 2
+ GOTO L__interupt242
+ MOVF _btn_cnt+1, 0
+ SUBWF _Tick+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__interupt242
+ MOVF _btn_cnt+0, 0
+ SUBWF _Tick+0, 0
+L__interupt242:
+ BTFSS STATUS+0, 0
+ GOTO L_interupt1
+;main.c,40 :: btn_cnt += 10;
+ MOVLW 10
+ ADDWF _btn_cnt+0, 1
+ MOVLW 0
+ ADDWFC _btn_cnt+1, 1
+ ADDWFC _btn_cnt+2, 1
+ ADDWFC _btn_cnt+3, 1
+;main.c,42 :: if(GetButton | Start){
+ BTFSC PORTB+0, 5
+ GOTO L__interupt243
+ BSF R4, 0
+ GOTO L__interupt244
+L__interupt243:
+ BCF R4, 0
+L__interupt244:
+ BTFSC PORTD+0, 1
+ GOTO L__interupt245
+ BSF 3, 0
+ GOTO L__interupt246
+L__interupt245:
+ BCF 3, 0
+L__interupt246:
+ BTFSC R4, 0
+ GOTO L__interupt247
+ BTFSC 3, 0
+ GOTO L__interupt247
+ BCF R4, 0
+ GOTO L__interupt248
+L__interupt247:
+ BSF R4, 0
+L__interupt248:
+ BTFSS R4, 0
+ GOTO L_interupt2
+;main.c,43 :: disp_cnt = Tick + Disp_time*1000;
+ MOVF _Disp_time+0, 0
+ MOVWF R0
+ MOVF _Disp_time+1, 0
+ MOVWF R1
+ MOVF _Disp_time+2, 0
+ MOVWF R2
+ MOVF _Disp_time+3, 0
+ MOVWF R3
+ MOVLW 232
+ MOVWF R4
+ MOVLW 3
+ MOVWF R5
+ CLRF R6
+ CLRF R7
+ CALL _Mul_32x32_U+0
+ MOVF R0, 0
+ ADDWF _Tick+0, 0
+ MOVWF _disp_cnt+0
+ MOVF R1, 0
+ ADDWFC _Tick+1, 0
+ MOVWF _disp_cnt+1
+ MOVF R2, 0
+ ADDWFC _Tick+2, 0
+ MOVWF _disp_cnt+2
+ MOVF R3, 0
+ ADDWFC _Tick+3, 0
+ MOVWF _disp_cnt+3
+;main.c,44 :: off_cnt = Tick + Off_time*1000;
+ MOVF _Off_time+0, 0
+ MOVWF R0
+ MOVF _Off_time+1, 0
+ MOVWF R1
+ MOVF _Off_time+2, 0
+ MOVWF R2
+ MOVF _Off_time+3, 0
+ MOVWF R3
+ MOVLW 232
+ MOVWF R4
+ MOVLW 3
+ MOVWF R5
+ CLRF R6
+ CLRF R7
+ CALL _Mul_32x32_U+0
+ MOVF R0, 0
+ ADDWF _Tick+0, 0
+ MOVWF _off_cnt+0
+ MOVF R1, 0
+ ADDWFC _Tick+1, 0
+ MOVWF _off_cnt+1
+ MOVF R2, 0
+ ADDWFC _Tick+2, 0
+ MOVWF _off_cnt+2
+ MOVF R3, 0
+ ADDWFC _Tick+3, 0
+ MOVWF _off_cnt+3
+;main.c,45 :: }
+L_interupt2:
+;main.c,47 :: if(GetButton){ //
+ BTFSC PORTB+0, 5
+ GOTO L__interupt249
+ BSF 3, 0
+ GOTO L__interupt250
+L__interupt249:
+ BCF 3, 0
+L__interupt250:
+ BTFSS 3, 0
+ GOTO L_interupt3
+;main.c,48 :: if(btn_1_cnt<250) btn_1_cnt++;
+ MOVLW 250
+ SUBWF _btn_1_cnt+0, 0
+ BTFSC STATUS+0, 0
+ GOTO L_interupt4
+ INCF _btn_1_cnt+0, 1
+L_interupt4:
+;main.c,49 :: if(btn_1_cnt==25) B_long = 1; // long pressing detected
+ MOVF _btn_1_cnt+0, 0
+ XORLW 25
+ BTFSS STATUS+0, 2
+ GOTO L_interupt5
+ BSF _B_long+0, BitPos(_B_long+0)
+L_interupt5:
+;main.c,50 :: if(btn_1_cnt==250 & OLED_PWD) B_xlong = 1; // Xtra long pressing detected
+ MOVF _btn_1_cnt+0, 0
+ XORLW 250
+ MOVLW 1
+ BTFSS STATUS+0, 2
+ MOVLW 0
+ MOVWF R1
+ CLRF R0
+ BTFSC LATA4_bit+0, BitPos(LATA4_bit+0)
+ INCF R0, 1
+ MOVF R1, 0
+ ANDWF R0, 1
+ BTFSC STATUS+0, 2
+ GOTO L_interupt6
+ BSF _B_xlong+0, BitPos(_B_xlong+0)
+L_interupt6:
+;main.c,51 :: }
+ GOTO L_interupt7
+L_interupt3:
+;main.c,52 :: else if(btn_1_cnt>2 & btn_1_cnt<25){
+ MOVF _btn_1_cnt+0, 0
+ SUBLW 2
+ MOVLW 1
+ BTFSC STATUS+0, 0
+ MOVLW 0
+ MOVWF R1
+ MOVLW 25
+ SUBWF _btn_1_cnt+0, 0
+ MOVLW 1
+ BTFSC STATUS+0, 0
+ MOVLW 0
+ MOVWF R0
+ MOVF R1, 0
+ ANDWF R0, 1
+ BTFSC STATUS+0, 2
+ GOTO L_interupt8
+;main.c,53 :: B_short = 1; // short pressing detected
+ BSF _B_short+0, BitPos(_B_short+0)
+;main.c,54 :: btn_1_cnt = 0;
+ CLRF _btn_1_cnt+0
+;main.c,55 :: }
+ GOTO L_interupt9
+L_interupt8:
+;main.c,57 :: btn_1_cnt = 0;
+ CLRF _btn_1_cnt+0
+L_interupt9:
+L_interupt7:
+;main.c,59 :: if(Start){
+ BTFSC PORTD+0, 1
+ GOTO L__interupt251
+ BSF 3, 0
+ GOTO L__interupt252
+L__interupt251:
+ BCF 3, 0
+L__interupt252:
+ BTFSS 3, 0
+ GOTO L_interupt10
+;main.c,60 :: if(btn_2_cnt<25) btn_2_cnt++;
+ MOVLW 25
+ SUBWF _btn_2_cnt+0, 0
+ BTFSC STATUS+0, 0
+ GOTO L_interupt11
+ INCF _btn_2_cnt+0, 1
+L_interupt11:
+;main.c,61 :: if(btn_2_cnt==20 & Key_in) E_long = 1;
+ MOVF _btn_2_cnt+0, 0
+ XORLW 20
+ MOVLW 1
+ BTFSS STATUS+0, 2
+ MOVLW 0
+ MOVWF R1
+ CLRF R0
+ BTFSC PORTD+0, 2
+ INCF R0, 1
+ MOVF R1, 0
+ ANDWF R0, 1
+ BTFSC STATUS+0, 2
+ GOTO L_interupt12
+ BSF _E_long+0, BitPos(_E_long+0)
+L_interupt12:
+;main.c,62 :: }
+ GOTO L_interupt13
+L_interupt10:
+;main.c,63 :: else if(btn_2_cnt>1 & btn_2_cnt<10){
+ MOVF _btn_2_cnt+0, 0
+ SUBLW 1
+ MOVLW 1
+ BTFSC STATUS+0, 0
+ MOVLW 0
+ MOVWF R1
+ MOVLW 10
+ SUBWF _btn_2_cnt+0, 0
+ MOVLW 1
+ BTFSC STATUS+0, 0
+ MOVLW 0
+ MOVWF R0
+ MOVF R1, 0
+ ANDWF R0, 1
+ BTFSC STATUS+0, 2
+ GOTO L_interupt14
+;main.c,64 :: E_short = 1;
+ BSF _E_short+0, BitPos(_E_short+0)
+;main.c,65 :: btn_2_cnt = 0;
+ CLRF _btn_2_cnt+0
+;main.c,66 :: }
+ GOTO L_interupt15
+L_interupt14:
+;main.c,68 :: btn_2_cnt = 0;
+ CLRF _btn_2_cnt+0
+L_interupt15:
+L_interupt13:
+;main.c,69 :: }
+L_interupt1:
+;main.c,70 :: return;
+;main.c,71 :: }
+L_end_interupt:
+L__interupt241:
+ RETFIE %s
+; end of _interupt
+
+_main:
+
+;main.c,74 :: void main() {
+;main.c,75 :: pic_init();
+ CALL _pic_init+0
+;main.c,76 :: Red = 1;
+ BSF LATB4_bit+0, BitPos(LATB4_bit+0)
+;main.c,77 :: Key_out = 1;
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+;main.c,78 :: gre = 1;
+ BSF _gre+0, BitPos(_gre+0)
+;main.c,79 :: oled_start();
+ CALL _oled_start+0
+;main.c,81 :: ADC_Init();
+ CALL _ADC_Init+0
+;main.c,82 :: Overflow = 0;
+ BCF _Overflow+0, BitPos(_Overflow+0)
+;main.c,83 :: B_short = 0;
+ BCF _B_short+0, BitPos(_B_short+0)
+;main.c,84 :: B_long = 0;
+ BCF _B_long+0, BitPos(_B_long+0)
+;main.c,85 :: B_xlong = 0;
+ BCF _B_xlong+0, BitPos(_B_xlong+0)
+;main.c,86 :: E_short = 0;
+ BCF _E_short+0, BitPos(_E_short+0)
+;main.c,87 :: E_long = 0;
+ BCF _E_long+0, BitPos(_E_long+0)
+;main.c,89 :: disp_cnt = Tick + Disp_time*1000;
+ MOVF _Disp_time+0, 0
+ MOVWF R0
+ MOVF _Disp_time+1, 0
+ MOVWF R1
+ MOVF _Disp_time+2, 0
+ MOVWF R2
+ MOVF _Disp_time+3, 0
+ MOVWF R3
+ MOVLW 232
+ MOVWF R4
+ MOVLW 3
+ MOVWF R5
+ CLRF R6
+ CLRF R7
+ CALL _Mul_32x32_U+0
+ MOVF R0, 0
+ ADDWF _Tick+0, 0
+ MOVWF _disp_cnt+0
+ MOVF R1, 0
+ ADDWFC _Tick+1, 0
+ MOVWF _disp_cnt+1
+ MOVF R2, 0
+ ADDWFC _Tick+2, 0
+ MOVWF _disp_cnt+2
+ MOVF R3, 0
+ ADDWFC _Tick+3, 0
+ MOVWF _disp_cnt+3
+;main.c,90 :: off_cnt = Tick + Off_time*1000;
+ MOVF _Off_time+0, 0
+ MOVWF R0
+ MOVF _Off_time+1, 0
+ MOVWF R1
+ MOVF _Off_time+2, 0
+ MOVWF R2
+ MOVF _Off_time+3, 0
+ MOVWF R3
+ MOVLW 232
+ MOVWF R4
+ MOVLW 3
+ MOVWF R5
+ CLRF R6
+ CLRF R7
+ CALL _Mul_32x32_U+0
+ MOVF R0, 0
+ ADDWF _Tick+0, 0
+ MOVWF _off_cnt+0
+ MOVF R1, 0
+ ADDWFC _Tick+1, 0
+ MOVWF _off_cnt+1
+ MOVF R2, 0
+ ADDWFC _Tick+2, 0
+ MOVWF _off_cnt+2
+ MOVF R3, 0
+ ADDWFC _Tick+3, 0
+ MOVWF _off_cnt+3
+;main.c,93 :: rldl = Rel_Del;
+ MOVF _Rel_Del+0, 0
+ MOVWF _rldl+0
+ MOVF _Rel_Del+1, 0
+ MOVWF _rldl+1
+;main.c,96 :: while(1) {
+L_main16:
+;main.c,97 :: if(Tick>=volt_cnt){ // every 3 second
+ MOVF _volt_cnt+3, 0
+ SUBWF _Tick+3, 0
+ BTFSS STATUS+0, 2
+ GOTO L__main254
+ MOVF _volt_cnt+2, 0
+ SUBWF _Tick+2, 0
+ BTFSS STATUS+0, 2
+ GOTO L__main254
+ MOVF _volt_cnt+1, 0
+ SUBWF _Tick+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__main254
+ MOVF _volt_cnt+0, 0
+ SUBWF _Tick+0, 0
+L__main254:
+ BTFSS STATUS+0, 0
+ GOTO L_main18
+;main.c,98 :: volt_cnt += 3000;
+ MOVLW 184
+ ADDWF _volt_cnt+0, 1
+ MOVLW 11
+ ADDWFC _volt_cnt+1, 1
+ MOVLW 0
+ ADDWFC _volt_cnt+2, 1
+ ADDWFC _volt_cnt+3, 1
+;main.c,99 :: Voltage_show();
+ CALL _Voltage_show+0
+;main.c,100 :: }
+L_main18:
+;main.c,102 :: if(Tick>=watch_cnt){ // every 300 ms unless power off
+ MOVF _watch_cnt+3, 0
+ SUBWF _Tick+3, 0
+ BTFSS STATUS+0, 2
+ GOTO L__main255
+ MOVF _watch_cnt+2, 0
+ SUBWF _Tick+2, 0
+ BTFSS STATUS+0, 2
+ GOTO L__main255
+ MOVF _watch_cnt+1, 0
+ SUBWF _Tick+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__main255
+ MOVF _watch_cnt+0, 0
+ SUBWF _Tick+0, 0
+L__main255:
+ BTFSS STATUS+0, 0
+ GOTO L_main19
+;main.c,103 :: watch_cnt += 300;
+ MOVLW 44
+ ADDWF _watch_cnt+0, 1
+ MOVLW 1
+ ADDWFC _watch_cnt+1, 1
+ MOVLW 0
+ ADDWFC _watch_cnt+2, 1
+ ADDWFC _watch_cnt+3, 1
+;main.c,104 :: watch_swr();
+ CALL _watch_swr+0
+;main.c,105 :: }
+L_main19:
+;main.c,107 :: if(Tick>=disp_cnt){ // Display off
+ MOVF _disp_cnt+3, 0
+ SUBWF _Tick+3, 0
+ BTFSS STATUS+0, 2
+ GOTO L__main256
+ MOVF _disp_cnt+2, 0
+ SUBWF _Tick+2, 0
+ BTFSS STATUS+0, 2
+ GOTO L__main256
+ MOVF _disp_cnt+1, 0
+ SUBWF _Tick+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__main256
+ MOVF _disp_cnt+0, 0
+ SUBWF _Tick+0, 0
+L__main256:
+ BTFSS STATUS+0, 0
+ GOTO L_main20
+;main.c,109 :: OLED_PWD = 0;
+ BCF LATA4_bit+0, BitPos(LATA4_bit+0)
+;main.c,110 :: }
+L_main20:
+;main.c,112 :: if(Tick>=off_cnt){ // Go to power off
+ MOVF _off_cnt+3, 0
+ SUBWF _Tick+3, 0
+ BTFSS STATUS+0, 2
+ GOTO L__main257
+ MOVF _off_cnt+2, 0
+ SUBWF _Tick+2, 0
+ BTFSS STATUS+0, 2
+ GOTO L__main257
+ MOVF _off_cnt+1, 0
+ SUBWF _Tick+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__main257
+ MOVF _off_cnt+0, 0
+ SUBWF _Tick+0, 0
+L__main257:
+ BTFSS STATUS+0, 0
+ GOTO L_main21
+;main.c,113 :: power_off();
+ CALL _power_off+0
+;main.c,114 :: }
+L_main21:
+;main.c,116 :: if(B_short){
+ BTFSS _B_short+0, BitPos(_B_short+0)
+ GOTO L_main22
+;main.c,117 :: if(OLED_PWD) Btn_short();
+ BTFSS LATA4_bit+0, BitPos(LATA4_bit+0)
+ GOTO L_main23
+ CALL _Btn_short+0
+ GOTO L_main24
+L_main23:
+;main.c,118 :: else oled_start();
+ CALL _oled_start+0
+L_main24:
+;main.c,119 :: }
+L_main22:
+;main.c,120 :: if(B_long){
+ BTFSS _B_long+0, BitPos(_B_long+0)
+ GOTO L_main25
+;main.c,121 :: if(OLED_PWD) Btn_long();
+ BTFSS LATA4_bit+0, BitPos(LATA4_bit+0)
+ GOTO L_main26
+ CALL _Btn_long+0
+ GOTO L_main27
+L_main26:
+;main.c,122 :: else oled_start();
+ CALL _oled_start+0
+L_main27:
+;main.c,123 :: }
+L_main25:
+;main.c,124 :: if(B_xlong){
+ BTFSS _B_xlong+0, BitPos(_B_xlong+0)
+ GOTO L_main28
+;main.c,125 :: if(OLED_PWD) Btn_xlong();
+ BTFSS LATA4_bit+0, BitPos(LATA4_bit+0)
+ GOTO L_main29
+ CALL _Btn_xlong+0
+ GOTO L_main30
+L_main29:
+;main.c,126 :: else oled_start();
+ CALL _oled_start+0
+L_main30:
+;main.c,127 :: }
+L_main28:
+;main.c,129 :: if(E_short){
+ BTFSS _E_short+0, BitPos(_E_short+0)
+ GOTO L_main31
+;main.c,130 :: if(OLED_PWD==0) oled_start();
+ BTFSC LATA4_bit+0, BitPos(LATA4_bit+0)
+ GOTO L_main32
+ CALL _oled_start+0
+L_main32:
+;main.c,131 :: Btn_short();
+ CALL _Btn_short+0
+;main.c,132 :: }
+L_main31:
+;main.c,133 :: if(E_long){
+ BTFSS _E_long+0, BitPos(_E_long+0)
+ GOTO L_main33
+;main.c,134 :: if(OLED_PWD==0) { Ext_long(); oled_start(); }
+ BTFSC LATA4_bit+0, BitPos(LATA4_bit+0)
+ GOTO L_main34
+ CALL _Ext_long+0
+ CALL _oled_start+0
+ GOTO L_main35
+L_main34:
+;main.c,135 :: else Btn_long();
+ CALL _Btn_long+0
+L_main35:
+;main.c,136 :: }
+L_main33:
+;main.c,138 :: } // while(1)
+ GOTO L_main16
+;main.c,139 :: } // main
+L_end_main:
+ GOTO $+0
+; end of _main
+
+_oled_start:
+
+;main.c,142 :: void oled_start(){
+;main.c,143 :: OLED_PWD = 1;
+ BSF LATA4_bit+0, BitPos(LATA4_bit+0)
+;main.c,145 :: Delay_ms(200);
+ MOVLW 9
+ MOVWF R11
+ MOVLW 30
+ MOVWF R12
+ MOVLW 228
+ MOVWF R13
+L_oled_start36:
+ DECFSZ R13, 1
+ GOTO L_oled_start36
+ DECFSZ R12, 1
+ GOTO L_oled_start36
+ DECFSZ R11, 1
+ GOTO L_oled_start36
+ NOP
+;main.c,146 :: Soft_I2C_init();
+ CALL _Soft_I2C_Init+0
+;main.c,147 :: Delay_ms(10);
+ MOVLW 104
+ MOVWF R12
+ MOVLW 228
+ MOVWF R13
+L_oled_start37:
+ DECFSZ R13, 1
+ GOTO L_oled_start37
+ DECFSZ R12, 1
+ GOTO L_oled_start37
+ NOP
+;main.c,148 :: oled_init();
+ CALL _oled_init+0
+;main.c,150 :: if(gre){
+ BTFSS _gre+0, BitPos(_gre+0)
+ GOTO L_oled_start38
+;main.c,151 :: Greating();
+ CALL _Greating+0
+;main.c,152 :: gre = 0;
+ BCF _gre+0, BitPos(_gre+0)
+;main.c,153 :: oled_clear();
+ CALL _oled_clear+0
+;main.c,154 :: }
+L_oled_start38:
+;main.c,155 :: oled_wr_str(0, 0, "PWR W", 9);
+ CLRF FARG_oled_wr_str+0
+ CLRF FARG_oled_wr_str+0
+ MOVLW ?lstr1_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr1_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 9
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,156 :: oled_bat();
+ CALL _oled_bat+0
+;main.c,157 :: oled_wr_str(2, 0, "SWR ", 9);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ CLRF FARG_oled_wr_str+0
+ MOVLW ?lstr2_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr2_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 9
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,158 :: oled_wr_str(0, 42, "=", 1);
+ CLRF FARG_oled_wr_str+0
+ MOVLW 42
+ MOVWF FARG_oled_wr_str+0
+ MOVLW ?lstr3_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr3_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 1
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,159 :: oled_wr_str(2, 42, "=", 1);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ MOVLW 42
+ MOVWF FARG_oled_wr_str+0
+ MOVLW ?lstr4_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr4_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 1
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,160 :: Voltage_old = 9999;
+ MOVLW 15
+ MOVWF _Voltage_old+0
+ MOVLW 39
+ MOVWF _Voltage_old+1
+;main.c,161 :: SWR_fixed_old = 100;
+ MOVLW 100
+ MOVWF _SWR_fixed_old+0
+ MOVLW 0
+ MOVWF _SWR_fixed_old+1
+;main.c,162 :: PWR_fixed_old = 9999;
+ MOVLW 15
+ MOVWF _PWR_fixed_old+0
+ MOVLW 39
+ MOVWF _PWR_fixed_old+1
+;main.c,163 :: SWR_ind = 0;
+ CLRF _SWR_ind+0
+ CLRF _SWR_ind+1
+;main.c,164 :: draw_swr(SWR_ind);
+ CLRF FARG_draw_swr+0
+ CLRF FARG_draw_swr+1
+ CALL _draw_swr+0
+;main.c,165 :: volt_cnt = Tick + 1;
+ MOVLW 1
+ ADDWF _Tick+0, 0
+ MOVWF _volt_cnt+0
+ MOVLW 0
+ ADDWFC _Tick+1, 0
+ MOVWF _volt_cnt+1
+ MOVLW 0
+ ADDWFC _Tick+2, 0
+ MOVWF _volt_cnt+2
+ MOVLW 0
+ ADDWFC _Tick+3, 0
+ MOVWF _volt_cnt+3
+;main.c,166 :: watch_cnt = Tick;
+ MOVF _Tick+0, 0
+ MOVWF _watch_cnt+0
+ MOVF _Tick+1, 0
+ MOVWF _watch_cnt+1
+ MOVF _Tick+2, 0
+ MOVWF _watch_cnt+2
+ MOVF _Tick+3, 0
+ MOVWF _watch_cnt+3
+;main.c,167 :: B_short = 0; B_long = 0; B_xlong = 0;
+ BCF _B_short+0, BitPos(_B_short+0)
+ BCF _B_long+0, BitPos(_B_long+0)
+ BCF _B_xlong+0, BitPos(_B_xlong+0)
+;main.c,168 :: disp_cnt = Tick + Disp_time*1000;
+ MOVF _Disp_time+0, 0
+ MOVWF R0
+ MOVF _Disp_time+1, 0
+ MOVWF R1
+ MOVF _Disp_time+2, 0
+ MOVWF R2
+ MOVF _Disp_time+3, 0
+ MOVWF R3
+ MOVLW 232
+ MOVWF R4
+ MOVLW 3
+ MOVWF R5
+ CLRF R6
+ CLRF R7
+ CALL _Mul_32x32_U+0
+ MOVF R0, 0
+ ADDWF _Tick+0, 0
+ MOVWF _disp_cnt+0
+ MOVF R1, 0
+ ADDWFC _Tick+1, 0
+ MOVWF _disp_cnt+1
+ MOVF R2, 0
+ ADDWFC _Tick+2, 0
+ MOVWF _disp_cnt+2
+ MOVF R3, 0
+ ADDWFC _Tick+3, 0
+ MOVWF _disp_cnt+3
+;main.c,169 :: off_cnt = Tick + Off_time*1000;
+ MOVF _Off_time+0, 0
+ MOVWF R0
+ MOVF _Off_time+1, 0
+ MOVWF R1
+ MOVF _Off_time+2, 0
+ MOVWF R2
+ MOVF _Off_time+3, 0
+ MOVWF R3
+ MOVLW 232
+ MOVWF R4
+ MOVLW 3
+ MOVWF R5
+ CLRF R6
+ CLRF R7
+ CALL _Mul_32x32_U+0
+ MOVF R0, 0
+ ADDWF _Tick+0, 0
+ MOVWF _off_cnt+0
+ MOVF R1, 0
+ ADDWFC _Tick+1, 0
+ MOVWF _off_cnt+1
+ MOVF R2, 0
+ ADDWFC _Tick+2, 0
+ MOVWF _off_cnt+2
+ MOVF R3, 0
+ ADDWFC _Tick+3, 0
+ MOVWF _off_cnt+3
+;main.c,170 :: return;
+;main.c,171 :: }
+L_end_oled_start:
+ RETURN
+; end of _oled_start
+
+_watch_swr:
+
+;main.c,174 :: void watch_swr(void){
+;main.c,176 :: int delta = Auto_delta - 100;
+ MOVLW 100
+ SUBWF _Auto_delta+0, 0
+ MOVWF watch_swr_delta_L0+0
+ MOVLW 0
+ SUBWFB _Auto_delta+1, 0
+ MOVWF watch_swr_delta_L0+1
+;main.c,179 :: Delay_ms(50);
+ MOVLW 3
+ MOVWF R11
+ MOVLW 8
+ MOVWF R12
+ MOVLW 119
+ MOVWF R13
+L_watch_swr39:
+ DECFSZ R13, 1
+ GOTO L_watch_swr39
+ DECFSZ R12, 1
+ GOTO L_watch_swr39
+ DECFSZ R11, 1
+ GOTO L_watch_swr39
+;main.c,181 :: cnt = 600;
+ MOVLW 88
+ MOVWF watch_swr_cnt_L0+0
+;main.c,182 :: PWR_fixed = 0;
+ CLRF watch_swr_PWR_fixed_L0+0
+ CLRF watch_swr_PWR_fixed_L0+1
+;main.c,183 :: SWR_fixed = 0;
+ CLRF watch_swr_SWR_fixed_L0+0
+ CLRF watch_swr_SWR_fixed_L0+1
+;main.c,184 :: for(peak_cnt=0; peak_cntPWR_fixed) {PWR_fixed = PWR; SWR_fixed = SWR;}
+ MOVLW 128
+ XORWF watch_swr_PWR_fixed_L0+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORWF _PWR+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr260
+ MOVF _PWR+0, 0
+ SUBWF watch_swr_PWR_fixed_L0+0, 0
+L__watch_swr260:
+ BTFSC STATUS+0, 0
+ GOTO L_watch_swr43
+ MOVF _PWR+0, 0
+ MOVWF watch_swr_PWR_fixed_L0+0
+ MOVF _PWR+1, 0
+ MOVWF watch_swr_PWR_fixed_L0+1
+ MOVF _SWR+0, 0
+ MOVWF watch_swr_SWR_fixed_L0+0
+ MOVF _SWR+1, 0
+ MOVWF watch_swr_SWR_fixed_L0+1
+L_watch_swr43:
+;main.c,187 :: Delay_ms(1);
+ MOVLW 11
+ MOVWF R12
+ MOVLW 98
+ MOVWF R13
+L_watch_swr44:
+ DECFSZ R13, 1
+ GOTO L_watch_swr44
+ DECFSZ R12, 1
+ GOTO L_watch_swr44
+ NOP
+;main.c,184 :: for(peak_cnt=0; peak_cnt0){
+ MOVLW 128
+ MOVWF R0
+ MOVLW 128
+ XORWF watch_swr_PWR_fixed_L0+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr261
+ MOVF watch_swr_PWR_fixed_L0+0, 0
+ SUBLW 0
+L__watch_swr261:
+ BTFSC STATUS+0, 0
+ GOTO L_watch_swr45
+;main.c,191 :: if(OLED_PWD){
+ BTFSS LATA4_bit+0, BitPos(LATA4_bit+0)
+ GOTO L_watch_swr46
+;main.c,192 :: disp_cnt = Tick + Disp_time*1000;
+ MOVF _Disp_time+0, 0
+ MOVWF R0
+ MOVF _Disp_time+1, 0
+ MOVWF R1
+ MOVF _Disp_time+2, 0
+ MOVWF R2
+ MOVF _Disp_time+3, 0
+ MOVWF R3
+ MOVLW 232
+ MOVWF R4
+ MOVLW 3
+ MOVWF R5
+ CLRF R6
+ CLRF R7
+ CALL _Mul_32x32_U+0
+ MOVF R0, 0
+ ADDWF _Tick+0, 0
+ MOVWF _disp_cnt+0
+ MOVF R1, 0
+ ADDWFC _Tick+1, 0
+ MOVWF _disp_cnt+1
+ MOVF R2, 0
+ ADDWFC _Tick+2, 0
+ MOVWF _disp_cnt+2
+ MOVF R3, 0
+ ADDWFC _Tick+3, 0
+ MOVWF _disp_cnt+3
+;main.c,193 :: off_cnt = Tick + Off_time*1000;
+ MOVF _Off_time+0, 0
+ MOVWF R0
+ MOVF _Off_time+1, 0
+ MOVWF R1
+ MOVF _Off_time+2, 0
+ MOVWF R2
+ MOVF _Off_time+3, 0
+ MOVWF R3
+ MOVLW 232
+ MOVWF R4
+ MOVLW 3
+ MOVWF R5
+ CLRF R6
+ CLRF R7
+ CALL _Mul_32x32_U+0
+ MOVF R0, 0
+ ADDWF _Tick+0, 0
+ MOVWF _off_cnt+0
+ MOVF R1, 0
+ ADDWFC _Tick+1, 0
+ MOVWF _off_cnt+1
+ MOVF R2, 0
+ ADDWFC _Tick+2, 0
+ MOVWF _off_cnt+2
+ MOVF R3, 0
+ ADDWFC _Tick+3, 0
+ MOVWF _off_cnt+3
+;main.c,194 :: }
+ GOTO L_watch_swr47
+L_watch_swr46:
+;main.c,195 :: else oled_start();
+ CALL _oled_start+0
+L_watch_swr47:
+;main.c,196 :: };
+L_watch_swr45:
+;main.c,198 :: if(PWR_fixed!=PWR_fixed_old){
+ MOVF watch_swr_PWR_fixed_L0+1, 0
+ XORWF _PWR_fixed_old+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr262
+ MOVF _PWR_fixed_old+0, 0
+ XORWF watch_swr_PWR_fixed_L0+0, 0
+L__watch_swr262:
+ BTFSC STATUS+0, 2
+ GOTO L_watch_swr48
+;main.c,199 :: if(Overflow)
+ BTFSS _Overflow+0, BitPos(_Overflow+0)
+ GOTO L_watch_swr49
+;main.c,200 :: oled_wr_str(0, 42, ">", 1);
+ CLRF FARG_oled_wr_str+0
+ MOVLW 42
+ MOVWF FARG_oled_wr_str+0
+ MOVLW ?lstr5_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr5_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 1
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+ GOTO L_watch_swr50
+L_watch_swr49:
+;main.c,202 :: oled_wr_str(0, 42, "=", 1);
+ CLRF FARG_oled_wr_str+0
+ MOVLW 42
+ MOVWF FARG_oled_wr_str+0
+ MOVLW ?lstr6_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr6_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 1
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+L_watch_swr50:
+;main.c,203 :: PWR_fixed_old = PWR_fixed;
+ MOVF watch_swr_PWR_fixed_L0+0, 0
+ MOVWF _PWR_fixed_old+0
+ MOVF watch_swr_PWR_fixed_L0+1, 0
+ MOVWF _PWR_fixed_old+1
+;main.c,204 :: draw_power(PWR_fixed);
+ MOVF watch_swr_PWR_fixed_L0+0, 0
+ MOVWF FARG_draw_power+0
+ MOVF watch_swr_PWR_fixed_L0+1, 0
+ MOVWF FARG_draw_power+1
+ CALL _draw_power+0
+;main.c,205 :: }
+L_watch_swr48:
+;main.c,207 :: if(PWR_fixed<10){
+ MOVLW 128
+ XORWF watch_swr_PWR_fixed_L0+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr263
+ MOVLW 10
+ SUBWF watch_swr_PWR_fixed_L0+0, 0
+L__watch_swr263:
+ BTFSC STATUS+0, 0
+ GOTO L_watch_swr51
+;main.c,208 :: SWR_fixed = 0;
+ CLRF watch_swr_SWR_fixed_L0+0
+ CLRF watch_swr_SWR_fixed_L0+1
+;main.c,210 :: draw_swr(SWR_ind);
+ MOVF _SWR_ind+0, 0
+ MOVWF FARG_draw_swr+0
+ MOVF _SWR_ind+1, 0
+ MOVWF FARG_draw_swr+1
+ CALL _draw_swr+0
+;main.c,211 :: return;
+ GOTO L_end_watch_swr
+;main.c,212 :: }
+L_watch_swr51:
+;main.c,214 :: if(Overflow){
+ BTFSS _Overflow+0, BitPos(_Overflow+0)
+ GOTO L_watch_swr52
+;main.c,215 :: for(cnt=3; cnt!=0; cnt--){
+ MOVLW 3
+ MOVWF watch_swr_cnt_L0+0
+L_watch_swr53:
+ MOVF watch_swr_cnt_L0+0, 0
+ XORLW 0
+ BTFSC STATUS+0, 2
+ GOTO L_watch_swr54
+;main.c,216 :: oled_wr_str(2, 6, "OVERLOAD ", 9);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ MOVLW 6
+ MOVWF FARG_oled_wr_str+0
+ MOVLW ?lstr7_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr7_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 9
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,217 :: Delay_ms(500);
+ MOVLW 21
+ MOVWF R11
+ MOVLW 75
+ MOVWF R12
+ MOVLW 190
+ MOVWF R13
+L_watch_swr56:
+ DECFSZ R13, 1
+ GOTO L_watch_swr56
+ DECFSZ R12, 1
+ GOTO L_watch_swr56
+ DECFSZ R11, 1
+ GOTO L_watch_swr56
+ NOP
+;main.c,218 :: oled_wr_str(2, 0, " ", 9);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ CLRF FARG_oled_wr_str+0
+ MOVLW ?lstr8_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr8_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 9
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,219 :: Delay_ms(500);
+ MOVLW 21
+ MOVWF R11
+ MOVLW 75
+ MOVWF R12
+ MOVLW 190
+ MOVWF R13
+L_watch_swr57:
+ DECFSZ R13, 1
+ GOTO L_watch_swr57
+ DECFSZ R12, 1
+ GOTO L_watch_swr57
+ DECFSZ R11, 1
+ GOTO L_watch_swr57
+ NOP
+;main.c,215 :: for(cnt=3; cnt!=0; cnt--){
+ DECF watch_swr_cnt_L0+0, 1
+;main.c,220 :: }
+ GOTO L_watch_swr53
+L_watch_swr54:
+;main.c,221 :: oled_wr_str(2, 0, "SWR ", 9);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ CLRF FARG_oled_wr_str+0
+ MOVLW ?lstr9_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr9_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 9
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,222 :: oled_wr_str(2, 42, "=", 1);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ MOVLW 42
+ MOVWF FARG_oled_wr_str+0
+ MOVLW ?lstr10_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr10_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 1
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,223 :: draw_swr(SWR_fixed);
+ MOVF watch_swr_SWR_fixed_L0+0, 0
+ MOVWF FARG_draw_swr+0
+ MOVF watch_swr_SWR_fixed_L0+1, 0
+ MOVWF FARG_draw_swr+1
+ CALL _draw_swr+0
+;main.c,224 :: Delay_ms(500);
+ MOVLW 21
+ MOVWF R11
+ MOVLW 75
+ MOVWF R12
+ MOVLW 190
+ MOVWF R13
+L_watch_swr58:
+ DECFSZ R13, 1
+ GOTO L_watch_swr58
+ DECFSZ R12, 1
+ GOTO L_watch_swr58
+ DECFSZ R11, 1
+ GOTO L_watch_swr58
+ NOP
+;main.c,225 :: Overflow = 0;
+ BCF _Overflow+0, BitPos(_Overflow+0)
+;main.c,226 :: }
+ GOTO L_watch_swr59
+L_watch_swr52:
+;main.c,228 :: else if(PWR_fixed>=min_for_start && PWR_fixed=Auto_delta || SWR_Fixed>900 ) {
+ MOVLW 128
+ XORWF watch_swr_PWR_fixed_L0+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORWF _min_for_start+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr264
+ MOVF _min_for_start+0, 0
+ SUBWF watch_swr_PWR_fixed_L0+0, 0
+L__watch_swr264:
+ BTFSS STATUS+0, 0
+ GOTO L__watch_swr238
+ MOVLW 128
+ XORWF watch_swr_PWR_fixed_L0+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORWF _max_for_start+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr265
+ MOVF _max_for_start+0, 0
+ SUBWF watch_swr_PWR_fixed_L0+0, 0
+L__watch_swr265:
+ BTFSC STATUS+0, 0
+ GOTO L__watch_swr238
+ MOVLW 128
+ XORWF watch_swr_SWR_fixed_L0+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORWF _Auto_delta+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr266
+ MOVF _Auto_delta+0, 0
+ SUBWF watch_swr_SWR_fixed_L0+0, 0
+L__watch_swr266:
+ BTFSS STATUS+0, 0
+ GOTO L__watch_swr238
+ GOTO L__watch_swr237
+L__watch_swr238:
+ MOVLW 128
+ XORLW 3
+ MOVWF R0
+ MOVLW 128
+ XORWF watch_swr_SWR_fixed_L0+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr267
+ MOVF watch_swr_SWR_fixed_L0+0, 0
+ SUBLW 132
+L__watch_swr267:
+ BTFSS STATUS+0, 0
+ GOTO L__watch_swr237
+ GOTO L_watch_swr64
+L__watch_swr237:
+;main.c,229 :: if( (SWR_fixed>SWR_fixed_old && (SWR_fixed-SWR_fixed_old)>delta) || (SWR_fixeddelta) || SWR_Fixed>900 ) {
+ MOVLW 128
+ XORWF _SWR_fixed_old+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORWF watch_swr_SWR_fixed_L0+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr268
+ MOVF watch_swr_SWR_fixed_L0+0, 0
+ SUBWF _SWR_fixed_old+0, 0
+L__watch_swr268:
+ BTFSC STATUS+0, 0
+ GOTO L__watch_swr236
+ MOVF _SWR_fixed_old+0, 0
+ SUBWF watch_swr_SWR_fixed_L0+0, 0
+ MOVWF R1
+ MOVF _SWR_fixed_old+1, 0
+ SUBWFB watch_swr_SWR_fixed_L0+1, 0
+ MOVWF R2
+ MOVLW 128
+ XORWF watch_swr_delta_L0+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORWF R2, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr269
+ MOVF R1, 0
+ SUBWF watch_swr_delta_L0+0, 0
+L__watch_swr269:
+ BTFSC STATUS+0, 0
+ GOTO L__watch_swr236
+ GOTO L__watch_swr234
+L__watch_swr236:
+ MOVLW 128
+ XORWF watch_swr_SWR_fixed_L0+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORWF _SWR_fixed_old+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr270
+ MOVF _SWR_fixed_old+0, 0
+ SUBWF watch_swr_SWR_fixed_L0+0, 0
+L__watch_swr270:
+ BTFSC STATUS+0, 0
+ GOTO L__watch_swr235
+ MOVF watch_swr_SWR_fixed_L0+0, 0
+ SUBWF _SWR_fixed_old+0, 0
+ MOVWF R1
+ MOVF watch_swr_SWR_fixed_L0+1, 0
+ SUBWFB _SWR_fixed_old+1, 0
+ MOVWF R2
+ MOVLW 128
+ XORWF watch_swr_delta_L0+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORWF R2, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr271
+ MOVF R1, 0
+ SUBWF watch_swr_delta_L0+0, 0
+L__watch_swr271:
+ BTFSC STATUS+0, 0
+ GOTO L__watch_swr235
+ GOTO L__watch_swr234
+L__watch_swr235:
+ MOVLW 128
+ XORLW 3
+ MOVWF R0
+ MOVLW 128
+ XORWF watch_swr_SWR_fixed_L0+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr272
+ MOVF watch_swr_SWR_fixed_L0+0, 0
+ SUBLW 132
+L__watch_swr272:
+ BTFSS STATUS+0, 0
+ GOTO L__watch_swr234
+ GOTO L_watch_swr71
+L__watch_swr234:
+;main.c,230 :: Btn_long();
+ CALL _Btn_long+0
+;main.c,231 :: return;
+ GOTO L_end_watch_swr
+;main.c,232 :: }
+L_watch_swr71:
+;main.c,233 :: }
+L_watch_swr64:
+L_watch_swr59:
+;main.c,235 :: if(SWR_fixed>99 && SWR_fixed!=SWR_ind){
+ MOVLW 128
+ MOVWF R0
+ MOVLW 128
+ XORWF watch_swr_SWR_fixed_L0+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr273
+ MOVF watch_swr_SWR_fixed_L0+0, 0
+ SUBLW 99
+L__watch_swr273:
+ BTFSC STATUS+0, 0
+ GOTO L_watch_swr74
+ MOVF watch_swr_SWR_fixed_L0+1, 0
+ XORWF _SWR_ind+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__watch_swr274
+ MOVF _SWR_ind+0, 0
+ XORWF watch_swr_SWR_fixed_L0+0, 0
+L__watch_swr274:
+ BTFSC STATUS+0, 2
+ GOTO L_watch_swr74
+L__watch_swr233:
+;main.c,236 :: SWR_ind = SWR_fixed;
+ MOVF watch_swr_SWR_fixed_L0+0, 0
+ MOVWF _SWR_ind+0
+ MOVF watch_swr_SWR_fixed_L0+1, 0
+ MOVWF _SWR_ind+1
+;main.c,237 :: draw_swr(SWR_ind);
+ MOVF watch_swr_SWR_fixed_L0+0, 0
+ MOVWF FARG_draw_swr+0
+ MOVF watch_swr_SWR_fixed_L0+1, 0
+ MOVWF FARG_draw_swr+1
+ CALL _draw_swr+0
+;main.c,238 :: }
+L_watch_swr74:
+;main.c,240 :: return;
+;main.c,241 :: }
+L_end_watch_swr:
+ RETURN
+; end of _watch_swr
+
+_draw_swr:
+
+;main.c,243 :: void draw_swr(unsigned int s){
+;main.c,244 :: if(s==0)
+ MOVLW 0
+ XORWF FARG_draw_swr_s+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__draw_swr276
+ MOVLW 0
+ XORWF FARG_draw_swr_s+0, 0
+L__draw_swr276:
+ BTFSS STATUS+0, 2
+ GOTO L_draw_swr75
+;main.c,245 :: oled_wr_str(2, 60, "0.00", 4);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ MOVLW 60
+ MOVWF FARG_oled_wr_str+0
+ MOVLW ?lstr11_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr11_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 4
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+ GOTO L_draw_swr76
+L_draw_swr75:
+;main.c,247 :: IntToStr(s, txt_2);
+ MOVF FARG_draw_swr_s+0, 0
+ MOVWF FARG_IntToStr_input+0
+ MOVF FARG_draw_swr_s+1, 0
+ MOVWF FARG_IntToStr_input+1
+ MOVLW _txt_2+0
+ MOVWF FARG_IntToStr_output+0
+ MOVLW hi_addr(_txt_2+0)
+ MOVWF FARG_IntToStr_output+1
+ CALL _IntToStr+0
+;main.c,248 :: txt[0] = txt_2[3];
+ MOVF _txt_2+3, 0
+ MOVWF _txt+0
+;main.c,249 :: txt[1] = '.';
+ MOVLW 46
+ MOVWF _txt+1
+;main.c,250 :: txt[2] = txt_2[4];
+ MOVF _txt_2+4, 0
+ MOVWF _txt+2
+;main.c,251 :: txt[3] = txt_2[5];
+ MOVF _txt_2+5, 0
+ MOVWF _txt+3
+;main.c,253 :: oled_wr_str(2, 60, txt, 4);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ MOVLW 60
+ MOVWF FARG_oled_wr_str+0
+ MOVLW _txt+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(_txt+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 4
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,254 :: }
+L_draw_swr76:
+;main.c,255 :: return;
+;main.c,256 :: }
+L_end_draw_swr:
+ RETURN
+; end of _draw_swr
+
+_draw_power:
+
+;main.c,258 :: void draw_power(unsigned int p){
+;main.c,260 :: if(p==0){
+ MOVLW 0
+ XORWF FARG_draw_power_p+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__draw_power278
+ MOVLW 0
+ XORWF FARG_draw_power_p+0, 0
+L__draw_power278:
+ BTFSS STATUS+0, 2
+ GOTO L_draw_power77
+;main.c,261 :: oled_wr_str(0, 60, "0.0", 3);
+ CLRF FARG_oled_wr_str+0
+ MOVLW 60
+ MOVWF FARG_oled_wr_str+0
+ MOVLW ?lstr12_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr12_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 3
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,262 :: return;
+ GOTO L_end_draw_power
+;main.c,263 :: }
+L_draw_power77:
+;main.c,264 :: else if(p<10){ // <1 W
+ MOVLW 0
+ SUBWF FARG_draw_power_p+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__draw_power279
+ MOVLW 10
+ SUBWF FARG_draw_power_p+0, 0
+L__draw_power279:
+ BTFSC STATUS+0, 0
+ GOTO L_draw_power79
+;main.c,265 :: IntToStr(p, txt_2);
+ MOVF FARG_draw_power_p+0, 0
+ MOVWF FARG_IntToStr_input+0
+ MOVF FARG_draw_power_p+1, 0
+ MOVWF FARG_IntToStr_input+1
+ MOVLW _txt_2+0
+ MOVWF FARG_IntToStr_output+0
+ MOVLW hi_addr(_txt_2+0)
+ MOVWF FARG_IntToStr_output+1
+ CALL _IntToStr+0
+;main.c,266 :: txt[0] = '0';
+ MOVLW 48
+ MOVWF _txt+0
+;main.c,267 :: txt[1] = '.';
+ MOVLW 46
+ MOVWF _txt+1
+;main.c,268 :: txt[2] = txt_2[5];
+ MOVF _txt_2+5, 0
+ MOVWF _txt+2
+;main.c,269 :: }
+ GOTO L_draw_power80
+L_draw_power79:
+;main.c,270 :: else if(p<100){ // <10W
+ MOVLW 0
+ SUBWF FARG_draw_power_p+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__draw_power280
+ MOVLW 100
+ SUBWF FARG_draw_power_p+0, 0
+L__draw_power280:
+ BTFSC STATUS+0, 0
+ GOTO L_draw_power81
+;main.c,271 :: IntToStr(p, txt_2);
+ MOVF FARG_draw_power_p+0, 0
+ MOVWF FARG_IntToStr_input+0
+ MOVF FARG_draw_power_p+1, 0
+ MOVWF FARG_IntToStr_input+1
+ MOVLW _txt_2+0
+ MOVWF FARG_IntToStr_output+0
+ MOVLW hi_addr(_txt_2+0)
+ MOVWF FARG_IntToStr_output+1
+ CALL _IntToStr+0
+;main.c,272 :: txt[0] = txt_2[4];
+ MOVF _txt_2+4, 0
+ MOVWF _txt+0
+;main.c,273 :: txt[1] = '.';
+ MOVLW 46
+ MOVWF _txt+1
+;main.c,274 :: txt[2] = txt_2[5];
+ MOVF _txt_2+5, 0
+ MOVWF _txt+2
+;main.c,275 :: }
+ GOTO L_draw_power82
+L_draw_power81:
+;main.c,277 :: p += 5;
+ MOVLW 5
+ ADDWF FARG_draw_power_p+0, 0
+ MOVWF R0
+ MOVLW 0
+ ADDWFC FARG_draw_power_p+1, 0
+ MOVWF R1
+ MOVF R0, 0
+ MOVWF FARG_draw_power_p+0
+ MOVF R1, 0
+ MOVWF FARG_draw_power_p+1
+;main.c,278 :: IntToStr(p, txt_2);
+ MOVF R0, 0
+ MOVWF FARG_IntToStr_input+0
+ MOVF R1, 0
+ MOVWF FARG_IntToStr_input+1
+ MOVLW _txt_2+0
+ MOVWF FARG_IntToStr_output+0
+ MOVLW hi_addr(_txt_2+0)
+ MOVWF FARG_IntToStr_output+1
+ CALL _IntToStr+0
+;main.c,279 :: txt[0] = ' ';
+ MOVLW 32
+ MOVWF _txt+0
+;main.c,280 :: txt[1] = txt_2[3];
+ MOVF _txt_2+3, 0
+ MOVWF _txt+1
+;main.c,281 :: txt[2] = txt_2[4];
+ MOVF _txt_2+4, 0
+ MOVWF _txt+2
+;main.c,282 :: }
+L_draw_power82:
+L_draw_power80:
+;main.c,283 :: oled_wr_str(0, 60, txt, 3);
+ CLRF FARG_oled_wr_str+0
+ MOVLW 60
+ MOVWF FARG_oled_wr_str+0
+ MOVLW _txt+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(_txt+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 3
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,284 :: return;
+;main.c,285 :: }
+L_end_draw_power:
+ RETURN
+; end of _draw_power
+
+_Voltage_show:
+
+;main.c,287 :: void Voltage_show(){
+;main.c,288 :: get_batt();
+ CALL _get_batt+0
+;main.c,289 :: if(Voltage != Voltage_old) { Voltage_old = Voltage; oled_voltage(Voltage); }
+ MOVF _Voltage+1, 0
+ XORWF _Voltage_old+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__Voltage_show282
+ MOVF _Voltage_old+0, 0
+ XORWF _Voltage+0, 0
+L__Voltage_show282:
+ BTFSC STATUS+0, 2
+ GOTO L_Voltage_show83
+ MOVF _Voltage+0, 0
+ MOVWF _Voltage_old+0
+ MOVF _Voltage+1, 0
+ MOVWF _Voltage_old+1
+ MOVF _Voltage+0, 0
+ MOVWF FARG_oled_voltage+0
+ MOVF _Voltage+1, 0
+ MOVWF FARG_oled_voltage+1
+ CALL _oled_voltage+0
+L_Voltage_show83:
+;main.c,292 :: if(Voltage>3700){
+ MOVLW 128
+ XORLW 14
+ MOVWF R0
+ MOVLW 128
+ XORWF _Voltage+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__Voltage_show283
+ MOVF _Voltage+0, 0
+ SUBLW 116
+L__Voltage_show283:
+ BTFSC STATUS+0, 0
+ GOTO L_Voltage_show84
+;main.c,293 :: Green = 0;
+ BCF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,294 :: Red = 1;
+ BSF LATB4_bit+0, BitPos(LATB4_bit+0)
+;main.c,295 :: Delay_ms(30);
+ MOVLW 2
+ MOVWF R11
+ MOVLW 56
+ MOVWF R12
+ MOVLW 173
+ MOVWF R13
+L_Voltage_show85:
+ DECFSZ R13, 1
+ GOTO L_Voltage_show85
+ DECFSZ R12, 1
+ GOTO L_Voltage_show85
+ DECFSZ R11, 1
+ GOTO L_Voltage_show85
+;main.c,296 :: Green = 1;
+ BSF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,297 :: Red = 1;
+ BSF LATB4_bit+0, BitPos(LATB4_bit+0)
+;main.c,298 :: }
+ GOTO L_Voltage_show86
+L_Voltage_show84:
+;main.c,299 :: else if(Voltage>3590){
+ MOVLW 128
+ XORLW 14
+ MOVWF R0
+ MOVLW 128
+ XORWF _Voltage+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__Voltage_show284
+ MOVF _Voltage+0, 0
+ SUBLW 6
+L__Voltage_show284:
+ BTFSC STATUS+0, 0
+ GOTO L_Voltage_show87
+;main.c,300 :: Green = 0;
+ BCF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,301 :: Red = 0;
+ BCF LATB4_bit+0, BitPos(LATB4_bit+0)
+;main.c,302 :: Delay_ms(30);
+ MOVLW 2
+ MOVWF R11
+ MOVLW 56
+ MOVWF R12
+ MOVLW 173
+ MOVWF R13
+L_Voltage_show88:
+ DECFSZ R13, 1
+ GOTO L_Voltage_show88
+ DECFSZ R12, 1
+ GOTO L_Voltage_show88
+ DECFSZ R11, 1
+ GOTO L_Voltage_show88
+;main.c,303 :: Green = 1;
+ BSF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,304 :: Red = 1;
+ BSF LATB4_bit+0, BitPos(LATB4_bit+0)
+;main.c,305 :: }
+ GOTO L_Voltage_show89
+L_Voltage_show87:
+;main.c,307 :: Red = 0;
+ BCF LATB4_bit+0, BitPos(LATB4_bit+0)
+;main.c,308 :: Green = 1;
+ BSF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,309 :: Delay_ms(30);
+ MOVLW 2
+ MOVWF R11
+ MOVLW 56
+ MOVWF R12
+ MOVLW 173
+ MOVWF R13
+L_Voltage_show90:
+ DECFSZ R13, 1
+ GOTO L_Voltage_show90
+ DECFSZ R12, 1
+ GOTO L_Voltage_show90
+ DECFSZ R11, 1
+ GOTO L_Voltage_show90
+;main.c,310 :: Red = 1;
+ BSF LATB4_bit+0, BitPos(LATB4_bit+0)
+;main.c,311 :: Green = 1;
+ BSF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,312 :: }
+L_Voltage_show89:
+L_Voltage_show86:
+;main.c,314 :: if(Voltage<3400){
+ MOVLW 128
+ XORWF _Voltage+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORLW 13
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__Voltage_show285
+ MOVLW 72
+ SUBWF _Voltage+0, 0
+L__Voltage_show285:
+ BTFSC STATUS+0, 0
+ GOTO L_Voltage_show91
+;main.c,315 :: oled_clear();
+ CALL _oled_clear+0
+;main.c,316 :: oled_wr_str(1, 0, " LOW BATT ", 11);
+ MOVLW 1
+ MOVWF FARG_oled_wr_str+0
+ CLRF FARG_oled_wr_str+0
+ MOVLW ?lstr13_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr13_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 11
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,317 :: Delay_ms(2000);
+ MOVLW 82
+ MOVWF R11
+ MOVLW 43
+ MOVWF R12
+ MOVLW 0
+ MOVWF R13
+L_Voltage_show92:
+ DECFSZ R13, 1
+ GOTO L_Voltage_show92
+ DECFSZ R12, 1
+ GOTO L_Voltage_show92
+ DECFSZ R11, 1
+ GOTO L_Voltage_show92
+ NOP
+;main.c,318 :: OLED_PWD = 0;
+ BCF LATA4_bit+0, BitPos(LATA4_bit+0)
+;main.c,319 :: power_off();
+ CALL _power_off+0
+;main.c,320 :: }
+L_Voltage_show91:
+;main.c,321 :: return;
+;main.c,322 :: }
+L_end_Voltage_show:
+ RETURN
+; end of _Voltage_show
+
+_Btn_xlong:
+
+;main.c,324 :: void Btn_xlong(){
+;main.c,325 :: B_xlong = 0;
+ BCF _B_xlong+0, BitPos(_B_xlong+0)
+;main.c,326 :: btn_cnt = 0;
+ CLRF _btn_cnt+0
+ CLRF _btn_cnt+1
+ CLRF _btn_cnt+2
+ CLRF _btn_cnt+3
+;main.c,327 :: oled_clear();
+ CALL _oled_clear+0
+;main.c,328 :: oled_wr_str(1, 0, " POWER OFF ", 11);
+ MOVLW 1
+ MOVWF FARG_oled_wr_str+0
+ CLRF FARG_oled_wr_str+0
+ MOVLW ?lstr14_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr14_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 11
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,329 :: Delay_ms(2000);
+ MOVLW 82
+ MOVWF R11
+ MOVLW 43
+ MOVWF R12
+ MOVLW 0
+ MOVWF R13
+L_Btn_xlong93:
+ DECFSZ R13, 1
+ GOTO L_Btn_xlong93
+ DECFSZ R12, 1
+ GOTO L_Btn_xlong93
+ DECFSZ R11, 1
+ GOTO L_Btn_xlong93
+ NOP
+;main.c,330 :: power_off();
+ CALL _power_off+0
+;main.c,331 :: return;
+;main.c,332 :: }
+L_end_Btn_xlong:
+ RETURN
+; end of _Btn_xlong
+
+_Btn_long:
+
+;main.c,334 :: void Btn_long(){
+;main.c,335 :: Green = 0;
+ BCF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,336 :: oled_wr_str(2, 0, "TUNE ", 9);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ CLRF FARG_oled_wr_str+0
+ MOVLW ?lstr15_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr15_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 9
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,337 :: tune();
+ CALL _tune+0
+;main.c,338 :: SWR_ind = SWR;
+ MOVF _SWR+0, 0
+ MOVWF _SWR_ind+0
+ MOVF _SWR+1, 0
+ MOVWF _SWR_ind+1
+;main.c,339 :: SWR_fixed_old = SWR;
+ MOVF _SWR+0, 0
+ MOVWF _SWR_fixed_old+0
+ MOVF _SWR+1, 0
+ MOVWF _SWR_fixed_old+1
+;main.c,340 :: oled_wr_str(2, 0, "SWR ", 4);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ CLRF FARG_oled_wr_str+0
+ MOVLW ?lstr16_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr16_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 4
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,341 :: oled_wr_str(2, 42, "=", 1);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ MOVLW 42
+ MOVWF FARG_oled_wr_str+0
+ MOVLW ?lstr17_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr17_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 1
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,342 :: draw_swr(SWR_ind);
+ MOVF _SWR_ind+0, 0
+ MOVWF FARG_draw_swr_s+0
+ MOVF _SWR_ind+1, 0
+ MOVWF FARG_draw_swr_s+1
+ CALL _draw_swr+0
+;main.c,343 :: Green = 1;
+ BSF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,344 :: B_long = 0;
+ BCF _B_long+0, BitPos(_B_long+0)
+;main.c,345 :: E_long = 0;
+ BCF _E_long+0, BitPos(_E_long+0)
+;main.c,346 :: btn_1_cnt = 0;
+ CLRF _btn_1_cnt+0
+;main.c,347 :: volt_cnt = Tick;
+ MOVF _Tick+0, 0
+ MOVWF _volt_cnt+0
+ MOVF _Tick+1, 0
+ MOVWF _volt_cnt+1
+ MOVF _Tick+2, 0
+ MOVWF _volt_cnt+2
+ MOVF _Tick+3, 0
+ MOVWF _volt_cnt+3
+;main.c,348 :: watch_cnt = Tick;
+ MOVF _Tick+0, 0
+ MOVWF _watch_cnt+0
+ MOVF _Tick+1, 0
+ MOVWF _watch_cnt+1
+ MOVF _Tick+2, 0
+ MOVWF _watch_cnt+2
+ MOVF _Tick+3, 0
+ MOVWF _watch_cnt+3
+;main.c,349 :: return;
+;main.c,350 :: }
+L_end_Btn_long:
+ RETURN
+; end of _Btn_long
+
+_Ext_long:
+
+;main.c,352 :: void Ext_long(){
+;main.c,353 :: Green = 0;
+ BCF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,354 :: OLED_PWD = 1;
+ BSF LATA4_bit+0, BitPos(LATA4_bit+0)
+;main.c,355 :: tune();
+ CALL _tune+0
+;main.c,356 :: SWR_ind = SWR;
+ MOVF _SWR+0, 0
+ MOVWF _SWR_ind+0
+ MOVF _SWR+1, 0
+ MOVWF _SWR_ind+1
+;main.c,357 :: Green = 1;
+ BSF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,358 :: E_long = 0;
+ BCF _E_long+0, BitPos(_E_long+0)
+;main.c,359 :: return;
+;main.c,360 :: }
+L_end_Ext_long:
+ RETURN
+; end of _Ext_long
+
+_Btn_short:
+
+;main.c,362 :: void Btn_short(){
+;main.c,363 :: Green = 0;
+ BCF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,364 :: atu_reset();
+ CALL _atu_reset+0
+;main.c,365 :: oled_wr_str(2, 0, "RESET ", 9);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ CLRF FARG_oled_wr_str+0
+ MOVLW ?lstr18_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr18_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 9
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,366 :: Delay_ms(600);
+ MOVLW 25
+ MOVWF R11
+ MOVLW 90
+ MOVWF R12
+ MOVLW 177
+ MOVWF R13
+L_Btn_short94:
+ DECFSZ R13, 1
+ GOTO L_Btn_short94
+ DECFSZ R12, 1
+ GOTO L_Btn_short94
+ DECFSZ R11, 1
+ GOTO L_Btn_short94
+ NOP
+ NOP
+;main.c,367 :: oled_wr_str(2, 0, "SWR ", 5);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ CLRF FARG_oled_wr_str+0
+ MOVLW ?lstr19_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr19_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 5
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,368 :: oled_wr_str(2, 42, "=", 1);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ MOVLW 42
+ MOVWF FARG_oled_wr_str+0
+ MOVLW ?lstr20_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr20_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 1
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,369 :: oled_wr_str(2, 60, "0.00", 4);
+ MOVLW 2
+ MOVWF FARG_oled_wr_str+0
+ MOVLW 60
+ MOVWF FARG_oled_wr_str+0
+ MOVLW ?lstr21_main+0
+ MOVWF FARG_oled_wr_str+0
+ MOVLW hi_addr(?lstr21_main+0)
+ MOVWF FARG_oled_wr_str+1
+ MOVLW 4
+ MOVWF FARG_oled_wr_str+0
+ CALL _oled_wr_str+0
+;main.c,370 :: SWR_fixed_old = 100;
+ MOVLW 100
+ MOVWF _SWR_fixed_old+0
+ MOVLW 0
+ MOVWF _SWR_fixed_old+1
+;main.c,371 :: Delay_ms(300);
+ MOVLW 13
+ MOVWF R11
+ MOVLW 45
+ MOVWF R12
+ MOVLW 215
+ MOVWF R13
+L_Btn_short95:
+ DECFSZ R13, 1
+ GOTO L_Btn_short95
+ DECFSZ R12, 1
+ GOTO L_Btn_short95
+ DECFSZ R11, 1
+ GOTO L_Btn_short95
+ NOP
+ NOP
+;main.c,372 :: Green = 1;
+ BSF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,373 :: B_short = 0;
+ BCF _B_short+0, BitPos(_B_short+0)
+;main.c,374 :: E_short = 0;
+ BCF _E_short+0, BitPos(_E_short+0)
+;main.c,375 :: btn_1_cnt = 0;
+ CLRF _btn_1_cnt+0
+;main.c,376 :: volt_cnt = Tick;
+ MOVF _Tick+0, 0
+ MOVWF _volt_cnt+0
+ MOVF _Tick+1, 0
+ MOVWF _volt_cnt+1
+ MOVF _Tick+2, 0
+ MOVWF _volt_cnt+2
+ MOVF _Tick+3, 0
+ MOVWF _volt_cnt+3
+;main.c,377 :: watch_cnt = Tick;
+ MOVF _Tick+0, 0
+ MOVWF _watch_cnt+0
+ MOVF _Tick+1, 0
+ MOVWF _watch_cnt+1
+ MOVF _Tick+2, 0
+ MOVWF _watch_cnt+2
+ MOVF _Tick+3, 0
+ MOVWF _watch_cnt+3
+;main.c,378 :: return;
+;main.c,379 :: }
+L_end_Btn_short:
+ RETURN
+; end of _Btn_short
+
+_Greating:
+
+;main.c,381 :: void Greating(){
+;main.c,382 :: Green = 0;
+ BCF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,383 :: oled_clear();
+ CALL _oled_clear+0
+;main.c,384 :: oled_wr_str_s(1, 0, " DESIGNED BY N7DDC", 18);
+ MOVLW 1
+ MOVWF FARG_oled_wr_str_s+0
+ CLRF FARG_oled_wr_str_s+0
+ MOVLW ?lstr22_main+0
+ MOVWF FARG_oled_wr_str_s+0
+ MOVLW hi_addr(?lstr22_main+0)
+ MOVWF FARG_oled_wr_str_s+1
+ MOVLW 18
+ MOVWF FARG_oled_wr_str_s+0
+ CALL _oled_wr_str_s+0
+;main.c,385 :: oled_wr_str_s(3, 0, " FW VERSION ", 12);
+ MOVLW 3
+ MOVWF FARG_oled_wr_str_s+0
+ CLRF FARG_oled_wr_str_s+0
+ MOVLW ?lstr23_main+0
+ MOVWF FARG_oled_wr_str_s+0
+ MOVLW hi_addr(?lstr23_main+0)
+ MOVWF FARG_oled_wr_str_s+1
+ MOVLW 12
+ MOVWF FARG_oled_wr_str_s+0
+ CALL _oled_wr_str_s+0
+;main.c,386 :: oled_wr_str_s(3, 12*7, FW_VER, 3);
+ MOVLW 3
+ MOVWF FARG_oled_wr_str_s+0
+ MOVLW 84
+ MOVWF FARG_oled_wr_str_s+0
+ MOVLW ?lstr24_main+0
+ MOVWF FARG_oled_wr_str_s+0
+ MOVLW hi_addr(?lstr24_main+0)
+ MOVWF FARG_oled_wr_str_s+1
+ MOVLW 3
+ MOVWF FARG_oled_wr_str_s+0
+ CALL _oled_wr_str_s+0
+;main.c,387 :: Delay_ms(3000);
+ MOVLW 122
+ MOVWF R11
+ MOVLW 193
+ MOVWF R12
+ MOVLW 129
+ MOVWF R13
+L_Greating96:
+ DECFSZ R13, 1
+ GOTO L_Greating96
+ DECFSZ R12, 1
+ GOTO L_Greating96
+ DECFSZ R11, 1
+ GOTO L_Greating96
+ NOP
+ NOP
+;main.c,388 :: while(GetButton) asm NOP;
+L_Greating97:
+ BTFSC PORTB+0, 5
+ GOTO L__Greating291
+ BSF 3, 0
+ GOTO L__Greating292
+L__Greating291:
+ BCF 3, 0
+L__Greating292:
+ BTFSS 3, 0
+ GOTO L_Greating98
+ NOP
+ GOTO L_Greating97
+L_Greating98:
+;main.c,389 :: Green = 1;
+ BSF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,390 :: return;
+;main.c,391 :: }
+L_end_Greating:
+ RETURN
+; end of _Greating
+
+_atu_reset:
+
+;main.c,393 :: void atu_reset(){
+;main.c,394 :: ind = 0;
+ CLRF _ind+0
+;main.c,395 :: cap = 0;
+ CLRF _cap+0
+;main.c,396 :: SW = 0;
+ CLRF _SW+0
+;main.c,397 :: Relay_set(ind, cap, SW);
+ CLRF FARG_Relay_set+0
+ CLRF FARG_Relay_set+0
+ CLRF FARG_Relay_set+0
+ CALL _Relay_set+0
+;main.c,398 :: return;
+;main.c,399 :: }
+L_end_atu_reset:
+ RETURN
+; end of _atu_reset
+
+_Relay_set:
+
+;main.c,401 :: void Relay_set(char L, char C, char I){
+;main.c,402 :: L_010 = ~L.B0;
+ BTFSC FARG_Relay_set_L+0, 0
+ GOTO L__Relay_set295
+ BSF LATD7_bit+0, BitPos(LATD7_bit+0)
+ GOTO L__Relay_set296
+L__Relay_set295:
+ BCF LATD7_bit+0, BitPos(LATD7_bit+0)
+L__Relay_set296:
+;main.c,403 :: L_022 = ~L.B1;
+ BTFSC FARG_Relay_set_L+0, 1
+ GOTO L__Relay_set297
+ BSF LATD6_bit+0, BitPos(LATD6_bit+0)
+ GOTO L__Relay_set298
+L__Relay_set297:
+ BCF LATD6_bit+0, BitPos(LATD6_bit+0)
+L__Relay_set298:
+;main.c,404 :: L_045 = ~L.B2;
+ BTFSC FARG_Relay_set_L+0, 2
+ GOTO L__Relay_set299
+ BSF LATD5_bit+0, BitPos(LATD5_bit+0)
+ GOTO L__Relay_set300
+L__Relay_set299:
+ BCF LATD5_bit+0, BitPos(LATD5_bit+0)
+L__Relay_set300:
+;main.c,405 :: L_100 = ~L.B3;
+ BTFSC FARG_Relay_set_L+0, 3
+ GOTO L__Relay_set301
+ BSF LATD4_bit+0, BitPos(LATD4_bit+0)
+ GOTO L__Relay_set302
+L__Relay_set301:
+ BCF LATD4_bit+0, BitPos(LATD4_bit+0)
+L__Relay_set302:
+;main.c,406 :: L_220 = ~L.B4;
+ BTFSC FARG_Relay_set_L+0, 4
+ GOTO L__Relay_set303
+ BSF LATC7_bit+0, BitPos(LATC7_bit+0)
+ GOTO L__Relay_set304
+L__Relay_set303:
+ BCF LATC7_bit+0, BitPos(LATC7_bit+0)
+L__Relay_set304:
+;main.c,407 :: L_450 = ~L.B5;
+ BTFSC FARG_Relay_set_L+0, 5
+ GOTO L__Relay_set305
+ BSF LATC6_bit+0, BitPos(LATC6_bit+0)
+ GOTO L__Relay_set306
+L__Relay_set305:
+ BCF LATC6_bit+0, BitPos(LATC6_bit+0)
+L__Relay_set306:
+;main.c,408 :: L_1000 = ~L.B6;
+ BTFSC FARG_Relay_set_L+0, 6
+ GOTO L__Relay_set307
+ BSF LATC5_bit+0, BitPos(LATC5_bit+0)
+ GOTO L__Relay_set308
+L__Relay_set307:
+ BCF LATC5_bit+0, BitPos(LATC5_bit+0)
+L__Relay_set308:
+;main.c,410 :: C_22 = ~C.B0;
+ BTFSC FARG_Relay_set_C+0, 0
+ GOTO L__Relay_set309
+ BSF LATA5_bit+0, BitPos(LATA5_bit+0)
+ GOTO L__Relay_set310
+L__Relay_set309:
+ BCF LATA5_bit+0, BitPos(LATA5_bit+0)
+L__Relay_set310:
+;main.c,411 :: C_47 = ~C.B1;
+ BTFSC FARG_Relay_set_C+0, 1
+ GOTO L__Relay_set311
+ BSF LATE1_bit+0, BitPos(LATE1_bit+0)
+ GOTO L__Relay_set312
+L__Relay_set311:
+ BCF LATE1_bit+0, BitPos(LATE1_bit+0)
+L__Relay_set312:
+;main.c,412 :: C_100 = ~C.B2;
+ BTFSC FARG_Relay_set_C+0, 2
+ GOTO L__Relay_set313
+ BSF LATA7_bit+0, BitPos(LATA7_bit+0)
+ GOTO L__Relay_set314
+L__Relay_set313:
+ BCF LATA7_bit+0, BitPos(LATA7_bit+0)
+L__Relay_set314:
+;main.c,413 :: C_220 = ~C.B3;
+ BTFSC FARG_Relay_set_C+0, 3
+ GOTO L__Relay_set315
+ BSF LATA6_bit+0, BitPos(LATA6_bit+0)
+ GOTO L__Relay_set316
+L__Relay_set315:
+ BCF LATA6_bit+0, BitPos(LATA6_bit+0)
+L__Relay_set316:
+;main.c,414 :: C_470 = ~C.B4;
+ BTFSC FARG_Relay_set_C+0, 4
+ GOTO L__Relay_set317
+ BSF LATC0_bit+0, BitPos(LATC0_bit+0)
+ GOTO L__Relay_set318
+L__Relay_set317:
+ BCF LATC0_bit+0, BitPos(LATC0_bit+0)
+L__Relay_set318:
+;main.c,415 :: C_1000 = ~C.B5;
+ BTFSC FARG_Relay_set_C+0, 5
+ GOTO L__Relay_set319
+ BSF LATC1_bit+0, BitPos(LATC1_bit+0)
+ GOTO L__Relay_set320
+L__Relay_set319:
+ BCF LATC1_bit+0, BitPos(LATC1_bit+0)
+L__Relay_set320:
+;main.c,416 :: C_2200 = ~C.B6;
+ BTFSC FARG_Relay_set_C+0, 6
+ GOTO L__Relay_set321
+ BSF LATC2_bit+0, BitPos(LATC2_bit+0)
+ GOTO L__Relay_set322
+L__Relay_set321:
+ BCF LATC2_bit+0, BitPos(LATC2_bit+0)
+L__Relay_set322:
+;main.c,418 :: C_sw = I;
+ BTFSC FARG_Relay_set_I+0, 0
+ GOTO L__Relay_set323
+ BCF LATE0_bit+0, BitPos(LATE0_bit+0)
+ GOTO L__Relay_set324
+L__Relay_set323:
+ BSF LATE0_bit+0, BitPos(LATE0_bit+0)
+L__Relay_set324:
+;main.c,420 :: Rel_to_gnd = 1;
+ BSF LATD3_bit+0, BitPos(LATD3_bit+0)
+;main.c,421 :: Vdelay_ms(rldl);
+ MOVF _rldl+0, 0
+ MOVWF FARG_VDelay_ms_Time_ms+0
+ MOVF _rldl+1, 0
+ MOVWF FARG_VDelay_ms_Time_ms+1
+ CALL _VDelay_ms+0
+;main.c,422 :: Rel_to_gnd = 0;
+ BCF LATD3_bit+0, BitPos(LATD3_bit+0)
+;main.c,423 :: Delay_us(10);
+ MOVLW 26
+ MOVWF R13
+L_Relay_set99:
+ DECFSZ R13, 1
+ GOTO L_Relay_set99
+ NOP
+;main.c,424 :: Rel_to_plus_N = 0;
+ BCF LATC4_bit+0, BitPos(LATC4_bit+0)
+;main.c,425 :: Vdelay_ms(rldl);
+ MOVF _rldl+0, 0
+ MOVWF FARG_VDelay_ms_Time_ms+0
+ MOVF _rldl+1, 0
+ MOVWF FARG_VDelay_ms_Time_ms+1
+ CALL _VDelay_ms+0
+;main.c,426 :: Rel_to_plus_N = 1;
+ BSF LATC4_bit+0, BitPos(LATC4_bit+0)
+;main.c,427 :: Vdelay_ms(rldl);
+ MOVF _rldl+0, 0
+ MOVWF FARG_VDelay_ms_Time_ms+0
+ MOVF _rldl+1, 0
+ MOVWF FARG_VDelay_ms_Time_ms+1
+ CALL _VDelay_ms+0
+;main.c,429 :: L_010 = 0;
+ BCF LATD7_bit+0, BitPos(LATD7_bit+0)
+;main.c,430 :: L_022 = 0;
+ BCF LATD6_bit+0, BitPos(LATD6_bit+0)
+;main.c,431 :: L_045 = 0;
+ BCF LATD5_bit+0, BitPos(LATD5_bit+0)
+;main.c,432 :: L_100 = 0;
+ BCF LATD4_bit+0, BitPos(LATD4_bit+0)
+;main.c,433 :: L_220 = 0;
+ BCF LATC7_bit+0, BitPos(LATC7_bit+0)
+;main.c,434 :: L_450 = 0;
+ BCF LATC6_bit+0, BitPos(LATC6_bit+0)
+;main.c,435 :: L_1000 = 0;
+ BCF LATC5_bit+0, BitPos(LATC5_bit+0)
+;main.c,437 :: C_22 = 0;
+ BCF LATA5_bit+0, BitPos(LATA5_bit+0)
+;main.c,438 :: C_47 = 0;
+ BCF LATE1_bit+0, BitPos(LATE1_bit+0)
+;main.c,439 :: C_100 = 0;
+ BCF LATA7_bit+0, BitPos(LATA7_bit+0)
+;main.c,440 :: C_220 = 0;
+ BCF LATA6_bit+0, BitPos(LATA6_bit+0)
+;main.c,441 :: C_470 = 0;
+ BCF LATC0_bit+0, BitPos(LATC0_bit+0)
+;main.c,442 :: C_1000 = 0;
+ BCF LATC1_bit+0, BitPos(LATC1_bit+0)
+;main.c,443 :: C_2200 = 0;
+ BCF LATC2_bit+0, BitPos(LATC2_bit+0)
+;main.c,445 :: C_sw = 0;
+ BCF LATE0_bit+0, BitPos(LATE0_bit+0)
+;main.c,446 :: return;
+;main.c,447 :: }
+L_end_Relay_set:
+ RETURN
+; end of _Relay_set
+
+_power_off:
+
+;main.c,449 :: void power_off(void){
+;main.c,452 :: GIE_bit = 0;
+ BCF GIE_bit+0, BitPos(GIE_bit+0)
+;main.c,453 :: T0EN_bit = 0;
+ BCF T0EN_bit+0, BitPos(T0EN_bit+0)
+;main.c,454 :: TMR0IF_bit = 0;
+ BCF TMR0IF_bit+0, BitPos(TMR0IF_bit+0)
+;main.c,455 :: IOCIE_bit = 1;
+ BSF IOCIE_bit+0, BitPos(IOCIE_bit+0)
+;main.c,456 :: IOCBF5_bit = 0;
+ BCF IOCBF5_bit+0, BitPos(IOCBF5_bit+0)
+;main.c,457 :: IOCBN5_bit = 1;
+ BSF IOCBN5_bit+0, BitPos(IOCBN5_bit+0)
+;main.c,459 :: OLED_PWD = 0;
+ BCF LATA4_bit+0, BitPos(LATA4_bit+0)
+;main.c,460 :: RED = 1;
+ BSF LATB4_bit+0, BitPos(LATB4_bit+0)
+;main.c,461 :: Green = 1;
+ BSF LATB3_bit+0, BitPos(LATB3_bit+0)
+;main.c,463 :: C_sw = 0;
+ BCF LATE0_bit+0, BitPos(LATE0_bit+0)
+;main.c,464 :: SYSCMD_bit = 1;
+ BSF SYSCMD_bit+0, BitPos(SYSCMD_bit+0)
+;main.c,466 :: btn_cnt = 0;
+ CLRF power_off_btn_cnt_L0+0
+;main.c,467 :: while(1){
+L_power_off100:
+;main.c,468 :: if(btn_cnt==0){ Delay_ms(100); IOCBF5_bit = 0; asm sleep; }
+ MOVF power_off_btn_cnt_L0+0, 0
+ XORLW 0
+ BTFSS STATUS+0, 2
+ GOTO L_power_off102
+ MOVLW 5
+ MOVWF R11
+ MOVLW 15
+ MOVWF R12
+ MOVLW 241
+ MOVWF R13
+L_power_off103:
+ DECFSZ R13, 1
+ GOTO L_power_off103
+ DECFSZ R12, 1
+ GOTO L_power_off103
+ DECFSZ R11, 1
+ GOTO L_power_off103
+ BCF IOCBF5_bit+0, BitPos(IOCBF5_bit+0)
+ SLEEP
+L_power_off102:
+;main.c,469 :: asm NOP;
+ NOP
+;main.c,470 :: Delay_ms(100);
+ MOVLW 5
+ MOVWF R11
+ MOVLW 15
+ MOVWF R12
+ MOVLW 241
+ MOVWF R13
+L_power_off104:
+ DECFSZ R13, 1
+ GOTO L_power_off104
+ DECFSZ R12, 1
+ GOTO L_power_off104
+ DECFSZ R11, 1
+ GOTO L_power_off104
+;main.c,471 :: if(GetButton) btn_cnt++;
+ BTFSC PORTB+0, 5
+ GOTO L__power_off326
+ BSF 3, 0
+ GOTO L__power_off327
+L__power_off326:
+ BCF 3, 0
+L__power_off327:
+ BTFSS 3, 0
+ GOTO L_power_off105
+ INCF power_off_btn_cnt_L0+0, 1
+ GOTO L_power_off106
+L_power_off105:
+;main.c,472 :: else btn_cnt = 0;
+ CLRF power_off_btn_cnt_L0+0
+L_power_off106:
+;main.c,473 :: if(btn_cnt>15) break;
+ MOVF power_off_btn_cnt_L0+0, 0
+ SUBLW 15
+ BTFSC STATUS+0, 0
+ GOTO L_power_off107
+ GOTO L_power_off101
+L_power_off107:
+;main.c,474 :: }
+ GOTO L_power_off100
+L_power_off101:
+;main.c,476 :: SYSCMD_bit = 0;
+ BCF SYSCMD_bit+0, BitPos(SYSCMD_bit+0)
+;main.c,478 :: IOCIE_bit = 0;
+ BCF IOCIE_bit+0, BitPos(IOCIE_bit+0)
+;main.c,479 :: IOCBN5_bit = 0;
+ BCF IOCBN5_bit+0, BitPos(IOCBN5_bit+0)
+;main.c,480 :: IOCBF5_bit = 0;
+ BCF IOCBF5_bit+0, BitPos(IOCBF5_bit+0)
+;main.c,481 :: T0EN_bit = 1;
+ BSF T0EN_bit+0, BitPos(T0EN_bit+0)
+;main.c,482 :: GIE_bit = 1;
+ BSF GIE_bit+0, BitPos(GIE_bit+0)
+;main.c,484 :: gre = 1;
+ BSF _gre+0, BitPos(_gre+0)
+;main.c,485 :: oled_start();
+ CALL _oled_start+0
+;main.c,486 :: while(GetButton){asm NOP;}
+L_power_off108:
+ BTFSC PORTB+0, 5
+ GOTO L__power_off328
+ BSF 3, 0
+ GOTO L__power_off329
+L__power_off328:
+ BCF 3, 0
+L__power_off329:
+ BTFSS 3, 0
+ GOTO L_power_off109
+ NOP
+ GOTO L_power_off108
+L_power_off109:
+;main.c,487 :: B_short = 0;
+ BCF _B_short+0, BitPos(_B_short+0)
+;main.c,488 :: B_long = 0;
+ BCF _B_long+0, BitPos(_B_long+0)
+;main.c,489 :: B_xlong = 0;
+ BCF _B_xlong+0, BitPos(_B_xlong+0)
+;main.c,490 :: E_long = 0;
+ BCF _E_long+0, BitPos(_E_long+0)
+;main.c,491 :: btn_1_cnt = 0;
+ CLRF _btn_1_cnt+0
+;main.c,492 :: btn_cnt = Tick;
+ MOVF _Tick+0, 0
+ MOVWF power_off_btn_cnt_L0+0
+;main.c,493 :: return;
+;main.c,494 :: }
+L_end_power_off:
+ RETURN
+; end of _power_off
+
+_check_reset_flags:
+
+;main.c,497 :: void check_reset_flags(void){
+;main.c,498 :: char i = 0;
+ CLRF check_reset_flags_i_L0+0
+;main.c,499 :: if(STKOVF_bit){oled_wr_str_s(0, 0, "Stack overflow", 14); i = 1;}
+ BTFSS STKOVF_bit+0, BitPos(STKOVF_bit+0)
+ GOTO L_check_reset_flags110
+ CLRF FARG_oled_wr_str_s+0
+ CLRF FARG_oled_wr_str_s+0
+ MOVLW ?lstr25_main+0
+ MOVWF FARG_oled_wr_str_s+0
+ MOVLW hi_addr(?lstr25_main+0)
+ MOVWF FARG_oled_wr_str_s+1
+ MOVLW 14
+ MOVWF FARG_oled_wr_str_s+0
+ CALL _oled_wr_str_s+0
+ MOVLW 1
+ MOVWF check_reset_flags_i_L0+0
+L_check_reset_flags110:
+;main.c,500 :: if(STKUNF_bit){oled_wr_str_s(1, 0, "Stack underflow", 15); i = 1;}
+ BTFSS STKUNF_bit+0, BitPos(STKUNF_bit+0)
+ GOTO L_check_reset_flags111
+ MOVLW 1
+ MOVWF FARG_oled_wr_str_s+0
+ CLRF FARG_oled_wr_str_s+0
+ MOVLW ?lstr26_main+0
+ MOVWF FARG_oled_wr_str_s+0
+ MOVLW hi_addr(?lstr26_main+0)
+ MOVWF FARG_oled_wr_str_s+1
+ MOVLW 15
+ MOVWF FARG_oled_wr_str_s+0
+ CALL _oled_wr_str_s+0
+ MOVLW 1
+ MOVWF check_reset_flags_i_L0+0
+L_check_reset_flags111:
+;main.c,501 :: if(!nRWDT_bit){oled_wr_str_s(2, 0, "WDT overflow", 12); i = 1;}
+ BTFSC nRWDT_bit+0, BitPos(nRWDT_bit+0)
+ GOTO L_check_reset_flags112
+ MOVLW 2
+ MOVWF FARG_oled_wr_str_s+0
+ CLRF FARG_oled_wr_str_s+0
+ MOVLW ?lstr27_main+0
+ MOVWF FARG_oled_wr_str_s+0
+ MOVLW hi_addr(?lstr27_main+0)
+ MOVWF FARG_oled_wr_str_s+1
+ MOVLW 12
+ MOVWF FARG_oled_wr_str_s+0
+ CALL _oled_wr_str_s+0
+ MOVLW 1
+ MOVWF check_reset_flags_i_L0+0
+L_check_reset_flags112:
+;main.c,502 :: if(!nRMCLR_bit){oled_wr_str_s(3, 0, "MCLR reset ", 12); i = 1;}
+ BTFSC nRMCLR_bit+0, BitPos(nRMCLR_bit+0)
+ GOTO L_check_reset_flags113
+ MOVLW 3
+ MOVWF FARG_oled_wr_str_s+0
+ CLRF FARG_oled_wr_str_s+0
+ MOVLW ?lstr28_main+0
+ MOVWF FARG_oled_wr_str_s+0
+ MOVLW hi_addr(?lstr28_main+0)
+ MOVWF FARG_oled_wr_str_s+1
+ MOVLW 12
+ MOVWF FARG_oled_wr_str_s+0
+ CALL _oled_wr_str_s+0
+ MOVLW 1
+ MOVWF check_reset_flags_i_L0+0
+L_check_reset_flags113:
+;main.c,503 :: if(!nBOR_bit){oled_wr_str_s(4, 0, "BOR reset ", 12); i = 1;}
+ BTFSC nBOR_bit+0, BitPos(nBOR_bit+0)
+ GOTO L_check_reset_flags114
+ MOVLW 4
+ MOVWF FARG_oled_wr_str_s+0
+ CLRF FARG_oled_wr_str_s+0
+ MOVLW ?lstr29_main+0
+ MOVWF FARG_oled_wr_str_s+0
+ MOVLW hi_addr(?lstr29_main+0)
+ MOVWF FARG_oled_wr_str_s+1
+ MOVLW 12
+ MOVWF FARG_oled_wr_str_s+0
+ CALL _oled_wr_str_s+0
+ MOVLW 1
+ MOVWF check_reset_flags_i_L0+0
+L_check_reset_flags114:
+;main.c,504 :: if(i){
+ MOVF check_reset_flags_i_L0+0, 0
+ BTFSC STATUS+0, 2
+ GOTO L_check_reset_flags115
+;main.c,505 :: Delay_ms(5000);
+ MOVLW 203
+ MOVWF R11
+ MOVLW 236
+ MOVWF R12
+ MOVLW 132
+ MOVWF R13
+L_check_reset_flags116:
+ DECFSZ R13, 1
+ GOTO L_check_reset_flags116
+ DECFSZ R12, 1
+ GOTO L_check_reset_flags116
+ DECFSZ R11, 1
+ GOTO L_check_reset_flags116
+ NOP
+;main.c,506 :: oled_clear();
+ CALL _oled_clear+0
+;main.c,507 :: }
+L_check_reset_flags115:
+;main.c,508 :: return;
+;main.c,509 :: }
+L_end_check_reset_flags:
+ RETURN
+; end of _check_reset_flags
+
+_correction:
+
+;main.c,511 :: int correction(int input) {
+;main.c,512 :: input *= 2;
+ MOVF FARG_correction_input+0, 0
+ MOVWF R1
+ MOVF FARG_correction_input+1, 0
+ MOVWF R2
+ LSLF R1, 1
+ RLF R2, 1
+ MOVF R1, 0
+ MOVWF FARG_correction_input+0
+ MOVF R2, 0
+ MOVWF FARG_correction_input+1
+;main.c,514 :: if(input <= 543) input += 256;
+ MOVLW 128
+ XORLW 2
+ MOVWF R0
+ MOVLW 128
+ XORWF R2, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__correction332
+ MOVF R1, 0
+ SUBLW 31
+L__correction332:
+ BTFSS STATUS+0, 0
+ GOTO L_correction117
+ MOVLW 0
+ ADDWF FARG_correction_input+0, 1
+ MOVLW 1
+ ADDWFC FARG_correction_input+1, 1
+ GOTO L_correction118
+L_correction117:
+;main.c,515 :: else if(input <= 791) input += 274;
+ MOVLW 128
+ XORLW 3
+ MOVWF R0
+ MOVLW 128
+ XORWF FARG_correction_input+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__correction333
+ MOVF FARG_correction_input+0, 0
+ SUBLW 23
+L__correction333:
+ BTFSS STATUS+0, 0
+ GOTO L_correction119
+ MOVLW 18
+ ADDWF FARG_correction_input+0, 1
+ MOVLW 1
+ ADDWFC FARG_correction_input+1, 1
+ GOTO L_correction120
+L_correction119:
+;main.c,516 :: else if(input <= 1225) input += 288;
+ MOVLW 128
+ XORLW 4
+ MOVWF R0
+ MOVLW 128
+ XORWF FARG_correction_input+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__correction334
+ MOVF FARG_correction_input+0, 0
+ SUBLW 201
+L__correction334:
+ BTFSS STATUS+0, 0
+ GOTO L_correction121
+ MOVLW 32
+ ADDWF FARG_correction_input+0, 1
+ MOVLW 1
+ ADDWFC FARG_correction_input+1, 1
+ GOTO L_correction122
+L_correction121:
+;main.c,517 :: else if(input <= 1991) input += 286;
+ MOVLW 128
+ XORLW 7
+ MOVWF R0
+ MOVLW 128
+ XORWF FARG_correction_input+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__correction335
+ MOVF FARG_correction_input+0, 0
+ SUBLW 199
+L__correction335:
+ BTFSS STATUS+0, 0
+ GOTO L_correction123
+ MOVLW 30
+ ADDWF FARG_correction_input+0, 1
+ MOVLW 1
+ ADDWFC FARG_correction_input+1, 1
+ GOTO L_correction124
+L_correction123:
+;main.c,518 :: else if(input <= 2766) input += 288;
+ MOVLW 128
+ XORLW 10
+ MOVWF R0
+ MOVLW 128
+ XORWF FARG_correction_input+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__correction336
+ MOVF FARG_correction_input+0, 0
+ SUBLW 206
+L__correction336:
+ BTFSS STATUS+0, 0
+ GOTO L_correction125
+ MOVLW 32
+ ADDWF FARG_correction_input+0, 1
+ MOVLW 1
+ ADDWFC FARG_correction_input+1, 1
+ GOTO L_correction126
+L_correction125:
+;main.c,519 :: else if(input <= 3970) input += 260;
+ MOVLW 128
+ XORLW 15
+ MOVWF R0
+ MOVLW 128
+ XORWF FARG_correction_input+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__correction337
+ MOVF FARG_correction_input+0, 0
+ SUBLW 130
+L__correction337:
+ BTFSS STATUS+0, 0
+ GOTO L_correction127
+ MOVLW 4
+ ADDWF FARG_correction_input+0, 1
+ MOVLW 1
+ ADDWFC FARG_correction_input+1, 1
+ GOTO L_correction128
+L_correction127:
+;main.c,520 :: else if(input <= 5100) input += 250;
+ MOVLW 128
+ XORLW 19
+ MOVWF R0
+ MOVLW 128
+ XORWF FARG_correction_input+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__correction338
+ MOVF FARG_correction_input+0, 0
+ SUBLW 236
+L__correction338:
+ BTFSS STATUS+0, 0
+ GOTO L_correction129
+ MOVLW 250
+ ADDWF FARG_correction_input+0, 1
+ MOVLW 0
+ ADDWFC FARG_correction_input+1, 1
+ GOTO L_correction130
+L_correction129:
+;main.c,521 :: else input += 240;
+ MOVLW 240
+ ADDWF FARG_correction_input+0, 1
+ MOVLW 0
+ ADDWFC FARG_correction_input+1, 1
+L_correction130:
+L_correction128:
+L_correction126:
+L_correction124:
+L_correction122:
+L_correction120:
+L_correction118:
+;main.c,523 :: return input;
+ MOVF FARG_correction_input+0, 0
+ MOVWF R0
+ MOVF FARG_correction_input+1, 0
+ MOVWF R1
+;main.c,524 :: }
+L_end_correction:
+ RETURN
+; end of _correction
+
+_get_reverse:
+
+;main.c,526 :: int get_reverse(void){
+;main.c,529 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH1);
+ MOVLW 67
+ MOVWF FARG_ADC_Init_Advanced_reference+0
+ CALL _ADC_Init_Advanced+0
+;main.c,530 :: Delay_us(100);
+ MOVLW 2
+ MOVWF R12
+ MOVLW 8
+ MOVWF R13
+L_get_reverse131:
+ DECFSZ R13, 1
+ GOTO L_get_reverse131
+ DECFSZ R12, 1
+ GOTO L_get_reverse131
+ NOP
+;main.c,531 :: v = ADC_Get_Sample(REV_input);
+ MOVLW 10
+ MOVWF FARG_ADC_Get_Sample_channel+0
+ CALL _ADC_Get_Sample+0
+ MOVF R0, 0
+ MOVWF get_reverse_v_L0+0
+ MOVF R1, 0
+ MOVWF get_reverse_v_L0+1
+;main.c,532 :: if(v==1023){
+ MOVF R1, 0
+ XORLW 3
+ BTFSS STATUS+0, 2
+ GOTO L__get_reverse340
+ MOVLW 255
+ XORWF R0, 0
+L__get_reverse340:
+ BTFSS STATUS+0, 2
+ GOTO L_get_reverse132
+;main.c,533 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH2);
+ MOVLW 131
+ MOVWF FARG_ADC_Init_Advanced_reference+0
+ CALL _ADC_Init_Advanced+0
+;main.c,534 :: Delay_us(100);
+ MOVLW 2
+ MOVWF R12
+ MOVLW 8
+ MOVWF R13
+L_get_reverse133:
+ DECFSZ R13, 1
+ GOTO L_get_reverse133
+ DECFSZ R12, 1
+ GOTO L_get_reverse133
+ NOP
+;main.c,535 :: v = ADC_Get_Sample(REV_input) * 2;
+ MOVLW 10
+ MOVWF FARG_ADC_Get_Sample_channel+0
+ CALL _ADC_Get_Sample+0
+ MOVF R0, 0
+ MOVWF get_reverse_v_L0+0
+ MOVF R1, 0
+ MOVWF get_reverse_v_L0+1
+ LSLF get_reverse_v_L0+0, 1
+ RLF get_reverse_v_L0+1, 1
+;main.c,536 :: }
+L_get_reverse132:
+;main.c,537 :: if(v==2046){
+ MOVF get_reverse_v_L0+1, 0
+ XORLW 7
+ BTFSS STATUS+0, 2
+ GOTO L__get_reverse341
+ MOVLW 254
+ XORWF get_reverse_v_L0+0, 0
+L__get_reverse341:
+ BTFSS STATUS+0, 2
+ GOTO L_get_reverse134
+;main.c,538 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_VREFH);
+ CLRF FARG_ADC_Init_Advanced_reference+0
+ CALL _ADC_Init_Advanced+0
+;main.c,539 :: Delay_us(100);
+ MOVLW 2
+ MOVWF R12
+ MOVLW 8
+ MOVWF R13
+L_get_reverse135:
+ DECFSZ R13, 1
+ GOTO L_get_reverse135
+ DECFSZ R12, 1
+ GOTO L_get_reverse135
+ NOP
+;main.c,540 :: v = ADC_Get_Sample(REV_input);
+ MOVLW 10
+ MOVWF FARG_ADC_Get_Sample_channel+0
+ CALL _ADC_Get_Sample+0
+ MOVF R0, 0
+ MOVWF get_reverse_v_L0+0
+ MOVF R1, 0
+ MOVWF get_reverse_v_L0+1
+;main.c,541 :: if(v==1023) Overflow = 1;
+ MOVF R1, 0
+ XORLW 3
+ BTFSS STATUS+0, 2
+ GOTO L__get_reverse342
+ MOVLW 255
+ XORWF R0, 0
+L__get_reverse342:
+ BTFSS STATUS+0, 2
+ GOTO L_get_reverse136
+ BSF _Overflow+0, BitPos(_Overflow+0)
+L_get_reverse136:
+;main.c,542 :: get_batt();
+ CALL _get_batt+0
+;main.c,543 :: d = (long)v * (long)Voltage;
+ MOVF get_reverse_v_L0+0, 0
+ MOVWF R4
+ MOVF get_reverse_v_L0+1, 0
+ MOVWF R5
+ CLRF R6
+ CLRF R7
+ MOVF _Voltage+0, 0
+ MOVWF R0
+ MOVF _Voltage+1, 0
+ MOVWF R1
+ MOVLW 0
+ BTFSC R1, 7
+ MOVLW 255
+ MOVWF R2
+ MOVWF R3
+ CALL _Mul_32x32_U+0
+;main.c,544 :: d = d / 1024;
+ MOVLW 10
+ MOVWF R8
+ MOVF R0, 0
+ MOVWF R4
+ MOVF R1, 0
+ MOVWF R5
+ MOVF R2, 0
+ MOVWF R6
+ MOVF R3, 0
+ MOVWF R7
+ MOVF R8, 0
+L__get_reverse343:
+ BTFSC STATUS+0, 2
+ GOTO L__get_reverse344
+ LSRF R7, 1
+ RRF R6, 1
+ RRF R5, 1
+ RRF R4, 1
+ ADDLW 255
+ GOTO L__get_reverse343
+L__get_reverse344:
+;main.c,545 :: v = (int)d;
+ MOVF R4, 0
+ MOVWF get_reverse_v_L0+0
+ MOVF R5, 0
+ MOVWF get_reverse_v_L0+1
+;main.c,546 :: }
+L_get_reverse134:
+;main.c,547 :: return v;
+ MOVF get_reverse_v_L0+0, 0
+ MOVWF R0
+ MOVF get_reverse_v_L0+1, 0
+ MOVWF R1
+;main.c,548 :: }
+L_end_get_reverse:
+ RETURN
+; end of _get_reverse
+
+_get_forward:
+
+;main.c,550 :: int get_forward(void){
+;main.c,553 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH1);
+ MOVLW 67
+ MOVWF FARG_ADC_Init_Advanced_reference+0
+ CALL _ADC_Init_Advanced+0
+;main.c,554 :: Delay_us(100);
+ MOVLW 2
+ MOVWF R12
+ MOVLW 8
+ MOVWF R13
+L_get_forward137:
+ DECFSZ R13, 1
+ GOTO L_get_forward137
+ DECFSZ R12, 1
+ GOTO L_get_forward137
+ NOP
+;main.c,555 :: v = ADC_Get_Sample(FWD_input);
+ MOVLW 8
+ MOVWF FARG_ADC_Get_Sample_channel+0
+ CALL _ADC_Get_Sample+0
+ MOVF R0, 0
+ MOVWF get_forward_v_L0+0
+ MOVF R1, 0
+ MOVWF get_forward_v_L0+1
+;main.c,556 :: if(v==1023){
+ MOVF R1, 0
+ XORLW 3
+ BTFSS STATUS+0, 2
+ GOTO L__get_forward346
+ MOVLW 255
+ XORWF R0, 0
+L__get_forward346:
+ BTFSS STATUS+0, 2
+ GOTO L_get_forward138
+;main.c,557 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH2);
+ MOVLW 131
+ MOVWF FARG_ADC_Init_Advanced_reference+0
+ CALL _ADC_Init_Advanced+0
+;main.c,558 :: Delay_us(100);
+ MOVLW 2
+ MOVWF R12
+ MOVLW 8
+ MOVWF R13
+L_get_forward139:
+ DECFSZ R13, 1
+ GOTO L_get_forward139
+ DECFSZ R12, 1
+ GOTO L_get_forward139
+ NOP
+;main.c,559 :: v = ADC_Get_Sample(FWD_input) * 2;
+ MOVLW 8
+ MOVWF FARG_ADC_Get_Sample_channel+0
+ CALL _ADC_Get_Sample+0
+ MOVF R0, 0
+ MOVWF get_forward_v_L0+0
+ MOVF R1, 0
+ MOVWF get_forward_v_L0+1
+ LSLF get_forward_v_L0+0, 1
+ RLF get_forward_v_L0+1, 1
+;main.c,560 :: }
+L_get_forward138:
+;main.c,561 :: if(v==2046){
+ MOVF get_forward_v_L0+1, 0
+ XORLW 7
+ BTFSS STATUS+0, 2
+ GOTO L__get_forward347
+ MOVLW 254
+ XORWF get_forward_v_L0+0, 0
+L__get_forward347:
+ BTFSS STATUS+0, 2
+ GOTO L_get_forward140
+;main.c,562 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_VREFH);
+ CLRF FARG_ADC_Init_Advanced_reference+0
+ CALL _ADC_Init_Advanced+0
+;main.c,563 :: Delay_us(100);
+ MOVLW 2
+ MOVWF R12
+ MOVLW 8
+ MOVWF R13
+L_get_forward141:
+ DECFSZ R13, 1
+ GOTO L_get_forward141
+ DECFSZ R12, 1
+ GOTO L_get_forward141
+ NOP
+;main.c,564 :: v = ADC_Get_Sample(FWD_input);
+ MOVLW 8
+ MOVWF FARG_ADC_Get_Sample_channel+0
+ CALL _ADC_Get_Sample+0
+ MOVF R0, 0
+ MOVWF get_forward_v_L0+0
+ MOVF R1, 0
+ MOVWF get_forward_v_L0+1
+;main.c,565 :: if(v==1023) Overflow = 1;
+ MOVF R1, 0
+ XORLW 3
+ BTFSS STATUS+0, 2
+ GOTO L__get_forward348
+ MOVLW 255
+ XORWF R0, 0
+L__get_forward348:
+ BTFSS STATUS+0, 2
+ GOTO L_get_forward142
+ BSF _Overflow+0, BitPos(_Overflow+0)
+L_get_forward142:
+;main.c,566 :: get_batt();
+ CALL _get_batt+0
+;main.c,567 :: d = (long)v * (long)Voltage;
+ MOVF get_forward_v_L0+0, 0
+ MOVWF R4
+ MOVF get_forward_v_L0+1, 0
+ MOVWF R5
+ CLRF R6
+ CLRF R7
+ MOVF _Voltage+0, 0
+ MOVWF R0
+ MOVF _Voltage+1, 0
+ MOVWF R1
+ MOVLW 0
+ BTFSC R1, 7
+ MOVLW 255
+ MOVWF R2
+ MOVWF R3
+ CALL _Mul_32x32_U+0
+;main.c,568 :: d = d / 1024;
+ MOVLW 10
+ MOVWF R8
+ MOVF R0, 0
+ MOVWF R4
+ MOVF R1, 0
+ MOVWF R5
+ MOVF R2, 0
+ MOVWF R6
+ MOVF R3, 0
+ MOVWF R7
+ MOVF R8, 0
+L__get_forward349:
+ BTFSC STATUS+0, 2
+ GOTO L__get_forward350
+ LSRF R7, 1
+ RRF R6, 1
+ RRF R5, 1
+ RRF R4, 1
+ ADDLW 255
+ GOTO L__get_forward349
+L__get_forward350:
+;main.c,569 :: v = (int)d;
+ MOVF R4, 0
+ MOVWF get_forward_v_L0+0
+ MOVF R5, 0
+ MOVWF get_forward_v_L0+1
+;main.c,570 :: }
+L_get_forward140:
+;main.c,571 :: return v;
+ MOVF get_forward_v_L0+0, 0
+ MOVWF R0
+ MOVF get_forward_v_L0+1, 0
+ MOVWF R1
+;main.c,572 :: }
+L_end_get_forward:
+ RETURN
+; end of _get_forward
+
+_get_pwr:
+
+;main.c,575 :: void get_pwr(){
+;main.c,579 :: Forward = get_forward();
+ CALL _get_forward+0
+ MOVF R0, 0
+ MOVWF get_pwr_Forward_L0+0
+ MOVF R1, 0
+ MOVWF get_pwr_Forward_L0+1
+ MOVLW 0
+ BTFSC get_pwr_Forward_L0+1, 7
+ MOVLW 255
+ MOVWF get_pwr_Forward_L0+2
+ MOVWF get_pwr_Forward_L0+3
+;main.c,580 :: Reverse = get_reverse();
+ CALL _get_reverse+0
+ MOVF R0, 0
+ MOVWF get_pwr_Reverse_L0+0
+ MOVF R1, 0
+ MOVWF get_pwr_Reverse_L0+1
+ MOVLW 0
+ BTFSC get_pwr_Reverse_L0+1, 7
+ MOVLW 255
+ MOVWF get_pwr_Reverse_L0+2
+ MOVWF get_pwr_Reverse_L0+3
+;main.c,582 :: 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
+ CALL _int2double+0
+;main.c,583 :: P = p * 5 / 1000;
+ MOVLW 0
+ MOVWF R4
+ MOVLW 0
+ MOVWF R5
+ MOVLW 32
+ MOVWF R6
+ MOVLW 129
+ MOVWF R7
+ CALL _Mul_32x32_FP+0
+ MOVLW 0
+ MOVWF R4
+ MOVLW 0
+ MOVWF R5
+ MOVLW 122
+ MOVWF R6
+ MOVLW 136
+ MOVWF R7
+ CALL _Div_32x32_FP+0
+;main.c,584 :: 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
+;main.c,585 :: p = p * p;
+ 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
+;main.c,586 :: p = p / 5;
+ MOVLW 0
+ MOVWF R4
+ MOVLW 0
+ MOVWF R5
+ MOVLW 32
+ MOVWF R6
+ MOVLW 129
+ MOVWF R7
+ CALL _Div_32x32_FP+0
+;main.c,587 :: p += 0.5;
+ MOVLW 0
+ MOVWF R4
+ MOVLW 0
+ MOVWF R5
+ MOVLW 0
+ MOVWF R6
+ MOVLW 126
+ MOVWF R7
+ CALL _Add_32x32_FP+0
+;main.c,588 :: PWR = p;
+ CALL _double2int+0
+ MOVF R0, 0
+ MOVWF _PWR+0
+ MOVF R1, 0
+ MOVWF _PWR+1
+;main.c,590 :: if(PWR>0){
+ MOVLW 128
+ MOVWF R2
+ MOVLW 128
+ XORWF R1, 0
+ SUBWF R2, 0
+ BTFSS STATUS+0, 2
+ GOTO L__get_pwr352
+ MOVF R0, 0
+ SUBLW 0
+L__get_pwr352:
+ BTFSC STATUS+0, 0
+ GOTO L_get_pwr143
+;main.c,591 :: if(OLED_PWD){
+ BTFSS LATA4_bit+0, BitPos(LATA4_bit+0)
+ GOTO L_get_pwr144
+;main.c,592 :: disp_cnt = Tick + Disp_time*1000;
+ MOVF _Disp_time+0, 0
+ MOVWF R0
+ MOVF _Disp_time+1, 0
+ MOVWF R1
+ MOVF _Disp_time+2, 0
+ MOVWF R2
+ MOVF _Disp_time+3, 0
+ MOVWF R3
+ MOVLW 232
+ MOVWF R4
+ MOVLW 3
+ MOVWF R5
+ CLRF R6
+ CLRF R7
+ CALL _Mul_32x32_U+0
+ MOVF R0, 0
+ ADDWF _Tick+0, 0
+ MOVWF _disp_cnt+0
+ MOVF R1, 0
+ ADDWFC _Tick+1, 0
+ MOVWF _disp_cnt+1
+ MOVF R2, 0
+ ADDWFC _Tick+2, 0
+ MOVWF _disp_cnt+2
+ MOVF R3, 0
+ ADDWFC _Tick+3, 0
+ MOVWF _disp_cnt+3
+;main.c,593 :: off_cnt = Tick + Off_time*1000;
+ MOVF _Off_time+0, 0
+ MOVWF R0
+ MOVF _Off_time+1, 0
+ MOVWF R1
+ MOVF _Off_time+2, 0
+ MOVWF R2
+ MOVF _Off_time+3, 0
+ MOVWF R3
+ MOVLW 232
+ MOVWF R4
+ MOVLW 3
+ MOVWF R5
+ CLRF R6
+ CLRF R7
+ CALL _Mul_32x32_U+0
+ MOVF R0, 0
+ ADDWF _Tick+0, 0
+ MOVWF _off_cnt+0
+ MOVF R1, 0
+ ADDWFC _Tick+1, 0
+ MOVWF _off_cnt+1
+ MOVF R2, 0
+ ADDWFC _Tick+2, 0
+ MOVWF _off_cnt+2
+ MOVF R3, 0
+ ADDWFC _Tick+3, 0
+ MOVWF _off_cnt+3
+;main.c,594 :: }
+ GOTO L_get_pwr145
+L_get_pwr144:
+;main.c,595 :: else oled_start();
+ CALL _oled_start+0
+L_get_pwr145:
+;main.c,596 :: }
+L_get_pwr143:
+;main.c,598 :: 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_pwr353
+ MOVF get_pwr_Forward_L0+2, 0
+ SUBWF get_pwr_Reverse_L0+2, 0
+ BTFSS STATUS+0, 2
+ GOTO L__get_pwr353
+ MOVF get_pwr_Forward_L0+1, 0
+ SUBWF get_pwr_Reverse_L0+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__get_pwr353
+ MOVF get_pwr_Forward_L0+0, 0
+ SUBWF get_pwr_Reverse_L0+0, 0
+L__get_pwr353:
+ BTFSS STATUS+0, 0
+ GOTO L_get_pwr146
+;main.c,599 :: Forward = 999;
+ MOVLW 231
+ MOVWF get_pwr_Forward_L0+0
+ MOVLW 3
+ MOVWF get_pwr_Forward_L0+1
+ CLRF get_pwr_Forward_L0+2
+ CLRF get_pwr_Forward_L0+3
+ GOTO L_get_pwr147
+L_get_pwr146:
+;main.c,601 :: 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
+ CLRF R5
+ CLRF R6
+ CLRF R7
+ CALL _Mul_32x32_U+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
+ 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.c,602 :: if(Forward>999) Forward = 999;
+ MOVLW 128
+ MOVWF R4
+ MOVLW 128
+ XORWF R3, 0
+ SUBWF R4, 0
+ BTFSS STATUS+0, 2
+ GOTO L__get_pwr354
+ MOVF R2, 0
+ SUBLW 0
+ BTFSS STATUS+0, 2
+ GOTO L__get_pwr354
+ MOVF R1, 0
+ SUBLW 3
+ BTFSS STATUS+0, 2
+ GOTO L__get_pwr354
+ MOVF R0, 0
+ SUBLW 231
+L__get_pwr354:
+ BTFSC STATUS+0, 0
+ GOTO L_get_pwr148
+ MOVLW 231
+ MOVWF get_pwr_Forward_L0+0
+ MOVLW 3
+ MOVWF get_pwr_Forward_L0+1
+ CLRF get_pwr_Forward_L0+2
+ CLRF get_pwr_Forward_L0+3
+L_get_pwr148:
+;main.c,603 :: }
+L_get_pwr147:
+;main.c,605 :: SWR = Forward;
+ MOVF get_pwr_Forward_L0+0, 0
+ MOVWF _SWR+0
+ MOVF get_pwr_Forward_L0+1, 0
+ MOVWF _SWR+1
+;main.c,606 :: return;
+;main.c,607 :: }
+L_end_get_pwr:
+ RETURN
+; end of _get_pwr
+
+_get_swr:
+
+;main.c,609 :: void get_swr(){
+;main.c,610 :: unsigned int tune_cnt = 300;
+ MOVLW 44
+ MOVWF get_swr_tune_cnt_L0+0
+ MOVLW 1
+ MOVWF get_swr_tune_cnt_L0+1
+ CLRF get_swr_PWR_max_L0+0
+ CLRF get_swr_PWR_max_L0+1
+;main.c,612 :: get_pwr();
+ CALL _get_pwr+0
+;main.c,613 :: while(PWRmax_for_start){ // waiting for good power
+L_get_swr149:
+ MOVLW 128
+ XORWF _PWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORWF _min_for_start+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__get_swr356
+ MOVF _min_for_start+0, 0
+ SUBWF _PWR+0, 0
+L__get_swr356:
+ BTFSS STATUS+0, 0
+ GOTO L__get_swr239
+ MOVLW 128
+ XORWF _max_for_start+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORWF _PWR+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__get_swr357
+ MOVF _PWR+0, 0
+ SUBWF _max_for_start+0, 0
+L__get_swr357:
+ BTFSS STATUS+0, 0
+ GOTO L__get_swr239
+ GOTO L_get_swr150
+L__get_swr239:
+;main.c,614 :: if(B_short){
+ BTFSS _B_short+0, BitPos(_B_short+0)
+ GOTO L_get_swr153
+;main.c,615 :: Btn_short();
+ CALL _Btn_short+0
+;main.c,616 :: SWR = 0;
+ CLRF _SWR+0
+ CLRF _SWR+1
+;main.c,617 :: break;
+ GOTO L_get_swr150
+;main.c,618 :: }
+L_get_swr153:
+;main.c,619 :: if(B_xlong){
+ BTFSS _B_xlong+0, BitPos(_B_xlong+0)
+ GOTO L_get_swr154
+;main.c,621 :: SWR = 0;
+ CLRF _SWR+0
+ CLRF _SWR+1
+;main.c,622 :: break;
+ GOTO L_get_swr150
+;main.c,623 :: }
+L_get_swr154:
+;main.c,625 :: get_pwr();
+ CALL _get_pwr+0
+;main.c,626 :: if(tune_cnt>0){
+ MOVF get_swr_tune_cnt_L0+1, 0
+ SUBLW 0
+ BTFSS STATUS+0, 2
+ GOTO L__get_swr358
+ MOVF get_swr_tune_cnt_L0+0, 0
+ SUBLW 0
+L__get_swr358:
+ BTFSC STATUS+0, 0
+ GOTO L_get_swr155
+;main.c,627 :: tune_cnt --;
+ MOVLW 1
+ SUBWF get_swr_tune_cnt_L0+0, 1
+ MOVLW 0
+ SUBWFB get_swr_tune_cnt_L0+1, 1
+;main.c,628 :: if(PWR>PWR_max)
+ MOVF _PWR+1, 0
+ SUBWF get_swr_PWR_max_L0+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__get_swr359
+ MOVF _PWR+0, 0
+ SUBWF get_swr_PWR_max_L0+0, 0
+L__get_swr359:
+ BTFSC STATUS+0, 0
+ GOTO L_get_swr156
+;main.c,629 :: PWR_max = PWR;
+ MOVF _PWR+0, 0
+ MOVWF get_swr_PWR_max_L0+0
+ MOVF _PWR+1, 0
+ MOVWF get_swr_PWR_max_L0+1
+L_get_swr156:
+;main.c,630 :: }
+ GOTO L_get_swr157
+L_get_swr155:
+;main.c,632 :: draw_power(PWR_max);
+ MOVF get_swr_PWR_max_L0+0, 0
+ MOVWF FARG_draw_power_p+0
+ MOVF get_swr_PWR_max_L0+1, 0
+ MOVWF FARG_draw_power_p+1
+ CALL _draw_power+0
+;main.c,633 :: PWR_max = 0;
+ CLRF get_swr_PWR_max_L0+0
+ CLRF get_swr_PWR_max_L0+1
+;main.c,634 :: tune_cnt = 300;
+ MOVLW 44
+ MOVWF get_swr_tune_cnt_L0+0
+ MOVLW 1
+ MOVWF get_swr_tune_cnt_L0+1
+;main.c,635 :: Delay_ms(1);
+ MOVLW 11
+ MOVWF R12
+ MOVLW 98
+ MOVWF R13
+L_get_swr158:
+ DECFSZ R13, 1
+ GOTO L_get_swr158
+ DECFSZ R12, 1
+ GOTO L_get_swr158
+ NOP
+;main.c,636 :: }
+L_get_swr157:
+;main.c,637 :: }
+ GOTO L_get_swr149
+L_get_swr150:
+;main.c,639 :: return;
+;main.c,640 :: }
+L_end_get_swr:
+ RETURN
+; end of _get_swr
+
+_get_batt:
+
+;main.c,642 :: void get_batt(void){
+;main.c,643 :: ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH1);
+ MOVLW 67
+ MOVWF FARG_ADC_Init_Advanced_reference+0
+ CALL _ADC_Init_Advanced+0
+;main.c,644 :: Delay_us(100);
+ MOVLW 2
+ MOVWF R12
+ MOVLW 8
+ MOVWF R13
+L_get_batt159:
+ DECFSZ R13, 1
+ GOTO L_get_batt159
+ DECFSZ R12, 1
+ GOTO L_get_batt159
+ NOP
+;main.c,645 :: Voltage = ADC_Get_Sample(Battery_input) * 11;
+ MOVLW 9
+ MOVWF FARG_ADC_Get_Sample_channel+0
+ CALL _ADC_Get_Sample+0
+ MOVLW 11
+ MOVWF R4
+ MOVLW 0
+ MOVWF R5
+ CALL _Mul_16X16_U+0
+ MOVF R0, 0
+ MOVWF _Voltage+0
+ MOVF R1, 0
+ MOVWF _Voltage+1
+;main.c,646 :: return;
+;main.c,647 :: }
+L_end_get_batt:
+ RETURN
+; end of _get_batt
+
+_coarse_cap:
+
+;main.c,649 :: void coarse_cap() {
+;main.c,650 :: char step = 3;
+ MOVLW 3
+ MOVWF coarse_cap_step_L0+0
+;main.c,654 :: cap = 0;
+ CLRF _cap+0
+;main.c,655 :: Relay_set(ind, cap, SW);
+ MOVF _ind+0, 0
+ MOVWF FARG_Relay_set_L+0
+ CLRF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,656 :: get_swr();
+ CALL _get_swr+0
+;main.c,657 :: 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
+ 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.c,658 :: for(count=step; count<=31;) {
+ MOVF coarse_cap_step_L0+0, 0
+ MOVWF coarse_cap_count_L0+0
+L_coarse_cap160:
+ MOVF coarse_cap_count_L0+0, 0
+ SUBLW 31
+ BTFSS STATUS+0, 0
+ GOTO L_coarse_cap161
+;main.c,659 :: Relay_set(ind, count, SW);
+ MOVF _ind+0, 0
+ MOVWF FARG_Relay_set_L+0
+ MOVF coarse_cap_count_L0+0, 0
+ MOVWF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,660 :: get_swr();
+ CALL _get_swr+0
+;main.c,661 :: if(SWR < min_swr) {
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORWF coarse_cap_min_swr_L0+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__coarse_cap362
+ MOVF coarse_cap_min_swr_L0+0, 0
+ SUBWF _SWR+0, 0
+L__coarse_cap362:
+ BTFSC STATUS+0, 0
+ GOTO L_coarse_cap163
+;main.c,662 :: 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
+ 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.c,663 :: cap = count;
+ MOVF coarse_cap_count_L0+0, 0
+ MOVWF _cap+0
+;main.c,664 :: step_cap = step;
+ MOVF coarse_cap_step_L0+0, 0
+ MOVWF _step_cap+0
+;main.c,665 :: if(SWR<120) break;
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__coarse_cap363
+ MOVLW 120
+ SUBWF _SWR+0, 0
+L__coarse_cap363:
+ BTFSC STATUS+0, 0
+ GOTO L_coarse_cap164
+ GOTO L_coarse_cap161
+L_coarse_cap164:
+;main.c,666 :: 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.c,667 :: if(count==9) count = 8;
+ MOVF R1, 0
+ XORLW 9
+ BTFSS STATUS+0, 2
+ GOTO L_coarse_cap165
+ MOVLW 8
+ MOVWF coarse_cap_count_L0+0
+ GOTO L_coarse_cap166
+L_coarse_cap165:
+;main.c,668 :: else if(count==17) {count = 16; step = 4;}
+ MOVF coarse_cap_count_L0+0, 0
+ XORLW 17
+ BTFSS STATUS+0, 2
+ GOTO L_coarse_cap167
+ MOVLW 16
+ MOVWF coarse_cap_count_L0+0
+ MOVLW 4
+ MOVWF coarse_cap_step_L0+0
+L_coarse_cap167:
+L_coarse_cap166:
+;main.c,669 :: }
+ GOTO L_coarse_cap168
+L_coarse_cap163:
+;main.c,670 :: else break;
+ GOTO L_coarse_cap161
+L_coarse_cap168:
+;main.c,671 :: }
+ GOTO L_coarse_cap160
+L_coarse_cap161:
+;main.c,672 :: Relay_set(ind, cap, SW);
+ MOVF _ind+0, 0
+ MOVWF FARG_Relay_set_L+0
+ MOVF _cap+0, 0
+ MOVWF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,673 :: return;
+;main.c,674 :: }
+L_end_coarse_cap:
+ RETURN
+; end of _coarse_cap
+
+_coarse_tune:
+
+;main.c,676 :: void coarse_tune() {
+;main.c,677 :: char step = 3;
+ MOVLW 3
+ MOVWF coarse_tune_step_L0+0
+;main.c,682 :: mem_cap = 0;
+ CLRF coarse_tune_mem_cap_L0+0
+;main.c,683 :: step_ind = step;
+ MOVF coarse_tune_step_L0+0, 0
+ MOVWF _step_ind+0
+;main.c,684 :: mem_step_cap = 3;
+ MOVLW 3
+ MOVWF coarse_tune_mem_step_cap_L0+0
+;main.c,685 :: 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
+ 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.c,686 :: for(count=step; count<=31;) {
+ MOVF coarse_tune_step_L0+0, 0
+ MOVWF coarse_tune_count_L0+0
+L_coarse_tune169:
+ MOVF coarse_tune_count_L0+0, 0
+ SUBLW 31
+ BTFSS STATUS+0, 0
+ GOTO L_coarse_tune170
+;main.c,687 :: Relay_set(count, cap, SW);
+ MOVF coarse_tune_count_L0+0, 0
+ MOVWF FARG_Relay_set_L+0
+ MOVF _cap+0, 0
+ MOVWF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,688 :: coarse_cap();
+ CALL _coarse_cap+0
+;main.c,689 :: get_swr();
+ CALL _get_swr+0
+;main.c,690 :: if(SWR < min_swr) {
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ XORWF coarse_tune_min_swr_L0+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__coarse_tune365
+ MOVF coarse_tune_min_swr_L0+0, 0
+ SUBWF _SWR+0, 0
+L__coarse_tune365:
+ BTFSC STATUS+0, 0
+ GOTO L_coarse_tune172
+;main.c,691 :: 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
+ 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.c,692 :: ind = count;
+ MOVF coarse_tune_count_L0+0, 0
+ MOVWF _ind+0
+;main.c,693 :: mem_cap = cap;
+ MOVF _cap+0, 0
+ MOVWF coarse_tune_mem_cap_L0+0
+;main.c,694 :: step_ind = step;
+ MOVF coarse_tune_step_L0+0, 0
+ MOVWF _step_ind+0
+;main.c,695 :: mem_step_cap = step_cap;
+ MOVF _step_cap+0, 0
+ MOVWF coarse_tune_mem_step_cap_L0+0
+;main.c,696 :: if(SWR<120) break;
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__coarse_tune366
+ MOVLW 120
+ SUBWF _SWR+0, 0
+L__coarse_tune366:
+ BTFSC STATUS+0, 0
+ GOTO L_coarse_tune173
+ GOTO L_coarse_tune170
+L_coarse_tune173:
+;main.c,697 :: 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.c,698 :: if(count==9) count = 8;
+ MOVF R1, 0
+ XORLW 9
+ BTFSS STATUS+0, 2
+ GOTO L_coarse_tune174
+ MOVLW 8
+ MOVWF coarse_tune_count_L0+0
+ GOTO L_coarse_tune175
+L_coarse_tune174:
+;main.c,699 :: else if(count==17) {count = 16; step = 4;}
+ MOVF coarse_tune_count_L0+0, 0
+ XORLW 17
+ BTFSS STATUS+0, 2
+ GOTO L_coarse_tune176
+ MOVLW 16
+ MOVWF coarse_tune_count_L0+0
+ MOVLW 4
+ MOVWF coarse_tune_step_L0+0
+L_coarse_tune176:
+L_coarse_tune175:
+;main.c,700 :: }
+ GOTO L_coarse_tune177
+L_coarse_tune172:
+;main.c,701 :: else break;
+ GOTO L_coarse_tune170
+L_coarse_tune177:
+;main.c,702 :: }
+ GOTO L_coarse_tune169
+L_coarse_tune170:
+;main.c,703 :: cap = mem_cap;
+ MOVF coarse_tune_mem_cap_L0+0, 0
+ MOVWF _cap+0
+;main.c,704 :: Relay_set(ind, cap, SW);
+ MOVF _ind+0, 0
+ MOVWF FARG_Relay_set_L+0
+ MOVF coarse_tune_mem_cap_L0+0, 0
+ MOVWF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,705 :: step_cap = mem_step_cap;
+ MOVF coarse_tune_mem_step_cap_L0+0, 0
+ MOVWF _step_cap+0
+;main.c,706 :: Delay_ms(10);
+ MOVLW 104
+ MOVWF R12
+ MOVLW 228
+ MOVWF R13
+L_coarse_tune178:
+ DECFSZ R13, 1
+ GOTO L_coarse_tune178
+ DECFSZ R12, 1
+ GOTO L_coarse_tune178
+ NOP
+;main.c,707 :: return;
+;main.c,708 :: }
+L_end_coarse_tune:
+ RETURN
+; end of _coarse_tune
+
+_sharp_cap:
+
+;main.c,710 :: void sharp_cap() {
+;main.c,713 :: range = step_cap;
+ MOVF _step_cap+0, 0
+ MOVWF sharp_cap_range_L0+0
+;main.c,715 :: max_range = cap + range;
+ MOVF _step_cap+0, 0
+ ADDWF _cap+0, 0
+ MOVWF R1
+ MOVF R1, 0
+ MOVWF sharp_cap_max_range_L0+0
+;main.c,716 :: if(max_range>31) max_range = 31;
+ MOVF R1, 0
+ SUBLW 31
+ BTFSC STATUS+0, 0
+ GOTO L_sharp_cap179
+ MOVLW 31
+ MOVWF sharp_cap_max_range_L0+0
+L_sharp_cap179:
+;main.c,717 :: if(cap>range) min_range = cap - range; else min_range = 0;
+ MOVF _cap+0, 0
+ SUBWF sharp_cap_range_L0+0, 0
+ BTFSC STATUS+0, 0
+ GOTO L_sharp_cap180
+ MOVF sharp_cap_range_L0+0, 0
+ SUBWF _cap+0, 0
+ MOVWF sharp_cap_min_range_L0+0
+ GOTO L_sharp_cap181
+L_sharp_cap180:
+ CLRF sharp_cap_min_range_L0+0
+L_sharp_cap181:
+;main.c,718 :: cap = min_range;
+ MOVF sharp_cap_min_range_L0+0, 0
+ MOVWF _cap+0
+;main.c,719 :: Relay_set(ind, cap, SW);
+ MOVF _ind+0, 0
+ MOVWF FARG_Relay_set_L+0
+ MOVF sharp_cap_min_range_L0+0, 0
+ MOVWF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,720 :: get_swr();
+ CALL _get_swr+0
+;main.c,721 :: if(SWR==0) return;
+ MOVLW 0
+ XORWF _SWR+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__sharp_cap368
+ MOVLW 0
+ XORWF _SWR+0, 0
+L__sharp_cap368:
+ BTFSS STATUS+0, 2
+ GOTO L_sharp_cap182
+ GOTO L_end_sharp_cap
+L_sharp_cap182:
+;main.c,722 :: 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.c,723 :: for(count=min_range+1; count<=max_range; count++) {
+ INCF sharp_cap_min_range_L0+0, 0
+ MOVWF sharp_cap_count_L0+0
+L_sharp_cap183:
+ MOVF sharp_cap_count_L0+0, 0
+ SUBWF sharp_cap_max_range_L0+0, 0
+ BTFSS STATUS+0, 0
+ GOTO L_sharp_cap184
+;main.c,724 :: Relay_set(ind, count, SW);
+ MOVF _ind+0, 0
+ MOVWF FARG_Relay_set_L+0
+ MOVF sharp_cap_count_L0+0, 0
+ MOVWF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,725 :: get_swr();
+ CALL _get_swr+0
+;main.c,726 :: if(SWR==0) return;
+ MOVLW 0
+ XORWF _SWR+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__sharp_cap369
+ MOVLW 0
+ XORWF _SWR+0, 0
+L__sharp_cap369:
+ BTFSS STATUS+0, 2
+ GOTO L_sharp_cap186
+ GOTO L_end_sharp_cap
+L_sharp_cap186:
+;main.c,727 :: if(SWR>=min_SWR) { Delay_ms(10); 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_cap370
+ MOVF sharp_cap_min_swr_L0+0, 0
+ SUBWF _SWR+0, 0
+L__sharp_cap370:
+ BTFSS STATUS+0, 0
+ GOTO L_sharp_cap187
+ MOVLW 104
+ MOVWF R12
+ MOVLW 228
+ MOVWF R13
+L_sharp_cap188:
+ DECFSZ R13, 1
+ GOTO L_sharp_cap188
+ DECFSZ R12, 1
+ GOTO L_sharp_cap188
+ NOP
+ CALL _get_swr+0
+L_sharp_cap187:
+;main.c,728 :: if(SWR>=min_SWR) { Delay_ms(10); 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_cap371
+ MOVF sharp_cap_min_swr_L0+0, 0
+ SUBWF _SWR+0, 0
+L__sharp_cap371:
+ BTFSS STATUS+0, 0
+ GOTO L_sharp_cap189
+ MOVLW 104
+ MOVWF R12
+ MOVLW 228
+ MOVWF R13
+L_sharp_cap190:
+ DECFSZ R13, 1
+ GOTO L_sharp_cap190
+ DECFSZ R12, 1
+ GOTO L_sharp_cap190
+ NOP
+ CALL _get_swr+0
+L_sharp_cap189:
+;main.c,729 :: 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_cap372
+ MOVF sharp_cap_min_swr_L0+0, 0
+ SUBWF _SWR+0, 0
+L__sharp_cap372:
+ BTFSC STATUS+0, 0
+ GOTO L_sharp_cap191
+;main.c,730 :: 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.c,731 :: cap = count;
+ MOVF sharp_cap_count_L0+0, 0
+ MOVWF _cap+0
+;main.c,732 :: if(SWR<120) break;
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__sharp_cap373
+ MOVLW 120
+ SUBWF _SWR+0, 0
+L__sharp_cap373:
+ BTFSC STATUS+0, 0
+ GOTO L_sharp_cap192
+ GOTO L_sharp_cap184
+L_sharp_cap192:
+;main.c,733 :: }
+ GOTO L_sharp_cap193
+L_sharp_cap191:
+;main.c,734 :: else break;
+ GOTO L_sharp_cap184
+L_sharp_cap193:
+;main.c,723 :: for(count=min_range+1; count<=max_range; count++) {
+ INCF sharp_cap_count_L0+0, 1
+;main.c,735 :: }
+ GOTO L_sharp_cap183
+L_sharp_cap184:
+;main.c,736 :: Relay_set(ind, cap, SW);
+ MOVF _ind+0, 0
+ MOVWF FARG_Relay_set_L+0
+ MOVF _cap+0, 0
+ MOVWF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,737 :: return;
+;main.c,738 :: }
+L_end_sharp_cap:
+ RETURN
+; end of _sharp_cap
+
+_sharp_ind:
+
+;main.c,740 :: void sharp_ind() {
+;main.c,743 :: range = step_ind;
+ MOVF _step_ind+0, 0
+ MOVWF sharp_ind_range_L0+0
+;main.c,745 :: max_range = ind + range;
+ MOVF _step_ind+0, 0
+ ADDWF _ind+0, 0
+ MOVWF R1
+ MOVF R1, 0
+ MOVWF sharp_ind_max_range_L0+0
+;main.c,746 :: if(max_range>31) max_range = 31;
+ MOVF R1, 0
+ SUBLW 31
+ BTFSC STATUS+0, 0
+ GOTO L_sharp_ind194
+ MOVLW 31
+ MOVWF sharp_ind_max_range_L0+0
+L_sharp_ind194:
+;main.c,747 :: if(ind>range) min_range = ind - range; else min_range = 0;
+ MOVF _ind+0, 0
+ SUBWF sharp_ind_range_L0+0, 0
+ BTFSC STATUS+0, 0
+ GOTO L_sharp_ind195
+ MOVF sharp_ind_range_L0+0, 0
+ SUBWF _ind+0, 0
+ MOVWF sharp_ind_min_range_L0+0
+ GOTO L_sharp_ind196
+L_sharp_ind195:
+ CLRF sharp_ind_min_range_L0+0
+L_sharp_ind196:
+;main.c,748 :: ind = min_range;
+ MOVF sharp_ind_min_range_L0+0, 0
+ MOVWF _ind+0
+;main.c,749 :: Relay_set(ind, cap, SW);
+ MOVF sharp_ind_min_range_L0+0, 0
+ MOVWF FARG_Relay_set_L+0
+ MOVF _cap+0, 0
+ MOVWF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,750 :: get_swr();
+ CALL _get_swr+0
+;main.c,751 :: if(SWR==0) return;
+ MOVLW 0
+ XORWF _SWR+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__sharp_ind375
+ MOVLW 0
+ XORWF _SWR+0, 0
+L__sharp_ind375:
+ BTFSS STATUS+0, 2
+ GOTO L_sharp_ind197
+ GOTO L_end_sharp_ind
+L_sharp_ind197:
+;main.c,752 :: 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.c,753 :: for(count=min_range+1; count<=max_range; count++) {
+ INCF sharp_ind_min_range_L0+0, 0
+ MOVWF sharp_ind_count_L0+0
+L_sharp_ind198:
+ MOVF sharp_ind_count_L0+0, 0
+ SUBWF sharp_ind_max_range_L0+0, 0
+ BTFSS STATUS+0, 0
+ GOTO L_sharp_ind199
+;main.c,754 :: Relay_set(count, cap, SW);
+ MOVF sharp_ind_count_L0+0, 0
+ MOVWF FARG_Relay_set_L+0
+ MOVF _cap+0, 0
+ MOVWF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,755 :: get_swr();
+ CALL _get_swr+0
+;main.c,756 :: if(SWR==0) return;
+ MOVLW 0
+ XORWF _SWR+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__sharp_ind376
+ MOVLW 0
+ XORWF _SWR+0, 0
+L__sharp_ind376:
+ BTFSS STATUS+0, 2
+ GOTO L_sharp_ind201
+ GOTO L_end_sharp_ind
+L_sharp_ind201:
+;main.c,757 :: if(SWR>=min_SWR) { Delay_ms(10); 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_ind377
+ MOVF sharp_ind_min_SWR_L0+0, 0
+ SUBWF _SWR+0, 0
+L__sharp_ind377:
+ BTFSS STATUS+0, 0
+ GOTO L_sharp_ind202
+ MOVLW 104
+ MOVWF R12
+ MOVLW 228
+ MOVWF R13
+L_sharp_ind203:
+ DECFSZ R13, 1
+ GOTO L_sharp_ind203
+ DECFSZ R12, 1
+ GOTO L_sharp_ind203
+ NOP
+ CALL _get_swr+0
+L_sharp_ind202:
+;main.c,758 :: if(SWR>=min_SWR) { Delay_ms(10); 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_ind378
+ MOVF sharp_ind_min_SWR_L0+0, 0
+ SUBWF _SWR+0, 0
+L__sharp_ind378:
+ BTFSS STATUS+0, 0
+ GOTO L_sharp_ind204
+ MOVLW 104
+ MOVWF R12
+ MOVLW 228
+ MOVWF R13
+L_sharp_ind205:
+ DECFSZ R13, 1
+ GOTO L_sharp_ind205
+ DECFSZ R12, 1
+ GOTO L_sharp_ind205
+ NOP
+ CALL _get_swr+0
+L_sharp_ind204:
+;main.c,759 :: 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_ind379
+ MOVF sharp_ind_min_SWR_L0+0, 0
+ SUBWF _SWR+0, 0
+L__sharp_ind379:
+ BTFSC STATUS+0, 0
+ GOTO L_sharp_ind206
+;main.c,760 :: 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.c,761 :: ind = count;
+ MOVF sharp_ind_count_L0+0, 0
+ MOVWF _ind+0
+;main.c,762 :: if(SWR<120) break;
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__sharp_ind380
+ MOVLW 120
+ SUBWF _SWR+0, 0
+L__sharp_ind380:
+ BTFSC STATUS+0, 0
+ GOTO L_sharp_ind207
+ GOTO L_sharp_ind199
+L_sharp_ind207:
+;main.c,763 :: }
+ GOTO L_sharp_ind208
+L_sharp_ind206:
+;main.c,764 :: else break;
+ GOTO L_sharp_ind199
+L_sharp_ind208:
+;main.c,753 :: for(count=min_range+1; count<=max_range; count++) {
+ INCF sharp_ind_count_L0+0, 1
+;main.c,765 :: }
+ GOTO L_sharp_ind198
+L_sharp_ind199:
+;main.c,766 :: Relay_set(ind, cap, SW);
+ MOVF _ind+0, 0
+ MOVWF FARG_Relay_set_L+0
+ MOVF _cap+0, 0
+ MOVWF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,767 :: return;
+;main.c,768 :: }
+L_end_sharp_ind:
+ RETURN
+; end of _sharp_ind
+
+_tune:
+
+;main.c,771 :: void tune() {
+;main.c,773 :: asm CLRWDT;
+ CLRWDT
+;main.c,774 :: Key_out = 0;
+ BCF LATD2_bit+0, BitPos(LATD2_bit+0)
+;main.c,775 :: Delay_ms(100);
+ MOVLW 5
+ MOVWF R11
+ MOVLW 15
+ MOVWF R12
+ MOVLW 241
+ MOVWF R13
+L_tune209:
+ DECFSZ R13, 1
+ GOTO L_tune209
+ DECFSZ R12, 1
+ GOTO L_tune209
+ DECFSZ R11, 1
+ GOTO L_tune209
+;main.c,776 :: get_swr(); if(SWR<110) { Key_out = 1; return; }
+ CALL _get_swr+0
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune382
+ MOVLW 110
+ SUBWF _SWR+0, 0
+L__tune382:
+ BTFSC STATUS+0, 0
+ GOTO L_tune210
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune210:
+;main.c,777 :: atu_reset();
+ CALL _atu_reset+0
+;main.c,778 :: Delay_ms(50);
+ MOVLW 3
+ MOVWF R11
+ MOVLW 8
+ MOVWF R12
+ MOVLW 119
+ MOVWF R13
+L_tune211:
+ DECFSZ R13, 1
+ GOTO L_tune211
+ DECFSZ R12, 1
+ GOTO L_tune211
+ DECFSZ R11, 1
+ GOTO L_tune211
+;main.c,779 :: get_swr(); if(SWR<110) { Key_out = 1; return; }
+ CALL _get_swr+0
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune383
+ MOVLW 110
+ SUBWF _SWR+0, 0
+L__tune383:
+ BTFSC STATUS+0, 0
+ GOTO L_tune212
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune212:
+;main.c,781 :: swr_mem = SWR;
+ MOVF _SWR+0, 0
+ MOVWF tune_swr_mem_L0+0
+ MOVF _SWR+1, 0
+ MOVWF tune_swr_mem_L0+1
+;main.c,782 :: coarse_tune(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+ CALL _coarse_tune+0
+ MOVLW 0
+ XORWF _SWR+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune384
+ MOVLW 0
+ XORWF _SWR+0, 0
+L__tune384:
+ BTFSS STATUS+0, 2
+ GOTO L_tune213
+ CALL _atu_reset+0
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune213:
+;main.c,783 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+ CALL _get_swr+0
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune385
+ MOVLW 120
+ SUBWF _SWR+0, 0
+L__tune385:
+ BTFSC STATUS+0, 0
+ GOTO L_tune214
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune214:
+;main.c,784 :: sharp_ind(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+ CALL _sharp_ind+0
+ MOVLW 0
+ XORWF _SWR+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune386
+ MOVLW 0
+ XORWF _SWR+0, 0
+L__tune386:
+ BTFSS STATUS+0, 2
+ GOTO L_tune215
+ CALL _atu_reset+0
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune215:
+;main.c,785 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+ CALL _get_swr+0
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune387
+ MOVLW 120
+ SUBWF _SWR+0, 0
+L__tune387:
+ BTFSC STATUS+0, 0
+ GOTO L_tune216
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune216:
+;main.c,786 :: sharp_cap(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+ CALL _sharp_cap+0
+ MOVLW 0
+ XORWF _SWR+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune388
+ MOVLW 0
+ XORWF _SWR+0, 0
+L__tune388:
+ BTFSS STATUS+0, 2
+ GOTO L_tune217
+ CALL _atu_reset+0
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune217:
+;main.c,787 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+ CALL _get_swr+0
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune389
+ MOVLW 120
+ SUBWF _SWR+0, 0
+L__tune389:
+ BTFSC STATUS+0, 0
+ GOTO L_tune218
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune218:
+;main.c,789 :: if(SWR<200 & SWR100) { Key_out = 1; return; }
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R1
+ MOVLW 128
+ SUBWF R1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune390
+ MOVLW 200
+ SUBWF _SWR+0, 0
+L__tune390:
+ 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__tune391
+ MOVF tune_swr_mem_L0+0, 0
+ SUBWF _SWR+0, 0
+L__tune391:
+ 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__tune392
+ MOVF R1, 0
+ SUBLW 100
+L__tune392:
+ MOVLW 1
+ BTFSC STATUS+0, 0
+ MOVLW 0
+ MOVWF R0
+ MOVF R3, 0
+ ANDWF R0, 1
+ BTFSC STATUS+0, 2
+ GOTO L_tune219
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune219:
+;main.c,790 :: swr_mem = SWR;
+ MOVF _SWR+0, 0
+ MOVWF tune_swr_mem_L0+0
+ MOVF _SWR+1, 0
+ MOVWF tune_swr_mem_L0+1
+;main.c,791 :: ind_mem = ind;
+ MOVF _ind+0, 0
+ MOVWF tune_ind_mem_L0+0
+ CLRF tune_ind_mem_L0+1
+;main.c,792 :: cap_mem = cap;
+ MOVF _cap+0, 0
+ MOVWF tune_cap_mem_L0+0
+ CLRF tune_cap_mem_L0+1
+;main.c,794 :: if(SW==1) SW = 0; else SW = 1;
+ MOVF _SW+0, 0
+ XORLW 1
+ BTFSS STATUS+0, 2
+ GOTO L_tune220
+ CLRF _SW+0
+ GOTO L_tune221
+L_tune220:
+ MOVLW 1
+ MOVWF _SW+0
+L_tune221:
+;main.c,795 :: atu_reset();
+ CALL _atu_reset+0
+;main.c,796 :: Relay_set(ind, cap, SW);
+ MOVF _ind+0, 0
+ MOVWF FARG_Relay_set_L+0
+ MOVF _cap+0, 0
+ MOVWF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,797 :: Delay_ms(50);
+ MOVLW 3
+ MOVWF R11
+ MOVLW 8
+ MOVWF R12
+ MOVLW 119
+ MOVWF R13
+L_tune222:
+ DECFSZ R13, 1
+ GOTO L_tune222
+ DECFSZ R12, 1
+ GOTO L_tune222
+ DECFSZ R11, 1
+ GOTO L_tune222
+;main.c,798 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+ CALL _get_swr+0
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune393
+ MOVLW 120
+ SUBWF _SWR+0, 0
+L__tune393:
+ BTFSC STATUS+0, 0
+ GOTO L_tune223
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune223:
+;main.c,800 :: coarse_tune(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+ CALL _coarse_tune+0
+ MOVLW 0
+ XORWF _SWR+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune394
+ MOVLW 0
+ XORWF _SWR+0, 0
+L__tune394:
+ BTFSS STATUS+0, 2
+ GOTO L_tune224
+ CALL _atu_reset+0
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune224:
+;main.c,801 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+ CALL _get_swr+0
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune395
+ MOVLW 120
+ SUBWF _SWR+0, 0
+L__tune395:
+ BTFSC STATUS+0, 0
+ GOTO L_tune225
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune225:
+;main.c,802 :: sharp_ind(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+ CALL _sharp_ind+0
+ MOVLW 0
+ XORWF _SWR+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune396
+ MOVLW 0
+ XORWF _SWR+0, 0
+L__tune396:
+ BTFSS STATUS+0, 2
+ GOTO L_tune226
+ CALL _atu_reset+0
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune226:
+;main.c,803 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+ CALL _get_swr+0
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune397
+ MOVLW 120
+ SUBWF _SWR+0, 0
+L__tune397:
+ BTFSC STATUS+0, 0
+ GOTO L_tune227
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune227:
+;main.c,804 :: sharp_cap(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+ CALL _sharp_cap+0
+ MOVLW 0
+ XORWF _SWR+1, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune398
+ MOVLW 0
+ XORWF _SWR+0, 0
+L__tune398:
+ BTFSS STATUS+0, 2
+ GOTO L_tune228
+ CALL _atu_reset+0
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune228:
+;main.c,805 :: get_swr(); if(SWR<120) { Key_out = 1; return; }
+ CALL _get_swr+0
+ MOVLW 128
+ XORWF _SWR+1, 0
+ MOVWF R0
+ MOVLW 128
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__tune399
+ MOVLW 120
+ SUBWF _SWR+0, 0
+L__tune399:
+ BTFSC STATUS+0, 0
+ GOTO L_tune229
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+ GOTO L_end_tune
+L_tune229:
+;main.c,807 :: 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__tune400
+ MOVF _SWR+0, 0
+ SUBWF tune_swr_mem_L0+0, 0
+L__tune400:
+ BTFSC STATUS+0, 0
+ GOTO L_tune230
+;main.c,808 :: if(SW==1) SW = 0; else SW = 1;
+ MOVF _SW+0, 0
+ XORLW 1
+ BTFSS STATUS+0, 2
+ GOTO L_tune231
+ CLRF _SW+0
+ GOTO L_tune232
+L_tune231:
+ MOVLW 1
+ MOVWF _SW+0
+L_tune232:
+;main.c,809 :: ind = ind_mem;
+ MOVF tune_ind_mem_L0+0, 0
+ MOVWF _ind+0
+;main.c,810 :: cap = cap_mem;
+ MOVF tune_cap_mem_L0+0, 0
+ MOVWF _cap+0
+;main.c,811 :: Relay_set(ind, cap, sw);
+ MOVF tune_ind_mem_L0+0, 0
+ MOVWF FARG_Relay_set_L+0
+ MOVF tune_cap_mem_L0+0, 0
+ MOVWF FARG_Relay_set_C+0
+ MOVF _SW+0, 0
+ MOVWF FARG_Relay_set_I+0
+ CALL _Relay_set+0
+;main.c,812 :: }
+L_tune230:
+;main.c,814 :: asm CLRWDT;
+ CLRWDT
+;main.c,815 :: get_SWR();
+ CALL _get_swr+0
+;main.c,816 :: Key_out = 1;
+ BSF LATD2_bit+0, BitPos(LATD2_bit+0)
+;main.c,817 :: return;
+;main.c,818 :: }
+L_end_tune:
+ RETURN
+; end of _tune
diff --git a/Firmware/ATU-10_FW_13/main.c b/Firmware/ATU-10_FW_13/main.c
new file mode 100644
index 0000000..aca8b7b
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/main.c
@@ -0,0 +1,818 @@
+// X-202 HF FM AM SSB Receiver
+// David Fainitski, N7DDC
+// 2020
+
+#include "pic_init.h"
+#include "main.h"
+#include "oled_control.h"
+#include "Soft_I2C.h"
+
+
+// global variables
+char txt[8], txt_2[8];
+unsigned long Tick = 0; // ms system tick
+int Voltage, Voltage_old = 0;
+char btn_1_cnt = 0, btn_2_cnt = 0;
+unsigned long volt_cnt = 0, watch_cnt = 0, btn_cnt = 0, off_cnt, disp_cnt;
+int PWR, SWR, SWR_ind = 0, SWR_fixed_old = 100, PWR_fixed_old = 9999;
+char ind = 0, cap = 0, SW = 0, step_cap = 0, step_ind = 0, L_linear = 0, C_linear = 0;
+bit Overflow, B_short, B_long, B_xlong, gre, E_short, E_long;
+
+int Rel_Del = 7, rldl, min_for_start = 10, max_for_start = 150;
+int Auto_delta = 130; // 1.3 SWR
+
+unsigned long Disp_time = 300; // Time in seconds
+unsigned long Off_time = 1800; // Time in seconds
+
+#define FW_VER "1.3"
+
+// interrupt processing
+void interupt() iv 0x0004 {
+ //
+ if(TMR0IF_bit) { // Timer0
+ TMR0IF_bit = 0;
+ Tick++;
+ TMR0L = 0xC0; // 80_000 cycles to OF
+ TMR0H = 0xE0;
+ }
+ //
+ if(Tick>=btn_cnt){ // every 10ms
+ btn_cnt += 10;
+ //
+ if(GetButton | Start){
+ disp_cnt = Tick + Disp_time*1000;
+ off_cnt = Tick + Off_time*1000;
+ }
+ //
+ if(GetButton){ //
+ if(btn_1_cnt<250) btn_1_cnt++;
+ if(btn_1_cnt==25) B_long = 1; // long pressing detected
+ if(btn_1_cnt==250 & OLED_PWD) B_xlong = 1; // Xtra long pressing detected
+ }
+ else if(btn_1_cnt>2 & btn_1_cnt<25){
+ B_short = 1; // short pressing detected
+ btn_1_cnt = 0;
+ }
+ else
+ btn_1_cnt = 0;
+ // External interface
+ if(Start){
+ if(btn_2_cnt<25) btn_2_cnt++;
+ if(btn_2_cnt==20 & Key_in) E_long = 1;
+ }
+ else if(btn_2_cnt>1 & btn_2_cnt<10){
+ E_short = 1;
+ btn_2_cnt = 0;
+ }
+ else
+ btn_2_cnt = 0;
+ }
+ return;
+}
+
+
+void main() {
+ pic_init();
+ Red = 1;
+ Key_out = 1;
+ gre = 1;
+ oled_start();
+ //if(Debug) check_reset_flags();
+ ADC_Init();
+ Overflow = 0;
+ B_short = 0;
+ B_long = 0;
+ B_xlong = 0;
+ E_short = 0;
+ E_long = 0;
+ //
+ disp_cnt = Tick + Disp_time*1000;
+ off_cnt = Tick + Off_time*1000;
+
+ //
+ rldl = Rel_Del;
+ //Relay_set(0, 0, 0);
+ //
+ while(1) {
+ if(Tick>=volt_cnt){ // every 3 second
+ volt_cnt += 3000;
+ Voltage_show();
+ }
+ //
+ if(Tick>=watch_cnt){ // every 300 ms unless power off
+ watch_cnt += 300;
+ watch_swr();
+ }
+ //
+ if(Tick>=disp_cnt){ // Display off
+ //Disp = 0;
+ OLED_PWD = 0;
+ }
+ //
+ if(Tick>=off_cnt){ // Go to power off
+ power_off();
+ }
+ //
+ if(B_short){
+ if(OLED_PWD) Btn_short();
+ else oled_start();
+ }
+ if(B_long){
+ if(OLED_PWD) Btn_long();
+ else oled_start();
+ }
+ if(B_xlong){
+ if(OLED_PWD) Btn_xlong();
+ else oled_start();
+ }
+ // External interface
+ if(E_short){
+ if(OLED_PWD==0) oled_start();
+ Btn_short();
+ }
+ if(E_long){
+ if(OLED_PWD==0) { Ext_long(); oled_start(); }
+ else Btn_long();
+ }
+
+ } // while(1)
+} // main
+
+
+void oled_start(){
+ OLED_PWD = 1;
+ //Disp = 1;
+ Delay_ms(200);
+ Soft_I2C_init();
+ Delay_ms(10);
+ oled_init();
+ //
+ if(gre){
+ Greating();
+ gre = 0;
+ oled_clear();
+ }
+ oled_wr_str(0, 0, "PWR W", 9);
+ oled_bat();
+ oled_wr_str(2, 0, "SWR ", 9);
+ oled_wr_str(0, 42, "=", 1);
+ oled_wr_str(2, 42, "=", 1);
+ Voltage_old = 9999;
+ SWR_fixed_old = 100;
+ PWR_fixed_old = 9999;
+ SWR_ind = 0;
+ draw_swr(SWR_ind);
+ volt_cnt = Tick + 1;
+ watch_cnt = Tick;
+ B_short = 0; B_long = 0; B_xlong = 0;
+ disp_cnt = Tick + Disp_time*1000;
+ off_cnt = Tick + Off_time*1000;
+ return;
+}
+
+
+void watch_swr(void){
+ char peak_cnt, cnt;
+ int delta = Auto_delta - 100;
+ int PWR_fixed, SWR_fixed;
+ //
+ Delay_ms(50);
+ // peak detector
+ cnt = 600;
+ PWR_fixed = 0;
+ SWR_fixed = 0;
+ for(peak_cnt=0; peak_cntPWR_fixed) {PWR_fixed = PWR; SWR_fixed = SWR;}
+ Delay_ms(1);
+ }
+ //
+ if(PWR_fixed>0){
+ if(OLED_PWD){
+ disp_cnt = Tick + Disp_time*1000;
+ off_cnt = Tick + Off_time*1000;
+ }
+ else oled_start();
+ };
+ //
+ if(PWR_fixed!=PWR_fixed_old){
+ if(Overflow)
+ oled_wr_str(0, 42, ">", 1);
+ else
+ oled_wr_str(0, 42, "=", 1);
+ PWR_fixed_old = PWR_fixed;
+ draw_power(PWR_fixed);
+ }
+ //
+ if(PWR_fixed<10){
+ SWR_fixed = 0;
+ //SWR_ind = 0; // Last meassured SWR on display ! not a bug
+ draw_swr(SWR_ind);
+ return;
+ }
+ //
+ if(Overflow){
+ for(cnt=3; cnt!=0; cnt--){
+ oled_wr_str(2, 6, "OVERLOAD ", 9);
+ Delay_ms(500);
+ oled_wr_str(2, 0, " ", 9);
+ Delay_ms(500);
+ }
+ oled_wr_str(2, 0, "SWR ", 9);
+ oled_wr_str(2, 42, "=", 1);
+ draw_swr(SWR_fixed);
+ Delay_ms(500);
+ Overflow = 0;
+ }
+ //
+ else if(PWR_fixed>=min_for_start && PWR_fixed=Auto_delta || SWR_Fixed>900 ) {
+ if( (SWR_fixed>SWR_fixed_old && (SWR_fixed-SWR_fixed_old)>delta) || (SWR_fixeddelta) || SWR_Fixed>900 ) {
+ Btn_long();
+ return;
+ }
+ }
+ //
+ if(SWR_fixed>99 && SWR_fixed!=SWR_ind){
+ SWR_ind = SWR_fixed;
+ draw_swr(SWR_ind);
+ }
+ //
+ return;
+}
+
+void draw_swr(unsigned int s){
+ if(s==0)
+ oled_wr_str(2, 60, "0.00", 4);
+ else {
+ IntToStr(s, txt_2);
+ txt[0] = txt_2[3];
+ txt[1] = '.';
+ txt[2] = txt_2[4];
+ txt[3] = txt_2[5];
+ //
+ oled_wr_str(2, 60, txt, 4);
+ }
+ return;
+}
+
+void draw_power(unsigned int p){
+ //
+ if(p==0){
+ oled_wr_str(0, 60, "0.0", 3);
+ return;
+ }
+ else if(p<10){ // <1 W
+ IntToStr(p, txt_2);
+ txt[0] = '0';
+ txt[1] = '.';
+ txt[2] = txt_2[5];
+ }
+ else if(p<100){ // <10W
+ IntToStr(p, txt_2);
+ txt[0] = txt_2[4];
+ txt[1] = '.';
+ txt[2] = txt_2[5];
+ }
+ else{ // >10W
+ p += 5;
+ IntToStr(p, txt_2);
+ txt[0] = ' ';
+ txt[1] = txt_2[3];
+ txt[2] = txt_2[4];
+ }
+ oled_wr_str(0, 60, txt, 3);
+ return;
+}
+
+void Voltage_show(){
+ get_batt();
+ if(Voltage != Voltage_old) { Voltage_old = Voltage; oled_voltage(Voltage); }
+ // 4.2 - 3.4
+ //rldl = Rel_Del + (4200 - Voltage) / 100;
+ if(Voltage>3700){
+ Green = 0;
+ Red = 1;
+ Delay_ms(30);
+ Green = 1;
+ Red = 1;
+ }
+ else if(Voltage>3590){
+ Green = 0;
+ Red = 0;
+ Delay_ms(30);
+ Green = 1;
+ Red = 1;
+ }
+ else { // <3.7V
+ Red = 0;
+ Green = 1;
+ Delay_ms(30);
+ Red = 1;
+ Green = 1;
+ }
+ //
+ if(Voltage<3400){
+ oled_clear();
+ oled_wr_str(1, 0, " LOW BATT ", 11);
+ Delay_ms(2000);
+ OLED_PWD = 0;
+ power_off();
+ }
+ return;
+}
+
+void Btn_xlong(){
+ B_xlong = 0;
+ btn_cnt = 0;
+ oled_clear();
+ oled_wr_str(1, 0, " POWER OFF ", 11);
+ Delay_ms(2000);
+ power_off();
+ return;
+}
+
+void Btn_long(){
+ Green = 0;
+ oled_wr_str(2, 0, "TUNE ", 9);
+ tune();
+ SWR_ind = SWR;
+ SWR_fixed_old = SWR;
+ oled_wr_str(2, 0, "SWR ", 4);
+ oled_wr_str(2, 42, "=", 1);
+ draw_swr(SWR_ind);
+ Green = 1;
+ B_long = 0;
+ E_long = 0;
+ btn_1_cnt = 0;
+ volt_cnt = Tick;
+ watch_cnt = Tick;
+ return;
+}
+
+void Ext_long(){
+ Green = 0;
+ OLED_PWD = 1;
+ tune();
+ SWR_ind = SWR;
+ Green = 1;
+ E_long = 0;
+ return;
+}
+
+void Btn_short(){
+ Green = 0;
+ atu_reset();
+ oled_wr_str(2, 0, "RESET ", 9);
+ Delay_ms(600);
+ oled_wr_str(2, 0, "SWR ", 5);
+ oled_wr_str(2, 42, "=", 1);
+ oled_wr_str(2, 60, "0.00", 4);
+ SWR_fixed_old = 100;
+ Delay_ms(300);
+ Green = 1;
+ B_short = 0;
+ E_short = 0;
+ btn_1_cnt = 0;
+ volt_cnt = Tick;
+ watch_cnt = Tick;
+ return;
+}
+
+void Greating(){
+ Green = 0;
+ oled_clear();
+ oled_wr_str_s(1, 0, " DESIGNED BY N7DDC", 18);
+ oled_wr_str_s(3, 0, " FW VERSION ", 12);
+ oled_wr_str_s(3, 12*7, FW_VER, 3);
+ Delay_ms(3000);
+ while(GetButton) asm NOP;
+ Green = 1;
+ return;
+}
+
+void atu_reset(){
+ ind = 0;
+ cap = 0;
+ SW = 0;
+ Relay_set(ind, cap, SW);
+ return;
+}
+
+void Relay_set(char L, char C, char I){
+ L_010 = ~L.B0;
+ L_022 = ~L.B1;
+ L_045 = ~L.B2;
+ L_100 = ~L.B3;
+ L_220 = ~L.B4;
+ L_450 = ~L.B5;
+ L_1000 = ~L.B6;
+ //
+ C_22 = ~C.B0;
+ C_47 = ~C.B1;
+ C_100 = ~C.B2;
+ C_220 = ~C.B3;
+ C_470 = ~C.B4;
+ C_1000 = ~C.B5;
+ C_2200 = ~C.B6;
+ //
+ C_sw = I;
+ //
+ Rel_to_gnd = 1;
+ Vdelay_ms(rldl);
+ Rel_to_gnd = 0;
+ Delay_us(10);
+ Rel_to_plus_N = 0;
+ Vdelay_ms(rldl);
+ Rel_to_plus_N = 1;
+ Vdelay_ms(rldl);
+ //
+ L_010 = 0;
+ L_022 = 0;
+ L_045 = 0;
+ L_100 = 0;
+ L_220 = 0;
+ L_450 = 0;
+ L_1000 = 0;
+ //
+ C_22 = 0;
+ C_47 = 0;
+ C_100 = 0;
+ C_220 = 0;
+ C_470 = 0;
+ C_1000 = 0;
+ C_2200 = 0;
+ //
+ C_sw = 0;
+ return;
+}
+
+void power_off(void){
+ char btn_cnt;
+ // Disable interrupts
+ GIE_bit = 0;
+ T0EN_bit = 0;
+ TMR0IF_bit = 0;
+ IOCIE_bit = 1;
+ IOCBF5_bit = 0;
+ IOCBN5_bit = 1;
+ // Power saving
+ OLED_PWD = 0;
+ RED = 1;
+ Green = 1;
+ //
+ C_sw = 0;
+ SYSCMD_bit = 1;
+ //
+ btn_cnt = 0;
+ while(1){
+ if(btn_cnt==0){ Delay_ms(100); IOCBF5_bit = 0; asm sleep; }
+ asm NOP;
+ Delay_ms(100);
+ if(GetButton) btn_cnt++;
+ else btn_cnt = 0;
+ if(btn_cnt>15) break;
+ }
+ // Power saving
+ SYSCMD_bit = 0;
+ // Enable interrupts
+ IOCIE_bit = 0;
+ IOCBN5_bit = 0;
+ IOCBF5_bit = 0;
+ T0EN_bit = 1;
+ GIE_bit = 1;
+ // Return to work
+ gre = 1;
+ oled_start();
+ while(GetButton){asm NOP;}
+ B_short = 0;
+ B_long = 0;
+ B_xlong = 0;
+ E_long = 0;
+ btn_1_cnt = 0;
+ btn_cnt = Tick;
+ return;
+}
+
+
+void check_reset_flags(void){
+ char i = 0;
+ if(STKOVF_bit){oled_wr_str_s(0, 0, "Stack overflow", 14); i = 1;}
+ if(STKUNF_bit){oled_wr_str_s(1, 0, "Stack underflow", 15); i = 1;}
+ if(!nRWDT_bit){oled_wr_str_s(2, 0, "WDT overflow", 12); i = 1;}
+ if(!nRMCLR_bit){oled_wr_str_s(3, 0, "MCLR reset ", 12); i = 1;}
+ if(!nBOR_bit){oled_wr_str_s(4, 0, "BOR reset ", 12); i = 1;}
+ if(i){
+ Delay_ms(5000);
+ oled_clear();
+ }
+ return;
+}
+
+int correction(int input) {
+ input *= 2;
+ //
+ if(input <= 543) input += 256;
+ else if(input <= 791) input += 274;
+ else if(input <= 1225) input += 288;
+ else if(input <= 1991) input += 286;
+ else if(input <= 2766) input += 288;
+ else if(input <= 3970) input += 260;
+ else if(input <= 5100) input += 250;
+ else input += 240;
+ //
+ return input;
+}
+
+int get_reverse(void){
+ unsigned int v;
+ unsigned long d;
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH1);
+ Delay_us(100);
+ v = ADC_Get_Sample(REV_input);
+ if(v==1023){
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH2);
+ Delay_us(100);
+ v = ADC_Get_Sample(REV_input) * 2;
+ }
+ if(v==2046){
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_VREFH);
+ Delay_us(100);
+ v = ADC_Get_Sample(REV_input);
+ if(v==1023) Overflow = 1;
+ get_batt();
+ d = (long)v * (long)Voltage;
+ d = d / 1024;
+ v = (int)d;
+ }
+ return v;
+}
+
+int get_forward(void){
+ unsigned int v;
+ unsigned long d;
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH1);
+ Delay_us(100);
+ v = ADC_Get_Sample(FWD_input);
+ if(v==1023){
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH2);
+ Delay_us(100);
+ v = ADC_Get_Sample(FWD_input) * 2;
+ }
+ if(v==2046){
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_VREFH);
+ Delay_us(100);
+ v = ADC_Get_Sample(FWD_input);
+ if(v==1023) Overflow = 1;
+ get_batt();
+ d = (long)v * (long)Voltage;
+ d = d / 1024;
+ v = (int)d;
+ }
+ return v;
+}
+
+
+void get_pwr(){
+ long Forward, Reverse;
+ float p;
+ //
+ Forward = get_forward();
+ Reverse = get_reverse();
+ //
+ p = correction(Forward);
+ P = p * 5 / 1000;
+ p = p / 1.414;
+ p = p * p;
+ p = p / 5;
+ p += 0.5;
+ PWR = p;
+ //
+ if(PWR>0){
+ if(OLED_PWD){
+ disp_cnt = Tick + Disp_time*1000;
+ off_cnt = Tick + Off_time*1000;
+ }
+ else oled_start();
+ }
+ //
+ if(Reverse >= Forward)
+ Forward = 999;
+ else {
+ Forward = ((Forward + Reverse) * 100) / (Forward - Reverse);
+ if(Forward>999) Forward = 999;
+ }
+ //
+ SWR = Forward;
+ return;
+}
+
+void get_swr(){
+ unsigned int tune_cnt = 300;
+ unsigned int PWR_max = 0;
+ get_pwr();
+ while(PWRmax_for_start){ // waiting for good power
+ if(B_short){
+ Btn_short();
+ SWR = 0;
+ break;
+ }
+ if(B_xlong){
+ //Btn_xlong();
+ SWR = 0;
+ break;
+ }
+ //
+ get_pwr();
+ if(tune_cnt>0){
+ tune_cnt --;
+ if(PWR>PWR_max)
+ PWR_max = PWR;
+ }
+ else {
+ draw_power(PWR_max);
+ PWR_max = 0;
+ tune_cnt = 300;
+ Delay_ms(1);
+ }
+ }
+ // good power
+ return;
+}
+
+void get_batt(void){
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH1);
+ Delay_us(100);
+ Voltage = ADC_Get_Sample(Battery_input) * 11;
+ return;
+}
+
+ void coarse_cap() {
+ char step = 3;
+ char count;
+ int min_swr;
+ //
+ cap = 0;
+ Relay_set(ind, cap, SW);
+ get_swr();
+ min_swr = SWR + SWR/20;
+ for(count=step; count<=31;) {
+ Relay_set(ind, count, SW);
+ 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;
+ }
+ Relay_set(ind, cap, SW);
+ 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=step; count<=31;) {
+ Relay_set(count, cap, SW);
+ coarse_cap();
+ 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;
+ Relay_set(ind, cap, SW);
+ 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;
+ Relay_set(ind, cap, SW);
+ get_swr();
+ if(SWR==0) return;
+ min_SWR = SWR;
+ for(count=min_range+1; count<=max_range; count++) {
+ Relay_set(ind, count, SW);
+ get_swr();
+ if(SWR==0) return;
+ if(SWR>=min_SWR) { Delay_ms(10); get_swr(); }
+ if(SWR>=min_SWR) { Delay_ms(10); get_swr(); }
+ if(SWR < min_SWR) {
+ min_SWR = SWR;
+ cap = count;
+ if(SWR<120) break;
+ }
+ else break;
+ }
+ Relay_set(ind, cap, SW);
+ 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;
+ Relay_set(ind, cap, SW);
+ get_swr();
+ if(SWR==0) return;
+ min_SWR = SWR;
+ for(count=min_range+1; count<=max_range; count++) {
+ Relay_set(count, cap, SW);
+ get_swr();
+ if(SWR==0) return;
+ if(SWR>=min_SWR) { Delay_ms(10); get_swr(); }
+ if(SWR>=min_SWR) { Delay_ms(10); get_swr(); }
+ if(SWR < min_SWR) {
+ min_SWR = SWR;
+ ind = count;
+ if(SWR<120) break;
+ }
+ else break;
+ }
+ Relay_set(ind, cap, SW);
+ return;
+}
+
+
+void tune() {
+ int swr_mem, ind_mem, cap_mem;
+ asm CLRWDT;
+ Key_out = 0;
+ Delay_ms(100);
+ get_swr(); if(SWR<110) { Key_out = 1; return; }
+ atu_reset();
+ Delay_ms(50);
+ get_swr(); if(SWR<110) { Key_out = 1; return; }
+ //
+ swr_mem = SWR;
+ coarse_tune(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+ get_swr(); if(SWR<120) { Key_out = 1; return; }
+ sharp_ind(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+ get_swr(); if(SWR<120) { Key_out = 1; return; }
+ sharp_cap(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+ get_swr(); if(SWR<120) { Key_out = 1; return; }
+ //
+ if(SWR<200 & SWR100) { Key_out = 1; return; }
+ swr_mem = SWR;
+ ind_mem = ind;
+ cap_mem = cap;
+ //
+ if(SW==1) SW = 0; else SW = 1;
+ atu_reset();
+ Relay_set(ind, cap, SW);
+ Delay_ms(50);
+ get_swr(); if(SWR<120) { Key_out = 1; return; }
+ //
+ coarse_tune(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+ get_swr(); if(SWR<120) { Key_out = 1; return; }
+ sharp_ind(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+ get_swr(); if(SWR<120) { Key_out = 1; return; }
+ sharp_cap(); if(SWR==0) {atu_reset(); Key_out = 1; return;}
+ get_swr(); if(SWR<120) { Key_out = 1; return; }
+ //
+ if(SWR>swr_mem) {
+ if(SW==1) SW = 0; else SW = 1;
+ ind = ind_mem;
+ cap = cap_mem;
+ Relay_set(ind, cap, sw);
+ }
+ //
+ asm CLRWDT;
+ get_SWR();
+ Key_out = 1;
+ return;
+}
\ No newline at end of file
diff --git a/Firmware/ATU-10_FW_13/main.c.ini b/Firmware/ATU-10_FW_13/main.c.ini
new file mode 100644
index 0000000..978a202
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/main.c.ini
@@ -0,0 +1,5 @@
+[Position]
+Line=445
+Column=13
+[FoldedLines]
+Count=0
diff --git a/Firmware/ATU-10_FW_13/main.cp b/Firmware/ATU-10_FW_13/main.cp
new file mode 100644
index 0000000..c50e5ef
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/main.cp
@@ -0,0 +1,1041 @@
+#line 1 "D:/Projects/ATU-10/Firmware_1.3/main.c"
+#line 1 "d:/projects/atu-10/firmware_1.3/pic_init.h"
+
+
+
+
+sbit Red at LATB4_bit;
+sbit Green at LATB3_bit;
+sbit OLED_PWD at LATA4_bit;
+sbit C_sw at LATE0_bit;
+sbit L_010 at LATD7_bit;
+sbit L_022 at LATD6_bit;
+sbit L_045 at LATD5_bit;
+sbit L_100 at LATD4_bit;
+sbit L_220 at LATC7_bit;
+sbit L_450 at LATC6_bit;
+sbit L_1000 at LATC5_bit;
+sbit C_22 at LATA5_bit;
+sbit C_47 at LATE1_bit;
+sbit C_100 at LATA7_bit;
+sbit C_220 at LATA6_bit;
+sbit C_470 at LATC0_bit;
+sbit C_1000 at LATC1_bit;
+sbit C_2200 at LATC2_bit;
+sbit Rel_to_gnd at LATD3_bit;
+sbit Rel_to_plus_N at LATC4_bit;
+#line 1 "d:/projects/atu-10/firmware_1.3/main.h"
+
+void pic_init(void);
+void Btn_long(void);
+void Btn_short(void);
+void Btn_xlong(void);
+void check_reset_flags(void);
+void Voltage_show(void);
+void Relay_set(char, char, char);
+int get_reverse(void);
+int get_forward(void);
+void get_pwr(void);
+void get_swr(void);
+void get_batt(void);
+void watch_swr(void);
+void coarse_cap(void);
+void coarse_tune(void);
+void sharp_cap(void);
+void sharp_ind(void);
+void sub_tune(void);
+void tune(void);
+int correction(int);
+void atu_reset(void);
+void draw_swr(unsigned int);
+void draw_power(unsigned int);
+void oled_start(void);
+void power_off(void);
+void Greating(void);
+void Ext_long(void);
+#line 1 "d:/projects/atu-10/firmware_1.3/oled_control.h"
+#line 1 "d:/projects/atu-10/firmware_1.3/font_5x8.h"
+ static const code char font_5x8[] = {
+
+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 3 "d:/projects/atu-10/firmware_1.3/oled_control.h"
+static oled_addr = 0x78;
+static char shift_line = 64;
+static char oled_shift = 2;
+static char inversion = 1;
+
+void oled_init (void);
+void oled_clear(void);
+void send_command (char);
+void set_addressing (char, char);
+void oled_wr_str_s(char, char, char*, char);
+void oled_wr_str(char, char, char*, char);
+void oled_bat (void);
+void oled_voltage (int);
+void oled_clear (void);
+
+
+static const char batt[] = {
+ 0B11111000,
+ 0B11111000,
+
+ 0B00011111,
+ 0B00011111,
+ 0B00000011,
+ 0B00000011,
+ 0B00000011,
+ 0B00011111,
+ 0B00011111,
+
+ 0B11111000,
+ 0B11111000,
+
+ 0B11111111,
+ 0B11111111,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B11111111,
+ 0B11111111,
+
+ 0B11111111,
+ 0B11111111,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B11111111,
+ 0B11111111,
+
+ 0B11111111,
+ 0B11111111,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11111111,
+ 0B11111111
+ };
+#line 1 "d:/projects/atu-10/firmware_1.3/soft_i2c.h"
+
+void Soft_I2C_Init(void);
+void Soft_I2C_Start(void);
+char Soft_I2C_Write(char);
+char Soft_I2C_Read(void);
+void Soft_I2C_ACK(void);
+void Soft_I2C_NACK(void);
+void Soft_I2C_Stop(void);
+#line 12 "D:/Projects/ATU-10/Firmware_1.3/main.c"
+char txt[8], txt_2[8];
+unsigned long Tick = 0;
+int Voltage, Voltage_old = 0;
+char btn_1_cnt = 0, btn_2_cnt = 0;
+unsigned long volt_cnt = 0, watch_cnt = 0, btn_cnt = 0, off_cnt, disp_cnt;
+int PWR, SWR, SWR_ind = 0, SWR_fixed_old = 100, PWR_fixed_old = 9999;
+char ind = 0, cap = 0, SW = 0, step_cap = 0, step_ind = 0, L_linear = 0, C_linear = 0;
+bit Overflow, B_short, B_long, B_xlong, gre, E_short, E_long;
+
+int Rel_Del = 7, rldl, min_for_start = 10, max_for_start = 150;
+int Auto_delta = 130;
+
+unsigned long Disp_time = 300;
+unsigned long Off_time = 1800;
+
+
+
+
+void interupt() iv 0x0004 {
+
+ if(TMR0IF_bit) {
+ TMR0IF_bit = 0;
+ Tick++;
+ TMR0L = 0xC0;
+ TMR0H = 0xE0;
+ }
+
+ if(Tick>=btn_cnt){
+ btn_cnt += 10;
+
+ if( ~ PORTB.B5 | ~PORTD.B1 ){
+ disp_cnt = Tick + Disp_time*1000;
+ off_cnt = Tick + Off_time*1000;
+ }
+
+ if( ~ PORTB.B5 ){
+ if(btn_1_cnt<250) btn_1_cnt++;
+ if(btn_1_cnt==25) B_long = 1;
+ if(btn_1_cnt==250 & OLED_PWD) B_xlong = 1;
+ }
+ else if(btn_1_cnt>2 & btn_1_cnt<25){
+ B_short = 1;
+ btn_1_cnt = 0;
+ }
+ else
+ btn_1_cnt = 0;
+
+ if( ~PORTD.B1 ){
+ if(btn_2_cnt<25) btn_2_cnt++;
+ if(btn_2_cnt==20 & PORTD.B2 ) E_long = 1;
+ }
+ else if(btn_2_cnt>1 & btn_2_cnt<10){
+ E_short = 1;
+ btn_2_cnt = 0;
+ }
+ else
+ btn_2_cnt = 0;
+ }
+ return;
+}
+
+
+void main() {
+ pic_init();
+ Red = 1;
+ LATD2_bit = 1;
+ gre = 1;
+ oled_start();
+
+ ADC_Init();
+ Overflow = 0;
+ B_short = 0;
+ B_long = 0;
+ B_xlong = 0;
+ E_short = 0;
+ E_long = 0;
+
+ disp_cnt = Tick + Disp_time*1000;
+ off_cnt = Tick + Off_time*1000;
+
+
+ rldl = Rel_Del;
+
+
+ while(1) {
+ if(Tick>=volt_cnt){
+ volt_cnt += 3000;
+ Voltage_show();
+ }
+
+ if(Tick>=watch_cnt){
+ watch_cnt += 300;
+ watch_swr();
+ }
+
+ if(Tick>=disp_cnt){
+
+ OLED_PWD = 0;
+ }
+
+ if(Tick>=off_cnt){
+ power_off();
+ }
+
+ if(B_short){
+ if(OLED_PWD) Btn_short();
+ else oled_start();
+ }
+ if(B_long){
+ if(OLED_PWD) Btn_long();
+ else oled_start();
+ }
+ if(B_xlong){
+ if(OLED_PWD) Btn_xlong();
+ else oled_start();
+ }
+
+ if(E_short){
+ if(OLED_PWD==0) oled_start();
+ Btn_short();
+ }
+ if(E_long){
+ if(OLED_PWD==0) { Ext_long(); oled_start(); }
+ else Btn_long();
+ }
+
+ }
+}
+
+
+void oled_start(){
+ OLED_PWD = 1;
+
+ Delay_ms(200);
+ Soft_I2C_init();
+ Delay_ms(10);
+ oled_init();
+
+ if(gre){
+ Greating();
+ gre = 0;
+ oled_clear();
+ }
+ oled_wr_str(0, 0, "PWR W", 9);
+ oled_bat();
+ oled_wr_str(2, 0, "SWR ", 9);
+ oled_wr_str(0, 42, "=", 1);
+ oled_wr_str(2, 42, "=", 1);
+ Voltage_old = 9999;
+ SWR_fixed_old = 100;
+ PWR_fixed_old = 9999;
+ SWR_ind = 0;
+ draw_swr(SWR_ind);
+ volt_cnt = Tick + 1;
+ watch_cnt = Tick;
+ B_short = 0; B_long = 0; B_xlong = 0;
+ disp_cnt = Tick + Disp_time*1000;
+ off_cnt = Tick + Off_time*1000;
+ return;
+}
+
+
+void watch_swr(void){
+ char peak_cnt, cnt;
+ int delta = Auto_delta - 100;
+ int PWR_fixed, SWR_fixed;
+
+ Delay_ms(50);
+
+ cnt = 600;
+ PWR_fixed = 0;
+ SWR_fixed = 0;
+ for(peak_cnt=0; peak_cntPWR_fixed) {PWR_fixed = PWR; SWR_fixed = SWR;}
+ Delay_ms(1);
+ }
+
+ if(PWR_fixed>0){
+ if(OLED_PWD){
+ disp_cnt = Tick + Disp_time*1000;
+ off_cnt = Tick + Off_time*1000;
+ }
+ else oled_start();
+ };
+
+ if(PWR_fixed!=PWR_fixed_old){
+ if(Overflow)
+ oled_wr_str(0, 42, ">", 1);
+ else
+ oled_wr_str(0, 42, "=", 1);
+ PWR_fixed_old = PWR_fixed;
+ draw_power(PWR_fixed);
+ }
+
+ if(PWR_fixed<10){
+ SWR_fixed = 0;
+
+ draw_swr(SWR_ind);
+ return;
+ }
+
+ if(Overflow){
+ for(cnt=3; cnt!=0; cnt--){
+ oled_wr_str(2, 6, "OVERLOAD ", 9);
+ Delay_ms(500);
+ oled_wr_str(2, 0, " ", 9);
+ Delay_ms(500);
+ }
+ oled_wr_str(2, 0, "SWR ", 9);
+ oled_wr_str(2, 42, "=", 1);
+ draw_swr(SWR_fixed);
+ Delay_ms(500);
+ Overflow = 0;
+ }
+
+ else if(PWR_fixed>=min_for_start && PWR_fixed=Auto_delta || SWR_Fixed>900 ) {
+ if( (SWR_fixed>SWR_fixed_old && (SWR_fixed-SWR_fixed_old)>delta) || (SWR_fixeddelta) || SWR_Fixed>900 ) {
+ Btn_long();
+ return;
+ }
+ }
+
+ if(SWR_fixed>99 && SWR_fixed!=SWR_ind){
+ SWR_ind = SWR_fixed;
+ draw_swr(SWR_ind);
+ }
+
+ return;
+}
+
+void draw_swr(unsigned int s){
+ if(s==0)
+ oled_wr_str(2, 60, "0.00", 4);
+ else {
+ IntToStr(s, txt_2);
+ txt[0] = txt_2[3];
+ txt[1] = '.';
+ txt[2] = txt_2[4];
+ txt[3] = txt_2[5];
+
+ oled_wr_str(2, 60, txt, 4);
+ }
+ return;
+}
+
+void draw_power(unsigned int p){
+
+ if(p==0){
+ oled_wr_str(0, 60, "0.0", 3);
+ return;
+ }
+ else if(p<10){
+ IntToStr(p, txt_2);
+ txt[0] = '0';
+ txt[1] = '.';
+ txt[2] = txt_2[5];
+ }
+ else if(p<100){
+ IntToStr(p, txt_2);
+ txt[0] = txt_2[4];
+ txt[1] = '.';
+ txt[2] = txt_2[5];
+ }
+ else{
+ p += 5;
+ IntToStr(p, txt_2);
+ txt[0] = ' ';
+ txt[1] = txt_2[3];
+ txt[2] = txt_2[4];
+ }
+ oled_wr_str(0, 60, txt, 3);
+ return;
+}
+
+void Voltage_show(){
+ get_batt();
+ if(Voltage != Voltage_old) { Voltage_old = Voltage; oled_voltage(Voltage); }
+
+
+ if(Voltage>3700){
+ Green = 0;
+ Red = 1;
+ Delay_ms(30);
+ Green = 1;
+ Red = 1;
+ }
+ else if(Voltage>3590){
+ Green = 0;
+ Red = 0;
+ Delay_ms(30);
+ Green = 1;
+ Red = 1;
+ }
+ else {
+ Red = 0;
+ Green = 1;
+ Delay_ms(30);
+ Red = 1;
+ Green = 1;
+ }
+
+ if(Voltage<3400){
+ oled_clear();
+ oled_wr_str(1, 0, " LOW BATT ", 11);
+ Delay_ms(2000);
+ OLED_PWD = 0;
+ power_off();
+ }
+ return;
+}
+
+void Btn_xlong(){
+ B_xlong = 0;
+ btn_cnt = 0;
+ oled_clear();
+ oled_wr_str(1, 0, " POWER OFF ", 11);
+ Delay_ms(2000);
+ power_off();
+ return;
+}
+
+void Btn_long(){
+ Green = 0;
+ oled_wr_str(2, 0, "TUNE ", 9);
+ tune();
+ SWR_ind = SWR;
+ SWR_fixed_old = SWR;
+ oled_wr_str(2, 0, "SWR ", 4);
+ oled_wr_str(2, 42, "=", 1);
+ draw_swr(SWR_ind);
+ Green = 1;
+ B_long = 0;
+ E_long = 0;
+ btn_1_cnt = 0;
+ volt_cnt = Tick;
+ watch_cnt = Tick;
+ return;
+}
+
+void Ext_long(){
+ Green = 0;
+ OLED_PWD = 1;
+ tune();
+ SWR_ind = SWR;
+ Green = 1;
+ E_long = 0;
+ return;
+}
+
+void Btn_short(){
+ Green = 0;
+ atu_reset();
+ oled_wr_str(2, 0, "RESET ", 9);
+ Delay_ms(600);
+ oled_wr_str(2, 0, "SWR ", 5);
+ oled_wr_str(2, 42, "=", 1);
+ oled_wr_str(2, 60, "0.00", 4);
+ SWR_fixed_old = 100;
+ Delay_ms(300);
+ Green = 1;
+ B_short = 0;
+ E_short = 0;
+ btn_1_cnt = 0;
+ volt_cnt = Tick;
+ watch_cnt = Tick;
+ return;
+}
+
+void Greating(){
+ Green = 0;
+ oled_clear();
+ oled_wr_str_s(1, 0, " DESIGNED BY N7DDC", 18);
+ oled_wr_str_s(3, 0, " FW VERSION ", 12);
+ oled_wr_str_s(3, 12*7, "1.3" , 3);
+ Delay_ms(3000);
+ while( ~ PORTB.B5 ) asm NOP;
+ Green = 1;
+ return;
+}
+
+void atu_reset(){
+ ind = 0;
+ cap = 0;
+ SW = 0;
+ Relay_set(ind, cap, SW);
+ return;
+}
+
+void Relay_set(char L, char C, char I){
+ L_010 = ~L.B0;
+ L_022 = ~L.B1;
+ L_045 = ~L.B2;
+ L_100 = ~L.B3;
+ L_220 = ~L.B4;
+ L_450 = ~L.B5;
+ L_1000 = ~L.B6;
+
+ C_22 = ~C.B0;
+ C_47 = ~C.B1;
+ C_100 = ~C.B2;
+ C_220 = ~C.B3;
+ C_470 = ~C.B4;
+ C_1000 = ~C.B5;
+ C_2200 = ~C.B6;
+
+ C_sw = I;
+
+ Rel_to_gnd = 1;
+ Vdelay_ms(rldl);
+ Rel_to_gnd = 0;
+ Delay_us(10);
+ Rel_to_plus_N = 0;
+ Vdelay_ms(rldl);
+ Rel_to_plus_N = 1;
+ Vdelay_ms(rldl);
+
+ L_010 = 0;
+ L_022 = 0;
+ L_045 = 0;
+ L_100 = 0;
+ L_220 = 0;
+ L_450 = 0;
+ L_1000 = 0;
+
+ C_22 = 0;
+ C_47 = 0;
+ C_100 = 0;
+ C_220 = 0;
+ C_470 = 0;
+ C_1000 = 0;
+ C_2200 = 0;
+
+ C_sw = 0;
+ return;
+}
+
+void power_off(void){
+ char btn_cnt;
+
+ GIE_bit = 0;
+ T0EN_bit = 0;
+ TMR0IF_bit = 0;
+ IOCIE_bit = 1;
+ IOCBF5_bit = 0;
+ IOCBN5_bit = 1;
+
+ OLED_PWD = 0;
+ RED = 1;
+ Green = 1;
+
+ C_sw = 0;
+ SYSCMD_bit = 1;
+
+ btn_cnt = 0;
+ while(1){
+ if(btn_cnt==0){ Delay_ms(100); IOCBF5_bit = 0; asm sleep; }
+ asm NOP;
+ Delay_ms(100);
+ if( ~ PORTB.B5 ) btn_cnt++;
+ else btn_cnt = 0;
+ if(btn_cnt>15) break;
+ }
+
+ SYSCMD_bit = 0;
+
+ IOCIE_bit = 0;
+ IOCBN5_bit = 0;
+ IOCBF5_bit = 0;
+ T0EN_bit = 1;
+ GIE_bit = 1;
+
+ gre = 1;
+ oled_start();
+ while( ~ PORTB.B5 ){asm NOP;}
+ B_short = 0;
+ B_long = 0;
+ B_xlong = 0;
+ E_long = 0;
+ btn_1_cnt = 0;
+ btn_cnt = Tick;
+ return;
+}
+
+
+void check_reset_flags(void){
+ char i = 0;
+ if(STKOVF_bit){oled_wr_str_s(0, 0, "Stack overflow", 14); i = 1;}
+ if(STKUNF_bit){oled_wr_str_s(1, 0, "Stack underflow", 15); i = 1;}
+ if(!nRWDT_bit){oled_wr_str_s(2, 0, "WDT overflow", 12); i = 1;}
+ if(!nRMCLR_bit){oled_wr_str_s(3, 0, "MCLR reset ", 12); i = 1;}
+ if(!nBOR_bit){oled_wr_str_s(4, 0, "BOR reset ", 12); i = 1;}
+ if(i){
+ Delay_ms(5000);
+ oled_clear();
+ }
+ return;
+}
+
+int correction(int input) {
+ input *= 2;
+
+ if(input <= 543) input += 256;
+ else if(input <= 791) input += 274;
+ else if(input <= 1225) input += 288;
+ else if(input <= 1991) input += 286;
+ else if(input <= 2766) input += 288;
+ else if(input <= 3970) input += 260;
+ else if(input <= 5100) input += 250;
+ else input += 240;
+
+ return input;
+}
+
+int get_reverse(void){
+ unsigned int v;
+ unsigned long d;
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH1);
+ Delay_us(100);
+ v = ADC_Get_Sample( 10 );
+ if(v==1023){
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH2);
+ Delay_us(100);
+ v = ADC_Get_Sample( 10 ) * 2;
+ }
+ if(v==2046){
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_VREFH);
+ Delay_us(100);
+ v = ADC_Get_Sample( 10 );
+ if(v==1023) Overflow = 1;
+ get_batt();
+ d = (long)v * (long)Voltage;
+ d = d / 1024;
+ v = (int)d;
+ }
+ return v;
+}
+
+int get_forward(void){
+ unsigned int v;
+ unsigned long d;
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH1);
+ Delay_us(100);
+ v = ADC_Get_Sample( 8 );
+ if(v==1023){
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH2);
+ Delay_us(100);
+ v = ADC_Get_Sample( 8 ) * 2;
+ }
+ if(v==2046){
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_VREFH);
+ Delay_us(100);
+ v = ADC_Get_Sample( 8 );
+ if(v==1023) Overflow = 1;
+ get_batt();
+ d = (long)v * (long)Voltage;
+ d = d / 1024;
+ v = (int)d;
+ }
+ return v;
+}
+
+
+void get_pwr(){
+ long Forward, Reverse;
+ float p;
+
+ Forward = get_forward();
+ Reverse = get_reverse();
+
+ p = correction(Forward);
+ P = p * 5 / 1000;
+ p = p / 1.414;
+ p = p * p;
+ p = p / 5;
+ p += 0.5;
+ PWR = p;
+
+ if(PWR>0){
+ if(OLED_PWD){
+ disp_cnt = Tick + Disp_time*1000;
+ off_cnt = Tick + Off_time*1000;
+ }
+ else oled_start();
+ }
+
+ if(Reverse >= Forward)
+ Forward = 999;
+ else {
+ Forward = ((Forward + Reverse) * 100) / (Forward - Reverse);
+ if(Forward>999) Forward = 999;
+ }
+
+ SWR = Forward;
+ return;
+}
+
+void get_swr(){
+ unsigned int tune_cnt = 300;
+ unsigned int PWR_max = 0;
+ get_pwr();
+ while(PWRmax_for_start){
+ if(B_short){
+ Btn_short();
+ SWR = 0;
+ break;
+ }
+ if(B_xlong){
+
+ SWR = 0;
+ break;
+ }
+
+ get_pwr();
+ if(tune_cnt>0){
+ tune_cnt --;
+ if(PWR>PWR_max)
+ PWR_max = PWR;
+ }
+ else {
+ draw_power(PWR_max);
+ PWR_max = 0;
+ tune_cnt = 300;
+ Delay_ms(1);
+ }
+ }
+
+ return;
+}
+
+void get_batt(void){
+ ADC_Init_Advanced(_ADC_INTERNAL_VREFL | _ADC_INTERNAL_FVRH1);
+ Delay_us(100);
+ Voltage = ADC_Get_Sample( 9 ) * 11;
+ return;
+}
+
+ void coarse_cap() {
+ char step = 3;
+ char count;
+ int min_swr;
+
+ cap = 0;
+ Relay_set(ind, cap, SW);
+ get_swr();
+ min_swr = SWR + SWR/20;
+ for(count=step; count<=31;) {
+ Relay_set(ind, count, SW);
+ 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;
+ }
+ Relay_set(ind, cap, SW);
+ 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=step; count<=31;) {
+ Relay_set(count, cap, SW);
+ coarse_cap();
+ 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;
+ Relay_set(ind, cap, SW);
+ 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;
+ Relay_set(ind, cap, SW);
+ get_swr();
+ if(SWR==0) return;
+ min_SWR = SWR;
+ for(count=min_range+1; count<=max_range; count++) {
+ Relay_set(ind, count, SW);
+ get_swr();
+ if(SWR==0) return;
+ if(SWR>=min_SWR) { Delay_ms(10); get_swr(); }
+ if(SWR>=min_SWR) { Delay_ms(10); get_swr(); }
+ if(SWR < min_SWR) {
+ min_SWR = SWR;
+ cap = count;
+ if(SWR<120) break;
+ }
+ else break;
+ }
+ Relay_set(ind, cap, SW);
+ 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;
+ Relay_set(ind, cap, SW);
+ get_swr();
+ if(SWR==0) return;
+ min_SWR = SWR;
+ for(count=min_range+1; count<=max_range; count++) {
+ Relay_set(count, cap, SW);
+ get_swr();
+ if(SWR==0) return;
+ if(SWR>=min_SWR) { Delay_ms(10); get_swr(); }
+ if(SWR>=min_SWR) { Delay_ms(10); get_swr(); }
+ if(SWR < min_SWR) {
+ min_SWR = SWR;
+ ind = count;
+ if(SWR<120) break;
+ }
+ else break;
+ }
+ Relay_set(ind, cap, SW);
+ return;
+}
+
+
+void tune() {
+ int swr_mem, ind_mem, cap_mem;
+ asm CLRWDT;
+ LATD2_bit = 0;
+ Delay_ms(100);
+ get_swr(); if(SWR<110) { LATD2_bit = 1; return; }
+ atu_reset();
+ Delay_ms(50);
+ get_swr(); if(SWR<110) { LATD2_bit = 1; return; }
+
+ swr_mem = SWR;
+ coarse_tune(); if(SWR==0) {atu_reset(); LATD2_bit = 1; return;}
+ get_swr(); if(SWR<120) { LATD2_bit = 1; return; }
+ sharp_ind(); if(SWR==0) {atu_reset(); LATD2_bit = 1; return;}
+ get_swr(); if(SWR<120) { LATD2_bit = 1; return; }
+ sharp_cap(); if(SWR==0) {atu_reset(); LATD2_bit = 1; return;}
+ get_swr(); if(SWR<120) { LATD2_bit = 1; return; }
+
+ if(SWR<200 & SWR100) { LATD2_bit = 1; return; }
+ swr_mem = SWR;
+ ind_mem = ind;
+ cap_mem = cap;
+
+ if(SW==1) SW = 0; else SW = 1;
+ atu_reset();
+ Relay_set(ind, cap, SW);
+ Delay_ms(50);
+ get_swr(); if(SWR<120) { LATD2_bit = 1; return; }
+
+ coarse_tune(); if(SWR==0) {atu_reset(); LATD2_bit = 1; return;}
+ get_swr(); if(SWR<120) { LATD2_bit = 1; return; }
+ sharp_ind(); if(SWR==0) {atu_reset(); LATD2_bit = 1; return;}
+ get_swr(); if(SWR<120) { LATD2_bit = 1; return; }
+ sharp_cap(); if(SWR==0) {atu_reset(); LATD2_bit = 1; return;}
+ get_swr(); if(SWR<120) { LATD2_bit = 1; return; }
+
+ if(SWR>swr_mem) {
+ if(SW==1) SW = 0; else SW = 1;
+ ind = ind_mem;
+ cap = cap_mem;
+ Relay_set(ind, cap, sw);
+ }
+
+ asm CLRWDT;
+ get_SWR();
+ LATD2_bit = 1;
+ return;
+}
diff --git a/Firmware/ATU-10_FW_13/main.h b/Firmware/ATU-10_FW_13/main.h
new file mode 100644
index 0000000..9272222
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/main.h
@@ -0,0 +1,43 @@
+
+void pic_init(void);
+void Btn_long(void);
+void Btn_short(void);
+void Btn_xlong(void);
+void check_reset_flags(void);
+void Voltage_show(void);
+void Relay_set(char, char, char);
+int get_reverse(void);
+int get_forward(void);
+void get_pwr(void);
+void get_swr(void);
+void get_batt(void);
+void watch_swr(void);
+void coarse_cap(void);
+void coarse_tune(void);
+void sharp_cap(void);
+void sharp_ind(void);
+void sub_tune(void);
+void tune(void);
+int correction(int);
+void atu_reset(void);
+void draw_swr(unsigned int);
+void draw_power(unsigned int);
+void oled_start(void);
+void power_off(void);
+void Greating(void);
+void Ext_long(void);
+
+
+
+#define ON 1
+#define OFF 0
+#define INT GIE_bit
+#define Battery_input 9
+#define FWD_input 8
+#define REV_input 10
+#define _AD_High ADFVR0_bit=0;ADFVR1_bit=1;
+#define _AD_Low ADFVR0_bit=1;ADFVR1_bit=0;
+#define Key_out LATD2_bit
+#define Key_in PORTD.B2
+#define Start_out LATD1_bit
+#define Start ~PORTD.B1
\ No newline at end of file
diff --git a/Firmware/ATU-10_FW_13/main.h.ini b/Firmware/ATU-10_FW_13/main.h.ini
new file mode 100644
index 0000000..f538c59
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/main.h.ini
@@ -0,0 +1,5 @@
+[Position]
+Line=21
+Column=16
+[FoldedLines]
+Count=0
diff --git a/Firmware/ATU-10_FW_13/main.mcl b/Firmware/ATU-10_FW_13/main.mcl
new file mode 100644
index 0000000..796dfeb
Binary files /dev/null and b/Firmware/ATU-10_FW_13/main.mcl differ
diff --git a/Firmware/ATU-10_FW_13/oled_control.asm b/Firmware/ATU-10_FW_13/oled_control.asm
new file mode 100644
index 0000000..d9a5e71
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/oled_control.asm
@@ -0,0 +1,1339 @@
+
+_oled_disp_on:
+
+;oled_control.c,4 :: void oled_disp_on() {
+;oled_control.c,5 :: send_command(0xAF); // display ON
+ MOVLW 175
+ MOVWF FARG_send_command+0
+ CALL _send_command+0
+;oled_control.c,6 :: }
+L_end_oled_disp_on:
+ RETURN
+; end of _oled_disp_on
+
+_oled_disp_off:
+
+;oled_control.c,8 :: void oled_disp_off() {
+;oled_control.c,9 :: send_command(0xAE); // display OFF
+ MOVLW 174
+ MOVWF FARG_send_command+0
+ CALL _send_command+0
+;oled_control.c,10 :: }
+L_end_oled_disp_off:
+ RETURN
+; end of _oled_disp_off
+
+_oled_init:
+
+;oled_control.c,12 :: void oled_init (void) { // OLED init
+;oled_control.c,14 :: for(cnt=0; cnt<10; cnt++){
+ CLRF oled_init_cnt_L0+0
+L_oled_init0:
+ MOVLW 10
+ SUBWF oled_init_cnt_L0+0, 0
+ BTFSC STATUS+0, 0
+ GOTO L_oled_init1
+;oled_control.c,15 :: Soft_I2C_Start();
+ CALL _Soft_I2C_Start+0
+;oled_control.c,16 :: if(Soft_I2C_Write(oled_addr)==0) break; // device addres
+ MOVF oled_control_oled_addr+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+ MOVF R0, 0
+ XORLW 0
+ BTFSS STATUS+0, 2
+ GOTO L_oled_init3
+ GOTO L_oled_init1
+L_oled_init3:
+;oled_control.c,17 :: else Soft_I2C_Stop();
+ CALL _Soft_I2C_Stop+0
+;oled_control.c,18 :: Delay_ms(300);
+ MOVLW 13
+ MOVWF R11
+ MOVLW 45
+ MOVWF R12
+ MOVLW 215
+ MOVWF R13
+L_oled_init5:
+ DECFSZ R13, 1
+ GOTO L_oled_init5
+ DECFSZ R12, 1
+ GOTO L_oled_init5
+ DECFSZ R11, 1
+ GOTO L_oled_init5
+ NOP
+ NOP
+;oled_control.c,14 :: for(cnt=0; cnt<10; cnt++){
+ INCF oled_init_cnt_L0+0, 1
+;oled_control.c,19 :: }
+ GOTO L_oled_init0
+L_oled_init1:
+;oled_control.c,20 :: Soft_I2C_Write(0); // 0 - continious mode, command; 64 - Co, data
+ CLRF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,21 :: Soft_I2C_Write (0xAE); // display OFF
+ MOVLW 174
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,23 :: Soft_I2C_Write (0xD5); // clock division
+ MOVLW 213
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,24 :: Soft_I2C_Write (0x80); // ratio
+ MOVLW 128
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,26 :: Soft_I2C_Write (0xA8); // multiplexer
+ MOVLW 168
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,27 :: Soft_I2C_Write (63); //
+ MOVLW 63
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,29 :: Soft_I2C_Write (0xD3); // offset
+ MOVLW 211
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,30 :: Soft_I2C_Write (shift_line); // 32 no offset for x64 !
+ MOVF oled_control_shift_line+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,32 :: Soft_I2C_Write (0x40); // set line, line = 0
+ MOVLW 64
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,34 :: Soft_I2C_Write (0x8D); // charge pump
+ MOVLW 141
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,35 :: Soft_I2C_Write (0x14); // 0x10 - external, 0x14 - internal
+ MOVLW 20
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,37 :: Soft_I2C_Write (0x81); // contrast
+ MOVLW 129
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,38 :: Soft_I2C_Write (255); // 0-255
+ MOVLW 255
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,40 :: Soft_I2C_Write (0xD9); // pre-charge
+ MOVLW 217
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,41 :: Soft_I2C_Write (0xF1); // 0x22 - external, 0xF1 - internal
+ MOVLW 241
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,43 :: Soft_I2C_Write (0x20); // memory addressing mode
+ MOVLW 32
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,44 :: Soft_I2C_Write (0x02); // page addressing mode 02
+ MOVLW 2
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,46 :: Soft_I2C_Write (0x21); // set column range
+ MOVLW 33
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,47 :: Soft_I2C_Write (0); // column start
+ CLRF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,48 :: Soft_I2C_Write (127); // column stop
+ MOVLW 127
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,50 :: Soft_I2C_Write (0x2E); // stop scrolling
+ MOVLW 46
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,52 :: if(inversion) {
+ MOVF oled_control_inversion+0, 0
+ BTFSC STATUS+0, 2
+ GOTO L_oled_init6
+;oled_control.c,53 :: Soft_I2C_Write (0xA0); // segment re-map, A0 - normal, A1 - remapped
+ MOVLW 160
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,54 :: Soft_I2C_Write (0xC0); // scan direction, C0 - normal, C8 - remapped
+ MOVLW 192
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,55 :: }
+ GOTO L_oled_init7
+L_oled_init6:
+;oled_control.c,57 :: Soft_I2C_Write (0xA1); // segment re-map, A0 - normal, A1 - remapped
+ MOVLW 161
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,58 :: Soft_I2C_Write (0xC8); // scan direction, C0 - normal, C8 - remapped
+ MOVLW 200
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,59 :: }
+L_oled_init7:
+;oled_control.c,61 :: Soft_I2C_Write (0xDA); // COM pins configure
+ MOVLW 218
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,62 :: Soft_I2C_Write (0x02); // 02 for 32 12 for x64
+ MOVLW 2
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,64 :: Soft_I2C_Write (0xDB); // V-COM detect
+ MOVLW 219
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,65 :: Soft_I2C_Write (0x40); //
+ MOVLW 64
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,67 :: Soft_I2C_Write (0xA4); // display entire ON
+ MOVLW 164
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,69 :: Soft_I2C_Write (0xA6); // 0xA6 - normal, 0xA7 - inverse
+ MOVLW 166
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,71 :: Soft_I2C_Stop ();
+ CALL _Soft_I2C_Stop+0
+;oled_control.c,73 :: oled_clear();
+ CALL _oled_clear+0
+;oled_control.c,74 :: send_command (0xAF); // display ON
+ MOVLW 175
+ MOVWF FARG_send_command+0
+ CALL _send_command+0
+;oled_control.c,75 :: return;
+;oled_control.c,76 :: }
+L_end_oled_init:
+ RETURN
+; end of _oled_init
+
+_oled_clear:
+
+;oled_control.c,78 :: void oled_clear(void){
+;oled_control.c,81 :: Soft_I2C_Start();
+ CALL _Soft_I2C_Start+0
+;oled_control.c,82 :: Soft_I2C_Write(oled_addr); // device addres
+ MOVF oled_control_oled_addr+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,83 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+ MOVLW 64
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,85 :: for (r = 0; r <=7; r++) {
+ CLRF oled_clear_r_L0+0
+L_oled_clear8:
+ MOVF oled_clear_r_L0+0, 0
+ SUBLW 7
+ BTFSS STATUS+0, 0
+ GOTO L_oled_clear9
+;oled_control.c,86 :: set_addressing (r, 0); // clear all 8 pages
+ MOVF oled_clear_r_L0+0, 0
+ MOVWF FARG_set_addressing+0
+ CLRF FARG_set_addressing+0
+ CALL _set_addressing+0
+;oled_control.c,87 :: for (i = 0; i < 128; i++, Soft_I2C_Write(0x00)); // clear one page pixels
+ CLRF oled_clear_i_L0+0
+L_oled_clear11:
+ MOVLW 128
+ SUBWF oled_clear_i_L0+0, 0
+ BTFSC STATUS+0, 0
+ GOTO L_oled_clear12
+ INCF oled_clear_i_L0+0, 1
+ CLRF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+ GOTO L_oled_clear11
+L_oled_clear12:
+;oled_control.c,85 :: for (r = 0; r <=7; r++) {
+ INCF oled_clear_r_L0+0, 1
+;oled_control.c,88 :: }
+ GOTO L_oled_clear8
+L_oled_clear9:
+;oled_control.c,89 :: Soft_I2C_Stop ();
+ CALL _Soft_I2C_Stop+0
+;oled_control.c,91 :: return;
+;oled_control.c,92 :: }
+L_end_oled_clear:
+ RETURN
+; end of _oled_clear
+
+_send_command:
+
+;oled_control.c,94 :: void send_command (char oled_command) {
+;oled_control.c,95 :: Soft_I2C_Start();
+ CALL _Soft_I2C_Start+0
+;oled_control.c,96 :: Soft_I2C_Write(oled_addr); // device addres
+ MOVF oled_control_oled_addr+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,97 :: Soft_I2C_Write(128); // 128 - command, 192 - data
+ MOVLW 128
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,98 :: Soft_I2C_Write(oled_command);
+ MOVF FARG_send_command_oled_command+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,99 :: Soft_I2C_Stop();
+ CALL _Soft_I2C_Stop+0
+;oled_control.c,100 :: return;
+;oled_control.c,101 :: }
+L_end_send_command:
+ RETURN
+; end of _send_command
+
+_set_addressing:
+
+;oled_control.c,103 :: void set_addressing (char pagenum, char c_start) {
+;oled_control.c,105 :: 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,106 :: Soft_I2C_Start();
+ CALL _Soft_I2C_Start+0
+;oled_control.c,107 :: Soft_I2C_Write(oled_addr); // device addres
+ MOVF oled_control_oled_addr+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,108 :: Soft_I2C_Write(0); // 0 - continious mode, command; 64 - Co, data
+ CLRF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,109 :: 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
+;oled_control.c,111 :: if (c <= 15) { a = c; b = 0; }
+ MOVF set_addressing_c_L0+0, 0
+ SUBLW 15
+ BTFSS STATUS+0, 0
+ GOTO L_set_addressing14
+ MOVF set_addressing_c_L0+0, 0
+ MOVWF set_addressing_a_L0+0
+ CLRF set_addressing_b_L0+0
+ GOTO L_set_addressing15
+L_set_addressing14:
+;oled_control.c,112 :: else { b = c / 16; a = c - b * 16; }
+ MOVF set_addressing_c_L0+0, 0
+ MOVWF R2
+ LSRF R2, 1
+ LSRF R2, 1
+ LSRF R2, 1
+ LSRF R2, 1
+ MOVF R2, 0
+ MOVWF set_addressing_b_L0+0
+ MOVF R2, 0
+ MOVWF R0
+ LSLF R0, 1
+ LSLF R0, 1
+ LSLF R0, 1
+ LSLF R0, 1
+ MOVF R0, 0
+ SUBWF set_addressing_c_L0+0, 0
+ MOVWF set_addressing_a_L0+0
+L_set_addressing15:
+;oled_control.c,113 :: 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
+;oled_control.c,114 :: 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
+;oled_control.c,116 :: Soft_I2C_Start();
+ CALL _Soft_I2C_Start+0
+;oled_control.c,117 :: Soft_I2C_Write(oled_addr); // device addres
+ MOVF oled_control_oled_addr+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,118 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+ MOVLW 64
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,119 :: return;
+;oled_control.c,120 :: }
+L_end_set_addressing:
+ RETURN
+; end of _set_addressing
+
+_oled_wr_str_s:
+
+;oled_control.c,122 :: void oled_wr_str_s(char page, char col, char str[], char len) { // 128*64 OLED
+;oled_control.c,124 :: set_addressing (page, col);
+ MOVF FARG_oled_wr_str_s_page+0, 0
+ MOVWF FARG_set_addressing_pagenum+0
+ MOVF FARG_oled_wr_str_s_col+0, 0
+ MOVWF FARG_set_addressing_c_start+0
+ CALL _set_addressing+0
+;oled_control.c,126 :: for (i = 0; i < len; i++) { // write string
+ CLRF oled_wr_str_s_i_L0+0
+L_oled_wr_str_s16:
+ MOVF FARG_oled_wr_str_s_len+0, 0
+ SUBWF oled_wr_str_s_i_L0+0, 0
+ BTFSC STATUS+0, 0
+ GOTO L_oled_wr_str_s17
+;oled_control.c,127 :: g = str[i] - 32; // table shift
+ MOVF oled_wr_str_s_i_L0+0, 0
+ ADDWF FARG_oled_wr_str_s_str+0, 0
+ MOVWF FSR0L
+ MOVLW 0
+ ADDWFC FARG_oled_wr_str_s_str+1, 0
+ MOVWF FSR0H
+ MOVLW 32
+ SUBWF INDF0+0, 0
+ MOVWF oled_wr_str_s_g_L0+0
+;oled_control.c,128 :: for (h = 0; h < 5; h++) { // write letter
+ CLRF oled_wr_str_s_h_L0+0
+L_oled_wr_str_s19:
+ MOVLW 5
+ SUBWF oled_wr_str_s_h_L0+0, 0
+ BTFSC STATUS+0, 0
+ GOTO L_oled_wr_str_s20
+;oled_control.c,129 :: Soft_I2C_Write(font_5x8[g*5+h]);
+ MOVF oled_wr_str_s_g_L0+0, 0
+ MOVWF R0
+ MOVLW 5
+ MOVWF R4
+ CALL _Mul_8X8_U+0
+ MOVF oled_wr_str_s_h_L0+0, 0
+ ADDWF R0, 1
+ MOVLW 0
+ ADDWFC R1, 1
+ MOVLW oled_control_font_5x8+0
+ ADDWF R0, 0
+ MOVWF FSR0L
+ MOVLW hi_addr(oled_control_font_5x8+0)
+ ADDWFC R1, 0
+ MOVWF FSR0H
+ MOVF INDF0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,128 :: for (h = 0; h < 5; h++) { // write letter
+ INCF oled_wr_str_s_h_L0+0, 1
+;oled_control.c,130 :: }
+ GOTO L_oled_wr_str_s19
+L_oled_wr_str_s20:
+;oled_control.c,131 :: Soft_I2C_Write (0);
+ CLRF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,126 :: for (i = 0; i < len; i++) { // write string
+ INCF oled_wr_str_s_i_L0+0, 1
+;oled_control.c,132 :: }
+ GOTO L_oled_wr_str_s16
+L_oled_wr_str_s17:
+;oled_control.c,133 :: Soft_I2C_Stop ();
+ CALL _Soft_I2C_Stop+0
+;oled_control.c,134 :: return;
+;oled_control.c,135 :: }
+L_end_oled_wr_str_s:
+ RETURN
+; end of _oled_wr_str_s
+
+_oled_wr_str:
+
+;oled_control.c,138 :: void oled_wr_str (char page, char col, char str[], char leng ) { //
+;oled_control.c,140 :: Soft_I2C_Start();
+ CALL _Soft_I2C_Start+0
+;oled_control.c,141 :: Soft_I2C_Write(oled_addr); // device addres
+ MOVF oled_control_oled_addr+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,142 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+ MOVLW 64
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,144 :: 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
+;oled_control.c,146 :: for (i = 0; i < leng; i++) { // write string
+ CLRF oled_wr_str_i_L0+0
+L_oled_wr_str22:
+ MOVF FARG_oled_wr_str_leng+0, 0
+ SUBWF oled_wr_str_i_L0+0, 0
+ BTFSC STATUS+0, 0
+ GOTO L_oled_wr_str23
+;oled_control.c,147 :: 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
+ MOVLW 0
+ ADDWFC FARG_oled_wr_str_str+1, 0
+ MOVWF FSR0H
+ MOVF INDF0+0, 0
+ XORLW 0
+ BTFSS STATUS+0, 2
+ GOTO L_oled_wr_str25
+ CLRF oled_wr_str_g_L0+0
+ GOTO L_oled_wr_str26
+L_oled_wr_str25:
+ MOVF oled_wr_str_i_L0+0, 0
+ ADDWF FARG_oled_wr_str_str+0, 0
+ MOVWF FSR0L
+ MOVLW 0
+ ADDWFC FARG_oled_wr_str_str+1, 0
+ MOVWF FSR0H
+ MOVLW 32
+ SUBWF INDF0+0, 0
+ MOVWF oled_wr_str_g_L0+0
+L_oled_wr_str26:
+;oled_control.c,148 :: for (h = 0; h <= 4; h++) { // write letter
+ CLRF oled_wr_str_h_L0+0
+L_oled_wr_str27:
+ MOVF oled_wr_str_h_L0+0, 0
+ SUBLW 4
+ BTFSS STATUS+0, 0
+ GOTO L_oled_wr_str28
+;oled_control.c,149 :: w1 = font_5x8[g*5+h];
+ MOVF oled_wr_str_g_L0+0, 0
+ MOVWF R0
+ MOVLW 5
+ MOVWF R4
+ CALL _Mul_8X8_U+0
+ MOVF oled_wr_str_h_L0+0, 0
+ ADDWF R0, 1
+ MOVLW 0
+ ADDWFC R1, 1
+ MOVLW oled_control_font_5x8+0
+ ADDWF R0, 0
+ MOVWF FSR0L
+ MOVLW hi_addr(oled_control_font_5x8+0)
+ ADDWFC R1, 0
+ MOVWF FSR0H
+ MOVF INDF0+0, 0
+ MOVWF oled_wr_str_w1_L0+0
+;oled_control.c,150 :: if(page != 2) {
+ MOVF FARG_oled_wr_str_page+0, 0
+ XORLW 2
+ BTFSC STATUS+0, 2
+ GOTO L_oled_wr_str30
+;oled_control.c,151 :: w2.B7 = w1.B3;
+ BTFSC oled_wr_str_w1_L0+0, 3
+ GOTO L__oled_wr_str74
+ BCF oled_wr_str_w2_L0+0, 7
+ GOTO L__oled_wr_str75
+L__oled_wr_str74:
+ BSF oled_wr_str_w2_L0+0, 7
+L__oled_wr_str75:
+;oled_control.c,152 :: w2.B6 = w1.B3;
+ BTFSC oled_wr_str_w1_L0+0, 3
+ GOTO L__oled_wr_str76
+ BCF oled_wr_str_w2_L0+0, 6
+ GOTO L__oled_wr_str77
+L__oled_wr_str76:
+ BSF oled_wr_str_w2_L0+0, 6
+L__oled_wr_str77:
+;oled_control.c,153 :: w2.B5 = w1.B2;
+ BTFSC oled_wr_str_w1_L0+0, 2
+ GOTO L__oled_wr_str78
+ BCF oled_wr_str_w2_L0+0, 5
+ GOTO L__oled_wr_str79
+L__oled_wr_str78:
+ BSF oled_wr_str_w2_L0+0, 5
+L__oled_wr_str79:
+;oled_control.c,154 :: w2.B4 = w1.B2;
+ BTFSC oled_wr_str_w1_L0+0, 2
+ GOTO L__oled_wr_str80
+ BCF oled_wr_str_w2_L0+0, 4
+ GOTO L__oled_wr_str81
+L__oled_wr_str80:
+ BSF oled_wr_str_w2_L0+0, 4
+L__oled_wr_str81:
+;oled_control.c,155 :: w2.B3 = w1.B1;
+ BTFSC oled_wr_str_w1_L0+0, 1
+ GOTO L__oled_wr_str82
+ BCF oled_wr_str_w2_L0+0, 3
+ GOTO L__oled_wr_str83
+L__oled_wr_str82:
+ BSF oled_wr_str_w2_L0+0, 3
+L__oled_wr_str83:
+;oled_control.c,156 :: w2.B2 = w1.B1;
+ BTFSC oled_wr_str_w1_L0+0, 1
+ GOTO L__oled_wr_str84
+ BCF oled_wr_str_w2_L0+0, 2
+ GOTO L__oled_wr_str85
+L__oled_wr_str84:
+ BSF oled_wr_str_w2_L0+0, 2
+L__oled_wr_str85:
+;oled_control.c,157 :: w2.B1 = w1.B0;
+ BTFSC oled_wr_str_w1_L0+0, 0
+ GOTO L__oled_wr_str86
+ BCF oled_wr_str_w2_L0+0, 1
+ GOTO L__oled_wr_str87
+L__oled_wr_str86:
+ BSF oled_wr_str_w2_L0+0, 1
+L__oled_wr_str87:
+;oled_control.c,158 :: w2.B0 = w1.B0; }
+ BTFSC oled_wr_str_w1_L0+0, 0
+ GOTO L__oled_wr_str88
+ BCF oled_wr_str_w2_L0+0, 0
+ GOTO L__oled_wr_str89
+L__oled_wr_str88:
+ BSF oled_wr_str_w2_L0+0, 0
+L__oled_wr_str89:
+ GOTO L_oled_wr_str31
+L_oled_wr_str30:
+;oled_control.c,160 :: w2.B7 = w1.B2;
+ BTFSC oled_wr_str_w1_L0+0, 2
+ GOTO L__oled_wr_str90
+ BCF oled_wr_str_w2_L0+0, 7
+ GOTO L__oled_wr_str91
+L__oled_wr_str90:
+ BSF oled_wr_str_w2_L0+0, 7
+L__oled_wr_str91:
+;oled_control.c,161 :: w2.B6 = w1.B2;
+ BTFSC oled_wr_str_w1_L0+0, 2
+ GOTO L__oled_wr_str92
+ BCF oled_wr_str_w2_L0+0, 6
+ GOTO L__oled_wr_str93
+L__oled_wr_str92:
+ BSF oled_wr_str_w2_L0+0, 6
+L__oled_wr_str93:
+;oled_control.c,162 :: w2.B5 = w1.B1;
+ BTFSC oled_wr_str_w1_L0+0, 1
+ GOTO L__oled_wr_str94
+ BCF oled_wr_str_w2_L0+0, 5
+ GOTO L__oled_wr_str95
+L__oled_wr_str94:
+ BSF oled_wr_str_w2_L0+0, 5
+L__oled_wr_str95:
+;oled_control.c,163 :: w2.B4 = w1.B1;
+ BTFSC oled_wr_str_w1_L0+0, 1
+ GOTO L__oled_wr_str96
+ BCF oled_wr_str_w2_L0+0, 4
+ GOTO L__oled_wr_str97
+L__oled_wr_str96:
+ BSF oled_wr_str_w2_L0+0, 4
+L__oled_wr_str97:
+;oled_control.c,164 :: w2.B3 = w1.B0;
+ BTFSC oled_wr_str_w1_L0+0, 0
+ GOTO L__oled_wr_str98
+ BCF oled_wr_str_w2_L0+0, 3
+ GOTO L__oled_wr_str99
+L__oled_wr_str98:
+ BSF oled_wr_str_w2_L0+0, 3
+L__oled_wr_str99:
+;oled_control.c,165 :: w2.B2 = w1.B0;
+ BTFSC oled_wr_str_w1_L0+0, 0
+ GOTO L__oled_wr_str100
+ BCF oled_wr_str_w2_L0+0, 2
+ GOTO L__oled_wr_str101
+L__oled_wr_str100:
+ BSF oled_wr_str_w2_L0+0, 2
+L__oled_wr_str101:
+;oled_control.c,166 :: w2.B1 = 0;
+ BCF oled_wr_str_w2_L0+0, 1
+;oled_control.c,167 :: w2.B0 = 0;
+ BCF oled_wr_str_w2_L0+0, 0
+;oled_control.c,168 :: }
+L_oled_wr_str31:
+;oled_control.c,169 :: Soft_I2C_Write(w2);
+ MOVF oled_wr_str_w2_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,170 :: Soft_I2C_Write(w2);
+ MOVF oled_wr_str_w2_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,148 :: for (h = 0; h <= 4; h++) { // write letter
+ INCF oled_wr_str_h_L0+0, 1
+;oled_control.c,171 :: }
+ GOTO L_oled_wr_str27
+L_oled_wr_str28:
+;oled_control.c,172 :: Soft_I2C_Write (0);
+ CLRF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,173 :: Soft_I2C_Write (0);
+ CLRF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,146 :: for (i = 0; i < leng; i++) { // write string
+ INCF oled_wr_str_i_L0+0, 1
+;oled_control.c,174 :: }
+ GOTO L_oled_wr_str22
+L_oled_wr_str23:
+;oled_control.c,175 :: set_addressing (page+1, col);
+ INCF 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
+;oled_control.c,177 :: for (i = 0; i < leng; i++) { // write string
+ CLRF oled_wr_str_i_L0+0
+L_oled_wr_str32:
+ MOVF FARG_oled_wr_str_leng+0, 0
+ SUBWF oled_wr_str_i_L0+0, 0
+ BTFSC STATUS+0, 0
+ GOTO L_oled_wr_str33
+;oled_control.c,178 :: 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
+ MOVLW 0
+ ADDWFC FARG_oled_wr_str_str+1, 0
+ MOVWF FSR0H
+ MOVF INDF0+0, 0
+ XORLW 0
+ BTFSS STATUS+0, 2
+ GOTO L_oled_wr_str35
+ CLRF oled_wr_str_g_L0+0
+ GOTO L_oled_wr_str36
+L_oled_wr_str35:
+ MOVF oled_wr_str_i_L0+0, 0
+ ADDWF FARG_oled_wr_str_str+0, 0
+ MOVWF FSR0L
+ MOVLW 0
+ ADDWFC FARG_oled_wr_str_str+1, 0
+ MOVWF FSR0H
+ MOVLW 32
+ SUBWF INDF0+0, 0
+ MOVWF oled_wr_str_g_L0+0
+L_oled_wr_str36:
+;oled_control.c,179 :: for (h = 0; h <= 4; h++) { // write letter
+ CLRF oled_wr_str_h_L0+0
+L_oled_wr_str37:
+ MOVF oled_wr_str_h_L0+0, 0
+ SUBLW 4
+ BTFSS STATUS+0, 0
+ GOTO L_oled_wr_str38
+;oled_control.c,180 :: w1 = font_5x8[g*5+h];
+ MOVF oled_wr_str_g_L0+0, 0
+ MOVWF R0
+ MOVLW 5
+ MOVWF R4
+ CALL _Mul_8X8_U+0
+ MOVF oled_wr_str_h_L0+0, 0
+ ADDWF R0, 1
+ MOVLW 0
+ ADDWFC R1, 1
+ MOVLW oled_control_font_5x8+0
+ ADDWF R0, 0
+ MOVWF FSR0L
+ MOVLW hi_addr(oled_control_font_5x8+0)
+ ADDWFC R1, 0
+ MOVWF FSR0H
+ MOVF INDF0+0, 0
+ MOVWF oled_wr_str_w1_L0+0
+;oled_control.c,181 :: if(page != 2) {
+ MOVF FARG_oled_wr_str_page+0, 0
+ XORLW 2
+ BTFSC STATUS+0, 2
+ GOTO L_oled_wr_str40
+;oled_control.c,182 :: w2.B7 = w1.B7;
+ BTFSC oled_wr_str_w1_L0+0, 7
+ GOTO L__oled_wr_str102
+ BCF oled_wr_str_w2_L0+0, 7
+ GOTO L__oled_wr_str103
+L__oled_wr_str102:
+ BSF oled_wr_str_w2_L0+0, 7
+L__oled_wr_str103:
+;oled_control.c,183 :: w2.B6 = w1.B7;
+ BTFSC oled_wr_str_w1_L0+0, 7
+ GOTO L__oled_wr_str104
+ BCF oled_wr_str_w2_L0+0, 6
+ GOTO L__oled_wr_str105
+L__oled_wr_str104:
+ BSF oled_wr_str_w2_L0+0, 6
+L__oled_wr_str105:
+;oled_control.c,184 :: w2.B5 = w1.B6;
+ BTFSC oled_wr_str_w1_L0+0, 6
+ GOTO L__oled_wr_str106
+ BCF oled_wr_str_w2_L0+0, 5
+ GOTO L__oled_wr_str107
+L__oled_wr_str106:
+ BSF oled_wr_str_w2_L0+0, 5
+L__oled_wr_str107:
+;oled_control.c,185 :: w2.B4 = w1.B6;
+ BTFSC oled_wr_str_w1_L0+0, 6
+ GOTO L__oled_wr_str108
+ BCF oled_wr_str_w2_L0+0, 4
+ GOTO L__oled_wr_str109
+L__oled_wr_str108:
+ BSF oled_wr_str_w2_L0+0, 4
+L__oled_wr_str109:
+;oled_control.c,186 :: w2.B3 = w1.B5;
+ BTFSC oled_wr_str_w1_L0+0, 5
+ GOTO L__oled_wr_str110
+ BCF oled_wr_str_w2_L0+0, 3
+ GOTO L__oled_wr_str111
+L__oled_wr_str110:
+ BSF oled_wr_str_w2_L0+0, 3
+L__oled_wr_str111:
+;oled_control.c,187 :: w2.B2 = w1.B5;
+ BTFSC oled_wr_str_w1_L0+0, 5
+ GOTO L__oled_wr_str112
+ BCF oled_wr_str_w2_L0+0, 2
+ GOTO L__oled_wr_str113
+L__oled_wr_str112:
+ BSF oled_wr_str_w2_L0+0, 2
+L__oled_wr_str113:
+;oled_control.c,188 :: w2.B1 = w1.B4;
+ BTFSC oled_wr_str_w1_L0+0, 4
+ GOTO L__oled_wr_str114
+ BCF oled_wr_str_w2_L0+0, 1
+ GOTO L__oled_wr_str115
+L__oled_wr_str114:
+ BSF oled_wr_str_w2_L0+0, 1
+L__oled_wr_str115:
+;oled_control.c,189 :: w2.B0 = w1.B4; }
+ BTFSC oled_wr_str_w1_L0+0, 4
+ GOTO L__oled_wr_str116
+ BCF oled_wr_str_w2_L0+0, 0
+ GOTO L__oled_wr_str117
+L__oled_wr_str116:
+ BSF oled_wr_str_w2_L0+0, 0
+L__oled_wr_str117:
+ GOTO L_oled_wr_str41
+L_oled_wr_str40:
+;oled_control.c,191 :: w2.B7 = w1.B6;
+ BTFSC oled_wr_str_w1_L0+0, 6
+ GOTO L__oled_wr_str118
+ BCF oled_wr_str_w2_L0+0, 7
+ GOTO L__oled_wr_str119
+L__oled_wr_str118:
+ BSF oled_wr_str_w2_L0+0, 7
+L__oled_wr_str119:
+;oled_control.c,192 :: w2.B6 = w1.B6;
+ BTFSC oled_wr_str_w1_L0+0, 6
+ GOTO L__oled_wr_str120
+ BCF oled_wr_str_w2_L0+0, 6
+ GOTO L__oled_wr_str121
+L__oled_wr_str120:
+ BSF oled_wr_str_w2_L0+0, 6
+L__oled_wr_str121:
+;oled_control.c,193 :: w2.B5 = w1.B5;
+ BTFSC oled_wr_str_w1_L0+0, 5
+ GOTO L__oled_wr_str122
+ BCF oled_wr_str_w2_L0+0, 5
+ GOTO L__oled_wr_str123
+L__oled_wr_str122:
+ BSF oled_wr_str_w2_L0+0, 5
+L__oled_wr_str123:
+;oled_control.c,194 :: w2.B4 = w1.B5;
+ BTFSC oled_wr_str_w1_L0+0, 5
+ GOTO L__oled_wr_str124
+ BCF oled_wr_str_w2_L0+0, 4
+ GOTO L__oled_wr_str125
+L__oled_wr_str124:
+ BSF oled_wr_str_w2_L0+0, 4
+L__oled_wr_str125:
+;oled_control.c,195 :: w2.B3 = w1.B4;
+ BTFSC oled_wr_str_w1_L0+0, 4
+ GOTO L__oled_wr_str126
+ BCF oled_wr_str_w2_L0+0, 3
+ GOTO L__oled_wr_str127
+L__oled_wr_str126:
+ BSF oled_wr_str_w2_L0+0, 3
+L__oled_wr_str127:
+;oled_control.c,196 :: w2.B2 = w1.B4;
+ BTFSC oled_wr_str_w1_L0+0, 4
+ GOTO L__oled_wr_str128
+ BCF oled_wr_str_w2_L0+0, 2
+ GOTO L__oled_wr_str129
+L__oled_wr_str128:
+ BSF oled_wr_str_w2_L0+0, 2
+L__oled_wr_str129:
+;oled_control.c,197 :: w2.B1 = w1.B3;
+ BTFSC oled_wr_str_w1_L0+0, 3
+ GOTO L__oled_wr_str130
+ BCF oled_wr_str_w2_L0+0, 1
+ GOTO L__oled_wr_str131
+L__oled_wr_str130:
+ BSF oled_wr_str_w2_L0+0, 1
+L__oled_wr_str131:
+;oled_control.c,198 :: w2.B0 = w1.B3;
+ BTFSC oled_wr_str_w1_L0+0, 3
+ GOTO L__oled_wr_str132
+ BCF oled_wr_str_w2_L0+0, 0
+ GOTO L__oled_wr_str133
+L__oled_wr_str132:
+ BSF oled_wr_str_w2_L0+0, 0
+L__oled_wr_str133:
+;oled_control.c,199 :: }
+L_oled_wr_str41:
+;oled_control.c,200 :: Soft_I2C_Write(w2);
+ MOVF oled_wr_str_w2_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,201 :: Soft_I2C_Write(w2);
+ MOVF oled_wr_str_w2_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,179 :: for (h = 0; h <= 4; h++) { // write letter
+ INCF oled_wr_str_h_L0+0, 1
+;oled_control.c,202 :: }
+ GOTO L_oled_wr_str37
+L_oled_wr_str38:
+;oled_control.c,203 :: Soft_I2C_Write (0);
+ CLRF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,204 :: Soft_I2C_Write (0);
+ CLRF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,177 :: for (i = 0; i < leng; i++) { // write string
+ INCF oled_wr_str_i_L0+0, 1
+;oled_control.c,205 :: }
+ GOTO L_oled_wr_str32
+L_oled_wr_str33:
+;oled_control.c,206 :: Soft_I2C_Stop ();
+ CALL _Soft_I2C_Stop+0
+;oled_control.c,207 :: }
+L_end_oled_wr_str:
+ RETURN
+; end of _oled_wr_str
+
+_oled_bat:
+
+;oled_control.c,210 :: void oled_bat () {
+;oled_control.c,212 :: Soft_I2C_Start();
+ CALL _Soft_I2C_Start+0
+;oled_control.c,213 :: Soft_I2C_Write(oled_addr); // device addres
+ MOVF oled_control_oled_addr+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,214 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+ MOVLW 64
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,217 :: for(g=0; g<=3; g++) { // batt drawing
+ CLRF oled_bat_g_L0+0
+L_oled_bat42:
+ MOVF oled_bat_g_L0+0, 0
+ SUBLW 3
+ BTFSS STATUS+0, 0
+ GOTO L_oled_bat43
+;oled_control.c,218 :: set_addressing (g, 115);
+ MOVF oled_bat_g_L0+0, 0
+ MOVWF FARG_set_addressing_pagenum+0
+ MOVLW 115
+ MOVWF FARG_set_addressing_c_start+0
+ CALL _set_addressing+0
+;oled_control.c,219 :: for(i=0; i<=10; i++) { Soft_I2C_Write(batt[g*11+i]); }
+ CLRF oled_bat_i_L0+0
+L_oled_bat45:
+ MOVF oled_bat_i_L0+0, 0
+ SUBLW 10
+ BTFSS STATUS+0, 0
+ GOTO L_oled_bat46
+ MOVF oled_bat_g_L0+0, 0
+ MOVWF R0
+ MOVLW 11
+ MOVWF R4
+ CALL _Mul_8X8_U+0
+ MOVF oled_bat_i_L0+0, 0
+ ADDWF R0, 1
+ MOVLW 0
+ ADDWFC R1, 1
+ MOVLW oled_control_batt+0
+ ADDWF R0, 0
+ MOVWF FSR0L
+ MOVLW hi_addr(oled_control_batt+0)
+ ADDWFC R1, 0
+ MOVWF FSR0H
+ MOVF INDF0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+ INCF oled_bat_i_L0+0, 1
+ GOTO L_oled_bat45
+L_oled_bat46:
+;oled_control.c,217 :: for(g=0; g<=3; g++) { // batt drawing
+ INCF oled_bat_g_L0+0, 1
+;oled_control.c,220 :: }
+ GOTO L_oled_bat42
+L_oled_bat43:
+;oled_control.c,221 :: Soft_I2C_Stop ();
+ CALL _Soft_I2C_Stop+0
+;oled_control.c,222 :: return;
+;oled_control.c,223 :: }
+L_end_oled_bat:
+ RETURN
+; end of _oled_bat
+
+_oled_voltage:
+
+;oled_control.c,226 :: void oled_voltage(int Voltage) {
+;oled_control.c,228 :: Soft_I2C_Start();
+ CALL _Soft_I2C_Start+0
+;oled_control.c,229 :: Soft_I2C_Write(oled_addr); // device addres
+ MOVF oled_control_oled_addr+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,230 :: Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+ MOVLW 64
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,232 :: Voltage /= 10;
+ MOVLW 10
+ MOVWF R4
+ MOVLW 0
+ MOVWF R5
+ MOVF FARG_oled_voltage_Voltage+0, 0
+ MOVWF R0
+ MOVF FARG_oled_voltage_Voltage+1, 0
+ MOVWF R1
+ CALL _Div_16x16_S+0
+ MOVF R0, 0
+ MOVWF FARG_oled_voltage_Voltage+0
+ MOVF R1, 0
+ MOVWF FARG_oled_voltage_Voltage+1
+;oled_control.c,233 :: if(Voltage < 300) Voltage = 300;
+ MOVLW 128
+ XORWF R1, 0
+ MOVWF R2
+ MOVLW 128
+ XORLW 1
+ SUBWF R2, 0
+ BTFSS STATUS+0, 2
+ GOTO L__oled_voltage136
+ MOVLW 44
+ SUBWF R0, 0
+L__oled_voltage136:
+ BTFSC STATUS+0, 0
+ GOTO L_oled_voltage48
+ MOVLW 44
+ MOVWF FARG_oled_voltage_Voltage+0
+ MOVLW 1
+ MOVWF FARG_oled_voltage_Voltage+1
+ GOTO L_oled_voltage49
+L_oled_voltage48:
+;oled_control.c,234 :: else if(Voltage > 420) Voltage = 420;
+ MOVLW 128
+ XORLW 1
+ MOVWF R0
+ MOVLW 128
+ XORWF FARG_oled_voltage_Voltage+1, 0
+ SUBWF R0, 0
+ BTFSS STATUS+0, 2
+ GOTO L__oled_voltage137
+ MOVF FARG_oled_voltage_Voltage+0, 0
+ SUBLW 164
+L__oled_voltage137:
+ BTFSC STATUS+0, 0
+ GOTO L_oled_voltage50
+ MOVLW 164
+ MOVWF FARG_oled_voltage_Voltage+0
+ MOVLW 1
+ MOVWF FARG_oled_voltage_Voltage+1
+L_oled_voltage50:
+L_oled_voltage49:
+;oled_control.c,235 :: Voltage = Voltage - 300; // 0 - 120
+ MOVLW 44
+ SUBWF FARG_oled_voltage_Voltage+0, 0
+ MOVWF R3
+ MOVLW 1
+ SUBWFB FARG_oled_voltage_Voltage+1, 0
+ MOVWF R4
+ MOVF R3, 0
+ MOVWF FARG_oled_voltage_Voltage+0
+ MOVF R4, 0
+ MOVWF FARG_oled_voltage_Voltage+1
+;oled_control.c,236 :: Voltage = Voltage * 32;
+ MOVLW 5
+ MOVWF R2
+ MOVF R3, 0
+ MOVWF R0
+ MOVF R4, 0
+ MOVWF R1
+ MOVF R2, 0
+L__oled_voltage138:
+ BTFSC STATUS+0, 2
+ GOTO L__oled_voltage139
+ LSLF R0, 1
+ RLF R1, 1
+ ADDLW 255
+ GOTO L__oled_voltage138
+L__oled_voltage139:
+ MOVF R0, 0
+ MOVWF FARG_oled_voltage_Voltage+0
+ MOVF R1, 0
+ MOVWF FARG_oled_voltage_Voltage+1
+;oled_control.c,237 :: v = Voltage / 120;
+ MOVLW 120
+ MOVWF R4
+ MOVLW 0
+ MOVWF R5
+ CALL _Div_16x16_S+0
+ MOVF R0, 0
+ MOVWF oled_voltage_v_L0+0
+;oled_control.c,240 :: if(v >= 25) { u0 = v - 24; u1 = 8; u2 = 8; u3 = 8; }
+ MOVLW 25
+ SUBWF R0, 0
+ BTFSS STATUS+0, 0
+ GOTO L_oled_voltage51
+ MOVLW 24
+ SUBWF oled_voltage_v_L0+0, 0
+ MOVWF oled_voltage_u0_L0+0
+ MOVLW 8
+ MOVWF oled_voltage_u1_L0+0
+ MOVLW 8
+ MOVWF oled_voltage_u2_L0+0
+ MOVLW 8
+ MOVWF oled_voltage_u3_L0+0
+ GOTO L_oled_voltage52
+L_oled_voltage51:
+;oled_control.c,241 :: else if(v >= 17) { u0 = 0; u1 = v - 16; u2 = 8; u3 = 8; }
+ MOVLW 17
+ SUBWF oled_voltage_v_L0+0, 0
+ BTFSS STATUS+0, 0
+ GOTO L_oled_voltage53
+ CLRF oled_voltage_u0_L0+0
+ MOVLW 16
+ SUBWF oled_voltage_v_L0+0, 0
+ MOVWF oled_voltage_u1_L0+0
+ MOVLW 8
+ MOVWF oled_voltage_u2_L0+0
+ MOVLW 8
+ MOVWF oled_voltage_u3_L0+0
+ GOTO L_oled_voltage54
+L_oled_voltage53:
+;oled_control.c,242 :: else if(v >= 9 ) { u0 = 0; u1 = 0; u2 = v - 8; u3 = 8; }
+ MOVLW 9
+ SUBWF oled_voltage_v_L0+0, 0
+ BTFSS STATUS+0, 0
+ GOTO L_oled_voltage55
+ CLRF oled_voltage_u0_L0+0
+ CLRF oled_voltage_u1_L0+0
+ MOVLW 8
+ SUBWF oled_voltage_v_L0+0, 0
+ MOVWF oled_voltage_u2_L0+0
+ MOVLW 8
+ MOVWF oled_voltage_u3_L0+0
+ GOTO L_oled_voltage56
+L_oled_voltage55:
+;oled_control.c,243 :: else { u0 = 0; u1 = 0; u2 = 0; u3 = v ; }
+ CLRF oled_voltage_u0_L0+0
+ CLRF oled_voltage_u1_L0+0
+ CLRF oled_voltage_u2_L0+0
+ MOVF oled_voltage_v_L0+0, 0
+ MOVWF oled_voltage_u3_L0+0
+L_oled_voltage56:
+L_oled_voltage54:
+L_oled_voltage52:
+;oled_control.c,245 :: m = 128;
+ MOVLW 128
+ MOVWF oled_voltage_m_L0+0
+;oled_control.c,246 :: m = 255 - (m >> (u0-1)) +1;
+ MOVLW 1
+ SUBWF oled_voltage_u0_L0+0, 0
+ MOVWF R0
+ CLRF R1
+ MOVLW 0
+ SUBWFB R1, 1
+ MOVF R0, 0
+ MOVWF R1
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF R0
+ MOVF R1, 0
+L__oled_voltage140:
+ BTFSC STATUS+0, 2
+ GOTO L__oled_voltage141
+ LSRF R0, 1
+ ADDLW 255
+ GOTO L__oled_voltage140
+L__oled_voltage141:
+ MOVF R0, 0
+ SUBLW 255
+ MOVWF oled_voltage_m_L0+0
+ INCF oled_voltage_m_L0+0, 1
+;oled_control.c,247 :: m = m | 0b00000011;
+ MOVLW 3
+ IORWF oled_voltage_m_L0+0, 1
+;oled_control.c,248 :: set_addressing (0, 119);
+ CLRF FARG_set_addressing_pagenum+0
+ MOVLW 119
+ MOVWF FARG_set_addressing_c_start+0
+ CALL _set_addressing+0
+;oled_control.c,249 :: Soft_I2C_Write(m);
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,250 :: Soft_I2C_Write(m);
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,251 :: Soft_I2C_Write(m);
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,252 :: m = m | 0b00011111;
+ MOVLW 31
+ IORWF oled_voltage_m_L0+0, 1
+;oled_control.c,253 :: set_addressing (0, 117);
+ CLRF FARG_set_addressing_pagenum+0
+ MOVLW 117
+ MOVWF FARG_set_addressing_c_start+0
+ CALL _set_addressing+0
+;oled_control.c,254 :: Soft_I2C_Write(m);
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,255 :: Soft_I2C_Write(m);
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,256 :: set_addressing (0, 122);
+ CLRF FARG_set_addressing_pagenum+0
+ MOVLW 122
+ MOVWF FARG_set_addressing_c_start+0
+ CALL _set_addressing+0
+;oled_control.c,257 :: Soft_I2C_Write(m);
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,258 :: Soft_I2C_Write(m);
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+;oled_control.c,260 :: m = 128;
+ MOVLW 128
+ MOVWF oled_voltage_m_L0+0
+;oled_control.c,261 :: m = 255 - (m >> (u1-1)) + 1;
+ MOVLW 1
+ SUBWF oled_voltage_u1_L0+0, 0
+ MOVWF R0
+ CLRF R1
+ MOVLW 0
+ SUBWFB R1, 1
+ MOVF R0, 0
+ MOVWF R1
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF R0
+ MOVF R1, 0
+L__oled_voltage142:
+ BTFSC STATUS+0, 2
+ GOTO L__oled_voltage143
+ LSRF R0, 1
+ ADDLW 255
+ GOTO L__oled_voltage142
+L__oled_voltage143:
+ MOVF R0, 0
+ SUBLW 255
+ MOVWF oled_voltage_m_L0+0
+ INCF oled_voltage_m_L0+0, 1
+;oled_control.c,262 :: set_addressing (1, 117);
+ MOVLW 1
+ MOVWF FARG_set_addressing_pagenum+0
+ MOVLW 117
+ MOVWF FARG_set_addressing_c_start+0
+ CALL _set_addressing+0
+;oled_control.c,263 :: for(i=0; i<=6; i++) Soft_I2C_Write(m);
+ CLRF oled_voltage_i_L0+0
+L_oled_voltage57:
+ MOVF oled_voltage_i_L0+0, 0
+ SUBLW 6
+ BTFSS STATUS+0, 0
+ GOTO L_oled_voltage58
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+ INCF oled_voltage_i_L0+0, 1
+ GOTO L_oled_voltage57
+L_oled_voltage58:
+;oled_control.c,265 :: m = 128;
+ MOVLW 128
+ MOVWF oled_voltage_m_L0+0
+;oled_control.c,266 :: m = 255 - (m >> (u2-1)) + 1;
+ MOVLW 1
+ SUBWF oled_voltage_u2_L0+0, 0
+ MOVWF R0
+ CLRF R1
+ MOVLW 0
+ SUBWFB R1, 1
+ MOVF R0, 0
+ MOVWF R1
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF R0
+ MOVF R1, 0
+L__oled_voltage144:
+ BTFSC STATUS+0, 2
+ GOTO L__oled_voltage145
+ LSRF R0, 1
+ ADDLW 255
+ GOTO L__oled_voltage144
+L__oled_voltage145:
+ MOVF R0, 0
+ SUBLW 255
+ MOVWF oled_voltage_m_L0+0
+ INCF oled_voltage_m_L0+0, 1
+;oled_control.c,267 :: set_addressing (2, 117);
+ MOVLW 2
+ MOVWF FARG_set_addressing_pagenum+0
+ MOVLW 117
+ MOVWF FARG_set_addressing_c_start+0
+ CALL _set_addressing+0
+;oled_control.c,268 :: for(i=0; i<=6; i++) Soft_I2C_Write(m);
+ CLRF oled_voltage_i_L0+0
+L_oled_voltage60:
+ MOVF oled_voltage_i_L0+0, 0
+ SUBLW 6
+ BTFSS STATUS+0, 0
+ GOTO L_oled_voltage61
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+ INCF oled_voltage_i_L0+0, 1
+ GOTO L_oled_voltage60
+L_oled_voltage61:
+;oled_control.c,270 :: m = 128;
+ MOVLW 128
+ MOVWF oled_voltage_m_L0+0
+;oled_control.c,271 :: m = 255 - (m >> (u3-1)) +1;
+ MOVLW 1
+ SUBWF oled_voltage_u3_L0+0, 0
+ MOVWF R0
+ CLRF R1
+ MOVLW 0
+ SUBWFB R1, 1
+ MOVF R0, 0
+ MOVWF R1
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF R0
+ MOVF R1, 0
+L__oled_voltage146:
+ BTFSC STATUS+0, 2
+ GOTO L__oled_voltage147
+ LSRF R0, 1
+ ADDLW 255
+ GOTO L__oled_voltage146
+L__oled_voltage147:
+ MOVF R0, 0
+ SUBLW 255
+ MOVWF oled_voltage_m_L0+0
+ INCF oled_voltage_m_L0+0, 1
+;oled_control.c,272 :: m = m | 0b11000000;
+ MOVLW 192
+ IORWF oled_voltage_m_L0+0, 1
+;oled_control.c,273 :: set_addressing (3, 117);
+ MOVLW 3
+ MOVWF FARG_set_addressing_pagenum+0
+ MOVLW 117
+ MOVWF FARG_set_addressing_c_start+0
+ CALL _set_addressing+0
+;oled_control.c,274 :: for(i=0; i<=6; i++) Soft_I2C_Write(m);
+ CLRF oled_voltage_i_L0+0
+L_oled_voltage63:
+ MOVF oled_voltage_i_L0+0, 0
+ SUBLW 6
+ BTFSS STATUS+0, 0
+ GOTO L_oled_voltage64
+ MOVF oled_voltage_m_L0+0, 0
+ MOVWF FARG_Soft_I2C_Write+0
+ CALL _Soft_I2C_Write+0
+ INCF oled_voltage_i_L0+0, 1
+ GOTO L_oled_voltage63
+L_oled_voltage64:
+;oled_control.c,276 :: Soft_I2C_Stop ();
+ CALL _Soft_I2C_Stop+0
+;oled_control.c,277 :: return;
+;oled_control.c,278 :: }
+L_end_oled_voltage:
+ RETURN
+; end of _oled_voltage
diff --git a/Firmware/ATU-10_FW_13/oled_control.c b/Firmware/ATU-10_FW_13/oled_control.c
new file mode 100644
index 0000000..16b97f8
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/oled_control.c
@@ -0,0 +1,279 @@
+#include "oled_control.h"
+#include "Soft_I2C.h"
+
+void oled_disp_on() {
+ send_command(0xAF); // display ON
+}
+
+void oled_disp_off() {
+ send_command(0xAE); // display OFF
+}
+
+void oled_init (void) { // OLED init
+ char cnt;
+ for(cnt=0; cnt<10; cnt++){
+ Soft_I2C_Start();
+ if(Soft_I2C_Write(oled_addr)==0) break; // device addres
+ else Soft_I2C_Stop();
+ Delay_ms(300);
+ }
+ Soft_I2C_Write(0); // 0 - continious mode, command; 64 - Co, data
+ Soft_I2C_Write (0xAE); // display OFF
+ // initialisation
+ 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); // 32 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(inversion) {
+ 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); // 02 for 32 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 ();
+ //
+ oled_clear();
+ send_command (0xAF); // display ON
+ return;
+}
+
+void oled_clear(void){
+ char i, r;
+ // ********clear OLED***********
+ Soft_I2C_Start();
+ Soft_I2C_Write(oled_addr); // device addres
+ Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+ //
+ 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 ();
+ //
+ return;
+}
+
+void send_command (char oled_command) {
+ Soft_I2C_Start();
+ Soft_I2C_Write(oled_addr); // device addres
+ Soft_I2C_Write(128); // 128 - command, 192 - data
+ Soft_I2C_Write(oled_command);
+ Soft_I2C_Stop();
+ return;
+}
+
+void set_addressing (char pagenum, char c_start) {
+ char a, b, c;
+ c = c_start + oled_shift;
+ Soft_I2C_Start();
+ Soft_I2C_Write(oled_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(oled_addr); // device addres
+ Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+ return;
+}
+
+void oled_wr_str_s(char page, char col, char str[], char len) { // 128*64 OLED
+ char i, h, g;
+ set_addressing (page, col);
+ //
+ for (i = 0; i < len; i++) { // write string
+ g = str[i] - 32; // table shift
+ for (h = 0; h < 5; h++) { // write letter
+ Soft_I2C_Write(font_5x8[g*5+h]);
+ }
+ Soft_I2C_Write (0);
+ }
+ Soft_I2C_Stop ();
+ return;
+}
+
+//
+void oled_wr_str (char page, char col, char str[], char leng ) { //
+ char i, h, g, w1, w2;
+ Soft_I2C_Start();
+ Soft_I2C_Write(oled_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 = font_5x8[g*5+h];
+ if(page != 2) {
+ 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);
+ Soft_I2C_Write(w2);
+ }
+ Soft_I2C_Write (0);
+ Soft_I2C_Write (0);
+ }
+ 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 = font_5x8[g*5+h];
+ if(page != 2) {
+ 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);
+ Soft_I2C_Write(w2);
+ }
+ Soft_I2C_Write (0);
+ Soft_I2C_Write (0);
+ }
+ Soft_I2C_Stop ();
+}
+
+//
+void oled_bat () {
+ char i, g;
+ Soft_I2C_Start();
+ Soft_I2C_Write(oled_addr); // device addres
+ Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+ //
+
+ for(g=0; g<=3; g++) { // batt drawing
+ set_addressing (g, 115);
+ for(i=0; i<=10; i++) { Soft_I2C_Write(batt[g*11+i]); }
+ }
+ Soft_I2C_Stop ();
+ return;
+ }
+
+//
+void oled_voltage(int Voltage) {
+ char i, v, u0, u1, u2, u3, m;
+ Soft_I2C_Start();
+ Soft_I2C_Write(oled_addr); // device addres
+ Soft_I2C_Write(64); // 0 - continious mode, command; 64 - Co, data
+ //
+ Voltage /= 10;
+ if(Voltage < 300) Voltage = 300;
+ else if(Voltage > 420) Voltage = 420;
+ Voltage = Voltage - 300; // 0 - 120
+ Voltage = Voltage * 32;
+ v = Voltage / 120;
+
+
+ if(v >= 25) { u0 = v - 24; u1 = 8; u2 = 8; u3 = 8; }
+ else if(v >= 17) { u0 = 0; u1 = v - 16; u2 = 8; u3 = 8; }
+ else if(v >= 9 ) { u0 = 0; u1 = 0; u2 = v - 8; u3 = 8; }
+ else { u0 = 0; u1 = 0; u2 = 0; u3 = v ; }
+
+ m = 128;
+ m = 255 - (m >> (u0-1)) +1;
+ m = m | 0b00000011;
+ set_addressing (0, 119);
+ Soft_I2C_Write(m);
+ Soft_I2C_Write(m);
+ Soft_I2C_Write(m);
+ m = m | 0b00011111;
+ set_addressing (0, 117);
+ Soft_I2C_Write(m);
+ Soft_I2C_Write(m);
+ set_addressing (0, 122);
+ Soft_I2C_Write(m);
+ Soft_I2C_Write(m);
+
+ m = 128;
+ m = 255 - (m >> (u1-1)) + 1;
+ set_addressing (1, 117);
+ for(i=0; i<=6; i++) Soft_I2C_Write(m);
+
+ m = 128;
+ m = 255 - (m >> (u2-1)) + 1;
+ set_addressing (2, 117);
+ for(i=0; i<=6; i++) Soft_I2C_Write(m);
+
+ m = 128;
+ m = 255 - (m >> (u3-1)) +1;
+ m = m | 0b11000000;
+ set_addressing (3, 117);
+ for(i=0; i<=6; i++) Soft_I2C_Write(m);
+ //
+ Soft_I2C_Stop ();
+ return;
+}
+//
\ No newline at end of file
diff --git a/Firmware/ATU-10_FW_13/oled_control.c.ini b/Firmware/ATU-10_FW_13/oled_control.c.ini
new file mode 100644
index 0000000..41c6455
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/oled_control.c.ini
@@ -0,0 +1,5 @@
+[Position]
+Line=18
+Column=17
+[FoldedLines]
+Count=0
diff --git a/Firmware/ATU-10_FW_13/oled_control.cp b/Firmware/ATU-10_FW_13/oled_control.cp
new file mode 100644
index 0000000..f04d1c2
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/oled_control.cp
@@ -0,0 +1,455 @@
+#line 1 "D:/Projects/ATU-10/Firmware_1.3/oled_control.c"
+#line 1 "d:/projects/atu-10/firmware_1.3/oled_control.h"
+#line 1 "d:/projects/atu-10/firmware_1.3/font_5x8.h"
+ static const code char font_5x8[] = {
+
+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 3 "d:/projects/atu-10/firmware_1.3/oled_control.h"
+static oled_addr = 0x78;
+static char shift_line = 64;
+static char oled_shift = 2;
+static char inversion = 1;
+
+void oled_init (void);
+void oled_clear(void);
+void send_command (char);
+void set_addressing (char, char);
+void oled_wr_str_s(char, char, char*, char);
+void oled_wr_str(char, char, char*, char);
+void oled_bat (void);
+void oled_voltage (int);
+void oled_clear (void);
+
+
+static const char batt[] = {
+ 0B11111000,
+ 0B11111000,
+
+ 0B00011111,
+ 0B00011111,
+ 0B00000011,
+ 0B00000011,
+ 0B00000011,
+ 0B00011111,
+ 0B00011111,
+
+ 0B11111000,
+ 0B11111000,
+
+ 0B11111111,
+ 0B11111111,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B11111111,
+ 0B11111111,
+
+ 0B11111111,
+ 0B11111111,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B11111111,
+ 0B11111111,
+
+ 0B11111111,
+ 0B11111111,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11111111,
+ 0B11111111
+ };
+#line 1 "d:/projects/atu-10/firmware_1.3/soft_i2c.h"
+
+void Soft_I2C_Init(void);
+void Soft_I2C_Start(void);
+char Soft_I2C_Write(char);
+char Soft_I2C_Read(void);
+void Soft_I2C_ACK(void);
+void Soft_I2C_NACK(void);
+void Soft_I2C_Stop(void);
+#line 4 "D:/Projects/ATU-10/Firmware_1.3/oled_control.c"
+void oled_disp_on() {
+ send_command(0xAF);
+}
+
+void oled_disp_off() {
+ send_command(0xAE);
+}
+
+void oled_init (void) {
+ char cnt;
+ for(cnt=0; cnt<10; cnt++){
+ Soft_I2C_Start();
+ if(Soft_I2C_Write(oled_addr)==0) break;
+ else Soft_I2C_Stop();
+ Delay_ms(300);
+ }
+ Soft_I2C_Write(0);
+ Soft_I2C_Write (0xAE);
+
+ 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(inversion) {
+ 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);
+
+ Soft_I2C_Write (0xA4);
+
+ Soft_I2C_Write (0xA6);
+
+ Soft_I2C_Stop ();
+
+ oled_clear();
+ send_command (0xAF);
+ return;
+}
+
+void oled_clear(void){
+ char i, r;
+
+ Soft_I2C_Start();
+ Soft_I2C_Write(oled_addr);
+ Soft_I2C_Write(64);
+
+ for (r = 0; r <=7; r++) {
+ set_addressing (r, 0);
+ for (i = 0; i < 128; i++, Soft_I2C_Write(0x00));
+ }
+ Soft_I2C_Stop ();
+
+ return;
+}
+
+void send_command (char oled_command) {
+ Soft_I2C_Start();
+ Soft_I2C_Write(oled_addr);
+ Soft_I2C_Write(128);
+ Soft_I2C_Write(oled_command);
+ Soft_I2C_Stop();
+ return;
+}
+
+void set_addressing (char pagenum, char c_start) {
+ char a, b, c;
+ c = c_start + oled_shift;
+ Soft_I2C_Start();
+ Soft_I2C_Write(oled_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(oled_addr);
+ Soft_I2C_Write(64);
+ return;
+}
+
+void oled_wr_str_s(char page, char col, char str[], char len) {
+ char i, h, g;
+ set_addressing (page, col);
+
+ for (i = 0; i < len; i++) {
+ g = str[i] - 32;
+ for (h = 0; h < 5; h++) {
+ Soft_I2C_Write(font_5x8[g*5+h]);
+ }
+ Soft_I2C_Write (0);
+ }
+ Soft_I2C_Stop ();
+ return;
+}
+
+
+void oled_wr_str (char page, char col, char str[], char leng ) {
+ char i, h, g, w1, w2;
+ Soft_I2C_Start();
+ Soft_I2C_Write(oled_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 = font_5x8[g*5+h];
+ if(page != 2) {
+ 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);
+ 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 = font_5x8[g*5+h];
+ if(page != 2) {
+ 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);
+ Soft_I2C_Write(w2);
+ }
+ Soft_I2C_Write (0);
+ Soft_I2C_Write (0);
+ }
+ Soft_I2C_Stop ();
+}
+
+
+void oled_bat () {
+ char i, g;
+ Soft_I2C_Start();
+ Soft_I2C_Write(oled_addr);
+ Soft_I2C_Write(64);
+
+
+ for(g=0; g<=3; g++) {
+ set_addressing (g, 115);
+ for(i=0; i<=10; i++) { Soft_I2C_Write(batt[g*11+i]); }
+ }
+ Soft_I2C_Stop ();
+ return;
+ }
+
+
+void oled_voltage(int Voltage) {
+ char i, v, u0, u1, u2, u3, m;
+ Soft_I2C_Start();
+ Soft_I2C_Write(oled_addr);
+ Soft_I2C_Write(64);
+
+ Voltage /= 10;
+ if(Voltage < 300) Voltage = 300;
+ else if(Voltage > 420) Voltage = 420;
+ Voltage = Voltage - 300;
+ Voltage = Voltage * 32;
+ v = Voltage / 120;
+
+
+ if(v >= 25) { u0 = v - 24; u1 = 8; u2 = 8; u3 = 8; }
+ else if(v >= 17) { u0 = 0; u1 = v - 16; u2 = 8; u3 = 8; }
+ else if(v >= 9 ) { u0 = 0; u1 = 0; u2 = v - 8; u3 = 8; }
+ else { u0 = 0; u1 = 0; u2 = 0; u3 = v ; }
+
+ m = 128;
+ m = 255 - (m >> (u0-1)) +1;
+ m = m | 0b00000011;
+ set_addressing (0, 119);
+ Soft_I2C_Write(m);
+ Soft_I2C_Write(m);
+ Soft_I2C_Write(m);
+ m = m | 0b00011111;
+ set_addressing (0, 117);
+ Soft_I2C_Write(m);
+ Soft_I2C_Write(m);
+ set_addressing (0, 122);
+ Soft_I2C_Write(m);
+ Soft_I2C_Write(m);
+
+ m = 128;
+ m = 255 - (m >> (u1-1)) + 1;
+ set_addressing (1, 117);
+ for(i=0; i<=6; i++) Soft_I2C_Write(m);
+
+ m = 128;
+ m = 255 - (m >> (u2-1)) + 1;
+ set_addressing (2, 117);
+ for(i=0; i<=6; i++) Soft_I2C_Write(m);
+
+ m = 128;
+ m = 255 - (m >> (u3-1)) +1;
+ m = m | 0b11000000;
+ set_addressing (3, 117);
+ for(i=0; i<=6; i++) Soft_I2C_Write(m);
+
+ Soft_I2C_Stop ();
+ return;
+}
diff --git a/Firmware/ATU-10_FW_13/oled_control.h b/Firmware/ATU-10_FW_13/oled_control.h
new file mode 100644
index 0000000..bffc79c
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/oled_control.h
@@ -0,0 +1,69 @@
+#include "font_5x8.h"
+
+static oled_addr = 0x78;
+static char shift_line = 64; // shift the image down
+static char oled_shift = 2; // shift the image left
+static char inversion = 1;
+//
+void oled_init (void);
+void oled_clear(void);
+void send_command (char);
+void set_addressing (char, char);
+void oled_wr_str_s(char, char, char*, char);
+void oled_wr_str(char, char, char*, char);
+void oled_bat (void);
+void oled_voltage (int);
+void oled_clear (void);
+
+//
+static const char batt[] = {
+ 0B11111000,
+ 0B11111000,
+
+ 0B00011111,
+ 0B00011111,
+ 0B00000011,
+ 0B00000011,
+ 0B00000011,
+ 0B00011111,
+ 0B00011111,
+
+ 0B11111000,
+ 0B11111000,
+ //
+ 0B11111111,
+ 0B11111111,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B11111111,
+ 0B11111111,
+ //
+ 0B11111111,
+ 0B11111111,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B00000000,
+ 0B11111111,
+ 0B11111111,
+ //
+ 0B11111111,
+ 0B11111111,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11000000,
+ 0B11111111,
+ 0B11111111
+ };
\ No newline at end of file
diff --git a/Firmware/ATU-10_FW_13/oled_control.h.ini b/Firmware/ATU-10_FW_13/oled_control.h.ini
new file mode 100644
index 0000000..ff713ba
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/oled_control.h.ini
@@ -0,0 +1,5 @@
+[Position]
+Line=1
+Column=1
+[FoldedLines]
+Count=0
diff --git a/Firmware/ATU-10_FW_13/oled_control.mcl b/Firmware/ATU-10_FW_13/oled_control.mcl
new file mode 100644
index 0000000..6f3ef96
Binary files /dev/null and b/Firmware/ATU-10_FW_13/oled_control.mcl differ
diff --git a/Firmware/ATU-10_FW_13/pic_init.asm b/Firmware/ATU-10_FW_13/pic_init.asm
new file mode 100644
index 0000000..5c1a62a
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/pic_init.asm
@@ -0,0 +1,124 @@
+
+_pic_init:
+
+;pic_init.c,5 :: void pic_init (void) {
+;pic_init.c,7 :: ANSELA = 0; // all as digital
+ CLRF ANSELA+0
+;pic_init.c,8 :: ANSELB = 0; // all as digital
+ CLRF ANSELB+0
+;pic_init.c,9 :: ANSB0_bit = 1; // analog input
+ BSF ANSB0_bit+0, BitPos(ANSB0_bit+0)
+;pic_init.c,10 :: ANSB1_bit = 1; // analog input
+ BSF ANSB1_bit+0, BitPos(ANSB1_bit+0)
+;pic_init.c,11 :: ANSB2_bit = 1; // analog input
+ BSF ANSB2_bit+0, BitPos(ANSB2_bit+0)
+;pic_init.c,12 :: ANSELC = 0; // all as digital
+ CLRF ANSELC+0
+;pic_init.c,13 :: ANSELE = 0; // all as digital
+ CLRF ANSELE+0
+;pic_init.c,14 :: ANSELD = 0; // all as digital
+ CLRF ANSELD+0
+;pic_init.c,16 :: C1ON_bit = 0; // Disable comparators
+ BCF C1ON_bit+0, BitPos(C1ON_bit+0)
+;pic_init.c,17 :: C2ON_bit = 0;
+ BCF C2ON_bit+0, BitPos(C2ON_bit+0)
+;pic_init.c,19 :: PORTA = 0;
+ CLRF PORTA+0
+;pic_init.c,20 :: PORTB = 0;
+ CLRF PORTB+0
+;pic_init.c,21 :: PORTC = 0;
+ CLRF PORTC+0
+;pic_init.c,22 :: PORTD = 0;
+ CLRF PORTD+0
+;pic_init.c,23 :: PORTE = 0;
+ CLRF PORTE+0
+;pic_init.c,24 :: LATA = 0b00000000;
+ CLRF LATA+0
+;pic_init.c,25 :: LATB = 0b00000000;
+ CLRF LATB+0
+;pic_init.c,26 :: LATC = 0b00010000;
+ MOVLW 16
+ MOVWF LATC+0
+;pic_init.c,27 :: LATD = 0b00000110;
+ MOVLW 6
+ MOVWF LATD+0
+;pic_init.c,28 :: LATE = 0b00000000;
+ CLRF LATE+0
+;pic_init.c,29 :: TRISA = 0b00000000;
+ CLRF TRISA+0
+;pic_init.c,30 :: TRISB = 0b00100111;
+ MOVLW 39
+ MOVWF TRISB+0
+;pic_init.c,31 :: TRISC = 0b00000000;
+ CLRF TRISC+0
+;pic_init.c,32 :: TRISD = 0b00000000;
+ CLRF TRISD+0
+;pic_init.c,33 :: TRISE = 0b00000000;
+ CLRF TRISE+0
+;pic_init.c,36 :: ODCA2_bit = 1;
+ BSF ODCA2_bit+0, BitPos(ODCA2_bit+0)
+;pic_init.c,37 :: ODCA3_bit = 1;
+ BSF ODCA3_bit+0, BitPos(ODCA3_bit+0)
+;pic_init.c,38 :: ODCD1_bit = 1;
+ BSF ODCD1_bit+0, BitPos(ODCD1_bit+0)
+;pic_init.c,39 :: ODCD2_bit = 1;
+ BSF ODCD2_bit+0, BitPos(ODCD2_bit+0)
+;pic_init.c,42 :: T0CS0_bit = 0; // Fosc/4
+ BCF T0CS0_bit+0, BitPos(T0CS0_bit+0)
+;pic_init.c,43 :: T0CS1_bit = 1;
+ BSF T0CS1_bit+0, BitPos(T0CS1_bit+0)
+;pic_init.c,44 :: T0CS2_bit = 0;
+ BCF T0CS2_bit+0, BitPos(T0CS2_bit+0)
+;pic_init.c,45 :: T016BIT_bit = 1;
+ BSF T016BIT_bit+0, BitPos(T016BIT_bit+0)
+;pic_init.c,46 :: TMR0L = 0xC0; // 8_000 cycles to OF
+ MOVLW 192
+ MOVWF TMR0L+0
+;pic_init.c,47 :: TMR0H = 0xE0;
+ MOVLW 224
+ MOVWF TMR0H+0
+;pic_init.c,48 :: TMR0IF_bit = 0;
+ BCF TMR0IF_bit+0, BitPos(TMR0IF_bit+0)
+;pic_init.c,49 :: T0EN_bit = 1;
+ BSF T0EN_bit+0, BitPos(T0EN_bit+0)
+;pic_init.c,50 :: TMR0IE_bit = 1;
+ BSF TMR0IE_bit+0, BitPos(TMR0IE_bit+0)
+;pic_init.c,53 :: PMD0 = 0b00011110; //
+ MOVLW 30
+ MOVWF PMD0+0
+;pic_init.c,54 :: PMD1 = 0b11111110;
+ MOVLW 254
+ MOVWF PMD1+0
+;pic_init.c,55 :: PMD2 = 0b01000111;
+ MOVLW 71
+ MOVWF PMD2+0
+;pic_init.c,56 :: PMD3 = 0b01111111;
+ MOVLW 127
+ MOVWF PMD3+0
+;pic_init.c,57 :: PMD4 = 0b1110111;
+ MOVLW 119
+ MOVWF PMD4+0
+;pic_init.c,58 :: PMD5 = 0b11011111;
+ MOVLW 223
+ MOVWF PMD5+0
+;pic_init.c,60 :: GIE_bit = 1;
+ BSF GIE_bit+0, BitPos(GIE_bit+0)
+;pic_init.c,61 :: Delay_ms (100);
+ MOVLW 5
+ MOVWF R11
+ MOVLW 15
+ MOVWF R12
+ MOVLW 241
+ MOVWF R13
+L_pic_init0:
+ DECFSZ R13, 1
+ GOTO L_pic_init0
+ DECFSZ R12, 1
+ GOTO L_pic_init0
+ DECFSZ R11, 1
+ GOTO L_pic_init0
+;pic_init.c,62 :: return;
+;pic_init.c,63 :: }
+L_end_pic_init:
+ RETURN
+; end of _pic_init
diff --git a/Firmware/ATU-10_FW_13/pic_init.c b/Firmware/ATU-10_FW_13/pic_init.c
new file mode 100644
index 0000000..9f4daa1
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/pic_init.c
@@ -0,0 +1,63 @@
+// pic_init unit for Micro C PRO
+// David Fainitski for X-202 project
+// 2020
+
+void pic_init (void) {
+// ports initialisation
+ ANSELA = 0; // all as digital
+ ANSELB = 0; // all as digital
+ ANSB0_bit = 1; // analog input
+ ANSB1_bit = 1; // analog input
+ ANSB2_bit = 1; // analog input
+ ANSELC = 0; // all as digital
+ ANSELE = 0; // all as digital
+ ANSELD = 0; // all as digital
+
+ C1ON_bit = 0; // Disable comparators
+ C2ON_bit = 0;
+
+ PORTA = 0;
+ PORTB = 0;
+ PORTC = 0;
+ PORTD = 0;
+ PORTE = 0;
+ LATA = 0b00000000;
+ LATB = 0b00000000;
+ LATC = 0b00010000;
+ LATD = 0b00000110;
+ LATE = 0b00000000;
+ TRISA = 0b00000000;
+ TRISB = 0b00100111;
+ TRISC = 0b00000000;
+ TRISD = 0b00000000;
+ TRISE = 0b00000000;
+
+ // open drains
+ ODCA2_bit = 1;
+ ODCA3_bit = 1;
+ ODCD1_bit = 1;
+ ODCD2_bit = 1;
+
+ // Timer0 settings
+ T0CS0_bit = 0; // Fosc/4
+ T0CS1_bit = 1;
+ T0CS2_bit = 0;
+ T016BIT_bit = 1;
+ TMR0L = 0xC0; // 8_000 cycles to OF
+ TMR0H = 0xE0;
+ TMR0IF_bit = 0;
+ T0EN_bit = 1;
+ TMR0IE_bit = 1;
+
+ // Modules disable
+ PMD0 = 0b00011110; //
+ PMD1 = 0b11111110;
+ PMD2 = 0b01000111;
+ PMD3 = 0b01111111;
+ PMD4 = 0b1110111;
+ PMD5 = 0b11011111;
+ //interrupt setting
+ GIE_bit = 1;
+ Delay_ms (100);
+ return;
+}
\ No newline at end of file
diff --git a/Firmware/ATU-10_FW_13/pic_init.c.ini b/Firmware/ATU-10_FW_13/pic_init.c.ini
new file mode 100644
index 0000000..daf7780
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/pic_init.c.ini
@@ -0,0 +1,5 @@
+[Position]
+Line=46
+Column=23
+[FoldedLines]
+Count=0
diff --git a/Firmware/ATU-10_FW_13/pic_init.cp b/Firmware/ATU-10_FW_13/pic_init.cp
new file mode 100644
index 0000000..3b22daa
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/pic_init.cp
@@ -0,0 +1,64 @@
+#line 1 "D:/Projects/ATU-10/Firmware_1.3/pic_init.c"
+
+
+
+
+void pic_init (void) {
+
+ ANSELA = 0;
+ ANSELB = 0;
+ ANSB0_bit = 1;
+ ANSB1_bit = 1;
+ ANSB2_bit = 1;
+ ANSELC = 0;
+ ANSELE = 0;
+ ANSELD = 0;
+
+ C1ON_bit = 0;
+ C2ON_bit = 0;
+
+ PORTA = 0;
+ PORTB = 0;
+ PORTC = 0;
+ PORTD = 0;
+ PORTE = 0;
+ LATA = 0b00000000;
+ LATB = 0b00000000;
+ LATC = 0b00010000;
+ LATD = 0b00000110;
+ LATE = 0b00000000;
+ TRISA = 0b00000000;
+ TRISB = 0b00100111;
+ TRISC = 0b00000000;
+ TRISD = 0b00000000;
+ TRISE = 0b00000000;
+
+
+ ODCA2_bit = 1;
+ ODCA3_bit = 1;
+ ODCD1_bit = 1;
+ ODCD2_bit = 1;
+
+
+ T0CS0_bit = 0;
+ T0CS1_bit = 1;
+ T0CS2_bit = 0;
+ T016BIT_bit = 1;
+ TMR0L = 0xC0;
+ TMR0H = 0xE0;
+ TMR0IF_bit = 0;
+ T0EN_bit = 1;
+ TMR0IE_bit = 1;
+
+
+ PMD0 = 0b00011110;
+ PMD1 = 0b11111110;
+ PMD2 = 0b01000111;
+ PMD3 = 0b01111111;
+ PMD4 = 0b1110111;
+ PMD5 = 0b11011111;
+
+ GIE_bit = 1;
+ Delay_ms (100);
+ return;
+}
diff --git a/Firmware/ATU-10_FW_13/pic_init.h b/Firmware/ATU-10_FW_13/pic_init.h
new file mode 100644
index 0000000..db8661b
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/pic_init.h
@@ -0,0 +1,24 @@
+// Connections
+//
+#define GetButton ~ PORTB.B5
+//
+sbit Red at LATB4_bit;
+sbit Green at LATB3_bit;
+sbit OLED_PWD at LATA4_bit;
+sbit C_sw at LATE0_bit;
+sbit L_010 at LATD7_bit;
+sbit L_022 at LATD6_bit;
+sbit L_045 at LATD5_bit;
+sbit L_100 at LATD4_bit;
+sbit L_220 at LATC7_bit;
+sbit L_450 at LATC6_bit;
+sbit L_1000 at LATC5_bit;
+sbit C_22 at LATA5_bit;
+sbit C_47 at LATE1_bit;
+sbit C_100 at LATA7_bit;
+sbit C_220 at LATA6_bit;
+sbit C_470 at LATC0_bit;
+sbit C_1000 at LATC1_bit;
+sbit C_2200 at LATC2_bit;
+sbit Rel_to_gnd at LATD3_bit;
+sbit Rel_to_plus_N at LATC4_bit;
\ No newline at end of file
diff --git a/Firmware/ATU-10_FW_13/pic_init.h.ini b/Firmware/ATU-10_FW_13/pic_init.h.ini
new file mode 100644
index 0000000..ff713ba
--- /dev/null
+++ b/Firmware/ATU-10_FW_13/pic_init.h.ini
@@ -0,0 +1,5 @@
+[Position]
+Line=1
+Column=1
+[FoldedLines]
+Count=0
diff --git a/Firmware/ATU-10_FW_13/pic_init.mcl b/Firmware/ATU-10_FW_13/pic_init.mcl
new file mode 100644
index 0000000..f49ecb8
Binary files /dev/null and b/Firmware/ATU-10_FW_13/pic_init.mcl differ